@charset "UTF-8";
/** 共通項目 **/
:where([data-animation]:not([data-inview-stagger])):where(.in-view),
:where([data-animation][data-inview-stagger] > *):where(.in-view) {
  animation-name: var(--animation-name);
  animation-duration: var(--animation-duration, 1.75s);
  animation-fill-mode: var(--animation-fill-mode, forwards);
  animation-timing-function: var(--animation-timing-function, var(--ease-out-quint));
  animation-delay: var(--animation-delay, 0);
}

/** フェード系 **/
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-in-left {
  0% {
    opacity: 0;
    translate: var(--translate);
  }
  100% {
    opacity: 1;
    translate: 0;
  }
}
@keyframes fade-in-right {
  0% {
    opacity: 0;
    translate: calc(var(--translate) * -1);
  }
  100% {
    opacity: 1;
    translate: 0;
  }
}
@keyframes fade-in-up {
  0% {
    opacity: 0;
    translate: 0 var(--translate);
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes fade-in-down {
  0% {
    opacity: 0;
    translate: 0 calc(var(--translate) * -1);
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fade-out-left {
  0% {
    opacity: 1;
    translate: 0;
  }
  100% {
    opacity: 0;
    translate: calc(var(--translate) * -1);
  }
}
@keyframes fade-out-right {
  0% {
    opacity: 1;
    translate: 0;
  }
  100% {
    opacity: 0;
    translate: var(--translate);
  }
}
@keyframes fade-out-up {
  0% {
    opacity: 1;
    translate: 0 0;
  }
  100% {
    opacity: 0;
    translate: 0 calc(var(--translate) * -1);
  }
}
@keyframes fade-out-down {
  0% {
    opacity: 1;
    translate: 0 0;
  }
  100% {
    opacity: 0;
    translate: 0 var(--translate);
  }
}
@keyframes mask-in-up {
  0% {
    -webkit-mask-position: 0 -100%;
            mask-position: 0 -100%;
  }
  100% {
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
  }
}
@keyframes mask-in-down {
  0% {
    -webkit-mask-position: 0 100%;
            mask-position: 0 100%;
  }
  100% {
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
  }
}
@keyframes mask-in-left {
  0% {
    -webkit-mask-position: -100% 0;
            mask-position: -100% 0;
  }
  100% {
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
  }
}
@keyframes mask-in-right {
  0% {
    -webkit-mask-position: 100% 0;
            mask-position: 100% 0;
  }
  100% {
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
  }
}
@keyframes mask-out-up {
  0% {
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
  }
  100% {
    -webkit-mask-position: 0 100%;
            mask-position: 0 100%;
  }
}
@keyframes mask-out-down {
  0% {
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
  }
  100% {
    -webkit-mask-position: 0 -100%;
            mask-position: 0 -100%;
  }
}
@keyframes mask-out-left {
  0% {
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
  }
  100% {
    -webkit-mask-position: 100% 0;
            mask-position: 100% 0;
  }
}
@keyframes mask-out-right {
  0% {
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
  }
  100% {
    -webkit-mask-position: -100% 0;
            mask-position: -100% 0;
  }
}
@keyframes bounce {
  0% {
    transform: translateY(0) scaleY(1);
  }
  15% {
    transform: translateY(0) scaleY(0.95);
  }
  40% {
    transform: translateY(-0.4rem) scaleY(1.01);
  }
  50% {
    transform: translateY(0) scaleY(0.95);
  }
  65% {
    transform: translateY(-0.1rem) scaleY(0.99);
  }
  100% {
    transform: translateY(0) scaleY(1);
  }
}
@keyframes modal-open {
  0% {
    pointer-events: auto;
    visibility: visible;
    -webkit-user-select: auto;
            user-select: auto;
    opacity: 0;
    translate: var(--translate-x, 0) var(--translate-y, 0);
  }
  100% {
    pointer-events: auto;
    visibility: visible;
    -webkit-user-select: auto;
            user-select: auto;
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes modal-close {
  0% {
    pointer-events: none;
    visibility: visible;
    -webkit-user-select: none;
            user-select: none;
    opacity: 1;
    translate: 0 0;
  }
  100% {
    pointer-events: none;
    visibility: hidden;
    -webkit-user-select: none;
            user-select: none;
    opacity: 0;
    translate: var(--translate-x, 0) var(--translate-y, 0);
  }
}
:where([data-animation^=fade-in], [data-animation^=fade-out]) {
  --translate: 1.8rem;
  --animation-duration: 0.9s;
  --animation-timing-function: var(--ease-out-quint);
}

:where([data-animation^=fade-in]:not([data-inview-stagger])),
:where([data-animation^=fade-in][data-inview-stagger] > *) {
  opacity: 0;
}

:where([data-animation=fade-in]) {
  --animation-name: fade-in;
}

:where([data-animation=fade-in-left]) {
  --animation-name: fade-in-left;
}

:where([data-animation=fade-in-right]) {
  --animation-name: fade-in-right;
}

:where([data-animation=fade-in-up]) {
  --animation-name: fade-in-up;
}

:where([data-animation=fade-in-down]) {
  --animation-name: fade-in-down;
}

:where([data-animation=fade-out]) {
  --animation-name: fade-out;
}

:where([data-animation=fade-out-left]) {
  --animation-name: fade-out-left;
}

:where([data-animation=fade-out-right]) {
  --animation-name: fade-out-right;
}

:where([data-animation=fade-out-up]) {
  --animation-name: fade-out-up;
}

:where([data-animation=fade-out-down]) {
  --animation-name: fade-out-down;
}

:where([data-animation^=mask-in]) {
  --animation-duration: 0.83s;
  --animation-timing-function: var(--ease-out-quart);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

:where([data-animation^=mask-in]:not([data-inview-stagger])),
:where([data-animation^=mask-in][data-inview-stagger] > *) {
  -webkit-mask-image: linear-gradient(var(--direction), #000 50%, transparent 50%);
          mask-image: linear-gradient(var(--direction), #000 50%, transparent 50%);
  -webkit-mask-size: var(--mask-size-x, 100%) var(--mask-size-y, 100%);
          mask-size: var(--mask-size-x, 100%) var(--mask-size-y, 100%);
  -webkit-mask-position: var(--mask-position-x, 0) var(--mask-position-y, 0);
          mask-position: var(--mask-position-x, 0) var(--mask-position-y, 0);
}

:where([data-animation=mask-in-up]:not([data-inview-stagger])),
:where([data-animation=mask-in-up][data-inview-stagger] > *) {
  --animation-name: mask-in-up;
  --direction: to bottom;
  --mask-size-y: 202%;
  --mask-position-y: -100%;
}

:where([data-animation=mask-in-down]:not([data-inview-stagger])),
:where([data-animation=mask-in-down][data-inview-stagger] > *) {
  --animation-name: mask-in-down;
  --direction: to bottom;
  --mask-size-y: 202%;
  --mask-position-y: 100%;
}

:where([data-animation=mask-in-left]:not([data-inview-stagger])),
:where([data-animation=mask-in-left][data-inview-stagger] > *) {
  --animation-name: mask-in-left;
  --direction: to right;
  --mask-size-x: 202%;
  --mask-position-x: -100%;
}

:where([data-animation=mask-in-right]:not([data-inview-stagger])),
:where([data-animation=mask-in-right][data-inview-stagger] > *) {
  --animation-name: mask-in-right;
  --direction: to right;
  --mask-size-x: 202%;
  --mask-position-x: 100%;
}

/******************************
  フォント
******************************/
:root {
  --font-fallback: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --font-base: "Zen Kaku Gothic New", var(--font-fallback);
  --font-english: "Kumbh Sans", var(--font-fallback);
  --font-heading: "凸版文久見出しゴシック StdN EB", var(--font-fallback);
  --font-number: "Kumbh Sans", var(--font-fallback);
  --font-icon: "icomoon";
}

:root {
  --font-weight-normal: 400;
  --font-weight-semi-bold: 700;
  --font-weight-bold: 800;
}

/******************************
  イージング
******************************/
:root {
  /** sine **/
  --ease-in-sine: cubic-bezier(0.47, 0, 0.745, 0.715);
  --ease-out-sine: cubic-bezier(0.39, 0.575, 0.565, 1);
  --ease-in-out-sine: cubic-bezier(0.445, 0.05, 0.55, 0.95);
  /** quad **/
  --ease-in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  /** cubic **/
  --ease-in-cubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1);
  /** quart **/
  --ease-in-quart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --ease-in-out-quart: cubic-bezier(0.77, 0, 0.175, 1);
  /** quint **/
  --ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  --ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
  /** expo **/
  --ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
  /** circ **/
  --ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.335);
  --ease-out-circ: cubic-bezier(0.075, 0.82, 0.165, 1);
  --ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  /** back **/
  --ease-in-back: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  --ease-out-back: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --ease-in-out-back: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

:root {
  --vw: 1vw;
  --z-index-header: 5;
  --tilt-deg: -2deg;
  --sidemenu-width: 7.75rem;
  --sidemenu-sp-height: 7rem;
  --infinity: calc(infinity * 1px);
  --breakpoint-sm: 525;
  --breakpoint-sm-px: 525px;
  --breakpoint-md: 1024;
  --breakpoint-md-px: 1024px;
  --breakpoint-lg: 1440;
  --breakpoint-lg-px: 1440px;
  font-size: calc(var(--vw) / 1.28);
  font-weight: var(--font-weight-normal);
}
@media (max-width: 1440px) {
  :root {
    --sidemenu-width: 9.25rem;
  }
}
@media (max-width: 1024px) {
  :root {
    --sidemenu-width: 8.55rem;
    font-size: calc(var(--vw) / 0.768);
  }
}
@media (max-width: 525px) {
  :root {
    --sidemenu-width: 7.5rem;
    font-size: calc(var(--vw) / 0.375);
  }
}

/******************************
  セクション間隔
******************************/
:root {
  --section-gap-xs: 4.75rem;
  --section-gap-sm: 8.5rem;
  --section-gap-md: 11.5rem;
  --section-gap-lg: 16rem;
  --section-gap-xl: 24rem;
}
@media (max-width: 1024px) {
  :root {
    --section-gap-xs: 4rem;
    --section-gap-sm: 7rem;
    --section-gap-md: 9rem;
    --section-gap-lg: 13.5rem;
    --section-gap-xl: 20rem;
  }
}
@media (max-width: 525px) {
  :root {
    --section-gap-xs: 3.5rem;
    --section-gap-sm: 5rem;
    --section-gap-md: 7rem;
    --section-gap-lg: 12rem;
    --section-gap-xl: 16rem;
  }
}

/******************************
  フォントサイズ
******************************/
:root {
  --font-size-xs: 1.2rem;
  --font-size-sm: 1.3rem;
  --font-size-md: 1.4rem;
  --font-size-lg: 1.85rem;
  --font-size-xl: 2.6rem;
  --font-size-xxl: 3.1rem;
  --font-size-xxxl: 3.7rem;
}

/******************************
  角丸
******************************/
:root {
  --radius-sm: 0.3rem;
  --radius-md: 0.5rem;
}

/******************************
  ボーダー
******************************/
:root {
  --border-xs: 0.2rem;
  --border-sm: 0.3rem;
  --border-md: 0.45rem;
  --border-lg: 0.6rem;
}

/******************************
  カラーパレット
******************************/
:root {
  --color-white: #fff;
  --color-white-rgb: 255 255 255;
  --color-off-white: #f6f1e4;
  --color-off-white-rgb: 246 241 228;
  --color-smoke: #e9eae4;
  --color-smoke-rgb: 233 234 228;
  --color-fog-white: #ededec;
  --color-fog-white-rgb: 237 237 236;
  --color-pale-ivory: #eee9e7;
  --color-pale-ivory-rgb: 238 233 231;
  --color-peach-white: #f6ebe4;
  --color-peach-white-rgb: 246 235 228;
  --color-cream-white: #e8e0cc;
  --color-cream-white-rgb: 232 224 204;
  --color-light-sand: #edead8;
  --color-light-sand-rgb: 237 234 216;
  --color-soft-beige: #f2ead1;
  --color-soft-beige-rgb: 242 234 209;
  --color-almond-white: #fdf0e2;
  --color-almond-white-rgb: 253 240 226;
  --color-linen: #d7cac5;
  --color-linen-rgb: 215 202 197;
  --color-ivory: #f0e6c8;
  --color-ivory-rgb: 240 230 200;
  --color-pale-bud: #edefd5;
  --color-pale-bud-rgb: 237 239 213;
  --color-soft-melon: #e2e7d6;
  --color-soft-melon-rgb: 226 231 214;
  --color-isabelline: #ebece7;
  --color-isabelline-rgb: 235 236 231;
  --color-soft-silver: #e4e5df;
  --color-soft-silver-rgb: 228 229 223;
  --color-zinc: #c4ccd1;
  --color-zinc-rgb: 196 204 209;
  --color-black: #12100e;
  --color-black-rgb: 18 16 14;
  --color-dark-olive: #454b43;
  --color-dark-olive-rgb: 69 75 67;
  --color-dark-brown: #4a3d30;
  --color-dark-brown-rgb: 74 61 48;
  --color-charcoal-brown: #655a4f;
  --color-charcoal-brown-rgb: 101 90 79;
  --color-mocha: #5c5045;
  --color-mocha-rgb: 92 80 69;
  --color-deep-mocha: #614a45;
  --color-deep-mocha-rgb: 97 74 69;
  --color-warm-taupe: #7a6159;
  --color-warm-taupe-rgb: 122 97 89;
  --color-cocoa: #966857;
  --color-cocoa-rgb: 150 104 87;
  --color-muted-beige: #b09883;
  --color-muted-beige-rgb: 176 152 131;
  --color-almond: #e1bea4;
  --color-almond-rgb: 225 190 164;
  --color-soft-taupe: #c4afa8;
  --color-soft-taupe-rgb: 196 175 168;
  --color-rose-beige: #bda69e;
  --color-rose-beige-rgb: 189 166 158;
  --color-pale-taupe: #c9a79d;
  --color-pale-taupe-rgb: 201 167 157;
  --color-pastel-pink: #fce4eb;
  --color-pastel-pink-rgb: 252 228 235;
  --color-mauve: #c0969e;
  --color-mauve-rgb: 192 150 158;
  --color-light-pink: #f494ae;
  --color-light-pink-rgb: 244 148 174;
  --color-muted-rose: #b77573;
  --color-muted-rose-rgb: 183 117 115;
  --color-rosewood: #995950;
  --color-rosewood-rgb: 153 89 80;
  --color-terracotta: #a95958;
  --color-terracotta-rgb: 169 89 88;
  --color-smokey-topaz: #9f4745;
  --color-smokey-topaz-rgb: 159 71 69;
  --color-cherry: #ed4d78;
  --color-cherry-rgb: 237 77 120;
  --color-salmon-pink: #f17193;
  --color-salmon-pink-rgb: 241 113 147;
  --color-orange: #e94808;
  --color-orange-rgb: 233 72 8;
  --color-rust-red: #e16039;
  --color-rust-red-rgb: 225 96 57;
  --color-pumpkin: #ec632d;
  --color-pumpkin-rgb: 236 99 45;
  --color-rust: #de5a26;
  --color-rust-rgb: 222 90 38;
  --color-sunset-orange: #e57857;
  --color-sunset-orange-rgb: 229 120 87;
  --color-coral: #ed6d39;
  --color-coral-rgb: 237 109 57;
  --color-persimmon: #e4704d;
  --color-persimmon-rgb: 228 112 77;
  --color-yellow-orange: #f39d3e;
  --color-yellow-orange-rgb: 243 157 62;
  --color-amber: #df9f36;
  --color-amber-rgb: 223 159 54;
  --color-topaz: #f6b56e;
  --color-topaz-rgb: 246 181 110;
  --color-soft-apricot: #f7bb7a;
  --color-soft-apricot-rgb: 247 187 122;
  --color-muted-gold: #ccb75c;
  --color-muted-gold-rgb: 204 183 92;
  --color-titanium-yellow: #e9d450;
  --color-titanium-yellow-rgb: 233 212 80;
  --color-sunflower: #edce35;
  --color-sunflower-rgb: 237 206 53;
  --color-mustard: #d9b53e;
  --color-mustard-rgb: 217 181 62;
  --color-lemon: #f1d85d;
  --color-lemon-rgb: 241 216 93;
  --color-butter: #f3dd71;
  --color-butter-rgb: 243 221 113;
  --color-neon-yellow: #edea31;
  --color-neon-yellow-rgb: 237 234 49;
  --color-pale-yellow: #f1ef64;
  --color-pale-yellow-rgb: 241 239 100;
  --color-pear: #c5da42;
  --color-pear-rgb: 197 218 66;
  --color-lime: #bdd148;
  --color-lime-rgb: 189 209 72;
  --color-soft-wheat: #e6d6a3;
  --color-soft-wheat-rgb: 230 214 163;
  --color-soft-khaki: #c7b98d;
  --color-soft-khaki-rgb: 199 185 141;
  --color-sand: #ad9c69;
  --color-sand-rgb: 173 156 105;
  --color-ochre: #b39472;
  --color-ochre-rgb: 179 148 114;
  --color-camel: #bf956d;
  --color-camel-rgb: 191 149 109;
  --color-dusty-beige: #9f846c;
  --color-dusty-beige-rgb: 159 132 108;
  --color-clay: #8e6c4e;
  --color-clay-rgb: 142 108 78;
  --color-deep-moss: #324011;
  --color-deep-moss-rgb: 50 64 17;
  --color-matcha: #495327;
  --color-matcha-rgb: 73 83 39;
  --color-dark-sage: #5b643d;
  --color-dark-sage-rgb: 91 100 61;
  --color-sap-green: #677537;
  --color-sap-green-rgb: 103 117 55;
  --color-army-green: #697152;
  --color-army-green-rgb: 105 113 82;
  --color-olive-green: #707958;
  --color-olive-green-rgb: 112 121 88;
  --color-avocado: #829252;
  --color-avocado-rgb: 130 146 82;
  --color-sage-green: #8e967c;
  --color-sage-green-rgb: 142 150 124;
  --color-soft-sage: #b5c29a;
  --color-soft-sage-rgb: 181 194 154;
  --color-pale-stone: #c1c1b8;
  --color-pale-stone-rgb: 193 193 184;
  --color-light-sage: #d2d5ca;
  --color-light-sage-rgb: 210 213 202;
  --color-dark-green: #144627;
  --color-dark-green-rgb: 20 70 39;
  --color-dark-moss: #25552d;
  --color-dark-moss-rgb: 37 85 45;
  --color-green: #007b18;
  --color-green-rgb: 0 123 24;
  --color-leaf-green: #19882f;
  --color-leaf-green-rgb: 25 136 47;
  --color-pastel-green: #45a570;
  --color-pastel-green-rgb: 69 165 112;
  --color-kelly-green: #268f3b;
  --color-kelly-green-rgb: 38 143 59;
  --color-shamrock-green: #339546;
  --color-shamrock-green-rgb: 51 149 70;
  --color-mint-green: #4ca35d;
  --color-mint-green-rgb: 76 163 93;
  --color-turquoise-green: #80bd8b;
  --color-turquoise-green-rgb: 128 189 139;
  --color-teal-blue: #23a3a4;
  --color-teal-blue-rgb: 35 163 164;
  --color-baby-blue: #89cdd9;
  --color-baby-blue-rgb: 137 205 217;
  --color-soft-cyan: #8cd4e2;
  --color-soft-cyan-rgb: 140 212 226;
  --color-light-azure: #39b9ed;
  --color-light-azure-rgb: 57 185 237;
  --color-light-cyan: #6acbf1;
  --color-light-cyan-rgb: 106 203 241;
  --color-pale-cerulean: #80aad7;
  --color-pale-cerulean-rgb: 128 170 215;
  --color-cornflower-blue: #4c99da;
  --color-cornflower-blue-rgb: 76 153 218;
  --color-sky-blue: #07a8e8;
  --color-sky-blue-rgb: 7 168 232;
  --color-soft-azure: #3996c7;
  --color-soft-azure-rgb: 57 150 199;
  --color-dodger-blue: #1f80f0;
  --color-dodger-blue-rgb: 31 128 240;
  --color-moonstone-blue: #75a3bc;
  --color-moonstone-blue-rgb: 117 163 188;
  --color-muted-cerulean: #4c88c7;
  --color-muted-cerulean-rgb: 76 136 199;
  --color-denim: #266ebb;
  --color-denim-rgb: 38 110 187;
  --color-cobalt-blue: #1966b7;
  --color-cobalt-blue-rgb: 25 102 183;
  --color-ultramarine: #0055af;
  --color-ultramarine-rgb: 0 85 175;
  --color-pale-aqua: #ddecfd;
  --color-pale-aqua-rgb: 221 236 253;
  --color-mist-gray: #d2d7dc;
  --color-mist-gray-rgb: 210 215 220;
  --color-light-slate: #bbc5cb;
  --color-light-slate-rgb: 187 197 203;
  --color-misty-blue: #a6b9c1;
  --color-misty-blue-rgb: 166 185 193;
  --color-muted-purple: #818093;
  --color-muted-purple-rgb: 129 128 147;
  --color-muted-blueberry: #5c6786;
  --color-muted-blueberry-rgb: 92 103 134;
  --color-storm-gray: #566a7b;
  --color-storm-gray-rgb: 86 106 123;
  --color-muted-indigo: #4a5679;
  --color-muted-indigo-rgb: 74 86 121;
  --color-muted-navy: #344d61;
  --color-muted-navy-rgb: 52 77 97;
  --color-midnight-blue: #1e394f;
  --color-midnight-blue-rgb: 30 57 79;
  --color-ice-blue: #dae8ed;
  --color-ice-blue-rgb: 218 232 237;
  --color-brand-facebook: #0866ff;
  --color-brand-facebook-rgb: 8 102 255;
  --color-brand-x: #000;
  --color-brand-x-rgb: 0 0 0;
}

/******************************
  テーマカラー
******************************/
body:where([data-theme-color=orange]) {
  --color-bg-base: var(--color-white);
  --color-bg-base-rgb: var(--color-white-rgb);
  --color-text-base: var(--color-black);
  --color-text-base-rgb: var(--color-black-rgb);
  --color-text-heading: var(--color-dark-brown);
  --color-text-heading-rgb: var(--color-dark-brown-rgb);
  --color-text-contrast: var(--color-white);
  --color-text-contrast-rgb: var(--color-white-rgb);
}

body:where([data-theme-color=green]) {
  --color-bg-base: var(--color-white);
  --color-bg-base-rgb: var(--color-white-rgb);
  --color-text-base: var(--color-black);
  --color-text-base-rgb: var(--color-black-rgb);
  --color-text-heading: var(--color-dark-brown);
  --color-text-heading-rgb: var(--color-dark-brown-rgb);
  --color-text-contrast: var(--color-white);
  --color-text-contrast-rgb: var(--color-white-rgb);
}

body:where([data-theme-color=blue]) {
  --color-bg-base: var(--color-white);
  --color-bg-base-rgb: var(--color-white-rgb);
  --color-text-base: var(--color-black);
  --color-text-base-rgb: var(--color-black-rgb);
  --color-text-heading: var(--color-dark-brown);
  --color-text-heading-rgb: var(--color-dark-brown-rgb);
  --color-text-contrast: var(--color-white);
  --color-text-contrast-rgb: var(--color-white-rgb);
}

body {
  --page-width: 100cqw;
  --page-half-width: 50cqw;
  font-family: var(--font-base);
  font-size: var(--font-size-md);
  line-height: 1.7;
  color: var(--color-text-base);
  letter-spacing: 0.02em;
  background: var(--color-bg-base);
}

main {
  container-type: inline-size;
}

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

::selection {
  background: rgba(130, 191, 255, 0.6);
}

.wow {
  animation-duration: 1.15s;
  animation-delay: 0.1s;
  animation-fill-mode: forwards;
}
.wow.fadeIn {
  opacity: 0;
}

.slick-slide {
  outline: none;
}

.simplebar-content-wrapper {
  outline: none;
}

.simplebar-track {
  --scrollbar-size: 0.6rem;
}
.simplebar-track.simplebar-vertical {
  width: var(--scrollbar-size);
}
.simplebar-track.simplebar-horizontal {
  height: var(--scrollbar-size);
}

.simplebar-scrollbar::before {
  inset: 0;
  background-color: var(--color-text-heading);
  border-radius: 0.12em;
}
.simplebar-scrollbar.simplebar-visible::before {
  opacity: 1;
}

.c-breadcrumb {
  font-size: 1.3rem;
}
.c-breadcrumb__list {
  display: flex;
  align-items: center;
  padding-block: 1.75rem 1rem;
}
.c-breadcrumb__item:nth-child(n+2)::before {
  position: relative;
  display: inline-block;
  margin-inline: 0.75em;
  content: ">";
  translate: 0 -0.07em;
}
.c-breadcrumb__item > a {
  transition: color 0.23s;
}
.c-breadcrumb__item > a:hover {
  color: var(--color-orange);
}

.c-button01 {
  --text-color: var(--color-dark-brown);
  --bg-color: var(--color-sunflower);
  --hover-bg-color: var(--color-lemon);
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  width: fit-content;
  min-height: 2.85em;
  padding: 0.5em 1.5em 0.38em;
  font-family: var(--font-heading);
  font-size: 1.5rem;
  line-height: 1.1;
  color: var(--text-color);
  letter-spacing: 0.03em;
  background-color: var(--bg-color);
  border-radius: var(--radius-md);
}
.c-button01:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --bg-color: var(--color-yellow-orange);
  --hover-bg-color: var(--color-topaz);
}
.c-button01:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --bg-color: var(--color-neon-yellow);
  --hover-bg-color: var(--color-pale-yellow);
}
@media (hover: hover) {
  .c-button01 {
    transition: background-color 0.22s;
  }
  .c-button01:hover {
    background-color: var(--hover-bg-color);
  }
}
.c-button01__icon {
  position: relative;
  width: auto;
  height: 2.05em;
  margin-right: 0.15em;
  translate: 0 -0.06em;
}
.c-button01__text {
  flex-grow: 1;
  text-align: center;
  word-break: keep-all;
}
.c-button01__arrow {
  position: relative;
  margin-right: 0.35em;
  translate: 0.85em;
}
.c-button01__arrow:where(.c-button01--reverse *) {
  margin-right: unset;
  margin-left: 0.35em;
  translate: -0.85em;
}
@media (hover: hover) {
  .c-button01__arrow {
    transition: translate 0.2s var(--ease-out-quart);
  }
  .c-button01__arrow:where(:hover > *) {
    translate: 1em;
  }
  .c-button01__arrow:where(:hover > *):where(.c-button01--reverse *) {
    translate: -1em;
  }
}

.c-detect-scroll {
  --gradation-size-y: 5rem;
  --gradation-size-x: 4rem;
  --top-gradation: 0%;
  --right-gradation: 0%;
  --bottom-gradation: 0%;
  --left-gradation: 0%;
}
@media (max-width: 1024px) {
  .c-detect-scroll {
    --gradation-size-y: 3.5rem;
    --gradation-size-x: 3rem;
  }
}
.c-detect-scroll .simplebar-content-wrapper[data-scrollable*=y] {
  --top-gradation: var(--gradation-size-y);
  --bottom-gradation: var(--gradation-size-y);
}
.c-detect-scroll .simplebar-content-wrapper[data-scrollable*=y][data-scroll-state*=top] {
  --top-gradation: 0%;
}
.c-detect-scroll .simplebar-content-wrapper[data-scrollable*=y][data-scroll-state*=bottom] {
  --bottom-gradation: 0%;
}
.c-detect-scroll .simplebar-content-wrapper[data-scrollable*=x] {
  --right-gradation: var(--gradation-size-x);
  --left-gradation: var(--gradation-size-x);
}
.c-detect-scroll .simplebar-content-wrapper[data-scrollable*=x][data-scroll-state*=right] {
  --right-gradation: 0%;
}
.c-detect-scroll .simplebar-content-wrapper[data-scrollable*=x][data-scroll-state*=left] {
  --left-gradation: 0%;
}
.c-detect-scroll .simplebar-content-wrapper:is([data-scrollable*=x], [data-scrollable*=y]) {
  -webkit-mask-composite: source-out, source-over, source-over, source-over;
          mask-composite: subtract, add, add, add;
  -webkit-mask-image: linear-gradient(to right, #000, #000 100%), linear-gradient(to bottom, #000, transparent var(--top-gradation)), linear-gradient(to top, #000, transparent var(--bottom-gradation)), linear-gradient(to left, #000, transparent var(--right-gradation)), linear-gradient(to right, #000, transparent var(--left-gradation));
          mask-image: linear-gradient(to right, #000, #000 100%), linear-gradient(to bottom, #000, transparent var(--top-gradation)), linear-gradient(to top, #000, transparent var(--bottom-gradation)), linear-gradient(to left, #000, transparent var(--right-gradation)), linear-gradient(to right, #000, transparent var(--left-gradation));
}

.c-grid-table {
  display: grid;
  grid-template-columns: repeat(var(--col-count, 1), auto);
}
:where(.c-grid-table :where(thead, tbody, tfoot, tr)) {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1/-1;
}

:where(.c-grid-table :where(th, td)) {
  display: block;
  grid-row: auto/span var(--rowspan, 1);
  grid-column: auto/span var(--colspan, 1);
}

.c-heading01 {
  --text-color-main: var(--color-text-heading);
  --text-color-sub: var(--color-text-heading);
  position: relative;
  z-index: 0;
  font-size: 6.5rem;
  text-align: center;
}
@media (max-width: 1024px) {
  .c-heading01 {
    font-size: 4.5rem;
  }
}
@media (max-width: 525px) {
  .c-heading01 {
    font-size: 3rem;
  }
}
.c-heading01__main {
  --letter-spacing: 0.1em;
  position: relative;
  display: block;
  padding-left: var(--letter-spacing);
  font-family: var(--font-english);
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  color: var(--text-color-main);
  letter-spacing: var(--letter-spacing);
}
.c-heading01__sub {
  --letter-spacing: 0.04em;
  display: block;
  padding-left: var(--letter-spacing);
  margin-top: 0.2em;
  font-family: var(--font-heading);
  font-size: 0.33em;
  color: var(--text-color-sub);
  letter-spacing: var(--letter-spacing);
}
@media (max-width: 1024px) {
  .c-heading01__sub {
    font-size: 0.45em;
  }
}
@media (max-width: 525px) {
  .c-heading01__sub {
    font-size: 0.67em;
  }
}

.c-heading02 {
  --text-color: var(--color-text-contrast);
  --bg-color: var(--color-pumpkin);
  position: relative;
  width: fit-content;
  padding: 0.07em 0.65em 0.03em;
  font-family: var(--font-english);
  font-size: 3.7rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.3;
  color: var(--text-color);
  text-align: center;
  letter-spacing: 0.04em;
  background-color: var(--bg-color);
  border-radius: var(--radius-md);
  rotate: var(--tilt-deg);
}
.c-heading02:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --bg-color: var(--color-green);
}
.c-heading02:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --bg-color: var(--color-denim);
}
@media (max-width: 525px) {
  .c-heading02 {
    font-size: 2.6rem;
  }
}

.c-heading03 {
  --bg-color: var(--color-dark-brown);
  --text-color-main: var(--color-text-contrast);
  --text-color-sub: var(--color-text-contrast);
  --text-color-sub-sp: var(--color-text-heading);
  position: relative;
  font-size: 8.5rem;
  isolation: isolate;
  container-type: inline-size;
}
@media (min-width: 526px) {
  .c-heading03 {
    display: flex;
    flex-wrap: wrap;
    row-gap: 0.75rem;
    column-gap: 3.5rem;
    align-items: center;
    justify-content: flex-start;
    padding-block: max(0.12em, 1.1rem);
  }
  .c-heading03::before {
    position: absolute;
    top: 0;
    right: calc(50cqw - 50 * var(--vw));
    left: -0.3em;
    z-index: -1;
    height: 100%;
    content: "";
    background-color: var(--bg-color);
    border-top-left-radius: var(--radius-md);
    border-bottom-left-radius: var(--radius-md);
  }
}
@media (max-width: 1024px) {
  .c-heading03 {
    font-size: 6.9rem;
  }
}
@media (max-width: 525px) {
  .c-heading03 {
    flex-direction: column;
    align-items: flex-end;
    font-size: 6.1rem;
  }
}
.c-heading03__main {
  position: relative;
  font-family: var(--font-english);
  font-weight: var(--font-weight-bold);
  line-height: 1;
  color: var(--text-color-main);
  letter-spacing: 0.1em;
  translate: 0 0.02em;
}
@media (max-width: 525px) {
  .c-heading03__main {
    padding-block: max(0.15em, 1.3rem) max(0.12em, 1.1rem);
    padding-left: 0.4em;
  }
  .c-heading03__main::before {
    position: absolute;
    top: 0;
    right: calc(50cqw - 50 * var(--vw));
    left: 0;
    z-index: -1;
    height: 100%;
    content: "";
    background-color: var(--bg-color);
    border-top-left-radius: var(--radius-md);
    border-bottom-left-radius: var(--radius-md);
  }
}
.c-heading03__sub {
  --animation-delay: 0.35s;
  font-family: var(--font-heading);
  font-size: 3rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  letter-spacing: 0.1em;
}
@media (min-width: 526px) {
  .c-heading03__sub {
    color: var(--text-color-sub);
  }
}
@media (max-width: 525px) {
  .c-heading03__sub {
    margin-top: 0.5em;
    margin-right: 0.1em;
    font-size: 2.6rem;
    color: var(--text-color-sub-sp);
    text-align: right;
    letter-spacing: 0.15em;
  }
}

.c-heading04 {
  --text-color: var(--color-text-contrast);
  --bg-color: var(--color-text-heading);
  display: inline;
  padding-inline: 0.4em 0.35em;
  padding-bottom: 0.035em;
  font-family: var(--font-heading);
  font-size: 3.2rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.82;
  color: var(--text-color);
  background-color: var(--bg-color);
  border-radius: var(--radius-md);
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
}

.c-image:where([data-image-size=full]) {
  width: 100%;
}
.c-image:where([data-image-size=cover]) {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-image:where([data-image-radius=md]) {
  border-radius: var(--radius-md);
}
.c-image:where([data-image-radius=sm]) {
  border-radius: var(--radius-sm);
}

.c-career {
  --date-width: 3.75em;
  --row-gap: 0.25em;
  container-type: inline-size;
}
.c-career__list {
  width: fit-content;
}
@container (width > 80rem) {
  .c-career__list {
    column-count: 2;
    column-gap: 5rem;
  }
}
.c-career__item {
  display: flex;
  line-height: 1.7;
}
.c-career__item:where(.c-career__item + *) {
  margin-top: var(--row-gap);
}
.js-has-pseudo .c-career__item:where(:not([csstools-has-1m-2w-2p-37-14-1a-2r-19-2r-2p-36-2t-2t-36-2n-2n-2s-2p-38-2t-15]))::before {
  content: "・";
}
.c-career__item:where(:not(:has(.c-career__date)))::before {
  content: "・";
}
.c-career__date {
  flex-shrink: 0;
  min-width: var(--date-width);
  margin-right: 0.75em;
}
.c-career__content {
  display: block;
  flex: 1;
}

.c-keep-word {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.c-list {
  --prefix: "・";
  --prefix-color: currentcolor;
  --prefix-size: 1em;
  --padding: 1.3em;
  --row-gap: 0.17em;
  list-style: none;
}
.c-list:where([data-list-type*=note]) {
  --prefix: "※";
}
.c-list:where([data-list-type*=circle]) {
  --prefix: "";
}
.c-list:where([data-list-type*=ordered]) {
  --prefix: counter(list) ".";
  counter-reset: list;
}
.c-list:where([data-list-type*=ordered]):where([data-list-type*=note]) {
  --prefix: "※" counter(list);
  --padding: 2.3em;
}
.c-list:where([data-list-type*=icon], [data-list-type*=check]) {
  --padding: 1.7em;
}
.c-list:where([data-list-type*=check]) {
  --prefix: "";
}
.c-list__item {
  position: relative;
  padding-left: var(--padding);
}
.c-list__item:where(.c-list[data-list-type*=ordered] > *) {
  counter-increment: list;
}
.c-list__item::before {
  position: absolute;
  top: 0.52lh;
  left: 0;
  font-size: var(--prefix-size);
  color: var(--prefix-color);
  content: var(--prefix);
  translate: 0 -50%;
}
.c-list__item:where([data-list-type*=circle] > *)::before {
  top: 0.55lh;
  width: 0.8em;
  aspect-ratio: 1/1;
  background-color: var(--prefix-color);
  border-radius: 50%;
}
.c-list__item:where(:where(.c-list[data-list-type*=icon], .c-list[data-list-type*=check]) > *)::before {
  font-family: var(--font-icon);
}
.c-list__item:where(:nth-of-type(n + 2)) {
  margin-top: var(--row-gap);
}

.c-paragraph {
  line-height: 1.8;
}
.c-paragraph--sparse {
  line-height: 2.5;
}
:where(.c-paragraph + .c-paragraph) {
  margin-top: 1em;
}

.c-signature {
  --position-size: 1.4rem;
  --ruby-size: 1.2rem;
  display: flex;
  flex-wrap: wrap;
  row-gap: 1rem;
  align-items: flex-end;
  line-height: 1;
}
.c-signature__position {
  margin-right: 1em;
  font-size: 1.4rem;
  letter-spacing: 0.15em;
}
.c-signature__name {
  display: flex;
  column-gap: 0.3em;
  align-items: flex-end;
  font-size: 2.3rem;
  letter-spacing: 0.15em;
}
.c-signature__name ruby {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  gap: 0.1em;
  align-items: center;
}
.c-signature__name ruby::before {
  font-size: max(0.5em, 1.2rem);
  line-height: 1;
  letter-spacing: 0.3em;
  white-space: nowrap;
  content: attr(data-ruby);
}
.c-signature__name rt {
  display: none;
}

.c-term-list {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 3em;
}
@container (width < 525px) {
  .c-term-list {
    grid-template-columns: 1fr;
  }
}
.c-term-list__item {
  display: grid;
  padding-top: 0.65em;
  padding-bottom: 0.65em;
}
@container (width >= 525px) {
  .c-term-list__item {
    grid-template-columns: subgrid;
    grid-column: 1/-1;
  }
}
.c-term-list__item:where([data-has-border=true] > *) {
  padding-top: 0.85em;
  padding-bottom: 0.9em;
  border-bottom: var(--border-width, 1px) solid var(--border-color, currentcolor);
}
.c-term-list__term {
  font-size: var(--term-font-size, 1em);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.05em;
}
@container (width >= 525px) {
  .c-term-list__term {
    min-width: 5.25em;
    text-align: center;
  }
}

.c-text-link {
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 0.15em;
}
@media (hover: hover) {
  .c-text-link {
    transition: opacity 0.2s;
  }
  .c-text-link:hover {
    opacity: 0.65;
  }
}
.c-text-link--no-border {
  text-decoration: none;
}

.c-tile {
  display: flex;
  flex-wrap: wrap;
  gap: var(--row-gap, 3rem) var(--column-gap, 3rem);
}
.c-tile__item {
  width: calc((100% - var(--column-gap, 3rem) * (var(--column-count, 3) - 1)) / var(--column-count, 3));
}

:root {
  --container-padding: 13rem;
  --container-padding-sm: 8rem;
}
@media (max-width: 1024px) {
  :root {
    --container-padding: 5.75rem;
    --container-padding-sm: 2.875rem;
  }
}
@media (max-width: 525px) {
  :root {
    --container-padding: 1.9rem;
    --container-padding-sm: 0.95rem;
  }
}

.l-container {
  --current-container-padding: var(--container-padding);
  max-width: calc(100 * var(--vw) - var(--current-container-padding) * 2);
  margin-right: auto;
  margin-left: auto;
}
.l-container:where([data-container-size=lg]) {
  --current-container-padding: var(--container-padding-sm);
}

.l-footer {
  --bg-color: var(--color-pumpkin);
  --schedule-label-color: var(--color-charcoal-brown);
  display: contents;
}
.l-footer:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --bg-color: var(--color-kelly-green);
  --schedule-label-color: var(--color-dark-moss);
}
.l-footer:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --bg-color: var(--color-denim);
  --schedule-label-color: var(--color-muted-navy);
}
.l-footer__main {
  padding-block: 6rem;
  background-color: var(--bg-color);
}
@media (max-width: 1024px) {
  .l-footer__main {
    padding-block: 5rem 8rem;
  }
}
.l-footer__inner {
  display: grid;
  grid-template-areas: "schedule logo" "schedule contact";
  grid-template-columns: 1.05fr 1fr;
  column-gap: 8rem;
  align-items: center;
}
@media (max-width: 1024px) {
  .l-footer__inner {
    grid-template-areas: "logo" "contact" "schedule";
    grid-template-columns: 1fr;
  }
}
.l-footer__logo {
  grid-area: logo;
  margin-inline: auto;
}
.l-footer__logo img {
  max-width: 35rem;
  max-height: 15rem;
}
@media (max-width: 1024px) {
  .l-footer__logo img {
    max-height: 20rem;
  }
}
@media (max-width: 525px) {
  .l-footer__logo img {
    max-width: 27rem;
    max-height: 14rem;
  }
}
.l-footer__contact {
  display: flex;
  flex-direction: column;
  grid-area: contact;
  align-items: center;
  margin-top: 1.75rem;
  color: white;
}
@media (max-width: 525px) {
  .l-footer__address {
    font-size: 1.3rem;
  }
}
.l-footer__tel {
  margin-block: 0.35em;
  font-family: var(--font-english);
  font-size: 2.6rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  letter-spacing: 0.05em;
}
@media (max-width: 525px) {
  .l-footer__tel {
    margin-block: 0.5em;
  }
}
@media (hover: hover) {
  .l-footer__tel {
    transition: opacity 0.2s;
  }
  .l-footer__tel:hover {
    opacity: 0.7;
  }
}
.l-footer__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  justify-content: center;
  margin-top: 0.5rem;
}
.l-footer__buttons > .c-button01 {
  min-width: 11em;
  max-width: 50%;
}
@media (max-width: 525px) {
  .l-footer__buttons > .c-button01 {
    font-size: 1.4rem;
  }
}
.l-footer__sns {
  margin-top: 1.75rem;
}
.l-footer__sns .l-sns {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25em;
  justify-content: center;
  font-size: 2.5rem;
}
@media (hover: hover) {
  .l-footer__sns .l-sns__link {
    transition: opacity 0.2s;
  }
  .l-footer__sns .l-sns__link:hover {
    opacity: 0.7;
  }
}
.l-footer__sns .l-sns__text {
  display: none;
}
.l-footer__schedule {
  grid-area: schedule;
}
@media (max-width: 1024px) {
  .l-footer__schedule {
    margin-top: 4rem;
  }
}
.l-footer__schedule .c-heading02 {
  margin-inline: auto;
  margin-bottom: -0.5em;
  font-size: 2.7rem;
  background-color: var(--schedule-label-color);
}
.l-footer__schedule .l-schedule {
  padding: 2.75rem 3rem 1.5rem;
  background-color: var(--color-pale-ivory);
  border-radius: var(--radius-md);
}
@media (max-width: 525px) {
  .l-footer__schedule .l-schedule {
    padding-inline: 1.35rem;
    font-size: var(--font-size-sm);
  }
}
.l-footer__top {
  --animation-delay: 0.5s;
  --size: 6rem;
  position: sticky;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: fit-content;
  padding-right: 2rem;
  margin-top: calc(var(--size) * -1);
  margin-left: auto;
}
@media (max-width: 1024px) {
  .l-footer__top {
    bottom: 1rem;
    padding-right: calc(5 * var(--vw));
  }
}
.l-footer__top__link {
  position: relative;
  display: block;
  width: var(--size);
  height: var(--size);
  padding-top: 1.75em;
  translate: 0 -2rem;
}
@media (max-width: 1024px) {
  .l-footer__top__link {
    translate: 0 -1rem;
  }
}
.l-footer__top__link::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background-color: var(--color-text-heading);
  -webkit-mask-image: url("../images/icon/arrow-top.svg");
          mask-image: url("../images/icon/arrow-top.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}
@media (hover: hover) {
  .l-footer__top__link::before {
    transition: all 0.2s var(--ease-out-quart);
  }
  .l-footer__top__link:hover::before {
    background-color: var(--color-mocha);
    translate: 0 -0.22em;
  }
}
.l-footer__top__text {
  position: relative;
  display: block;
  font-family: var(--font-english);
  font-size: calc(var(--size) * 0.46);
  font-weight: var(--font-weight-bold);
  line-height: 1;
  text-align: center;
  letter-spacing: 0;
  translate: 0.04em;
  -webkit-text-stroke: 0.12em var(--color-text-heading);
  -webkit-text-fill-color: var(--color-text-contrast);
  paint-order: stroke fill;
}
.l-footer__sub {
  position: relative;
  z-index: 0;
  padding-block: 4rem;
  color: var(--color-text-contrast);
}
@media (max-width: 1024px) {
  .l-footer__sub {
    padding-block: 2rem 11rem;
  }
}
.l-footer__sub__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.l-footer__sub__bg > img {
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
@media (max-width: 1024px) {
  .l-footer__menu {
    display: none;
  }
}
.l-footer__menu .l-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 1.75em 2.2em;
  align-items: center;
  justify-content: center;
  font-family: var(--font-heading);
  font-size: 1.8rem;
  line-height: 1.2;
  letter-spacing: 0.03em;
}
.l-footer__menu .l-menu__link {
  position: relative;
  padding-inline: 0.2em;
  padding-bottom: 0.5em;
  cursor: pointer;
}
.l-footer__menu .l-menu__link::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.2rem;
  content: "";
  background-color: var(--color-orange);
  transition: scale 0.2s var(--ease-out-quart);
  scale: 0 1;
}
.l-footer__menu .l-menu__link:hover::after {
  scale: 1 1;
}
.l-footer__menu .l-menu__en {
  display: none;
}
.l-footer__menu .l-menu__sub {
  display: none;
}
.l-footer__copyright {
  display: block;
  font-size: 1.2rem;
  line-height: 1;
  text-align: center;
}
@media (min-width: 1025px) {
  .l-footer__copyright {
    margin-top: 4rem;
  }
}

.l-header {
  --accent-color: var(--color-orange);
  position: sticky;
  top: 0;
  left: 0;
  z-index: var(--z-index-header);
  width: 100%;
  background-color: var(--color-bg-base);
}
.l-header:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --accent-color: var(--color-green);
}
.l-header:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --accent-color: var(--color-ultramarine);
}
.l-header::before {
  position: absolute;
  width: 5rem;
  height: 100%;
  content: "";
  background-color: var(--accent-color);
}
@media (max-width: 1024px) {
  .l-header::before {
    display: none;
  }
}
.l-header__inner {
  position: relative;
  display: grid;
  column-gap: 2rem;
  container-type: inline-size;
}
@media (min-width: 1025px) {
  .l-header__inner {
    grid-template-columns: 1fr 26.5rem;
  }
}
@media (max-width: 1024px) {
  .l-header__inner {
    z-index: 2;
    grid-template-columns: 1fr auto;
    background-color: var(--color-bg-base);
  }
}
.l-header__left {
  display: flex;
  gap: 2.5rem;
  align-items: center;
  padding-block: 0.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 1025px) {
  .l-header__logo {
    max-width: 22.5rem;
        width:22.5rem;
  }
}
@media (max-width: 1024px) {
  .l-header__logo {
    max-width: 100%;
    width:100%;
  }
}
@media (max-width: 1024px) {
  .l-header__logo > img {
    max-height: 5rem;
  }
}
@media (max-width: 525px) {
  .l-header__logo > img {
    max-height: 4.5rem;
  }
}
@media (max-width: 1024px) {
  .l-header__nav {
    display: none;
  }
}
.l-header__nav .l-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85em 1.2em;
  padding-top: 0.75em;
  font-size: 1.2rem;
}
.l-header__nav .l-menu__item {
  position: relative;
}
.l-header__nav .l-menu__link {
  position: relative;
  display: block;
  padding-bottom: 0.75em;
  line-height: 1.2;
}
.l-header__nav .l-menu__link::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.2rem;
  content: "";
  background-color: var(--accent-color);
  transition: scale 0.2s var(--ease-out-quart);
  scale: 0 1;
}
.l-header__nav .l-menu__link:hover::after {
  scale: 1 1;
}
.l-header__nav .l-menu__sub {
  --column-count: 1;
  --translate-x: -1rem;
  --translate-y: 0;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 2;
  padding-top: 0.85rem;
  visibility: hidden;
  opacity: 0;
}
.l-header__nav .l-menu__sub:is(.l-menu__item[data-status=show] > *) {
  animation-name: modal-open;
  animation-duration: 0.2s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}
.l-header__nav .l-menu__sub:is(.l-menu__item[data-status=hide] > *) {
  animation-name: modal-close;
  animation-duration: 0.2s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}
.js-has-pseudo [csstools-has-1a-30-19-2w-2t-2p-2s-2t-36-2n-2n-32-2p-3a-w-1a-30-19-31-2t-32-39-2n-2n-37-39-2q-1m-2w-2p-37-14-1a-30-19-31-2t-32-39-2n-2n-37-39-2q-2n-2n-2x-38-2t-31-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1d-1g-15-15]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  --column-count: 2;
}
.l-header__nav .l-menu__sub:has(.l-menu__sub__item:nth-child(14)) {
  --column-count: 2;
}
.js-has-pseudo [csstools-has-1a-30-19-2w-2t-2p-2s-2t-36-2n-2n-32-2p-3a-w-1a-30-19-31-2t-32-39-2n-2n-37-39-2q-1m-2w-2p-37-14-1a-30-19-31-2t-32-39-2n-2n-37-39-2q-2n-2n-2x-38-2t-31-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1e-1g-15-15]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  --column-count: 3;
}
.l-header__nav .l-menu__sub:has(.l-menu__sub__item:nth-child(24)) {
  --column-count: 3;
}
.js-has-pseudo [csstools-has-1a-30-19-2w-2t-2p-2s-2t-36-2n-2n-32-2p-3a-w-1a-30-19-31-2t-32-39-2n-2n-37-39-2q-1m-2w-2p-37-14-1a-30-19-31-2t-32-39-2n-2n-37-39-2q-2n-2n-2x-38-2t-31-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1f-1i-15-15]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  --column-count: 4;
}
.l-header__nav .l-menu__sub:has(.l-menu__sub__item:nth-child(36)) {
  --column-count: 4;
}
.l-header__nav .l-menu__sub__list {
  column-gap: 3em;
  min-width: 15em;
  padding: 0.5em;
  padding-right: 1em;
  color: var(--color-text-contrast);
  background-color: var(--accent-color);
  border: var(--border-sm) solid var(--color-text-heading);
  border-radius: var(--radius-md);
  box-shadow: 0.45rem 0.42rem 0.1rem rgb(var(--color-text-heading-rgb)/20%);
  column-count: var(--column-count);
}
.l-header__nav .l-menu__sub__item {
  display: inline-block;
  width: 100%;
}
.l-header__nav .l-menu__sub__link {
  display: block;
  padding: 0.5em 1em;
}
@media (hover: hover) {
  .l-header__nav .l-menu__sub__link {
    transition: color 0.15s;
  }
  .l-header__nav .l-menu__sub__link:hover {
    color: var(--color-sunflower);
  }
}
.l-header__nav .l-menu__sub__text {
  white-space: nowrap;
}
.l-header__nav .l-menu__sub__text wbr {
  display: none;
}
.l-header__nav .l-menu__en {
  display: none;
}
.l-header__right {
  position: relative;
  color: var(--color-text-contrast);
}
@media (min-width: 1025px) {
  .l-header__right {
    padding: 0.5rem 1.5rem;
  }
}
@media (max-width: 1024px) {
  .l-header__right {
    margin-right: calc(50cqw - 50 * var(--vw));
  }
}
.l-header__right__bg {
  position: absolute;
  z-index: -1;
}
@media (min-width: 1025px) {
  .l-header__right__bg {
    inset: 0 calc(50cqw - 50 * var(--vw)) 0 0;
  }
}
@media (max-width: 1024px) {
  .l-header__right__bg {
    inset: 0;
  }
}
.l-header__right__bg > img {
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.l-header__lead {
  margin-right: calc(50cqw - 50 * var(--vw));
  margin-bottom: 0.75em;
  font-size: 1rem;
}
@media (max-width: 1024px) {
  .l-header__lead {
    display: none;
  }
}
.l-header__contact {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 1024px) {
  .l-header__contact {
    display: none;
  }
}
@media (hover: hover) {
  .l-header__contact a {
    transition: opacity 0.15s;
  }
  .l-header__contact a:hover {
    opacity: 0.75;
  }
}
.l-header__tel {
  font-family: var(--font-english);
  font-size: 2rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
.l-header__sns {
  margin-top: 0.5rem;
}
.l-header__sns .l-sns {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25em;
  justify-content: center;
  font-size: 2.1rem;
}
.l-header__sns .l-sns__text {
  display: none;
}
.l-header__toggle {
  display: grid;
  grid-template-columns: 1fr;
  width: 8rem;
  aspect-ratio: 1/1;
  overflow: hidden;
}
@media (min-width: 1025px) {
  .l-header__toggle {
    display: none;
  }
}
@media (max-width: 525px) {
  .l-header__toggle {
    width: 5.5rem;
  }
}
.l-header__toggle__inner {
  --translate: 0.5rem;
  position: relative;
  grid-row: 1/2;
  grid-column: 1/2;
  width: 100%;
  height: 100%;
  opacity: 0;
  animation-duration: 0.35s;
  animation-timing-function: var(--ease-out-expo);
  animation-fill-mode: forwards;
}
.l-header__toggle__inner > span {
  position: relative;
  display: block;
  grid-row: 1/2;
  grid-column: 1/2;
  justify-self: center;
  height: 0.2rem;
  background-color: currentcolor;
  border-radius: var(--border-sm);
  transform-origin: center center;
}
.l-header__toggle__inner:where([data-toggle-type=open]) {
  display: flex;
  flex-direction: column;
  row-gap: 0.9rem;
  align-items: center;
  justify-content: center;
}
.l-header__toggle__inner:where([data-toggle-type=open]):where(:not([data-open]) > *) {
  opacity: 1;
}
.l-header__toggle__inner:where([data-toggle-type=open]):where([data-open=true] > *) {
  animation-name: fade-out-left;
  animation-delay: 0s;
}
.l-header__toggle__inner:where([data-toggle-type=open]):where([data-open=false] > *) {
  animation-name: fade-in-left;
  animation-delay: 0.17s;
}
@media (max-width: 525px) {
  .l-header__toggle__inner:where([data-toggle-type=open]) {
    row-gap: 0.62rem;
  }
}
.l-header__toggle__inner:where([data-toggle-type=open]) > span {
  width: 48%;
}
.l-header__toggle__inner:where([data-toggle-type=close]) {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
}
.l-header__toggle__inner:where([data-toggle-type=close]):where([data-open=true] > *) {
  animation-name: fade-in-left;
  animation-delay: 0.17s;
}
.l-header__toggle__inner:where([data-toggle-type=close]):where([data-open=false] > *) {
  animation-name: fade-out-left;
  animation-delay: 0s;
}
.l-header__toggle__inner:where([data-toggle-type=close]) > span {
  width: 57%;
}
.l-header__toggle__inner:where([data-toggle-type=close]) > span:nth-child(1) {
  rotate: 45deg;
}
.l-header__toggle__inner:where([data-toggle-type=close]) > span:nth-child(2) {
  rotate: -45deg;
}
.l-header__spmenu {
  position: fixed;
  top: var(--header-height);
  bottom: 0;
  left: 0;
  z-index: 1;
  width: calc(100 * var(--vw));
  visibility: hidden;
  opacity: 0;
}
@media (min-width: 1025px) {
  .l-header__spmenu {
    display: none;
  }
}
.l-header__spmenu[aria-hidden=false] {
  animation-name: modal-open;
  animation-duration: 0.5s;
  animation-timing-function: var(--ease-out-quint);
  animation-fill-mode: forwards;
}
.l-header__spmenu[aria-hidden=true] {
  animation-name: modal-close;
  animation-duration: 0.5s;
  animation-timing-function: var(--ease-out-quint);
  animation-fill-mode: forwards;
}
.l-header__spmenu .simplebar-content-wrapper {
  overscroll-behavior: contain;
}

.l-mv {
  --stripe-color: var(--color-orange);
  --title-bg-color: rgb(var(--color-orange-rgb) / 80%);
  position: relative;
  z-index: 0;
  aspect-ratio: 1/0.285;
}
.l-mv:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --stripe-color: var(--color-green);
  --title-bg-color: rgb(var(--color-green-rgb) / 80%);
}
.l-mv:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --stripe-color: var(--color-ultramarine);
  --title-bg-color: rgb(var(--color-ultramarine-rgb) / 80%);
}
@media (max-width: 1024px) {
  .l-mv {
    aspect-ratio: 1/0.6;
  }
}
@media (max-width: 525px) {
  .l-mv {
    aspect-ratio: 1/0.8;
  }
}
.l-mv::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background-color: var(--color-dark-brown);
  mix-blend-mode: multiply;
  opacity: 0.35;
}
.l-mv::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 5rem;
  height: 100%;
  content: "";
  background-color: var(--stripe-color);
}
@media (max-width: 1024px) {
  .l-mv::after {
    display: none;
  }
}
.l-mv__bg {
  position: absolute;
  inset: 0;
  z-index: -2;
}
.l-mv__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.l-mv__inner {
  display: flex;
  align-items: center;
  height: 100%;
}
@media (min-width: 1025px) {
  .l-mv__inner {
    padding-left: 5rem;
  }
}
.l-mv__title {
  display: flex;
  row-gap: 1.35rem;
  column-gap: 3rem;
  align-items: center;
  width: 100%;
  line-height: 1;
  container-type: inline-size;
}
@media (max-width: 1024px) {
  .l-mv__title {
    flex-direction: column;
    align-items: flex-start;
  }
}
.l-mv__title__main {
  --real-text-count: 3;
  --normal-text-count: 5;
  --max-font-size: 6.4rem;
  --max-cqw: 50cqw;
  --letter-spacing: 0.05;
  --padding-left: 0.25;
  --padding-right: 0.17;
  --total-padding-inline: calc(var(--padding-left) + var(--padding-right));
  --total-letter-spacing: calc(var(--letter-spacing) * var(--normal-text-count));
  padding-block: 0.06em 0.03em;
  padding-inline: calc(var(--padding-left) * 1em) calc(var(--padding-right) * 1em);
  font-family: var(--font-english);
  font-size: min(var(--max-cqw) / (var(--real-text-count) + var(--total-letter-spacing) + var(--total-padding-inline)), var(--max-font-size));
  font-weight: var(--font-weight-bold);
  color: var(--color-text-contrast);
  text-shadow: 0 0 0.1em rgba(0, 0, 0, 0.3);
  letter-spacing: calc(var(--letter-spacing) * 1em);
  background-color: var(--title-bg-color);
  border-radius: var(--radius-md);
}
@media (max-width: 1024px) {
  .l-mv__title__main {
    --max-font-size: 6.75rem;
    --max-cqw: 90cqw;
  }
}
@media (max-width: 525px) {
  .l-mv__title__main {
    --max-font-size: 5rem;
    --max-cqw: 98cqw;
  }
}
.l-mv__title__sub {
  font-family: var(--font-heading);
  font-size: 3.2rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-contrast);
  letter-spacing: 0.08em;
}
@media (max-width: 1024px) {
  .l-mv__title__sub {
    margin-left: 0.75rem;
    font-size: 2.5rem;
  }
}
@media (max-width: 525px) {
  .l-mv__title__sub {
    font-size: 2.1rem;
  }
}

