@charset "UTF-8";
/**
 * Custom media queries
 * @example
 * @media (--mobile) {
 *    styles for mobile viewport
 * }
 */
/**
 * for mobile viewoport
 */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}
/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}
/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}
/**
 * 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: 1em; /* 2 */
}
/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}
/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  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: 1em; /* 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
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}
/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}
/**
 * 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"] {
  -webkit-appearance: button;
}
/**
 * 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;
}
/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}
/**
 * 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 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* 1 */
  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;
}
/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}
/**
 * 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 odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/**
 * 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 */
}
/* 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;
}
/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}
/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}
html.lenis,html.lenis body{height:auto}
.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}
.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch]{-ms-scroll-chaining:none;overscroll-behavior:contain}
.lenis.lenis-smooth iframe{pointer-events:none}
.lenis.lenis-autoToggle{-webkit-transition-property:overflow;transition-property:overflow;-webkit-transition-duration:1ms;transition-duration:1ms;transition-behavior:allow-discrete}
/**
 * Swiper 7.4.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2021 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: December 24, 2021
 */
@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}
:root{--swiper-theme-color:#007aff}
.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}
.swiper-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}
.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform, -webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}
.swiper-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0px,0,0);transform:translate3d(0px,0,0)}
.swiper-pointer-events{-ms-touch-action:pan-y;touch-action:pan-y}
.swiper-pointer-events.swiper-vertical{-ms-touch-action:pan-x;touch-action:pan-x}
.swiper-slide{-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform, -webkit-transform}
.swiper-slide-invisible-blank{visibility:hidden}
.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}
.swiper-autoheight .swiper-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height,-webkit-transform;transition-property:height,-webkit-transform;transition-property:transform,height;transition-property:transform,height,-webkit-transform}
.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{-webkit-perspective:1200px;perspective:1200px}
.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}
.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}
.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}
.swiper-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear,right top, left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}
.swiper-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear,left top, right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}
.swiper-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear,left bottom, left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}
.swiper-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear,left top, left bottom,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}
.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}
.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}
.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}
.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}
.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}
.swiper-centered>.swiper-wrapper::before{content:'';-ms-flex-negative:0;flex-shrink:0;-webkit-box-ordinal-group:10000;-ms-flex-order:9999;order:9999}
.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{-webkit-margin-start:var(--swiper-centered-offset-before);margin-inline-start:var(--swiper-centered-offset-before)}
.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}
.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{-webkit-margin-before:var(--swiper-centered-offset-before);margin-block-start:var(--swiper-centered-offset-before)}
.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}
.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center}
.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}
.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}
.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}
:root{--swiper-navigation-size:44px}
.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}
.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}
.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;text-transform:none;font-variant:initial;line-height:1}
.swiper-button-prev,.swiper-rtl .swiper-button-next{left:10px;right:auto}
.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}
.swiper-button-next,.swiper-rtl .swiper-button-prev{right:10px;left:auto}
.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}
.swiper-button-lock{display:none}
.swiper-pagination{position:absolute;text-align:center;-webkit-transition:.3s opacity;transition:.3s opacity;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);z-index:10}
.swiper-pagination.swiper-pagination-hidden{opacity:0}
.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}
.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transform:scale(.33);transform:scale(.33);position:relative}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{-webkit-transform:scale(1);transform:scale(1)}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{-webkit-transform:scale(1);transform:scale(1)}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{-webkit-transform:scale(.66);transform:scale(.66)}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{-webkit-transform:scale(.33);transform:scale(.33)}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{-webkit-transform:scale(.66);transform:scale(.66)}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{-webkit-transform:scale(.33);transform:scale(.33)}
.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}
button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}
.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}
.swiper-pagination-bullet:only-child{display:none!important}
.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}
.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0px,-50%,0);transform:translate3d(0px,-50%,0)}
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:8px}
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;-webkit-transition:.2s transform,.2s top;transition:.2s transform,.2s top}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}
.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);white-space:nowrap}
.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:.2s transform,.2s left;transition:.2s transform,.2s left}
.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:.2s transform,.2s right;transition:.2s transform,.2s right}
.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;transform-origin:left top}
.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;transform-origin:right top}
.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}
.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}
.swiper-pagination-lock{display:none}
.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}
.swiper-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}
.swiper-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}
.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}
.swiper-scrollbar-cursor-drag{cursor:move}
.swiper-scrollbar-lock{display:none}
.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}
.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}
.swiper-slide-zoomed{cursor:move}
.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s infinite linear;animation:swiper-preloader-spin 1s infinite linear;-webkit-box-sizing:border-box;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}
.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}
.swiper-lazy-preloader-black{--swiper-preloader-color:#000}
@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}
@keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}
.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}
.swiper-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}
.swiper-grid>.swiper-wrapper{-ms-flex-wrap:wrap;flex-wrap:wrap}
.swiper-grid-column>.swiper-wrapper{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}
.swiper-fade.swiper-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}
.swiper-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;transition-property:opacity}
.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}
.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}
.swiper-cube{overflow:visible}
.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;-webkit-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}
.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}
.swiper-cube.swiper-rtl .swiper-slide{-webkit-transform-origin:100% 0;transform-origin:100% 0}
.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}
.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}
.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}
.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;-webkit-filter:blur(50px);filter:blur(50px)}
.swiper-flip{overflow:visible}
.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}
.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}
.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}
.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;-webkit-transition-property:opacity,height,-webkit-transform;transition-property:opacity,height,-webkit-transform;transition-property:transform,opacity,height;transition-property:transform,opacity,height,-webkit-transform}
.swiper-cards{overflow:visible}
.swiper-cards .swiper-slide{-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}
/**
 * for tablet and Pc. large viewport
 */
@custom-media --desktop(min-width: 1280px);
/** http://bourbon.io/docs/#timing-functions */
/** example @include transition(all 5s $ease-in-circ);*/
/**
transition timing-function:
ease - cubic-bezier(0.25, 0.1, 0.25, 1.0) を指定したのと同じ（開始と完了を滑らかにする）（初期値）
linear - cubic-bezier(0.0, 0.0, 1.0, 1.0) を指定したのと同じ（一定）
ease-in - cubic-bezier(0.42, 0, 1.0, 1.0) を指定したのと同じ（ゆっくり始まる）
ease-out - cubic-bezier(0, 0, 0.58, 1.0) を指定したのと同じ（ゆっくり終わる）
ease-in-out - cubic-bezier(0.42, 0, 0.58, 1.0) を指定したのと同じ（ゆっくり始まってゆっくり終わる）
*/
/**
 * text ellipsis for block multiline
 */
/*
 unsupport IE, Edge, Fx

@mixin text-ellipsis-block($rows) {
  display: box;
  box-orient: vertical;
  line-clamp: $rows;
  overflow: hidden;
}
*/
/**
 * element size
 */
/**
 * flex layout
 */
/**
 * grid layout
 */
/**
 * position layout
 */
/**
 * images
 */
/**
 * clip path octagon
 */
/**
 * hover opacity effect (PC only)
 */
/**
 * hover text effect (PC only)
 */
/**
 * hover scale effect for element itself (PC only)
 */
/**
 * hover scale effect for inner elements like img, picture (PC only)
 *
 * Usage:
 * a { @include hover-inner-scale('img'); }
 * a { @include hover-inner-scale('.c-card__figure img', 1.1); }
 */
/**
 * contents
 */
/**
 * hover arrow animation
 * data-hover-arrow 属性を持つ要素に適用する矢印アニメーション
 *
 * 使用例:
 * [data-hover-arrow] {
 *   @include hover-arrow-animation(40px);
 * }
 *
 * HTML構造:
 * <button data-hover-arrow>
 *   <span class="icon">
 *     <svg>...</svg>
 *     <svg>...</svg>
 *   </span>
 * </button>
 */
/**
 * horizontal scroll with styled scrollbar
 */
/**
* Variables
*/
:root {
  --c-black: #000;
  --c-white: #fff;
  --c-gray-light: #eceff1;
  --c-gray-blue-light: #f3f8fb;
  --c-gray: #b0bec5;
  --c-gray-table: #b0bec5;
  --c-yellow: #ffd817;
  --c-green-light: #88db47;
  --c-green-bright: #16b900;
  --c-green-lime: #d0fd1e;
  --c-green-dark: #006934;
  --c-blue: #1e9fea;
  --c-orange: #ff5900;
  --c-pink: #ff0084;
  --c-purple: #9747ff;
  --c-red: #e90000;
  --c-salmon: #f47c6f;
  --font-ja: "dnp-shuei-gothic-kin-std", sans-serif;
  --font-en: "Chakra Petch", sans-serif;
  --space-section: 168px;
  --space-block: 80px;
  --space-button: 48px;
  --space-heading: 40px;
  --space-subheading: 24px;
  --space-small: 16px;
  --space-168: 168px;
  --space-80: 80px;
  --space-72: 72px;
  --space-64: 64px;
  --space-56: 56px;
  --space-48: 48px;
  --space-40: 40px;
  --space-32: 32px;
  --space-24: 24px;
  --space-16: 16px;
  --space-8: 8px;
  --space-0: 0px;
  --hd-height-pc: 80px;
  --hd-height-mobile: 80px;
  --transition-arrow: 0.24s;
  --side-padding: 24px; }
/**
 * Animation Keyframes
 * 再利用可能なアニメーション定義
 */
/**
 * Arrow Enter Animation
 * 矢印が左から右へ入ってくるアニメーション
 * --arrow-distance: 移動距離（デフォルト: 80px）
 */
@-webkit-keyframes arrowEnter {
  from {
    translate: calc(var(--arrow-distance, 80px) * -1) 0; }
  to {
    translate: 0 0; } }
@keyframes arrowEnter {
  from {
    translate: calc(var(--arrow-distance, 80px) * -1) 0; }
  to {
    translate: 0 0; } }
/**
 * Arrow Exit Animation
 * 矢印が左から右へ出ていくアニメーション
 * --arrow-distance: 移動距離（デフォルト: 80px）
 */
@-webkit-keyframes arrowExit {
  from {
    translate: 0 0; }
  to {
    translate: var(--arrow-distance, 80px) 0; } }
@keyframes arrowExit {
  from {
    translate: 0 0; }
  to {
    translate: var(--arrow-distance, 80px) 0; } }
/**
 * Arrow Enter Reverse Animation
 * 矢印が右から左へ入ってくるアニメーション（Prev用）
 */
@-webkit-keyframes arrowEnterReverse {
  from {
    translate: var(--arrow-distance, 80px) 0; }
  to {
    translate: 0 0; } }
@keyframes arrowEnterReverse {
  from {
    translate: var(--arrow-distance, 80px) 0; }
  to {
    translate: 0 0; } }
/**
 * Arrow Exit Reverse Animation
 * 矢印が右から左へ出ていくアニメーション（Prev用）
 */
@-webkit-keyframes arrowExitReverse {
  from {
    translate: 0 0; }
  to {
    translate: calc(var(--arrow-distance, 80px) * -1) 0; } }
@keyframes arrowExitReverse {
  from {
    translate: 0 0; }
  to {
    translate: calc(var(--arrow-distance, 80px) * -1) 0; } }
/**
 * Arrow Enter Up Animation
 * 矢印が下から上へ入ってくるアニメーション
 */
@-webkit-keyframes arrowEnterUp {
  from {
    translate: 0 var(--arrow-distance, 40px); }
  to {
    translate: 0 0; } }
@keyframes arrowEnterUp {
  from {
    translate: 0 var(--arrow-distance, 40px); }
  to {
    translate: 0 0; } }
/**
 * Arrow Exit Up Animation
 * 矢印が下から上へ出ていくアニメーション
 */
@-webkit-keyframes arrowExitUp {
  from {
    translate: 0 0; }
  to {
    translate: 0 calc(var(--arrow-distance, 40px) * -1); } }
@keyframes arrowExitUp {
  from {
    translate: 0 0; }
  to {
    translate: 0 calc(var(--arrow-distance, 40px) * -1); } }
.js-inview,
.js-inview-item {
  opacity: 0; }
.js-inview.is-inview,
  .js-inview-item.is-inview {
    opacity: 1; }
.js-inview[data-inview="up"] {
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
.js-inview[data-inview="stagger"] > * {
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
/* == @import "../node_modules/normalize.css/normalize.css"; */
html.lenis {
  height: auto; }
html.lenis.lenis-smooth {
    scroll-behavior: auto; }
html.lenis.lenis-smooth [data-lenis-prevent] {
      -ms-scroll-chaining: none;
          overscroll-behavior: contain; }
html.lenis.lenis-stopped {
    overflow: hidden; }
html.lenis.lenis-scrolling iframe {
    pointer-events: none; }
[v-cloak] {
  display: none; }
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--hd-height-pc) + 24px + 56px); }
body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
  font-family: "dnp-shuei-gothic-kin-std", sans-serif;
  font-size: 1.0rem;
  letter-spacing: 0; }
a {
  color: #000000;
  text-decoration: none; }
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
h1,
h2,
h3,
h4,
h5,
h6,
div,
dl,
dt,
dd,
p {
  margin: 0;
  padding: 0; }
ul,
ol,
li {
  padding: 0;
  margin: 0; }
li {
  list-style: none; }
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }
figure {
  margin: 0;
  padding: 0; }
picture {
  display: block; }
dialog {
  margin: 0;
  padding: 0;
  border: none; }
details > summary,
summary {
  cursor: pointer;
  list-style: none; }
details > summary::-webkit-details-marker, details > summary::marker,
  summary::-webkit-details-marker,
  summary::marker {
    display: none; }
button,
select {
  cursor: pointer; }
input,
select,
button {
  color: #000000; }
input,
textarea {
  outline: none;
  padding: 0;
  margin: 0;
  background: none; }
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0; }
input[type="number"] {
  -moz-appearance: textfield; }
.l-main {
  line-height: 1.2; }
.l-btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 32px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%; }
.l-btn-wrap[data-justify="left"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 32px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
.l-btn-wrap[data-justify="center"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 32px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
.l-btn-wrap[data-justify="right"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 32px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
.l-btn-wrap[data-justify="space-between"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 32px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
.l-card-pict {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: var(--space-24);
  -webkit-column-gap: var(--space-24);
     -moz-column-gap: var(--space-24);
          column-gap: var(--space-24);
  grid-row-gap: var(--space-16);
  row-gap: var(--space-16); }
.l-content {
  width: 100%;
  max-width: calc(1120px + (var(--side-padding) * 2));
  margin-inline: auto;
  padding-inline: var(--side-padding);
  -webkit-margin-before: 128px;
          margin-block-start: 128px; }
.l-main.-second .l-content {
    margin-top: 104px; }
.l-footer {
  z-index: 1001;
  -webkit-margin-before: -104px;
          margin-block-start: -104px;
  background-color: var(--c-gray-light); }
.l-footer__top {
    padding-block: 175px 40px; }
.l-footer__top-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0;
    width: 100%;
    max-width: calc(1280px + (var(--side-padding) * 2));
    margin-inline: auto;
    padding-inline: var(--side-padding); }
.l-footer__logo {
    max-width: 340px;
    -webkit-margin-after: var(--space-24);
            margin-block-end: var(--space-24); }
.l-footer__address {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 16px;
    -webkit-margin-after: var(--space-40);
            margin-block-end: var(--space-40);
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.8em; }
.l-footer__address-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 4px;
    text-decoration: underline; }
.l-footer__address-link .icon {
      width: 14px;
      height: 20px;
      color: var(--c-orange); }
.l-footer__buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 16px; }
.l-footer__bottom {
    padding-block: 40px 80px;
    border-top: solid 1px var(--c-gray); }
.l-footer__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0; }
.l-footer__copyright {
    font-size: 1.6rem;
    line-height: 1.8em;
    color: var(--c-gray); }
.l-footer__sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px; }
.l-footer__sns .icon {
      width: 40px;
      height: 40px; }
.l-footer__sns span {
      font-family: var(--font-en);
      font-weight: 600;
      font-size: 1.6rem;
      line-height: 1.5em; }
.l-global-nav {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  z-index: 3002;
  background-color: transparent; }
.l-global-nav::backdrop {
    display: none; }
.l-global-nav:not([open]) {
    display: none; }
.l-global-nav__inner {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    height: 100%; }
.l-global-nav__close {
    position: absolute;
    top: 24px;
    right: 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    width: 30px;
    height: 30px;
    padding: 0;
    background-color: transparent;
    border: none;
    outline: none;
    color: var(--c-black);
    cursor: pointer;
    -webkit-transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 10; }
.l-global-nav__close svg {
      width: 100%;
      height: 100%; }
.l-global-nav__content {
    width: 100%;
    height: 100%;
    overflow-y: auto; }
.l-global-nav__list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
    -ms-grid-rows: (1fr)[2];
    grid-template-rows: repeat(2, 1fr);
    width: 100%;
    height: 100%; }
html.is-ipad .l-global-nav__list {
      -ms-grid-columns: (1fr)[4];
      grid-template-columns: repeat(4, 1fr); }
.l-global-nav__item {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 16px;
    padding-inline: 40px;
    padding-block: 40px 56px; }
.l-global-nav__item-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    -webkit-transition: clip-path 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: clip-path 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 0; }
.l-global-nav__item-roll-bg {
    position: absolute;
    top: -50%;
    left: -25%;
    width: 200%;
    height: 200%;
    -webkit-transform: translateX(-100%) rotate(-90deg);
            transform: translateX(-100%) rotate(-90deg);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    z-index: 1; }
.l-global-nav__category {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 16px;
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
    z-index: 2; }
.l-global-nav__category-en {
      display: block;
      font-family: var(--font-en);
      font-weight: 600;
      font-size: 4rem;
      line-height: 1;
      color: var(--c-white); }
.l-global-nav__category-ja {
      display: block;
      font-weight: 700;
      font-size: 2.4rem;
      line-height: 1.8; }
.l-global-nav__submenu {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 16px;
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
    z-index: 2; }
.l-global-nav__submenu-link {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      gap: 8px;
      text-decoration: none;
      color: var(--c-black); }
.l-global-nav__submenu-link[target="_blank"] .l-global-nav__submenu-icon.-blank {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
.l-global-nav__submenu-text {
      font-size: 1.6rem;
      line-height: 1.8; }
.l-global-nav__submenu-icon.-blank {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      gap: 0;
      width: 40px;
      height: 40px;
      background-color: transparent;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      color: var(--c-black);
      -webkit-transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.l-global-nav__submenu-icon.-blank svg {
        width: 18px;
        height: 18px;
        -webkit-transform: none;
                transform: none;
        -webkit-animation: none !important;
                animation: none !important; }
.l-global-nav__submenu-icon.-blank svg path {
          fill: currentColor; }
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 80px;
  background-color: transparent;
  z-index: 3001; }
.header__inner {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    width: 100%;
    max-width: calc(1280px + (var(--side-padding) * 2));
    margin-inline: auto;
    padding-inline: var(--side-padding);
    height: 100%; }
.header__logo {
    -ms-flex-negative: 0;
        flex-shrink: 0; }
.header__logo-link {
      display: block;
      line-height: 0; }
.header__logo-link img {
        width: 80px;
        height: auto; }
.header__nav {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    position: relative;
    height: 100%; }
.header__nav::before {
      content: '';
      position: absolute;
      top: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      width: 97.5%;
      min-width: 1082px;
      height: 100%;
      background-color: var(--c-green-lime);
      clip-path: polygon(24px 0, calc(100% - 24px) 0, 100% 24px, 100% calc(100% - 24px), calc(100% - 24px) 100%, 24px 100%, 0 calc(100% - 24px), 0 24px);
      z-index: -1; }
.header__nav-list {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: stretch;
          -ms-flex-align: stretch;
              align-items: stretch;
      gap: 36px;
      height: 100%; }
.header__nav-item {
      -ms-flex-negative: 0;
          flex-shrink: 0; }
.header__nav-wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      gap: 3px;
      position: relative;
      height: 100%;
      isolation: isolate;
      cursor: pointer; }
.header__nav-follower {
      position: absolute;
      top: 0;
      left: 0;
      width: 0;
      height: 100%;
      background-color: var(--c-gray-blue-light);
      clip-path: polygon(24px 0, calc(100% - 24px) 0, 100% 24px, 100% calc(100% - 24px), calc(100% - 24px) 100%, 24px 100%, 0 calc(100% - 24px), 0 24px);
      -webkit-transition: width 0.4s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), clip-path 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.4s cubic-bezier(0.19, 1, 0.22, 1);
      transition: width 0.4s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), clip-path 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.4s cubic-bezier(0.19, 1, 0.22, 1);
      transition: transform 0.4s cubic-bezier(0.19, 1, 0.22, 1), width 0.4s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), clip-path 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: transform 0.4s cubic-bezier(0.19, 1, 0.22, 1), width 0.4s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), clip-path 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.4s cubic-bezier(0.19, 1, 0.22, 1);
      z-index: -1;
      pointer-events: none;
      opacity: 0; }
.header__nav-follower.is-active {
        opacity: 1; }
.header__nav-follower.is-hover {
        clip-path: polygon(24px 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 100% 100%, 0 100%, 0 100%, 0 24px); }
.header__nav-label {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      gap: 3px; }
.header__nav-text-en {
      font-family: var(--font-en);
      font-weight: 600;
      font-size: 24px;
      line-height: 1em; }
.header__nav-text-ja {
      font-weight: 400;
      font-size: 1rem;
      line-height: 1.4em;
      color: var(--c-black); }
.header__submenu {
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%) scaleY(0);
            transform: translateX(-50%) scaleY(0);
    -webkit-transform-origin: center top;
            transform-origin: center top;
    min-width: 360px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    padding: 30px 40px 32px;
    background-color: var(--c-gray-blue-light);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    pointer-events: none;
    z-index: 100;
    clip-path: polygon(24px 0, calc(100% - 24px) 0, 100% 24px, 100% calc(100% - 24px), calc(100% - 24px) 100%, 24px 100%, 0 calc(100% - 24px), 0 24px); }
