@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@500;700&display=swap");
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

button[disabled],
[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled] {
  cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

::-moz-placeholder {
  opacity: 1;
}

::placeholder {
  opacity: 1;
}

label {
  cursor: pointer;
}

img,
iframe,
video {
  vertical-align: top;
}

dt {
  font-weight: inherit;
}

:where(dialog) {
  inset: 0;
  border: unset;
  padding: unset;
  width: unset;
  max-width: unset;
  height: unset;
  max-height: unset;
  background-color: unset;
  overflow: unset;
  color: unset;
}

:focus:not(:focus-visible) {
  outline: none;
}

:root {
  --negLeading: calc((1em - 1lh) / 2);
  --transEasing: ease-in-out;
  --transDur: 0.3s;
  --designW: 1600;
  --scrollbarW: 0;
  --contW: min(1200 / var(--designW) * 100%, 1200px);
  --contMargin_hor: calc((100% - var(--contW)) / 2);
  --black_txt: #000;
  --white: #ffffff;
  --gray_txt: #666666;
  --gray_border: #b4b4b4;
  --gray_border02: #f5f5f5;
  --gray_border03: #cbcbcb;
  --gray_bg: #efefef;
  --red_txt: #bf3727;
  --red_bg: #cf4938;
  --pink_bg: #fce3de;
  --pink_bg02: #ffdfd8;
  --pink_bg03: #ff9e9e;
  --pink_border: #eed0b8;
  --blue_bg: #0c5c9b;
  --gold_txt: #866700;
  --green_txt: #12854b;
  --darkGreen_txt: #05605a;
  --green_bg: #97DA96;
  --contWidth_lg: 1024px;
  --contWidth_md: 768px;
  --contWidth_sm: 480px;
  --contWidth: 1200px;
  --contPadding_hor: 30px;
  --contPadding_hor_sp: 25px;
  --contMaxW: calc(var(--contWidth) + var(--contPadding_hor) * 2);
  --radius: 15;
  --header_height: 130;
  --header_height_sp: 64;
}
@media screen and (max-width: 768px) {
  :root {
    --designW: 750;
    --contW: calc(670 / var(--designW) * 100%);
  }
}

:lang(en) {
  --negLeading: calc((1cap - 1lh) / 2);
}

/**
 * Base
 */
:root {
  interpolate-size: allow-keywords;
}

html,
body {
  height: 100%;
}

html.is_locked {
  position: fixed;
  width: 100%;
}

body {
  color: var(--black_txt);
  font-family: "Zen Maru Gothic", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
  overflow-x: clip;
  -moz-osx-font-smoothing: unset;
  -webkit-font-smoothing: subpixel-antialiased;
  -webkit-text-size-adjust: 100%;
  background-image: url("../img/common/img_bg.webp");
  background-size: 100% auto;
  background-position: center bottom;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  body {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
  }
}
main {
  overflow-x: clip;
}

img {
  max-width: 100%;
  height: auto;
}

:root:has(dialog[open]) {
  overflow: hidden;
}

@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%, 100% {
    transform: translateX(-40px);
    opacity: 0;
  }
}
.scroll-hint.is-right-scrollable {
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-right-scrollable.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint-icon {
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 60px);
  box-sizing: border-box;
  width: 120px;
  height: 80px;
  border-radius: 5px;
  transition: opacity 0.3s;
  opacity: 0;
  background: rgba(0, 0, 0, 0.7);
  text-align: center;
  padding: 20px 10px 10px 10px;
}

.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none;
}

.scroll-hint-text {
  font-size: 10px;
  color: #fff;
  margin-top: 5px;
}

.scroll-hint-icon-wrap.is_active .scroll-hint-icon {
  opacity: 0.8;
}

.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #fff;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  opacity: 0;
  transition-delay: 2.4s;
}

.scroll-hint-icon-wrap.is_active .scroll-hint-icon:after {
  opacity: 1;
}

.scroll-hint-icon-wrap.is_active .scroll-hint-icon:before {
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2;
}

.scroll-hint-icon-white {
  background-color: #fff;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4);
}

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
  color: #000;
}

/**
 * Layout
 */
.ly_wrapper {
  min-block-size: 100svb;
}

.ly_cont {
  padding-block: 3.75rem 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .ly_cont {
    padding-block: 0.9375rem 0;
  }
}
.pg_map .ly_cont {
  padding-block: 0;
}
.ly_pageTop {
  position: fixed;
  inset: auto 1.25rem 1.25rem auto;
  z-index: 100;
}
@media screen and (max-width: 768px) {
  .ly_pageTop {
    position: relative;
    inset: 0 auto auto 50%;
    translate: -50% 0;
    padding-bottom: 3.5rem;
    background-color: var(--white);
  }
  .ly_pageTop > .el_pageTop {
    margin-inline: auto;
  }
}

/**
 * Header
 */
.ly_header {
  background-color: var(--white);
  position: relative;
  position: sticky;
  inset: 0 0 auto 0;
  z-index: 100;
}
@media screen and (max-width: 1100px) {
  .ly_header {
    height: calc(var(--header_height_sp) / 16 * 1rem);
  }
}
.ly_header_inner {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: clamp(12px, 24 / (var(--designW) + var(--scrollbarW)) * 100vw, 24px);
  margin: auto;
  padding-inline: clamp(20px, 40 / (var(--designW) + var(--scrollbarW)) * 100vw, 40px);
  height: calc(var(--header_height) / 16 * 1rem);
}
@media screen and (max-width: 1100px) {
  .ly_header_inner {
    padding-inline: 0.75rem;
    height: calc(var(--header_height_sp) / 16 * 1rem);
  }
}
.ly_header_logo {
  max-width: clamp(165px, 330 / (var(--designW) + var(--scrollbarW)) * 100vw, 330px);
}
@media screen and (max-width: 1100px) {
  .ly_header_logo {
    max-width: 11.5625rem;
  }
}
.ly_header_content {
  justify-self: end;
}
@media screen and (max-width: 1100px) {
  .ly_header_content {
    display: none;
  }
}
.ly_header_util {
  display: flex;
  justify-content: end;
}
.ly_header_lang {
  position: relative;
  display: flex;
  align-items: center;
  gap: clamp(3px, 6 / (var(--designW) + var(--scrollbarW)) * 100vw, 6px);
}
@media screen and (max-width: 1100px) {
  .ly_header_lang {
    margin-top: 1.25rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem 0.375rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px dashed var(--gray_border);
  }
}
.ly_header_langSelect {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: clamp(4px, 8 / (var(--designW) + var(--scrollbarW)) * 100vw, 8px) clamp(17px, 34 / (var(--designW) + var(--scrollbarW)) * 100vw, 34px) clamp(4.5px, 9 / (var(--designW) + var(--scrollbarW)) * 100vw, 9px) clamp(11px, 22 / (var(--designW) + var(--scrollbarW)) * 100vw, 22px);
  font-size: clamp(7px, 14 / (var(--designW) + var(--scrollbarW)) * 100vw, 14px);
  font-weight: 500;
  line-height: 1.5;
  border: 1px dashed var(--black_txt);
  cursor: pointer;
  border-radius: clamp(var(--radius) * 0.5 * 1px, var(--radius) / (var(--designW) + var(--scrollbarW)) * 100vw, var(--radius) * 1 * 1px);
  position: relative;
  transition: border-color var(--transDur) var(--transEasing), color var(--transDur) var(--transEasing);
}
.ly_header_langSelectWrapper {
  position: relative;
}
@media screen and (max-width: 1100px) {
  .ly_header_langSelectWrapper {
    grid-column: span 2;
  }
}
.ly_header_langSelectWrapper::after {
  content: "";
  position: absolute;
  inset: 50% clamp(7px, 14 / (var(--designW) + var(--scrollbarW)) * 100vw, 14px) auto auto;
  translate: 0 -50%;
  width: clamp(5px, 10 / (var(--designW) + var(--scrollbarW)) * 100vw, 10px);
  height: clamp(3px, 6 / (var(--designW) + var(--scrollbarW)) * 100vw, 6px);
  -webkit-mask-image: url("../img/common/icon_select_arrow.svg");
  mask-image: url("../img/common/icon_select_arrow.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: var(--black_txt);
  pointer-events: none;
  transition: background-color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 1100px) {
  .ly_header_langSelectWrapper::after {
    width: 0.625rem;
    height: 0.375rem;
  }
}
@media (any-hover: hover) {
  .ly_header_langSelectWrapper:hover::after {
    background-color: var(--red_txt);
  }
}
@media screen and (max-width: 1100px) {
  .ly_header_langSelect {
    font-size: 0.875rem;
    padding: 0.875rem 2.125rem 0.875rem 1.375rem;
    border-radius: calc(var(--radius) / 16 * 1rem);
    width: 100%;
  }
}
@media (any-hover: hover) {
  .ly_header_langSelect:hover {
    border-color: var(--red_txt);
    color: var(--red_txt);
  }
}
.ly_header_utilLink {
  color: var(--red_txt);
  text-align: center;
  font-size: clamp(7px, 14 / (var(--designW) + var(--scrollbarW)) * 100vw, 14px);
  padding: clamp(5.5px, 11 / (var(--designW) + var(--scrollbarW)) * 100vw, 11px) clamp(9.5px, 19 / (var(--designW) + var(--scrollbarW)) * 100vw, 19px);
  font-weight: 700;
  line-height: 1.1428571429;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  transition: color var(--transDur) var(--transEasing), background-color var(--transDur) var(--transEasing), border-color var(--transDur) var(--transEasing);
  background-color: var(--pink_bg);
  border-radius: clamp(var(--radius) * 0.5 * 1px, var(--radius) / (var(--designW) + var(--scrollbarW)) * 100vw, var(--radius) * 1 * 1px);
  display: inline-block;
  border: 1px solid var(--pink_bg);
  cursor: pointer;
}
@media screen and (max-width: 1100px) {
  .ly_header_utilLink {
    font-size: 0.875rem;
    padding: 0.5rem 1.25rem;
    border-radius: calc(var(--radius) / 16 * 1rem);
  }
}
@media (any-hover: hover) {
  .ly_header_utilLink:hover {
    border-color: var(--red_txt);
  }
}
.ly_header_utilLink.is_active {
  background-color: var(--red_txt);
  border-color: var(--red_txt);
  color: var(--white);
}
.ly_header_faq {
  place-content: center;
}
.ly_header_faqLink {
  display: flex;
  align-items: center;
  gap: clamp(3px, 6 / (var(--designW) + var(--scrollbarW)) * 100vw, 6px);
  padding-left: clamp(9px, 18 / (var(--designW) + var(--scrollbarW)) * 100vw, 18px);
  margin-left: clamp(9px, 18 / (var(--designW) + var(--scrollbarW)) * 100vw, 18px);
  border-left: 1px dashed var(--gray_border);
}
@media screen and (max-width: 1100px) {
  .ly_header_faqLink {
    padding-left: 0;
    margin-left: 0;
    border-left: none;
    margin-top: 1.25rem;
  }
}
@media (any-hover: hover) {
  .ly_header_faqLink:hover .ly_header_faqTxt {
    color: var(--red_txt);
  }
}
.ly_header_faqIcon {
  width: clamp(17px, 34 / (var(--designW) + var(--scrollbarW)) * 100vw, 34px);
  height: clamp(17px, 34 / (var(--designW) + var(--scrollbarW)) * 100vw, 34px);
}
@media screen and (max-width: 1100px) {
  .ly_header_faqIcon {
    width: 1.625rem;
    height: 1.625rem;
  }
}
.ly_header_faqTxt {
  color: var(--black_txt);
  font-size: clamp(8px, 16 / (var(--designW) + var(--scrollbarW)) * 100vw, 16px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  transition: color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 1100px) {
  .ly_header_faqTxt {
    font-size: 1rem;
  }
}
.ly_header_search {
  margin-left: clamp(8px, 16 / (var(--designW) + var(--scrollbarW)) * 100vw, 16px);
}
@media screen and (max-width: 1100px) {
  .ly_header_search {
    margin-left: 0;
    margin-top: 1.25rem;
  }
}
.ly_header_searchForm {
  display: flex;
  align-items: center;
  line-height: 1;
  position: relative;
}
.ly_header_searchForm .poplink {
  inset: clamp(22.5px, 45 / (var(--designW) + var(--scrollbarW)) * 100vw, 45px) auto auto 0 !important;
  max-width: clamp(95px, 190 / (var(--designW) + var(--scrollbarW)) * 100vw, 190px);
}
@media screen and (max-width: 1100px) {
  .ly_header_searchForm .poplink {
    max-width: 11.875rem;
    inset: 3.125rem auto auto 0 !important;
  }
}
.ly_header_searchForm .poplink_suggest {
  border-radius: clamp(var(--radius) * 0.5 * 1px, var(--radius) / (var(--designW) + var(--scrollbarW)) * 100vw, var(--radius) * 1 * 1px) !important;
  overflow: hidden;
  padding: clamp(5px, 10 / (var(--designW) + var(--scrollbarW)) * 100vw, 10px) clamp(10px, 20 / (var(--designW) + var(--scrollbarW)) * 100vw, 20px) !important;
  background-color: var(--white) !important;
}
.ly_header_searchForm .poplink_suggest .word {
  font-size: clamp(8px, 16 / (var(--designW) + var(--scrollbarW)) * 100vw, 16px);
  padding: clamp(2.5px, 5 / (var(--designW) + var(--scrollbarW)) * 100vw, 5px) 0 !important;
  line-height: 1.5;
  border: none !important;
}
.ly_header_searchForm .close_button {
  cursor: pointer;
  top: -0.5em !important;
  left: calc(100% - 1.4375rem) !important;
  width: 2.0625rem !important;
  height: 2.0625rem !important;
}
.ly_header_searchInput {
  flex: 1;
  padding: clamp(4px, 8 / (var(--designW) + var(--scrollbarW)) * 100vw, 8px) 0 clamp(4px, 8 / (var(--designW) + var(--scrollbarW)) * 100vw, 8px) clamp(16.5px, 33 / (var(--designW) + var(--scrollbarW)) * 100vw, 33px);
  font-size: clamp(8px, 16 / (var(--designW) + var(--scrollbarW)) * 100vw, 16px);
  width: clamp(94.5px, 189 / (var(--designW) + var(--scrollbarW)) * 100vw, 189px);
  background-color: var(--gray_bg);
  border-radius: clamp(var(--radius) * 0.5 * 1px, var(--radius) / (var(--designW) + var(--scrollbarW)) * 100vw, var(--radius) * 1 * 1px) 0 0 clamp(var(--radius) * 0.5 * 1px, var(--radius) / (var(--designW) + var(--scrollbarW)) * 100vw, var(--radius) * 1 * 1px);
  color: var(--gray_txt);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
  background-image: url("../img/common/icon_search.svg");
  background-repeat: no-repeat;
  background-position: left clamp(6px, 12 / (var(--designW) + var(--scrollbarW)) * 100vw, 12px) center;
  background-size: clamp(7px, 14 / (var(--designW) + var(--scrollbarW)) * 100vw, 14px) clamp(7.5px, 15 / (var(--designW) + var(--scrollbarW)) * 100vw, 15px);
}
.ly_header_searchInput::-moz-placeholder {
  color: var(--gray_txt);
}
.ly_header_searchInput::placeholder {
  color: var(--gray_txt);
}
@media screen and (max-width: 1100px) {
  .ly_header_searchInput {
    font-size: 1rem;
    max-width: calc(100% - 2.8125rem);
    padding: 0.5rem 0.5rem 0.5rem 2.0625rem;
    background-position: left 0.75rem center;
    background-size: 0.875rem 0.9375rem;
    border-radius: calc(var(--radius) / 16 * 1rem) 0 0 calc(var(--radius) / 16 * 1rem);
  }
}
.ly_header_searchBtn {
  padding: clamp(6.5px, 13 / (var(--designW) + var(--scrollbarW)) * 100vw, 13px) clamp(7px, 14 / (var(--designW) + var(--scrollbarW)) * 100vw, 14px);
  font-size: clamp(7px, 14 / (var(--designW) + var(--scrollbarW)) * 100vw, 14px);
  font-weight: 700;
  color: var(--white);
  background-color: var(--red_txt);
  border-radius: clamp(var(--radius) * 0.5 * 1px, var(--radius) / (var(--designW) + var(--scrollbarW)) * 100vw, var(--radius) * 1 * 1px);
  cursor: pointer;
  margin-left: clamp(-7.5px, -15 / (var(--designW) + var(--scrollbarW)) * 100vw, -15px);
  transition: background-color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 1100px) {
  .ly_header_searchBtn {
    padding: 0.8125rem 0.875rem;
    font-size: 0.875rem;
    border-radius: calc(var(--radius) / 16 * 1rem);
  }
}
@media (any-hover: hover) {
  .ly_header_searchBtn:hover {
    background-color: var(--red_bg);
  }
}
.ly_header_nav {
  margin-top: clamp(10px, 20 / (var(--designW) + var(--scrollbarW)) * 100vw, 20px);
  margin-left: auto;
  line-height: 1;
}
.ly_header_list {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: clamp(10px, 20 / (var(--designW) + var(--scrollbarW)) * 100vw, 20px);
  list-style: none;
  padding: 0;
  margin: 0;
}
.ly_header_item {
  position: relative;
}
.ly_header_item[clelid] {
  flex: 1;
}
.ly_header_item > a,
.ly_header_item > button {
  font-size: clamp(9px, 18 / (var(--designW) + var(--scrollbarW)) * 100vw, 18px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  transition: color var(--transDur) var(--transEasing);
}
@media (any-hover: hover) {
  .ly_header_item > a:hover,
  .ly_header_item > button:hover {
    color: var(--red_txt);
  }
}
.ly_header_item > button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: inherit;
  font-family: inherit;
}
.ly_header_overlay {
  position: fixed;
  inset: clamp(var(--header_height) * 0.5 * 1px, var(--header_height) / (var(--designW) + var(--scrollbarW)) * 100vw, var(--header_height) * 1 * 1px) 0 0 0;
  background-color: rgba(252, 231, 215, 0.7);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transDur) var(--transEasing);
  z-index: 90;
}
.ly_header_overlay.is_active {
  opacity: 1;
  pointer-events: auto;
}
.ly_header_megaMenu {
  position: absolute;
  inset: clamp(26px, 52 / (var(--designW) + var(--scrollbarW)) * 100vw, 52px) auto auto 0;
  background-color: var(--white);
  border-radius: clamp(var(--radius) * 0.5 * 1px, var(--radius) / (var(--designW) + var(--scrollbarW)) * 100vw, var(--radius) * 1 * 1px);
  padding: clamp(16px, 32 / (var(--designW) + var(--scrollbarW)) * 100vw, 32px) clamp(22.5px, 45 / (var(--designW) + var(--scrollbarW)) * 100vw, 45px) clamp(18px, 36 / (var(--designW) + var(--scrollbarW)) * 100vw, 36px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--transDur) var(--transEasing), visibility var(--transDur) var(--transEasing);
  z-index: 101;
  width: -moz-max-content;
  width: max-content;
  max-width: clamp(250px, 500 / (var(--designW) + var(--scrollbarW)) * 100vw, 500px);
}
.ly_header_megaMenu.is_active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.ly_header_megaMenuHead {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: clamp(6px, 12 / (var(--designW) + var(--scrollbarW)) * 100vw, 12px);
  pointer-events: auto;
}
@media (any-hover: hover) {
  .ly_header_megaMenuHead:hover .ly_header_megaMenuArrow {
    background-color: var(--white);
  }
  .ly_header_megaMenuHead:hover .ly_header_megaMenuArrow::after {
    background-color: var(--red_txt);
  }
}
.ly_header_megaMenuArrow {
  width: 2.375rem;
  height: 1.75rem;
  background-color: var(--white);
  border-radius: 0.625rem;
  display: inline-block;
  position: relative;
  border: 1px solid var(--white);
  transition: background-color var(--transDur) var(--transEasing), border-color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .ly_header_megaMenuArrow {
    width: 1.875rem;
    height: 1.5rem;
  }
}
.ly_header_megaMenuArrow::after {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  width: 0.9375rem;
  height: 0.5rem;
  background-color: var(--white);
  border-radius: 50%;
  -webkit-mask-image: url("../img/common/icon_arrow_red.svg");
  mask-image: url("../img/common/icon_arrow_red.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: contain;
  mask-size: contain;
  z-index: 1;
  transition: background-color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .ly_header_megaMenuArrow::after {
    width: 0.75rem;
    height: 0.5rem;
  }
}
.ly_header_megaMenuArrow {
  background-color: var(--red_txt);
  border-color: var(--red_txt);
}
.ly_header_megaMenuArrow::after {
  background-color: var(--white);
}
.ly_header_megaMenuTtl {
  font-size: clamp(12px, 24 / (var(--designW) + var(--scrollbarW)) * 100vw, 24px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--red_txt);
}
.ly_header_megaMenuList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(6px, 12 / (var(--designW) + var(--scrollbarW)) * 100vw, 12px) clamp(25px, 50 / (var(--designW) + var(--scrollbarW)) * 100vw, 50px);
  margin-top: clamp(10px, 20 / (var(--designW) + var(--scrollbarW)) * 100vw, 20px);
}
.ly_header_megaMenuList__1col {
  grid-template-columns: 1fr;
}
.ly_header_megaMenuItem a {
  display: flex;
  align-items: center;
  gap: clamp(6px, 12 / (var(--designW) + var(--scrollbarW)) * 100vw, 12px);
}
.ly_header_megaMenuIcon {
  width: clamp(7px, 14 / (var(--designW) + var(--scrollbarW)) * 100vw, 14px);
  height: clamp(4px, 8 / (var(--designW) + var(--scrollbarW)) * 100vw, 8px);
  flex-shrink: 0;
  background-image: url("../img/common/icon_arrow_red.svg");
  background-repeat: no-repeat;
  background-size: contain;
}
.ly_header_megaMenuTxt {
  font-size: clamp(10px, 20 / (var(--designW) + var(--scrollbarW)) * 100vw, 20px);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.03em;
  transition: color var(--transDur) var(--transEasing);
}
@media (any-hover: hover) {
  .ly_header_megaMenuTxt:hover {
    color: var(--red_txt);
  }
}
.ly_header_drawer {
  display: none;
}
@media screen and (max-width: 1100px) {
  .ly_header_drawer {
    display: block;
  }
}
.ly_header_drawerBtn {
  width: 2.875rem;
  height: 2.875rem;
  background-color: var(--red_txt);
  border-radius: clamp(var(--radius) * 0.5 * 1px, var(--radius) / (var(--designW) + var(--scrollbarW)) * 100vw, var(--radius) * 1 * 1px);
  display: grid;
  place-items: center;
  cursor: pointer;
  position: absolute;
  inset: 50% 0.5rem auto auto;
  translate: 0 -50%;
}
.ly_header_drawerLine {
  position: relative;
}
.ly_header_drawerLine::before, .ly_header_drawerLine::after, .ly_header_drawerLine {
  content: "";
  width: 1.25rem;
  height: 0.125rem;
  background-color: var(--white);
  border-radius: 100vmax;
  transition: rotate var(--transDur) var(--transEasing), inset var(--transDur) var(--transEasing), background-color var(--transDur) var(--transEasing);
}
.ly_header_drawerLine::before, .ly_header_drawerLine::after {
  position: absolute;
  transform-origin: center center;
}
.ly_header_drawerLine::before {
  inset: -0.375rem auto auto 0;
}
.ly_header_drawerLine::after {
  inset: 0.375rem auto auto 0;
}
.ly_header_drawer:has(.is_open) .ly_header_drawerLine {
  background-color: transparent;
}
.ly_header_drawer:has(.is_open) .ly_header_drawerLine::before, .ly_header_drawer:has(.is_open) .ly_header_drawerLine::after {
  background-color: var(--white);
}
.ly_header_drawer:has(.is_open) .ly_header_drawerLine::before {
  rotate: 45deg;
  inset: 0;
}
.ly_header_drawer:has(.is_open) .ly_header_drawerLine::after {
  rotate: -45deg;
  inset: 0;
}
.ly_header_drawerDialog {
  inset: calc(var(--header_height_sp) / 16 * 1rem) 0 0 0;
  animation: drawerOpen 0.3s ease-in-out forwards;
  z-index: 100;
  height: calc(100dvh - var(--header_height_sp) / 16 * 1rem);
  max-width: 100cqi;
  background-size: cover;
  background-position: center bottom;
  background-repeat: no-repeat;
  background-image: url(../img/common/img_bg.webp);
  position: fixed;
  padding: 0.9375rem 1.5625rem;
}
.ly_header_drawerDialog.is_close {
  animation: drawerClose 0.3s ease-in-out forwards;
}
.ly_header_drawerDialogInner {
  background: var(--white);
  padding: 1.625rem 2.1875rem;
  height: 100%;
  border-radius: calc(var(--radius) / 16 * 1rem);
  overflow-y: auto;
}
.ly_header_drawerItem > a {
  padding-block: 0.9375rem;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  border-bottom: 1px solid var(--gray_border03);
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  transition: color var(--transDur) var(--transEasing);
}
.ly_header_drawerItemArrow {
  width: 2.375rem;
  height: 1.75rem;
  background-color: var(--white);
  border-radius: 0.625rem;
  display: inline-block;
  position: relative;
  border: 1px solid var(--white);
  transition: background-color var(--transDur) var(--transEasing), border-color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .ly_header_drawerItemArrow {
    width: 1.875rem;
    height: 1.5rem;
  }
}
.ly_header_drawerItemArrow::after {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  width: 0.9375rem;
  height: 0.5rem;
  background-color: var(--white);
  border-radius: 50%;
  -webkit-mask-image: url("../img/common/icon_arrow_red.svg");
  mask-image: url("../img/common/icon_arrow_red.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: contain;
  mask-size: contain;
  z-index: 1;
  transition: background-color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .ly_header_drawerItemArrow::after {
    width: 0.75rem;
    height: 0.5rem;
  }
}
.ly_header_drawerItemArrow {
  background-color: var(--red_txt);
  border-color: var(--red_txt);
}
.ly_header_drawerItemArrow::after {
  background-color: var(--white);
}
@media (any-hover: hover) {
  .ly_header_drawerItem:hover > a {
    color: var(--red_txt);
  }
  .ly_header_drawerItem:hover .ly_header_drawerItemArrow {
    background-color: var(--white);
  }
  .ly_header_drawerItem:hover .ly_header_drawerItemArrow::after {
    background-color: var(--red_bg);
  }
}
.ly_header_drawerItem:first-child > a,
.ly_header_drawerItem:first-child > .ly_header_drawerAccordion > summary {
  border-top: none;
  padding-top: 0;
}
.ly_header_drawerAccordionHead {
  padding-block: 1.25rem;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  border-bottom: 1px solid var(--gray_border03);
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  cursor: pointer;
  list-style: none;
  transition: color var(--transDur) var(--transEasing);
}
.ly_header_drawerAccordionHead::-webkit-details-marker {
  display: none;
}
@media (any-hover: hover) {
  .ly_header_drawerAccordionHead:hover {
    color: var(--red_txt);
  }
  .ly_header_drawerAccordionHead:hover .ly_header_drawerAccordionArrow {
    background-color: var(--white);
    border-color: var(--red_txt);
  }
  .ly_header_drawerAccordionHead:hover .ly_header_drawerAccordionArrow::before {
    background-color: var(--red_txt);
  }
}
.ly_header_drawerAccordionArrow {
  width: 1.875rem;
  height: 1.5rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--red_txt);
  border-radius: 0.46875rem;
  border: 1px solid var(--red_txt);
  transition: background-color var(--transDur) var(--transEasing), border-color var(--transDur) var(--transEasing);
}
.ly_header_drawerAccordionArrow::before {
  content: "";
  width: 0.5625rem;
  height: 0.3125rem;
  -webkit-mask-image: url("../img/common/icon_arrow_down.svg");
  mask-image: url("../img/common/icon_arrow_down.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: var(--white);
  transition: transform var(--transDur) var(--transEasing);
}
details[open] > summary .ly_header_drawerAccordionArrow::before {
  transform: rotate(180deg);
}
details[open].is_closing > summary .ly_header_drawerAccordionArrow::before {
  transform: rotate(0deg);
}
.ly_header_drawerAccordionBody {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--transDur) var(--transEasing);
  overflow: hidden;
}
details[open] .ly_header_drawerAccordionBody {
  grid-template-rows: 1fr;
}
details[open].is_closing .ly_header_drawerAccordionBody {
  grid-template-rows: 0fr;
}
.ly_header_drawerAccordionList {
  min-height: 0;
  background-color: var(--white);
  padding: 0;
  overflow: hidden;
  transition: padding var(--transDur) var(--transEasing);
  padding: 0 0 0 1rem;
}
.ly_header_drawerAccordionItem {
  border-bottom: 1px solid var(--gray_border03);
}
.ly_header_drawerAccordionItem a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.9375rem 0 1.0625rem;
  background-color: var(--white);
  transition: color var(--transDur) var(--transEasing);
}
@media (any-hover: hover) {
  .ly_header_drawerAccordionItem a:hover .ly_header_drawerAccordionTxt {
    color: var(--red_txt);
  }
  .ly_header_drawerAccordionItem a:hover .ly_header_drawerAccordionItemArrow {
    background-color: var(--red_txt);
    border-color: var(--red_txt);
  }
  .ly_header_drawerAccordionItem a:hover .ly_header_drawerAccordionItemArrow::after {
    background-color: var(--white);
  }
}
.ly_header_drawerAccordionItemArrow {
  width: 2.375rem;
  height: 1.75rem;
  background-color: var(--white);
  border-radius: 0.625rem;
  display: inline-block;
  position: relative;
  border: 1px solid var(--white);
  transition: background-color var(--transDur) var(--transEasing), border-color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .ly_header_drawerAccordionItemArrow {
    width: 1.875rem;
    height: 1.5rem;
  }
}
.ly_header_drawerAccordionItemArrow::after {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  width: 0.9375rem;
  height: 0.5rem;
  background-color: var(--white);
  border-radius: 50%;
  -webkit-mask-image: url("../img/common/icon_arrow_red.svg");
  mask-image: url("../img/common/icon_arrow_red.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: contain;
  mask-size: contain;
  z-index: 1;
  transition: background-color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .ly_header_drawerAccordionItemArrow::after {
    width: 0.75rem;
    height: 0.5rem;
  }
}
.ly_header_drawerAccordionItemArrow {
  background-color: var(--white);
  border-color: transparent;
}
.ly_header_drawerAccordionItemArrow::after {
  background-color: var(--red_txt);
}
.ly_header_drawerAccordionTxt {
  flex: 1;
  font-size: 1.0625rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--black_txt);
  transition: color var(--transDur) var(--transEasing);
}