.l-schedule {
  --accent-color: var(--color-orange);
}
.l-schedule:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --accent-color: var(--color-green);
}
.l-schedule:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --accent-color: var(--color-ultramarine);
}
.l-schedule b {
  color: var(--accent-color);
}
.l-schedule table {
  width: 100%;
}
.l-schedule table th,
.l-schedule table td {
  font-weight: normal;
  line-height: 1;
  text-align: center;
}
.l-schedule table th:first-child,
.l-schedule table td:first-child {
  width: 23%;
  white-space: nowrap;
}
.l-schedule table thead th {
  padding: 1em 0.5em;
}
.l-schedule table tbody th:first-child {
  text-align: left;
}
.l-schedule table tbody tr {
  --padding-x: 0.5em;
  --padding-y: 0.8em;
}
.l-schedule table tbody tr th,
.l-schedule table tbody tr td {
  position: relative;
  padding: var(--padding-y) var(--padding-x);
}
.l-schedule table tbody tr:first-of-type th,
.l-schedule table tbody tr:first-of-type td {
  padding-top: calc(var(--padding-y) * 1.5);
}
.l-schedule table tbody tr:first-of-type th::before,
.l-schedule table tbody tr:first-of-type td::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0.25rem;
  content: "";
  background-color: var(--color-text-heading);
}
.l-schedule table tbody tr:last-of-type th,
.l-schedule table tbody tr:last-of-type td {
  padding-bottom: calc(var(--padding-y) * 1.5);
}
.l-schedule table tbody tr:last-of-type th::before,
.l-schedule table tbody tr:last-of-type td::before {
  bottom: 0;
}
.l-schedule__note {
  padding: 0.5em;
}