.header__submenu-list {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: stretch;
          -ms-flex-align: stretch;
              align-items: stretch;
      gap: 30px;
      opacity: 0;
      -webkit-transform: translateY(-10px);
              transform: translateY(-10px);
      -webkit-transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      -webkit-transition-delay: 0s;
              transition-delay: 0s; }
.header__nav-wrapper:hover .header__submenu-list {
        opacity: 1;
        -webkit-transform: translateY(0);
                transform: translateY(0);
        -webkit-transition-delay: 0.1s;
                transition-delay: 0.1s; }
.header__submenu-link {
      --arrow-distance: 40px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      gap: 16px;
      text-decoration: none;
      color: var(--c-black); }
.header__submenu-link .header__submenu-icon {
        overflow: hidden;
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; }
.header__submenu-link .header__submenu-icon svg {
          position: absolute; }
.header__submenu-link .header__submenu-icon svg:first-child {
            translate: calc(var(--arrow-distance) * -1) 0; }
.header__submenu-link .header__submenu-icon svg:last-child {
            translate: 0 0; }
.header__submenu-link[target="_blank"] .header__submenu-icon:not(.-blank) {
        display: none; }
.header__submenu-link[target="_blank"] .header__submenu-icon.-blank {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
.header__submenu-text {
      font-size: 1.6rem;
      line-height: 1.8em;
      -webkit-transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.header__submenu-icon {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      gap: 0;
      width: 40px;
      height: 40px;
      background-color: var(--section-color, var(--c-gray));
      -ms-flex-negative: 0;
          flex-shrink: 0;
      color: var(--arrow-color); }
.header__submenu-icon svg {
        width: 20px;
        height: 14px;
        -o-object-fit: contain;
           object-fit: contain;
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg); }
.header__submenu-icon svg path {
          fill: var(--arrow-color, #fff) !important; }
.header__submenu-icon.-blank {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      gap: 0;
      width: 40px;
      height: 40px;
      background-color: transparent;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      color: var(--c-black);
      -webkit-transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.header__submenu-icon.-blank svg {
        width: 18px;
        height: 18px;
        -webkit-transform: none;
                transform: none;
        -webkit-animation: none !important;
                animation: none !important; }
.header__submenu-icon.-blank svg path {
          fill: currentColor; }
.header__submenu-link:hover .header__submenu-icon.-blank {
        color: var(--section-color, var(--c-orange)) !important; }
.header__menu-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    width: 80px;
    height: 80px;
    clip-path: polygon(32% 0, calc(100% - 32%) 0, 100% 32%, 100% calc(100% - 32%), calc(100% - 32%) 100%, 32% 100%, 0 calc(100% - 32%), 0 32%);
    position: relative;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-left: 10px;
    padding: 0;
    background-color: var(--c-yellow);
    outline: none;
    border: none;
    cursor: pointer; }
.header__menu-button::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      width: 30px;
      height: 30px;
      margin-top: -15px;
      margin-left: -15px;
      background-color: var(--c-gray-blue-light);
      border-radius: 50%;
      -webkit-transform: scale(0);
              transform: scale(0);
      -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      z-index: 0; }
.header__menu-text {
    position: relative;
    z-index: 1;
    font-family: var(--font-en);
    font-weight: 600;
    font-size: 1.6rem;
    line-height: 1.8em;
    color: var(--c-black); }
html.is-ipad .header__nav {
  display: none; }
html.is-ipad .header__menu-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
.l-loading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0;
  position: fixed;
  top: inherit;
  z-index: 5001;
  width: 100%;
  height: 100%;
  background-color: #ECEFF1; }
.l-loading__logo {
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 1;
    width: 100%;
    max-width: 409px;
    -webkit-transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.l-loading__pics {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 52px 64px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    overflow: hidden;
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    max-height: 924px;
    padding: var(--space-40);
    pointer-events: none; }
.l-loading__pic {
    opacity: 0;
    max-width: 172px; }
.l-loading__main {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 3;
    pointer-events: none;
    width: 100%;
    max-width: 1250px; }
.l-loading__book {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: calc(544 / 1250 * 100%);
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
            transform-origin: center center; }
.l-loading__book-img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
.l-loading__book-img img {
        width: 100%;
        height: 100%;
        -o-object-fit: contain;
           object-fit: contain; }
.l-loading__caption {
    position: absolute;
    z-index: 4;
    opacity: 0;
    pointer-events: none; }
.l-loading__caption img {
      width: 100%;
      height: auto; }
.l-main {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  z-index: 1010;
  position: relative; }
.l-main::before {
    content: '';
    position: absolute;
    bottom: 100px;
    left: 50%;
    -webkit-transform: translate(-50%, calc(104px + 15px));
            transform: translate(-50%, calc(104px + 15px));
    width: calc(100% - 60px);
    height: calc(224px + 24px);
    background-color: rgba(0, 0, 0, 0.1);
    border-radius: 20px;
    -webkit-filter: blur(25px);
            filter: blur(25px);
    z-index: -2; }
.l-main::after {
    content: '';
    display: block;
    width: 100%;
    height: calc(224px + 60px);
    background-color: var(--c-white);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 20px 100%, 0 calc(100% - 20px));
    z-index: -1; }
.p-notfound .c-page-title {
  font-family: var(--font-en); }
.p-notfound__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0; }
.p-notfound__info {
  position: relative;
  font-family: var(--font-en);
  font-size: 40rem;
  line-height: 1;
  color: var(--c-black);
  font-weight: 600; }
.p-notfound__info-pic {
  position: absolute;
  top: 0;
  left: 159px;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  -webkit-transform: perspective(400px) translateZ(-10px) translateX(4px);
          transform: perspective(400px) translateZ(-10px) translateX(4px);
  -webkit-transition: opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.p-notfound__info-pic.is-animated {
    opacity: 1;
    -webkit-transform: perspective(400px) translateZ(0) translateX(0);
            transform: perspective(400px) translateZ(0) translateX(0); }
.p-notfound__desc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
  margin-top: 92px; }
.p-admission dl[data-type="line"] dt .large {
  font-size: 2.4rem;
  line-height: 2;
  color: var(--c-black); }
.p-admission__simulation-row[data-row="start"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0; }
.p-admission__simulation-column {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 100%;
  grid-template-columns: 100%;
  -ms-grid-rows: auto;
  grid-template-rows: auto;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  grid-gap: var(--space-24);
  gap: var(--space-24); }
.p-admission__simulation-label {
  display: block;
  position: relative;
  z-index: 2;
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
  font-size: 2.4rem;
  line-height: 2;
  color: var(--c-black);
  font-weight: 600;
  text-align: center;
  text-box-trim: trim-both; }
.p-admission__simulation-elm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0;
  clip-path: polygon(20px 0, calc(100% - 20px) 0, 100% 20px, 100% calc(100% - 20px), calc(100% - 20px) 100%, 20px 100%, 0 calc(100% - 20px), 0 20px);
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 304px;
  padding-inline: var(--space-40);
  padding-block: var(--space-24);
  background-color: var(--c-yellow);
  -webkit-transition: background-color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: background-color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.p-admission__simulation-elm .l-btn-wrap {
    gap: 0; }
.p-admission__simulation-elm .c-btn {
    min-width: 190px; }
.p-admission__simulation-elm .c-btn.-selected {
      background-color: var(--c-orange);
      color: var(--c-black);
      pointer-events: none; }
.p-admission__simulation-elm-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
  font-size: 1.6rem;
  line-height: 1.5;
  color: var(--c-black);
  font-weight: 600;
  text-align: center; }
.p-admission__simulation-elm[data-elm="link"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0;
  padding-block: var(--space-40);
  background-color: var(--c-orange);
  color: var(--c-white); }
.p-admission__simulation-elm[data-elm="link"] .p-admission__simulation-elm-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: var(--space-24);
    width: 100%;
    height: auto; }
.p-admission__simulation-elm[data-elm="link"] .p-admission__simulation-elm-group.-type-b {
      gap: var(--space-48); }
.p-admission__simulation-elm[data-elm="link"] .p-admission__simulation-elm-desc {
    width: 100%;
    font-size: 1.6rem;
    line-height: 1.6;
    color: var(--c-white);
    font-weight: 600;
    text-align: center; }
.p-admission__simulation-elm[data-elm="link"] .p-admission__simulation-elm-title {
    display: block;
    width: 100%;
    font-size: 3.2rem;
    line-height: 1.2;
    color: var(--c-white);
    font-weight: 600;
    text-align: center; }
.p-admission__simulation-elm[data-elm="link"] .p-admission__simulation-elm-note {
    width: 100%;
    font-size: 1.6rem;
    line-height: 1.5;
    color: var(--c-white);
    font-weight: 600;
    text-align: center; }
.p-admission__simulation-elm[data-elm="link"] .p-admission__simulation-elm-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: var(--space-16);
    width: 100%; }
.p-admission__simulation-elm[data-elm="link"] .p-admission__simulation-elm-heading {
    display: block;
    font-size: 2.4rem;
    line-height: 1.5;
    color: var(--c-white);
    font-weight: 600; }
.p-admission__simulation-elm[data-elm="link"] .p-admission__simulation-elm-list li {
    padding-inline: 0; }
.p-admission__simulation-elm[data-elm="link"] .p-admission__simulation-elm-list li::before {
      display: none; }
.p-admission__simulation-elm[data-elm="link"] .p-admission__simulation-elm-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: var(--space-16);
    font-size: 1.6rem;
    line-height: 1.5;
    color: var(--c-white);
    font-weight: 600;
    text-decoration: none;
    -webkit-transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.p-admission__simulation-elm[data-elm="link"] .p-admission__simulation-elm-link:hover {
      opacity: 0.7; }
.p-admission__simulation-elm[data-elm="link"] .p-admission__simulation-elm-link .icon {
      width: 20px;
      height: 20px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
.p-admission__simulation-elm[data-elm="link"] .p-admission__simulation-elm-link .icon svg {
        width: 100%;
        height: auto;
        fill: currentColor; }
.p-admission__simulation-elm.-disabled {
  pointer-events: none;
  background-color: var(--c-gray-light); }
.p-admission__simulation-elm.-disabled .p-admission__simulation-elm-title,
  .p-admission__simulation-elm.-disabled .p-admission__simulation-elm-desc,
  .p-admission__simulation-elm.-disabled .p-admission__simulation-elm-note,
  .p-admission__simulation-elm.-disabled .p-admission__simulation-elm-heading,
  .p-admission__simulation-elm.-disabled .p-admission__simulation-elm-link {
    color: var(--c-black) !important; }
.p-admission__simulation-elm.-disabled .c-btn {
    background-color: var(--c-gray); }
.p-admission__simulation-elm[id="case06"] .p-admission__simulation-elm-title {
  font-size: 2.4rem;
  line-height: 1.6;
  color: var(--c-white); }
.p-all-day__tab-trigger {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr); }
.p-all-day__tab-trigger button {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    font-size: 3.2rem;
    line-height: 1.8;
    color: var(--c-black);
    padding: 0;
    padding-block: 28px;
    border: none;
    border-radius: 0;
    background: none;
    font-weight: 600;
    background-color: var(--trigger-color, --c-white); }
.p-all-day__tab-item {
  padding-inline: 36px;
  padding-block: var(--space-40);
  background-color: var(--content-color, --c-white); }
.p-dedicated .l-content {
  -webkit-margin-before: 128px;
          margin-block-start: 128px; }
.p-dedicated__login {
  max-width: 600px;
  margin-inline: auto;
  padding: 80px;
  background-color: var(--c-gray-blue-light);
  clip-path: polygon(60px 0, calc(100% - 60px) 0, 100% 60px, 100% calc(100% - 60px), calc(100% - 60px) 100%, 60px 100%, 0 calc(100% - 60px), 0 60px); }
.p-dedicated__login-title {
  -webkit-margin-after: 24px;
          margin-block-end: 24px;
  font-size: 6.4rem;
  font-weight: 600;
  line-height: 1.4;
  text-align: center; }
.p-dedicated__login-text {
  font-size: 1.6rem;
  -webkit-margin-after: 40px;
          margin-block-end: 40px;
  text-align: center; }
.p-dedicated__login-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0;
  -webkit-margin-before: 40px;
          margin-block-start: 40px;
  font-family: var(--font-en); }
.p-dedicated .c-form__input {
  display: block;
  width: 100%;
  height: 64px;
  border: none;
  background-color: var(--c-white);
  padding-inline: 24px;
  font-size: 1.4rem;
  color: var(--c-black); }
.p-dedicated .c-form__input::-webkit-input-placeholder {
    color: var(--c-gray);
    text-transform: uppercase; }
.p-dedicated .c-form__input::-moz-placeholder {
    color: var(--c-gray);
    text-transform: uppercase; }
.p-dedicated .c-form__input::-ms-input-placeholder {
    color: var(--c-gray);
    text-transform: uppercase; }
.p-dedicated .c-form__input::placeholder {
    color: var(--c-gray);
    text-transform: uppercase; }
.p-facilities__content {
  position: relative;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-top: var(--space-80); }
.p-facilities__content-inner {
    position: relative;
    min-width: 1100px;
    margin: 0 auto; }
.p-facilities__content .c-unit {
    /* マップ上の各ピンの配置基準。x,y座標指定は各アイテムで個別に行う想定 */
    position: absolute;
    top: var(--pc-top, auto);
    bottom: var(--pc-bottom, auto);
    left: var(--pc-left, auto);
    right: var(--pc-right, auto);
    z-index: 10;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    -webkit-filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.3));
            filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.3)); }
.p-facilities__content .c-unit .js-modal-trigger {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      position: relative;
      padding: 6px 16px;
      background-color: #ff0084;
      color: #fff;
      font-size: 24px;
      font-weight: bold;
      line-height: 1.8;
      white-space: nowrap;
      text-decoration: none;
      /* ホバー時のバウンス用キーフレーム（1往復） */
      /* 吹き出しの下向き三角形 */ }
@-webkit-keyframes bounce {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@keyframes bounce {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
.p-facilities__content .c-unit .js-modal-trigger::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        -webkit-transform: translateX(-50%);
                transform: translateX(-50%);
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 15px 8.66px 0;
        border-color: #ff0084 transparent transparent transparent; }
.p-facilities__map img {
  width: 100%;
  height: auto;
  display: block; }
.p-gallery-category {
  -webkit-margin-after: 80px;
          margin-block-end: 80px; }
.p-gallery-filter__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px; }
.p-gallery-filter__row + .p-gallery-filter__row {
    -webkit-margin-before: 16px;
            margin-block-start: 16px; }
.p-gallery-filter__label {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 120px;
  font-family: var(--font-en);
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em; }
.p-gallery-filter__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 32px; }
.p-gallery-filter__link {
  display: block;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--c-black);
  -webkit-transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.p-gallery-filter__link.is-active {
    color: var(--c-black);
    pointer-events: none;
    text-decoration: underline;
    text-underline-offset: 4px; }
.p-gallery-filter__archive {
  position: relative;
  display: inline-block; }
.p-gallery-filter__archive::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 14px;
    width: 7px;
    height: 7px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    -webkit-transform: translateY(-70%) rotate(45deg);
            transform: translateY(-70%) rotate(45deg);
    pointer-events: none; }
.p-gallery-filter__select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  border-radius: 0;
  padding: 8px 40px 8px 16px;
  font-size: 1.6rem;
  line-height: 1.5;
  background-color: #F3F8FB;
  cursor: pointer;
  min-width: 160px; }
.p-gallery-contents {
  -webkit-margin-after: 80px;
          margin-block-end: 80px; }
.p-gallery-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 48px 32px;
  gap: 48px 32px; }
.p-gallery-list__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0; }
.p-gallery-list__caption {
    width: 100%;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 0.8;
    text-align: center; }
.p-gallery-detail__category-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0;
  font-size: 1.6rem;
  line-height: 1.8;
  color: var(--c-black);
  font-weight: 600; }
.p-gallery-detail__category-labelEn {
  font-family: var(--font-en);
  text-box-trim: trim-both; }
.p-gallery-detail__category-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
.p-gallery-detail__category-tag {
  display: inline-block;
  padding-inline: var(--space-8);
  padding-block: 6px;
  background-color: var(--c-yellow);
  font-size: 1.6rem;
  line-height: 1;
  color: var(--c-black);
  font-weight: 600;
  text-decoration: none;
  -webkit-transition: background-color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: background-color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.p-gallery-detail__content {
  margin-top: var(--space-32); }
.p-gallery-detail__link {
  display: block; }
.p-gallery-detail__img {
  overflow: hidden;
  aspect-ratio: 352 / 264; }
.p-gallery-detail__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; }
.p-gallery-detail__btn {
  margin-top: 88px; }
.p-home::after {
  background-color: var(--c-green-light); }
.p-home__section {
  position: relative; }
.p-home__section-content {
  width: 100%;
  max-width: calc(1120px + (var(--side-padding) * 2));
  margin-inline: auto;
  padding-inline: var(--side-padding); }
.p-home__section-title {
  position: absolute;
  top: -38px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-family: var(--font-en);
  font-size: 8rem;
  font-weight: 600;
  line-height: 1;
  text-align: center; }
.p-home__news .p-home__section-title {
    position: relative;
    top: unset;
    left: unset;
    -webkit-transform: translateX(0);
            transform: translateX(0); }
.p-home__section-lead {
  margin-top: 16px;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.8;
  text-align: center; }
.p-home__news .l-btn-wrap {
  margin-top: var(--space-80); }
.p-home__news-content {
  margin-top: var(--space-64); }
.p-home__news-content + .p-home__news-content {
    margin-top: var(--space-80); }
.p-home__news-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  position: relative;
  z-index: 2; }
.p-home__news-heading .en {
    font-family: var(--font-en);
    font-size: 4rem;
    font-weight: 600;
    line-height: 1; }
.p-home__news-heading .ja {
    margin-top: 6px;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1; }
.p-home__news-list {
  position: relative;
  z-index: 1;
  margin-top: -6px; }
.p-home__news-item:nth-child(1) .c-card-home__inner {
  background-color: var(--c-blue); }
.p-home__news-item:nth-child(2) .c-card-home__inner {
  background-color: var(--c-yellow); }
.p-home__news-item:nth-child(3) .c-card-home__inner {
  background-color: var(--c-orange); }
.p-home__lunch .c-card-lunch {
  margin-top: -6px; }
.p-home__lunch .l-btn-wrap {
  margin-top: var(--space-80); }
.p-home__features {
  background-color: var(--c-yellow); }
.p-home__features-content {
  width: 100%;
  max-width: calc(1120px + (var(--side-padding) * 2));
  margin-inline: auto;
  padding-inline: var(--side-padding); }
.p-home__features-figure {
  position: relative;
  z-index: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0; }
.p-home__features-figure figure {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    opacity: 1 !important;
    clip-path: polygon(0 0, calc(100% - 100px) 0, 100% 100px, 100% calc(100% - 100px), calc(100% - 100px) 100%, 0 100%); }
.p-home__features-figure figure img {
      -webkit-transform: scale(1.1);
              transform: scale(1.1);
      position: relative;
      z-index: 1;
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover; }
.p-home__features-figure figure::after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 2;
      background-image: url(../images/common/shadow.png);
      background-position: top left;
      background-repeat: no-repeat;
      background-size: cover;
      pointer-events: none; }
.p-home__features-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 40px;
  position: relative;
  z-index: 2; }
.p-home__features-caption {
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1; }
.p-home__features-desc {
  font-size: 1.6rem;
  line-height: 1.8;
  color: var(--c-black); }
.p-home__admission {
  position: relative;
  background-color: var(--c-green-light); }
.p-home__admission-content {
  width: 100%;
  max-width: calc(1120px + (var(--side-padding) * 2));
  margin-inline: auto;
  padding-inline: var(--side-padding); }
.p-home__admission-figure {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0; }
.p-home__admission-figure figure {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    opacity: 1 !important;
    clip-path: polygon(100px 0, 100% 0, 100% 100%, 100px 100%, 0 calc(100% - 100px), 0 100px); }
.p-home__admission-figure figure img {
      -webkit-transform: scale(1.1);
              transform: scale(1.1);
      position: relative;
      z-index: 1;
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover; }
.p-home__admission-figure figure::after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 2;
      background-image: url(../images/common/shadow.png);
      background-position: top left;
      background-repeat: no-repeat;
      background-size: cover;
      -webkit-transform: scaleX(-1);
              transform: scaleX(-1);
      pointer-events: none; }
.p-home__admission-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 40px; }
.p-home__admission-info .c-html dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: var(--space-72); }
.p-home__admission-info .c-html dl dt {
      min-width: 128px; }
.p-home__admission-caption {
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1; }
.p-home__admission-desc {
  font-size: 1.6rem;
  line-height: 1.8;
  color: var(--c-black); }
.p-home__admission-about {
  width: 100%;
  max-width: calc(1120px + (var(--side-padding) * 2));
  margin-inline: auto;
  padding-inline: var(--side-padding); }
.p-home__fixed-pic {
  position: relative;
  overflow: hidden; }
.p-home__fixed-pic img {
    width: 100%; }
.p-home__aside {
  position: relative;
  background-color: var(--c-green-light); }
.p-home__aside::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 2px;
    background-color: var(--c-green-light);
    pointer-events: none; }
.p-home__aside .section {
    width: 100%;
    max-width: calc(1120px + (var(--side-padding) * 2));
    margin-inline: auto;
    padding-inline: var(--side-padding); }
.p-home__aside a.card {
    color: var(--c-black) !important;
    text-decoration: none !important;
    overflow: visible !important; }