/**
 * Footer
 */
.ly_footer {
  background: var(--white);
  position: relative;
  z-index: 0;
  overflow-x: clip;
  padding-bottom: clamp(40px, 80 / (var(--designW) + var(--scrollbarW)) * 100vw, 80px);
}
@media screen and (max-width: 768px) {
  .ly_footer {
    padding-bottom: 1.875rem;
  }
}
.ly_footer_inner {
  margin: auto;
  max-width: clamp(600px, 1200 / (var(--designW) + var(--scrollbarW)) * 100vw, 1200px);
  width: 100%;
  position: relative;
}
.ly_footer_character01 {
  position: absolute;
  inset: clamp(-60px, -120 / (var(--designW) + var(--scrollbarW)) * 100vw, -120px) auto auto 0;
  translate: 0 -100%;
  width: clamp(76px, 152 / (var(--designW) + var(--scrollbarW)) * 100vw, 152px);
}
@media screen and (max-width: 768px) {
  .ly_footer_character01 {
    inset: -1.875rem auto auto 1.5625rem;
    width: 5.125rem;
  }
}
.ly_footer_character02 {
  position: absolute;
  inset: clamp(-100px, -200 / (var(--designW) + var(--scrollbarW)) * 100vw, -200px) 0 auto auto;
  translate: 0 -100%;
  width: clamp(30px, 60 / (var(--designW) + var(--scrollbarW)) * 100vw, 60px);
}
@media screen and (max-width: 1100px) {
  .ly_footer_character02 {
    inset: clamp(-50px, -100 / (var(--designW) + var(--scrollbarW)) * 100vw, -100px) clamp(12.5px, 25 / (var(--designW) + var(--scrollbarW)) * 100vw, 25px) auto auto;
  }
}
@media screen and (max-width: 768px) {
  .ly_footer_character02 {
    width: 2.9375rem;
    inset: -0.625rem 1.5625rem auto auto;
  }
}
.ly_footer_content {
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 768px) {
  .ly_footer_content {
    margin-top: -3.125rem;
  }
}
.ly_footer_content::after {
  content: "";
  z-index: -1;
  background: var(--white);
  position: absolute;
  inset: calc(-84 / var(--designW) * 100vw) auto auto 50%;
  translate: -50% 0;
  height: calc(310 / (var(--designW) + var(--scrollbarW)) * 100vw);
  width: calc(2076 / var(--designW) * 100vw);
  border-radius: 50%;
}
@media screen and (max-width: 768px) {
  .ly_footer_content::after {
    height: 18.5rem;
    width: 148.8vw;
    inset: -3.125rem auto auto 50%;
  }
}
.ly_footer_contentTop {
  display: grid;
  grid-template-columns: clamp(210px, 420 / (var(--designW) + var(--scrollbarW)) * 100vw, 420px) 1fr;
  gap: clamp(20px, 40 / (var(--designW) + var(--scrollbarW)) * 100vw, 40px);
  padding-bottom: clamp(26.5px, 53 / (var(--designW) + var(--scrollbarW)) * 100vw, 53px);
  border-bottom: 1px solid var(--gray_border03);
}
@media screen and (max-width: 768px) {
  .ly_footer_contentTop {
    grid-template-columns: 1fr;
    justify-items: center;
    margin-inline: 1.5625rem;
    gap: 0.75rem;
    padding-bottom: 1.25rem;
  }
}
.ly_footer_logo img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .ly_footer_logo img {
    width: 17.1875rem;
  }
}
.ly_footer_nav {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: clamp(45px, 90 / (var(--designW) + var(--scrollbarW)) * 100vw, 90px);
  justify-content: end;
}
@media screen and (max-width: 768px) {
  .ly_footer_nav {
    gap: 0.625rem;
    grid-template-columns: repeat(2, 1fr);
    width: 100%;
    max-width: 25rem;
  }
}
.ly_footer_navList {
  display: grid;
  gap: clamp(4px, 8 / (var(--designW) + var(--scrollbarW)) * 100vw, 8px);
}
@media screen and (max-width: 768px) {
  .ly_footer_navList {
    gap: 0 0.625rem;
  }
}
.ly_footer_navItem > a {
  font-size: clamp(9px, 18 / (var(--designW) + var(--scrollbarW)) * 100vw, 18px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
  transition: color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .ly_footer_navItem > a {
    font-size: 0.9375rem;
    line-height: 2;
  }
}
@media (any-hover: hover) {
  .ly_footer_navItem > a:hover {
    color: var(--red_txt);
  }
}
.ly_footer_address {
  font-size: clamp(8px, 16 / (var(--designW) + var(--scrollbarW)) * 100vw, 16px);
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0;
  color: var(--black_txt);
}
@media screen and (max-width: 768px) {
  .ly_footer_address {
    font-size: 0.9375rem;
  }
}
.ly_footer_contact {
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: clamp(15px, 30 / (var(--designW) + var(--scrollbarW)) * 100vw, 30px);
  margin-top: clamp(20px, 40 / (var(--designW) + var(--scrollbarW)) * 100vw, 40px);
}
@media screen and (max-width: 768px) {
  .ly_footer_contact {
    grid-template-columns: 1fr;
    gap: 0.875rem;
    padding-inline: 1.5625rem;
    margin-top: 1.25rem;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}
.ly_footer_contactItem {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: clamp(8px, 16 / (var(--designW) + var(--scrollbarW)) * 100vw, 16px);
}
@media screen and (max-width: 768px) {
  .ly_footer_contactItem {
    gap: 0.4375rem;
    grid-template-columns: 1fr;
  }
}
.ly_footer_contactIcon {
  display: grid;
  place-items: center;
  width: clamp(30px, 60 / (var(--designW) + var(--scrollbarW)) * 100vw, 60px);
  height: clamp(30px, 60 / (var(--designW) + var(--scrollbarW)) * 100vw, 60px);
  background-color: var(--red_txt);
  border-radius: clamp(5px, 10 / (var(--designW) + var(--scrollbarW)) * 100vw, 10px);
  font-size: clamp(7px, 14 / (var(--designW) + var(--scrollbarW)) * 100vw, 14px);
  font-weight: 700;
  color: var(--white);
}
@media screen and (max-width: 768px) {
  .ly_footer_contactIcon {
    width: 3.75rem;
    height: 1.5625rem;
    font-size: 0.875rem;
    border-radius: 0.625rem;
  }
}
.ly_footer_contactBody {
  display: flex;
  flex-direction: column;
  gap: clamp(3px, 6 / (var(--designW) + var(--scrollbarW)) * 100vw, 6px);
}
.ly_footer_contactTel {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: clamp(4px, 8 / (var(--designW) + var(--scrollbarW)) * 100vw, 8px) clamp(2px, 4 / (var(--designW) + var(--scrollbarW)) * 100vw, 4px);
}
.ly_footer_contactTel_num {
  font-size: clamp(11px, 22 / (var(--designW) + var(--scrollbarW)) * 100vw, 22px);
  line-height: 1;
  font-weight: 700;
  color: var(--black_txt);
}
@media screen and (max-width: 768px) {
  .ly_footer_contactTel_num {
    font-size: 1.25rem;
  }
}
.ly_footer_contactTel_note {
  font-size: clamp(7px, 14 / (var(--designW) + var(--scrollbarW)) * 100vw, 14px);
  font-weight: 500;
  color: var(--black_txt);
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .ly_footer_contactTel_note {
    font-size: 0.875rem;
  }
}
.ly_footer_contactEmail {
  font-size: clamp(8px, 16 / (var(--designW) + var(--scrollbarW)) * 100vw, 16px);
  font-weight: 700;
  color: var(--black_txt);
}
@media screen and (max-width: 768px) {
  .ly_footer_contactEmail {
    font-size: 1rem;
  }
}
.ly_footer_contactNote {
  font-size: clamp(6.5px, 13 / (var(--designW) + var(--scrollbarW)) * 100vw, 13px);
  font-weight: 500;
  color: var(--black_txt);
}
@media screen and (max-width: 768px) {
  .ly_footer_contactNote {
    font-size: 0.8125rem;
  }
}
.ly_footer_bottom {
  margin-top: clamp(25.5px, 51 / (var(--designW) + var(--scrollbarW)) * 100vw, 51px);
}
@media screen and (max-width: 768px) {
  .ly_footer_bottom {
    margin-top: 1.875rem;
  }
}
.ly_footer_bottomList {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .ly_footer_bottomList {
    gap: 0.75rem 0;
  }
}
.ly_footer_bottomItem {
  position: relative;
}
.ly_footer_bottomItem:not(:last-child)::after {
  content: "";
  position: absolute;
  inset: 50% 0 auto auto;
  translate: 0 -50%;
  width: 1px;
  height: clamp(8px, 16 / (var(--designW) + var(--scrollbarW)) * 100vw, 16px);
  background-color: var(--gray_border);
}
@media screen and (max-width: 768px) {
  .ly_footer_bottomItem:not(:last-child)::after {
    height: 1rem;
  }
}
.ly_footer_bottomItem a {
  display: block;
  font-size: clamp(7px, 14 / (var(--designW) + var(--scrollbarW)) * 100vw, 14px);
  font-weight: 500;
  color: var(--gray_txt);
  padding-inline: clamp(15px, 30 / (var(--designW) + var(--scrollbarW)) * 100vw, 30px);
  white-space: nowrap;
  transition: color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .ly_footer_bottomItem a {
    padding-inline: 0.625rem;
    font-size: 0.875rem;
    padding-inline: clamp(6px, 12 / (var(--designW) + var(--scrollbarW)) * 100vw, 12px);
  }
}
@media (any-hover: hover) {
  .ly_footer_bottomItem a:hover {
    color: var(--red_txt);
  }
}
.ly_footer_copyright p {
  font-size: clamp(6px, 12 / (var(--designW) + var(--scrollbarW)) * 100vw, 12px);
  color: var(--gray_txt);
  text-align: center;
  margin-top: clamp(20px, 40 / (var(--designW) + var(--scrollbarW)) * 100vw, 40px);
}
@media screen and (max-width: 768px) {
  .ly_footer_copyright p {
    margin-top: 1.875rem;
    font-size: 0.75rem;
  }
}

/**
 * Container
 */
.ct_std {
  margin-inline: auto;
  padding-inline: 1.875rem;
  width: 100%;
  max-width: var(--contMaxW);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .ct_std {
    padding-inline: var(--contPadding_hor_sp);
  }
}

/**
 * Block
 */
@counter-style _bl-ol-number {
  system: numeric;
  symbols: "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" "20" "21" "22" "23" "24" "25" "26" "27" "28" "29" "30" "31" "32" "33" "34" "35" "36" "37" "38" "39" "40" "41" "42" "43" "44" "45" "46" "47" "48" "49" "50" "51" "52" "53" "54" "55" "56" "57" "58" "59" "60" "61" "62" "63" "64" "65" "66" "67" "68" "69" "70" "71" "72" "73" "74" "75" "76" "77" "78" "79" "80" "81" "82" "83" "84" "85" "86" "87" "88" "89" "90" "91" "92" "93" "94" "95" "96" "97" "98" "99" "100";
  suffix: " ";
}
.bl_breadcrumb {
  margin-bottom: 0.625rem;
}
.bl_breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0 0.625rem;
}
.bl_breadcrumb li {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.bl_breadcrumb li:not(:first-child) {
  position: relative;
  padding-left: 0.875rem;
}
.bl_breadcrumb li:not(:first-child)::before {
  content: "";
  height: 0.25rem;
  width: 0.25rem;
  background-color: var(--red_txt);
  position: absolute;
  inset: 0.5lh auto auto 0;
  translate: 0 -50%;
  border-radius: 50%;
}
.bl_breadcrumb a {
  display: block;
  color: var(--red_txt);
}
.bl_breadcrumb li:last-child a {
  pointer-events: none;
  color: var(--black_txt);
}

.bl_contSet > :not(:first-child) {
  margin-top: 5rem;
}
.bl_contSet .ct_std {
  margin-top: 1.875rem;
}
.bl_contSet .ct_std:has(.el_hdgLg) {
  margin-top: 3.75rem;
}
.bl_contSet > .bl_hdgSet + * {
  margin-top: 0;
}

.bl_hdgSet .el_pgHdg {
  margin-bottom: 3.125rem;
}
@media screen and (max-width: 768px) {
  .bl_hdgSet .el_pgHdg {
    margin-bottom: 1.875rem;
  }
}

.bl_anchorSet {
  display: grid;
  gap: 0.25rem;
  counter-reset: anchorNum;
}
.bl_anchorSet > li {
  margin: 0;
  padding: 0;
}
.bl_anchorSet > li::before {
  content: unset !important;
}
.bl_anchorSet > li:not(:first-child) {
  margin-top: 0;
}
.bl_anchorSet__2col {
  grid-template-columns: repeat(2, 1fr);
}
.bl_anchorSet__3col {
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 768px) {
  .bl_anchorSet__3col {
    grid-template-columns: repeat(2, 1fr);
  }
}
.bl_anchorSet__4col {
  grid-template-columns: repeat(auto-fill, minmax(min(17.5rem, 100%), 1fr));
}
@media screen and (max-width: 768px) {
  .bl_anchorSet__4col {
    grid-template-columns: repeat(2, 1fr);
  }
}
.bl_anchorSet .el_btn {
  max-width: 100%;
}

.bl_btns {
  display: grid;
  gap: 1.25rem;
}
.bl_btns > li {
  all: unset !important;
}
.bl_btns > li::before {
  content: unset !important;
}
.bl_btns__2col {
  grid-template-columns: repeat(2, 1fr);
  max-width: 46.25rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .bl_btns__2col {
    grid-template-columns: 1fr;
  }
}
.bl_btns__2col .el_btn {
  max-width: 100%;
}
.bl_btns__3col {
  grid-template-columns: repeat(3, 1fr);
  max-width: 62.5rem;
  margin-inline: auto;
}
.bl_btns__3col .el_btn {
  max-width: 100%;
}
@media screen and (max-width: 1100px) {
  .bl_btns__3col {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .bl_btns__3col {
    grid-template-columns: 1fr;
  }
}

.bl_imgAndBody {
  --_gap_row: calc(30 / 16 * 1rem);
  --_gap_col: calc(60 / 16 * 1rem);
  --_imageMaxW: 50%;
}
.bl_imgAndBody:not(:has(.bl_img)) .bl_imgAndBody_inner {
  grid-template-columns: 1fr;
}
.bl_imgAndBody_inner {
  display: grid;
  gap: var(--_gap_row) var(--_gap_col);
}
@media not all and (max-width: 768px), print {
  .bl_imgAndBody_inner {
    grid-template-columns: fit-content(var(--_imageMaxW)) 1fr;
  }
}
@media screen and (max-width: 768px) {
  .bl_imgAndBody_inner {
    grid-template-columns: 1fr;
    grid-template-areas: "hdgLg" "hdgMd" "img" "txt";
    gap: 0;
  }
}
@media screen and (max-width: 768px) {
  .bl_imgAndBody_inner:has(.bl_imgAndBody_number) {
    grid-template-areas: "number" "hdgLg" "hdgMd" "img" "txt" "list";
  }
}
@media not all and (max-width: 768px), print {
  .bl_imgAndBody__imgRight .bl_imgAndBody_inner {
    grid-template-columns: 1fr fit-content(var(--_imageMaxW));
  }
}
@media not all and (max-width: 768px), print {
  .bl_imgAndBody__imgRight .bl_imgAndBody_img {
    order: 1;
  }
}
@media screen and (max-width: 768px) {
  .bl_imgAndBody .bl_img {
    grid-area: img;
  }
}
.bl_imgAndBody .bl_img_inner {
  padding: 0.625rem;
}
@media screen and (max-width: 768px) {
  .bl_imgAndBody .bl_img_inner {
    padding: 0.5rem;
  }
}
.bl_imgAndBody .bl_img img {
  width: 100%;
}
.bl_imgAndBody_link {
  margin-top: 0.25rem;
}
.bl_imgAndBody_link a {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.8;
  color: var(--red_txt);
}
@media screen and (max-width: 768px) {
  .bl_imgAndBody_link a {
    font-size: 1rem;
    line-height: 1.5;
  }
}
@media (any-hover: hover) {
  .bl_imgAndBody_link a:hover {
    color: var(--red_txt);
    text-decoration: underline;
  }
}
@media screen and (max-width: 768px) {
  .bl_imgAndBody_body {
    display: contents;
  }
}
.bl_imgAndBody .el_hdgLg {
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .bl_imgAndBody .el_hdgLg {
    grid-area: hdgLg;
  }
}
.bl_imgAndBody .el_hdgMd, .bl_imgAndBody .bl_detailFooter_boxTtl {
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .bl_imgAndBody .el_hdgMd, .bl_imgAndBody .bl_detailFooter_boxTtl {
    grid-area: hdgMd;
  }
}
.bl_imgAndBody_number {
  display: flex;
  align-items: center;
  margin-bottom: 0.625rem;
}
@media screen and (max-width: 768px) {
  .bl_imgAndBody_number {
    margin-bottom: 0.5rem;
    grid-area: number;
  }
}
.bl_imgAndBody_numberTxt {
  color: var(--white);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding: 0.3125rem 1.8125rem 0.4375rem 1rem;
  border-radius: calc(var(--radius) / 16 * 1rem);
  background-color: var(--red_txt);
}
@media screen and (max-width: 768px) {
  .bl_imgAndBody_numberTxt {
    font-size: 0.875rem;
    padding: 0.25rem 1.1875rem 0.3125rem 0.625rem;
  }
}
.bl_imgAndBody_numberNum {
  color: var(--white);
  text-align: center;
  place-content: center;
  padding-bottom: 0.375rem;
  font-size: 2.1875rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 100vmax;
  background-color: var(--red_txt);
  position: relative;
  translate: -1.5rem 0;
}
@media screen and (max-width: 768px) {
  .bl_imgAndBody_numberNum {
    font-size: 1.75rem;
    width: 3rem;
    height: 3rem;
    translate: -1rem 0;
  }
}
.bl_imgAndBody_txt {
  margin-top: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .bl_imgAndBody_txt {
    grid-area: txt;
  }
}
.bl_imgAndBody_list {
  margin-top: 1.25rem;
  display: grid;
  gap: 0.75rem;
}
@media screen and (max-width: 768px) {
  .bl_imgAndBody_list {
    grid-area: list;
    gap: 0.5rem;
    margin-top: 0.75rem;
  }
}

.bl_img {
  display: inline-block;
}
.bl_img_inner {
  padding: 0.9375rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .bl_img_inner {
    padding: 0.5rem;
  }
}
.bl_img_inner::after {
  border-radius: calc(var(--radius) / 16 * 1rem);
  content: "";
  display: block;
  background-color: var(--white);
  border-radius: calc(var(--radius) / 16 * 1rem);
  position: absolute;
  inset: 0;
  z-index: -1;
}
.bl_img img {
  border-radius: 0.25rem;
}
@media screen and (max-width: 768px) {
  .bl_img img {
    border-radius: 0.75rem;
  }
}
.bl_img__w100p {
  width: 100%;
}
.bl_img__w100p img {
  width: 100%;
}
.bl_img figcaption {
  margin-top: 15px;
  font-size: 0.875rem;
}
.bl_img_link {
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .bl_img_link {
    margin-top: 0.75rem;
  }
}

.bl_imgGroupList {
  display: grid;
  gap: 1.5rem 3.75rem;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .bl_imgGroupList {
    gap: 1.25rem 0.75rem;
  }
}
.bl_imgGroupList > li {
  margin: 0;
  padding: 0;
}
.bl_imgGroupList > li::before {
  content: unset !important;
}
.bl_imgGroupList > li:not(:first-child) {
  margin-top: 0;
}
.bl_imgGroupList__2col {
  grid-template-columns: repeat(2, 1fr);
}
.bl_imgGroupList__3col {
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 768px) {
  .bl_imgGroupList__3col {
    grid-template-columns: repeat(2, 1fr);
  }
}
.bl_imgGroupList__4col {
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 768px) {
  .bl_imgGroupList__4col {
    grid-template-columns: repeat(2, 1fr);
  }
}
.bl_imgGroupList .bl_img_inner {
  padding: 0.625rem;
}
@media screen and (max-width: 768px) {
  .bl_imgGroupList .bl_img_inner {
    padding: 0.5rem;
  }
}

:where(.bl_wysiwyg) > *:not(:first-child) {
  margin-top: 1.875rem;
}
:where(.bl_wysiwyg) .scroll-hint-icon-wrap {
  margin-top: 0;
}
:where(.bl_wysiwyg) > h2, :where(.bl_wysiwyg).bl_table h2,
:where(.bl_wysiwyg) .bl_table > h2 {
  color: var(--font, #000);
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 2.5rem;
  position: relative;
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 768px) {
  :where(.bl_wysiwyg) > h2, :where(.bl_wysiwyg).bl_table h2,
  :where(.bl_wysiwyg) .bl_table > h2 {
    font-size: clamp(1.25rem, 3.6458333333vw, 1.75rem);
    line-height: 1.5714285714;
    letter-spacing: 0.05em;
    padding-left: 1.75rem;
    margin-bottom: 1.25rem;
  }
}
:where(.bl_wysiwyg) > h2::before, :where(.bl_wysiwyg).bl_table h2::before,
:where(.bl_wysiwyg) .bl_table > h2::before {
  content: "";
  position: absolute;
  inset: 1.125rem auto auto 0;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url("../img/common/icon_head.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  :where(.bl_wysiwyg) > h2::before, :where(.bl_wysiwyg).bl_table h2::before,
  :where(.bl_wysiwyg) .bl_table > h2::before {
    inset: clamp(0.5625rem, 2.0833333333vw, 0.875rem) auto auto 0;
    width: clamp(0.8125rem, 2.34375vw, 1.125rem);
    height: clamp(0.8125rem, 2.34375vw, 1.125rem);
  }
}
:where(.bl_wysiwyg) > h2__noIcon, :where(.bl_wysiwyg).bl_table h2__noIcon,
:where(.bl_wysiwyg) .bl_table > h2__noIcon {
  padding-left: 0;
}
:where(.bl_wysiwyg) > h2__noIcon::before, :where(.bl_wysiwyg).bl_table h2__noIcon::before,
:where(.bl_wysiwyg) .bl_table > h2__noIcon::before {
  display: none;
}
:where(.bl_wysiwyg) > h3, :where(.bl_wysiwyg).bl_table h3,
:where(.bl_wysiwyg) .bl_table > h3 {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 768px) {
  :where(.bl_wysiwyg) > h3, :where(.bl_wysiwyg).bl_table h3,
  :where(.bl_wysiwyg) .bl_table > h3 {
    font-size: 1.5rem;
    line-height: 1.5833333333;
    letter-spacing: 0.05em;
    margin-bottom: 1.25rem;
  }
}
:where(.bl_wysiwyg) > h4, :where(.bl_wysiwyg).bl_table h4,
:where(.bl_wysiwyg) .bl_table > h4 {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 1.25rem;
  position: relative;
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 768px) {
  :where(.bl_wysiwyg) > h4, :where(.bl_wysiwyg).bl_table h4,
  :where(.bl_wysiwyg) .bl_table > h4 {
    font-size: 1.25rem;
    line-height: 1.6;
    letter-spacing: 0.05em;
    padding-left: 1rem;
    margin-bottom: 1.25rem;
  }
}
:where(.bl_wysiwyg) > h4::before, :where(.bl_wysiwyg).bl_table h4::before,
:where(.bl_wysiwyg) .bl_table > h4::before {
  content: "";
  position: absolute;
  inset: 0.75rem auto auto 0;
  width: 0.75rem;
  height: 0.75rem;
  background-color: var(--red_txt);
  border-radius: 0.25rem;
}
@media screen and (max-width: 768px) {
  :where(.bl_wysiwyg) > h4::before, :where(.bl_wysiwyg).bl_table h4::before,
  :where(.bl_wysiwyg) .bl_table > h4::before {
    inset: 0.75rem auto auto 0;
    width: 0.5625rem;
    height: 0.5625rem;
  }
}
:where(.bl_wysiwyg) > h5, :where(.bl_wysiwyg).bl_table h5,
:where(.bl_wysiwyg) .bl_table > h5 {
  color: var(--font, #000);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 1.25rem;
  position: relative;
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 768px) {
  :where(.bl_wysiwyg) > h5, :where(.bl_wysiwyg).bl_table h5,
  :where(.bl_wysiwyg) .bl_table > h5 {
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
    padding-left: 1rem;
    margin-bottom: 1.25rem;
  }
}
:where(.bl_wysiwyg) > h5::before, :where(.bl_wysiwyg).bl_table h5::before,
:where(.bl_wysiwyg) .bl_table > h5::before {
  content: "";
  position: absolute;
  inset: 0.5625rem auto auto 0;
  width: 0.75rem;
  height: 0.75rem;
  border: 2px solid var(--red_txt);
  border-radius: 0.25rem;
}
@media screen and (max-width: 768px) {
  :where(.bl_wysiwyg) > h5::before, :where(.bl_wysiwyg).bl_table h5::before,
  :where(.bl_wysiwyg) .bl_table > h5::before {
    inset: 0.5rem auto auto 0;
    width: 0.625rem;
    height: 0.625rem;
  }
}
:where(.bl_wysiwyg) a {
  color: var(--red_txt);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-decoration: underline;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-thickness: 0.5px;
  text-underline-position: from-font;
}
@media screen and (max-width: 768px) {
  :where(.bl_wysiwyg) a {
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}
@media (any-hover: hover) {
  :where(.bl_wysiwyg) a:hover {
    text-decoration: none;
  }
}
:where(.bl_wysiwyg) a::after {
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  position: relative;
  inset: 0.3125rem auto auto auto;
  margin-inline: 0.375rem;
}
:where(.bl_wysiwyg) a[target=_blank]::after {
  content: "";
  width: 0.9375rem;
  aspect-ratio: 1;
  background-image: url(../img/common/icon/icon_blank.svg);
  inset: 0.125rem auto auto auto;
}
:where(.bl_wysiwyg) a[href$=".pdf"]::after {
  content: "";
  width: 1.25rem;
  aspect-ratio: 1;
  background-image: url(../img/common/icon/icon_pdf.webp);
}
:where(.bl_wysiwyg) a[href*=".doc"]::after {
  content: "";
  width: 1.25rem;
  aspect-ratio: 1;
  background-image: url(../img/common/icon/icon_doc.svg);
}
:where(.bl_wysiwyg) a[href*=".xls"]::after {
  content: "";
  width: 1.25rem;
  aspect-ratio: 1;
  background-image: url(../img/common/icon/icon_xls.svg);
}
:where(.bl_wysiwyg) a[href*=".ppt"]::after {
  content: "";
  width: 1.25rem;
  aspect-ratio: 1;
  background-image: url(../img/common/icon/icon_ppt.svg);
}
:where(.bl_wysiwyg) a[href$=".zip"]::after {
  content: "";
  width: 1.25rem;
  aspect-ratio: 1;
  background-image: url(../img/common/icon/icon_file.svg);
}
:where(.bl_wysiwyg) a:focus-visible {
  text-decoration: none;
}
@media (any-hover: hover) {
  :where(.bl_wysiwyg) a:hover {
    text-decoration: none;
  }
}
:where(.bl_wysiwyg) > :where(p),
:where(.bl_wysiwyg) > :where([itemprop=text] p), :where(.bl_wysiwyg).bl_table :where(p),
:where(.bl_wysiwyg) .bl_table > :where(p) {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  :where(.bl_wysiwyg) > :where(p),
  :where(.bl_wysiwyg) > :where([itemprop=text] p), :where(.bl_wysiwyg).bl_table :where(p),
  :where(.bl_wysiwyg) .bl_table > :where(p) {
    line-height: 1.5;
    font-size: 1rem;
  }
}
:where(.bl_wysiwyg) > :where(p):not(:first-child),
:where(.bl_wysiwyg) > :where([itemprop=text] p):not(:first-child), :where(.bl_wysiwyg).bl_table :where(p):not(:first-child),
:where(.bl_wysiwyg) .bl_table > :where(p):not(:first-child) {
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  :where(.bl_wysiwyg) > :where(p):not(:first-child),
  :where(.bl_wysiwyg) > :where([itemprop=text] p):not(:first-child), :where(.bl_wysiwyg).bl_table :where(p):not(:first-child),
  :where(.bl_wysiwyg) .bl_table > :where(p):not(:first-child) {
    margin-top: 1rem;
  }
}
:where(.bl_wysiwyg) > :where(ol, ul) li:not(:first-child), :where(.bl_wysiwyg).bl_table :where(ol, ul) li:not(:first-child),
:where(.bl_wysiwyg) .bl_table > :where(ol, ul) li:not(:first-child) {
  margin-top: 0.5em;
}
:where(.bl_wysiwyg) > :where(ol, ul) li ol,
:where(.bl_wysiwyg) > :where(ol, ul) li ul, :where(.bl_wysiwyg).bl_table :where(ol, ul) li ol,
:where(.bl_wysiwyg).bl_table :where(ol, ul) li ul,
:where(.bl_wysiwyg) .bl_table > :where(ol, ul) li ol,
:where(.bl_wysiwyg) .bl_table > :where(ol, ul) li ul {
  margin-top: 0.5em;
}
:where(.bl_wysiwyg) > :where(ol) > li,
:where(.bl_wysiwyg) .bl_table :where(ol) > li,
:where(.bl_wysiwyg) .bl_table > :where(ol) > li {
  list-style: _bl-ol-number inside;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.4444444444;
  padding-left: 1.75rem;
  text-indent: -1.25rem;
  background-image: radial-gradient(var(--red_txt) 50%, transparent 0);
  background-size: 1.75rem 1.75rem;
  background-position: -0.125rem 0.125rem;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  :where(.bl_wysiwyg) > :where(ol) > li,
  :where(.bl_wysiwyg) .bl_table :where(ol) > li,
  :where(.bl_wysiwyg) .bl_table > :where(ol) > li {
    font-size: 1rem;
    line-height: 1.5;
    padding-left: 1.25rem;
    text-indent: -0.9375rem;
    background-size: 1.5rem 1.5rem;
    background-position: -0.1875rem 0.1875rem;
  }
}
:where(.bl_wysiwyg) > :where(ol) > li::marker,
:where(.bl_wysiwyg) .bl_table :where(ol) > li::marker,
:where(.bl_wysiwyg) .bl_table > :where(ol) > li::marker {
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 768px) {
  :where(.bl_wysiwyg) > :where(ol) > li::marker,
  :where(.bl_wysiwyg) .bl_table :where(ol) > li::marker,
  :where(.bl_wysiwyg) .bl_table > :where(ol) > li::marker {
    font-size: 0.6875rem;
  }
}
:where(.bl_wysiwyg) > :where(ul) > li,
:where(.bl_wysiwyg) .bl_table :where(ul) > li,
:where(.bl_wysiwyg) .bl_table > :where(ul) > li {
  position: relative;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.4444444444;
  padding-left: 1rem;
}
@media screen and (max-width: 768px) {
  :where(.bl_wysiwyg) > :where(ul) > li,
  :where(.bl_wysiwyg) .bl_table :where(ul) > li,
  :where(.bl_wysiwyg) .bl_table > :where(ul) > li {
    font-size: 1rem;
    line-height: 1.5;
    padding-left: 0.875rem;
  }
}
:where(.bl_wysiwyg) > :where(ul) > li::before,
:where(.bl_wysiwyg) .bl_table :where(ul) > li::before,
:where(.bl_wysiwyg) .bl_table > :where(ul) > li::before {
  content: "";
  position: absolute;
  inset: 0.6875rem auto auto 0;
  border-radius: 50%;
  width: 0.375rem;
  height: 0.375rem;
  background-color: var(--red_txt);
}
@media screen and (max-width: 768px) {
  :where(.bl_wysiwyg) > :where(ul) > li::before,
  :where(.bl_wysiwyg) .bl_table :where(ul) > li::before,
  :where(.bl_wysiwyg) .bl_table > :where(ul) > li::before {
    inset: 0.625rem auto auto 0;
  }
}
:where(.bl_wysiwyg) :where(table) {
  border-top: 2px solid var(--red_txt);
}
:where(.bl_wysiwyg) :where(table) th {
  background-color: var(--pink_bg);
  color: var(--red_txt);
}
:where(.bl_wysiwyg) :where(table) tr:first-child:not(:has(td)) ~ tr th,
:where(.bl_wysiwyg) :where(table) thead + tbody th {
  background-color: var(--gray_bg);
  color: inherit;
}
:where(.bl_wysiwyg) :where(table) th,
:where(.bl_wysiwyg) :where(table) td {
  border: 1px solid var(--gray_border03);
  font-size: 1.125rem;
  line-height: 1.5;
  padding: 1.25rem 2.5rem;
}
@media screen and (max-width: 768px) {
  :where(.bl_wysiwyg) :where(table) th,
  :where(.bl_wysiwyg) :where(table) td {
    font-size: 1rem;
    padding: 1rem 1.5rem;
  }
}
:where(.bl_wysiwyg) :where(table) th {
  font-weight: bold;
}
:where(.bl_wysiwyg) :where(table) td {
  background-color: var(--white);
  font-weight: 500;
}
:where(.bl_wysiwyg) :where(blockquote) {
  background: var(--gray_bg);
  padding: 3.125rem 2.5rem 2.5rem;
  border-radius: calc(var(--radius) / 16 * 1rem);
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  :where(.bl_wysiwyg) :where(blockquote) {
    padding: 1.875rem 1.5rem 1.5rem;
    font-size: 1rem;
  }
}
:where(.bl_wysiwyg) :where(blockquote)::before {
  content: "";
  background-image: url("../img/common/icon_blickQuote.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 1.25rem;
  height: 0.8125rem;
  position: absolute;
  inset: 1.75rem auto auto 2.5rem;
}
@media screen and (max-width: 768px) {
  :where(.bl_wysiwyg) :where(blockquote)::before {
    inset: 1.25rem auto auto 1.5rem;
    width: 1rem;
    height: 0.625rem;
  }
}
@media screen and (max-width: 768px) {
  :where(.bl_wysiwyg) .el_btn {
    min-width: 12.125rem;
  }
}

@media screen and (max-width: 768px) {
  .bl_table__spScroll {
    margin-inline: var(--contMargin_hor) 0;
    padding: 0 var(--contMargin_hor) 1px 0;
    width: auto;
  }
}
@media screen and (max-width: 768px) {
  .bl_table__spScroll table {
    width: 200%;
  }
}
.bl_table__border table {
  border-top: none;
  width: 100%;
}
.bl_table__border table tbody th,
.bl_table__border table tbody td,
.bl_table__border table thead th,
.bl_table__border table thead td {
  background-color: transparent;
  border: none;
  color: var(--black_txt);
}
.bl_table__border table tbody th,
.bl_table__border table thead th {
  padding-left: 0;
  border-bottom: 1px solid var(--red_txt);
}
.bl_table__border table tbody td,
.bl_table__border table thead td {
  border-bottom: 1px solid var(--gray_border03);
}
.bl_table__border table:not(:has(thead)) tbody th {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid var(--red_txt);
  color: var(--black_txt);
}

.bl_boxSet {
  display: grid;
  gap: 1.875rem 3.75rem;
}
@media screen and (max-width: 1100px) {
  .bl_boxSet {
    gap: 1.25rem;
  }
}
.bl_boxSet > *:not(:first-child) {
  margin-top: 0;
}
.bl_boxSet ol,
.bl_boxSet li {
  padding: 0;
  margin: 0;
  list-style: none;
  container-type: inline-size;
  container-name: boxSetItem;
}
.bl_boxSet ol:not(:first-child),
.bl_boxSet li:not(:first-child) {
  margin-top: 0;
}
.bl_boxSet ol::before,
.bl_boxSet li::before {
  display: none;
}
@media not all and (max-width: 768px), print {
  .bl_boxSet__2col {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media not all and (max-width: 768px), print {
  .bl_boxSet__3col {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.875rem 2.625rem;
  }
}
@media screen and (max-width: 1100px) {
  .bl_boxSet__3col {
    gap: 1.25rem;
  }
}

.bl_video {
  display: table;
  width: 100%;
  caption-side: bottom;
}
.bl_video iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
.bl_video figcaption {
  display: table-caption;
  margin-top: 15px;
  font-size: 0.875rem;
}

.bl_videoGroupList {
  display: grid;
  gap: 40px 24px;
}
@media not all and (max-width: 768px), print {
  .bl_videoGroupList__2col {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media not all and (max-width: 768px), print {
  .bl_videoGroupList__3col {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media not all and (max-width: 768px), print {
  .bl_videoGroupList__4col {
    grid-template-columns: repeat(4, 1fr);
  }
}

.bl_videoGroup .bl_video:not(:last-child) {
  margin-bottom: 20px;
}
.bl_videoGroup_title {
  font-size: 1.25rem;
  font-weight: bold;
}
.bl_videoGroup_title:not(:last-child) {
  margin-bottom: 15px;
}

.bl_dataTable {
  display: grid;
  grid-template-columns: minmax(200px, max-content) 1fr;
  gap: 0 2em;
}
@media screen and (max-width: 768px) {
  .bl_dataTable {
    grid-template-columns: minmax(100px, max-content) 1fr;
  }
}
.bl_dataTable_row {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
  align-items: center;
  border-bottom: 2px solid;
  padding: 20px;
}
.bl_dataTable_row:nth-child(odd) {
  background-color: #ddd;
}
.bl_dataTable dt {
  font-weight: bold;
}

.bl_accordionList {
  display: grid;
  gap: 30px;
}

.bl_accordion {
  border: 2px solid;
}
.bl_accordion_head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px;
  align-items: center;
  padding: 20px 30px;
  cursor: pointer;
}
.bl_accordion_head::-webkit-details-marker {
  display: none;
}
.bl_accordion_head .icon {
  position: relative;
  width: 20px;
  height: 2px;
  background-color: currentColor;
}
.bl_accordion_head .icon::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: inherit;
  rotate: 90deg;
}
.bl_accordion[open] .bl_accordion_head .icon::before {
  opacity: 0;
}
.bl_accordion_body {
  overflow: hidden;
}
.bl_accordion_body > div {
  padding: 0 30px 20px;
}

.bl_dialog {
  opacity: 0;
  visibility: hidden;
  display: block;
  overflow-y: auto;
  overscroll-behavior: contain;
  transition-property: opacity, visibility, overlay;
  transition-duration: var(--transDur);
  transition-timing-function: var(--transEasing);
  transition-behavior: allow-discrete;
  scrollbar-width: none;
}
.bl_dialog::-webkit-scrollbar {
  display: none;
}
.bl_dialog[open] {
  opacity: 1;
  visibility: visible;
}
.bl_dialog::backdrop {
  display: none;
}
.bl_dialog_backdrop {
  height: calc(100% + 1px);
}
.bl_dialog_inner {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
  min-height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}
.bl_dialog_body {
  position: relative;
  padding: 40px;
  background-color: #fff;
}
.bl_dialog_closeBtn {
  display: grid;
  place-items: center;
  position: absolute;
  right: 0;
  top: 0;
  width: 32px;
  aspect-ratio: 1;
  background-color: #000;
}
.bl_dialog_closeBtn > p:not([class]) {
  position: relative;
  width: 16px;
  height: 2px;
}
.bl_dialog_closeBtn > p:not([class])::before, .bl_dialog_closeBtn > p:not([class])::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #fff;
}
.bl_dialog_closeBtn > p:not([class])::before {
  rotate: -45deg;
}
.bl_dialog_closeBtn > p:not([class])::after {
  rotate: 45deg;
}

.bl_tabCont_tablistWrapper {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.625rem;
}
@media screen and (max-width: 768px) {
  .bl_tabCont_tablistWrapper {
    grid-template-columns: 1fr;
    margin-top: 1.25rem;
  }
}
.bl_tabCont_tablistWrapper::before {
  content: "";
  margin-top: auto;
  height: 0.125rem;
  background-color: var(--red_txt);
}
@media screen and (max-width: 768px) {
  .bl_tabCont_tablistWrapper::before {
    display: none;
  }
}
.bl_tabCont_tablist {
  display: flex;
  align-items: end;
  gap: 0.625rem;
}
@media screen and (max-width: 768px) {
  .bl_tabCont_tablist {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
.bl_tabCont_tablist button {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  padding: 1.25rem 4rem;
  background-color: var(--white);
  border: 2px solid var(--white);
  border-bottom: none;
  border-radius: calc(var(--radius) / 16 * 1rem) calc(var(--radius) / 16 * 1rem) 0 0;
  cursor: pointer;
  transition: all var(--transDur) var(--transEasing);
  color: var(--red_txt);
  position: relative;
  min-width: 17.5rem;
  text-align: center;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .bl_tabCont_tablist button {
    min-width: auto;
    border-width: 1px;
    padding: 1rem 1.5rem 1.125rem;
    font-size: 1rem;
  }
}
@media (any-hover: hover) {
  .bl_tabCont_tablist button[aria-selected=false]:hover {
    background-color: var(--red_txt);
    color: var(--white);
    border-color: var(--red_txt);
  }
  .bl_tabCont_tablist button[aria-selected=false]:hover .bl_tabCont_tablistArrow {
    background-color: var(--white);
  }
}
.bl_tabCont_tablist button::before {
  content: "";
  position: absolute;
  inset: auto auto 0 -0.75rem;
  width: 0.6875rem;
  height: 0.125rem;
  background-color: var(--red_txt);
  transition: background-color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .bl_tabCont_tablist button::before {
    height: 1px;
  }
}
.bl_tabCont_tablist button::after {
  content: "";
  position: absolute;
  inset: auto auto 0 -0.125rem;
  width: calc(100% + 0.3125rem);
  height: 0.125rem;
  background-color: var(--red_txt);
  transition: background-color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .bl_tabCont_tablist button::after {
    height: 1px;
  }
}
.bl_tabCont_tablist button[aria-selected=true] {
  border-color: var(--red_txt);
  background-color: transparent;
}
.bl_tabCont_tablist button[aria-selected=true]::after {
  background-color: transparent;
}
@media screen and (max-width: 768px) {
  .bl_tabCont_tablist button:first-child::before {
    display: none;
  }
}
.bl_tabCont_tablistArrow {
  position: absolute;
  inset: 50% 2.125rem auto auto;
  translate: 0 -50%;
  rotate: 90deg;
  width: 0.9375rem;
  height: 0.5rem;
  background-color: var(--red_txt);
  -webkit-mask-image: url("../img/common/icon_arrow_red.svg");
  mask-image: url("../img/common/icon_arrow_red.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: opacity var(--transDur) var(--transEasing), background-color var(--transDur) var(--transEasing);
}
.bl_tabCont_tablist button[aria-selected=true] .bl_tabCont_tablistArrow {
  opacity: 0;
}

.bl_account {
  position: relative;
  z-index: 0;
  padding-bottom: clamp(123px, 246 / (var(--designW) + var(--scrollbarW)) * 100vw, 246px);
  padding-top: clamp(150px, 300 / (var(--designW) + var(--scrollbarW)) * 100vw, 300px);
  margin-top: -3.75rem;
}
@media screen and (max-width: 768px) {
  .bl_account {
    padding-top: 7rem;
    padding-inline: 1.5625rem;
    padding-bottom: 9.25rem;
    margin-top: 0;
  }
}
.bl_account::after {
  content: "";
  z-index: -1;
  position: absolute;
  background-image: url("../img/common/bg_footer.webp");
  inset: 0 0 clamp(-50px, -100 / (var(--designW) + var(--scrollbarW)) * 100vw, -100px) 0;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
  height: calc(100% + clamp(50px, 100 / (var(--designW) + var(--scrollbarW)) * 100vw, 100px));
  width: 100%;
}
@media screen and (max-width: 768px) {
  .bl_account::after {
    background-size: 300% 100%;
    inset: -5.625rem 0 -6.25rem 0;
  }
}
.bl_accountInner {
  margin: auto;
  max-width: clamp(600px, 1200 / (var(--designW) + var(--scrollbarW)) * 100vw, 1200px);
  width: 100%;
  position: relative;
  z-index: 1;
}
.bl_account_tree {
  position: absolute;
  inset: clamp(-50px, -100 / (var(--designW) + var(--scrollbarW)) * 100vw, -100px) 0 auto 0;
  translate: 0 -100%;
  width: clamp(38.5px, 77 / (var(--designW) + var(--scrollbarW)) * 100vw, 77px);
}
@media screen and (max-width: 768px) {
  .bl_account_tree {
    width: 3.5625rem;
    inset: -0.9375rem 0 auto 0;
  }
}
@media screen and (max-width: 768px) {
  .bl_account_banner.bl_bannerSet {
    grid-template-columns: repeat(2, 1fr);
  }
}
.bl_account_banner + .bl_account_sns {
  margin-top: clamp(25px, 50 / (var(--designW) + var(--scrollbarW)) * 100vw, 50px);
}
@media screen and (max-width: 768px) {
  .bl_account_banner + .bl_account_sns {
    margin-top: 2.5rem;
  }
}
.bl_account_sns {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(30px, 60 / (var(--designW) + var(--scrollbarW)) * 100vw, 60px);
}
@media screen and (max-width: 768px) {
  .bl_account_sns {
    grid-template-columns: 1fr;
    gap: 1.5625rem;
  }
}
.bl_account_snsTtl {
  color: var(--blue_bg);
  font-size: clamp(14px, 28 / (var(--designW) + var(--scrollbarW)) * 100vw, 28px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .bl_account_snsTtl {
    font-size: 1.375rem;
    text-align: center;
  }
}
.bl_account_snsName {
  font-size: clamp(8px, 16 / (var(--designW) + var(--scrollbarW)) * 100vw, 16px);
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .bl_account_snsName {
    font-size: 0.9375rem;
  }
}
.bl_account_snsList {
  display: grid;
  grid-template-columns: auto auto;
  gap: clamp(10px, 20 / (var(--designW) + var(--scrollbarW)) * 100vw, 20px) 0;
}
@media screen and (max-width: 768px) {
  .bl_account_snsList {
    grid-template-columns: 1fr;
    gap: clamp(12.5px, 25 / (var(--designW) + var(--scrollbarW)) * 100vw, 25px) 0;
  }
}
.bl_account_snsItem {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: clamp(9px, 18 / (var(--designW) + var(--scrollbarW)) * 100vw, 18px);
}
@media screen and (max-width: 768px) {
  .bl_account_snsItem {
    gap: 0.625rem;
    align-items: center;
    text-align: center;
  }
}
.bl_account_snsItem:nth-child(even) {
  grid-template-columns: clamp(160px, 320 / (var(--designW) + var(--scrollbarW)) * 100vw, 320px) auto;
  padding-left: clamp(20px, 40 / (var(--designW) + var(--scrollbarW)) * 100vw, 40px);
  border-left: 1px solid var(--white);
}
@media screen and (max-width: 768px) {
  .bl_account_snsItem:nth-child(even) {
    grid-template-columns: 1fr;
    gap: 0.625rem;
    padding-left: 0;
    border-left: none;
  }
}
.bl_account_snsItem:nth-child(odd) {
  grid-template-columns: clamp(120px, 240 / (var(--designW) + var(--scrollbarW)) * 100vw, 240px) auto;
  padding-right: clamp(20px, 40 / (var(--designW) + var(--scrollbarW)) * 100vw, 40px);
}
@media screen and (max-width: 768px) {
  .bl_account_snsItem:nth-child(odd) {
    grid-template-columns: 1fr;
    gap: 0.625rem;
    padding-right: 0;
  }
}
.bl_account_snsIcons {
  display: flex;
  align-items: center;
  gap: clamp(10px, 20 / (var(--designW) + var(--scrollbarW)) * 100vw, 20px);
  width: -moz-fit-content;
  width: fit-content;
  flex: 1;
}
@media screen and (max-width: 768px) {
  .bl_account_snsIcons {
    margin-inline: auto;
  }
}
.bl_account_snsIcon > a {
  display: grid;
  place-items: center;
}
.bl_account_snsIcon__youtube {
  width: clamp(16px, 32 / (var(--designW) + var(--scrollbarW)) * 100vw, 32px);
  height: clamp(11.5px, 23 / (var(--designW) + var(--scrollbarW)) * 100vw, 23px);
}
@media screen and (max-width: 768px) {
  .bl_account_snsIcon__youtube {
    width: 2rem;
    height: 1.4375rem;
  }
}
.bl_account_snsIcon__x {
  width: clamp(12.5px, 25 / (var(--designW) + var(--scrollbarW)) * 100vw, 25px);
  height: clamp(13px, 26 / (var(--designW) + var(--scrollbarW)) * 100vw, 26px);
}
@media screen and (max-width: 768px) {
  .bl_account_snsIcon__x {
    width: 1.5625rem;
    height: 1.625rem;
  }
}
.bl_account_snsIcon__line {
  width: clamp(15px, 30 / (var(--designW) + var(--scrollbarW)) * 100vw, 30px);
  height: clamp(15px, 30 / (var(--designW) + var(--scrollbarW)) * 100vw, 30px);
}
@media screen and (max-width: 768px) {
  .bl_account_snsIcon__line {
    width: 1.875rem;
    height: 1.875rem;
  }
}
.bl_account_snsIcon__facebook {
  width: clamp(14px, 28 / (var(--designW) + var(--scrollbarW)) * 100vw, 28px);
  height: clamp(14.5px, 29 / (var(--designW) + var(--scrollbarW)) * 100vw, 29px);
}
@media screen and (max-width: 768px) {
  .bl_account_snsIcon__facebook {
    width: 1.75rem;
    height: 1.8125rem;
  }
}
.bl_account_snsIcon__instagram {
  width: clamp(14px, 28 / (var(--designW) + var(--scrollbarW)) * 100vw, 28px);
  height: clamp(14.5px, 29 / (var(--designW) + var(--scrollbarW)) * 100vw, 29px);
}
@media screen and (max-width: 768px) {
  .bl_account_snsIcon__instagram {
    width: 1.75rem;
    height: 1.8125rem;
  }
}

.bl_bannerSet {
  display: grid;
  gap: 1.625rem;
}
@media screen and (max-width: 768px) {
  .bl_bannerSet {
    gap: 0.9375rem 0.3125rem;
  }
}
.bl_bannerSet__col2 {
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 768px) {
  .bl_bannerSet__col2 {
    grid-template-columns: 1fr;
  }
}
.bl_bannerSet__col3 {
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 768px) {
  .bl_bannerSet__col3 {
    grid-template-columns: 1fr;
  }
}
.bl_bannerSet__col4 {
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 768px) {
  .bl_bannerSet__col4 {
    grid-template-columns: 1fr;
  }
}
.bl_account .bl_bannerSet {
  gap: clamp(13px, 26 / (var(--designW) + var(--scrollbarW)) * 100vw, 26px);
}
@media screen and (max-width: 768px) {
  .bl_account .bl_bannerSet {
    gap: 0.9375rem 0.3125rem;
  }
}

.bl_newsList {
  padding-top: 0.125rem;
}
.bl_newsList__newsPage .bl_news_link {
  padding: 1.875rem 0;
  gap: 0.625rem 1.25rem;
}
@media screen and (max-width: 768px) {
  .bl_newsList__newsPage .bl_news_link {
    padding: 1.25rem 0;
    gap: 0.375rem 1rem;
  }
}
.bl_newsList__newsPage .bl_news_txt {
  font-size: 1.625rem;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .bl_newsList__newsPage .bl_news_txt {
    font-size: 1.125rem;
  }
}
.bl_newsList__newsPage .bl_news_date {
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .bl_newsList__newsPage .bl_news_date {
    font-size: 1rem;
  }
}
.bl_newsList__newsPage .bl_news_tags {
  margin-left: 1.5rem;
}
@media screen and (max-width: 768px) {
  .bl_newsList__newsPage .bl_news_tags {
    margin-left: 0;
  }
}

.bl_news_link {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.375rem 1.25rem;
  align-items: center;
  padding: 1rem 0;
  border-bottom: 1px solid var(--pink_border);
  transition: background-color var(--transDur) var(--transEasing);
  position: relative;
  grid-template-areas: "meta arrow" "txt arrow";
}
@media screen and (max-width: 768px) {
  .bl_news_link {
    gap: 0 1.0625rem;
  }
}
@media (any-hover: hover) {
  .bl_news_link:hover .bl_news_txt {
    color: var(--red_txt);
  }
  .bl_news_link:hover .bl_news_arrow {
    background-color: var(--white);
  }
  .bl_news_link:hover .bl_news_arrow::after {
    background-color: var(--red_txt);
  }
}
@media (any-hover: hover) {
  .bl_news_link[target=_blank]:hover .bl_news_arrow, .bl_news_link[href$=".pdf"]:hover .bl_news_arrow {
    background-color: unset;
  }
}
.bl_news_meta {
  grid-area: meta;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .bl_news_meta {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas: "date icon" "tags tags";
    align-items: center;
  }
}
.bl_news_date {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  .bl_news_date {
    grid-area: date;
    font-size: 1.125rem;
  }
}
.bl_news_tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-left: 1.25rem;
}
@media screen and (max-width: 768px) {
  .bl_news_tags {
    grid-area: tags;
    margin-left: 0;
    margin-top: 0.25rem;
  }
}
.bl_news_icon {
  margin-left: 0.75rem;
  width: 1.25rem;
  display: grid;
  place-items: center;
}
@media screen and (max-width: 768px) {
  .bl_news_icon {
    grid-area: icon;
    width: 1rem;
    margin-left: 0.75rem;
  }
}
.bl_news_body {
  grid-area: txt;
}
@media screen and (max-width: 768px) {
  .bl_news_body {
    margin-top: 0.375rem;
  }
}
.bl_news_txt {
  display: inline;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
  transition: color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .bl_news_txt {
    font-size: 1rem;
  }
}
.bl_news_new {
  display: inline-block;
  flex-shrink: 0;
  padding: 0.0625rem 0 0.1875rem 0.9375rem;
  border-left: 1px solid var(--red_txt);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  color: var(--red_txt);
  letter-spacing: 0.02em;
  white-space: nowrap;
  margin-left: 0.75rem;
}
@media screen and (max-width: 768px) {
  .bl_news_new {
    font-size: 1rem;
    padding: 0.0625rem 0 0.125rem 0.625rem;
    margin-left: 0.5rem;
  }
}
.bl_news_arrow {
  width: 2.375rem;
  height: 1.75rem;
  background-color: var(--white);
  border-radius: 0.625rem;
  display: inline-block;
  position: relative;
  border: 1px solid var(--white);
  transition: background-color var(--transDur) var(--transEasing), border-color var(--transDur) var(--transEasing);
  grid-area: arrow;
  background-color: var(--red_txt);
  border-color: var(--red_txt);
}
@media screen and (max-width: 768px) {
  .bl_news_arrow {
    width: 1.875rem;
    height: 1.5rem;
  }
}
.bl_news_arrow::after {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  width: 0.9375rem;
  height: 0.5rem;
  background-color: var(--white);
  border-radius: 50%;
  -webkit-mask-image: url("../img/common/icon_arrow_red.svg");
  mask-image: url("../img/common/icon_arrow_red.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: contain;
  mask-size: contain;
  z-index: 1;
  transition: background-color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .bl_news_arrow::after {
    width: 0.75rem;
    height: 0.5rem;
  }
}
.bl_news_arrow::after {
  background-color: var(--white);
}
@media screen and (max-width: 768px) {
  .bl_news_arrow {
    width: 2.375rem;
    height: 1.75rem;
  }
  .bl_news_arrow::after {
    width: 0.875rem;
    height: 0.5rem;
  }
}
.bl_news_link[target=_blank] .bl_news_arrow {
  all: revert;
  grid-area: arrow;
  width: 2.375rem;
  height: 1.5625rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url(../img/common/icon_target_blank.svg);
  background-size: 1.5625rem 1.5625rem;
  background-repeat: no-repeat;
  background-position: center;
}
.bl_news_link[target=_blank] .bl_news_arrow::after {
  content: unset;
}
@media screen and (max-width: 768px) {
  .bl_news_link[target=_blank] .bl_news_arrow {
    width: 2.375rem;
    height: 1.125rem;
    background-size: 1.125rem 1.125rem;
  }
}
.bl_news_link[href$=".pdf"] .bl_news_arrow {
  all: revert;
  grid-area: arrow;
  width: 2.375rem;
  height: 1.5625rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url(../img/common/icon/icon_pdf.webp);
  background-size: 1.5625rem 1.5625rem;
  background-repeat: no-repeat;
  background-position: center;
}
.bl_news_link[href$=".pdf"] .bl_news_arrow::after {
  content: unset;
}
@media screen and (max-width: 768px) {
  .bl_news_link[href$=".pdf"] .bl_news_arrow {
    width: 2.375rem;
    height: 1.125rem;
    background-size: 1.125rem 1.125rem;
  }
}
.bl_news_btns {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(20rem, 100%), 1fr));
  margin-inline: auto;
  max-width: 41.25rem;
  gap: 0.625rem 1.25rem;
  justify-content: center;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .bl_news_btns {
    max-width: 18.4375rem;
    margin-top: 1.25rem;
  }
}
.bl_news_btn {
  width: 100%;
}

.bl_pgHdg {
  margin-bottom: 2rem;
  overflow-x: clip;
}
@media screen and (max-width: 768px) {
  .bl_pgHdg {
    margin-bottom: 1.25rem;
  }
}
.bl_pgHdg::after {
  content: "";
  position: absolute;
  inset: -12.5rem auto auto calc(50% + 7.5625rem);
  width: 62.625rem;
  height: 35.3125rem;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  z-index: -1;
}
@media screen and (max-width: 1600px) {
  .bl_pgHdg::after {
    width: clamp(501px, 1002 / (var(--designW) + var(--scrollbarW)) * 100vw, 1002px);
    height: clamp(282.5px, 565 / (var(--designW) + var(--scrollbarW)) * 100vw, 565px);
    inset: clamp(-150px, -300 / (var(--designW) + var(--scrollbarW)) * 100vw, -300px) auto auto calc(50% + clamp(60.5px, 121 / (var(--designW) + var(--scrollbarW)) * 100vw, 121px));
  }
}
@media screen and (max-width: 768px) {
  .bl_pgHdg::after {
    width: clamp(251px, 502 / (var(--designW) + var(--scrollbarW)) * 100vw, 502px);
    height: clamp(141.5px, 283 / (var(--designW) + var(--scrollbarW)) * 100vw, 283px);
    inset: clamp(-60px, -120 / (var(--designW) + var(--scrollbarW)) * 100vw, -120px) auto auto calc(50% + clamp(40px, 80 / (var(--designW) + var(--scrollbarW)) * 100vw, 80px));
  }
}
.bl_pgHdg__news::after {
  background-image: url("../img/news/img_pgHdg.svg");
}
.bl_pgHdg__katsudoshokai::after {
  background-image: url("../img/katsudoshokai/img_pgHdg.svg");
}
.bl_pgHdg__category::after {
  background-image: url("../img/category/img_pgHdg.svg");
}
.bl_pgHdg .el_pgHdg {
  max-width: min(70%, 56.25rem);
}

.bl_category {
  border: 0.125rem solid var(--pink_border);
  border-radius: 0.9375rem;
  padding: 1.875rem 3.125rem;
}
@media screen and (max-width: 768px) {
  .bl_category {
    padding: 1.25rem 0.5rem;
    margin-top: 1.875rem;
  }
}
.bl_category_hdg {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1;
  color: var(--black_txt);
  margin-bottom: 1.1875rem;
}
@media screen and (max-width: 768px) {
  .bl_category_hdg {
    font-size: 1.125rem;
    margin-bottom: 0.9375rem;
  }
}
.bl_category_tags {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(10.9375rem, 100%), 1fr));
  gap: 0.375rem;
}
@media screen and (max-width: 768px) {
  .bl_category_tags {
    gap: 0.25rem;
    grid-template-columns: repeat(3, 1fr);
  }
}
.bl_category_tags .el_tag {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .bl_category_tags .el_tag {
    padding: 0.625rem 0.25rem;
    font-size: max(2.34375vw, 0.6875rem);
  }
}

.bl_detailHeader {
  padding-top: 3.625rem;
}
@media screen and (max-width: 768px) {
  .bl_detailHeader {
    padding-top: 0.9375rem;
  }
}
.bl_detailHeader_hdg {
  color: var(--red_txt);
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  position: relative;
  padding-bottom: 2.5rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .bl_detailHeader_hdg {
    font-size: clamp(20px, 40 / (var(--designW) + var(--scrollbarW)) * 100vw, 40px);
    padding-bottom: 1.25rem;
  }
}
.bl_detailHeader_hdg::before {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  width: 100%;
  height: 0.25rem;
  border-radius: 100vmax;
  background-color: var(--red_txt);
}
@media screen and (max-width: 768px) {
  .bl_detailHeader_hdg::before {
    height: 0.1875rem;
  }
}
.bl_detailHeader_meta {
  margin-top: 3.125rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.625rem 1.4375rem;
}
@media screen and (max-width: 768px) {
  .bl_detailHeader_meta {
    margin-top: 1.875rem;
  }
}
.bl_detailHeader_date {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  .bl_detailHeader_date {
    font-size: 1.125rem;
  }
}
.bl_detailHeader_tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.625rem;
}

.bl_detailFooter {
  margin-top: 4.375rem;
}
@media screen and (max-width: 768px) {
  .bl_detailFooter {
    margin-top: 2.5rem;
  }
}
.bl_detailFooter_content {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 1.25rem;
  padding-bottom: 5.625rem;
  border-bottom: 1px solid var(--pink_border);
}
@media screen and (max-width: 768px) {
  .bl_detailFooter_content {
    padding-bottom: 3.75rem;
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}
.bl_detailFooter_date {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
.bl_detailFooter_category {
  display: flex;
  align-items: baseline;
}
.bl_detailFooter_categoryTtl {
  flex-shrink: 0;
}
.bl_detailFooter_categoryList {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.625rem;
}
.bl_detailFooter_categoryItem {
  color: var(--red_txt);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.03em;
  text-decoration: underline;
}
@media (any-hover: hover) {
  .bl_detailFooter_categoryItem:hover {
    text-decoration: none;
  }
}
.bl_detailFooter_share {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 1.5625rem;
}
@media screen and (max-width: 768px) {
  .bl_detailFooter_share {
    margin-inline: auto;
    gap: 0.75rem;
  }
}
.bl_detailFooter_shareTtl {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
}
.bl_detailFooter_shareList {
  display: flex;
  align-items: center;
  gap: 1.75rem;
}
@media screen and (max-width: 768px) {
  .bl_detailFooter_shareList {
    gap: 0.75rem;
  }
}
.bl_detailFooter_shareItem img {
  height: 2.375rem;
  width: auto;
}
@media screen and (max-width: 768px) {
  .bl_detailFooter_shareItem img {
    height: 1.75rem;
  }
}
.bl_detailFooter_shareItem__x img {
  height: 2.0625rem;
}
@media screen and (max-width: 768px) {
  .bl_detailFooter_shareItem__x img {
    height: 1.5rem;
  }
}
.bl_detailFooter_box {
  margin-block: 3.25rem 5.5rem;
}
.bl_detailFooter_link {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .bl_detailFooter_link {
    margin-top: 2.5rem;
  }
}
.bl_detailFooter_link .el_btn {
  max-width: 12.125rem;
  margin-inline: auto;
}

/**
 * Element
 */
.el_pgHdg {
  color: var(--red_txt);
  font-size: clamp(30px, 60 / (var(--designW) + var(--scrollbarW)) * 100vw, 60px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  border-bottom: 0.25rem solid var(--red_txt);
  padding-block: 3.625rem;
}
@media screen and (max-width: 768px) {
  .el_pgHdg {
    font-size: 2.25rem;
    line-height: 1.375;
    padding-block: 1.875rem;
    border-bottom: 0.1875rem solid var(--red_txt);
  }
}
.el_pgHdg__noBorder {
  border-bottom: none;
}

.el_hdgLg {
  color: var(--font, #000);
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 2.5rem;
  position: relative;
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 768px) {
  .el_hdgLg {
    font-size: clamp(1.25rem, 3.6458333333vw, 1.75rem);
    line-height: 1.5714285714;
    letter-spacing: 0.05em;
    padding-left: 1.75rem;
    margin-bottom: 1.25rem;
  }
}
.el_hdgLg::before {
  content: "";
  position: absolute;
  inset: 1.125rem auto auto 0;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url("../img/common/icon_head.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .el_hdgLg::before {
    inset: clamp(0.5625rem, 2.0833333333vw, 0.875rem) auto auto 0;
    width: clamp(0.8125rem, 2.34375vw, 1.125rem);
    height: clamp(0.8125rem, 2.34375vw, 1.125rem);
  }
}
.el_hdgLg__noIcon {
  padding-left: 0;
}
.el_hdgLg__noIcon::before {
  display: none;
}

.el_hdgMd, .bl_detailFooter_boxTtl {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 768px) {
  .el_hdgMd, .bl_detailFooter_boxTtl {
    font-size: 1.5rem;
    line-height: 1.5833333333;
    letter-spacing: 0.05em;
    margin-bottom: 1.25rem;
  }
}

.el_hdgSm {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 1.25rem;
  position: relative;
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 768px) {
  .el_hdgSm {
    font-size: 1.25rem;
    line-height: 1.6;
    letter-spacing: 0.05em;
    padding-left: 1rem;
    margin-bottom: 1.25rem;
  }
}
.el_hdgSm::before {
  content: "";
  position: absolute;
  inset: 0.75rem auto auto 0;
  width: 0.75rem;
  height: 0.75rem;
  background-color: var(--red_txt);
  border-radius: 0.25rem;
}
@media screen and (max-width: 768px) {
  .el_hdgSm::before {
    inset: 0.75rem auto auto 0;
    width: 0.5625rem;
    height: 0.5625rem;
  }
}

.el_hdgXs {
  color: var(--font, #000);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 1.25rem;
  position: relative;
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 768px) {
  .el_hdgXs {
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
    padding-left: 1rem;
    margin-bottom: 1.25rem;
  }
}
.el_hdgXs::before {
  content: "";
  position: absolute;
  inset: 0.5625rem auto auto 0;
  width: 0.75rem;
  height: 0.75rem;
  border: 2px solid var(--red_txt);
  border-radius: 0.25rem;
}
@media screen and (max-width: 768px) {
  .el_hdgXs::before {
    inset: 0.5rem auto auto 0;
    width: 0.625rem;
    height: 0.625rem;
  }
}

.el_pageTop {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: clamp(48px, 96 / (var(--designW) + var(--scrollbarW)) * 100vw, 96px);
  height: clamp(48px, 96 / (var(--designW) + var(--scrollbarW)) * 100vw, 96px);
  background-color: var(--blue_bg);
  border-radius: clamp(7.5px, 15 / (var(--designW) + var(--scrollbarW)) * 100vw, 15px);
  gap: clamp(2px, 4 / (var(--designW) + var(--scrollbarW)) * 100vw, 4px);
  transition: opacity var(--transDur) var(--transEasing);
  padding-inline: clamp(1px, 2 / (var(--designW) + var(--scrollbarW)) * 100vw, 2px);
}
@media screen and (max-width: 768px) {
  .el_pageTop {
    width: -moz-fit-content;
    width: fit-content;
    height: 2.75rem;
    padding-inline: 0.75rem;
    border-radius: 100vmax;
    flex-direction: row;
  }
}
.el_pageTop::before {
  content: "";
  width: clamp(7px, 14 / (var(--designW) + var(--scrollbarW)) * 100vw, 14px);
  height: clamp(6.5px, 13 / (var(--designW) + var(--scrollbarW)) * 100vw, 13px);
  background-image: url("../img/common/icon_page_top.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .el_pageTop::before {
    width: 0.75rem;
    height: 0.6875rem;
  }
}
@media (any-hover: hover) {
  .el_pageTop:hover {
    opacity: 0.8;
  }
}
.el_pageTop_txt {
  font-size: clamp(7px, 14 / (var(--designW) + var(--scrollbarW)) * 100vw, 14px);
  font-weight: 700;
  line-height: 1.3;
  color: var(--white);
  text-align: center;
  text-transform: uppercase;
}
.el_pageTop_txt[clelid] {
  font-size: clamp(5.5px, 11 / (var(--designW) + var(--scrollbarW)) * 100vw, 11px);
}
@media screen and (max-width: 768px) {
  .el_pageTop_txt {
    font-size: 0.8125rem;
  }
}

.el_btn {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  min-height: 3.125rem;
  height: 100%;
  padding: 0.625rem 3.375rem 0.625rem 1.25rem;
  background-color: var(--white);
  border-radius: calc(var(--radius) / 16 * 1rem);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.03em;
  position: relative;
  border: solid 1px var(--white);
  max-width: 20rem;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--black_txt);
  text-decoration: none;
  transition: background-color var(--transDur) var(--transEasing), color var(--transDur) var(--transEasing), border-color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .el_btn {
    font-size: 1.0625rem;
    max-width: 18.4375rem;
  }
}
@media (any-hover: hover) {
  .el_btn:hover {
    text-decoration: none;
  }
}
.el_btn::after {
  content: revert !important;
}
.el_btnIcon {
  position: absolute;
  inset: 50% auto auto 1.3125rem;
  translate: 0 -50%;
}
.el_btnArrow {
  width: 2.375rem;
  height: 1.75rem;
  background-color: var(--white);
  border-radius: 0.625rem;
  display: inline-block;
  position: relative;
  border: 1px solid var(--white);
  transition: background-color var(--transDur) var(--transEasing), border-color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .el_btnArrow {
    width: 1.875rem;
    height: 1.5rem;
  }
}
.el_btnArrow::after {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  width: 0.9375rem;
  height: 0.5rem;
  background-color: var(--white);
  border-radius: 50%;
  -webkit-mask-image: url("../img/common/icon_arrow_red.svg");
  mask-image: url("../img/common/icon_arrow_red.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: contain;
  mask-size: contain;
  z-index: 1;
  transition: background-color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .el_btnArrow::after {
    width: 0.75rem;
    height: 0.5rem;
  }
}
.el_btnArrow {
  position: absolute;
  inset: 50% 0.625rem auto auto;
  translate: 0 -50%;
}
.el_btnArrow::after {
  background-color: var(--black_txt);
}
@media (any-hover: hover) {
  .el_btn:hover {
    border-color: var(--red_txt);
    color: var(--red_txt);
  }
  .el_btn:hover .el_btnArrow::after {
    background-color: var(--red_txt);
  }
}
.el_btn__left {
  margin-right: auto;
}
.el_btn__right {
  margin-left: auto;
}
.el_btn__center {
  margin-inline: auto;
}
.el_btn[target=_blank] .el_btnArrow {
  background-color: transparent !important;
  border-color: transparent;
}
.el_btn[target=_blank] .el_btnArrow::after {
  -webkit-mask-image: url("../img/common/icon/icon_blank.svg");
  mask-image: url("../img/common/icon/icon_blank.svg");
  background-color: var(--red_txt);
  width: 0.9375rem;
  height: 0.9375rem;
  border-radius: 0;
}
@media screen and (max-width: 768px) {
  .el_btn[target=_blank] .el_btnArrow::after {
    width: 0.75rem;
    height: 0.75rem;
  }
}
.el_btn__lg {
  width: 100%;
  max-width: 20rem;
  min-height: 5rem;
  padding: 0.625rem 3.6875rem 0.625rem 1.75rem;
  font-size: 1.1875rem;
}
@media screen and (max-width: 768px) {
  .el_btn__lg {
    padding: 0.625rem 3.6875rem 0.625rem 1.25rem;
    font-size: 1rem;
  }
}
.el_btn__lg .el_btnArrow {
  background-color: var(--gray_bg);
}
@media (any-hover: hover) {
  .el_btn__lg:hover .el_btnArrow {
    background-color: var(--red_txt);
  }
  .el_btn__lg:hover .el_btnArrow::after {
    background-color: var(--white);
  }
}
@media (any-hover: hover) {
  .el_btn__lg[target=_blank]:hover .el_btnArrow::after {
    background-color: var(--red_txt);
  }
}
.el_btn__sm {
  font-size: 1rem;
  min-height: 3.125rem;
}
.el_btn__sm .el_btnArrow {
  inset: 50% 0.625rem auto auto;
}
.el_btn__border {
  border: 1px solid var(--gray_border);
}
.el_btn__gray {
  background-color: var(--gray_bg);
  border-color: var(--gray_bg);
}
.el_btn__gray .el_btnArrow {
  background-color: var(--gray_bg);
  border-color: var(--gray_bg);
}
.el_btn__gray .el_btnArrow::after {
  background-color: var(--black_txt);
}
.el_btn__gray:focus-visible {
  background-color: var(--white);
  color: var(--red_txt);
}
.el_btn__gray:focus-visible .el_btnArrow {
  background-color: transparent;
  border-color: transparent;
}
.el_btn__gray:focus-visible .el_btnArrow::after {
  background-color: var(--red_txt);
}
@media (any-hover: hover) {
  .el_btn__gray:hover {
    background-color: var(--white);
    color: var(--red_txt);
  }
  .el_btn__gray:hover .el_btnArrow {
    background-color: transparent;
    border-color: transparent;
  }
  .el_btn__gray:hover .el_btnArrow::after {
    background-color: var(--red_txt);
  }
}
.el_btn__anchor {
  width: 100%;
  max-width: 20rem;
  min-height: 5rem;
  padding: 0.625rem 3.6875rem 0.625rem 1.75rem;
  font-size: 1.1875rem;
}
@media screen and (max-width: 768px) {
  .el_btn__anchor {
    padding: 0.625rem 3.6875rem 0.625rem 1.25rem;
    font-size: 1rem;
  }
}
.el_btn__anchor .el_btnArrow {
  rotate: 90deg;
  inset: 50% 0 auto auto;
}
.el_btn__anchor .el_btnArrow::after {
  background-color: var(--red_txt);
}
.el_btn__anchorNum {
  width: 100%;
  max-width: 20rem;
  min-height: 5rem;
  padding: 1.5625rem 1.5625rem 1.5625rem 2.875rem;
  font-size: 1.125rem;
  counter-increment: anchorNum;
}
@media screen and (max-width: 768px) {
  .el_btn__anchorNum {
    padding: 0.625rem 1.5625rem 0.625rem 2.25rem;
    font-size: 1rem;
  }
}
.el_btn__anchorNum::before {
  content: counter(anchorNum)/"";
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  inset: 50% auto auto 0.75rem;
  translate: 0 -50%;
  background-color: var(--red_txt);
  color: #fff;
  padding-bottom: 0.125rem;
  border-radius: 100vmax;
  font-size: 1rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .el_btn__anchorNum::before {
    inset: 50% auto auto 0.625rem;
    padding-bottom: 0.0625rem;
    font-size: 0.875rem;
    width: 1.25rem;
    height: 1.25rem;
  }
}
.el_btn__anchorNum .el_btnArrow {
  rotate: 90deg;
  inset: 50% 0 auto auto;
  background-color: transparent;
  border-color: transparent;
}
.el_btn__anchorNum .el_btnArrow::after {
  background-color: var(--red_txt);
}
.el_btn:has(.el_btnIcon) {
  padding-left: 4.75rem;
  min-height: 5rem;
  padding: 0.625rem 4rem 0.625rem 4.75rem;
  background-color: var(--red_txt);
  color: var(--white);
  border-color: var(--red_txt);
  font-weight: 700;
  max-width: 22.5rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .el_btn:has(.el_btnIcon) {
    padding: 0.625rem 3.625rem 0.625rem 4.125rem;
  }
}
.el_btn:has(.el_btnIcon) .el_btnArrow {
  inset: 50% 1.625rem auto auto;
}
@media screen and (max-width: 768px) {
  .el_btn:has(.el_btnIcon) .el_btnArrow {
    inset: 50% 1.25rem auto auto;
  }
}
.el_btn:has(.el_btnIcon) .el_btnArrow::after {
  background-color: var(--red_txt);
}
@media (any-hover: hover) {
  .el_btn:has(.el_btnIcon):hover {
    color: var(--white);
    background-color: var(--red_bg);
  }
  .el_btn:has(.el_btnIcon):hover .el_btnArrow {
    background-color: var(--red_bg);
  }
  .el_btn:has(.el_btnIcon):hover .el_btnArrow::after {
    background-color: var(--white);
  }
}
.el_btn:has(.el_btnIcon)[target=_blank] .el_btnArrow {
  background-color: transparent;
  border-color: transparent;
}
.el_btn:has(.el_btnIcon)[target=_blank] .el_btnArrow::after {
  background-color: var(--white);
}
.el_btn:has(.el_btnIcon) .el_btnIcon {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  position: absolute;
  inset: 50% auto auto 1.3125rem;
  translate: 0 -50%;
  width: 1.875rem;
  height: 1.875rem;
}
.el_btn:has(.el_btnIcon).el_btn__kv .el_btnIcon {
  width: 2.625rem;
  height: 2.625rem;
  inset: 50% auto auto 0.9375rem;
}
.el_btn__kv:has(.el_btnIcon) {
  padding: 0.625rem 4.25rem 0.625rem 4.5rem;
  font-size: 1.375rem;
}
@media screen and (max-width: 768px) {
  .el_btn__kv:has(.el_btnIcon) {
    padding: 0.8125rem 0.6875rem 3.0625rem 0.6875rem;
    font-size: 1rem;
    justify-content: center;
    text-align: center;
  }
}
.el_btn__kv:has(.el_btnIcon) .el_btnIcon {
  inset: 50% auto auto 0.9375rem;
}
@media screen and (max-width: 768px) {
  .el_btn__kv:has(.el_btnIcon) .el_btnIcon {
    display: none;
  }
}
.el_btn__kv:has(.el_btnIcon) .el_btnArrow {
  inset: 50% 0.9375rem auto auto;
}
@media screen and (max-width: 768px) {
  .el_btn__kv:has(.el_btnIcon) .el_btnArrow {
    inset: auto auto 1rem 50%;
    translate: -50% 0;
  }
}

.el_hdgL01 {
  display: inline-block;
  position: relative;
  font-size: 2.75rem;
  font-weight: 700;
  line-height: 1.5909090909;
  color: var(--red_txt);
  letter-spacing: 0.08em;
  -webkit-text-decoration: underline dotted var(--red_txt) 0.25rem;
  text-decoration: underline dotted var(--red_txt) 0.25rem;
  text-underline-offset: 0.4em;
  word-break: auto-phrase;
}
@media screen and (max-width: 1100px) {
  .el_hdgL01 {
    font-size: clamp(30px, 60 / (var(--designW) + var(--scrollbarW)) * 100vw, 60px);
  }
}
@media screen and (max-width: 768px) {
  .el_hdgL01 {
    font-size: 1.75rem;
    line-height: 1.5714285714;
    letter-spacing: 0.05em;
  }
}
.el_hdgL01::before {
  background-image: radial-gradient(circle, #bf3727 0.125rem, transparent 0.1875rem);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 0.75rem 0.25rem;
  position: absolute;
  inset: 0;
}
@media screen and (max-width: 768px) {
  .el_hdgL01::before {
    background-size: 0.625rem 0.1875rem;
  }
}

.el_card {
  background-color: var(--white);
  border-radius: calc(var(--radius) / 16 * 1rem);
  padding: 1.5rem 1.5rem 1.875rem;
  transition: background-color var(--transDur) var(--transEasing);
  border: 1px solid var(--white);
  height: 100%;
  transition: border-color var(--transDur) var(--transEasing);
  display: grid;
  grid-template-rows: auto 1fr;
  text-decoration: none;
}
@container boxSetItem (max-width: 330px) {
  .el_card {
    padding: 1rem 1rem 1.25rem;
  }
}
@media (any-hover: hover) {
  .el_card:hover {
    border-color: var(--red_txt);
    text-decoration: none;
  }
  .el_card:hover .el_card_date {
    text-decoration: none;
  }
  .el_card:hover .el_card_ttl {
    color: var(--red_txt);
    text-decoration: none;
  }
}
.el_card::after {
  content: revert !important;
}
.el_card__small {
  padding: 0.875rem 0.875rem 1.25rem;
}
@media screen and (max-width: 768px) {
  .el_card__small {
    padding: 0.625rem 0.5rem 0.9375rem;
  }
}
.el_card__small .el_card_content {
  padding: 0.875rem 0 0 0;
}
.el_card__small .el_card_ttl {
  font-size: 1.25rem;
  text-align: center;
  font-weight: 400;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .el_card__small .el_card_ttl {
    font-size: 1rem;
    letter-spacing: -0.02em;
  }
}
.el_card_img {
  border-radius: 0.25rem;
  overflow: hidden;
  background-color: var(--gray_bg);
  display: block;
  aspect-ratio: 324/216;
}
.el_card_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.el_card_content {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 0.5rem;
  padding: 0.9375rem 0.875rem 0;
}
.el_card_meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.5rem;
  align-items: center;
}
.el_card_date {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: var(--black_txt);
}
@container boxSetItem (max-width: 330px) {
  .el_card_date {
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 0.08em;
  }
}
.el_card_ttl {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  transition: color var(--transDur) var(--transEasing);
  color: var(--black_txt);
}
@container boxSetItem (max-width: 330px) {
  .el_card_ttl {
    font-size: 1.125rem;
  }
}
.el_card_arrow {
  width: 2.375rem;
  height: 1.75rem;
  background-color: var(--white);
  border-radius: 0.625rem;
  display: inline-block;
  position: relative;
  border: 1px solid var(--white);
  transition: background-color var(--transDur) var(--transEasing), border-color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .el_card_arrow {
    width: 1.875rem;
    height: 1.5rem;
  }
}
.el_card_arrow::after {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  width: 0.9375rem;
  height: 0.5rem;
  background-color: var(--white);
  border-radius: 50%;
  -webkit-mask-image: url("../img/common/icon_arrow_red.svg");
  mask-image: url("../img/common/icon_arrow_red.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: contain;
  mask-size: contain;
  z-index: 1;
  transition: background-color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .el_card_arrow::after {
    width: 0.75rem;
    height: 0.5rem;
  }
}
.el_card_arrow {
  background-color: var(--red_txt);
  margin-inline: auto;
  margin-top: auto;
}
.el_card_arrow::after {
  background-color: var(--white);
}
.el_card[target=_blank] .el_card_arrow {
  all: revert;
  display: block;
  width: 1.5625rem;
  height: 1.5625rem;
  margin-inline: auto;
  margin-top: auto;
  background-image: url(../img/common/icon_target_blank.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
@container boxSetItem (max-width: 330px) {
  .el_card[target=_blank] .el_card_arrow {
    width: 1.25rem;
    height: 1.25rem;
  }
}
.el_card[target=_blank] .el_card_arrow::after {
  display: none;
}
.el_card[href$=".pdf"] .el_card_arrow {
  all: revert;
  display: block;
  width: 1.5625rem;
  height: 1.5625rem;
  margin-inline: auto;
  margin-top: auto;
  background-image: url(../img/common/icon/icon_pdf.webp);
  background-size: contain;
  background-repeat: no-repeat;
}
@container boxSetItem (max-width: 330px) {
  .el_card[href$=".pdf"] .el_card_arrow {
    width: 1.25rem;
    height: 1.25rem;
  }
}
.el_card[href$=".pdf"] .el_card_arrow::after {
  display: none;
}

.el_tag {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  padding: 0.9375rem 0.625rem;
  border: 1px solid var(--gray_txt);
  border-radius: 0.625rem;
  color: var(--gray_txt);
  width: 10.9375rem;
  text-align: center;
  background: var(--white);
  display: inline-block;
  place-self: center;
}
@media screen and (max-width: 768px) {
  .el_tag {
    font-size: 0.875rem;
    padding: 0.625rem 0.5rem;
    border-radius: 0.5rem;
    width: 8.25rem;
  }
}
.el_tag__sm {
  font-size: 0.875rem;
  width: 9.125rem;
  padding: 0.4375rem 0.5rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .el_tag__sm {
    width: 8.25rem;
    padding: 0.375rem 0.5rem;
  }
}
.el_tag__md {
  font-size: 1rem;
  width: 9.125rem;
  padding: 0.5rem 0.5rem;
}
@media screen and (max-width: 768px) {
  .el_tag__md {
    width: 8.25rem;
    padding: 0.5rem 0.5rem;
    font-size: 0.875rem;
  }
}
.el_tag__lg {
  width: 10.625rem;
  padding: 0.6875rem 0.5rem;
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .el_tag__lg {
    width: 8.25rem;
    padding: 0.5rem 0.5rem;
    font-size: 0.875rem;
  }
}
.el_tag__gold {
  border-color: var(--gold_txt);
  color: var(--gold_txt);
}
.el_tag__gold[aria-current=page] {
  background-color: var(--gold_txt);
  border-color: var(--gold_txt);
  color: var(--white);
}
.el_tag__green {
  border-color: var(--green_txt);
  color: var(--green_txt);
}
.el_tag__green[aria-current=page] {
  background-color: var(--green_txt);
  border-color: var(--green_txt);
  color: var(--white);
}
.el_tag__darkGreen {
  border-color: var(--darkGreen_txt);
  color: var(--darkGreen_txt);
}
.el_tag__darkGreen[aria-current=page] {
  background-color: var(--darkGreen_txt);
  border-color: var(--darkGreen_txt);
  color: var(--white);
}
.el_tag__red {
  background-color: var(--white);
  border-color: var(--red_txt);
  color: var(--red_txt);
}
.el_tag__red[aria-current=page] {
  background-color: var(--red_txt);
  border-color: var(--red_txt);
  color: var(--white);
}
.el_tag__gray {
  border-color: var(--gray_txt);
  color: var(--gray_txt);
}
.el_tag__gray[aria-current=page] {
  background-color: var(--gray_txt);
  border-color: var(--gray_txt);
  color: var(--white);
}

a.el_tag {
  transition: background-color var(--transDur) var(--transEasing), border-color var(--transDur) var(--transEasing), color var(--transDur) var(--transEasing);
}
@media (any-hover: hover) {
  a.el_tag:hover {
    background-color: var(--red_txt);
    border-color: var(--red_txt);
    color: var(--white);
  }
}
@media (any-hover: hover) {
  a.el_tag__gold:hover {
    background-color: var(--gold_txt);
    border-color: var(--gold_txt);
    color: var(--white);
  }
}
@media (any-hover: hover) {
  a.el_tag__green:hover {
    background-color: var(--green_txt);
    border-color: var(--green_txt);
    color: var(--white);
  }
}
@media (any-hover: hover) {
  a.el_tag__darkGreen:hover {
    background-color: var(--darkGreen_txt);
    border-color: var(--darkGreen_txt);
    color: var(--white);
  }
}
@media (any-hover: hover) {
  a.el_tag__gray:hover {
    background-color: var(--gray_txt);
    border-color: var(--gray_txt);
    color: var(--white);
  }
}

.el_link {
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-thickness: 0.5px;
  text-underline-position: from-font;
  color: var(--black_txt);
  text-decoration: none;
}
@media (any-hover: hover) {
  .el_link:hover {
    text-decoration: none;
  }
}
.el_link::after {
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  position: relative;
  inset: 0.3125rem auto auto auto;
  margin-inline: 0.375rem;
}
.el_link[target=_blank]::after {
  content: "";
  width: 0.9375rem;
  aspect-ratio: 1;
  background-image: url(../img/common/icon/icon_blank.svg);
  inset: 0.125rem auto auto auto;
}
.el_link[href$=".pdf"]::after {
  content: "";
  width: 1.25rem;
  aspect-ratio: 1;
  background-image: url(../img/common/icon/icon_pdf.webp);
}
.el_link[href*=".doc"]::after {
  content: "";
  width: 1.25rem;
  aspect-ratio: 1;
  background-image: url(../img/common/icon/icon_doc.svg);
}
.el_link[href*=".xls"]::after {
  content: "";
  width: 1.25rem;
  aspect-ratio: 1;
  background-image: url(../img/common/icon/icon_xls.svg);
}
.el_link[href*=".ppt"]::after {
  content: "";
  width: 1.25rem;
  aspect-ratio: 1;
  background-image: url(../img/common/icon/icon_ppt.svg);
}
.el_link[href$=".zip"]::after {
  content: "";
  width: 1.25rem;
  aspect-ratio: 1;
  background-image: url(../img/common/icon/icon_file.svg);
}
.el_link {
  display: inline-block;
  position: relative;
  padding-left: 3rem;
}
@media screen and (max-width: 768px) {
  .el_link {
    padding-left: 2.5rem;
  }
}
@media (any-hover: hover) {
  .el_link:hover {
    text-decoration: none;
  }
}
.el_linkArrow {
  width: 2.375rem;
  height: 1.75rem;
  background-color: var(--white);
  border-radius: 0.625rem;
  display: inline-block;
  position: relative;
  border: 1px solid var(--white);
  transition: background-color var(--transDur) var(--transEasing), border-color var(--transDur) var(--transEasing);
  width: 2.25rem;
  position: absolute;
  inset: 0.75rem auto auto 0;
  translate: 0 -50%;
}
@media screen and (max-width: 768px) {
  .el_linkArrow {
    width: 1.875rem;
    height: 1.5rem;
  }
}
.el_linkArrow::after {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  width: 0.9375rem;
  height: 0.5rem;
  background-color: var(--white);
  border-radius: 50%;
  -webkit-mask-image: url("../img/common/icon_arrow_red.svg");
  mask-image: url("../img/common/icon_arrow_red.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: contain;
  mask-size: contain;
  z-index: 1;
  transition: background-color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .el_linkArrow::after {
    width: 0.75rem;
    height: 0.5rem;
  }
}
@media screen and (max-width: 768px) {
  .el_linkArrow {
    width: 1.875rem;
    inset: 0.8125rem auto auto 0;
  }
}
.el_linkArrow {
  border-color: var(--red_txt);
  background-color: var(--red_txt);
}
.el_linkArrow::after {
  background-color: var(--white);
}
.el_linkTxt {
  color: var(--black_txt);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1;
  transition: color var(--transDur) var(--transEasing);
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .el_linkTxt {
    font-size: 1rem;
  }
}
@media (any-hover: hover) {
  .el_link:hover .el_linkTxt {
    color: var(--red_txt);
  }
}

.el_box {
  padding: 1.875rem 5rem;
  border-radius: calc(var(--radius) / 16 * 1rem);
  border: 0.125rem solid var(--pink_border);
}
@media screen and (max-width: 768px) {
  .el_box {
    padding: 1.25rem 1.5rem;
    border-radius: 0.625rem;
    border: 1px solid var(--pink_border);
  }
}
.el_box_inner {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .el_box_inner {
    font-size: 1.0625rem;
    line-height: 1.5;
  }
}
.el_box__white {
  background-color: var(--white);
  border-color: var(--white);
}
.el_box__borderRed {
  border-color: var(--red_txt);
}

.el_linkBox {
  display: flex;
  flex-direction: column;
  padding: 2.5rem 3.75rem;
  gap: 1.25rem;
  border-radius: calc(var(--radius) / 16 * 1rem);
  background: var(--white);
  height: 100%;
}
@media screen and (max-width: 768px) {
  .el_linkBox {
    padding: 1.25rem 1.5rem;
    border-radius: 0.625rem;
    gap: 0.625rem;
  }
}
.el_linkBox_hdg {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0.625rem;
  transition: color var(--transDur) var(--transEasing);
  cursor: pointer;
  color: var(--black_txt);
  text-decoration: none;
}
@media (any-hover: hover) {
  .el_linkBox_hdg:hover {
    color: var(--red_txt);
    text-decoration: none;
  }
}
.el_linkBox_hdg::after {
  content: revert !important;
}
.el_linkBox_arrow {
  width: 2.375rem;
  height: 1.75rem;
  background-color: var(--white);
  border-radius: 0.625rem;
  display: inline-block;
  position: relative;
  border: 1px solid var(--white);
  transition: background-color var(--transDur) var(--transEasing), border-color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .el_linkBox_arrow {
    width: 1.875rem;
    height: 1.5rem;
  }
}
.el_linkBox_arrow::after {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  width: 0.9375rem;
  height: 0.5rem;
  background-color: var(--white);
  border-radius: 50%;
  -webkit-mask-image: url("../img/common/icon_arrow_red.svg");
  mask-image: url("../img/common/icon_arrow_red.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: contain;
  mask-size: contain;
  z-index: 1;
  transition: background-color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .el_linkBox_arrow::after {
    width: 0.75rem;
    height: 0.5rem;
  }
}
.el_linkBox_arrow {
  background-color: var(--red_txt);
}
.el_linkBox_arrow::after {
  background-color: var(--white);
}
.el_linkBox_ttl {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 768px) {
  .el_linkBox_ttl {
    font-size: 1.25rem;
    line-height: 1.6;
    letter-spacing: 0.02em;
  }
}
a[target=_blank] > .el_linkBox_ttl::after {
  content: "";
  display: inline-block;
  width: 1.5625rem;
  height: 1.5625rem;
  margin-left: 0.375rem;
  margin-bottom: 0.1875rem;
  vertical-align: middle;
  background-color: var(--red_txt);
  -webkit-mask-image: url("../img/common/icon/icon_blank.svg");
  mask-image: url("../img/common/icon/icon_blank.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
@media screen and (max-width: 768px) {
  a[target=_blank] > .el_linkBox_ttl::after {
    width: 1.25rem;
    height: 1.25rem;
  }
}
.el_linkBox_body {
  display: grid;
  gap: 0.625rem;
}
.el_linkBox_txt {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}
.el_linkBox_link {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.7777777778;
  padding-left: 1.625rem;
  display: inline-block;
  position: relative;
  transition: color var(--transDur) var(--transEasing);
  color: var(--black_txt);
  text-decoration: none;
}
@media (any-hover: hover) {
  .el_linkBox_link:hover {
    color: var(--red_txt);
    text-decoration: none;
  }
}
.el_linkBox_link::before {
  content: "";
  position: absolute;
  inset: 0.5lh auto auto 0;
  translate: 0 -40%;
  width: 0.9375rem;
  height: 0.5rem;
  background-color: var(--red_txt);
  -webkit-mask-image: url("../img/common/icon_arrow_red.svg");
  mask-image: url("../img/common/icon_arrow_red.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.el_linkBox_link[target=_blank]::before {
  -webkit-mask-image: url("../img/common/icon_target_blank.svg");
  mask-image: url("../img/common/icon_target_blank.svg");
  width: 0.9375rem;
  height: 0.9375rem;
}
.el_linkBox_link[href$=".pdf"]::before {
  -webkit-mask-image: url("../img/common/icon/icon_pdf.webp");
  mask-image: url("../img/common/icon/icon_pdf.webp");
  width: 0.9375rem;
  height: 0.9375rem;
}
.el_linkBox_link::after {
  content: revert !important;
}

.el_banner {
  display: block;
}
@media (any-hover: hover) {
  .el_banner:hover img {
    border-color: var(--red_txt);
  }
}
.el_banner img {
  width: 100%;
  border-radius: calc(var(--radius) / 16 * 1rem);
  border: 1px solid var(--white);
  transition: border-color var(--transDur) var(--transEasing);
}
.el_bannerTxt {
  margin-top: 0.5rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .el_bannerTxt {
    font-size: 0.8125rem;
  }
}

.el_pagination_list {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.625rem;
}
.el_pagination_item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 3.75rem;
  padding: 1.0625rem 1.5rem;
  border-radius: 0.625rem;
  background-color: var(--white);
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  color: var(--red_txt);
  text-decoration: none;
  transition: background-color var(--transDur) var(--transEasing), color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .el_pagination_item {
    min-width: 3.125rem;
    padding: 0.75rem 1.125rem;
    font-size: 1.25rem;
  }
}
@media (any-hover: hover) {
  .el_pagination_item:hover {
    background-color: var(--pink_bg);
  }
}
.el_pagination_item.is_current {
  background-color: var(--red_txt);
  color: var(--white);
  pointer-events: none;
}
.el_pagination_next, .el_pagination_prev {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 3.75rem;
  padding: 0.625rem 1.5rem;
  border-radius: 0.625rem;
  background-color: var(--white);
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
  color: var(--red_txt);
  text-decoration: none;
  transition: background-color var(--transDur) var(--transEasing), color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .el_pagination_next, .el_pagination_prev {
    padding: 0.5rem 1.125rem;
    font-size: 1rem;
  }
}
@media (any-hover: hover) {
  .el_pagination_next:hover, .el_pagination_prev:hover {
    background-color: var(--pink_bg);
  }
}

.el_video {
  width: 100%;
  aspect-ratio: 16/9;
}
.el_video iframe {
  width: 100%;
  height: 100%;
}

.el_txt {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .el_txt {
    line-height: 1.5;
    font-size: 1rem;
  }
}

/**
 * Unique
 */
/**
 * Helper
 */
@media screen and (max-width: 768px) {
  .hp_pcOnly {
    display: none !important;
  }
}

@media not all and (max-width: 768px), print {
  .hp_spOnly {
    display: none !important;
  }
}

.hp_srOnly {
  position: absolute !important;
  margin: -1px !important;
  border: 0 !important;
  padding: 0 !important;
  width: 1px !important;
  height: 1px !important;
  clip: rect(0, 0, 0, 0) !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

.hp_trimLeading::before, .hp_trimLeading::after {
  content: "";
  display: block;
}
.hp_trimLeading::before {
  margin-block-end: var(--negLeading);
}
.hp_trimLeading::after {
  margin-block-start: var(--negLeading);
}

.hp_colorRed {
  color: var(--red_txt);
}

.hp_underline {
  text-decoration: underline;
}

/**
 * Page
 */
.pg_about .bgPink {
  position: relative;
}
.pg_about .bgPink::before {
  content: "";
  background-image: url("../img/common/bg_separater_pink.webp");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center bottom;
  position: absolute;
  inset: -7.5rem 0 auto 0;
  width: 100%;
  height: 24.75rem;
}
@media screen and (max-width: 1100px) {
  .pg_about .bgPink::before {
    inset: -7.5rem 0 auto 0;
    height: 17.25rem;
  }
}
@media screen and (max-width: 768px) {
  .pg_about .bgPink::before {
    inset: -5rem 0 auto 0;
    height: 7.5rem;
  }
}
.pg_about .bgPink::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 17.25rem 0 0 0;
  width: 100%;
  height: calc(100% + 11.875rem);
  background-color: var(--pink_bg02);
}
@media screen and (max-width: 1100px) {
  .pg_about .bgPink::after {
    inset: 9.75rem 0 0 0;
  }
}
@media screen and (max-width: 768px) {
  .pg_about .bgPink::after {
    inset: 2.5rem 0 0 0;
  }
}
.pg_about .bgRed {
  position: relative;
}
.pg_about .bgRed::before {
  content: "";
  background-image: url("../img/common/bg_separater_red.webp");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center bottom;
  position: absolute;
  inset: 11.875rem 0 auto 0;
  width: 100%;
  height: 31.3125rem;
}
@media screen and (max-width: 1100px) {
  .pg_about .bgRed::before {
    inset: 11.875rem 0 auto 0;
    height: 17.25rem;
  }
}
@media screen and (max-width: 768px) {
  .pg_about .bgRed::before {
    inset: 9.375rem 0 auto 0;
    height: 9.375rem;
  }
}
.pg_about .bgRed::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 30.625rem 0 0 0;
  width: 100%;
  height: 100%;
  background-color: var(--pink_bg03);
}
@media screen and (max-width: 1100px) {
  .pg_about .bgRed::after {
    inset: 24.375rem 0 0 0;
  }
}
@media screen and (max-width: 768px) {
  .pg_about .bgRed::after {
    inset: 14.375rem 0 0 0;
  }
}
.pg_about .aim {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .pg_about .aim {
    margin-top: 2.5rem;
  }
}
.pg_about .aim .aim_hdgSet {
  text-align: center;
}
.pg_about .aim_txt {
  color: var(--font, #000);
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.05em;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .pg_about .aim_txt {
    margin-top: 1.25rem;
    font-size: 1.125rem;
    line-height: 1.8;
  }
}
.pg_about .aim_txt p {
  display: inline-block;
}
.pg_about .aim_media {
  display: grid;
  grid-template-columns: 430fr 690fr;
  gap: 3.75rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 1100px) {
  .pg_about .aim_media {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 1.875rem;
    margin-top: 1.25rem;
  }
}
.pg_about .aim_mediaImg .bl_img figcaption {
  text-align: center;
}
.pg_about .aim_mediaTxts {
  display: grid;
  gap: 3.125rem;
}
@media screen and (max-width: 768px) {
  .pg_about .aim_mediaTxts {
    gap: 1.875rem;
  }
}
.pg_about .aim_mediaTxt {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .pg_about .aim_mediaTxt {
    font-size: 1.125rem;
    line-height: 1.8;
  }
}
.pg_about .aim_mediaTxt:not(:last-child) {
  position: relative;
}
.pg_about .aim_mediaTxt:not(:last-child)::before {
  content: "";
  background-image: radial-gradient(circle, #bf3727 0.09375rem, transparent 0.1875rem);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 0.5rem 0.25rem;
  position: absolute;
  inset: auto auto -1.5625rem 0;
  translate: 0 50%;
  width: 2.5rem;
  height: 0.25rem;
}
@media screen and (max-width: 768px) {
  .pg_about .aim_mediaTxt:not(:last-child)::before {
    inset: auto auto -0.9375rem 0;
  }
}
.pg_about .aim_mediaTxtRed {
  display: inline-block;
  color: var(--red_txt);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .pg_about .aim_mediaTxtRed {
    font-size: 1.25rem;
    line-height: 1.6;
  }
}
.pg_about .copy {
  margin-top: 2.5rem;
}
.pg_about .copy_label {
  margin-top: 3.125rem;
  background-color: var(--white);
  padding: 3.5rem;
  border-radius: calc(var(--radius) / 16 * 1rem);
  max-width: 60rem;
  margin-inline: auto;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .pg_about .copy_label {
    margin-top: 1.875rem;
    padding: 1.875rem 1.25rem;
  }
}
.pg_about .copy_media {
  display: grid;
  grid-template-columns: 630fr 510fr;
  gap: 3.75rem;
  margin-top: 3.125rem;
}
@media screen and (max-width: 1100px) {
  .pg_about .copy_media {
    grid-template-columns: 1fr;
    grid-template-areas: "image" "text";
    justify-items: center;
    gap: 1.875rem;
    margin-top: 1.875rem;
  }
}
@media screen and (max-width: 1100px) {
  .pg_about .copy_mediaImg {
    grid-area: image;
  }
}
@media screen and (max-width: 1100px) {
  .pg_about .copy_mediaTxt {
    grid-area: text;
  }
}
.pg_about .activity {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .pg_about .activity {
    margin-top: 2.5rem;
  }
}
.pg_about .activity_hdg {
  display: grid;
  grid-template-columns: auto auto;
  gap: 1.25rem;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .pg_about .activity_hdg {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
}
.pg_about .activity_hdgTxt {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.8;
  text-align: right;
}
.pg_about .activity_hdg .el_hdgLg {
  margin-bottom: 0;
}
.pg_about .activity_list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(20.625rem, 1fr));
  gap: 2.625rem;
  margin-top: 2.5rem;
  padding-bottom: 6.875rem;
  border-bottom: 0.0625rem solid var(--gray_border);
}
@media screen and (max-width: 768px) {
  .pg_about .activity_list {
    gap: 1.25rem;
    margin-top: 1.875rem;
    padding-bottom: 3.75rem;
  }
}
.pg_about .activity_item {
  display: grid;
  justify-items: center;
  grid-template-rows: subgrid;
  gap: 0;
  grid-row: span 3;
  background-color: var(--white);
  padding: 2.375rem 1.25rem 3.5625rem;
  border-radius: calc(var(--radius) / 16 * 1rem);
}
@media screen and (max-width: 768px) {
  .pg_about .activity_item {
    padding: 1.25rem 0.75rem;
  }
}
.pg_about .activity_itemTtl {
  text-align: center;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  place-content: center;
}
@media screen and (max-width: 768px) {
  .pg_about .activity_itemTtl {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}
.pg_about .activity_itemImg {
  margin-top: 1.625rem;
}
.pg_about .activity_itemNum {
  display: flex;
  justify-content: center;
  align-items: baseline;
  text-align: center;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  .pg_about .activity_itemNum {
    font-size: 1.5rem;
    line-height: 1.1666666667;
  }
}
.pg_about .activity_itemNumLg {
  color: var(--red_txt);
  font-size: 5.4375rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  margin-right: 0.4375rem;
}
@media screen and (max-width: 768px) {
  .pg_about .activity_itemNumLg {
    font-size: 4rem;
  }
}
.pg_about .related {
  margin-top: 3.125rem;
}
@media screen and (max-width: 1100px) {
  .pg_about .related {
    padding-bottom: 3.75rem;
  }
}
@media screen and (max-width: 768px) {
  .pg_about .related {
    margin-top: 1.875rem;
  }
}
.pg_about .related_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 3.75rem;
}

.pg_category {
  padding-bottom: 2.375rem;
}
@media screen and (max-width: 768px) {
  .pg_category {
    padding-bottom: 1.75rem;
  }
}
.pg_category .index {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .pg_category .index {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .pg_category .index .bl_anchorSet__4col {
    grid-template-columns: repeat(auto-fill, minmax(min(17.5rem, 100%), 1fr));
  }
}
.pg_category .index_list {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .pg_category .index_list {
    margin-top: 2.5rem;
  }
}
.pg_category .index_listItem {
  padding-block: 3.75rem;
  border-top: 1px solid var(--pink_border);
}
@media screen and (max-width: 768px) {
  .pg_category .index_listItem {
    padding-block: 2.5rem;
  }
}
.pg_category .index_listItem:last-child {
  padding-bottom: 0;
}
@media screen and (max-width: 768px) {
  .pg_category .index_listItem:last-child {
    padding-bottom: 0;
  }
}
@media not all and (max-width: 768px), print {
  .pg_category .index_listItem:nth-child(odd) .bl_imgAndBody_img {
    order: 1;
  }
}
.pg_category .index .bl_imgAndBody_list .el_link[href$=".pdf"] .el_linkArrow {
  background-image: url(../img/common/icon/icon_pdf.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 2rem;
  height: 1.5rem;
  background-color: transparent;
  border-radius: 0;
  border: none;
}
@media screen and (max-width: 768px) {
  .pg_category .index .bl_imgAndBody_list .el_link[href$=".pdf"] .el_linkArrow {
    width: 1.75rem;
    height: 1.25rem;
  }
}
.pg_category .index .bl_imgAndBody_list .el_link[href$=".pdf"] .el_linkArrow::after {
  display: none;
}
.pg_category .index .bl_imgAndBody_list .el_link[href$=".pdf"]::after {
  display: none;
}
.pg_category .linkBox {
  margin-block: 3.75rem;
}
@media screen and (max-width: 768px) {
  .pg_category .linkBox {
    margin-block: 2.5rem;
  }
}

.pg_categoryDetail .related {
  margin-top: 5rem;
  margin-bottom: 3.75rem;
  border-top: 1px solid var(--pink_border);
  padding-top: 3.25rem;
}
@media screen and (max-width: 768px) {
  .pg_categoryDetail .related {
    margin-top: 3.125rem;
    margin-bottom: 2.5rem;
    padding-top: 1.875rem;
  }
}
.pg_categoryDetail .related .bl_hdgSet {
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 768px) {
  .pg_categoryDetail .related .bl_hdgSet {
    margin-bottom: 1.25rem;
  }
}

.pg_home .kv {
  position: relative;
  z-index: 0;
}
.pg_home .kv_inner {
  display: grid;
  grid-template-columns: 1fr 20.625rem;
  align-items: center;
  gap: 1.875rem;
  max-width: 91.25rem;
  margin-inline: auto;
  padding-inline: 1.875rem;
}
@media screen and (max-width: 1100px) {
  .pg_home .kv_inner {
    grid-template-columns: 1fr;
    gap: 0.9375rem;
    padding-inline: 1.5625rem;
  }
}
.pg_home .kv_btns {
  height: 100%;
  display: grid;
  gap: 10px;
}
.pg_home .kv_btns .el_btn {
  max-width: 100%;
}
@media screen and (max-width: 1100px) {
  .pg_home .kv_btns {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.375rem;
  }
}
.pg_home .kv_bg {
  position: absolute;
  inset: auto auto -20.8125rem calc(50% - 74.625rem);
  z-index: -1;
  width: 49.5625rem;
}
@media screen and (max-width: 768px) {
  .pg_home .kv_bg {
    width: 62.4vw;
    inset: 50% auto auto -26.6666666667vw;
  }
}
.pg_home .about {
  padding-top: 6rem;
  position: relative;
  z-index: 0;
  overflow-x: clip;
}
@media screen and (max-width: 768px) {
  .pg_home .about {
    padding-top: 1.875rem;
  }
}
.pg_home .about_inner {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 3.75rem;
  max-width: var(--contMaxW);
  margin: 0 auto;
  padding: 0 var(--contPadding_hor);
}
@media screen and (max-width: 768px) {
  .pg_home .about_inner {
    grid-template-columns: 1fr;
    grid-template-areas: "heading" "image" "text" "link";
    gap: 0;
    padding: 0 var(--contPadding_hor_sp);
  }
}
@media screen and (max-width: 768px) {
  .pg_home .about_content {
    display: contents;
  }
}
@media screen and (max-width: 768px) {
  .pg_home .about_ttl {
    grid-area: heading;
  }
}
.pg_home .about_txt {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin-top: 1.375rem;
}
@media screen and (max-width: 768px) {
  .pg_home .about_txt {
    grid-area: text;
    margin-top: 1.25rem;
    font-size: 1rem;
  }
}
.pg_home .about_link {
  max-width: 12.125rem;
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .pg_home .about_link {
    grid-area: link;
    margin-inline: auto;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .pg_home .about_image {
    grid-area: image;
    margin-top: 1.25rem;
  }
}
.pg_home .about_btns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem 3.75rem;
  margin-top: 3.75rem;
  margin-inline: auto;
  max-width: 78.75rem;
  padding: 0 1.875rem;
}
@media screen and (max-width: 1100px) {
  .pg_home .about_btns {
    gap: 0.5rem 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .pg_home .about_btns {
    grid-template-columns: 1fr;
    margin-top: 1.875rem;
    padding: 0 1.5625rem;
    width: 100%;
    max-width: 21.5625rem;
  }
}
.pg_home .about_btn {
  position: relative;
}
.pg_home .about_btn::after {
  content: "";
  position: absolute;
  inset: 50% -1.875rem auto auto;
  width: 0.125rem;
  height: 5rem;
  background-color: var(--pink_border);
  translate: 0 -50%;
}
@media screen and (max-width: 1100px) {
  .pg_home .about_btn::after {
    content: none;
  }
}
.pg_home .about_btn > .el_btn {
  max-width: 100%;
}
.pg_home .about_btn:last-child::after {
  display: none;
}
.pg_home .about_illust {
  position: absolute;
  inset: auto auto 11.375rem calc(50% + 33.3125rem);
  z-index: -1;
  width: 11.875rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .pg_home .about_illust {
    width: 35.2vw;
    inset: auto -0.9375rem 0 auto;
    translate: 0 50%;
  }
  .pg_home .about_illust img {
    width: 100%;
  }
}
.pg_home .news {
  margin-top: 6.25rem;
  position: relative;
  z-index: 0;
  overflow-x: clip;
}
@media screen and (max-width: 768px) {
  .pg_home .news {
    margin-top: 2.5rem;
  }
}
.pg_home .news_inner {
  max-width: var(--contMaxW);
  margin: 0 auto;
  padding: 0 var(--contPadding_hor);
}
@media screen and (max-width: 768px) {
  .pg_home .news_inner {
    padding: 0 var(--contPadding_hor_sp);
  }
}
.pg_home .news_ttl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-align: center;
  position: absolute;
}
.pg_home .news_ttl[clelid] {
  translate: 0 -100%;
}
@media screen and (max-width: 768px) {
  .pg_home .news_ttl[clelid] {
    translate: 0 0;
  }
}
@media screen and (max-width: 768px) {
  .pg_home .news_ttl {
    position: relative;
    font-size: 1.625rem;
    text-align: left;
  }
}
.pg_home .news_list {
  padding-top: 0.125rem;
}
.pg_home .news_link {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1.25rem;
  align-items: center;
  padding: 1rem 0;
  border-bottom: 1px solid var(--pink_border);
  transition: background-color var(--transDur) var(--transEasing);
  position: relative;
  grid-template-areas: "meta arrow" "txt arrow";
}
@media screen and (max-width: 768px) {
  .pg_home .news_link {
    gap: 0 1.0625rem;
  }
}
@media (any-hover: hover) {
  .pg_home .news_link:hover .news_txt {
    color: var(--red_txt);
  }
  .pg_home .news_link:hover .news_arrow {
    background-color: var(--white);
  }
  .pg_home .news_link:hover .news_arrow::after {
    background-color: var(--red_txt);
  }
}
.pg_home .news_meta {
  grid-area: meta;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .pg_home .news_meta {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas: "date icon" "tags tags";
    align-items: center;
  }
}
.pg_home .news_date {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  .pg_home .news_date {
    grid-area: date;
    font-size: 1.125rem;
  }
}
.pg_home .news_tags {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-left: 1.25rem;
}
@media screen and (max-width: 768px) {
  .pg_home .news_tags {
    grid-area: tags;
    margin-left: 0;
    margin-top: 0.25rem;
  }
}
.pg_home .news_icon {
  margin-left: 0.75rem;
  width: 1.25rem;
  display: grid;
  place-items: center;
}
@media screen and (max-width: 768px) {
  .pg_home .news_icon {
    grid-area: icon;
    width: 1rem;
    margin-left: 0.75rem;
  }
}
.pg_home .news_txt {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
  transition: color var(--transDur) var(--transEasing);
  margin-right: 1.4375rem;
  grid-area: txt;
}
@media screen and (max-width: 768px) {
  .pg_home .news_txt {
    font-size: 1rem;
    margin-right: 0;
    margin-top: 0.375rem;
  }
}
.pg_home .news_arrow {
  width: 2.375rem;
  height: 1.75rem;
  background-color: var(--white);
  border-radius: 0.625rem;
  display: inline-block;
  position: relative;
  border: 1px solid var(--white);
  transition: background-color var(--transDur) var(--transEasing), border-color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .pg_home .news_arrow {
    width: 1.875rem;
    height: 1.5rem;
  }
}
.pg_home .news_arrow::after {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  width: 0.9375rem;
  height: 0.5rem;
  background-color: var(--white);
  border-radius: 50%;
  -webkit-mask-image: url("../img/common/icon_arrow_red.svg");
  mask-image: url("../img/common/icon_arrow_red.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: contain;
  mask-size: contain;
  z-index: 1;
  transition: background-color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .pg_home .news_arrow::after {
    width: 0.75rem;
    height: 0.5rem;
  }
}
.pg_home .news_arrow {
  grid-area: arrow;
  background-color: var(--red_txt);
}
.pg_home .news_arrow::after {
  background-color: var(--white);
}
@media screen and (max-width: 768px) {
  .pg_home .news_arrow {
    width: 2.375rem;
    height: 1.75rem;
  }
  .pg_home .news_arrow::after {
    width: 0.875rem;
    height: 0.5rem;
  }
}
.pg_home .news_btns {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(20rem, 100%), 1fr));
  margin-inline: auto;
  max-width: 41.25rem;
  gap: 0.625rem 1.25rem;
  justify-content: center;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .pg_home .news_btns {
    max-width: 18.4375rem;
    margin-top: 1.25rem;
  }
}
.pg_home .news_btn {
  width: 100%;
}
.pg_home .news_illust {
  position: absolute;
  inset: 12.8125rem auto auto calc(50% + 41.125rem);
  z-index: -1;
  width: 5.875rem;
}
.pg_home .news_bg {
  position: absolute;
  inset: auto auto 15.75rem calc(50% + 18.6875rem);
  translate: 0 100%;
  z-index: -1;
  width: 91.1875rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .pg_home .news_bg {
    inset: auto 75.9124087591% -1.25rem auto;
    width: 172.8vw;
    translate: 100% 100%;
  }
  .pg_home .news_bg img {
    width: 100%;
  }
}
.pg_home .business {
  background-color: #fedad3;
  margin-top: 15.0625rem;
  z-index: 0;
  position: relative;
  overflow-x: clip;
}
@media screen and (max-width: 768px) {
  .pg_home .business {
    margin-top: 9.5625rem;
  }
}
.pg_home .business::after {
  content: "";
  position: absolute;
  inset: auto 0 -34.375rem 0;
  height: 34.375rem;
  width: 100%;
  z-index: -2;
  background-color: #fedad3;
}
.pg_home .business_bg {
  position: absolute;
  background-image: url("../img/top/bg_business01.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  aspect-ratio: 3200/1363;
  inset: -9.75rem 0 auto 0;
  z-index: -1;
  width: 100%;
  height: 42.5625vw;
}
@media screen and (max-width: 768px) {
  .pg_home .business_bg {
    background-size: 200% 100%;
    background-position: left 60% top;
    height: 80vw;
    inset: -4.8125rem 0 auto 0;
  }
}
.pg_home .business_illust01 {
  position: absolute;
  inset: -2.8125rem auto auto calc(50% - 42.625rem);
  translate: 0 -100%;
  z-index: -1;
  width: 15.75rem;
}
@media screen and (max-width: 1265px) {
  .pg_home .business_illust01 {
    width: 11.25rem;
    inset: -2.1875rem auto auto 0rem;
  }
}
@media screen and (max-width: 768px) {
  .pg_home .business_illust01 {
    width: 6.8125rem;
    inset: 0 auto auto 0;
  }
}
.pg_home .business_illust02 {
  position: absolute;
  inset: -2.8125rem auto auto calc(50% + 18.125rem);
  translate: 0 -100%;
  z-index: -1;
  width: 20.125rem;
}
@media screen and (max-width: 1265px) {
  .pg_home .business_illust02 {
    width: 15.625rem;
    inset: -2.8125rem 1.25rem auto auto;
  }
}
@media screen and (max-width: 768px) {
  .pg_home .business_illust02 {
    width: 9.8125rem;
    inset: -1.25rem 1.125rem auto auto;
  }
}
.pg_home .business_inner {
  max-width: var(--contMaxW);
  margin: 0 auto;
  padding: 0 var(--contPadding_hor);
}
@media screen and (max-width: 768px) {
  .pg_home .business_inner {
    padding: 0 var(--contPadding_hor_sp);
  }
}
.pg_home .business_hdg {
  text-align: center;
}
.pg_home .business_section {
  margin-top: 3.125rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .pg_home .business_section {
    margin-top: 1.25rem;
  }
}
.pg_home .business_section + .business_section {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .pg_home .business_section + .business_section {
    margin-top: 2.5rem;
  }
}
.pg_home .business_sectionIcon {
  position: absolute;
}
.pg_home .business_sectionIcon__flower {
  width: 5.6875rem;
  inset: 5.125rem -1.25rem auto auto;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .pg_home .business_sectionIcon__flower {
    width: 1.875rem;
    inset: 10rem 0 auto auto;
  }
}
.pg_home .business_sectionIcon__bird {
  width: 4.25rem;
  inset: 6.9375rem auto auto -3.125rem;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .pg_home .business_sectionIcon__bird {
    display: none;
  }
}
.pg_home .business_subTtl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .pg_home .business_subTtl {
    font-size: 1.625rem;
  }
}
.pg_home .business_txt {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 2;
  text-align: center;
  margin-top: 1.25rem;
  padding-inline: 6.25rem;
}
@media screen and (max-width: 768px) {
  .pg_home .business_txt {
    font-size: 1rem;
    margin-top: 0.625rem;
    padding-inline: 0;
    line-height: 1.6;
  }
}
.pg_home .business_cards {
  display: flex;
  flex-wrap: wrap;
  gap: 1.625rem;
  margin-top: 2.5rem;
  grid-template-columns: repeat(auto-fill, minmax(min(17.5rem, 100%), 17.5rem));
  justify-content: center;
}
.pg_home .business_cards > * {
  flex: 0 1 17.5rem;
}
@media screen and (max-width: 768px) {
  .pg_home .business_cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.375rem;
  }
  .pg_home .business_cards > * {
    flex: unset;
  }
}
.pg_home .business_illust03 {
  position: absolute;
  inset: auto auto -1.875rem 0;
  z-index: -1;
  width: 19rem;
}
@media screen and (max-width: 1200px) {
  .pg_home .business_illust03 {
    width: 12.75rem;
  }
}
@media screen and (max-width: 768px) {
  .pg_home .business_illust03 {
    display: none;
  }
}
.pg_home .pickup {
  padding-top: 9.5625rem;
  position: relative;
  z-index: 1;
  padding-inline: 1.875rem;
}
@media screen and (max-width: 768px) {
  .pg_home .pickup {
    padding-inline: 1.5625rem;
  }
}
.pg_home .pickup::after {
  inset: 33.75rem 0 0 0;
  content: "";
  position: absolute;
  z-index: -2;
  background-image: url("../img/top/bg_pink.webp");
}
@media screen and (max-width: 768px) {
  .pg_home .pickup::after {
    inset: 18.125rem 0 0 0;
    background-image: url("../img/top/bg_pink.webp");
  }
}
.pg_home .pickup_bg {
  width: 100%;
  display: block;
  z-index: -1;
  position: absolute;
  inset: 0 0 auto 0;
}
@media screen and (max-width: 768px) {
  .pg_home .pickup_bg {
    inset: 0 0 auto 0;
  }
}
.pg_home .pickup_bg img {
  width: 100%;
  height: 34.375rem;
}
@media screen and (max-width: 768px) {
  .pg_home .pickup_bg img {
    height: 18.125rem;
  }
}
.pg_home .pickup_bg02 {
  position: absolute;
  inset: auto 0 -21.875rem 0;
  z-index: -1;
  height: 29.6875rem;
  background-image: url("../img/top/bg_info01.webp");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (max-width: 768px) {
  .pg_home .pickup_bg02 {
    display: none;
  }
}
.pg_home .pickup_inner {
  max-width: 75rem;
  margin: 0 auto;
  position: relative;
}
.pg_home .pickup_illust01 {
  position: absolute;
  inset: -7.5rem auto auto 0.875rem;
  z-index: 1;
  width: 6rem;
}
@media screen and (max-width: 768px) {
  .pg_home .pickup_illust01 {
    width: 4.0625rem;
    inset: -5rem auto auto 0.875rem;
  }
}
.pg_home .pickup_illust02 {
  position: absolute;
  inset: -5rem 0.875rem auto auto;
  z-index: -1;
  width: 22.6875rem;
}
@media screen and (max-width: 768px) {
  .pg_home .pickup_illust02 {
    width: 11.375rem;
    inset: -2.5rem 0.875rem auto auto;
  }
}
.pg_home .pickup_illust03 {
  display: none;
}
@media screen and (max-width: 768px) {
  .pg_home .pickup_illust03 {
    display: block;
    position: absolute;
    inset: -6rem 0 auto auto;
    z-index: -1;
    width: 3.125rem;
  }
}
.pg_home .pickup_content {
  padding: 2.5rem 5rem;
  background-color: var(--white);
  border-radius: calc(var(--radius) / 16 * 1rem);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .pg_home .pickup_content {
    padding: 1.875rem 1.5625rem;
  }
}
.pg_home .pickup_header {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.875rem;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .pg_home .pickup_header {
    gap: 0.9375rem;
    grid-template-columns: 1fr;
  }
}
.pg_home .pickup_ttl {
  font-size: 2.875rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.06em;
  color: var(--red_txt);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .pg_home .pickup_ttl {
    font-size: 2rem;
    text-align: left;
  }
}
.pg_home .pickup_txt {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .pg_home .pickup_txt {
    font-size: 1rem;
    line-height: 1.6;
  }
}
.pg_home .pickup_cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(20rem, 100%), 1fr));
  gap: 2.5rem;
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .pg_home .pickup_cards {
    gap: 1.25rem;
    margin-top: 1.25rem;
  }
}
.pg_home .pickup_card {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
}
.pg_home .pickup_cardLink {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  position: relative;
  transition: transform var(--transDur) var(--transEasing);
}
@media (any-hover: hover) {
  .pg_home .pickup_cardLink:hover .pickup_cardTtl {
    color: var(--red_txt);
  }
  .pg_home .pickup_cardLink:hover .pickup_cardArrow {
    background-color: var(--red_txt);
  }
  .pg_home .pickup_cardLink:hover .pickup_cardArrow::after {
    background-color: var(--white);
  }
}
.pg_home .pickup_cardImage {
  width: 100%;
  aspect-ratio: 320/213;
  border-radius: calc(var(--radius) / 16 * 1rem);
  overflow: hidden;
}
.pg_home .pickup_cardTtl {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.3333333333;
  margin-top: 1rem;
  transition: color var(--transDur) var(--transEasing);
  position: relative;
  padding-right: 2.75rem;
}
@media screen and (max-width: 768px) {
  .pg_home .pickup_cardTtl {
    font-size: 1rem;
    line-height: 2;
    margin-top: 0.375rem;
    padding-right: rm(38);
  }
}
.pg_home .pickup_cardArrow {
  width: 2.375rem;
  height: 1.75rem;
  background-color: var(--white);
  border-radius: 0.625rem;
  display: inline-block;
  position: relative;
  border: 1px solid var(--white);
  transition: background-color var(--transDur) var(--transEasing), border-color var(--transDur) var(--transEasing);
  position: absolute;
  inset: 50% 0 auto auto;
  translate: 0 -50%;
}
@media screen and (max-width: 768px) {
  .pg_home .pickup_cardArrow {
    width: 1.875rem;
    height: 1.5rem;
  }
}
.pg_home .pickup_cardArrow::after {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  width: 0.9375rem;
  height: 0.5rem;
  background-color: var(--white);
  border-radius: 50%;
  -webkit-mask-image: url("../img/common/icon_arrow_red.svg");
  mask-image: url("../img/common/icon_arrow_red.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: contain;
  mask-size: contain;
  z-index: 1;
  transition: background-color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .pg_home .pickup_cardArrow::after {
    width: 0.75rem;
    height: 0.5rem;
  }
}
.pg_home .pickup_cardArrow {
  background-color: var(--gray_bg);
}
.pg_home .pickup_cardArrow::after {
  background-color: var(--black_txt);
}
.pg_home .info_bg {
  background-image: url("../img/top/bg_pink.webp");
  position: relative;
  overflow-x: clip;
}
.pg_home .info {
  padding: 1.875rem 1.875rem 0;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .pg_home .info {
    padding: 1.25rem 1.5625rem 0;
  }
}
.pg_home .info:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
}
.pg_home .info_img_door {
  position: absolute;
  inset: -12.5rem auto auto calc(50% + 45.5625rem);
  z-index: 0;
  max-width: 4.4375rem;
  width: 100%;
}
.pg_home .info_img_person {
  position: absolute;
  inset: 1.4375rem -4.375rem auto auto;
  z-index: 0;
  max-width: 7.9375rem;
}
@media screen and (max-width: 768px) {
  .pg_home .info_img_person {
    display: none;
  }
}
.pg_home .info_inner {
  max-width: 75rem;
  margin: 0 auto;
  position: relative;
}
.pg_home .info_content {
  padding: 2.5rem 5rem;
  background-color: var(--white);
  border-radius: calc(var(--radius) / 16 * 1rem);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .pg_home .info_content {
    padding: 1.875rem 1.5625rem;
  }
}
.pg_home .info_header {
  display: grid;
  grid-template-columns: auto 1fr 12.125rem;
  gap: 1.875rem;
  align-items: center;
}
@media screen and (max-width: 1100px) {
  .pg_home .info_header {
    grid-template-columns: auto 1fr;
  }
}
@media screen and (max-width: 768px) {
  .pg_home .info_header {
    grid-template-columns: 1fr;
    gap: 0.9375rem;
  }
  .pg_home .info_header > .el_btn {
    max-width: 12.125rem;
  }
}
.pg_home .info_header .el_btn {
  height: -moz-fit-content;
  height: fit-content;
}
.pg_home .info_ttl {
  font-size: 2.75rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: var(--red_txt);
}
@media screen and (max-width: 768px) {
  .pg_home .info_ttl {
    font-size: 1.625rem;
    text-align: left;
  }
}
.pg_home .info_txt {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1;
  margin-top: 0.25rem;
}
@media screen and (max-width: 768px) {
  .pg_home .info_txt {
    font-size: 1rem;
    line-height: 1.6;
  }
}
.pg_home .info_cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(20rem, 100%), 1fr));
  gap: 1.25rem 2.5rem;
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .pg_home .info_cards {
    gap: 0.625rem;
    margin-top: 1rem;
  }
}
.pg_home .info_cards .el_btn {
  max-width: 100%;
}
.pg_home .bl_account {
  margin-top: -6.25rem;
}
@media screen and (max-width: 768px) {
  .pg_home .bl_account {
    margin-top: 0;
  }
}

.pg_katsudoshokai .pickup {
  display: grid;
  align-items: center;
  border-radius: calc(var(--radius) / 16 * 1rem);
  background: var(--white);
  grid-template-columns: 480fr 500fr;
  padding: 3.125rem 5rem;
  gap: 3.75rem;
  position: relative;
  margin-bottom: 4.375rem;
}
@media screen and (max-width: 1100px) {
  .pg_katsudoshokai .pickup {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .pg_katsudoshokai .pickup {
    padding: 1.875rem 1.5625rem;
    gap: 1.25rem;
  }
}
.pg_katsudoshokai .pickup::before {
  content: "";
  background-image: url("../img/katsudoshokai/icon_pickup.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 10.125rem;
  height: 8.25rem;
  position: absolute;
  inset: -2.125rem auto auto 1.5rem;
}
@media screen and (max-width: 768px) {
  .pg_katsudoshokai .pickup::before {
    inset: -1.25rem auto auto 0.625rem;
    width: 6.25rem;
    height: 5rem;
  }
}
.pg_katsudoshokai .pickup_img {
  border-radius: calc(var(--radius) / 16 * 1rem);
  overflow: hidden;
  aspect-ratio: 480/320;
}
.pg_katsudoshokai .pickup_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.pg_katsudoshokai .pickup_meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.pg_katsudoshokai .pickup_metaTags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem 0.25rem;
}
.pg_katsudoshokai .pickup_date {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
.pg_katsudoshokai .pickup_hdg {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .pg_katsudoshokai .pickup_hdg {
    font-size: 1.25rem;
  }
}
.pg_katsudoshokai .pickup_txt {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.8;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  .pg_katsudoshokai .pickup_txt {
    font-size: 1rem;
  }
}
.pg_katsudoshokai .pickup_txt a {
  color: var(--red_txt);
  text-decoration: underline;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-thickness: 0.5px;
  text-underline-position: from-font;
}
@media (any-hover: hover) {
  .pg_katsudoshokai .pickup_txt a:hover {
    text-decoration: none;
  }
}
.pg_katsudoshokai .pickup_txt a::after {
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  position: relative;
  inset: 0.3125rem auto auto auto;
  margin-inline: 0.375rem;
}
.pg_katsudoshokai .pickup_txt a[target=_blank]::after {
  content: "";
  width: 0.9375rem;
  aspect-ratio: 1;
  background-image: url(../img/common/icon/icon_blank.svg);
  inset: 0.125rem auto auto auto;
}
.pg_katsudoshokai .pickup_txt a[href$=".pdf"]::after {
  content: "";
  width: 1.25rem;
  aspect-ratio: 1;
  background-image: url(../img/common/icon/icon_pdf.webp);
}
.pg_katsudoshokai .pickup_txt a[href*=".doc"]::after {
  content: "";
  width: 1.25rem;
  aspect-ratio: 1;
  background-image: url(../img/common/icon/icon_doc.svg);
}
.pg_katsudoshokai .pickup_txt a[href*=".xls"]::after {
  content: "";
  width: 1.25rem;
  aspect-ratio: 1;
  background-image: url(../img/common/icon/icon_xls.svg);
}
.pg_katsudoshokai .pickup_txt a[href*=".ppt"]::after {
  content: "";
  width: 1.25rem;
  aspect-ratio: 1;
  background-image: url(../img/common/icon/icon_ppt.svg);
}
.pg_katsudoshokai .pickup_txt a[href$=".zip"]::after {
  content: "";
  width: 1.25rem;
  aspect-ratio: 1;
  background-image: url(../img/common/icon/icon_file.svg);
}
@media (any-hover: hover) {
  .pg_katsudoshokai .pickup_txt a:hover {
    text-decoration: none;
  }
}
.pg_katsudoshokai .pickup_btn {
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .pg_katsudoshokai .pickup_btn {
    margin-top: 1.25rem;
    margin-inline: auto;
  }
}
.pg_katsudoshokai .list {
  position: relative;
}
.pg_katsudoshokai .list::before {
  content: "";
  background-image: url("../img/common/bg_separater_pink.webp");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center bottom;
  position: absolute;
  inset: -7.5rem 0 auto 0;
  width: 100%;
  height: 24.75rem;
}
@media screen and (max-width: 1100px) {
  .pg_katsudoshokai .list::before {
    inset: -7.5rem 0 auto 0;
    height: 17.25rem;
  }
}
@media screen and (max-width: 768px) {
  .pg_katsudoshokai .list::before {
    inset: -5rem 0 auto 0;
    height: 7.5rem;
  }
}
.pg_katsudoshokai .list::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 17.25rem 0 0 0;
  width: 100%;
  height: 100%;
  background-color: var(--pink_bg02);
}
@media screen and (max-width: 1100px) {
  .pg_katsudoshokai .list::after {
    inset: 9.75rem 0 0 0;
  }
}
@media screen and (max-width: 768px) {
  .pg_katsudoshokai .list::after {
    inset: 2.5rem 0 0 0;
  }
}
.pg_katsudoshokai .bl_boxSet {
  margin-top: 1.875rem;
}
.pg_katsudoshokai .pagination {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .pg_katsudoshokai .pagination {
    margin-top: 2.5rem;
  }
}

.pg_news .newsList {
  margin-top: 0.625rem;
}
.pg_news .pagination {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .pg_news .pagination {
    margin-top: 2.5rem;
  }
}

.pg_map {
  background: var(--white);
}
.pg_map .map {
  position: relative;
}
.pg_map .map_inner {
  position: relative;
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
@media (min-width: 1921px) {
  .pg_map .map_inner {
    max-width: none;
  }
}
.pg_map .map_image {
  position: relative;
  display: block;
  width: 100%;
  height: clamp(735 / 1920 * 100vw, 735px, 735 / 1600 * 100vw);
}
@media (min-width: 1600px) and (max-width: 1920px) {
  .pg_map .map_image {
    padding-top: 0;
    height: 735px;
  }
}
@media screen and (max-width: 768px) {
  .pg_map .map_image {
    height: 62.1333333333vw;
  }
}
.pg_map .map_bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
@media screen and (max-width: 768px) {
  .pg_map .map_bg {
    -o-object-position: top center;
    object-position: top center;
  }
}
.pg_map .map_btns {
  position: absolute;
  inset: 0 auto auto 50%;
  translate: -50% 0;
  width: 100%;
  height: 100%;
  max-width: 1600px;
}
@media (min-width: 1921px) {
  .pg_map .map_btns {
    max-width: 83.3333333333%;
  }
}
@media screen and (max-width: 768px) {
  .pg_map .map_btns {
    position: relative;
    inset: unset;
    translate: 0 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(16.25rem, 100%), 1fr));
    gap: 0.625rem;
    padding: 0 1.25rem 3.4375rem;
    margin-top: -1.25rem;
  }
  .pg_map .map_btns::after {
    content: "";
    position: absolute;
    inset: 1.25rem auto auto 50%;
    translate: -50% 0;
    width: 100%;
    height: 100%;
    background-color: var(--green_bg);
    z-index: -1;
  }
}
.pg_map .map_btn {
  --btn-color: var(--red_txt);
  --icon-bg-color: var(--pink_bg);
  position: absolute;
  display: flex;
  align-items: center;
  gap: clamp(8 / 1920 * 100vw, 8px, 8 / 1600 * 100vw);
  padding: clamp(18 / 1920 * 100vw, 18px, 18 / 1600 * 100vw) clamp(18 / 1920 * 100vw, 18px, 18 / 1600 * 100vw) clamp(18 / 1920 * 100vw, 18px, 18 / 1600 * 100vw) clamp(24 / 1920 * 100vw, 24px, 24 / 1600 * 100vw);
  background-color: var(--white);
  border: clamp(2 / 1920 * 100vw, 2px, 2 / 1600 * 100vw) solid var(--btn-color);
  border-radius: clamp(15 / 1920 * 100vw, 15px, 15 / 1600 * 100vw);
  cursor: pointer;
  transition: transform var(--transDur) var(--transEasing), box-shadow var(--transDur) var(--transEasing);
  z-index: 1;
  box-shadow: 0 clamp(4 / 1920 * 100vw, 4px, 4 / 1600 * 100vw) clamp(8 / 1920 * 100vw, 8px, 8 / 1600 * 100vw) rgba(0, 0, 0, 0.1);
  max-width: clamp(324 / 1920 * 100vw, 324px, 324 / 1600 * 100vw);
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .pg_map .map_btn {
    position: relative;
    inset: unset !important;
    translate: 0 0;
    border-radius: calc(var(--radius) / 16 * 1rem);
    padding: 1.125rem 3.375rem 1.125rem 1.25rem;
    border-width: 0.125rem;
    gap: 0.5rem;
    max-width: 100%;
    width: 100%;
  }
  .pg_map .map_btn:has(.map_btnLabel) {
    padding: 2.0625rem 3.375rem 0.75rem 1.25rem;
  }
}
.pg_map .map_btn::after {
  content: "";
  position: absolute;
  inset: auto auto 0 50%;
  translate: -50% 85%;
  font-size: clamp(16 / 1920 * 100vw, 16px, 16 / 1600 * 100vw);
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  gap: clamp(4 / 1920 * 100vw, 4px, 4 / 1600 * 100vw);
  margin-top: clamp(20 / 1920 * 100vw, 20px, 20 / 1600 * 100vw);
  z-index: -1;
  width: clamp(26 / 1920 * 100vw, 26px, 26 / 1600 * 100vw);
  height: clamp(22 / 1920 * 100vw, 22px, 22 / 1600 * 100vw);
  background-image: url("../img/map/img_btn_arrow_red.webp");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .pg_map .map_btn::after {
    display: none;
  }
}
.pg_map .map_btn__brown {
  --btn-color: #673d01;
  --icon-bg-color: rgba(103, 61, 1, 0.15);
}
.pg_map .map_btn__brown::after {
  background-image: url("../img/map/img_btn_arrow_brown.webp");
}
.pg_map .map_btnLabel {
  display: inline-block;
  padding: clamp(4 / 1920 * 100vw, 4px, 4 / 1600 * 100vw) clamp(12 / 1920 * 100vw, 12px, 12 / 1600 * 100vw) clamp(5 / 1920 * 100vw, 5px, 5 / 1600 * 100vw) clamp(12 / 1920 * 100vw, 12px, 12 / 1600 * 100vw);
  background-color: var(--red_txt);
  color: var(--white);
  font-size: clamp(14 / 1920 * 100vw, 14px, 14 / 1600 * 100vw);
  font-weight: 700;
  line-height: 1.25;
  border-radius: 100vmax;
  position: absolute;
  inset: 0 auto auto clamp(9 / 1920 * 100vw, 9px, 9 / 1600 * 100vw);
  translate: 0 -50%;
}
@media screen and (max-width: 768px) {
  .pg_map .map_btnLabel {
    inset: 0 auto auto 0;
    font-size: 0.8125rem;
    padding: 0.25rem 0.75rem 0.3125rem;
    translate: 0 0;
  }
}
.pg_map .map_btnTxt {
  font-size: clamp(21 / 1920 * 100vw, 21px, 21 / 1600 * 100vw);
  font-weight: 700;
  line-height: 1.25;
  color: var(--btn-color);
  text-align: left;
  word-break: auto-phrase;
}
@media screen and (max-width: 768px) {
  .pg_map .map_btnTxt {
    font-size: 1.0625rem;
  }
}
.pg_map .map_btnTxt p {
  display: inline-block;
}
.pg_map .map_btnIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: clamp(34 / 1920 * 100vw, 34px, 34 / 1600 * 100vw);
  height: clamp(34 / 1920 * 100vw, 34px, 34 / 1600 * 100vw);
  background-color: var(--icon-bg-color);
  border-radius: 50%;
}
@media screen and (max-width: 768px) {
  .pg_map .map_btnIcon {
    width: 1.875rem;
    height: 1.875rem;
    position: absolute;
    inset: 50% 1rem auto auto;
    translate: 0 -50%;
  }
}
.pg_map .map_btnIcon::after {
  content: "";
  width: clamp(17 / 1920 * 100vw, 17px, 17 / 1600 * 100vw);
  height: clamp(17 / 1920 * 100vw, 17px, 17 / 1600 * 100vw);
  background-color: var(--btn-color);
  -webkit-mask-image: url("../img/common/icon_search_white.svg");
  mask-image: url("../img/common/icon_search_white.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
@media screen and (max-width: 768px) {
  .pg_map .map_btnIcon::after {
    width: 0.875rem;
    height: 0.875rem;
  }
}
.pg_map .map_btn__consult {
  bottom: clamp(595 / 1920 * 100vw, 595px, 595 / 1600 * 100vw);
  left: clamp(305 / 1920 * 100vw, 305px, 305 / 1600 * 100vw);
}
.pg_map .map_btn__nihongo {
  bottom: clamp(545 / 1920 * 100vw, 545px, 545 / 1600 * 100vw);
  left: clamp(628 / 1920 * 100vw, 628px, 628 / 1600 * 100vw);
}
.pg_map .map_btn__multicultural {
  bottom: clamp(585 / 1920 * 100vw, 585px, 585 / 1600 * 100vw);
  left: clamp(1198 / 1920 * 100vw, 1198px, 1198 / 1600 * 100vw);
}
.pg_map .map_btn__classroom {
  bottom: clamp(437 / 1920 * 100vw, 437px, 437 / 1600 * 100vw);
  left: clamp(58 / 1920 * 100vw, 58px, 58 / 1600 * 100vw);
}
.pg_map .map_btn__volunteer {
  bottom: clamp(429 / 1920 * 100vw, 429px, 429 / 1600 * 100vw);
  left: clamp(948 / 1920 * 100vw, 948px, 948 / 1600 * 100vw);
}
.pg_map .map_btn__community {
  bottom: clamp(274 / 1920 * 100vw, 274px, 274 / 1600 * 100vw);
  left: clamp(541 / 1920 * 100vw, 541px, 541 / 1600 * 100vw);
}
.pg_map .map_btn__disaster {
  bottom: clamp(198 / 1920 * 100vw, 198px, 198 / 1600 * 100vw);
  left: clamp(194 / 1920 * 100vw, 194px, 194 / 1600 * 100vw);
}
.pg_map .map_btn__life {
  bottom: clamp(298 / 1920 * 100vw, 298px, 298 / 1600 * 100vw);
  left: clamp(1215 / 1920 * 100vw, 1215px, 1215 / 1600 * 100vw);
}
.pg_map .map_modal {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  overflow: hidden;
  padding-inline: 1.875rem;
}
@media screen and (max-width: 768px) {
  .pg_map .map_modal {
    padding-inline: 1.25rem;
  }
}
.pg_map .map_modal:not([open]) {
  display: none;
}
.pg_map .map_modal[open] {
  display: flex;
  align-items: center;
  justify-content: center;
  animation: modalFadeIn 0.3s var(--transEasing) forwards;
}
.pg_map .map_modal[open] .map_modalInner {
  animation: modalSlideIn 0.3s var(--transEasing) forwards;
}
.pg_map .map_modal.is_closing {
  animation: modalFadeOut 0.25s var(--transEasing) forwards;
}
.pg_map .map_modal.is_closing .map_modalInner {
  animation: modalSlideOut 0.25s var(--transEasing) forwards;
}
.pg_map .map_modal::backdrop {
  background-color: rgba(252, 231, 215, 0.7);
  animation: modalFadeIn 0.3s var(--transEasing) forwards;
}
.pg_map .map_modal.is_closing::backdrop {
  animation: modalFadeOut 0.25s var(--transEasing) forwards;
}
.pg_map .map_modalInner {
  position: relative;
}
.pg_map .map_modalClose {
  position: absolute;
  top: 0;
  right: 0;
  width: 3.5rem;
  height: 3.5rem;
  background-color: var(--red_txt);
  border: none;
  border-radius: 0 0.75rem 0 0.9375rem;
  cursor: pointer;
  z-index: 2;
  transition: background-color var(--transDur) var(--transEasing);
}
@media (any-hover: hover) {
  .pg_map .map_modalClose:hover {
    background-color: rgb(148.647826087, 42.8043478261, 30.352173913);
  }
}
@media screen and (max-width: 768px) {
  .pg_map .map_modalClose {
    width: 2.75rem;
    height: 2.75rem;
  }
}
.pg_map .map_modalClose::before, .pg_map .map_modalClose::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.875rem;
  height: 0.125rem;
  background-color: var(--white);
  border-radius: 0.0625rem;
}
@media screen and (max-width: 768px) {
  .pg_map .map_modalClose::before, .pg_map .map_modalClose::after {
    width: 1rem;
  }
}
.pg_map .map_modalClose::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.pg_map .map_modalClose::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.pg_map .map_modalBody {
  max-width: var(--contMaxW);
  max-height: 90vh;
  background-color: var(--white);
  border: 3px solid var(--red_txt);
  border-radius: calc(var(--radius) / 16 * 1rem);
  overflow: auto;
}
@media screen and (max-width: 768px) {
  .pg_map .map_modalBody {
    width: 100%;
    max-height: 85vh;
    border-width: 2px;
  }
}
.pg_map .map_modalBodyInner {
  display: grid;
  grid-template-columns: 504fr 540fr;
  gap: min(2.25rem, 2.25vw);
  padding: min(3.75rem, 3.75vw);
}
@media screen and (max-width: 1100px) {
  .pg_map .map_modalBodyInner {
    grid-template-columns: 1fr;
    padding: 1.875rem;
    gap: 0;
    grid-template-areas: "hdg" "img" "txt" "links";
  }
}
@media screen and (max-width: 768px) {
  .pg_map .map_modalBodyInner {
    flex-direction: column;
    padding: 1.875rem 1.25rem;
  }
}
@media screen and (max-width: 1100px) {
  .pg_map .map_modalInfo {
    display: contents;
  }
}
.pg_map .map_modalInfo .el_hdgLg {
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 1100px) {
  .pg_map .map_modalInfo .el_hdgLg {
    grid-area: hdg;
  }
  .pg_map .map_modalInfo .el_hdgLg br {
    display: none;
  }
}
.pg_map .map_modalInfo .el_txt {
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 1100px) {
  .pg_map .map_modalInfo .el_txt {
    grid-area: txt;
  }
}
.pg_map .map_modalLinks {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
@media screen and (max-width: 1100px) {
  .pg_map .map_modalLinks {
    grid-area: links;
  }
}
@media screen and (max-width: 1100px) {
  .pg_map .map_modalImage {
    grid-area: img;
    text-align: center;
    margin-bottom: 1.25rem;
  }
}
.pg_map .map_modalImage img {
  width: 100%;
}
@media screen and (max-width: 1100px) {
  .pg_map .map_modalImage img {
    width: revert-layer;
  }
}
.pg_map .map_bottom {
  position: absolute;
  inset: auto 0 0 0;
  width: 100%;
  height: clamp(500 / 1920 * 100vw, 500px, 500 / 1600 * 100vw);
  background-color: var(--green_bg);
  translate: 0 100%;
}
@media screen and (max-width: 768px) {
  .pg_map .map_bottom {
    height: 31.25rem;
  }
}
.pg_map .map_bottom img {
  position: absolute;
  inset: clamp(32 / 1920 * 100vw, 32px, 32 / 1600 * 100vw) auto auto clamp(113 / 1920 * 100vw, 113px, 113 / 1600 * 100vw);
  width: clamp(683 / 1920 * 100vw, 683px, 683 / 1600 * 100vw);
  height: auto;
}
@media (min-width: 1600px) {
  .pg_map .map_bottom img {
    inset: clamp(32 / 1920 * 100vw, 32px, 32 / 1600 * 100vw) auto auto calc(50% - clamp(800 / 1920 * 100vw, 800px, 800 / 1600 * 100vw) + 7.0625rem);
  }
}
@media screen and (max-width: 768px) {
  .pg_map .map_bottom img {
    display: none;
  }
}
.pg_map .bl_account {
  margin-top: 2.1875rem;
}
body:has(:dialog[open]) {
  overflow: hidden;
}

@keyframes modalFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes modalFadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes modalSlideIn {
  from {
    opacity: 0;
    transform: translateY(20px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes modalSlideOut {
  from {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  to {
    opacity: 0;
    transform: translateY(20px) scale(0.95);
  }
}
.pg_search .searchArea {
  border: 0.125rem solid var(--pink_border);
  border-radius: calc(var(--radius) / 16 * 1rem);
  padding: 1.875rem 3.75rem 2.5rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .pg_search .searchArea {
    padding: 1.5625rem 1.25rem 1.875rem;
    margin-bottom: 3.75rem;
  }
}
.pg_search .searchArea > [data-kwranking],
.pg_search .searchArea > [data-recommendlinks],
.pg_search .searchArea > [data-cp=relatedkeywords-group1],
.pg_search .searchArea > [data-cp=lastmodifiedselector-group1] {
  display: none;
}
.pg_search .searchForm {
  padding-bottom: 1.875rem;
  margin-bottom: 1.875rem;
  border-bottom: 1px solid var(--pink_border);
}
@media screen and (max-width: 768px) {
  .pg_search .searchForm {
    padding-bottom: 1.25rem;
    margin-bottom: 1.25rem;
  }
}
.pg_search .searchForm form {
  display: flex;
  align-items: center;
  background-color: var(--white);
  border-radius: calc(var(--radius) / 16 * 1rem);
  height: 4.375rem;
  padding-left: 1.5625rem;
  border: none;
  position: relative;
  max-width: 56.25rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .pg_search .searchForm form {
    height: 3.5rem;
    padding-left: 0.9375rem;
    margin-bottom: 0;
    max-width: none;
  }
}
.pg_search .searchForm form::before {
  content: "";
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url("../img/common/icon_search.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin-right: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .pg_search .searchForm form::before {
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.625rem;
  }
}
.pg_search .searchForm form .poplink {
  inset: clamp(22.5px, 45 / (var(--designW) + var(--scrollbarW)) * 100vw, 45px) auto auto 0 !important;
  max-width: clamp(95px, 190 / (var(--designW) + var(--scrollbarW)) * 100vw, 190px);
}
@media screen and (max-width: 1100px) {
  .pg_search .searchForm form .poplink {
    max-width: 11.875rem;
    inset: 3.125rem auto auto 0 !important;
  }
}
.pg_search .searchForm form .poplink_suggest {
  border-radius: clamp(var(--radius) * 0.5 * 1px, var(--radius) / (var(--designW) + var(--scrollbarW)) * 100vw, var(--radius) * 1 * 1px) !important;
  overflow: hidden;
  padding: clamp(5px, 10 / (var(--designW) + var(--scrollbarW)) * 100vw, 10px) clamp(10px, 20 / (var(--designW) + var(--scrollbarW)) * 100vw, 20px) !important;
  background-color: var(--white) !important;
}
.pg_search .searchForm form .poplink_suggest .word {
  font-size: clamp(8px, 16 / (var(--designW) + var(--scrollbarW)) * 100vw, 16px);
  padding: clamp(2.5px, 5 / (var(--designW) + var(--scrollbarW)) * 100vw, 5px) 0 !important;
  line-height: 1.5;
  border: none !important;
}
.pg_search .searchForm form .close_button {
  cursor: pointer;
  top: -0.5em !important;
  left: calc(100% - 1.4375rem) !important;
  width: 2.0625rem !important;
  height: 2.0625rem !important;
}
.pg_search .searchForm form .poplink {
  max-width: 100% !important;
  inset: 4.6875rem auto auto 0 !important;
}
@media screen and (max-width: 768px) {
  .pg_search .searchForm form .poplink {
    inset: 3.8125rem auto auto 0 !important;
  }
}
.pg_search .searchForm input[type=text] {
  flex: 1;
  background: transparent;
  border: none;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1;
  color: var(--black_txt);
  outline: none;
  padding: 0;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .pg_search .searchForm input[type=text] {
    font-size: 1rem;
  }
}
.pg_search .searchForm input[type=text]::-moz-placeholder {
  color: var(--gray_txt);
}
.pg_search .searchForm input[type=text]::placeholder {
  color: var(--gray_txt);
}
.pg_search .searchForm button[type=submit] {
  background-color: var(--red_txt);
  color: var(--white);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  border: none;
  border-radius: calc(var(--radius) / 16 * 1rem);
  height: 100%;
  width: 8.125rem;
  cursor: pointer;
  transition: background-color var(--transDur) var(--transEasing);
  padding: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .pg_search .searchForm button[type=submit] {
    width: 5.625rem;
    font-size: 1rem;
  }
}
@media (any-hover: hover) {
  .pg_search .searchForm button[type=submit]:hover {
    background-color: var(--red_bg);
  }
}
.pg_search ._cp_component {
  margin: 0;
  border: none;
  position: static;
}
.pg_search ._cp_component[data-cp=attributes-group-filetypes] {
  display: none;
}
.pg_search ._attributegroup {
  margin: 0 !important;
  border: none;
  padding: 0 !important;
}
@media screen and (max-width: 768px) {
  .pg_search ._attributegroup {
    margin-bottom: 1.25rem;
  }
}
.pg_search ._attributegroup ._group {
  font-size: 1.375rem !important;
  font-weight: 700;
  margin-bottom: 0.625rem;
  color: var(--black_txt);
}
@media screen and (max-width: 768px) {
  .pg_search ._attributegroup ._group {
    font-size: 1.25rem !important;
  }
}
.pg_search ._attributegroup._attributegroup_group-filetypes ._attributes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9375rem;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .pg_search ._attributegroup._attributegroup_group-filetypes ._attributes {
    gap: 0.625rem;
  }
}
.pg_search ._attributegroup._attributegroup_group-filetypes ._attributes form {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .pg_search ._attributegroup._attributegroup_group-filetypes ._attributes form {
    display: grid;
    gap: 6px;
  }
}
.pg_search ._attributegroup._attributegroup_group-filetypes ._attribute {
  padding: 0 !important;
  margin: 0 !important;
  border: none;
  background: none;
  width: auto;
}
.pg_search ._attributegroup._attributegroup_group-filetypes ._attribute label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  font-size: 1.25rem;
  font-weight: 500;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .pg_search ._attributegroup._attributegroup_group-filetypes ._attribute label {
    font-size: 1rem;
    gap: 0.375rem;
  }
}
.pg_search ._attributegroup._attributegroup_group-filetypes ._attribute input[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 1.75rem;
  height: 1.75rem;
  border: 1px solid var(--gray_border03);
  border-radius: 50%;
  background-color: var(--white);
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .pg_search ._attributegroup._attributegroup_group-filetypes ._attribute input[type=radio] {
    width: 1.375rem;
    height: 1.375rem;
  }
}
.pg_search ._attributegroup._attributegroup_group-filetypes ._attribute input[type=radio]:checked {
  border-color: var(--red_txt);
}
.pg_search ._attributegroup._attributegroup_group-filetypes ._attribute input[type=radio]:checked::after {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  width: 1rem;
  height: 1rem;
  background-color: var(--red_txt);
  border-radius: 50%;
}
@media screen and (max-width: 768px) {
  .pg_search ._attributegroup._attributegroup_group-filetypes ._attribute input[type=radio]:checked::after {
    width: 0.75rem;
    height: 0.75rem;
  }
}
.pg_search ._attributegroup._attributegroup_group-filetypes ._attribute ._count {
  display: none;
}
.pg_search ._attributegroup._attributegroup_group-filetypes ._attribute._disable {
  opacity: 0.5;
  pointer-events: none;
}
.pg_search ._attributegroup._attributegroup_group-paths {
  margin-top: 1.25rem !important;
}
.pg_search ._attributegroup._attributegroup_group-paths ._attributes {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(9.375rem, 1fr));
  flex-wrap: wrap;
  gap: 0.375rem;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .pg_search ._attributegroup._attributegroup_group-paths ._attributes {
    grid-template-columns: repeat(auto-fill, minmax(6.25rem, 1fr));
  }
}
.pg_search ._attributegroup._attributegroup_group-paths ._attribute {
  padding: 0;
  margin: 0 !important;
  border: none;
  background: none;
  width: auto;
  white-space: unset !important;
}
.pg_search ._attributegroup._attributegroup_group-paths ._attribute label {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  padding: 0.625rem;
  min-height: 3.75rem;
  border: 1px solid var(--red_txt);
  border-radius: 0.625rem;
  color: var(--gray_txt);
  background-color: var(--white);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  cursor: pointer;
  transition: background-color var(--transDur) var(--transEasing), border-color var(--transDur) var(--transEasing), color var(--transDur) var(--transEasing);
  color: var(--red_txt);
  text-wrap: pretty;
}
@media screen and (max-width: 768px) {
  .pg_search ._attributegroup._attributegroup_group-paths ._attribute label {
    font-size: 0.875rem;
    padding: 0.75rem 0.5rem;
    border-radius: 0.5rem;
    min-height: 3rem;
  }
}
.pg_search ._attributegroup._attributegroup_group-paths ._attribute label:has(input[type=checkbox]:checked) {
  background-color: var(--red_txt);
  border-color: var(--red_txt);
  color: var(--white);
}
.pg_search ._attributegroup._attributegroup_group-paths ._attribute input[type=checkbox] {
  display: none;
}
.pg_search ._attributegroup._attributegroup_group-paths ._attribute ._label {
  padding: 0;
  font-size: inherit;
  color: inherit;
}
.pg_search ._attributegroup._attributegroup_group-paths ._attribute ._count {
  display: none;
}
.pg_search ._attributegroup._attributegroup_group-paths ._attribute._disable {
  opacity: 0.5;
  pointer-events: none;
  text-decoration: none !important;
}
.pg_search ._searchstatusfull ._status {
  margin-bottom: 1.25rem;
  font-size: 1.125rem;
}
.pg_search .list {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .pg_search .list {
    margin-bottom: 1.875rem;
  }
}
.pg_search .list_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.9375rem;
  padding-bottom: 1.25rem;
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 768px) {
  .pg_search .list_head {
    padding-bottom: 0.9375rem;
    margin-bottom: 1.25rem;
    gap: 0.625rem;
  }
}
.pg_search .list_head .el_hdgLg {
  margin-bottom: 0;
}
.pg_search .list_head [data-cp=sortselector-type2],
.pg_search .list_head [data-cp=countselector-type2] {
  display: inline-flex;
  align-items: center;
}
.pg_search .list_head [data-cp=countselector-type2] {
  margin-top: 8px;
}
.pg_search .list_head ._sortorderselector {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 1.125rem;
  margin: 0 1.25rem 0 0 !important;
  padding: 0 1.25rem 0 0 !important;
  position: relative;
}
@media screen and (max-width: 768px) {
  .pg_search .list_head ._sortorderselector {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 1rem;
  }
}
.pg_search .list_head ._sortorderselector::before {
  content: "";
  display: inline-block;
  width: 0.0625rem;
  height: 1.125rem;
  background-color: var(--gray_border);
  position: absolute;
  inset: calc(50% + 0.0625rem) 0rem auto auto;
  translate: 0 -50%;
}
@media screen and (max-width: 768px) {
  .pg_search .list_head ._sortorderselector::before {
    content: none !important;
  }
}
.pg_search .list_head ._sortorderselector ._label {
  color: var(--black_txt);
  margin-right: 0.5rem;
}
.pg_search .list_head ._sortorderselector select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  font-weight: 500;
  color: var(--red_txt);
  cursor: pointer;
  padding-right: 1.25rem;
}
.pg_search .list_head ._sortorderselector select:focus {
  outline: none;
}
.pg_search .list_head ._sortorderselector select option {
  color: var(--black_txt);
}
.pg_search .list_head ._sortorderselector ._sort {
  color: var(--red_txt);
  padding: 0 !important;
  position: relative;
}
.pg_search .list_head ._sortorderselector ._sort:not(:nth-child(2))::before {
  content: "・";
  margin: 0 0.125rem;
  color: var(--red_txt);
}
.pg_search .list_head ._sortorderselector ._sort._current {
  color: var(--gray_txt);
  text-decoration: none;
  font-weight: 700;
}
.pg_search .list_head ._sortorderselector ._sort a {
  display: inline-block;
  position: relative;
}
.pg_search .list_head ._sortorderselector ._sort a::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 0.0625rem;
  border-bottom: 2px solid var(--red_txt);
  position: absolute;
  inset: auto auto 0 0;
  transition: border-bottom-color var(--transDur) var(--transEasing);
}
@media (any-hover: hover) {
  .pg_search .list_head ._sortorderselector ._sort a:hover::after {
    border-bottom-color: transparent;
  }
}
.pg_search .list_head ._countselector {
  display: flex;
  align-items: center;
  font-size: 1.125rem;
  position: relative;
  margin: 0 !important;
  padding: 0 0 0 !important;
}
@media screen and (max-width: 768px) {
  .pg_search .list_head ._countselector {
    font-size: 1rem;
    padding-left: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
.pg_search .list_head ._countselector ._label {
  color: var(--black_txt);
  margin-right: 0.3125rem;
}
.pg_search .list_head ._countselector ._count {
  color: var(--red_txt);
  padding: 0 !important;
  position: relative;
}
.pg_search .list_head ._countselector ._count:not(:nth-child(2))::before {
  content: "・";
  margin: 0 0.125rem;
  color: var(--red_txt);
}
.pg_search .list_head ._countselector ._count._current {
  color: var(--gray_txt);
  text-decoration: none;
  font-weight: 700;
}
.pg_search .list_head ._countselector ._count a {
  display: inline-block;
  position: relative;
}
.pg_search .list_head ._countselector ._count a::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 0.0625rem;
  border-bottom: 2px solid var(--red_txt);
  position: absolute;
  inset: auto auto 0 0;
  transition: border-bottom-color var(--transDur) var(--transEasing);
}
@media (any-hover: hover) {
  .pg_search .list_head ._countselector ._count a:hover::after {
    border-bottom-color: transparent;
  }
}
.pg_search ._pagenator {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  width: -moz-fit-content;
  width: fit-content;
  gap: 0.625rem;
  padding: 2.5rem 0;
  margin-inline: auto !important;
  border: none;
}
@media screen and (max-width: 768px) {
  .pg_search ._pagenator {
    gap: 0.5rem;
    padding: 1.875rem 0;
  }
}
.pg_search ._pagenator ._nav {
  flex: unset !important;
  padding: 0 !important;
  margin: 0 !important;
  white-space: nowrap;
}
.pg_search ._pagenator ._nav a,
.pg_search ._pagenator ._nav ._button, .pg_search ._pagenator ._nav._current {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 1.25rem 0.75rem !important;
  border-radius: 0.625rem !important;
  color: var(--red_txt) !important;
  text-decoration: none;
  background-color: var(--white) !important;
  transition: background-color var(--transDur) var(--transEasing), color var(--transDur) var(--transEasing);
  box-sizing: border-box;
  transform: none;
  box-shadow: none;
  border: none !important;
}
@media screen and (max-width: 768px) {
  .pg_search ._pagenator ._nav a,
  .pg_search ._pagenator ._nav ._button, .pg_search ._pagenator ._nav._current {
    min-width: 2.5rem;
    padding: 0.5rem 0.75rem;
  }
}
@media (any-hover: hover) {
  .pg_search ._pagenator ._nav a:hover,
  .pg_search ._pagenator ._nav ._button:hover, .pg_search ._pagenator ._nav._current:hover {
    background-color: var(--pink_bg) !important;
    text-decoration: none;
  }
}
.pg_search ._pagenator ._nav._page {
  display: flex !important;
}
.pg_search ._pagenator ._nav._page a,
.pg_search ._pagenator ._nav._page ._button {
  min-width: 3.75rem;
}
.pg_search ._pagenator ._nav._current {
  background-color: var(--red_txt) !important;
  color: var(--white) !important;
  pointer-events: none;
  min-width: 3.75rem !important;
}
.pg_search ._pagenator ._nav._prev, .pg_search ._pagenator ._nav._next, .pg_search ._pagenator ._nav._first {
  display: flex !important;
}
.pg_search ._pagenator ._nav._prev:has(._disable), .pg_search ._pagenator ._nav._next:has(._disable), .pg_search ._pagenator ._nav._first:has(._disable) {
  display: none !important;
}
.pg_search ._pagenator ._nav._prev a,
.pg_search ._pagenator ._nav._prev ._button, .pg_search ._pagenator ._nav._next a,
.pg_search ._pagenator ._nav._next ._button, .pg_search ._pagenator ._nav._first a,
.pg_search ._pagenator ._nav._first ._button {
  min-width: 5.5625rem;
}
.pg_search ._pagenator ._nav._prev p._disable,
.pg_search ._pagenator ._nav._prev ._disable, .pg_search ._pagenator ._nav._next p._disable,
.pg_search ._pagenator ._nav._next ._disable, .pg_search ._pagenator ._nav._first p._disable,
.pg_search ._pagenator ._nav._first ._disable {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.625rem 1.5625rem;
  color: var(--gray_txt);
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .pg_search ._pagenator ._nav._prev p._disable,
  .pg_search ._pagenator ._nav._prev ._disable, .pg_search ._pagenator ._nav._next p._disable,
  .pg_search ._pagenator ._nav._next ._disable, .pg_search ._pagenator ._nav._first p._disable,
  .pg_search ._pagenator ._nav._first ._disable {
    padding: 0.5rem 0.9375rem;
  }
}
.pg_search ._searchresults {
  border: none;
  margin: 0;
  padding: 0;
  position: static;
}
.pg_search ._searchresults ._items {
  display: grid;
  gap: 1rem;
}
.pg_search ._searchresults ._item {
  border: none;
  background-color: var(--white) !important;
  border-radius: calc(var(--radius) / 16 * 1rem);
  padding: 2.125rem 3.125rem !important;
  margin: 0 !important;
  background: none;
  position: static;
  width: auto;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .pg_search ._searchresults ._item {
    padding: 1.5625rem 1.25rem !important;
  }
}
.pg_search ._searchresults ._item:first-child {
  padding-top: 0;
}
.pg_search ._searchresults ._wrap {
  display: grid;
  grid-template-columns: 360fr 710fr;
  grid-template-rows: auto auto auto;
  gap: 0 2.5rem;
  border: none;
  margin: 0;
  padding: 0;
  position: static;
  width: 100% !important;
}
@media screen and (max-width: 768px) {
  .pg_search ._searchresults ._wrap {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.pg_search ._searchresults ._wrap > * {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
.pg_search ._searchresults ._layoutgroup1 {
  display: block !important;
  padding: 0 !important;
  align-items: center;
  margin-bottom: 0 !important;
}
@media screen and (max-width: 768px) {
  .pg_search ._searchresults ._layoutgroup1 {
    margin-bottom: 1rem !important;
  }
}
.pg_search ._searchresults ._seq {
  display: none;
}
.pg_search ._searchresults ._title {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  padding: 0 !important;
  text-align: left;
  line-height: 2 !important;
}
@media screen and (max-width: 768px) {
  .pg_search ._searchresults ._title {
    font-size: 1.125rem;
  }
}
.pg_search ._searchresults ._title a {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  text-overflow: ellipsis;
  overflow: hidden;
  color: var(--black_txt);
  text-decoration: none;
  gap: 0.625rem;
  transition: color var(--transDur) var(--transEasing);
  font-weight: inherit;
  position: relative;
  padding-left: 2.875rem;
  font-weight: bold !important;
}
@media (any-hover: hover) {
  .pg_search ._searchresults ._title a:hover {
    color: var(--red_txt) !important;
  }
  .pg_search ._searchresults ._title a:hover::before {
    background-color: var(--white);
  }
  .pg_search ._searchresults ._title a:hover::after {
    background-color: var(--red_txt);
  }
}
.pg_search ._searchresults ._title a::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  width: 2.25rem;
  height: 1.75rem;
  background-color: var(--red_txt);
  border-radius: 0.625rem;
  margin-top: 0.75rem;
  transition: background-color var(--transDur) var(--transEasing);
  position: absolute;
  inset: 1rem auto auto 0;
  translate: 0 -50%;
}
@media screen and (max-width: 768px) {
  .pg_search ._searchresults ._title a::before {
    width: 1.875rem;
    height: 1.5rem;
    margin-top: 0.5625rem;
    background-size: 0.6875rem 0.375rem;
    inset: 0.5625rem auto auto 0;
  }
}
.pg_search ._searchresults ._title a::after {
  content: "";
  position: absolute;
  inset: 1.75rem auto auto 0.75rem;
  translate: 0 -50%;
  width: 0.8125rem;
  height: 0.4375rem;
  background-color: var(--white);
  -webkit-mask-image: url("../img/common/icon_arrow_red.svg");
  mask-image: url("../img/common/icon_arrow_red.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: background-color var(--transDur) var(--transEasing);
}
@media screen and (max-width: 768px) {
  .pg_search ._searchresults ._title a::after {
    width: 0.75rem;
    height: 0.5rem;
    inset: 1.125rem auto auto 0.625rem;
  }
}
.pg_search ._searchresults ._filetype {
  background-repeat: no-repeat;
  background-size: contain !important;
}
.pg_search ._searchresults ._layoutgroup2 {
  display: block !important;
  padding: 0 !important;
}
.pg_search ._searchresults ._thumbnail {
  border-radius: calc(var(--radius) / 16 * 1rem);
  overflow: hidden;
  background-color: var(--gray_bg);
  padding: 0 !important;
  position: static;
  height: auto;
  aspect-ratio: 280/180;
  min-width: unset !important;
  min-height: unset !important;
}
@media screen and (max-width: 768px) {
  .pg_search ._searchresults ._thumbnail {
    grid-column: 1;
    grid-row: 2;
    order: 1;
    margin-bottom: 1rem !important;
  }
}
.pg_search ._searchresults ._thumbnail::before {
  content: none !important;
}
.pg_search ._searchresults ._thumbnail a {
  display: block;
  width: 100%;
  height: 100%;
  position: static !important;
}
.pg_search ._searchresults ._thumbnail a::before {
  content: none !important;
}
.pg_search ._searchresults ._thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
  border: none !important;
  border-radius: 0.3125rem;
}
.pg_search ._searchresults ._snippet {
  grid-column: 2;
  grid-row: 3;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
  color: var(--black_txt);
  padding: 0;
}
@media screen and (max-width: 768px) {
  .pg_search ._searchresults ._snippet {
    grid-column: 1;
    grid-row: auto;
    margin-top: 10px !important;
    font-size: 0.875rem;
    line-height: 1.6;
    order: 4;
  }
}
.pg_search ._searchresults ._snippet em {
  font-style: normal;
  font-weight: bold;
  background-color: transparent;
}
.pg_search ._searchresults ._link {
  padding: 0;
  display: block;
}
.pg_search ._searchresults ._link a {
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--red_txt);
  text-decoration: underline;
  word-break: break-all;
}
@media screen and (max-width: 768px) {
  .pg_search ._searchresults ._link a {
    font-size: 0.875rem;
  }
}
@media (any-hover: hover) {
  .pg_search ._searchresults ._link a:hover {
    text-decoration: none;
  }
}
.pg_search ._searchresults ._filesize {
  display: none;
}
.pg_search ._searchresults ._useritemlist {
  display: none;
}
.pg_search ._checkeditems {
  display: none;
}

.pg_template .bl_contSet {
  margin-bottom: 12.5rem;
}

/**
 * Keyframes
 */
@keyframes drawerOpen {
  from {
    visibility: hidden;
    opacity: 0;
  }
  to {
    visibility: visible;
    opacity: 1;
  }
}
@keyframes drawerClose {
  from {
    visibility: visible;
    opacity: 1;
  }
  to {
    visibility: hidden;
    opacity: 0;
  }
}