@keyframes l-side-schedule-open-left {
  0% {
    visibility: visible;
    opacity: 0;
    translate: 1rem 0;
  }
  100% {
    visibility: visible;
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes l-side-schedule-close-right {
  0% {
    visibility: visible;
    opacity: 1;
    translate: 0 0;
  }
  100% {
    visibility: hidden;
    opacity: 0;
    translate: 1rem 0;
  }
}
@keyframes l-side-schedule-open-up {
  0% {
    visibility: visible;
    opacity: 0;
    translate: 0 1rem;
  }
  100% {
    visibility: visible;
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes l-side-schedule-close-down {
  0% {
    visibility: visible;
    opacity: 1;
    translate: 0 0;
  }
  100% {
    visibility: hidden;
    opacity: 0;
    translate: 0 1rem;
  }
}
@keyframes l-side-toggle-in {
  0% {
    opacity: 0;
    translate: -0.2em 0;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes l-side-toggle-out {
  0% {
    opacity: 1;
    translate: 0 0;
  }
  100% {
    opacity: 0;
    translate: 0.2em 0;
  }
}
.l-side {
  --animation-delay: 0.5s;
  --bg-color: var(--color-sunflower);
  --hover-bg-color: var(--color-lemon);
  --schedule-bg-color: var(--color-pale-ivory);
  position: fixed;
  z-index: calc(var(--z-index-header) + 1);
}
.l-side:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --bg-color: var(--color-yellow-orange);
  --hover-bg-color: var(--color-topaz);
  --schedule-bg-color: var(--color-smoke);
}
.l-side:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --bg-color: var(--color-neon-yellow);
  --hover-bg-color: var(--color-pale-yellow);
  --schedule-bg-color: var(--color-fog-white);
}
@media (min-width: 1025px) {
  .l-side {
    top: 7rem;
    right: 1rem;
    display: grid;
    gap: 1rem;
  }
}
@media (max-width: 1024px) {
  .l-side {
    bottom: 0;
    left: 0;
    z-index: calc(var(--z-index-header) - 1);
    display: flex;
    gap: 1rem;
    align-items: flex-end;
    max-width: calc(100% - 8rem);
    padding-bottom: 1rem;
    padding-left: calc(5 * var(--vw));
  }
}
.l-side__item {
  position: relative;
}
@media (min-width: 1025px) {
  .l-side__item:where([data-item-type=tel]) {
    display: none;
  }
}
.l-side__item:where([data-item-type=schedule]) {
  z-index: 1;
}
.l-side__button {
  position: relative;
  display: grid;
  width: 8rem;
  max-width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  color: var(--color-text-heading);
  background-color: var(--bg-color);
  isolation: isolate;
  border: var(--border-sm) solid currentcolor;
  border-radius: var(--radius-md);
  box-shadow: 0.45rem 0.42rem 0.1rem rgb(var(--color-text-heading-rgb)/20%);
  container-type: inline-size;
}
@media (hover: hover) {
  .l-side__button {
    transition: background-color 0.22s;
  }
  .l-side__button:hover {
    background-color: var(--hover-bg-color);
  }
}
.l-side__button__inner {
  display: grid;
  grid-template-rows: 1fr auto;
  grid-row: 1/2;
  grid-column: 1/2;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 6.1cqw 6cqw;
}
.l-side__button__inner:where([data-button-type=toggle] *) {
  position: relative;
  opacity: 0;
}
.l-side__button__inner:where([data-button-type=toggle] *):where(.l-side__button:not([data-open]) [data-toggle-type=open]) {
  opacity: 1;
}
.l-side__button__inner:where([data-button-type=toggle] *):where(.l-side__button[data-open=false] [data-toggle-type=open], .l-side__button[data-open=true] [data-toggle-type=close]) {
  animation-name: l-side-toggle-in;
  animation-duration: 1s;
  animation-timing-function: var(--ease-out-expo);
  animation-delay: 0.25s;
  animation-fill-mode: forwards;
}
.l-side__button__inner:where([data-button-type=toggle] *):where(.l-side__button[data-open=true] [data-toggle-type=open], .l-side__button[data-open=false] [data-toggle-type=close]) {
  animation-name: l-side-toggle-out;
  animation-duration: 0.7s;
  animation-timing-function: var(--ease-out-expo);
  animation-delay: 0s;
  animation-fill-mode: forwards;
}
.l-side__button__icon {
  width: 42cqw;
  margin-inline: auto;
}
.l-side__button__icon:where([data-item-type=schedule] [data-toggle-type=close] > *) {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  width: 100%;
  aspect-ratio: 1/1;
}
.l-side__button__icon:where([data-item-type=schedule] [data-toggle-type=close] > *) > span {
  position: relative;
  display: block;
  grid-row: 1/2;
  grid-column: 1/2;
  justify-self: center;
  width: 72%;
  height: var(--border-sm);
  background-color: currentcolor;
  transform-origin: center center;
}
.l-side__button__icon:where([data-item-type=schedule] [data-toggle-type=close] > *) > span:nth-child(1) {
  rotate: 45deg;
}
.l-side__button__icon:where([data-item-type=schedule] [data-toggle-type=close] > *) > span:nth-child(2) {
  rotate: -45deg;
}
.l-side__button__text {
  display: flex;
  justify-content: center;
  min-height: 1.35em;
  font-family: var(--font-heading);
  font-size: 17cqw;
  line-height: 1;
}
.l-side__schedule {
  position: absolute;
  padding: 1.75rem 3rem;
  visibility: hidden;
  background-color: var(--schedule-bg-color);
  border: var(--border-sm) solid var(--color-text-heading);
  border-radius: var(--radius-md);
  box-shadow: 0.45rem 0.42rem 0.1rem rgb(var(--color-text-heading-rgb)/20%);
  opacity: 0;
}
@media (min-width: 1025px) {
  .l-side__schedule {
    top: 0;
    right: calc(100% + 1rem);
    min-width: 44rem;
  }
}
@media (max-width: 1024px) {
  .l-side__schedule {
    position: fixed;
    inset-inline: calc(5 * var(--vw));
    bottom: 10rem;
    width: fit-content;
  }
}
@media (max-width: 525px) {
  .l-side__schedule {
    inset-inline: 1rem;
    width: unset;
    padding-inline: 1.35rem;
    font-size: var(--font-size-sm);
  }
}
.l-side__schedule:is([aria-expanded=false] ~ *) {
  animation-name: l-side-schedule-close-right;
  animation-duration: 0.2s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}
@media (max-width: 1024px) {
  .l-side__schedule:is([aria-expanded=false] ~ *) {
    animation-name: l-side-schedule-close-down;
  }
}
.l-side__schedule:is([aria-expanded=true] ~ *) {
  animation-name: l-side-schedule-open-left;
  animation-duration: 0.2s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}
@media (max-width: 1024px) {
  .l-side__schedule:is([aria-expanded=true] ~ *) {
    animation-name: l-side-schedule-open-up;
  }
}

.l-spmenu {
  --main-bg-color: var(--color-pale-ivory);
  --accent-color: var(--color-orange);
  --schedule-bg-color: var(--color-pale-ivory);
  --key-color-1: var(--color-pale-taupe);
  --key-color-2: var(--color-coral);
  --key-color-3: var(--color-lemon);
  --key-color-4: var(--color-camel);
  --key-color-5: var(--color-sage-green);
  height: 100%;
  background-color: var(--color-bg-base);
}
.l-spmenu:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --main-bg-color: var(--color-smoke);
  --accent-color: var(--color-green);
  --schedule-bg-color: var(--color-smoke);
  --key-color-1: var(--color-mauve);
  --key-color-2: var(--color-pastel-green);
  --key-color-3: var(--color-muted-gold);
  --key-color-4: var(--color-dusty-beige);
  --key-color-5: var(--color-muted-purple);
}
.l-spmenu:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --main-bg-color: var(--color-fog-white);
  --accent-color: var(--color-ultramarine);
  --schedule-bg-color: var(--color-fog-white);
  --key-color-1: var(--color-misty-blue);
  --key-color-2: var(--color-soft-azure);
  --key-color-3: var(--color-amber);
  --key-color-4: var(--color-ochre);
  --key-color-5: var(--color-avocado);
}
.l-spmenu__main {
  padding-block: var(--section-gap-xs);
  background-color: var(--main-bg-color);
}
.l-spmenu .l-menu {
  --padding-x: 1.7rem;
  --translate: 1rem;
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 1rem;
  opacity: 0;
}
.l-spmenu .l-menu:where(.l-header__spmenu[aria-hidden=true] *) {
  animation-name: fade-out;
  animation-duration: 0s;
  animation-delay: 0.5s;
  animation-fill-mode: forwards;
}
.l-spmenu .l-menu:where(.l-header__spmenu[aria-hidden=false] *) {
  animation-name: fade-in-up;
  animation-duration: 0.35s;
  animation-timing-function: var(--ease-out-expo);
  animation-delay: 0.2s;
  animation-fill-mode: forwards;
}
.l-spmenu .l-menu__item {
  background-color: var(--color-bg-base);
  border-radius: var(--radius-md);
}
.l-spmenu .l-menu__item:nth-child(5n+1) {
  --key-color: var(--key-color-1);
}
.l-spmenu .l-menu__item:nth-child(5n+2) {
  --key-color: var(--key-color-2);
}
.l-spmenu .l-menu__item:nth-child(5n+3) {
  --key-color: var(--key-color-3);
}
.l-spmenu .l-menu__item:nth-child(5n+4) {
  --key-color: var(--key-color-4);
}
.l-spmenu .l-menu__item:nth-child(5n+5) {
  --key-color: var(--key-color-5);
}
.l-spmenu .l-menu__link {
  display: grid;
  grid-template-areas: "ja en";
  grid-template-columns: auto 1fr;
  column-gap: 1.5rem;
  align-items: center;
  padding: 1.7rem var(--padding-x);
  line-height: 1;
}
.l-spmenu .l-menu__ja {
  grid-area: ja;
  font-family: var(--font-heading);
  font-size: 1.5rem;
  color: var(--color-text-heading);
  letter-spacing: 0.04em;
}
.l-spmenu .l-menu__en {
  display: block;
  grid-area: en;
  margin-top: 0.5rem;
  font-family: var(--font-english);
  font-size: 1.1rem;
  font-weight: var(--font-weight-semi-bold);
  color: var(--key-color);
  letter-spacing: 0.08em;
}
.l-spmenu .l-menu__sub__list {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 2rem;
  padding: 1rem var(--padding-x);
  font-size: 1.25rem;
}
.l-spmenu .l-menu__sub__list::before {
  position: absolute;
  inset-inline: var(--padding-x);
  top: 0;
  height: var(--border-sm);
  content: "";
  background-color: var(--key-color);
  translate: 0 -50%;
}
.l-spmenu .l-menu__sub__link {
  display: block;
  padding-block: 0.5rem;
}
.l-spmenu__sub {
  padding-block: var(--section-gap-xs);
}
.l-spmenu__sub__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.l-spmenu__header {
  --text-color-main: var(--accent-color);
  margin-bottom: 2rem;
}
@media (max-width: 525px) {
  .l-spmenu__address {
    font-size: 1.3rem;
  }
}
.l-spmenu__tel {
  margin-block: 0.35em;
  font-family: var(--font-english);
  font-size: 2.6rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  letter-spacing: 0.05em;
}
@media (max-width: 525px) {
  .l-spmenu__tel {
    margin-block: 0.5em;
  }
}
.l-spmenu__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  justify-content: center;
  margin-top: 0.5rem;
}
.l-spmenu__buttons > .c-button01 {
  min-width: 11em;
  max-width: 50%;
}
@media (max-width: 525px) {
  .l-spmenu__buttons > .c-button01 {
    font-size: 1.4rem;
  }
}
.l-spmenu__schedule {
  width: 100%;
  margin-top: var(--section-gap-sm);
}
.l-spmenu__schedule .c-heading02 {
  margin-inline: auto;
  margin-bottom: -0.5em;
  font-size: 2.7rem;
}
.l-spmenu__schedule .l-schedule {
  padding: 2.75rem 3rem 1.5rem;
  background-color: var(--schedule-bg-color);
  border-radius: var(--radius-md);
}
@media (max-width: 525px) {
  .l-spmenu__schedule .l-schedule {
    padding-inline: 1.35rem;
    font-size: var(--font-size-sm);
  }
}
.l-spmenu__sns {
  margin-top: 2rem;
}
.l-spmenu__sns .l-sns {
  display: flex;
  flex-wrap: wrap;
  gap: 1.15em;
  justify-content: center;
  font-size: 2.75rem;
  color: var(--color-dark-brown);
}
@media (hover: hover) {
  .l-spmenu__sns .l-sns__link {
    transition: opacity 0.2s;
  }
  .l-spmenu__sns .l-sns__link:hover {
    opacity: 0.7;
  }
}
.l-spmenu__sns .l-sns__text {
  display: none;
}

.text-block{
  display: inline-block;
}


/*  追記  */

.l-schedule__note-s{
  color:var(--color-rust-red);
  text-decoration: underline;
}
/* .l-footer__logo{
-webkit-filter: drop-shadow(0px 1px 2px rgba(255, 255, 255, 1)); 
    filter: drop-shadow(0px 1px 2px rgba(255, 255, 255, 1));
} */
/* .l-footer__logo{
-webkit-filter: drop-shadow(1.5px 1.5px 3px rgba(255, 255, 255, 1)); 
    filter: drop-shadow(1.5px 1.5px 3px rgba(255, 255, 255, 1));
} */

/*  追記  */