.p-home__aside a.card .caption {
      font-size: 3.2rem;
      font-weight: 600;
      line-height: 1;
      text-align: center;
      -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.p-home__aside a.card .figure {
      clip-path: polygon(20px 0, calc(100% - 20px) 0, 100% 20px, 100% calc(100% - 20px), calc(100% - 20px) 100%, 20px 100%, 0 calc(100% - 20px), 0 20px); }
.p-home__aside a.card .figure img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover; }
.p-home__aside a.card .info {
      margin-top: 16px; }
.p-home__aside a.card .desc p {
      line-height: 1.8; }
.p-home__aside a.card .label {
      display: inline-block;
      margin-right: var(--space-8);
      margin-bottom: var(--space-8);
      padding-top: 1px;
      padding-inline: var(--space-8);
      background-color: var(--c-white); }
.p-home__aside-chart {
  position: relative; }
.p-home__aside-chart .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 7px;
    position: absolute; }
.p-home__aside-chart .item[data-item="hiyoko"] {
      top: 97px;
      left: 384px; }
.p-home__aside-chart .item[data-item="custody-childcare"] {
      top: 177px;
      left: 384px; }
.p-home__aside-chart .item[data-item="custody-childcare"] .bar {
        width: 584px; }
.p-home__aside-chart .item[data-item="extracurricular"] {
      top: 257px;
      right: 4px; }
.p-home__aside-chart .item[data-item="extracurricular"] .bar {
        width: 584px; }
.p-home__aside-chart .item[data-item="chibikko"] {
      top: 361px;
      left: 236px; }
.p-home__aside-chart .item[data-item="chibikko"] .bar {
        width: 288px; }
.p-home__aside-chart .item[data-item="mamekko"] {
      bottom: 197px;
      left: 384px; }
.p-home__aside-chart .item[data-item="powerful"] {
      bottom: 117px;
      left: 384px; }
.p-home__aside-chart .item[data-item="playground"] {
      bottom: 37px;
      left: 88px; }
.p-home__aside-chart .item[data-item="playground"] .bar {
        width: 288px; }
.p-home__aside-chart .link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px;
    font-size: 1.6rem;
    line-height: 1;
    color: var(--c-black);
    color: var(--c-black) !important;
    font-weight: 700;
    text-decoration: none !important;
    text-align: center; }
.p-home__aside-chart .icon {
    width: 20px;
    height: 20px;
    color: var(--item-color); }
.p-home__aside-chart .bar {
    display: block;
    width: 140px;
    height: 24px;
    background-color: var(--item-color, #F47C6F); }
.p-movie .c-page-title {
  font-family: var(--font-en); }
.p-movie-category {
  -webkit-margin-after: 80px;
          margin-block-end: 80px; }
.p-movie-filter__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px; }
.p-movie-filter__row + .p-movie-filter__row {
    -webkit-margin-before: 16px;
            margin-block-start: 16px; }
.p-movie-filter__label {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 120px;
  font-family: var(--font-en);
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em; }
.p-movie-filter__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 32px; }
.p-movie-filter__link {
  display: block;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--c-black);
  -webkit-transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.p-movie-filter__link.is-active {
    color: var(--c-black);
    pointer-events: none;
    text-decoration: underline;
    text-underline-offset: 4px; }
.p-movie-filter__archive {
  position: relative;
  display: inline-block; }
.p-movie-filter__archive::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 14px;
    width: 7px;
    height: 7px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    -webkit-transform: translateY(-70%) rotate(45deg);
            transform: translateY(-70%) rotate(45deg);
    pointer-events: none; }
.p-movie-filter__select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  border-radius: 0;
  padding: 8px 40px 8px 16px;
  font-size: 1.6rem;
  line-height: 1.5;
  background-color: #F3F8FB;
  cursor: pointer;
  min-width: 160px; }
.p-movie-contents {
  -webkit-margin-after: 80px;
          margin-block-end: 80px; }
.p-movie-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 48px 32px;
  gap: 48px 32px; }
.p-movie-list__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0; }
.p-movie-list__caption {
    width: 100%;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 0.8;
    text-align: center; }
@use "sass:map";
.p-news-category {
  -webkit-margin-after: 80px;
          margin-block-end: 80px; }
.p-news-filter__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px; }
.p-news-filter__row + .p-news-filter__row {
    -webkit-margin-before: 16px;
            margin-block-start: 16px; }
.p-news-filter__label {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 120px;
  font-family: var(--font-en);
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em; }
.p-news-filter__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--space-8) var(--space-32); }
.p-news-filter__link {
  display: block;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--c-black);
  -webkit-transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.p-news-filter__link.is-active {
    color: var(--c-black);
    pointer-events: none;
    text-decoration: underline;
    text-underline-offset: 4px; }
.p-news-filter__archive {
  position: relative;
  display: inline-block; }
.p-news-filter__archive::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 14px;
    width: 7px;
    height: 7px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    -webkit-transform: translateY(-70%) rotate(45deg);
            transform: translateY(-70%) rotate(45deg);
    pointer-events: none; }
.p-news-filter__select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  border-radius: 0;
  padding: 8px 40px 8px 16px;
  font-size: 1.6rem;
  line-height: 1.5;
  background-color: #F3F8FB;
  cursor: pointer;
  min-width: 160px; }
.p-news-contents {
  -webkit-margin-after: 80px;
          margin-block-end: 80px; }
.p-news-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 48px 32px;
  gap: 48px 32px; }
.p-news-list__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0; }
.p-news-list__caption {
    width: 100%;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 0.8;
    text-align: center; }
.p-news-detail__category-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0;
  font-size: 1.6rem;
  line-height: 1.8;
  color: var(--c-black);
  font-weight: 600; }
.p-news-detail__category-labelEn {
  font-family: var(--font-en);
  text-box-trim: trim-both; }
.p-news-detail__category-labelJa + .p-news-detail__category-labelJa {
  margin-left: var(--space-16); }
.p-news-detail__category-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
.p-news-detail__category-tag {
  display: inline-block;
  padding-inline: var(--space-8);
  padding-block: 6px;
  background-color: var(--c-yellow);
  font-size: 1.6rem;
  line-height: 1;
  color: var(--c-black);
  font-weight: 600;
  text-decoration: none;
  -webkit-transition: background-color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: background-color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.p-news-detail__content {
  margin-top: var(--space-32); }
.p-news-detail__content p a {
    display: inline-block; }
.p-news-detail__content p a + a {
      -webkit-margin-before: var(--space-24);
              margin-block-start: var(--space-24); }
.p-news-detail__content p img {
    display: inline-block; }
.p-news-detail__content p img + img {
      -webkit-margin-before: var(--space-24);
              margin-block-start: var(--space-24); }
.p-news-detail__btn {
  margin-top: 88px; }
.c-attention {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 8px; }
.c-attention li {
    font-size: 1.6rem;
    line-height: 1.8;
    color: var(--c-black);
    position: relative;
    -webkit-padding-start: 1.8rem;
            padding-inline-start: 1.8rem; }
.c-attention li::before {
      content: '※';
      position: absolute;
      top: 0;
      left: 0; }
.c-html .c-attention {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 8px; }
.c-html .c-attention li {
      font-size: 1.6rem;
      line-height: 1.8;
      color: var(--c-black);
      position: relative;
      -webkit-padding-start: 1.8rem;
              padding-inline-start: 1.8rem; }
.c-html .c-attention li::before {
        content: '※';
        position: absolute;
        top: 0;
        left: 0; }
/**
 * Balloon Component
 * 吹き出しコンポーネント
 *
 * Usage:
 * - クラス名で色指定: <span class="c-balloon c-balloon--yellow">テキスト</span>
 * - data-color属性で色指定: <span class="c-balloon" data-color="yellow">テキスト</span>
 * - カスタムカラー: <span class="c-balloon" style="--balloon-color: #CBFF00">テキスト</span>
 */
.c-balloon,
.c-balloon-icon {
  --balloon-color: var(--section-color, var(--c-green-lime));
  --balloon-text-color: var(--section-color-text, var(--c-white)); }
.c-balloon--yellow,
  .c-balloon-icon--yellow {
    --balloon-color: var(--c-yellow);
    --balloon-text-color: var(--c-black); }
.c-balloon--green,
  .c-balloon-icon--green {
    --balloon-color: var(--c-green-bright);
    --balloon-text-color: var(--c-white); }
.c-balloon--orange,
  .c-balloon-icon--orange {
    --balloon-color: var(--c-orange);
    --balloon-text-color: var(--c-white); }
.c-balloon--purple,
  .c-balloon-icon--purple {
    --balloon-color: var(--c-purple);
    --balloon-text-color: var(--c-white); }
.c-balloon--pink,
  .c-balloon-icon--pink {
    --balloon-color: var(--c-pink);
    --balloon-text-color: var(--c-white); }
.c-balloon--blue,
  .c-balloon-icon--blue {
    --balloon-color: var(--c-blue);
    --balloon-text-color: var(--c-white); }
.c-balloon--salmon,
  .c-balloon-icon--salmon {
    --balloon-color: var(--c-salmon);
    --balloon-text-color: var(--c-white); }
.c-balloon--lime,
  .c-balloon-icon--lime {
    --balloon-color: var(--c-green-lime);
    --balloon-text-color: var(--c-black); }
.c-balloon[data-color="yellow"],
  .c-balloon-icon[data-color="yellow"] {
    --balloon-color: var(--c-yellow);
    --balloon-text-color: var(--c-black); }
.c-balloon[data-color="green"],
  .c-balloon-icon[data-color="green"] {
    --balloon-color: var(--c-green-bright);
    --balloon-text-color: var(--c-white); }
.c-balloon[data-color="orange"],
  .c-balloon-icon[data-color="orange"] {
    --balloon-color: var(--c-orange);
    --balloon-text-color: var(--c-white); }
.c-balloon[data-color="purple"],
  .c-balloon-icon[data-color="purple"] {
    --balloon-color: var(--c-purple);
    --balloon-text-color: var(--c-white); }
.c-balloon[data-color="pink"],
  .c-balloon-icon[data-color="pink"] {
    --balloon-color: var(--c-pink);
    --balloon-text-color: var(--c-white); }
.c-balloon[data-color="blue"],
  .c-balloon-icon[data-color="blue"] {
    --balloon-color: var(--c-blue);
    --balloon-text-color: var(--c-white); }
.c-balloon[data-color="salmon"],
  .c-balloon-icon[data-color="salmon"] {
    --balloon-color: var(--c-salmon);
    --balloon-text-color: var(--c-white); }
.c-balloon[data-color="lime"],
  .c-balloon-icon[data-color="lime"] {
    --balloon-color: var(--c-green-lime);
    --balloon-text-color: var(--c-black); }
.c-balloon {
  display: inline-block;
  position: relative;
  padding-inline: 16px;
  padding-block: 6px;
  color: var(--balloon-text-color);
  background-color: var(--balloon-color);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.8; }
.c-balloon::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 8px 0 8px;
    border-color: var(--balloon-color) transparent transparent transparent; }
.c-balloon-icon {
  display: inline-block;
  vertical-align: middle;
  width: 80px;
  height: 24px;
  color: var(--balloon-color); }
@-webkit-keyframes bg-color-expand {
  from {
    -webkit-transform: scaleX(0);
            transform: scaleX(0); }
  to {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); } }
@keyframes bg-color-expand {
  from {
    -webkit-transform: scaleX(0);
            transform: scaleX(0); }
  to {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); } }
.c-bg-color {
  width: 100%;
  height: 288px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-animation: bg-color-expand 0.3s ease-out both;
          animation: bg-color-expand 0.3s ease-out both; }
.c-block {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 100%;
  grid-template-columns: 100%;
  -ms-grid-rows: auto;
  grid-template-rows: auto;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  grid-gap: var(--space-40);
  gap: var(--space-40);
  position: relative;
  width: 100%;
  max-width: 100%; }
.c-block:has(h2) {
    gap: var(--space-48); }
.c-block + .c-block {
    -webkit-margin-before: var(--space-80);
            margin-block-start: var(--space-80); }
.c-bread {
  width: 100%;
  max-width: calc(1120px + (var(--side-padding) * 2));
  margin-inline: auto;
  padding-inline: var(--side-padding);
  -webkit-padding-before: 168px;
          padding-block-start: 168px; }
.c-bread__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: var(--space-8) var(--space-24);
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
.c-bread__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: var(--space-24);
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4; }
.c-bread__item:first-child .c-bread__arrow {
      display: none; }
.c-bread__link {
    color: #000; }
.c-bread__arrow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 7px;
    height: 12px;
    color: var(--c-gray); }
.c-bread__arrow svg {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover; }
/**
 * Button Component
 * 共通ボタンコンポーネント
 */
.c-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  position: relative;
  min-width: 280px;
  min-height: 60px;
  padding-inline: var(--space-40);
  padding-block: 20px;
  background-color: var(--c-green-lime);
  color: var(--c-black);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  border: none;
  cursor: pointer;
  clip-path: polygon(20px 0, calc(100% - 20px) 0, 100% 20px, 100% calc(100% - 20px), calc(100% - 20px) 100%, 20px 100%, 0 calc(100% - 20px), 0 20px); }
.c-btn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -60px;
    width: calc(200% + 120px);
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--c-orange);
    -webkit-transform: translate(-50%, -50%) scale(0);
            transform: translate(-50%, -50%) scale(0);
    -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: -webkit-transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    z-index: 0; }
.c-btn__text {
    position: relative;
    z-index: 1;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    text-align: left; }
.c-btn__icon {
    position: relative;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-negative: 0;
        flex-shrink: 0; }
.c-btn__icon svg {
      width: 100%;
      height: 100%;
      fill: currentColor; }
.c-btn__icon--arrow {
    width: 20px;
    height: 14px; }
.c-btn__icon--external {
    width: 18px;
    height: 18px; }
.c-btn__icon--pdf {
    width: 20px;
    height: 25px; }
.c-btn[target="_blank"] .c-btn__icon--arrow {
    display: none; }
.c-btn[target="_blank"] .c-btn__icon--external {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
.c-btn:not([target="_blank"]) .c-btn__icon--external {
    display: none; }
.c-btn[href$=".pdf"] .c-btn__icon--arrow {
    display: none; }
.c-btn[href$=".pdf"] .c-btn__icon--external {
    display: none; }
.c-btn[href$=".pdf"] .c-btn__icon--pdf {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
.c-btn:not([href$=".pdf"]) .c-btn__icon--pdf {
    display: none; }
.c-btn[type="button"], .c-btn[type="submit"] {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    font-family: inherit; }
.c-btn--secondary {
    background-color: var(--c-yellow); }
.c-btn--secondary::before {
      background-color: var(--c-green-lime); }
.c-btn[href^="tel:"] {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
.c-btn[href^="tel:"] .c-btn__text {
      -webkit-box-flex: 0;
          -ms-flex: none;
              flex: none;
      text-align: center; }
.c-btn[href^="tel:"] .c-btn__icon {
      display: none; }
.c-btn input[type="submit"] {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: none; }
input[type="submit"].c-btn {
  -webkit-transition: background-color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: background-color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
input[type="submit"].c-btn:hover {
    background-color: var(--c-orange); }
.c-calendar iframe {
  max-width: 100%; }
.c-card-pict {
  position: relative;
  -webkit-padding-before: var(--space-32);
          padding-block-start: var(--space-32); }
.c-card-pict__number {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    font-size: 6.4rem;
    line-height: 1;
    color: var(--c-green-bright);
    font-family: var(--font-en);
    font-weight: 600;
    text-align: center;
    z-index: 1; }
.c-card-pict__inner {
    aspect-ratio: 1/1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    clip-path: polygon(16px 0, calc(100% - 16px) 0, 100% 16px, 100% calc(100% - 16px), calc(100% - 16px) 100%, 16px 100%, 0 calc(100% - 16px), 0 16px);
    padding-inline: var(--space-32);
    -webkit-padding-after: var(--space-32);
            padding-block-end: var(--space-32);
    background-color: color-mix(in srgb, var(--c-green-lime) 20%, #fff); }
.c-card-pict__icon {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%; }
.c-card-pict__icon img {
      max-width: 112px;
      width: 100%;
      height: auto; }
.c-card-pict__text {
    font-size: 2.4rem;
    line-height: 1.8;
    color: var(--c-green-bright);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: absolute;
    bottom: var(--space-32);
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: calc(100% - (var(--space-32) * 2));
    min-height: 86px;
    font-weight: 700;
    text-align: center; }
.c-section[data-color="yellow"] {
  --section-color: var(--c-yellow);
  --section-caption-text: var(--c-black); }
.c-section[data-color="green"] {
  --section-color: var(--c-green-bright); }
.c-section[data-color="blue"] {
  --section-color: var(--c-blue); }
.c-section[data-color="orange"] {
  --section-color: var(--c-orange); }
.c-section[data-color="pink"] {
  --section-color: var(--c-pink); }
.c-section[data-color="purple"] {
  --section-color: var(--c-purple); }
.c-section[data-color="red"] {
  --section-color: var(--c-red); }
.c-section[data-color="salmon"] {
  --section-color: var(--c-salmon); }
.c-section[data-color="lime"] {
  --section-color: var(--c-green-lime);
  --section-caption-text: var(--c-black); }
.c-card {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto;
  grid-template-columns: auto;
  -ms-grid-rows: none;
  grid-template-rows: none;
  -webkit-box-pack: stretch;
      -ms-flex-pack: stretch;
          justify-content: stretch;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  grid-gap: 0;
  gap: 0;
  width: 100%;
  -ms-grid-row-align: start;
      align-self: start;
  text-decoration: none;
  color: inherit; }
.c-card__number {
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
    font-family: var(--font-en);
    font-size: 2.4rem;
    line-height: 1.8;
    color: var(--section-color, var(--c-orange));
    font-weight: 600;
    text-align: center; }
.c-card__caption {
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
    font-weight: 700;
    -webkit-margin-after: var(--space-8);
            margin-block-end: var(--space-8);
    text-align: center; }
.c-card__caption span {
      display: inline;
      font-size: 2.4rem;
      line-height: 1.8;
      color: var(--section-caption-text, var(--c-white));
      font-weight: 700;
      background-image: -webkit-gradient(linear, left top, left bottom, from(var(--section-color, var(--c-salmon))), to(var(--section-color, var(--c-salmon))));
      background-image: linear-gradient(var(--section-color, var(--c-salmon)), var(--section-color, var(--c-salmon)));
      background-size: 100% 100%;
      background-repeat: no-repeat;
      -webkit-box-decoration-break: clone;
      box-decoration-break: clone;
      padding-inline: 8px;
      padding-block: 4px; }
.c-card__figure {
    aspect-ratio: 1120 / 600;
    width: 100%;
    overflow: hidden;
    -webkit-margin-after: var(--space-16);
            margin-block-end: var(--space-16);
    clip-path: polygon(20px 0, calc(100% - 20px) 0, 100% 20px, 100% calc(100% - 20px), calc(100% - 20px) 100%, 20px 100%, 0 calc(100% - 20px), 0 20px); }
[data-column="1"] .c-card__figure {
      aspect-ratio: 1120 / 600; }
[data-column="2"] .c-card__figure {
      aspect-ratio: 520 / 304; }
[data-layout="separate"] .c-card__figure {
      aspect-ratio: 520 / 304; }
[data-column="3"] .c-card__figure {
      aspect-ratio: 352 / 352; }
.c-card__figure img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover; }
.c-card__title {
    -webkit-margin-after: var(--space-16);
            margin-block-end: var(--space-16); }
.c-card__text {
    font-size: 1.6rem;
    line-height: 2;
    color: var(--c-black); }
.c-html .c-card {
    text-decoration: none !important; }
.c-html .c-card__title {
      line-height: 1.8; }
[data-color="yellow"] .c-card__caption span,
[data-color="lime"] .c-card__caption span {
  color: var(--c-black); }
/**
 * Card Daily Life Component
 * カードデイリーライフコンポーネント
 */
.c-card-daily {
  display: block;
  position: relative;
  width: 100%;
  text-decoration: none;
  color: inherit;
  overflow: visible !important; }
.c-card-daily__label {
    display: block;
    font-size: 2.4rem;
    line-height: 1;
    color: var(--c-black);
    font-weight: 600;
    text-align: center;
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.c-card-daily__inner {
    margin-top: -2px;
    clip-path: polygon(20px 0, calc(100% - 20px) 0, 100% 20px, 100% calc(100% - 20px), calc(100% - 20px) 100%, 20px 100%, 0 calc(100% - 20px), 0 20px); }
.c-card-daily__figure {
    aspect-ratio: 352 / 640;
    width: 100%;
    position: relative; }
.c-card-daily__figure img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover; }
.c-card-daily__info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0;
    padding-inline: var(--space-40);
    padding-block: var(--space-40);
    background-color: rgba(0, 0, 0, 0.2);
    z-index: 1; }
.c-card-daily__category-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-margin-after: var(--space-24);
            margin-block-end: var(--space-24); }
.c-card-daily__category {
    display: inline-block;
    padding-inline: var(--space-8);
    padding-block: 6px;
    background-color: var(--c-white);
    font-size: 1.6rem;
    line-height: 1;
    color: var(--c-black);
    font-weight: 600; }
.c-card-daily__date {
    -webkit-margin-after: var(--space-8);
            margin-block-end: var(--space-8);
    font-size: 1.6rem;
    line-height: 1;
    color: var(--c-white);
    font-family: var(--font-en);
    font-weight: 600; }
.c-card-daily__title {
    font-size: 1.6rem;
    line-height: 1.6;
    color: var(--c-white);
    font-weight: 400;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    text-overflow: ellipsis;
    line-clamp: 4; }
.c-html .c-card-daily {
    text-decoration: none !important; }
.c-card-home__label {
  display: block;
  font-size: 2.4rem;
  line-height: 1;
  color: var(--c-black);
  font-weight: 600;
  text-align: center;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.c-card-home__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  margin-top: -2px;
  padding: var(--space-40);
  clip-path: polygon(20px 0, calc(100% - 20px) 0, 100% 20px, 100% calc(100% - 20px), calc(100% - 20px) 100%, 20px 100%, 0 calc(100% - 20px), 0 20px); }
.c-card-home__category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 8px;
  font-size: 1.6rem;
  line-height: 1;
  color: var(--c-black);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-weight: 600; }
.c-card-home__date {
  display: block;
  -webkit-margin-after: var(--space-8);
          margin-block-end: var(--space-8);
  font-size: 1.6rem;
  line-height: 1;
  color: var(--c-black);
  font-family: var(--font-en);
  font-weight: 600; }
.c-card-home__desc {
  font-size: 1.6rem;
  line-height: 1.5;
  color: var(--c-black);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  text-overflow: ellipsis;
  line-clamp: 4; }
.c-card-info {
  display: block;
  width: 100%;
  text-decoration: none;
  color: inherit; }
.c-card-info__figure {
    aspect-ratio: 1 / 1;
    width: 100%;
    -webkit-margin-after: var(--space-16);
            margin-block-end: var(--space-16);
    clip-path: polygon(20px 0, calc(100% - 20px) 0, 100% 20px, 100% calc(100% - 20px), calc(100% - 20px) 100%, 20px 100%, 0 calc(100% - 20px), 0 20px); }
.c-card-info__figure img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover; }
.c-card-info__category {
    display: inline-block;
    -webkit-margin-after: var(--space-24);
            margin-block-end: var(--space-24);
    padding-inline: var(--space-8);
    padding-block: 6px;
    background-color: var(--c-gray-blue-light);
    font-size: 1.6rem;
    line-height: 1;
    color: var(--c-black);
    font-weight: 600;
    -webkit-transition: background-color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: background-color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.c-card-info__date {
    display: block;
    -webkit-margin-after: var(--space-8);
            margin-block-end: var(--space-8);
    font-size: 1.6rem;
    line-height: 1;
    color: var(--c-black);
    font-family: var(--font-en);
    font-weight: 600; }
.c-card-info__desc {
    font-size: 1.6rem;
    line-height: 2;
    color: var(--c-black);
    font-weight: 400;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
    line-clamp: 3; }
.c-html .c-card-info {
    text-decoration: none !important; }
.c-card-lunch__figure {
  width: 100%;
  clip-path: polygon(20px 0, calc(100% - 20px) 0, 100% 20px, 100% calc(100% - 20px), calc(100% - 20px) 100%, 20px 100%, 0 calc(100% - 20px), 0 20px); }
.c-card-lunch__figure img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; }
.c-card-lunch__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 40px;
  width: 100%; }
.c-card-lunch__caption {
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1; }
.c-card-lunch__desc {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.8; }
/**
 * Chart Component
 * チャートコンポーネント（フローチャート、沿革チャート、カテゴリチャート）
 */
.c-chart {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 24px;
  position: relative;
  width: 100%; }
.c-chart[data-color="yellow"] {
    --chart-color: var(--c-yellow);
    --chart-color-text: var(--c-black); }
.c-chart[data-color="green"] {
    --chart-color: var(--c-green-light); }
.c-chart[data-color="orange"] {
    --chart-color: var(--c-orange); }
.c-chart[data-color="purple"] {
    --chart-color: var(--c-purple); }
.c-chart[data-color="pink"] {
    --chart-color: var(--c-pink); }
.c-chart[data-color="blue"] {
    --chart-color: var(--c-blue); }
.c-chart[data-color="salmon"] {
    --chart-color: var(--c-salmon); }
.c-chart[data-color="lime"] {
    --chart-color: var(--c-green-lime);
    --chart-color-text: var(--c-black); }
.c-chart__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0;
    position: relative;
    -webkit-transform: translate(0, 0) !important;
            transform: translate(0, 0) !important;
    opacity: 1 !important;
    width: 100%; }
.c-chart__item::after {
      content: '';
      position: absolute;
      top: 80px;
      left: 38px;
      bottom: 0;
      width: 4px;
      background-color: var(--chart-color, var(--c-green-lime));
      z-index: 0;
      -webkit-transform: scaleY(0);
              transform: scaleY(0);
      -webkit-transform-origin: top;
              transform-origin: top;
      -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: -webkit-transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.c-chart__item.is-inview::after {
      -webkit-transform: scaleY(1);
              transform: scaleY(1); }
.c-chart__label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    position: relative;
    z-index: 1;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 80px;
    height: 80px;
    background-color: var(--chart-color, var(--c-green-lime)); }
.c-chart__label.-wide {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-line-pack: center;
          align-content: center; }
.c-chart__sublabel {
    -webkit-margin-after: 2px;
            margin-block-end: 2px;
    font-family: var(--font-en);
    font-size: 1.6rem;
    line-height: 1;
    color: var(--c-white);
    font-weight: 600;
    color: var(--chart-color-text, var(--chart-color-text, var(--c-white))); }
.c-chart__label.-wide .c-chart__sublabel {
      width: 100%;
      text-align: center; }
.c-chart__number {
    font-family: var(--font-en);
    font-size: 4rem;
    line-height: 1;
    color: var(--chart-color-text, var(--c-white));
    font-weight: 600;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic; }
.c-chart__subcaption {
    -ms-flex-item-align: end;
        align-self: flex-end;
    font-size: 1.6rem;
    line-height: 1;
    color: var(--chart-color-text, var(--c-white));
    font-weight: 600; }
.c-chart__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: var(--space-16);
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    position: relative;
    z-index: 2;
    width: 100%;
    padding-inline: var(--space-40);
    padding-block: var(--space-40);
    border: 1px solid var(--chart-color, var(--c-green-lime));
    background-color: color-mix(in srgb, var(--chart-color, var(--c-green-lime)) 3%, white); }
.c-chart__text {
    font-size: 1.6rem;
    line-height: 2;
    color: var(--c-black); }
.c-chart[data-layout="category"] .c-chart__label {
    width: 40px;
    height: 40px; }
.c-chart[data-layout="category"] .c-chart__item::after {
    top: 40px; }
.c-section[data-color="yellow"] {
  --section-color: var(--c-yellow); }
.c-section[data-color="green"] {
  --section-color: var(--c-green-bright); }
.c-section[data-color="blue"] {
  --section-color: var(--c-blue); }
.c-section[data-color="orange"] {
  --section-color: var(--c-orange); }
.c-section[data-color="pink"] {
  --section-color: var(--c-pink); }
.c-section[data-color="purple"] {
  --section-color: var(--c-purple); }
.c-section[data-color="red"] {
  --section-color: var(--c-red); }
.c-section[data-color="salmon"] {
  --section-color: var(--c-salmon); }
.c-faq-accordion {
  border-top: 1px solid var(--section-color, var(--c-salmon)); }
.c-faq-accordion:last-child {
    border-bottom: 1px solid var(--section-color, var(--c-salmon)); }
.c-faq-accordion .js-summary {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    gap: 24px;
    width: 100%;
    padding-inline: var(--side-padding);
    padding-block: var(--space-32); }
.c-faq-accordion .js-summary::before {
      content: "Q.";
      display: inline-block;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      font-size: 3.2rem;
      line-height: 1;
      color: var(--section-color, var(--c-orange));
      font-family: var(--font-en);
      font-weight: 600; }
.c-faq-accordion__head {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
    font-size: 2.4rem;
    line-height: 2;
    color: var(--c-black);
    font-weight: 400; }
.c-faq-accordion__icon {
    position: relative;
    width: 24px;
    height: 24px;
    -ms-flex-negative: 0;
        flex-shrink: 0; }
.c-faq-accordion__icon::before, .c-faq-accordion__icon::after {
      content: "";
      position: absolute;
      background-color: var(--section-color, var(--c-salmon));
      -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.c-faq-accordion__icon::before {
      width: 24px;
      height: 2px;
      top: 50%;
      left: 0;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
.c-faq-accordion__icon::after {
      width: 2px;
      height: 24px;
      left: 50%;
      top: 0;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.c-faq-accordion .js-details[open] .c-faq-accordion__icon::after {
    -webkit-transform: translateX(-50%) rotate(90deg);
            transform: translateX(-50%) rotate(90deg); }
.c-faq-accordion__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: var(--space-24);
    overflow: hidden;
    padding-inline: var(--side-padding); }
.c-faq-accordion__content::before {
      content: "A.";
      display: inline-block;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      font-family: var(--font-en);
      font-size: 3.2rem;
      line-height: 1;
      color: var(--c-gray-light);
      font-weight: 600; }
.c-faq-accordion__contentInner {
    font-size: 1.6rem;
    line-height: 2;
    color: var(--c-black);
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
    -webkit-padding-after: var(--space-32);
            padding-block-end: var(--space-32); }
figure[data-type="octagon"] {
  clip-path: polygon(20px 0, calc(100% - 20px) 0, 100% 20px, 100% calc(100% - 20px), calc(100% - 20px) 100%, 20px 100%, 0 calc(100% - 20px), 0 20px); }
.c-flex[data-wrap="wrap"] {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
.c-form__body {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 100%;
  grid-template-columns: 100%;
  -ms-grid-rows: auto;
  grid-template-rows: auto;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  grid-gap: var(--space-40);
  gap: var(--space-40); }
.c-form__field:not(.-require) .c-form__field-column::after {
  display: none; }
.c-form__field-column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--space-16);
  font-size: 1.6rem;
  line-height: 1;
  color: var(--c-black); }
.c-form__field-column::after {
    content: '必須';
    display: inline-block;
    padding: var(--space-8);
    font-size: 1.6rem;
    line-height: 1;
    color: var(--c-black);
    background-color: var(--c-yellow); }
.c-form__field-label {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-weight: 600; }
.c-form__field-content {
  font-size: 1.6rem;
  line-height: 1.8;
  color: var(--c-black); }
.c-form__field-content .placeholder {
    font-size: 1.6rem;
    line-height: 1;
    color: var(--c-black);
    pointer-events: none; }
.c-form__field-content p {
    display: none; }
.c-form__textbox.-zip {
  max-width: 232px; }
.c-form__textbox input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  height: 64px;
  padding: var(--space-24);
  border: none;
  background-color: var(--c-gray-blue-light); }
.c-form__textarea textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  height: 208px;
  padding: var(--space-24);
  border: none;
  background-color: var(--c-gray-blue-light); }
.c-form__select {
  position: relative;
  max-width: 340px; }
.c-form__select::after {
    content: '';
    position: absolute;
    top: 50%;
    right: var(--space-24);
    -webkit-transform: translateY(-50%) rotate(135deg);
            transform: translateY(-50%) rotate(135deg);
    width: 10px;
    height: 10px;
    border-top: 2px solid var(--c-black);
    border-right: 2px solid var(--c-black);
    pointer-events: none; }
.c-form__select select {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    width: 100%;
    height: 64px;
    padding: var(--space-24);
    border: none;
    background-color: var(--c-gray-blue-light); }
.c-form .mwform-radio-field {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  vertical-align: middle;
  margin-right: var(--space-24); }
.c-form .mwform-radio-field label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    cursor: pointer; }
.c-form .mwform-radio-field input[type="radio"] {
    display: none; }
.c-form .mwform-radio-field-text {
    position: relative;
    display: inline-block;
    padding-left: 32px;
    cursor: pointer;
    pointer-events: auto;
    font-size: 1.6rem;
    line-height: 1;
    color: var(--c-black); }
.c-form .mwform-radio-field-text::before {
      content: '';
      position: absolute;
      left: 0;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 24px;
      height: 24px;
      border-radius: 50%;
      border: 1px solid var(--c-black); }
.c-form .mwform-radio-field-text::after {
      content: '';
      position: absolute;
      left: 0;
      top: 50%;
      -webkit-transform: translateY(-50%) scale(0);
              transform: translateY(-50%) scale(0);
      width: 24px;
      height: 24px;
      border-radius: 50%;
      background-color: var(--c-gray);
      -webkit-transition: -webkit-transform 0.24s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: -webkit-transform 0.24s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: transform 0.24s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: transform 0.24s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.24s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.c-form .mwform-radio-field input[type="radio"]:checked + .mwform-radio-field-text::after {
    -webkit-transform: translateY(-50%) scale(0.6);
            transform: translateY(-50%) scale(0.6); }
.c-form .mwform-checkbox-field {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  vertical-align: middle;
  margin-right: var(--space-24); }
.c-form .mwform-checkbox-field label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    cursor: pointer; }
.c-form .mwform-checkbox-field input[type="checkbox"] {
    display: none; }
.c-form .mwform-checkbox-field-text {
    position: relative;
    display: inline-block;
    padding-left: 32px;
    cursor: pointer;
    pointer-events: auto;
    font-size: 1.6rem;
    line-height: 1.6;
    color: var(--c-black); }
.c-form .mwform-checkbox-field-text::before {
      content: '';
      position: absolute;
      left: 0;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 24px;
      height: 24px;
      border: 1px solid var(--c-black); }
.c-form .mwform-checkbox-field-text::after {
      content: '';
      position: absolute;
      left: 0;
      top: 50%;
      -webkit-transform: translateY(-50%) scale(0);
              transform: translateY(-50%) scale(0);
      width: 24px;
      height: 24px;
      background-color: var(--c-gray);
      -webkit-transition: -webkit-transform 0.24s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: -webkit-transform 0.24s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: transform 0.24s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: transform 0.24s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.24s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.c-form .mwform-checkbox-field input[type="checkbox"]:checked + .mwform-checkbox-field-text::after {
    -webkit-transform: translateY(-50%) scale(0.65);
            transform: translateY(-50%) scale(0.65); }
.c-form__checkbox input[type="checkbox"] {
  display: none; }
.c-form__checkbox .placeholder {
  position: relative;
  display: inline-block;
  padding-left: 32px;
  cursor: pointer;
  pointer-events: auto; }
.c-form__checkbox .placeholder::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border: 1px solid var(--c-black); }
.c-form__checkbox .placeholder::after {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%) scale(0);
            transform: translateY(-50%) scale(0);
    width: 24px;
    height: 24px;
    background-color: var(--c-gray);
    -webkit-transition: -webkit-transform 0.24s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: -webkit-transform 0.24s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: transform 0.24s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: transform 0.24s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.24s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.c-form__checkbox input[type="checkbox"]:checked + .placeholder::after {
  -webkit-transform: translateY(-50%) scale(0.65);
          transform: translateY(-50%) scale(0.65); }
.c-form__checkbox-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--space-16) var(--space-64); }
.c-form__date {
  display: inline-block;
  position: relative;
  width: 100%;
  max-width: 120px;
  margin-right: var(--space-40); }
.c-form__date.-has-value .placeholder {
    display: none; }
.c-form__date input {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    width: 100%;
    height: 64px;
    padding: var(--space-24);
    border: none;
    background-color: var(--c-gray-blue-light); }
.c-form__date .placeholder {
    position: absolute;
    top: 50%;
    left: var(--space-24);
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 2;
    color: var(--c-gray); }
.c-form__date.-year {
    max-width: 232px; }
.c-form__date.-medium {
    max-width: 340px; }
.c-form__date br {
    display: none; }
.c-form__privacy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--space-16);
  margin-top: var(--space-64);
  font-size: 1.6rem;
  line-height: 1.8;
  color: var(--c-black); }
.c-form__privacy-desc a {
  color: var(--c-black) !important;
  text-decoration: underline !important; }
.c-form__btn-wrap {
  margin-top: 80px; }
.c-form__btn-wrap p {
    display: none; }
.c-form__btn-back {
  background-color: #D9D9D9; }
.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0 !important; }
.mw_wp_form_confirm .c-form__select::after {
  display: none; }
/**
 * FV Component
 * ページタイトル（ファーストビュー）コンポーネント
 */
.c-fv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0;
  width: 100%;
  min-height: calc(var(--hd-height-pc) + 24px + 56px); }
.c-fv__visual {
    position: relative;
    -ms-flex-negative: 0;
        flex-shrink: 0; }
.c-fv__figure {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    clip-path: polygon(0 0, calc(100% - 100px) 0, 100% 100px, 100% calc(100% - 100px), calc(100% - 100px) 100%, 0 100%); }
.c-fv__figure img {
      position: relative;
      z-index: 1;
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover; }
.c-fv__figure::after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 3;
      background-image: url(../images/common/shadow.png);
      background-position: top left;
      background-repeat: no-repeat;
      background-size: cover;
      pointer-events: none; }
.c-fv__shutter {
    position: absolute;
    inset: 0;
    z-index: 2;
    background-color: var(--c-green-lime);
    background-image: url(../images/common/shutter.webp);
    background-size: cover;
    background-position: center;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: -webkit-transform 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: transform 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: transform 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955), -webkit-transform 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955); }
.c-fv__shutter.is-hidden {
      -webkit-transform: translateX(100%);
              transform: translateX(100%); }
.c-fv__title {
    position: absolute;
    top: 48px;
    left: 64px;
    font-size: 6.4rem;
    line-height: 1.4;
    color: var(--c-white);
    font-weight: 600;
    z-index: 3;
    max-width: calc(100% - 128px); }
.c-fv__info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
.c-fv__description {
    font-size: 1.6rem;
    line-height: 1.8;
    color: var(--c-black);
    -ms-flex-item-align: start;
        align-self: flex-start; }
.c-fv__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 16px;
    width: 100%;
    -webkit-margin-before: var(--space-40);
            margin-block-start: var(--space-40); }
.c-fv__nav-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 16px;
    font-size: 1.6rem;
    line-height: 1.4;
    color: var(--c-black);
    font-weight: 600;
    text-align: right; }
.c-fv__nav-link::after {
      content: '';
      display: inline-block;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      width: 8px;
      height: 8px;
      border-right: 1px solid var(--c-gray);
      border-bottom: 1px solid var(--c-gray);
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      margin-top: 5px; }
.c-html {
  font-size: 1.6rem;
  line-height: 2;
  color: var(--c-black); }
.c-html h2 {
    font-size: 3.2rem;
    line-height: 1.8;
    color: var(--c-black); }
.c-html h2:not([class]) > span {
    display: inline;
    background-image: -webkit-gradient(linear, left top, left bottom, from(var(--section-color, var(--c-salmon))), to(var(--section-color, var(--c-salmon))));
    background-image: linear-gradient(var(--section-color, var(--c-salmon)), var(--section-color, var(--c-salmon)));
    background-size: 100% 8px;
    background-repeat: no-repeat;
    background-position: left bottom 0;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone; }
.c-html h3 {
    font-size: 2.4rem;
    line-height: 2;
    color: var(--c-black); }
.c-html h4 {
    font-size: 2.4rem;
    line-height: 2;
    color: var(--c-black); }
.c-html h5 {
    font-size: 2.4rem;
    line-height: 2;
    color: var(--c-black); }
.c-html h6 {
    font-size: 2.4rem;
    line-height: 2;
    color: var(--c-black); }
.c-html p + .c-html p {
    -webkit-margin-before: var(--space-32);
            margin-block-start: var(--space-32); }
.c-html p img {
    display: inline-block; }
.c-html p img + img {
      -webkit-margin-before: var(--space-24);
              margin-block-start: var(--space-24); }
.c-html ul:not([class]),
  .c-html ol {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 8px; }
.c-html ul:not([class]) li {
    position: relative;
    -webkit-padding-start: 2.4rem;
            padding-inline-start: 2.4rem; }
.c-html ul:not([class]) li::before {
      content: "";
      position: absolute;
      top: 0.65em;
      left: 0;
      width: 12px;
      height: 12px;
      background-color: var(--section-color, var(--c-salmon));
      pointer-events: none; }
.c-html ol {
    counter-reset: list; }
.c-html ol li {
      position: relative;
      -webkit-padding-start: 2.4rem;
              padding-inline-start: 2.4rem;
      counter-increment: list; }
.c-html ol li::before {
        content: counter(list) ".";
        position: absolute;
        top: 0;
        left: 0;
        font-family: var(--font-en);
        color: var(--section-color, var(--c-salmon)); }
.c-html dl[data-type="line"] {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 30% 1fr;
    grid-template-columns: 30% 1fr;
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    grid-gap: var(--space-40);
    gap: var(--space-40);
    width: 100%;
    padding-inline: var(--side-padding);
    padding-block: var(--space-24);
    border-bottom: 1px solid var(--section-color, var(--c-salmon)); }
.c-html dl[data-type="line"]:first-child {
      border-top: 1px solid var(--section-color, var(--c-salmon)); }
.c-html dl dt {
    font-weight: 600; }
.c-html a:not(.c-btn) {
    color: var(--c-green-dark);
    text-decoration: underline; }
.c-html .c-table-wrapper {
    width: 100%; }
.c-html table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    border: 1px solid var(--section-color, var(--c-salmon)); }
.c-html table thead th {
      padding-inline: 24px;
      padding-block: 16px;
      vertical-align: middle;
      text-align: left;
      font-weight: bold;
      background-color: color-mix(in srgb, var(--section-color, var(--c-salmon)) 3%, transparent);
      border-bottom: 1px solid var(--section-color, var(--c-salmon));
      border-right: 1px solid var(--section-color, var(--c-salmon)); }
.c-html table tbody th,
    .c-html table tbody td {
      min-height: 80px;
      padding-inline: 24px;
      padding-block: 16px;
      vertical-align: top;
      text-align: left;
      border-bottom: 1px solid var(--section-color, var(--c-salmon));
      border-right: 1px solid var(--section-color, var(--c-salmon)); }
.c-html table tbody tr:last-child th,
    .c-html table tbody tr:last-child td {
      border-bottom: none; }
.c-html table tbody th {
      background-color: color-mix(in srgb, var(--section-color, var(--c-salmon)) 3%, transparent);
      font-weight: bold;
      border-right: 1px solid var(--section-color, var(--c-salmon)); }
.c-html iframe[src*="/maps/embed"] {
    width: 100%;
    margin-top: var(--space-40); }
.c-html .alignleft {
    display: inline;
    float: left; }
.c-html .alignright {
    display: inline;
    float: right; }
.c-html .aligncenter {
    display: block;
    margin-right: auto;
    margin-left: auto; }
.c-map {
  position: relative;
  width: 100%;
  aspect-ratio: 1120 / 436;
  overflow: hidden; }
.c-map iframe {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0; }
.c-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 16px;
  width: 100%; }
.c-interview {
  width: 100%; }
.c-interview__question {
    font-size: 2.4rem;
    line-height: 2;
    color: var(--c-black);
    -webkit-margin-after: var(--space-24);
            margin-block-end: var(--space-24);
    font-weight: 700; }
.c-interview__card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 64px; }
.c-interview__name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    aspect-ratio: 1 / 1;
    width: 120px;
    padding-inline: 12px;
    padding-block: 29px;
    background-color: var(--section-color, var(--c-yellow)); }
.c-interview__name p {
      font-size: 2.4rem;
      line-height: 1.3;
      color: var(--name-text-color, var(--c-white));
      font-weight: 700;
      text-align: center; }
.c-interview__bubble {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    position: relative;
    min-width: 0;
    padding-inline: var(--space-40);
    padding-block: var(--space-40);
    border: 1px solid var(--section-color, var(--c-yellow));
    background-color: color-mix(in srgb, var(--section-color, var(--c-yellow)) 3%, #fff); }
.c-interview__bubble::before {
      content: '';
      position: absolute;
      right: 100%;
      top: 40px;
      border: 12px solid transparent;
      border-right: 24px solid var(--section-color, var(--c-yellow));
      border-left: 0; }
.c-interview__bubble::after {
      content: '';
      position: absolute;
      right: 100%;
      top: 41px;
      border: 11px solid transparent;
      border-right: 22px solid color-mix(in srgb, var(--section-color, var(--c-yellow)) 3%, #fff);
      border-left: 0; }
.c-interview__text {
    font-size: 1.6rem;
    line-height: 2;
    color: var(--c-black); }
[data-color="yellow"] .c-interview__name p,
[data-color="lime"] .c-interview__name p {
  color: var(--c-black); }
.c-map {
  position: relative;
  width: 100%;
  aspect-ratio: 1120 / 436;
  overflow: hidden; }
.c-map iframe {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0; }
.c-modal {
  max-width: 100%;
  max-height: 100%;
  width: 100%;
  height: 100%;
  background: transparent;
  overflow: hidden; }
.c-modal::backdrop {
    display: none; }
.c-modal__backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4); }
.c-modal__container {
    position: fixed;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 840px;
    max-width: calc(100% - var(--side-padding) * 2);
    max-height: calc(100% - 120px);
    background: var(--c-white);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0; }
.c-modal__close {
    position: absolute;
    top: -40px;
    right: 0;
    width: 56px;
    height: 33px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    padding: 0;
    border: none;
    background: none;
    color: var(--c-white);
    outline: none; }
.c-modal__close .icon {
      width: 100%;
      height: 100%;
      -o-object-fit: contain;
         object-fit: contain; }
.c-modal__body {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    overflow-y: auto;
    -ms-scroll-chaining: none;
        overscroll-behavior: contain;
    width: 100%;
    padding-inline: var(--space-40);
    padding-block: var(--space-40); }
[data-modal-type="image"] .c-modal__body {
      padding-inline: 0;
      padding-block: 0; }
[data-modal-type="gallery"] .c-modal__body {
      padding-inline: 0;
      padding-block: 0; }
.c-modal__body img {
      width: 100%;
      height: auto;
      display: block; }
.c-modal__gallery {
    display: -ms-grid;
    display: grid;
    width: 100%; }
.c-modal__gallery-item {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: 1 / 1;
    opacity: 0;
    -webkit-transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.c-modal__gallery-item.is-active {
      opacity: 1; }
.c-modal__gallery-item img {
      width: 100%;
      height: auto;
      display: block; }
.c-modal__nav {
    display: none !important; }
[data-modal-type="gallery"] .c-modal__nav {
      display: block !important; }
.c-modal__prev, .c-modal__next {
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    padding: 0;
    border: none;
    background: none;
    outline: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    pointer-events: auto; }
.c-modal__prev .c-pagination__icon, .c-modal__next .c-pagination__icon {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      gap: 0;
      width: 80px;
      height: 80px;
      background-color: var(--section-color, var(--c-yellow));
      overflow: hidden; }
.c-modal__prev .c-pagination__icon .icon, .c-modal__next .c-pagination__icon .icon {
        width: 20px;
        height: 14px;
        -o-object-fit: contain;
           object-fit: contain; }
.c-modal__prev .c-pagination__icon .icon path, .c-modal__next .c-pagination__icon .icon path {
          fill: var(--arrow-color, #fff) !important; }
.c-modal__prev {
    right: calc(100% + 24px);
    --arrow-distance: 80px; }
.c-modal__prev .c-pagination__icon {
      overflow: hidden;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
.c-modal__prev .c-pagination__icon svg {
        position: absolute; }
.c-modal__prev .c-pagination__icon svg:first-child {
          translate: var(--arrow-distance) 0; }
.c-modal__prev .c-pagination__icon svg:last-child {
          translate: 0 0; }
.c-modal__next {
    left: calc(100% + 24px);
    --arrow-distance: 80px; }
.c-modal__next .c-pagination__icon {
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
.c-modal__next .c-pagination__icon {
      overflow: hidden;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
.c-modal__next .c-pagination__icon svg {
        position: absolute; }
.c-modal__next .c-pagination__icon svg:first-child {
          translate: var(--arrow-distance) 0; }
.c-modal__next .c-pagination__icon svg:last-child {
          translate: 0 0; }
.js-modal-trigger {
  padding: 0;
  border: none;
  background: none;
  color: var(--c-green-dark);
  text-decoration: underline; }
.c-mv {
  position: relative;
  overflow: hidden;
  height: calc(352px * 1.2);
  background-color: var(--c-white);
  margin-bottom: 80px; }
.c-mv__bg-flow {
    position: absolute;
    bottom: 30px;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    -webkit-animation: flow-left 180s linear infinite;
            animation: flow-left 180s linear infinite;
    -webkit-animation-play-state: paused;
            animation-play-state: paused; }
.c-mv.is-flowing .c-mv__bg-flow {
      -webkit-animation-play-state: running;
              animation-play-state: running; }
.c-mv__bg-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
.c-mv__bg-item {
    position: relative;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: calc(163px * 1.2);
    margin-right: 12px;
    overflow: hidden; }
.c-mv__bg-item:nth-child(1) {
      -ms-flex-item-align: end;
          align-self: flex-end; }
.c-mv__bg-item:nth-child(1), .c-mv__bg-item:nth-child(3) {
      height: calc(163px * 1.2); }
.c-mv__bg-item:nth-child(2), .c-mv__bg-item:nth-child(4), .c-mv__bg-item:nth-child(5) {
      height: calc(322px * 1.2); }
.c-mv__bg-img {
    width: 100%;
    height: 100%;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    pointer-events: none; }
.c-mv__bg-img img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover;
      will-change: transform; }
.c-mv__bg-img.is-back {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 0;
      opacity: 1; }
.c-mv__bg-img.is-front {
      position: relative;
      z-index: 2;
      opacity: 1;
      will-change: opacity; }
.c-mv__bg-item.is-active .c-mv__bg-img.is-front {
        -webkit-animation: image-reveal 1s steps(1) forwards;
                animation: image-reveal 1s steps(1) forwards; }
.c-mv__bg-shutter {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../images/home/shadow06.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 3;
    pointer-events: none;
    -webkit-transform: translateY(-105%);
            transform: translateY(-105%);
    will-change: transform; }
.c-mv__bg-item.is-active .c-mv__bg-shutter {
      -webkit-animation: shutter-flip 1.6s cubic-bezier(0.23, 1, 0.32, 1) forwards;
              animation: shutter-flip 1.6s cubic-bezier(0.23, 1, 0.32, 1) forwards; }
.c-mv__bg-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 4;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    -webkit-transform: translateZ(0);
            transform: translateZ(0); }
.c-mv__bg-frame img {
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      width: 100%;
      height: 100%;
      -o-object-fit: fill;
         object-fit: fill;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
.c-mv__caption {
    position: absolute;
    right: 5.3%;
    bottom: 0;
    mix-blend-mode: difference;
    z-index: 10;
    text-align: left; }
.c-mv__text {
    font-family: var(--font-ja);
    font-weight: 700;
    color: var(--c-white);
    white-space: nowrap; }
.c-mv__text + .c-mv__text {
      margin-top: 0; }
@-webkit-keyframes shutter-flip {
  0% {
    -webkit-transform: translateY(-105%);
            transform: translateY(-105%); }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  100% {
    -webkit-transform: translateY(-105%);
            transform: translateY(-105%); } }
@keyframes shutter-flip {
  0% {
    -webkit-transform: translateY(-105%);
            transform: translateY(-105%); }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  100% {
    -webkit-transform: translateY(-105%);
            transform: translateY(-105%); } }
@-webkit-keyframes image-reveal {
  0% {
    opacity: 1; }
  50% {
    opacity: 0; }
  100% {
    opacity: 0; } }
@keyframes image-reveal {
  0% {
    opacity: 1; }
  50% {
    opacity: 0; }
  100% {
    opacity: 0; } }
@-webkit-keyframes flow-left {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%); } }
@keyframes flow-left {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%); } }
.c-note {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 16px;
  width: 100%;
  padding-inline: var(--space-40);
  padding-block: var(--space-40);
  border: 1px solid var(--section-color, var(--c-salmon));
  background-color: color-mix(in srgb, var(--section-color, var(--c-salmon)) 3%, transparent); }
.c-note__title {
    font-size: 2.4rem;
    line-height: 2;
    color: var(--c-black);
    -webkit-margin-after: 0;
            margin-block-end: 0; }
.c-html h3.c-note__title {
    font-size: 2.4rem;
    line-height: 2;
    color: var(--c-black);
    -webkit-margin-after: 0;
            margin-block-end: 0; }
.c-note__body {
    font-size: 1.6rem;
    line-height: 2;
    color: var(--c-black); }
.c-html .c-note__body p {
    -webkit-margin-after: 0;
            margin-block-end: 0; }
.c-page-title {
  width: 100%;
  color: var(--c-white);
  font-size: 8rem;
  line-height: 1.4;
  position: absolute;
  top: calc(288px + 24px);
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  z-index: 1; }
.c-page-title__inner {
    width: 100%;
    max-width: 1440px;
    margin-inline: auto;
    padding-inline: 64px;
    text-align: left; }
.c-pagetop {
  position: fixed;
  right: 0;
  bottom: 16px;
  z-index: 2001;
  width: 136px;
  height: 64px;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.c-pagetop.is-visible {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
.c-pagetop__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    position: relative;
    width: 100%;
    height: 100%;
    background-color: var(--c-yellow);
    clip-path: polygon(12px 0, 100% 0, 100% 100%, 12px 100%, 0 calc(100% - 12px), 0 12px);
    -webkit-transition: background-color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: background-color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --arrow-distance: 24px; }
.c-pagetop__link .c-pagetop__icon {
      overflow: hidden;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
.c-pagetop__link .c-pagetop__icon svg {
        position: absolute; }
.c-pagetop__link .c-pagetop__icon svg:first-child {
          translate: 0 var(--arrow-distance); }
.c-pagetop__link .c-pagetop__icon svg:last-child {
          translate: 0 0; }
.c-pagetop__icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    width: 24px;
    height: 18px;
    color: var(--c-black); }
.c-pagetop__icon svg {
      width: 100%;
      height: 100%;
      -o-object-fit: contain;
         object-fit: contain; }
.c-pagetop__label {
    position: relative;
    z-index: 1;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    color: var(--c-black);
    letter-spacing: 0.05em; }
/**
 * Pagination Component
 * ページネーションコンポーネント
 */
.c-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0;
  width: 100%; }
.c-pagination__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 48px; }
.c-pagination__item a, .c-pagination__first a, .c-pagination__last a {
    display: block;
    font-family: var(--font-en);
    font-weight: 600;
    font-size: 2.4rem;
    line-height: 1.5;
    color: var(--c-black);
    -webkit-transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.c-pagination__item:has([aria-current="page"]) a {
    color: var(--c-black);
    pointer-events: none;
    text-decoration: underline;
    text-underline-offset: 4px; }
.c-pagination__sep span {
    display: block;
    font-family: var(--font-en);
    font-weight: 600;
    font-size: 2.4rem;
    line-height: 1.5;
    color: var(--c-black); }
.c-pagination__prev, .c-pagination__next {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0; }
.c-pagination__prev a, .c-pagination__next a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      gap: 0;
      color: var(--arrow-color);
      -webkit-transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.c-pagination__prev a {
    --arrow-distance: 40px; }
.c-pagination__prev a .c-pagination__icon {
      overflow: hidden;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
.c-pagination__prev a .c-pagination__icon svg {
        position: absolute; }
.c-pagination__prev a .c-pagination__icon svg:first-child {
          translate: var(--arrow-distance) 0; }
.c-pagination__prev a .c-pagination__icon svg:last-child {
          translate: 0 0; }
.c-pagination__next a {
    --arrow-distance: 40px; }
.c-pagination__next a .c-pagination__icon {
      overflow: hidden;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
.c-pagination__next a .c-pagination__icon svg {
        position: absolute; }
.c-pagination__next a .c-pagination__icon svg:first-child {
          translate: var(--arrow-distance) 0; }
.c-pagination__next a .c-pagination__icon svg:last-child {
          translate: 0 0; }
.c-pagination__icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    width: 40px;
    height: 40px;
    background-color: var(--section-color, var(--c-yellow)); }
.c-pagination__icon svg {
      width: 20px;
      height: 14px;
      -o-object-fit: contain;
         object-fit: contain; }
.c-pagination__icon svg path {
        fill: var(--arrow-color, #fff) !important; }
.c-pagination__next .c-pagination__icon {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
/**
 * Profile Component
 * プロフィール・インタビューコンポーネント
 */
.c-profile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0;
  position: relative;
  width: 100%; }
.c-profile__media {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    aspect-ratio: 1 / 1; }
.c-profile__media img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover; }
.c-profile__content {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 100%;
    grid-template-columns: 100%;
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    grid-gap: var(--space-16);
    gap: var(--space-16);
    position: relative;
    z-index: 2; }
.c-profile__info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: var(--space-8);
    font-size: 1.6rem;
    line-height: 1.6;
    color: var(--c-black);
    font-weight: 700;
    text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.6); }
.c-html .c-profile__title {
    font-size: 4.8rem;
    line-height: 1.5;
    color: var(--c-black); }
.c-schedule-item {
  position: relative;
  --schedule-item-bg: var(--c-white); }
.c-schedule-item:not(:last-child) {
    padding-bottom: var(--space-24); }
.c-schedule-item__time {
    padding-inline: var(--space-80);
    font-family: var(--font-en);
    font-size: 8rem;
    font-weight: 600;
    line-height: 1;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic; }
.c-schedule-item__time .caption {
      font-family: var(--font-ja);
      font-size: 4rem; }
.c-schedule-item.--vertical .c-schedule-item__time {
      padding-inline: 0; }
.c-schedule-item__content {
    background-color: var(--schedule-item-bg);
    padding-inline: var(--space-80);
    padding-block: var(--space-64) 92px; }
.c-schedule-item__arrow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 2; }
.c-schedule-item__arrow svg {
      width: 34px;
      height: 48px;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
.c-schedule-item:last-child .c-schedule-item__arrow {
      display: none; }
.c-section {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 100%;
  grid-template-columns: 100%;
  -ms-grid-rows: auto;
  grid-template-rows: auto;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  grid-gap: 0;
  gap: 0;
  position: relative;
  z-index: 2; }
.c-section:not(:last-child) {
    -webkit-margin-after: var(--space-168);
            margin-block-end: var(--space-168); }
h2.c-section-title {
  font-size: 4.8rem;
  line-height: 1.5;
  color: var(--c-black); }
.c-section-title-en {
  display: block;
  font-family: var(--font-en);
  font-size: 8rem;
  line-height: 1;
  color: var(--c-gray-light);
  font-weight: 600;
  text-transform: uppercase;
  pointer-events: none;
  overflow-wrap: break-word;
  word-break: break-all; }
/**
 * Slider Component
 * スライダーコンポーネント（Swiper）
 */
[data-slider] {
  position: relative;
  width: 100%; }
[data-slider][data-color="yellow"] {
    --slider-color: var(--c-yellow); }
[data-slider][data-color="green"] {
    --slider-color: var(--c-green-light); }
[data-slider][data-color="orange"] {
    --slider-color: var(--c-orange); }
[data-slider][data-color="purple"] {
    --slider-color: var(--c-purple); }
[data-slider][data-color="pink"] {
    --slider-color: var(--c-pink); }
[data-slider][data-color="blue"] {
    --slider-color: var(--c-blue); }
[data-slider][data-color="salmon"] {
    --slider-color: var(--c-salmon); }
[data-slider][data-color="lime"] {
    --slider-color: var(--c-green-lime); }
[data-slider] .swiper-slide .c-card {
    -ms-grid-rows: unset;
    grid-template-rows: unset; }
[data-slider] .swiper-slide figure {
    clip-path: polygon(20px 0, calc(100% - 20px) 0, 100% 20px, 100% calc(100% - 20px), calc(100% - 20px) 100%, 20px 100%, 0 calc(100% - 20px), 0 20px);
    overflow: hidden; }
[data-slider] .swiper-slide figure img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover; }
[data-slider] .swiper-button-prev,
  [data-slider] .swiper-button-next {
    --nav-btn-size: 80px;
    --arrow-distance: var(--nav-btn-size);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    width: 80px;
    height: 80px;
    position: absolute;
    top: 0;
    bottom: 56px;
    margin-block: auto;
    background-color: var(--slider-color, var(--c-orange));
    border: none;
    color: var(--c-white);
    z-index: 1001; }
[data-slider] .swiper-button-prev::after,
    [data-slider] .swiper-button-next::after {
      display: none; }
[data-slider] .swiper-button-prev .swiper-button__icon,
    [data-slider] .swiper-button-next .swiper-button__icon {
      overflow: hidden;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: 100%;
      height: 100%; }
[data-slider] .swiper-button-prev .swiper-button__icon svg,
      [data-slider] .swiper-button-next .swiper-button__icon svg {
        position: absolute;
        width: 20px;
        height: 14px;
        -o-object-fit: contain;
           object-fit: contain; }
[data-slider] .swiper-button-prev .swiper-button__icon svg:first-child,
        [data-slider] .swiper-button-next .swiper-button__icon svg:first-child {
          translate: calc(var(--arrow-distance) * -1) 0; }
[data-slider] .swiper-button-prev .swiper-button__icon svg:last-child,
        [data-slider] .swiper-button-next .swiper-button__icon svg:last-child {
          translate: 0 0; }
[data-slider] .swiper-button-prev {
    left: -16px; }
[data-slider] .swiper-button-prev .swiper-button__icon svg:first-child {
      translate: var(--arrow-distance) 0; }
[data-slider] .swiper-button-next {
    right: -16px; }
[data-slider] .swiper-button-next svg {
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
[data-slider] .swiper-pagination {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 16px;
    position: relative;
    width: 100%;
    margin-top: var(--space-48);
    bottom: auto; }
[data-slider] .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background-color: var(--slider-color, var(--c-orange));
    border-radius: 0;
    opacity: 0.3;
    margin: 0 !important;
    -webkit-transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
[data-slider] .swiper-pagination-bullet-active {
      opacity: 1; }
[data-slider="base-slider"] .swiper-slide figure {
  aspect-ratio: 1 / 1; }
[data-slider="grid-slider"] .swiper-button-prev,
[data-slider="grid-slider"] .swiper-button-next {
  top: var(--nav-center, 50%);
  bottom: auto;
  margin-block: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }
[data-slider="grid-slider"] .swiper-slide .c-card__figure {
  aspect-ratio: 1 / 1;
  clip-path: polygon(20px 0, calc(100% - 20px) 0, 100% 20px, 100% calc(100% - 20px), calc(100% - 20px) 100%, 20px 100%, 0 calc(100% - 20px), 0 20px); }
[data-slider="single-slider"] .swiper-slide figure {
  aspect-ratio: 1120 / 600; }
.js-tab-content {
  display: none;
  pointer-events: none; }
.js-tab-content.is-active {
    display: block;
    pointer-events: auto; }
.c-timeline {
  width: 100%;
  -webkit-padding-start: 9px;
          padding-inline-start: 9px; }
.c-timeline__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 24px;
    position: relative;
    -webkit-padding-after: var(--space-24);
            padding-block-end: var(--space-24); }
.c-timeline__item::before {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      left: 18px;
      width: 4px;
      background-color: var(--section-color, var(--c-green-lime));
      -webkit-transform-origin: top center;
              transform-origin: top center;
      -webkit-transform: scaleY(0);
              transform: scaleY(0);
      -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: -webkit-transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.c-timeline__item.is-inview::before {
      -webkit-transform: scaleY(1);
              transform: scaleY(1); }
.c-timeline__icon {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    position: relative;
    z-index: 1;
    width: 40px;
    height: 40px;
    background-color: var(--section-color, var(--c-green-lime)); }
.c-timeline__content {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
    margin-top: 10px; }
.c-timeline__time {
    font-family: var(--font-en);
    font-size: 2.4rem;
    line-height: 1;
    color: var(--c-black);
    font-weight: 700;
    -webkit-margin-after: var(--space-8);
            margin-block-end: var(--space-8); }
.c-timeline__text {
    font-size: 1.6rem;
    line-height: 2;
    color: var(--c-black); }
.c-timeline__dot {
    display: none; }
.c-timeline__col--left .c-timeline__item:first-child::before {
    top: 20px; }
.c-timeline__col--left .c-timeline__item:first-child .c-timeline__icon {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
.c-timeline__col--right .c-timeline__item:last-child {
    -webkit-padding-after: 0;
            padding-block-end: 0; }
.c-timeline__col--right .c-timeline__item:last-child::before {
      bottom: auto;
      height: 20px; }
.c-timeline__col--right .c-timeline__item:last-child .c-timeline__icon {
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
.c-unit {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 100%;
  grid-template-columns: 100%;
  -ms-grid-rows: auto;
  grid-template-rows: auto;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  grid-gap: var(--space-24);
  gap: var(--space-24); }
/**
* wordpress
* WYSIWYG compatchble style
*/
.c-wp-post_article strong {
  font-weight: bold; }
.c-wp-post_article em {
  font-style: italic; }
.c-wp-post_article ul {
  margin-left: 1em;
  display: block;
  list-style-type: disc !important;
  margin-before: 1em;
  margin-after: 1em;
  margin-start: 0px;
  margin-end: 0px;
  padding-start: 40px; }
.c-wp-post_article ol {
  display: block;
  list-style-type: decimal !important;
  margin-before: 1em;
  margin-after: 1em;
  margin-start: 0px;
  margin-end: 0px;
  padding-start: 40px; }
.c-wp-post_article li {
  display: list-item;
  text-align: match-parent; }
.c-wp-post_article img {
  width: auto; }
.c-wp-post_article .alignleft {
  display: inline;
  float: left; }
.c-wp-post_article .alignright {
  display: inline;
  float: right; }
.c-wp-post_article .aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto; }
.c-wp-post_article blockquote.alignleft,
.c-wp-post_article .wp-caption.alignleft,
.c-wp-post_article img.alignleft {
  margin: 0.4em 1.6em 1.6em 0; }
.c-wp-post_article blockquote.alignright,
.c-wp-post_article .wp-caption.alignright,
.c-wp-post_article img.alignright {
  margin: 0.4em 0 1.6em 1.6em; }
.c-wp-post_article blockquote.aligncenter,
.c-wp-post_article .wp-caption.aligncenter,
.c-wp-post_article img.aligncenter {
  clear: both;
  margin-top: 0.4em;
  margin-bottom: 1.6em; }
.c-wp-post_article .wp-caption.alignleft,
.c-wp-post_article .wp-caption.alignright,
.c-wp-post_article .wp-caption.aligncenter {
  margin-bottom: 1.2em; }
.c-youtube {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 100%;
  grid-template-columns: 100%;
  -ms-grid-rows: auto;
  grid-template-rows: auto;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  grid-gap: var(--space-40);
  gap: var(--space-40); }
.c-youtube iframe {
    display: block;
    margin-inline: auto; }
/**
 * clearfix micro
 */
.clearfix:after {
  content: "";
  clear: both;
  display: block; }
/**
 * text ellipsis., text...
 */
.text-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }
.u-hide {
  display: none; }
.u-click {
  cursor: pointer; }
/**
 * Spacing Utilities
 * margin / padding
 */
.u-mt-168 {
  -webkit-margin-before: var(--space-168) !important;
          margin-block-start: var(--space-168) !important; }
.u-mb-168 {
  -webkit-margin-after: var(--space-168) !important;
          margin-block-end: var(--space-168) !important; }
.u-ml-168 {
  -webkit-margin-start: var(--space-168) !important;
          margin-inline-start: var(--space-168) !important; }
.u-mr-168 {
  -webkit-margin-end: var(--space-168) !important;
          margin-inline-end: var(--space-168) !important; }
.u-mt-80 {
  -webkit-margin-before: var(--space-80) !important;
          margin-block-start: var(--space-80) !important; }
.u-mb-80 {
  -webkit-margin-after: var(--space-80) !important;
          margin-block-end: var(--space-80) !important; }
.u-ml-80 {
  -webkit-margin-start: var(--space-80) !important;
          margin-inline-start: var(--space-80) !important; }
.u-mr-80 {
  -webkit-margin-end: var(--space-80) !important;
          margin-inline-end: var(--space-80) !important; }
.u-mt-48 {
  -webkit-margin-before: var(--space-48) !important;
          margin-block-start: var(--space-48) !important; }
.u-mb-48 {
  -webkit-margin-after: var(--space-48) !important;
          margin-block-end: var(--space-48) !important; }
.u-ml-48 {
  -webkit-margin-start: var(--space-48) !important;
          margin-inline-start: var(--space-48) !important; }
.u-mr-48 {
  -webkit-margin-end: var(--space-48) !important;
          margin-inline-end: var(--space-48) !important; }
.u-mt-40 {
  -webkit-margin-before: var(--space-40) !important;
          margin-block-start: var(--space-40) !important; }
.u-mb-40 {
  -webkit-margin-after: var(--space-40) !important;
          margin-block-end: var(--space-40) !important; }
.u-ml-40 {
  -webkit-margin-start: var(--space-40) !important;
          margin-inline-start: var(--space-40) !important; }
.u-mr-40 {
  -webkit-margin-end: var(--space-40) !important;
          margin-inline-end: var(--space-40) !important; }
.u-mt-32 {
  -webkit-margin-before: var(--space-32) !important;
          margin-block-start: var(--space-32) !important; }
.u-mb-32 {
  -webkit-margin-after: var(--space-32) !important;
          margin-block-end: var(--space-32) !important; }
.u-ml-32 {
  -webkit-margin-start: var(--space-32) !important;
          margin-inline-start: var(--space-32) !important; }
.u-mr-32 {
  -webkit-margin-end: var(--space-32) !important;
          margin-inline-end: var(--space-32) !important; }
.u-mt-24 {
  -webkit-margin-before: var(--space-24) !important;
          margin-block-start: var(--space-24) !important; }
.u-mb-24 {
  -webkit-margin-after: var(--space-24) !important;
          margin-block-end: var(--space-24) !important; }
.u-ml-24 {
  -webkit-margin-start: var(--space-24) !important;
          margin-inline-start: var(--space-24) !important; }
.u-mr-24 {
  -webkit-margin-end: var(--space-24) !important;
          margin-inline-end: var(--space-24) !important; }
.u-mt-16 {
  -webkit-margin-before: var(--space-16) !important;
          margin-block-start: var(--space-16) !important; }
.u-mb-16 {
  -webkit-margin-after: var(--space-16) !important;
          margin-block-end: var(--space-16) !important; }
.u-ml-16 {
  -webkit-margin-start: var(--space-16) !important;
          margin-inline-start: var(--space-16) !important; }
.u-mr-16 {
  -webkit-margin-end: var(--space-16) !important;
          margin-inline-end: var(--space-16) !important; }
.u-mt-8 {
  -webkit-margin-before: var(--space-8) !important;
          margin-block-start: var(--space-8) !important; }
.u-mb-8 {
  -webkit-margin-after: var(--space-8) !important;
          margin-block-end: var(--space-8) !important; }
.u-ml-8 {
  -webkit-margin-start: var(--space-8) !important;
          margin-inline-start: var(--space-8) !important; }
.u-mr-8 {
  -webkit-margin-end: var(--space-8) !important;
          margin-inline-end: var(--space-8) !important; }
.u-mt-0 {
  -webkit-margin-before: var(--space-0) !important;
          margin-block-start: var(--space-0) !important; }
.u-mb-0 {
  -webkit-margin-after: var(--space-0) !important;
          margin-block-end: var(--space-0) !important; }
.u-ml-0 {
  -webkit-margin-start: var(--space-0) !important;
          margin-inline-start: var(--space-0) !important; }
.u-mr-0 {
  -webkit-margin-end: var(--space-0) !important;
          margin-inline-end: var(--space-0) !important; }
.u-pt-168 {
  -webkit-padding-before: var(--space-168) !important;
          padding-block-start: var(--space-168) !important; }
.u-pb-168 {
  -webkit-padding-after: var(--space-168) !important;
          padding-block-end: var(--space-168) !important; }
.u-pl-168 {
  -webkit-padding-start: var(--space-168) !important;
          padding-inline-start: var(--space-168) !important; }
.u-pr-168 {
  -webkit-padding-end: var(--space-168) !important;
          padding-inline-end: var(--space-168) !important; }
.u-pt-80 {
  -webkit-padding-before: var(--space-80) !important;
          padding-block-start: var(--space-80) !important; }
.u-pb-80 {
  -webkit-padding-after: var(--space-80) !important;
          padding-block-end: var(--space-80) !important; }
.u-pl-80 {
  -webkit-padding-start: var(--space-80) !important;
          padding-inline-start: var(--space-80) !important; }
.u-pr-80 {
  -webkit-padding-end: var(--space-80) !important;
          padding-inline-end: var(--space-80) !important; }
.u-pt-48 {
  -webkit-padding-before: var(--space-48) !important;
          padding-block-start: var(--space-48) !important; }
.u-pb-48 {
  -webkit-padding-after: var(--space-48) !important;
          padding-block-end: var(--space-48) !important; }
.u-pl-48 {
  -webkit-padding-start: var(--space-48) !important;
          padding-inline-start: var(--space-48) !important; }
.u-pr-48 {
  -webkit-padding-end: var(--space-48) !important;
          padding-inline-end: var(--space-48) !important; }
.u-pt-40 {
  -webkit-padding-before: var(--space-40) !important;
          padding-block-start: var(--space-40) !important; }
.u-pb-40 {
  -webkit-padding-after: var(--space-40) !important;
          padding-block-end: var(--space-40) !important; }
.u-pl-40 {
  -webkit-padding-start: var(--space-40) !important;
          padding-inline-start: var(--space-40) !important; }
.u-pr-40 {
  -webkit-padding-end: var(--space-40) !important;
          padding-inline-end: var(--space-40) !important; }
.u-pt-32 {
  -webkit-padding-before: var(--space-32) !important;
          padding-block-start: var(--space-32) !important; }
.u-pb-32 {
  -webkit-padding-after: var(--space-32) !important;
          padding-block-end: var(--space-32) !important; }
.u-pl-32 {
  -webkit-padding-start: var(--space-32) !important;
          padding-inline-start: var(--space-32) !important; }
.u-pr-32 {
  -webkit-padding-end: var(--space-32) !important;
          padding-inline-end: var(--space-32) !important; }
.u-pt-24 {
  -webkit-padding-before: var(--space-24) !important;
          padding-block-start: var(--space-24) !important; }
.u-pb-24 {
  -webkit-padding-after: var(--space-24) !important;
          padding-block-end: var(--space-24) !important; }
.u-pl-24 {
  -webkit-padding-start: var(--space-24) !important;
          padding-inline-start: var(--space-24) !important; }
.u-pr-24 {
  -webkit-padding-end: var(--space-24) !important;
          padding-inline-end: var(--space-24) !important; }
.u-pt-16 {
  -webkit-padding-before: var(--space-16) !important;
          padding-block-start: var(--space-16) !important; }
.u-pb-16 {
  -webkit-padding-after: var(--space-16) !important;
          padding-block-end: var(--space-16) !important; }
.u-pl-16 {
  -webkit-padding-start: var(--space-16) !important;
          padding-inline-start: var(--space-16) !important; }
.u-pr-16 {
  -webkit-padding-end: var(--space-16) !important;
          padding-inline-end: var(--space-16) !important; }
.u-pt-8 {
  -webkit-padding-before: var(--space-8) !important;
          padding-block-start: var(--space-8) !important; }
.u-pb-8 {
  -webkit-padding-after: var(--space-8) !important;
          padding-block-end: var(--space-8) !important; }
.u-pl-8 {
  -webkit-padding-start: var(--space-8) !important;
          padding-inline-start: var(--space-8) !important; }
.u-pr-8 {
  -webkit-padding-end: var(--space-8) !important;
          padding-inline-end: var(--space-8) !important; }
.u-pt-0 {
  -webkit-padding-before: var(--space-0) !important;
          padding-block-start: var(--space-0) !important; }
.u-pb-0 {
  -webkit-padding-after: var(--space-0) !important;
          padding-block-end: var(--space-0) !important; }
.u-pl-0 {
  -webkit-padding-start: var(--space-0) !important;
          padding-inline-start: var(--space-0) !important; }
.u-pr-0 {
  -webkit-padding-end: var(--space-0) !important;
          padding-inline-end: var(--space-0) !important; }
/**
 * BrowserSync
 */
#__bs_notify__ {
  display: none !important;
  font-size: 8px !important;
  opacity: .25;
  max-height: 50px; }
.__debug_mihon__ {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  margin: 0 auto 0 auto;
  z-index: 100000;
  pointer-events: none;
  cursor: none;
  width: 100%;
  overflow: hidden;
  text-align: center;
  -webkit-animation: __debug_mihon__ 1s infinite;
          animation: __debug_mihon__ 1s infinite; }
.__debug_mihon__ {
  padding-top: 0px;
  margin-top: 0px; }
@-webkit-keyframes __debug_mihon__ {
  0% {
    opacity: 0; }
  60% {
    opacity: .5; }
  100% {
    opacity: .5; } }
/*
@example
 <div class="mihon">
  <img src="./images/sample1.png" alt="" class="type_pc">
  <img src="./images/sample2.png" alt="" class="type_sp">
</div>
*/
@media (max-width: 768px) {
    :root {
      --bg-color-height-sp: calc(100vw * 211 / 440); }
    .js-inview[data-inview="up"] {
      -webkit-transform: translateY(20px);
              transform: translateY(20px); }
    html {
      scroll-padding-top: calc(var(--hd-height-mobile) + 16px + 24px); }
  html,
  body {
    width: 100%;
    height: 100%; }
    .l-content {
      -webkit-margin-before: var(--space-80);
              margin-block-start: var(--space-80); }
    .l-footer {
      -webkit-margin-before: -51.5px;
              margin-block-start: -51.5px; }
      .l-footer__top {
        padding-block: 116px 40px; }
      .l-footer__buttons {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        width: 100%; }
      .l-footer__bottom {
        padding-block: 24px 72px; }
      .l-footer__inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 16px; }
      .l-global-nav__close {
        top: 16px;
        right: 16px; }
      .l-global-nav__item {
        padding-inline: 20px;
        padding-block: 40px; }
        .l-global-nav__category-en {
          font-size: 3.2rem; }
        .l-global-nav__category-ja {
          font-size: 2rem; }
      .l-global-nav__submenu {
        gap: 6px; }
        .l-global-nav__submenu-text {
          font-size: 1.4rem; }
        .l-global-nav__submenu-icon.-blank {
          width: 32px;
          height: 32px; }
  [data-layout="grid"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 40px; }
    [data-layout="grid"] .c-unit {
      -webkit-margin-after: 0 !important;
              margin-block-end: 0 !important; }
      .l-loading__logo {
        max-width: calc(409px * .5); }
      .l-loading__pic {
        max-width: calc(50% - var(--space-24)); }
      .l-loading__caption {
        top: 292px;
        right: 7vw;
        width: 194px; }
      .l-main::before {
        bottom: 51.5px;
        -webkit-transform: translate(-50%, 80px);
                transform: translate(-50%, 80px);
        width: calc(100% - 40px);
        height: 60px; }
      .l-main::after {
        height: 168px; }
    .p-notfound .c-page-title {
      top: calc(178px + 14px); }
    .p-notfound__info {
      font-size: 16rem; }
    .p-notfound__info-pic {
      left: 58px;
      width: 108px; }
    .p-notfound__desc {
      margin-top: 80px; }
  .p-admission__simulation-row[data-row="content"] {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 100%;
    grid-template-columns: 100%;
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    grid-gap: var(--space-40);
    gap: var(--space-40); }
    .p-admission__simulation-elm {
      padding-inline: var(--space-24); }
      .p-admission__simulation-elm .l-btn-wrap {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
        -ms-grid-rows: none;
        grid-template-rows: none;
        -webkit-box-pack: stretch;
            -ms-flex-pack: stretch;
                justify-content: stretch;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        grid-gap: var(--space-16);
        gap: var(--space-16); }
      .p-admission__simulation-elm .c-btn {
        width: 100%;
        min-width: auto; }
      .p-admission__simulation-elm[data-elm="link"] .p-admission__simulation-elm-title {
        font-size: 2.8rem; }
    .p-admission__simulation-elm[id="case06"] .p-admission__simulation-elm-title {
      font-size: 2rem; }
      .p-all-day__tab-trigger button {
        font-size: 1.8rem; }
      .p-all-day__tab-trigger button .small {
        display: block;
        font-size: 1.6rem;
        line-height: 1.2;
        color: var(--c-black); }
    .p-all-day__tab-item {
      padding-inline: var(--space-24); }
  .p-all-day__tab-content .c-btn {
    min-width: 100%; }
    .p-dedicated .l-content {
      -webkit-margin-before: 80px;
              margin-block-start: 80px; }
    .p-dedicated__login {
      padding: 40px 24px;
      clip-path: polygon(40px 0, calc(100% - 40px) 0, 100% 40px, 100% calc(100% - 40px), calc(100% - 40px) 100%, 40px 100%, 0 calc(100% - 40px), 0 40px); }
    .p-dedicated__login-title {
      font-size: 3.2rem; }
    .p-dedicated__login-text {
      font-size: 1.4rem; }
    .p-facilities__content {
      max-width: 440px;
      margin-top: var(--space-40);
      padding-top: var(--space-24); }
      .p-facilities__content-inner {
        width: 440px;
        min-width: 440px;
        height: 465px; }
      .p-facilities__content .c-unit {
        top: var(--sp-top, auto);
        bottom: var(--sp-bottom, auto);
        left: var(--sp-left, auto);
        right: var(--sp-right, auto); }
        .p-facilities__content .c-unit .js-modal-trigger {
          font-size: 1.2rem; }
  .p-facilities__map {
    height: 100%; }
  .p-family .c-card-info {
    max-width: 69.6714vw;
    margin-inline: auto; }
  .p-family .c-card-daily__figure {
    aspect-ratio: 352 / 352; }
  .p-family .c-card-daily__info {
    padding-inline: var(--space-24);
    padding-block: var(--space-24); }
    .p-gallery-category {
      -webkit-margin-after: 40px;
              margin-block-end: 40px; }
    .p-gallery-filter__row {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      gap: 12px; }
      .p-gallery-filter__row + .p-gallery-filter__row {
        -webkit-margin-before: 24px;
                margin-block-start: 24px; }
    .p-gallery-filter__label {
      width: auto;
      font-size: 1.8rem; }
    .p-gallery-filter__list {
      gap: 8px 20px; }
    .p-gallery-filter__link {
      font-size: 1.4rem; }
    .p-gallery-contents {
      -webkit-margin-after: 40px;
              margin-block-end: 40px; }
    .p-gallery-list {
      -ms-grid-columns: 1fr;
      grid-template-columns: 1fr;
      gap: 40px; }
      .p-gallery-list__caption {
        font-size: 1.8rem;
        line-height: 0.9; }
  .p-gallery-detail__list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 100%;
    grid-template-columns: 100%;
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    grid-gap: var(--space-16);
    gap: var(--space-16); }
    .p-home__section-title {
      font-size: 6.4rem; }
    .p-home__news-list.-first {
      overflow-x: auto;
      padding-right: var(--side-padding);
      padding-bottom: var(--space-8);
      -webkit-overflow-scrolling: touch;
      width: calc(100% + (var(--side-padding) * 2));
      margin-inline: calc(var(--side-padding) * -1);
      padding-inline: var(--side-padding); }
      .p-home__news-list.-first::-webkit-scrollbar {
        height: 6px; }
      .p-home__news-list.-first::-webkit-scrollbar-track {
        background: var(--c-gray-light);
        border-radius: 3px; }
      .p-home__news-list.-first::-webkit-scrollbar-thumb {
        background: var(--c-gray);
        border-radius: 3px; }
      .p-home__news-list.-first::-webkit-scrollbar-track {
        margin-inline: var(--side-padding); }
    .p-home__news-list.-first .p-home__news-items {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      gap: 24px;
      width: -webkit-max-content;
      width: -moz-max-content;
      width: max-content; }
  .p-home__news-items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 24px; }
  .p-home__news-item {
    width: 69.6714vw; }
    .p-home__features {
      margin-top: 192px; }
    .p-home__admission-about {
      margin-top: 122px; }
      .p-home__aside .section {
        padding-top: 108px; }
      .p-home__aside-chart .icon {
        width: 16px;
        height: 16px; }
    .p-movie .c-page-title {
      top: calc(240px + 14px); }
    .p-movie-category {
      -webkit-margin-after: 40px;
              margin-block-end: 40px; }
    .p-movie-filter__row {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      gap: 12px; }
      .p-movie-filter__row + .p-movie-filter__row {
        -webkit-margin-before: 24px;
                margin-block-start: 24px; }
    .p-movie-filter__label {
      width: auto;
      font-size: 1.8rem; }
    .p-movie-filter__list {
      gap: 8px 20px; }
    .p-movie-filter__link {
      font-size: 1.4rem; }
    .p-movie-contents {
      -webkit-margin-after: 40px;
              margin-block-end: 40px; }
    .p-movie-list {
      -ms-grid-columns: 1fr;
      grid-template-columns: 1fr;
      gap: 40px; }
      .p-movie-list__caption {
        font-size: 1.8rem;
        line-height: 0.9; }
    .p-news-category {
      -webkit-margin-after: 40px;
              margin-block-end: 40px; }
    .p-news-filter__row {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      gap: 12px; }
      .p-news-filter__row + .p-news-filter__row {
        -webkit-margin-before: 24px;
                margin-block-start: 24px; }
    .p-news-filter__label {
      width: auto;
      font-size: 1.8rem; }
    .p-news-filter__list {
      gap: 8px 20px; }
    .p-news-filter__link {
      font-size: 1.4rem; }
    .p-news-contents {
      -webkit-margin-after: 40px;
              margin-block-end: 40px; }
    .p-news-list {
      -ms-grid-columns: 1fr;
      grid-template-columns: 1fr;
      gap: 40px; }
      .p-news-list__item .c-card-daily__figure {
        aspect-ratio: 352 / 352; }
      .p-news-list__item .c-card-daily__info {
        padding-inline: var(--space-24);
        padding-block: var(--space-24); }
      .p-news-list__caption {
        font-size: 1.8rem;
        line-height: 0.9; }
    .c-bg-color {
      height: var(--bg-color-height-sp, 211px); }
      .c-bread__list {
        gap: var(--space-8) var(--space-16); }
      .c-bread__item {
        gap: var(--space-16); }
    .c-btn {
      max-width: 100%;
      gap: 16px;
      padding-inline: var(--space-24);
      padding-block: var(--space-16); }
  .c-calendar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-padding-after: 8px;
            padding-block-end: 8px; }
    .c-calendar::-webkit-scrollbar {
      height: 6px; }
    .c-calendar::-webkit-scrollbar-track {
      background: var(--c-gray-light);
      border-radius: 3px; }
    .c-calendar::-webkit-scrollbar-thumb {
      background: var(--c-gray);
      border-radius: 3px; }
    .c-calendar iframe {
      width: 800px;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
    .c-card-pict {
      -webkit-padding-before: var(--space-16);
              padding-block-start: var(--space-16); }
      .c-card-pict__number {
        font-size: 4rem; }
    .c-card-daily {
      max-width: 69.6714vw;
      margin-inline: auto; }
    .c-card-home__inner {
      padding: var(--space-40) var(--space-32); }
    .c-card-home__category:has(span) {
      -webkit-margin-after: var(--space-24);
              margin-block-end: var(--space-24); }
  .c-card-lunch {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 32px; }
    .c-card-lunch__info {
      gap: 16px; }
    .c-chart {
      gap: var(--space-16); }
      .c-chart__item {
        gap: var(--space-16); }
      .c-chart__item:not(:last-child)::after {
        bottom: -16px; }
      .c-chart__content {
        padding-inline: var(--space-24); }
      .c-chart[data-layout="category"] .c-chart__item::after {
        left: 18px; }
      .c-faq-accordion .js-summary {
        gap: var(--space-16);
        padding-inline: var(--space-16); }
        .c-faq-accordion .js-summary::before {
          font-size: 2.4rem;
          line-height: 1;
          color: var(--section-color, var(--c-orange)); }
      .c-faq-accordion__head {
        font-size: 2rem; }
      .c-faq-accordion__icon {
        width: 16px;
        height: 16px; }
        .c-faq-accordion__icon::before {
          width: 16px; }
        .c-faq-accordion__icon::after {
          height: 16px; }
      .c-faq-accordion__content {
        gap: var(--space-16);
        padding-inline: var(--space-16); }
        .c-faq-accordion__content::before {
          font-size: 2.4rem;
          line-height: 1;
          color: var(--c-gray-light); }
  .c-form__field {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 100%;
    grid-template-columns: 100%;
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    grid-gap: var(--space-16);
    gap: var(--space-16); }
    .c-form__field-column {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
    .c-form__textbox input {
      height: 48px;
      padding: var(--space-16); }
    .c-form__textarea textarea {
      height: 128px;
      padding: var(--space-16); }
      .c-form__select select {
        height: 48px;
        padding: var(--space-16); }
    .c-form__date {
      margin-right: var(--space-24); }
      .c-form__date input {
        height: 48px;
        padding: var(--space-16); }
      .c-form__date .placeholder {
        left: var(--space-16); }
      .c-form__date.-year {
        margin-bottom: var(--space-16); }
      .c-fv__info {
        -ms-flex-item-align: end;
            align-self: flex-end;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        padding-inline: var(--side-padding); }
      .c-html h2 {
        font-size: 2.4rem; }
      .c-html h3 {
        font-size: 2rem; }
      .c-html h4 {
        font-size: 2rem; }
      .c-html h5 {
        font-size: 2rem; }
      .c-html h6 {
        font-size: 2rem; }
    .c-html dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      gap: 8px; }
      .c-html dl[data-type="line"] {
        -ms-grid-columns: 100%;
        grid-template-columns: 100%;
        gap: 8px;
        padding-inline: 0; }
      .c-html .c-table-wrapper {
        -webkit-padding-after: 8px;
                padding-block-end: 8px;
        overflow-x: scroll;
        -webkit-overflow-scrolling: touch; }
        .c-html .c-table-wrapper::-webkit-scrollbar {
          height: 6px; }
        .c-html .c-table-wrapper::-webkit-scrollbar-track {
          background: color-mix(in srgb, var(--section-color, var(--c-salmon)) 8%, transparent);
          border-radius: 3px; }
        .c-html .c-table-wrapper::-webkit-scrollbar-thumb {
          background: var(--section-color, var(--c-salmon));
          border-radius: 3px; }
      .c-html table {
        min-width: 800px; }
    .c-map {
      aspect-ratio: auto;
      height: 300px; }
      .c-interview__card {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--space-32); }
      .c-interview__bubble {
        padding-inline: var(--space-24);
        padding-block: var(--space-24); }
        .c-interview__bubble::before {
          right: auto;
          top: auto;
          bottom: 100%;
          left: 48px;
          border: 12px solid transparent;
          border-bottom: 24px solid var(--section-color, var(--c-yellow));
          border-top: 0; }
        .c-interview__bubble::after {
          right: auto;
          top: auto;
          bottom: 100%;
          left: 49px;
          border: 11px solid transparent;
          border-bottom: 22px solid color-mix(in srgb, var(--section-color, var(--c-yellow)) 3%, #fff);
          border-top: 0; }
    .c-map {
      aspect-ratio: auto;
      height: 300px; }
      .c-modal__container {
        max-height: calc(100dvh - 120px); }
      .c-modal__body {
        padding-inline: var(--space-24);
        padding-block: var(--space-24); }
        [data-modal-type="gallery"] .c-modal__nav {
          display: -webkit-box !important;
          display: -ms-flexbox !important;
          display: flex !important; }
      .c-modal__nav {
        position: absolute;
        bottom: calc(var(--space-56) * -1);
        left: 0;
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 16px;
        background: none;
        pointer-events: none;
        z-index: 10; }
      .c-modal__prev, .c-modal__next {
        position: static;
        translate: 0; }
        .c-modal__prev .c-pagination__icon, .c-modal__next .c-pagination__icon {
          width: 40px;
          height: 40px; }
      .c-modal__prev {
        --arrow-distance: 40px; }
      .c-modal__next {
        --arrow-distance: 40px; }
      .c-mv__bg-item:nth-child(3) .c-mv__bg-frame img {
        -webkit-transform: translate(-50%, -50%) scale(1.07);
                transform: translate(-50%, -50%) scale(1.07); }
      .c-mv__bg-item:nth-child(2), .c-mv__bg-item:nth-child(3), .c-mv__bg-item:nth-child(5) {
        clip-path: polygon(50px 0, calc(100% - 50px) 0, 100% 50px, 100% calc(100% - 50px), calc(100% - 50px) 100%, 50px 100%, 0 calc(100% - 50px), 0 50px); }
        .c-mv__bg-frame img {
          -webkit-transform: translate(-50%, -50%) scale(1.05);
                  transform: translate(-50%, -50%) scale(1.05); }
      .c-mv__text {
        font-size: 4.8rem;
        line-height: 1.9;
        letter-spacing: 0.06em; }
    .c-note {
      padding-inline: var(--side-padding);
      padding-block: var(--side-padding); }
      .c-note__title {
        font-size: 2rem; }
      .c-html h3.c-note__title {
        font-size: 2rem; }
      .c-page-title__inner {
        padding-inline: var(--side-padding); }
    .c-pagetop {
      width: 104px;
      height: 48px; }
      .c-pagetop__icon {
        width: 18px;
        height: 18px; }
        .c-pagetop__icon svg {
          width: 8px;
          height: 11px; }
      .c-pagetop__label {
        font-size: 1.3rem; }
      .c-pagination__container {
        gap: 12px; }
      .c-pagination__prev a {
        --arrow-distance: 24px; }
      .c-pagination__next a {
        --arrow-distance: 24px; }
      .c-pagination__icon {
        width: 32px;
        height: 32px; }
        .c-pagination__icon svg {
          width: 16px;
          height: 11px; }
    .c-profile {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      gap: var(--space-40); }
      .c-profile__media {
        clip-path: polygon(64px 0, calc(100% - 64px) 0, 100% 64px, 100% calc(100% - 64px), calc(100% - 64px) 100%, 64px 100%, 0 calc(100% - 64px), 0 64px); }
      .c-profile__content {
        -ms-flex-item-align: start;
            align-self: flex-start; }
      .c-schedule-item:not(:last-child) {
        padding-bottom: 20px; }
      .c-schedule-item__time {
        padding-inline: var(--space-16);
        font-size: 4rem; }
        .c-schedule-item__time .caption {
          font-size: 3.2rem; }
      .c-schedule-item__content {
        padding-inline: var(--side-padding);
        padding-block: var(--space-40) var(--space-80); }
        .c-schedule-item__arrow svg {
          width: 27.2px;
          height: 38.4px; }
    .c-section {
      overflow: hidden; }
    h2.c-section-title {
      font-size: 3.2rem;
      line-height: 1.5;
      color: var(--c-black); }
    .c-section-title-en {
      font-size: 4rem;
      -webkit-margin-after: var(--space-8);
              margin-block-end: var(--space-8); }
  .c-section:has([data-slider]) {
    overflow: visible; }
    [data-slider] {
      width: calc(100% + (var(--side-padding) * 2));
      margin-inline: calc(var(--side-padding) * -1); }
      [data-slider] .swiper-button-prev,
      [data-slider] .swiper-button-next {
        --nav-btn-size: 40px;
        width: 40px;
        height: 40px;
        bottom: 40px; }
          [data-slider] .swiper-button-prev .swiper-button__icon svg,
          [data-slider] .swiper-button-next .swiper-button__icon svg {
            scale: 0.8; }
      [data-slider] .swiper-button-prev {
        left: 8px; }
      [data-slider] .swiper-button-next {
        right: 8px; }
      [data-slider] .swiper-pagination {
        margin-top: var(--space-24); }
  [data-slider="single-slider"] {
    padding-inline: 24px; }
  [data-slider="single-slider"] .swiper {
    max-width: 75.5vw; }
      .c-youtube iframe {
        max-width: 100%; }
  .for-large {
    display: none; } }
@media (max-width: 390px) {
    .l-btn-wrap {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      gap: var(--space-24);
      width: 100%; } }
@media (max-width: 800px) {
    .l-card-pict {
      -ms-grid-columns: (1fr)[2];
      grid-template-columns: repeat(2, 1fr);
      -webkit-column-gap: var(--space-16);
         -moz-column-gap: var(--space-16);
              column-gap: var(--space-16); } }
@media (max-width: 800px) and (max-width: 375px) {
    .l-card-pict {
      -webkit-column-gap: var(--space-8);
         -moz-column-gap: var(--space-8);
              column-gap: var(--space-8); } }
@media (min-width: 769px) {
    .l-footer {
      min-width: 1120px; }
      .l-footer__address-link {
        text-decoration: underline;
        -webkit-transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .l-footer__address-link:hover {
          color: var(--c-orange);
          text-decoration: none; }
      .l-footer__inner {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
            -ms-flex-direction: row-reverse;
                flex-direction: row-reverse;
        width: 100%;
        max-width: calc(1280px + (var(--side-padding) * 2));
        margin-inline: auto;
        padding-inline: var(--side-padding); }
      .l-footer__sns {
        -webkit-transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .l-footer__sns:hover {
          color: var(--c-orange); }
      .l-global-nav__close {
        -webkit-transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .l-global-nav__close:hover {
          color: var(--c-orange); }
      .l-global-nav__item {
        min-height: 508.77px; }
        .l-global-nav__item:hover .l-global-nav__item-bg {
          clip-path: polygon(0 0, 100% 0, 0 100%, 0 100%); }
        .l-global-nav__submenu-link {
          -webkit-transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
          .l-global-nav__submenu-link:hover {
            color: var(--c-white); }
  [data-layout="grid"][data-column="2"] {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    grid-gap: var(--gap, 80px);
    gap: var(--gap, 80px); }
    [data-layout="grid"][data-column="2"]:nth-child(odd) {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 1fr 1fr;
      grid-template-columns: 1fr 1fr;
      -ms-grid-rows: auto;
      grid-template-rows: auto;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      grid-gap: var(--gap, 80px);
      gap: var(--gap, 80px); }
      [data-layout="grid"][data-column="2"]:nth-child(odd) .c-unit:first-child {
        -ms-grid-column: 2;
        grid-column: 2;
        -ms-grid-row: 1;
        grid-row: 1; }
      [data-layout="grid"][data-column="2"]:nth-child(odd) .c-unit:last-child {
        -ms-grid-column: 1;
        grid-column: 1;
        -ms-grid-row: 1;
        grid-row: 1; }
  [data-layout="grid"][data-column="3"] {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    grid-gap: var(--gap, 32px 40px);
    gap: var(--gap, 32px 40px); }
  [data-layout="grid"][data-column="4"] {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    grid-gap: var(--gap, 32px 40px);
    gap: var(--gap, 32px 40px); }
  [data-layout="grid"] .c-unit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 40px;
    -webkit-margin-after: 0;
            margin-block-end: 0; }
  [data-layout="separate"] {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    grid-gap: var(--gap, 40px 80px);
    gap: var(--gap, 40px 80px); }
    [data-layout="separate"] .c-unit {
      -webkit-margin-after: 0;
              margin-block-end: 0; }
        .header__logo-link {
          -webkit-transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
          .header__logo-link:hover {
            opacity: 0.7; }
      .header__menu-button:hover::before {
        -webkit-transform: scale(8);
                transform: scale(8); }
    .l-loading {
      min-width: 1440px; }
      .l-loading__caption {
        right: 148px;
        bottom: 128px;
        width: 308px; }
    .l-main {
      min-width: 1120px; }
    .p-notfound .c-page-title {
      top: calc(288px + 29px); }
  .p-admission__simulation-row[data-row="content"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0; }
    .p-admission__simulation-elm {
      max-width: 480px;
      min-width: 480px; }
  .block02 .c-unit:first-child {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 1;
    grid-row: 1; }
  .block02 .c-unit:last-child {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1; }
        .p-facilities__content .c-unit .js-modal-trigger:hover {
          opacity: 1;
          /* 1回だけアニメーションを実行し、マウスアウト時はリセット */
          -webkit-animation: bounce 0.5s cubic-bezier(0.28, 0.84, 0.42, 1) forwards;
                  animation: bounce 0.5s cubic-bezier(0.28, 0.84, 0.42, 1) forwards; }
  .p-facilities__map {
    width: 100%;
    max-width: 1120px;
    margin-inline: auto; }
    .p-gallery-filter__link:hover {
      color: var(--section-color, var(--c-green)); }
    .p-gallery-detail__category-tag {
      -webkit-transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .p-gallery-detail__category-tag:hover {
        opacity: 0.7; }
  .p-gallery-detail__list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    grid-gap: var(--space-32);
    gap: var(--space-32); }
    .p-gallery-detail__link {
      overflow: hidden; }
      .p-gallery-detail__link .p-gallery-detail__img img {
        -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .p-gallery-detail__link:hover .p-gallery-detail__img img {
        -webkit-transform: scale(1.05);
                transform: scale(1.05); }
  .p-home {
    overflow: hidden; }
    .p-home__lunch .p-home__news-heading {
      max-width: 46.43%; }
  .p-home__news-items {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    grid-gap: 32px 40px;
    gap: 32px 40px; }
    .p-home__features {
      margin-top: 224px;
      padding-block: 266px; }
  .p-home__features-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 48px;
    width: calc(400px + var(--side-padding));
    margin-left: auto; }
    .p-home__features-figure {
      position: absolute;
      top: 50%;
      left: 0;
      -webkit-transform: translateY(-50%) !important;
              transform: translateY(-50%) !important; }
    .p-home__admission {
      padding-block: var(--space-168); }
    .p-home__admission-content {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      gap: 0;
      min-height: 624px; }
  .p-home__admission-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 48px;
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    width: 400px; }
    .p-home__admission-figure {
      position: absolute;
      top: 168px;
      right: 0;
      -webkit-transform: translate(0, 0) !important;
              transform: translate(0, 0) !important; }
    .p-home__admission-about {
      margin-top: var(--space-168); }
    .p-home__fixed-pic {
      height: 786px;
      background-attachment: fixed;
      background-image: url(../images/home/fixed_bg@pc.webp);
      background-position: center bottom;
      background-repeat: no-repeat;
      background-size: cover; }
      .is-ipad .p-home__fixed-pic {
        background-image: none; }
        .is-ipad .p-home__fixed-pic .for-mobile {
          display: block !important; }
      .p-home__aside .section {
        padding-top: var(--space-168); }
      .p-home__aside a.card {
        overflow: hidden; }
        .p-home__aside a.card .figure img {
          -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .p-home__aside a.card:hover .figure img {
          -webkit-transform: scale(1.05);
                  transform: scale(1.05); }
      .p-home__aside a.card:hover {
        opacity: 1 !important; }
      .p-home__aside a.card:hover .caption {
        -webkit-transform: translateY(-4px);
                transform: translateY(-4px); }
    .p-movie .c-page-title {
      top: calc(288px + 29px); }
    .p-movie-filter__link:hover {
      color: var(--section-color, var(--c-green)); }
    .p-news-filter__label {
      line-height: 40px; }
    .p-news-filter__link:hover {
      color: var(--section-color, var(--c-green)); }
    .p-news-detail__category-tag {
      -webkit-transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .p-news-detail__category-tag:hover {
        opacity: 0.7; }
      .p-news-detail__content p img {
        max-width: 60%; }
      .c-bread__link {
        -webkit-transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .c-bread__link:hover {
          color: var(--c-orange); }
    .c-btn {
      overflow: hidden;
      -webkit-transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .c-btn:hover {
        color: var(--c-white); }
        .c-btn:hover::before {
          -webkit-transform: translate(-50%, -50%) scale(1);
                  transform: translate(-50%, -50%) scale(1); }
      .c-btn--secondary:hover {
        color: var(--c-black); }
      .c-btn[href^="tel:"] {
        pointer-events: none; }
    .c-card {
      -ms-grid-rows: subgrid;
      grid-template-rows: subgrid;
      -ms-grid-row-span: 4;
      grid-row: span 4; }
      .c-card:not(:has(.c-card__text)):has(.c-card__title) {
        -ms-grid-row-span: 3;
        grid-row: span 3; }
        [data-column="1"] .c-card__figure {
          clip-path: polygon(100px 0, calc(100% - 100px) 0, 100% 100px, 100% calc(100% - 100px), calc(100% - 100px) 100%, 100px 100%, 0 calc(100% - 100px), 0 100px); }
      .c-html .c-card:hover {
        opacity: 1 !important; }
    .c-card-daily {
      overflow: hidden; }
      .c-card-daily .c-card-daily__figure img {
        -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .c-card-daily:hover .c-card-daily__figure img {
        -webkit-transform: scale(1.05);
                transform: scale(1.05); }
    .c-card-daily:hover .c-card-daily__label {
      -webkit-transform: translateY(-4px);
              transform: translateY(-4px); }
      .c-html .c-card-daily:hover {
        opacity: 1 !important; }
  .c-card-home:hover .c-card-home__label {
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px); }
    .c-card-home__inner {
      aspect-ratio: 332 / 252; }
    .c-card-home__category {
      min-height: 28px;
      -webkit-margin-after: var(--space-24);
              margin-block-end: var(--space-24); }
    .c-card-info {
      overflow: hidden; }
      .c-card-info .c-card-info__figure img {
        -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .c-card-info:hover .c-card-info__figure img {
        -webkit-transform: scale(1.05);
                transform: scale(1.05); }
      .c-html .c-card-info:hover {
        opacity: 1 !important; }
  .c-card-lunch {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 80px; }
      .c-chart__item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        gap: var(--space-40); }
      .c-chart__item:not(:last-child)::after {
        bottom: -24px; }
      .c-chart[data-layout="category"] .c-chart__label {
        margin-left: 20px; }
        .c-faq-accordion .js-summary::before {
          -webkit-transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .c-faq-accordion .js-summary {
        cursor: pointer; }
    .c-faq-accordion .js-details[open] .js-summary:hover::before {
      color: var(--c-gray-light) !important; }
  .c-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: var(--flex-space, 0);
    width: 100%; }
  .c-flex[data-justify="center"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0; }
  .c-flex[data-justify="left"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0; }
  .c-flex[data-justify="right"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0; }
  .c-flex[data-justify="space-between"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0; }
  .c-form__field {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 344px 1fr;
    grid-template-columns: 344px 1fr;
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    grid-gap: var(--space-16);
    gap: var(--space-16); }
  .c-form__field[data-filed="message"], .c-form__field[data-filed="first_pref_date"], .c-form__field[data-filed="qualification"], .c-form__field[data-filed="graduation"] {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    .c-form__field[data-filed="message"] .c-form__field-column, .c-form__field[data-filed="first_pref_date"] .c-form__field-column, .c-form__field[data-filed="qualification"] .c-form__field-column, .c-form__field[data-filed="graduation"] .c-form__field-column {
      margin-top: var(--space-24); }
    .c-form__privacy-desc a {
      -webkit-transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .c-form__privacy-desc a:hover {
        opacity: 0.7; }
      .c-fv__info {
        -webkit-margin-before: 128px;
                margin-block-start: 128px;
        padding: var(--space-80) var(--space-72); }
      .c-fv__nav-link {
        -webkit-transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .c-fv__nav-link:hover {
          color: var(--c-orange); }
    .c-html dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      gap: 32px; }
      .c-html dl dt {
        min-width: 168px; }
      .c-html a:not(.c-btn) {
        -webkit-transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .c-html a:not(.c-btn):hover {
          opacity: 0.7; }
      .c-modal__close {
        -webkit-transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .c-modal__close:hover {
          color: var(--c-orange); }
    .js-modal-trigger {
      -webkit-transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .js-modal-trigger:hover {
        opacity: 0.7; }
    .c-mv {
      height: 703px;
      margin-bottom: 160px; }
      .c-mv__bg-flow {
        bottom: 60px; }
      .c-mv__bg-item {
        width: 327px;
        margin-right: 24px; }
        .c-mv__bg-item:nth-child(1), .c-mv__bg-item:nth-child(3) {
          height: 327px; }
        .c-mv__bg-item:nth-child(2), .c-mv__bg-item:nth-child(4), .c-mv__bg-item:nth-child(5) {
          height: 644px; }
      .c-mv__bg-item:nth-child(2), .c-mv__bg-item:nth-child(3), .c-mv__bg-item:nth-child(5) {
        clip-path: polygon(100px 0, calc(100% - 100px) 0, 100% 100px, 100% calc(100% - 100px), calc(100% - 100px) 100%, 100px 100%, 0 calc(100% - 100px), 0 100px); }
      .c-mv__caption {
        right: 140px; }
      .c-mv__text {
        font-size: 8rem;
        line-height: 1.8;
        letter-spacing: 0.01em; }
      .c-pagination__item a:hover, .c-pagination__first a:hover, .c-pagination__last a:hover {
        color: var(--section-color, var(--c-orange)); }
      .c-profile__media {
        width: clamp(320px, 40vw, 600px);
        clip-path: polygon(100px 0, calc(100% - 100px) 0, 100% 100px, 100% calc(100% - 100px), calc(100% - 100px) 100%, 100px 100%, 0 calc(100% - 100px), 0 100px); }
      .c-profile__content {
        margin-inline: calc(var(--space-56) * -1) var(--space-64); }
    .c-profile__title {
      text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.6); }
    .c-schedule-item.c-schedule-item.--vertical {
      padding-bottom: 0; }
      .c-schedule-item__content {
        height: calc(100% - 56px); }
      .c-schedule-item.--vertical .c-schedule-item__content {
        padding-inline: var(--space-40);
        padding-block: var(--space-64); }
      .c-schedule-item.--vertical:first-child .c-schedule-item__arrow {
        display: none; }
      .c-schedule-item.--vertical:last-child .c-schedule-item__arrow {
        display: block; }
      .c-schedule-item.--vertical .c-schedule-item__arrow {
        top: 50%;
        bottom: unset;
        left: -24px;
        -webkit-transform: rotate(-90deg);
                transform: rotate(-90deg); }
    .c-section-title-en {
      position: absolute;
      top: 0;
      left: calc((80px + 40px) * -1);
      -webkit-writing-mode: vertical-rl;
          -ms-writing-mode: tb-rl;
              writing-mode: vertical-rl;
      text-orientation: mixed;
      white-space: nowrap;
      -webkit-margin-after: 0;
              margin-block-end: 0; }
    [data-slider] {
      width: 100%;
      max-width: calc(1120px + (var(--side-padding) * 2));
      margin-inline: auto;
      padding-inline: var(--side-padding); }
  [data-slider="single-slider"] .swiper {
    max-width: 1040px; }
    [data-slider="single-slider"] .swiper-slide figure {
      clip-path: polygon(100px 0, calc(100% - 100px) 0, 100% 100px, 100% calc(100% - 100px), calc(100% - 100px) 100%, 100px 100%, 0 calc(100% - 100px), 0 100px); }
    .c-timeline {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 1fr 1fr;
      grid-template-columns: 1fr 1fr;
      grid-gap: var(--space-64);
      gap: var(--space-64); }
      .c-timeline__dot {
        display: block;
        -webkit-margin-start: 18px;
                margin-inline-start: 18px;
        opacity: 0;
        -webkit-transition: opacity 0.4s ease;
        transition: opacity 0.4s ease; }
        .c-timeline__dot.is-inview {
          opacity: 1; }
        .c-timeline__dot .icon-timeline-dot {
          display: block;
          width: 4px;
          height: 20px;
          color: var(--section-color, var(--c-green-lime)); }
    .c-timeline__col--left .c-timeline__dot {
      -webkit-margin-before: 4px;
              margin-block-start: 4px; }
    .c-timeline__col--right .c-timeline__dot {
      position: relative;
      -webkit-margin-after: calc(var(--space-24) + 4px);
              margin-block-end: calc(var(--space-24) + 4px); }
      .c-timeline__col--right .c-timeline__dot::after {
        content: '';
        position: absolute;
        top: calc(100% + 4px);
        left: 0;
        width: 4px;
        height: var(--space-24);
        background-color: var(--section-color, var(--c-green-lime)); }
  .for-mobile {
    display: none; } }
@media (max-width: 960px) {
    .l-footer {
      min-width: auto; }
    .header {
      top: 16px; }
      .header__inner {
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        padding-inline: 16px; }
      .header__logo {
        width: 64px; }
    .l-main {
      min-width: auto; }
  .l-main {
    -webkit-padding-before: calc(var(--hd-height-mobile) + 40px);
            padding-block-start: calc(var(--hd-height-mobile) + 40px); }
    .l-main.-second {
      -webkit-padding-before: var(--bg-color-height-sp, 211px);
              padding-block-start: var(--bg-color-height-sp, 211px); }
    .p-home__features {
      padding-block: 112px; }
  .p-home__features-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 40px;
    width: 100%; }
    .p-home__features-figure {
      position: relative;
      top: unset;
      left: calc(var(--side-padding) * -1) !important;
      -webkit-transform: translateY(0) !important;
              transform: translateY(0) !important;
      -ms-flex-item-align: start;
          align-self: flex-start; }
    .p-home__features-figure {
      -webkit-transform: translateX(calc(var(--side-padding) * -1));
              transform: translateX(calc(var(--side-padding) * -1));
      width: calc(100% + var(--side-padding)); }
      .p-home__features-figure figure {
        aspect-ratio: 300 / 188;
        clip-path: polygon(0 0, calc(100% - 110px) 0, 100% 110px, 100% calc(100% - 110px), calc(100% - 110px) 100%, 0 100%); }
    .p-home__admission {
      padding-block: 112px; }
  .p-home__admission-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 40px;
    width: 100%; }
    .p-home__admission-figure {
      -ms-flex-item-align: start;
          align-self: flex-start;
      position: relative;
      top: unset;
      right: unset !important;
      width: calc(100% + var(--side-padding)); }
      .p-home__admission-figure figure {
        aspect-ratio: 300 / 188;
        clip-path: polygon(110px 0, 100% 0, 100% 100%, 110px 100%, 0 calc(100% - 110px), 0 110px); }
    .p-home__fixed-pic {
      height: auto;
      background-image: unset;
      background-attachment: unset; }
      .p-home__fixed-pic .for-mobile {
        display: block !important; }
    .p-home__aside-chart {
      overflow-x: auto;
      padding-right: var(--side-padding);
      padding-bottom: var(--space-8);
      -webkit-overflow-scrolling: touch;
      width: calc(100% + (var(--side-padding) * 2));
      margin-inline: calc(var(--side-padding) * -1);
      padding-inline: var(--side-padding); }
      .p-home__aside-chart::-webkit-scrollbar {
        height: 6px; }
      .p-home__aside-chart::-webkit-scrollbar-track {
        background: var(--c-gray-light);
        border-radius: 3px; }
      .p-home__aside-chart::-webkit-scrollbar-thumb {
        background: var(--c-gray);
        border-radius: 3px; }
      .p-home__aside-chart::-webkit-scrollbar-track {
        margin-inline: var(--side-padding); }
      .p-home__aside-chart figure {
        height: 500px;
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content; }
        .p-home__aside-chart figure img {
          max-width: none;
          width: auto;
          height: 100%; }
      .p-home__aside-chart .item {
        gap: 6px; }
        .p-home__aside-chart .item[data-item="hiyoko"] {
          top: 68.5px;
          left: 303px; }
        .p-home__aside-chart .item[data-item="custody-childcare"] {
          top: 126.5px;
          left: 303px; }
          .p-home__aside-chart .item[data-item="custody-childcare"] .bar {
            width: 425px; }
        .p-home__aside-chart .item[data-item="extracurricular"] {
          top: 184.5px;
          right: unset;
          left: 410px; }
          .p-home__aside-chart .item[data-item="extracurricular"] .bar {
            width: 425px; }
        .p-home__aside-chart .item[data-item="chibikko"] {
          top: 260.5px;
          left: 200px; }
          .p-home__aside-chart .item[data-item="chibikko"] .bar {
            width: 209px; }
        .p-home__aside-chart .item[data-item="mamekko"] {
          bottom: 150px;
          left: 306px; }
        .p-home__aside-chart .item[data-item="powerful"] {
          bottom: 92px;
          left: 306px; }
        .p-home__aside-chart .item[data-item="playground"] {
          bottom: 34px;
          left: 92px; }
          .p-home__aside-chart .item[data-item="playground"] .bar {
            width: 209px; }
      .p-home__aside-chart .link {
        font-size: 1.2rem; }
      .p-home__aside-chart .bar {
        width: 102px;
        height: 18px; }
        .c-card-pict__icon img {
          max-width: 80px; }
      .c-card-pict__text {
        bottom: var(--space-16);
        width: calc(100% - (var(--space-16) * 2));
        font-size: 1.8rem; }
    .c-fv {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      gap: 40px;
      min-height: calc(var(--hd-height-mobile) + 40px); }
      .c-fv__visual {
        -ms-flex-item-align: start;
            align-self: flex-start;
        -webkit-padding-end: var(--side-padding);
                padding-inline-end: var(--side-padding); }
      .c-fv__figure {
        clip-path: polygon(0 0, calc(100% - 124px) 0, 100% 124px, 100% calc(100% - 124px), calc(100% - 124px) 100%, 0 100%); }
        .c-fv__figure::after {
          background-size: 100% 100%; }
    .c-section-title-en {
      position: relative;
      left: 0;
      -webkit-margin-after: var(--space-8);
              margin-block-end: var(--space-8);
      -webkit-writing-mode: horizontal-tb;
          -ms-writing-mode: lr-tb;
              writing-mode: horizontal-tb;
      white-space: normal; } }
@media (max-width: 1140px) {
      .l-footer__top-inner {
        max-width: 100%; } }
@media (max-width: 375px) {
      .l-footer__address {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        gap: 8px; }
      .c-card-pict__inner {
        padding-inline: 48px;
        -webkit-padding-after: 32px;
                padding-block-end: 32px; } }
@media (max-width: 1024px) {
      .l-global-nav__list {
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr); }
  .header__nav {
    display: none; }
  .header__menu-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
      .l-loading__pics {
        gap: 40px; } }
@media (max-width: 1024px) and (max-width: 768px) {
    .l-global-nav__list {
      -ms-grid-columns: 1fr;
      grid-template-columns: 1fr;
      -ms-grid-rows: auto;
      grid-template-rows: auto;
      height: auto; }
    .l-loading__pics {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      gap: 22px 16px;
      padding: var(--space-24); } }
@media (min-width: 961px) {
    .header {
      top: 24px;
      min-width: 1120px; }
  .l-main {
    -webkit-padding-before: calc(var(--hd-height-pc) + 24px + 56px);
            padding-block-start: calc(var(--hd-height-pc) + 24px + 56px); }
    .l-main.-second {
      -webkit-padding-before: 288px;
              padding-block-start: 288px; }
    .p-home__features-figure {
      width: 832px; }
    .p-home__admission-figure {
      width: 832px; }
    .p-home__aside-chart {
      min-width: 1120px; }
    .c-fv {
      min-width: 1120px; }
      .c-fv__visual {
        width: 832px; } }
@media (max-width: 1320px) {
      .header__nav {
        display: none; } }
@media (hover: hover) and (pointer: fine) {
      .header__nav-wrapper:hover .header__submenu {
        opacity: 1;
        visibility: visible;
        -webkit-transform: translateX(-50%) scaleY(1);
                transform: translateX(-50%) scaleY(1);
        pointer-events: auto; } }
@media (hover: hover) {
        .header__submenu-link.is-hover .header__submenu-icon svg {
          -webkit-animation-duration: var(--transition-arrow, 0.4s);
                  animation-duration: var(--transition-arrow, 0.4s);
          -webkit-animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
                  animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
          -webkit-animation-fill-mode: both;
                  animation-fill-mode: both; }
          .header__submenu-link.is-hover .header__submenu-icon svg:first-child {
            -webkit-animation-name: arrowEnter;
                    animation-name: arrowEnter; }
          .header__submenu-link.is-hover .header__submenu-icon svg:last-child {
            -webkit-animation-name: arrowExit;
                    animation-name: arrowExit; }
      .c-modal__prev.is-hover .c-pagination__icon svg {
        -webkit-animation-duration: var(--transition-arrow, 0.4s);
                animation-duration: var(--transition-arrow, 0.4s);
        -webkit-animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
                animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
        -webkit-animation-fill-mode: both;
                animation-fill-mode: both; }
        .c-modal__prev.is-hover .c-pagination__icon svg:first-child {
          -webkit-animation-name: arrowEnterReverse;
                  animation-name: arrowEnterReverse; }
        .c-modal__prev.is-hover .c-pagination__icon svg:last-child {
          -webkit-animation-name: arrowExitReverse;
                  animation-name: arrowExitReverse; }
      .c-modal__next.is-hover .c-pagination__icon svg {
        -webkit-animation-duration: var(--transition-arrow, 0.4s);
                animation-duration: var(--transition-arrow, 0.4s);
        -webkit-animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
                animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
        -webkit-animation-fill-mode: both;
                animation-fill-mode: both; }
        .c-modal__next.is-hover .c-pagination__icon svg:first-child {
          -webkit-animation-name: arrowEnterReverse;
                  animation-name: arrowEnterReverse; }
        .c-modal__next.is-hover .c-pagination__icon svg:last-child {
          -webkit-animation-name: arrowExitReverse;
                  animation-name: arrowExitReverse; }
      .c-pagetop__link.is-hover .c-pagetop__icon svg {
        -webkit-animation-duration: var(--transition-arrow, 0.4s);
                animation-duration: var(--transition-arrow, 0.4s);
        -webkit-animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
                animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
        -webkit-animation-fill-mode: both;
                animation-fill-mode: both; }
        .c-pagetop__link.is-hover .c-pagetop__icon svg:first-child {
          -webkit-animation-name: arrowEnterUp;
                  animation-name: arrowEnterUp; }
        .c-pagetop__link.is-hover .c-pagetop__icon svg:last-child {
          -webkit-animation-name: arrowExitUp;
                  animation-name: arrowExitUp; }
      .c-pagination__prev a.is-hover .c-pagination__icon svg {
        -webkit-animation-duration: var(--transition-arrow, 0.4s);
                animation-duration: var(--transition-arrow, 0.4s);
        -webkit-animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
                animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
        -webkit-animation-fill-mode: both;
                animation-fill-mode: both; }
        .c-pagination__prev a.is-hover .c-pagination__icon svg:first-child {
          -webkit-animation-name: arrowEnterReverse;
                  animation-name: arrowEnterReverse; }
        .c-pagination__prev a.is-hover .c-pagination__icon svg:last-child {
          -webkit-animation-name: arrowExitReverse;
                  animation-name: arrowExitReverse; }
      .c-pagination__next a.is-hover .c-pagination__icon svg {
        -webkit-animation-duration: var(--transition-arrow, 0.4s);
                animation-duration: var(--transition-arrow, 0.4s);
        -webkit-animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
                animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
        -webkit-animation-fill-mode: both;
                animation-fill-mode: both; }
        .c-pagination__next a.is-hover .c-pagination__icon svg:first-child {
          -webkit-animation-name: arrowEnterReverse;
                  animation-name: arrowEnterReverse; }
        .c-pagination__next a.is-hover .c-pagination__icon svg:last-child {
          -webkit-animation-name: arrowExitReverse;
                  animation-name: arrowExitReverse; }
      [data-slider] .swiper-button-prev.is-hover .swiper-button__icon svg,
      [data-slider] .swiper-button-next.is-hover .swiper-button__icon svg {
        -webkit-animation-duration: 0.4s;
                animation-duration: 0.4s;
        -webkit-animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
                animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
        -webkit-animation-fill-mode: both;
                animation-fill-mode: both; }
        [data-slider] .swiper-button-prev.is-hover .swiper-button__icon svg:first-child,
        [data-slider] .swiper-button-next.is-hover .swiper-button__icon svg:first-child {
          -webkit-animation-name: arrowEnter;
                  animation-name: arrowEnter; }
        [data-slider] .swiper-button-prev.is-hover .swiper-button__icon svg:last-child,
        [data-slider] .swiper-button-next.is-hover .swiper-button__icon svg:last-child {
          -webkit-animation-name: arrowExit;
                  animation-name: arrowExit; }
      [data-slider] .swiper-button-prev.is-hover .swiper-button__icon svg:first-child {
        -webkit-animation-name: arrowEnterReverse;
                animation-name: arrowEnterReverse; }
      [data-slider] .swiper-button-prev.is-hover .swiper-button__icon svg:last-child {
        -webkit-animation-name: arrowExitReverse;
                animation-name: arrowExitReverse; } }
@media (min-width: 769px) and (max-width: 1040px) {
    .p-admission__simulation-row[data-row="content"] {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      gap: var(--space-40); } }
@media (max-width: 1410px) {
    .p-home__features-figure {
      left: -80px; } }
@media (max-width: 1260px) {
    .p-home__features-figure {
      left: -120px; } }
@media (max-width: 1180px) {
    .p-home__features-figure {
      left: -200px; } }
@media (max-width: 768px) {
      .p-home__features-figure figure {
        clip-path: polygon(0 0, calc(100% - 88px) 0, 100% 88px, 100% calc(100% - 88px), calc(100% - 88px) 100%, 0 100%); }
      .p-home__admission-figure figure {
        clip-path: polygon(88px 0, 100% 0, 100% 100%, 88px 100%, 0 calc(100% - 88px), 0 88px); }
      .c-fv__figure {
        aspect-ratio: 416 / 300;
        clip-path: polygon(0 0, calc(100% - 100px) 0, 100% 100px, 100% calc(100% - 100px), calc(100% - 100px) 100%, 0 100%); } }
@media (max-width: 561px) {
      .p-home__features-figure figure {
        clip-path: polygon(0 0, calc(100% - 64px) 0, 100% 64px, 100% calc(100% - 64px), calc(100% - 64px) 100%, 0 100%); }
      .p-home__admission-figure figure {
        clip-path: polygon(64px 0, 100% 0, 100% 100%, 64px 100%, 0 calc(100% - 64px), 0 64px); }
      .c-fv__figure {
        clip-path: polygon(0 0, calc(100% - 64px) 0, 100% 64px, 100% calc(100% - 64px), calc(100% - 64px) 100%, 0 100%); } }
@media (max-width: 440px) {
      .p-home__features-figure figure {
        clip-path: polygon(0 0, calc(100% - 48px) 0, 100% 48px, 100% calc(100% - 48px), calc(100% - 48px) 100%, 0 100%); }
      .p-home__admission-figure figure {
        clip-path: polygon(48px 0, 100% 0, 100% 100%, 48px 100%, 0 calc(100% - 48px), 0 48px); }
      .c-fv__figure {
        clip-path: polygon(0 0, calc(100% - 52px) 0, 100% 52px, 100% calc(100% - 52px), calc(100% - 52px) 100%, 0 100%); } }
@media (max-width: 1341px) {
    .p-home__admission-figure {
      right: -80px; } }
@media (max-width: 1200px) {
    .p-home__admission-figure {
      right: -168px; }
    .c-page-title {
      font-size: 7.2rem; } }
@media (max-width: 768px) and (max-width: 375px) {
    .c-card-pict__number {
      font-size: 3.6rem; } }
@media (max-width: 960px) and (max-width: 768px) {
    .c-card-pict__icon img {
      max-width: 13vw; }
    .c-card-pict__text {
      bottom: var(--space-8);
      font-size: 1.4rem;
      line-height: 1.5;
      min-height: 64px; }
    .c-html .c-profile__title {
      font-size: 3.2rem;
      line-height: 1.5;
      color: var(--c-black); } }
@media (max-width: 960px) and (max-width: 768px) and (max-width: 375px) {
    .c-card-pict__text {
      bottom: 4px;
      width: 100%;
      font-size: 1.3rem; } }
@media (max-width: 1240px) {
      .c-fv__visual {
        margin-left: -96px; }
      .c-fv__title {
        width: 72%;
        margin-left: 64px; } }
@media (max-width: 1240px) and (max-width: 960px) {
    .c-fv__visual {
      margin-left: 0; }
    .c-fv__title {
      margin-left: 0;
      font-size: 4.8rem; } }
@media (max-width: 1240px) and (max-width: 768px) {
    .c-fv__visual {
      width: 100%;
      -webkit-padding-end: var(--side-padding);
              padding-inline-end: var(--side-padding); } }
@media (max-width: 1240px) and (max-width: 768px) {
    .c-fv__title {
      position: absolute;
      top: 16px;
      left: 16px;
      width: 82%;
      font-size: 3.2rem; } }
@media (max-width: 1240px) and (max-width: 440px) {
    .c-fv__title {
      max-width: calc(100% - var(--side-padding) * 2); } }
@media (max-width: 1200px) and (max-width: 960px) {
    .c-page-title {
      top: calc(288px + 16px);
      font-size: 6rem; } }
@media (max-width: 1200px) and (max-width: 810px) {
    .c-page-title {
      font-size: 5.6rem; } }
@media (max-width: 1200px) and (max-width: 768px) {
    .c-page-title {
      top: calc(var(--bg-color-height-sp, 211px) + 12px);
      font-size: 3.2rem; } }
/*# sourceMappingURL=../../_cache/_maps/styles.css.map */
