@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Jost:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Shippori+Mincho:wght@400;500;600;700&family=Viaoda+Libre&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap");
:is(.Header, .Footer) [class*=li-slash]:not(.HeaderNavMobile) > ul > li > * {
  position: relative;
}
:is(.Header, .Footer) [class*=li-slash]:not(.HeaderNavMobile) > ul > li > ::before {
  content: "";
  display: inline-block;
  z-index: 1;
  font-weight: 900;
  font-family: var(--icon);
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
:root {
  --Ser: "Noto Serif JP", serif;
  --San:
          -apple-system,
          /* iOS/macOS */
          BlinkMacSystemFont,
          /* macOS Safari/Chrome */
          "Hiragino Sans", "Hiragino Kaku Gothic ProN",
          /* macOS日本語 */
          "Yu Gothic Medium", "Yu Gothic", "Meiryo",
          /* Windows */
          "Roboto", "Noto Sans CJK JP",
          /* Android */
          sans-serif;
  --Ship: "Shippori Mincho","Noto Serif JP", serif;
  --Zen: "Zen Kaku Gothic New",var(--San), sans-serif;
  --Jost: "Jost",var(--San), sans-serif;
  --Via: "Viaoda Libre",var(--San), sans-serif;
  --FF: var(--San) ,sans-serif;
  --Eng: var(--Jost);
}

:root {
  --UN: unset;
  --IN: inherit;
  --CC: currentColor;
  --TR: transparent;
  --MC: oklch(0.1 0.1 75);
  --SC: oklch(0.50 0.125 265);
  --AC: oklch(0.8 0.1 75);
  --BC: oklch(99% 0.005 60);
  --TC: oklch(20% 0.00 270);
  --GR: oklch(75% 0.00 270);
  --BK: oklch(0% 0.00 60);
  --WH: oklch(100% 0.00 60);
}

:root {
  --second: var(--SC);
  --third: oklch(0.92 0.1 169.85);
  --fourth: oklch(0.97 0.2 109.29);
  --primary: var(--MC);
  --secondary: var(--SC);
  --accent: var(--AC);
  --background: var(--BC);
  --foreground: var(--TC);
  --surface: var(--TC);
  --muted: var(--GR);
  --neutral: var(--GR);
  --border: var(--TC);
}

.dark {
  --background: var(--TC);
  --foreground: var(--WH);
}

:root {
  --MC05: color-mix(in srgb, transparent, var(--MC) 05%);
  --MC10: color-mix(in srgb, transparent, var(--MC) 10%);
  --SC10: color-mix(in srgb, transparent, var(--SC) 10%);
  --AC10: color-mix(in srgb, transparent, var(--AC) 10%);
  --BC10: color-mix(in srgb, transparent, var(--BC) 10%);
  --TC10: color-mix(in srgb, transparent, var(--TC) 10%);
  --GR10: color-mix(in srgb, transparent, var(--GR) 10%);
  --WH10: color-mix(in srgb, transparent, var(--WH) 10%);
  --BK10: color-mix(in srgb, transparent, var(--BK) 10%);
  --MC20: color-mix(in srgb, transparent, var(--MC) 20%);
  --SC20: color-mix(in srgb, transparent, var(--SC) 20%);
  --AC20: color-mix(in srgb, transparent, var(--AC) 20%);
  --BC20: color-mix(in srgb, transparent, var(--BC) 20%);
  --TC20: color-mix(in srgb, transparent, var(--TC) 20%);
  --GR20: color-mix(in srgb, transparent, var(--GR) 20%);
  --WH20: color-mix(in srgb, transparent, var(--WH) 20%);
  --BK20: color-mix(in srgb, transparent, var(--BK) 20%);
  --MC30: color-mix(in srgb, transparent, var(--MC) 30%);
  --SC30: color-mix(in srgb, transparent, var(--SC) 30%);
  --AC30: color-mix(in srgb, transparent, var(--AC) 30%);
  --BC30: color-mix(in srgb, transparent, var(--BC) 30%);
  --TC30: color-mix(in srgb, transparent, var(--TC) 30%);
  --GR30: color-mix(in srgb, transparent, var(--GR) 30%);
  --WH30: color-mix(in srgb, transparent, var(--WH) 30%);
  --BK30: color-mix(in srgb, transparent, var(--BK) 30%);
  --MC40: color-mix(in srgb, transparent, var(--MC) 40%);
  --SC40: color-mix(in srgb, transparent, var(--SC) 40%);
  --AC40: color-mix(in srgb, transparent, var(--AC) 40%);
  --BC40: color-mix(in srgb, transparent, var(--BC) 40%);
  --TC40: color-mix(in srgb, transparent, var(--TC) 40%);
  --GR40: color-mix(in srgb, transparent, var(--GR) 40%);
  --WH40: color-mix(in srgb, transparent, var(--WH) 40%);
  --BK40: color-mix(in srgb, transparent, var(--BK) 40%);
  --MC50: color-mix(in srgb, transparent, var(--MC) 50%);
  --SC50: color-mix(in srgb, transparent, var(--SC) 50%);
  --AC50: color-mix(in srgb, transparent, var(--AC) 50%);
  --BC50: color-mix(in srgb, transparent, var(--BC) 50%);
  --TC50: color-mix(in srgb, transparent, var(--TC) 50%);
  --GR50: color-mix(in srgb, transparent, var(--GR) 50%);
  --WH50: color-mix(in srgb, transparent, var(--WH) 50%);
  --BK50: color-mix(in srgb, transparent, var(--BK) 50%);
  --MC60: color-mix(in srgb, transparent, var(--MC) 60%);
  --SC60: color-mix(in srgb, transparent, var(--SC) 60%);
  --AC60: color-mix(in srgb, transparent, var(--AC) 60%);
  --BC60: color-mix(in srgb, transparent, var(--BC) 60%);
  --TC60: color-mix(in srgb, transparent, var(--TC) 60%);
  --GR60: color-mix(in srgb, transparent, var(--GR) 60%);
  --WH60: color-mix(in srgb, transparent, var(--WH) 60%);
  --BK60: color-mix(in srgb, transparent, var(--BK) 60%);
  --MC70: color-mix(in srgb, transparent, var(--MC) 70%);
  --SC70: color-mix(in srgb, transparent, var(--SC) 70%);
  --AC70: color-mix(in srgb, transparent, var(--AC) 70%);
  --BC70: color-mix(in srgb, transparent, var(--BC) 70%);
  --TC70: color-mix(in srgb, transparent, var(--TC) 70%);
  --GR70: color-mix(in srgb, transparent, var(--GR) 70%);
  --WH70: color-mix(in srgb, transparent, var(--WH) 70%);
  --BK70: color-mix(in srgb, transparent, var(--BK) 70%);
  --MC80: color-mix(in srgb, transparent, var(--MC) 80%);
  --SC80: color-mix(in srgb, transparent, var(--SC) 80%);
  --AC80: color-mix(in srgb, transparent, var(--AC) 80%);
  --BC80: color-mix(in srgb, transparent, var(--BC) 80%);
  --TC80: color-mix(in srgb, transparent, var(--TC) 80%);
  --GR80: color-mix(in srgb, transparent, var(--GR) 80%);
  --WH80: color-mix(in srgb, transparent, var(--WH) 80%);
  --BK80: color-mix(in srgb, transparent, var(--BK) 80%);
  --MC90: color-mix(in srgb, transparent, var(--MC) 90%);
  --SC90: color-mix(in srgb, transparent, var(--SC) 90%);
  --AC90: color-mix(in srgb, transparent, var(--AC) 90%);
  --BC90: color-mix(in srgb, transparent, var(--BC) 90%);
  --TC90: color-mix(in srgb, transparent, var(--TC) 90%);
  --GR90: color-mix(in srgb, transparent, var(--GR) 90%);
  --WH90: color-mix(in srgb, transparent, var(--WH) 90%);
  --BK90: color-mix(in srgb, transparent, var(--BK) 90%);
}

:root {
  --LS: 0.05em;
  --LH: 2;
  --FW: 300;
  --FZ: 87.5%;
}
@media (min-width: 768px) {
  :root {
    --FZ: 100%;
  }
}
:root {
  --HFF: var(--Eng);
  --HFW: 500;
  --HLH: 1.25;
  --HLS: 0.00em;
  --h1FZ: clamp(32px, 5vw, 64px);
  --h2FZ: clamp(24px, 3.2vw, 40px);
  --h3FZ: clamp(18px, 2vw, 24px);
  --largeFZ: clamp(48px, 6.4vw, 96px);
}

:root {
  --rad:4px;
}
@media (min-width: 768px) {
  :root {
    --rad:4px;
  }
}
:root {
  --rad2:calc(var(--rad)*2 );
  --radH:calc(var(--rad)/2 );
  --sheetR:var(--rad);
  --sheetBG:var(--BC);
  --sheetP:var(--gap);
  --boardR:var(--rad);
  --lineClamp:2;
}

:root {
  interpolate-size: allow-keywords;
}

:root {
  --lineClamp:2;
  --bds: solid;
  --bdw: 1px;
  --bdc: var(--TC30);
  --line:var(--bdw) var(--bds) var(--bdc);
  --tsw: 4px;
  --tsc: var(--MC);
  --TS: 0 0 0.25em var(--BK90);
  --DS: drop-shadow(0 0 0.25em var(--BK70));
  --BS: 0.25rem 0.25rem 0rem var(--BK10);
  --WTS: var(--tsw) var(--tsc);
  --BGgrad: linear-gradient(90deg, var(--BK), transparent 80%) no-repeat center/100% 100%;
}

:root {
  --MY: 4rem;
  --PX2: calc(var(--PX) * 2);
  --gap: 1rem;
  --PX: 1.5rem;
  --PY: 1.5rem;
  --gapN: calc(var(--gap)*-1);
  --gapH: calc(var(--gap)/2);
}
@media (min-width: 1024px) {
  :root {
    --gap: 1.5rem;
  }
}
@media (min-width: 768px) {
  :root {
    --MY: 6rem;
  }
}

:root {
  --imgW: calc(50% - var(--gap)/2);
  --wid: 1260px;
  --MY: 120px;
  --MY25: calc(var(--MY)/4);
  --MY5: calc(var(--MY)/2);
  --MY75: calc(var(--MY)/4*3);
  --15MY: calc(var(--MY)*1.5);
  --2MY: calc(var(--MY)*2.0);
  --25MY: calc(var(--MY)*2.5);
  --3MY: calc(var(--MY)*3.0);
  --4MY: calc(var(--MY)*4.0);
}

:root {
  --into: calc(50vw - clamp(0px, 50vw - var(--PX), (var(--wid) / 2)));
  --in1800: calc(50vw - clamp(0px, 50vw - var(--PX), 900px));
  --in1728: calc(50vw - clamp(0px, 50vw - var(--PX), 864px));
  --in1680: calc(50vw - clamp(0px, 50vw - var(--PX), 840px));
  --in1560: calc(50vw - clamp(0px, 50vw - var(--PX), 780px));
  --in1536: calc(50vw - clamp(0px, 50vw - var(--PX), 768px));
  --in1440: calc(50vw - clamp(0px, 50vw - var(--PX), 720px));
  --in1320: calc(50vw - clamp(0px, 50vw - var(--PX), 660px));
  --in1200: calc(50vw - clamp(0px, 50vw - var(--PX), 600px));
  --in1080: calc(50vw - clamp(0px, 50vw - var(--PX), 540px));
  --in1000: calc(50vw - clamp(0px, 50vw - var(--PX), 500px));
  --in960: calc(50vw - clamp(0px, 50vw - var(--PX), 480px));
  --in840: calc(50vw - clamp(0px, 50vw - var(--PX), 420px));
  --in720: calc(50vw - clamp(0px, 50vw - var(--PX), 360px));
  --in660: calc(50vw - clamp(0px, 50vw - var(--PX), 330px));
  --out: calc(50% - 50vw);
}

:root {
  --transH: 100px;
  --trans: 400ms;
  --tw-duration: var(--trans);
  --default-transition-timing-function: var(--trans);
  --PTdis: block;
  --PTAF: var(--btnAF);
  --PTscale: 1.5;
  --PTC: var(--IN);
  --PTBG: var(--UN);
  --PTRad: var(--btnRad);
  --PTW: calc(2.5rem);
  --PTbottom: var(--gapH);
  --PTrightTAB: 0.5em;
  --PTbottomTAB: 0.5em;
  --PTborder: var(--UN);
}
@media (max-width: 480px) {
  :root {
    --PTrightTAB: 0.25em;
    --PTbottomTAB: 0.25em;
  }
}
:root {
  --headG:1.5em;
}
@media (max-width: 1560px) {
  :root {
    --headG: .75em;
  }
}
@media (max-width: 1200px) {
  :root {
    --headG: 0.5em;
  }
}
:root {
  --innerPX: calc(var(--into)*1 );
  --navPX: calc(var(--headG)*0 );
  --itemPX: calc(var(--headG)*0 );
  --logoPX: calc(var(--headG)*0 );
  --itemG: calc(var(--headG)*1.5 );
  --innerG: calc(var(--headG)*0 );
  --logoW:200px;
  --logoFZ:32px;
  --logoH:calc(var(--head) - .5em );
  --head:4.5rem;
  --head15:calc(var(--head)*1.5 );
  --head2:calc(var(--head)*2 );
  --Nhead:calc(var(--head)*-1 );
  --contMT:calc(var(--head)*1);
  --mvMT:calc(var(--head) * 1 );
  --mvImg:calc(100lvh - var(--head) );
}
@media (max-width: 834px) {
  :root {
    --mvImg:calc(100lvh - var(--head)*2 );
  }
}
:root {
  --navFZ: 1em;
  --navLH: 1.5em;
  --navC: inherit;
  --navFW: inherit;
  --dropBG: var(--BC);
  --dropC: var(--TC);
  --SPnavBG: var(--WH);
  --SPnavBG: var(--innerBG);
  --SPnavFZ: 1em;
  --dropbtnBG: var(--UN);
  --dropbtnBF: var(--CC);
  --bargap: calc(var(--btnH) * .25);
  --menuC: var(--BK);
  --spanH: 2px;
  --spanR: 000px;
  --deg: 150deg;
  --menuRad: 0px;
  --spanW: 67.5%;
  --menuM: var(--headG) 0;
  --menuH: var(--btnH);
}
@media (max-width: 960px) {
  :root {
    --head:3.5rem;
  }
}
:root {
  --dur:0.8s;
  --dur2:1.2s;
  --trt:
  background 5s,
  translate var(--dur),
  opacity var(--dur) ,
  clip-path var(--dur) ,
  filter var(--dur) ,
  scale var(--dur) ,
  rotate var(--dur) ;
  --jsBlur:0px;
  --transX: 6vmin;
  --transY: 6vmin;
}

:root {
  --TLC:var(--IN);
  --TLFZ:1.25rem;
  --TLFF:var(--Eng);
  --TLFW:500;
  --TLFS:normal;
  --TLLS:inherit;
  --TLLH:1;
  --TLDeco:none;
  --TLOff:.25em;
  --TLG:.25em;
  --btnBG:var(--MC);
  --btnC:var(--WH);
  --hoverBG: var(--MC);
  --hoverC: var(--AC);
  --hoverFL: invert(0%) brightness(100%) saturate(100%);
  --btnFZ:1rem;
  --btnFF:var(--Eng);
  --btnLH:1.125;
  --btnFW: 700;
  --btnLS:0.025em;
  --btnW:300px;
  --btnW48:100%;
  --btnH:3.25rem;
  --btnPX:1.25em ;
  --btnPY: 0.25em;
  --btnG:.5em;
  --btnTR:.6s ;
  --btnTRT: ease-out;
  --btnRad:4px;
  --btnIC:var(--IN);
  --btnIFF:var(--icon);
  --btnIMX: 0 0.25em ;
  --btnAC:center;
  --btnTA:center;
  --btnAF: "\f105";
  --btnIFZ:calc(var(--btnFZ)*1);
  --btnImg:2.25em;
  --btnIdis: inline-block;
  --btnIMX: 0.5em 0;
  --btnIFC: var(--IN);
  --btnIFW: 900;
  --btnIPOS: static;
  --btnIRT: 0.25em;
  --btnIVA: bottom;
}

:root {
  --mmFZ: 2rem;
  --mmWobbleAmp: 32;
  --mmWobbleAmpX: 32;
  --mmWobbleAmpY: 32;
  --mmWobbleFreqX: 0.0005;
  --mmWobbleFreqY: 0.0003;
}
@media (max-width: 1560px) {
  :root {
    --mmFZ: 1.25rem;
  }
}
@media (max-width: 640px) {
  :root {
    --mmFZ: 0.875rem;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

summary {
  list-style: none;
}

summary::details-marker {
  display: none;
}

summary::-webkit-details-marker {
  display: none;
}

::details-content {
  transition: height 0.4s ease, content-visibility 0.4s allow-discrete;
  height: 0;
  overflow: hidden;
}

[open]::details-content {
  height: auto;
}

html {
  font-size: 100%;
  text-size-adjust: none;
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  scrollbar-gutter: stable;
}
html:has(.h.active, .policy-wrap.active, .modal.active) {
  overflow: hidden;
}

.Ser {
  font-family: var(--Ser);
}

.San {
  font-family: var(--San);
}

.Eng {
  font-family: var(--Eng);
}

.sub {
  font-size: 0.875rem;
  color: var(--GR);
  font-weight: 500;
  font-family: var(--Eng);
  line-height: var(--LH);
}
.sub.block {
  margin-bottom: 0.5rem;
}

span {
  display: inline-block;
}

small {
  font-size: 62.5%;
}

:where(*) {
  max-width: 100%;
}

a {
  text-decoration: none;
  color: inherit;
  display: inline-block;
}

img, video {
  object-fit: cover;
}

:where(.PageRoot > main) {
  padding-inline: var(--PX);
}

:where(.PageRoot > main > *) {
  width: var(--wid);
  max-width: 100%;
  margin-inline: auto;
  position: relative;
}
:where(.PageRoot > main > *) + * {
  margin-top: var(--MY);
}
:where(.PageRoot > main > *):is(script, input[type=hidden]) {
  margin-top: unset;
}

.into {
  padding-inline: var(--into);
}

.intoL {
  padding-left: var(--into);
}

.intoR {
  padding-right: var(--into);
}

.out {
  margin-inline: var(--out);
  max-width: unset;
  width: unset;
}

.outR {
  margin-right: var(--out);
  max-width: unset;
}

.outL {
  margin-left: var(--out);
  max-width: unset;
}

html:has([data-portfolio-page]) {
  --MC: var(--GR);
}

:where(.PageRoot) {
  --innerPX: var(--PX);
  --Eng: var(--Jost);
  --San: var(--Zen);
  --h3FZ: 1.5em;
  --dropBG: var(--WH);
  --dropC: var(--TC);
  --WTS: var(--tsw) var(--TC30);
  font-size: var(--FZ);
  overflow-x: clip;
  font-family: var(--FF);
  font-weight: var(--FW);
  line-height: var(--LH);
  letter-spacing: var(--LS);
  color: var(--foreground);
  font-style: normal;
  background-color: var(--background);
  transition: 600ms;
  width: 100%;
}
:where(.PageRoot) svg {
  display: inline-block;
}
:where(.PageRoot) .phosphor_icon {
  flex-shrink: 0;
}
:where(.PageRoot) [data-bunmyaku-teaser] > .WTS {
  --WTS: var(--tsw) var(--BC50);
}

.Header .imgBtn img {
  display: block;
}
.Header .btn {
  min-width: unset;
}
.Header .btn:after {
  display: none;
}
.Header.UpInit {
  transition: var(--trans);
}
.Header.UpInit.trans {
  margin-top: var(--Nhead);
}
.Header.EdgeRail {
  --menuH: calc(var(--head) + 2em);
}
.Header.EdgeRail .HeaderInner {
  padding-right: unset;
  background-color: unset;
}
.Header.EdgeRail .HeaderLogo {
  line-height: 1;
}
.Header.EdgeRail .btn {
  display: block;
  --btnC: var(--tx);
  writing-mode: vertical-rl;
  min-width: var(--head);
  min-height: var(--head);
  border: unset;
  background-color: unset;
}
.Header.EdgeRail .btn:after {
  display: none;
}
.Header.EdgeRail .HeaderItems {
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  background-color: var(--innerBG);
  border-left: var(--line);
  border-top: 1px solid transparent;
}
.Header.EdgeRail .HeaderItems > * {
  border-bottom: var(--line);
}
@media (max-width: 960px) {
  .Header.EdgeRail .HeaderItems {
    top: var(--menuH);
  }
}
.Header.EdgeRail .HeaderNav {
  background-color: var(--innerBG);
  outline: var(--line);
  min-height: var(--head);
  align-content: center;
  padding-right: var(--head);
}
.Header.EdgeRail .HeaderMenu {
  background-color: var(--innerBG);
  outline: var(--line);
  margin: unset;
  width: var(--head);
}
.Header.EdgeRail .NavInner > .NavUl {
  padding-right: var(--head);
}
@media (min-width: 960px) {
  .Header.InitColumn .HeaderInner:not(.trans *) {
    width: fit-content;
    flex-direction: column;
    align-items: unset;
    justify-content: unset;
    background-color: var(--UN);
    gap: 1em var(--innerG);
  }
  .Header.InitColumn .HeaderLogo {
    margin-block: calc((var(--head) - 1em) / 2);
  }
  .Header.InitColumn .HeaderLogo a {
    line-height: 1;
    white-space: nowrap;
  }
  .Header.InitColumn .HeaderLogo:not(.trans *) {
    margin-block: calc((var(--head) - 1em) / 2);
  }
  .Header.InitColumn .HeaderItems:not(.trans *) {
    flex-direction: column;
    align-items: flex-start;
    gap: 1em var(--itemG);
  }
  .Header.InitColumn .HeaderNav:not(.trans *) {
    padding-inline: unset;
    padding-block: var(--navPX);
  }
  .Header.InitColumn .HeaderNav:not(.trans *) ul {
    flex-direction: column;
    align-items: flex-start;
  }
  .Header.InitColumn .HeaderNav:not(.trans *) li {
    place-items: unset;
    padding-inline: unset;
    padding-block: var(--navPX);
  }
}
.Header.Parallel .HeaderLogo {
  margin: unset;
}
.Header.Parallel .HeaderInner {
  justify-content: center;
}
@media (max-width: 960px) {
  .Header.Parallel .HeaderInner {
    justify-content: space-between;
  }
}
@media (max-width: 767px) {
  .Header.Parallel .FixTab:is(#Header *) > * {
    text-align: center;
  }
  .Header.Parallel .FixTab:is(#Header *) .textlink {
    font-size: calc(var(--btnH) * 0.3);
  }
}
.Header.NavCenter .HeaderLogo {
  position: absolute;
  top: 0;
  left: var(--innerPX);
}
@media (max-width: 960px) {
  .Header.NavCenter .HeaderLogo {
    position: unset;
  }
}
.Header.NavCenter .HeaderItems {
  position: absolute;
  top: 0;
  right: var(--innerPX);
  display: block;
  align-content: center;
  height: 100%;
}
@media (max-width: 960px) {
  .Header.NavCenter .HeaderItems {
    position: unset;
  }
}
.Header.NavCenter .HeaderItems > * + * {
  display: block;
  margin-top: var(--itemG);
  margin-top: calc(var(--bodyFZ) * 0.125);
}
@media (max-width: 834px) {
  .Header.NavCenter .HeaderItems {
    position: fixed;
    top: unset;
    right: 0;
    bottom: 0;
    height: unset;
    width: unset;
    border-top-left-radius: var(--radH);
    background-color: var(--WH);
  }
}
.Header.NavCenter .HeaderInner {
  background-color: var(--UN);
}
.Header.NavCenter .HeaderNav {
  margin-inline: auto;
  background-color: var(--innerBG);
  padding-block: 0.5em;
  border-radius: var(--radH);
}
.Header:has(.HeaderNav.__tate):is(html:has(.policy-wrap.active) *) {
  opacity: 0;
  pointer-events: none;
}
.Header:has(.HeaderNav.__tate) .HeaderNav.__tate {
  align-content: center;
  transition: var(--btnTR);
}
.Header:has(.HeaderNav.__tate) .HeaderNav.__tate > ul {
  align-items: start;
}
.Header:has(.HeaderNav.__tate) .HeaderNav.__tate > ul li {
  display: inline-block;
  writing-mode: vertical-rl;
  height: unset;
  text-align: left;
  transition: var(--btnTR);
  padding: calc(var(--headG) / 2);
}
.Header:has(.HeaderNav.__tate) .HeaderNav.__tate > ul li:hover {
  background-color: var(--BC);
}
.Header:has(.HeaderNav.__tate) .HeaderNav.__tate > ul li.NavDrop {
  z-index: 1;
}
.Header:has(.HeaderNav.__tate) .HeaderNav.__tate > ul li.NavDrop ul {
  right: 0;
  left: unset;
  transform-origin: right;
}
.Header:has(.HeaderNav.__tate) .HeaderNav.__tate > ul li.NavDrop ul li {
  transition: var(--btnTR);
}
.Header:has(.HeaderNav.__tate) .HeaderNav.__tate > ul li.NavDrop ul li:hover {
  background-color: var(--BC);
}
.Header:has(.HeaderNav.__tate) .HeaderNav.__tate > ul li.NavDrop ul li {
  height: unset;
}
.Header:has(.HeaderNav.__tate) nav.KUSHI > ul > li {
  background: linear-gradient(var(--AC30), var(--AC30)) no-repeat center/2px 100%;
  padding-block: 0.25em;
}
.Header:has(.HeaderNav.__tate) nav.KUSHI > ul > li a,
.Header:has(.HeaderNav.__tate) nav.KUSHI > ul > li span {
  padding-inline: 0.35em;
  background-color: var(--innerBG);
  vertical-align: unset;
}
.Header:has(.HeaderNav.__tate) nav.KUSHI > ul > li a:hover {
  filter: brightness(140%);
}
.Header:has(.HeaderNav.__tate) nav.KUSHI > ul > li.NavDrop ul {
  --size: .5em;
}
.Header:has(.HeaderNav.__tate) nav.KUSHI > ul > li.NavDrop ul a {
  padding-block: 0.5em;
}
.Header:has(.HeaderNav.__tate) nav.KUSHI > ul > li.NavDrop::after {
  background-color: var(--AC);
}
.Header:has(.HeaderNav.__tate).trans .btn {
  background-color: color-mix(in srgb, var(--btnBG), transparent 30%);
}
.Header:has(.HeaderNav.__tate).trans .btn:hover {
  background-color: var(--btnBG);
}
@media (max-width: 480px) {
  .Header:has(.HeaderNav.__tate) .btn {
    --btnDir: column;
    --btnFZ: 14px;
    letter-spacing: 0;
  }
}
@media (max-width: 960px) {
  .Header:has(.HeaderNav.__tate) {
    top: 0;
    left: 0;
  }
}
.Header:has(.HeaderNav.__tate) .HeaderInner {
  height: unset;
  background-color: unset;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .Header:has(.HeaderNav.__tate) .HeaderInner {
    justify-content: space-between;
  }
}
.Header:has(.HeaderNav.__tate) .HeaderLogo {
  overflow: hidden;
}
.Header:has(.HeaderNav.__tate) .HeaderItems.FixPC {
  flex-wrap: nowrap;
  bottom: var(--gap);
  right: var(--gap);
  box-shadow: 0 0 2px var(--MC);
}
@media (max-width: 960px) {
  .Header:has(.HeaderNav.__tate) .HeaderItems.FixPC {
    flex-direction: row;
    bottom: 0;
    right: 0;
  }
}
@media (max-width: 767px) {
  .Header:has(.HeaderNav.__tate) .HeaderItems.FixPC {
    flex-direction: row;
    width: 100%;
  }
  .Header:has(.HeaderNav.__tate) .HeaderItems.FixPC > * {
    flex: 1;
    min-width: unset;
  }
}
.Header.MvBottom {
  position: fixed;
  top: 0;
}
.Header.MvBottom .HeaderInner {
  justify-content: center;
}
.Header.MvBottom .HeaderNavMobile li.logo {
  display: none;
}
@media (max-width: 960px) {
  .Header.MvBottom {
    position: fixed;
    top: 0;
  }
  .Header.MvBottom .HeaderNav:has(li.logo) {
    display: block;
  }
  .Header.MvBottom .HeaderNav:has(li.logo) li:not(.logo) {
    display: none;
  }
}
.Header.InnerWrap.trans {
  --head: 72px;
}
@media (max-width: 834px) {
  .Header.InnerWrap.trans {
    --head: 64px;
  }
}
.Header.InnerWrap .HeaderMenu {
  order: unset;
}
.Header.InnerWrap .HeaderNav {
  width: 100%;
}
.Header.InnerWrap .HeaderNav:is(.trans *) {
  width: unset;
}
.Header.InnerWrap .HeaderItems {
  order: unset;
  justify-content: end;
}
.Header.InnerWrap .HeaderInner {
  flex-direction: row-reverse;
  justify-content: unset;
  align-content: center;
  background-color: unset;
  flex-wrap: wrap;
}
.Header.InnerWrap .HeaderLogo {
  position: absolute;
  top: 0;
  left: var(--logoPX);
  transition: 0.6s 0.3s;
}
.Header.InnerWrap .HeaderLogo:is(.trans *) {
  transition: 0.6s 0s;
}
@media (max-width: 1560px) {
  .Header.InnerWrap .HeaderLogo:is(.trans *) {
    opacity: 0;
    pointer-events: none;
  }
}
@media (max-width: 960px) {
  .Header.InnerWrap .HeaderLogo:is(.trans *) {
    opacity: 1;
    pointer-events: all;
  }
}
.Header.InnerCol .HeaderInner, .Header.Nav100 .HeaderInner {
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-evenly;
}
@media (max-width: 960px) {
  .Header.InnerCol .HeaderInner, .Header.Nav100 .HeaderInner {
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    padding-block: unset;
  }
}
.Header.InnerCol .HeaderLogo, .Header.Nav100 .HeaderLogo {
  position: absolute;
  top: 0;
  left: var(--innerPX);
}
@media (max-width: 960px) {
  .Header.InnerCol .HeaderLogo, .Header.Nav100 .HeaderLogo {
    position: unset;
  }
}
.Header.InnerCol .HeaderItems, .Header.Nav100 .HeaderItems {
  order: unset;
}
.Header.InnerCol .HeaderNav, .Header.Nav100 .HeaderNav {
  height: unset;
}
.Header.LeftSide {
  --headG: calc(3lvh);
  --innerPX: calc(var(--headG)*1);
  --navFZ: 2.25lvh;
  --btnW: calc(var(--head) - 3em);
  pointer-events: none;
  font-size: 1.8lvh;
}
.Header.LeftSide a {
  text-decoration: none;
}
.Header.LeftSide {
  position: fixed;
  top: 0;
  left: 0;
  width: var(--head);
  height: 100lvh;
  z-index: 1000;
}
.Header.LeftSide .HeaderLogo {
  max-width: 100%;
  height: unset;
  margin-inline: unset;
  margin-bottom: auto;
  filter: var(--pxdsbc);
}
.Header.LeftSide .HeaderLogo:is(.trans *) {
  scale: 0.75;
}
.Header.LeftSide .HeaderInner {
  background-color: var(--UN);
  padding-block: var(--innerPX);
  padding-inline: unset;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  transition: 0.4s;
  gap: 1em;
  pointer-events: none;
}
.Header.LeftSide .HeaderInner > * {
  pointer-events: all;
  transition: 0.6s;
}
.Header.LeftSide .HeaderItems {
  --btnBG: var(--MC);
  --btnC: var(--WH);
  z-index: 100;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1em;
}
.Header.LeftSide .HeaderItems > * {
  padding-inline: var(--btnPX);
}
.Header.LeftSide .h_text {
  padding: var(--btnPX);
  line-height: calc(var(--btnH) / 2);
  flex: unset;
  font-size: 70%;
}
.Header.LeftSide .HeaderMenu {
  position: fixed;
  inset: unset;
  right: 0.5em;
  top: 0.5em;
  --btnH: 5lvh;
  display: grid;
  opacity: 0;
  pointer-events: none;
  filter: var(--pxdsbc);
}
.Header.LeftSide .HeaderNav {
  width: 100%;
  z-index: 1;
  padding-block: var(--headG);
}
.Header.LeftSide .HeaderNav hr {
  border-bottom: 1px solid var(--tx);
  margin-block: unset;
  width: 100%;
}
.Header.LeftSide .HeaderNav a {
  border-bottom: var(--UN);
}
.Header.LeftSide .HeaderNav > ul {
  width: 100%;
  flex-direction: column;
  justify-content: space-evenly;
}
.Header.LeftSide .HeaderNav ul > li {
  height: unset;
  flex: 1;
  padding-inline: unset;
  padding-block: var(--headG);
}
.Header.LeftSide .HeaderNav ul > li > a {
  height: 100%;
}
.Header.LeftSide .HeaderNav ul > li > a img {
  display: inline-block;
}
.Header.LeftSide .HeaderNavMobile {
  display: none;
}
.Header.LeftSide .HeaderNavMobile .HeaderNavMobile_inner > ul {
  padding-block: calc(var(--logoH) * 2) !important;
}
.Header.LeftSide:not(.home *), .Header.LeftSide.trans {
  width: 100%;
}
.Header.LeftSide:not(.home *) .HeaderMenu, .Header.LeftSide.trans .HeaderMenu {
  opacity: 1;
  pointer-events: all;
}
.Header.LeftSide:not(.home *).active .HeaderNav, .Header.LeftSide.trans.active .HeaderNav {
  opacity: 1;
  pointer-events: all;
}
.Header.LeftSide:not(.home *).active .HeaderInner, .Header.LeftSide.trans.active .HeaderInner {
  background-color: var(--innerBG);
}
.Header.LeftSide:not(.home *):not(.active) .HeaderNav, .Header.LeftSide.trans:not(.active) .HeaderNav {
  transition: 0s;
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 960px) {
  .Header.LeftSide {
    width: 100%;
  }
  .Header.LeftSide:is(.active) .HeaderNav {
    opacity: 1;
    pointer-events: all;
  }
  .Header.LeftSide:is(.active) .HeaderInner {
    background-color: var(--BC);
  }
  .Header.LeftSide .FocusTrap {
    display: none;
  }
  .Header.LeftSide .HeaderNav {
    display: block;
    opacity: 0;
    pointer-events: none;
  }
  .Header.LeftSide .HeaderInner {
    padding-block: 1em 0;
    padding-inline: unset;
  }
  .Header.LeftSide .HeaderMenu {
    right: 0;
    top: 0;
    --btnH: 4lvh;
    opacity: 1;
    pointer-events: all;
  }
  .Header.LeftSide .HeaderItems {
    flex-direction: row;
    padding-inline: unset;
  }
  .Header.LeftSide .HeaderItems:is(#Header *) .h_text {
    background-color: var(--WH);
  }
  .Header.LeftSide .HeaderItems:is(#Header *) .textlink {
    min-height: var(--btnH);
    padding-inline: var(--btnPX);
    font-size: var(--btnFZ);
    border-radius: var(--btnRad);
    display: inline-flex;
    align-items: center;
    gap: var(--btnG);
  }
  .Header.LeftSide.active .HeaderNav {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
  }
}
.Header.NavColumnRight {
  --navgap: 2lvh;
}
.Header.NavColumnRight .HeaderInner {
  align-items: flex-end;
  padding-bottom: 0.5em;
}
@media (max-width: 960px) {
  .Header.NavColumnRight .HeaderInner {
    align-items: center;
    padding-bottom: unset;
  }
}
.Header.NavColumnRight .HeaderItems {
  padding-bottom: 0.5em;
}
@media (max-width: 960px) {
  .Header.NavColumnRight .HeaderItems {
    padding-bottom: unset;
  }
}
.Header.NavColumnRight .textlink:not(.__tel) {
  font-size: 1.25em;
}
.Header.NavColumnRight .textlink {
  font-size: 1.25em;
}
@media (max-width: 960px) {
  .Header.NavColumnRight .textlink {
    padding-block: 0.25em;
  }
}
.Header.NavColumnRight .HeaderNav {
  position: absolute;
  right: 0;
  top: var(--head);
  padding-block: var(--navgap);
}
.Header.NavColumnRight .HeaderNav > ul {
  flex-direction: column;
  align-items: flex-end;
  gap: var(--navgap);
}
.Header.NavColumnRight .HeaderNav:is(.trans *) a {
  color: var(--tx);
}
.Header.NavColumnRight .HeaderNav:is(.trans *) {
  --tsW: 12px;
  --txshbk: 0 0 var(--tsW) var(--WH),
  0 0 var(--tsW) var(--WH),
  0 0 var(--tsW) var(--WH),
  0 0 var(--tsW) var(--WH);
}
.Header.NavColumnRight .HeaderNav > ul li.NavDrop ul {
  right: 0;
}
.Header.NavColumnRight .HeaderNav > ul li.NavDrop ul a {
  justify-content: flex-end;
  padding-inline: var(--headG);
}
.Header.NavColumnRight .HeaderNav > ul li.NavDrop ul {
  transform-origin: right;
  padding-block: 1em;
}
.Header.NavColumnRight .HeaderNav > ul li.NavDrop ul li {
  display: grid;
  place-items: center end;
  place-content: center end;
  padding-inline: var(--headG);
}
.Header.NavColumnRight .HeaderNav > ul li.NavDrop ul li a {
  padding-inline: unset;
}
.Header.NavBtn {
  --innerPX: calc(var(--UN)*1);
  --navPX: calc(var(--UN)*.5);
  --itemPX: calc(var(--UN)*1);
  --itemG: 0em;
  pointer-events: none;
}
.Header.NavBtn .HeaderInner {
  align-items: unset;
}
.Header.NavBtn .HeaderInner > * {
  pointer-events: all;
}
.Header.NavBtn .HeaderLogo:is(a) {
  height: var(--btnH);
}
.Header.NavBtn .HeaderMenu {
  --btnH: var(--head);
  --btnBG: var(--WH);
  background-color: var(--btnBG);
  border-radius: unset;
}
.Header.NavBtn .HeaderNav ul li {
  padding: unset;
}
.Header.NavBtn .HeaderNav ul a {
  height: 100%;
}
.Header.NavBtn .HeaderNav > ul li.NavDrop::after {
  top: calc(100% - var(--size) - 0.5lvh);
}
.Header.MenuPC .HeaderMenu {
  display: grid;
}
.Header.MenuPC .HeaderNav {
  display: none;
}
.Header.NoFix {
  position: absolute;
}
@media (max-width: 960px) {
  .Header.NoFix {
    position: fixed;
  }
}
.Header.Nav100 {
  --innerGap: calc(var(--head)*.14);
}
@media (max-width: 960px) {
  .Header.Nav100 {
    --innerGap: 0px;
  }
}
.Header.Nav100 .HeaderNav {
  height: unset;
  width: 100%;
}
.Header.Nav100 .HeaderNav > ul {
  display: grid;
  grid-auto-flow: column;
  place-content: stretch;
}
.Header.NavLeft .HeaderLogo {
  margin-right: unset;
}
@media (max-width: 960px) {
  .Header.NavLeft .HeaderLogo {
    margin-right: auto;
  }
}
.Header.NavLeft .HeaderNav {
  margin-right: auto;
}
.Header.LinkShadow a:not(.DropUl *) {
  filter: var(--dswh) var(--dswh) var(--dswh);
}
.Header.Triangle svg path {
  fill: white;
  stroke: var(--BK70);
  stroke-width: 2em;
}
.Header.Triangle .NavLi {
  font-size: 1.25rem;
}
.Header.Triangle button:not(.HeaderLogo),
.Header.Triangle a:not(.HeaderLogo) {
  color: var(--WH);
  -webkit-text-stroke: 0.125em var(--BK70);
  paint-order: stroke;
}
.Header.Triangle button:not(.DropUl *):hover,
.Header.Triangle a:not(.DropUl *):hover {
  color: var(--AC);
}
.Header.Triangle {
  pointer-events: none;
  height: 100%;
}
.Header.Triangle .HeaderInner {
  height: 100%;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  padding-left: 0px;
  padding-right: 0px;
}
.Header.Triangle .HeaderInner > * {
  pointer-events: auto;
}
.Header.Triangle .HeaderLogo {
  pointer-events: auto;
  position: absolute;
  top: 50%;
  left: 0px;
  height: auto;
  width: var(--logoW);
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  background: url(/images/clip01.png) repeat center/20vw;
  filter: grayscale(50%);
  border-radius: 0 999px 999px 0;
  overflow: hidden;
  border: 10px solid var(--TR);
  border-left: 0;
  aspect-ratio: 1/2;
  transform-origin: 0 0%;
  transition: var(--trans);
}
.Header.Triangle .HeaderLogo:hover {
  scale: 1.06;
}
.Header.Triangle .HeaderLogo a {
  font-size: 2vw;
  line-height: 1;
  padding-left: 0.5em;
  display: block;
  height: 100%;
  align-content: center;
  background-color: var(--WH);
}
.Header.Triangle .HeaderLogo a > span {
  font-weight: 700;
  -webkit-text-stroke: 0.025em var(--BK50);
  paint-order: stroke;
  background: url(/images/clip01.png) repeat 70% 50%/10vw;
  background-color: var(--WH);
  background-clip: text;
  color: var(--TR);
}
.Header.Triangle .HeaderMenu {
  top: 0.5rem;
  right: 0.5rem;
}
.Header.Triangle .HeaderNav {
  height: var(--head);
}
.Header.Triangle .HeaderUl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding: 0.5rem;
}
.Header.Triangle .HeaderItems {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0px;
  padding: 0.5rem;
  text-align: right;
}
@media (max-width: 960px) {
  .Header.Triangle .HeaderItems {
    order: 3;
  }
}
.Header.Triangle .HeaderItems > a {
  padding-left: var(--headG);
  padding-right: var(--headG);
}
.Header.Triangle .DropIcon {
  margin-left: 0.25rem;
}
.Header.Triangle .NavInner ul a {
  display: block;
  text-align: right;
}
.Header.Triangle .HeaderNavMobile .NavInner .DropBtn {
  display: none;
}
.Header.NavCircleLeft svg path {
  fill: white;
  stroke: var(--BK70);
  stroke-width: 2em;
}
.Header.NavCircleLeft li {
  font-size: 1.25rem;
}
.Header.NavCircleLeft a:not(.HeaderLogo) {
  color: var(--WH);
  -webkit-text-stroke: 0.125em var(--BK70);
  paint-order: stroke;
}
.Header.NavCircleLeft a:not(.DropUl *):hover {
  color: var(--AC);
}
.Header.NavCircleLeft {
  pointer-events: none;
  height: 100%;
}
.Header.NavCircleLeft .HeaderInner {
  height: 100%;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  padding-left: 0px;
  padding-right: 0px;
}
.Header.NavCircleLeft .HeaderInner > * {
  pointer-events: auto;
}
.Header.NavCircleLeft .HeaderNav {
  pointer-events: auto;
  position: absolute;
  top: 50%;
  left: 0px;
  z-index: 100;
  aspect-ratio: 1/2;
  width: var(--logoW);
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.Header.NavCircleLeft .HeaderNav ul {
  display: grid;
}
.Header.NavCircleLeft .HeaderNav li {
  height: unset;
  align-content: center;
  padding-top: 0px;
  padding-bottom: 0px;
  background: linear-gradient(var(--TC), var(--TC)) no-repeat center/100% 1px;
  background-color: var(--GR10);
}
.Header.NavCircleLeft .HeaderNav ul:has(li:nth-of-type(6):last-of-type) li:nth-of-type(1),
.Header.NavCircleLeft .HeaderNav ul:has(li:nth-of-type(6):last-of-type) li:nth-of-type(6) {
  transform: translateX(44%);
}
.Header.NavCircleLeft .HeaderNav ul:has(li:nth-of-type(6):last-of-type) li:nth-of-type(2),
.Header.NavCircleLeft .HeaderNav ul:has(li:nth-of-type(6):last-of-type) li:nth-of-type(5) {
  transform: translateX(83%);
}
.Header.NavCircleLeft .HeaderNav ul:has(li:nth-of-type(6):last-of-type) li:nth-of-type(3),
.Header.NavCircleLeft .HeaderNav ul:has(li:nth-of-type(6):last-of-type) li:nth-of-type(4) {
  transform: translateX(98%);
}
.Header.NavCircleLeft .HeaderNav ul:has(li:nth-of-type(5):last-of-type) li:nth-of-type(1),
.Header.NavCircleLeft .HeaderNav ul:has(li:nth-of-type(5):last-of-type) li:nth-of-type(5) {
  transform: translateX(49%);
}
.Header.NavCircleLeft .HeaderNav ul:has(li:nth-of-type(5):last-of-type) li:nth-of-type(2),
.Header.NavCircleLeft .HeaderNav ul:has(li:nth-of-type(5):last-of-type) li:nth-of-type(4) {
  transform: translateX(89%);
}
.Header.NavCircleLeft .HeaderNav ul:has(li:nth-of-type(5):last-of-type) li:nth-of-type(3) {
  transform: translateX(100%);
}
.Header.NavCircleLeft .HeaderNav ul:has(li:nth-of-type(4):last-of-type) li:nth-of-type(1),
.Header.NavCircleLeft .HeaderNav ul:has(li:nth-of-type(4):last-of-type) li:nth-of-type(4) {
  transform: translateX(58%);
}
.Header.NavCircleLeft .HeaderNav ul:has(li:nth-of-type(4):last-of-type) li:nth-of-type(2),
.Header.NavCircleLeft .HeaderNav ul:has(li:nth-of-type(4):last-of-type) li:nth-of-type(3) {
  transform: translateX(95.5%);
}
.Header.NavCircleLeft .HeaderNav ul:has(li:nth-of-type(3):last-of-type) li:nth-of-type(1),
.Header.NavCircleLeft .HeaderNav ul:has(li:nth-of-type(3):last-of-type) li:nth-of-type(3) {
  transform: translateX(68%);
}
.Header.NavCircleLeft .HeaderNav ul:has(li:nth-of-type(3):last-of-type) li:nth-of-type(2) {
  transform: translateX(100%);
}
.Header.NavCircleLeft .HeaderNav ul:has(li:nth-of-type(2):last-of-type) li:nth-of-type(1),
.Header.NavCircleLeft .HeaderNav ul:has(li:nth-of-type(2):last-of-type) li:nth-of-type(2) {
  transform: translateX(83%);
}
.Header.NavCircleLeft .HeaderNav ul:has(li:nth-of-type(1):last-of-type) li:nth-of-type(1) {
  transform: translateX(100%);
}
.Header.NavCircleLeft .HeaderLogo {
  pointer-events: auto;
  position: absolute;
  top: 50%;
  left: 0px;
  z-index: 1000;
  height: auto;
  width: var(--logoW);
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  border-radius: 0 999px 999px 0;
  overflow: hidden;
  border-left: 0;
  aspect-ratio: 1/2;
  transform-origin: 0 0%;
  transition: var(--trans);
}
.Header.NavCircleLeft .HeaderLogo a {
  font-size: 2vw;
  line-height: 1;
  padding-left: 0.5em;
  display: block;
  height: 100%;
  align-content: center;
}
.Header.NavCircleLeft .HeaderLogo a > span {
  font-weight: 700;
  -webkit-text-stroke: 0.025em var(--BK50);
  paint-order: stroke;
  background: url(/images/clip01.png) repeat 70% 50%/10vw;
  background-color: var(--WH);
  background-clip: text;
  color: var(--TR);
}
.Header.NavCircleLeft .HeaderLogo:has(.LogoCylinder) {
  filter: none;
  overflow: hidden;
}
.Header.NavCircleLeft .HeaderLogo a.LogoObject {
  width: 100%;
  padding-left: 0;
  background: var(--TR);
  color: var(--TC);
}
.Header.NavCircleLeft .HeaderLogo .LogoCylinder {
  width: var(--logoW);
  height: calc(var(--logoW) * 2);
  display: block;
}
.Header.NavCircleLeft .HeaderLogo .LogoLoading {
  width: var(--logoW);
  height: calc(var(--logoW) * 2);
  border-radius: inherit;
}
.Header.NavCircleLeft .HeaderMenu {
  top: 0.5rem;
  right: 0.5rem;
}
.Header.NavCircleLeft .HeaderItems {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0px;
  padding: 0.5rem;
  text-align: right;
}
@media (max-width: 960px) {
  .Header.NavCircleLeft .HeaderItems {
    order: 3;
  }
}
.Header.NavCircleLeft .HeaderItems > a {
  padding-left: var(--headG);
  padding-right: var(--headG);
}
.Header.NavCircleLeft .DropIcon {
  margin-left: 0.25rem;
}
.Header.NavCircleLeft .NavInner ul a {
  display: block;
  text-align: right;
}
.Header.NavCircleLeft .HeaderNavMobile .NavInner .DropBtn {
  display: none;
}
.Header.HeaderCylinder {
  --logoW:8rem;
  pointer-events: none;
  height: 100%;
}
.Header.HeaderCylinder .HeaderInner {
  height: 100%;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  padding-left: 0px;
  padding-right: 0px;
}
.Header.HeaderCylinder .HeaderInner > * {
  pointer-events: auto;
}
.Header.HeaderCylinder .HeaderCylinderLogo {
  pointer-events: auto;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 1000;
  width: calc(var(--logoW) / 3 * 2);
  height: auto;
  aspect-ratio: 1/2;
  border-width: 0px;
  padding: 0px;
}
@media (min-width: 1024px) {
  .Header.HeaderCylinder .HeaderCylinderLogo {
    top: 50%;
    width: var(--logoW);
    translate: 0 -52.5%;
  }
}
.Header.HeaderCylinder .HeaderCylinderLogo {
  appearance: none;
  background: var(--TR);
  border-radius: 0 999px 999px 0;
  pointer-events: none;
  border: var(--line);
  border-color: var(--TR);
  border-left: none;
}
.Header.HeaderCylinder .HeaderCylinderLogo .LogoCylinder {
  pointer-events: auto;
  cursor: pointer;
  width: calc(var(--logoW) / 3 * 2);
  aspect-ratio: 1;
  display: block;
}
@media (min-width: 1024px) {
  .Header.HeaderCylinder .HeaderCylinderLogo .LogoCylinder {
    width: var(--logoW);
  }
}
.Header.HeaderCylinder .HeaderCylinderLogo .LogoLoading {
  width: calc(var(--logoW) / 3 * 2);
  border-radius: inherit;
}
@media (min-width: 1024px) {
  .Header.HeaderCylinder .HeaderCylinderLogo .LogoLoading {
    width: var(--logoW);
  }
}
.Header.HeaderCylinder .HeaderAnotation {
  --annoteInterval: 1.5s;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  width: 100%;
  aspect-ratio: 1;
  white-space: nowrap;
  padding-top: 0.5rem;
  padding-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0em;
}
.Header.HeaderCylinder .HeaderAnotation.WTS {
  --WTS: var(--tsw) var(--TC30);
  color: var(--BC);
}
@media (min-width: 1024px) {
  .Header.HeaderCylinder .HeaderAnotation {
    padding: 1rem;
    align-content: end;
  }
}
.Header.HeaderCylinder .HeaderAnotation > span {
  grid-area: 1/1;
  animation: header_anotation_toggle calc(var(--annoteInterval) * 2) linear infinite;
}
.Header.HeaderCylinder .HeaderAnotation > span:nth-child(2) {
  animation-delay: calc(var(--annoteInterval) * -1);
}
.Header.HeaderCylinder .HeaderNav {
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 0px;
  z-index: 100;
  width: 100%;
  translate: 0 -52.5%;
  justify-content: flex-start;
  padding-block: 1rem;
  padding-inline: 0;
}
@media (min-width: 1024px) {
  .Header.HeaderCylinder .HeaderNav {
    width: var(--logoW);
    padding-block: 0;
    background: var(--TR);
  }
}
@media (max-width: 960px) {
  .Header.HeaderCylinder .HeaderNav {
    display: block;
  }
}
.Header.HeaderCylinder .HeaderNav .NavUl {
  display: grid;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 1024px) {
  .Header.HeaderCylinder .HeaderNav .NavUl {
    justify-content: flex-end;
  }
}
.Header.HeaderCylinder .HeaderNav .NavLi {
  --navX: 1;
  --navClosedY: 0%;
}
@media (max-width: 1023px) {
  .Header.HeaderCylinder .HeaderNav .NavLi {
    --navX: 0.1;
  }
}
.Header.HeaderCylinder .HeaderNav .NavLi {
  margin-top: 1.5lvh;
  margin-bottom: 1.5lvh;
  display: block;
  height: unset;
  align-content: center;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0px;
  padding-bottom: 0px;
  font-size: 1.125rem;
}
@media (min-width: 1024px) {
  .Header.HeaderCylinder .HeaderNav .NavLi {
    font-size: 1rem;
  }
}
.Header.HeaderCylinder .HeaderNav .NavLi {
  background-color: var(--foreground);
  color: var(--background);
  transform: translate(0, var(--navClosedY));
  transition: var(--trans);
  opacity: 0;
  pointer-events: none;
  width: fit-content;
}
.Header.HeaderCylinder .HeaderNav a, .Header.HeaderCylinder .HeaderNav button {
  white-space: nowrap;
  vertical-align: top;
}
.Header.HeaderCylinder .HeaderNav ul:has(li:nth-of-type(6):last-of-type) li:nth-of-type(1) {
  --navX: 0.44;
  --navClosedY: 250%;
}
.Header.HeaderCylinder .HeaderNav ul:has(li:nth-of-type(6):last-of-type) li:nth-of-type(2) {
  --navX: 0.83;
  --navClosedY: 150%;
}
.Header.HeaderCylinder .HeaderNav ul:has(li:nth-of-type(6):last-of-type) li:nth-of-type(3) {
  --navX: 0.98;
  --navClosedY: 50%;
}
.Header.HeaderCylinder .HeaderNav ul:has(li:nth-of-type(6):last-of-type) li:nth-of-type(4) {
  --navX: 0.98;
  --navClosedY: -50%;
}
.Header.HeaderCylinder .HeaderNav ul:has(li:nth-of-type(6):last-of-type) li:nth-of-type(5) {
  --navX: 0.83;
  --navClosedY: -150%;
}
.Header.HeaderCylinder .HeaderNav ul:has(li:nth-of-type(6):last-of-type) li:nth-of-type(6) {
  --navX: 0.44;
  --navClosedY: -250%;
}
.Header.HeaderCylinder .HeaderNav ul:has(li:nth-of-type(5):last-of-type) li:nth-of-type(1) {
  --navX: 0.49;
  --navClosedY: 200%;
}
.Header.HeaderCylinder .HeaderNav ul:has(li:nth-of-type(5):last-of-type) li:nth-of-type(2) {
  --navX: 0.89;
  --navClosedY: 100%;
}
.Header.HeaderCylinder .HeaderNav ul:has(li:nth-of-type(5):last-of-type) li:nth-of-type(3) {
  --navX: 1;
  --navClosedY: 0%;
}
.Header.HeaderCylinder .HeaderNav ul:has(li:nth-of-type(5):last-of-type) li:nth-of-type(4) {
  --navX: 0.89;
  --navClosedY: -100%;
}
.Header.HeaderCylinder .HeaderNav ul:has(li:nth-of-type(5):last-of-type) li:nth-of-type(5) {
  --navX: 0.49;
  --navClosedY: -200%;
}
.Header.HeaderCylinder .HeaderNav ul:has(li:nth-of-type(4):last-of-type) li:nth-of-type(1) {
  --navX: 0.72;
  --navClosedY: 150%;
}
.Header.HeaderCylinder .HeaderNav ul:has(li:nth-of-type(4):last-of-type) li:nth-of-type(2) {
  --navX: 0.94;
  --navClosedY: 50%;
}
.Header.HeaderCylinder .HeaderNav ul:has(li:nth-of-type(4):last-of-type) li:nth-of-type(3) {
  --navX: 0.94;
  --navClosedY: -50%;
}
.Header.HeaderCylinder .HeaderNav ul:has(li:nth-of-type(4):last-of-type) li:nth-of-type(4) {
  --navX: 0.72;
  --navClosedY: -150%;
}
.Header.HeaderCylinder .HeaderNav ul:has(li:nth-of-type(3):last-of-type) li:nth-of-type(1) {
  --navX: 0.68;
  --navClosedY: 100%;
}
.Header.HeaderCylinder .HeaderNav ul:has(li:nth-of-type(3):last-of-type) li:nth-of-type(2) {
  --navX: 1;
  --navClosedY: 0%;
}
.Header.HeaderCylinder .HeaderNav ul:has(li:nth-of-type(3):last-of-type) li:nth-of-type(3) {
  --navX: 0.68;
  --navClosedY: -100%;
}
.Header.HeaderCylinder .HeaderNav ul:has(li:nth-of-type(2):last-of-type) li:nth-of-type(1) {
  --navX: 0.83;
  --navClosedY: 50%;
}
.Header.HeaderCylinder .HeaderNav ul:has(li:nth-of-type(2):last-of-type) li:nth-of-type(2) {
  --navX: 0.83;
  --navClosedY: -50%;
}
.Header.HeaderCylinder .HeaderNav ul:has(li:nth-of-type(1):last-of-type) li:nth-of-type(1) {
  --navX: 1;
  --navClosedY: 0%;
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl {
  --ml: 0.5em;
  --liBG: var(--foreground);
  --dropC: var(--background);
  color: var(--background);
  background-color: unset;
  padding: unset;
  border: unset;
  min-width: unset;
  scale: 0 1;
  transform-origin: left;
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl > li {
  width: fit-content;
  background-color: var(--liBG);
  padding-inline: 0.5em;
  margin-block: 2lvh;
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:popover-open {
  scale: 1 1;
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(2):last-child) > li:nth-child(1), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(2):last-child) > li:nth-child(2) {
  margin-left: 0;
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(3):last-child) > li:nth-child(1), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(3):last-child) > li:nth-child(3) {
  margin-left: 0;
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(3):last-child) > li:nth-child(2) {
  margin-left: calc(var(--ml) * 3);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(4):last-child) > li:nth-child(1), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(4):last-child) > li:nth-child(4) {
  margin-left: 0;
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(4):last-child) > li:nth-child(2), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(4):last-child) > li:nth-child(3) {
  margin-left: calc(var(--ml) * 3);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(5):last-child) > li:nth-child(1), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(5):last-child) > li:nth-child(5) {
  margin-left: 0;
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(5):last-child) > li:nth-child(2), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(5):last-child) > li:nth-child(4) {
  margin-left: calc(var(--ml) * 3);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(5):last-child) > li:nth-child(3) {
  margin-left: calc(var(--ml) * 4);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(6):last-child) > li:nth-child(1), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(6):last-child) > li:nth-child(6) {
  margin-left: 0;
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(6):last-child) > li:nth-child(2), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(6):last-child) > li:nth-child(5) {
  margin-left: calc(var(--ml) * 3);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(6):last-child) > li:nth-child(3), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(6):last-child) > li:nth-child(4) {
  margin-left: calc(var(--ml) * 4);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(7):last-child) > li:nth-child(1), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(7):last-child) > li:nth-child(7) {
  margin-left: 0;
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(7):last-child) > li:nth-child(2), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(7):last-child) > li:nth-child(6) {
  margin-left: calc(var(--ml) * 3);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(7):last-child) > li:nth-child(3), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(7):last-child) > li:nth-child(5) {
  margin-left: calc(var(--ml) * 4);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(7):last-child) > li:nth-child(4) {
  margin-left: calc(var(--ml) * 5);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(8):last-child) > li:nth-child(1), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(8):last-child) > li:nth-child(8) {
  margin-left: 0;
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(8):last-child) > li:nth-child(2), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(8):last-child) > li:nth-child(7) {
  margin-left: calc(var(--ml) * 3);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(8):last-child) > li:nth-child(3), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(8):last-child) > li:nth-child(6) {
  margin-left: calc(var(--ml) * 4);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(8):last-child) > li:nth-child(4), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(8):last-child) > li:nth-child(5) {
  margin-left: calc(var(--ml) * 5);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(9):last-child) > li:nth-child(1), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(9):last-child) > li:nth-child(9) {
  margin-left: 0;
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(9):last-child) > li:nth-child(2), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(9):last-child) > li:nth-child(8) {
  margin-left: calc(var(--ml) * 3);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(9):last-child) > li:nth-child(3), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(9):last-child) > li:nth-child(7) {
  margin-left: calc(var(--ml) * 4);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(9):last-child) > li:nth-child(4), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(9):last-child) > li:nth-child(6) {
  margin-left: calc(var(--ml) * 5);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(9):last-child) > li:nth-child(5) {
  margin-left: calc(var(--ml) * 6);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(10):last-child) > li:nth-child(1), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(10):last-child) > li:nth-child(10) {
  margin-left: 0;
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(10):last-child) > li:nth-child(2), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(10):last-child) > li:nth-child(9) {
  margin-left: calc(var(--ml) * 3);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(10):last-child) > li:nth-child(3), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(10):last-child) > li:nth-child(8) {
  margin-left: calc(var(--ml) * 4);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(10):last-child) > li:nth-child(4), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(10):last-child) > li:nth-child(7) {
  margin-left: calc(var(--ml) * 5);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(10):last-child) > li:nth-child(5), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(10):last-child) > li:nth-child(6) {
  margin-left: calc(var(--ml) * 6);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(11):last-child) > li:nth-child(1), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(11):last-child) > li:nth-child(11) {
  margin-left: 0;
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(11):last-child) > li:nth-child(2), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(11):last-child) > li:nth-child(10) {
  margin-left: calc(var(--ml) * 3);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(11):last-child) > li:nth-child(3), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(11):last-child) > li:nth-child(9) {
  margin-left: calc(var(--ml) * 4);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(11):last-child) > li:nth-child(4), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(11):last-child) > li:nth-child(8) {
  margin-left: calc(var(--ml) * 5);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(11):last-child) > li:nth-child(5), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(11):last-child) > li:nth-child(7) {
  margin-left: calc(var(--ml) * 6);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(11):last-child) > li:nth-child(6) {
  margin-left: calc(var(--ml) * 7);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(12):last-child) > li:nth-child(1), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(12):last-child) > li:nth-child(12) {
  margin-left: 0;
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(12):last-child) > li:nth-child(2), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(12):last-child) > li:nth-child(11) {
  margin-left: calc(var(--ml) * 3);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(12):last-child) > li:nth-child(3), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(12):last-child) > li:nth-child(10) {
  margin-left: calc(var(--ml) * 4);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(12):last-child) > li:nth-child(4), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(12):last-child) > li:nth-child(9) {
  margin-left: calc(var(--ml) * 5);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(12):last-child) > li:nth-child(5), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(12):last-child) > li:nth-child(8) {
  margin-left: calc(var(--ml) * 6);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(12):last-child) > li:nth-child(6), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(12):last-child) > li:nth-child(7) {
  margin-left: calc(var(--ml) * 7);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(13):last-child) > li:nth-child(1), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(13):last-child) > li:nth-child(13) {
  margin-left: 0;
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(13):last-child) > li:nth-child(2), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(13):last-child) > li:nth-child(12) {
  margin-left: calc(var(--ml) * 4);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(13):last-child) > li:nth-child(3), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(13):last-child) > li:nth-child(11) {
  margin-left: calc(var(--ml) * 5);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(13):last-child) > li:nth-child(4), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(13):last-child) > li:nth-child(10) {
  margin-left: calc(var(--ml) * 6);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(13):last-child) > li:nth-child(5), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(13):last-child) > li:nth-child(9) {
  margin-left: calc(var(--ml) * 7);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(13):last-child) > li:nth-child(6), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(13):last-child) > li:nth-child(8) {
  margin-left: calc(var(--ml) * 8);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(13):last-child) > li:nth-child(7) {
  margin-left: calc(var(--ml) * 8);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(14):last-child) > li:nth-child(1), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(14):last-child) > li:nth-child(14) {
  margin-left: 0;
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(14):last-child) > li:nth-child(2), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(14):last-child) > li:nth-child(13) {
  margin-left: calc(var(--ml) * 4);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(14):last-child) > li:nth-child(3), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(14):last-child) > li:nth-child(12) {
  margin-left: calc(var(--ml) * 5);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(14):last-child) > li:nth-child(4), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(14):last-child) > li:nth-child(11) {
  margin-left: calc(var(--ml) * 6);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(14):last-child) > li:nth-child(5), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(14):last-child) > li:nth-child(10) {
  margin-left: calc(var(--ml) * 7);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(14):last-child) > li:nth-child(6), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(14):last-child) > li:nth-child(9) {
  margin-left: calc(var(--ml) * 8);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(14):last-child) > li:nth-child(7), .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl:has(> li:nth-child(14):last-child) > li:nth-child(8) {
  margin-left: calc(var(--ml) * 8);
}
.Header.HeaderCylinder .HeaderNav .NavDrop .DropUl {
  position: fixed;
  inset: auto;
  left: var(--dropPopoverLeft, 0);
  top: var(--dropPopoverTop, 0);
}
@supports (top: anchor(bottom)) {
  .Header.HeaderCylinder .HeaderNav .NavDrop .DropUl {
    inset: unset;
    left: anchor(right);
    align-self: anchor-center;
  }
}
.Header.HeaderCylinder .HeaderNav .DropIcon {
  rotate: -90deg;
  vertical-align: text-top;
}
.Header.HeaderCylinder .HeaderNav .DropIcon:is(.NavDrop:has(.DropUl:popover-open) *) {
  scale: 1 1;
  margin: unset;
  transform: translateY(0.25rem);
}
.Header.HeaderCylinder[data-nav-open=true] .HeaderCylinderLogo {
  background-color: var(--background);
  border-color: var(--CC);
}
.Header.HeaderCylinder[data-nav-open=true] .HeaderNav {
  background-color: var(--BC);
}
@media (min-width: 1024px) {
  .Header.HeaderCylinder[data-nav-open=true] .HeaderNav {
    background-color: var(--TR);
  }
}
.Header.HeaderCylinder[data-nav-open=true] .HeaderNav .NavLi {
  opacity: 1;
  transform: translateX(calc(var(--navX) * var(--logoW)));
}
@media (max-width: 1023px) {
  .Header.HeaderCylinder[data-nav-open=true] .HeaderNav .NavLi {
    transform: translateX(calc(var(--navX) * var(--logoW) / 3));
  }
}
.Header.HeaderCylinder[data-nav-open=true] .HeaderNav .NavLi {
  pointer-events: auto;
}
@keyframes header_anotation_toggle {
  0%, 49.999% {
    opacity: 1;
  }
  50%, 100% {
    opacity: 0;
  }
}
.Header.NavCircleTop svg path {
  fill: white;
  stroke: var(--BK70);
  stroke-width: 2em;
}
.Header.NavCircleTop a:not(.HeaderLogo) {
  color: var(--WH);
  -webkit-text-stroke: 0.125em var(--BK70);
  paint-order: stroke;
}
.Header.NavCircleTop a:not(.DropUl *):hover {
  color: var(--AC);
}
.Header.NavCircleTop {
  pointer-events: none;
  height: 100%;
  font-size: 1.25rem;
}
.Header.NavCircleTop .HeaderInner {
  height: 100%;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  padding-left: 0px;
  padding-right: 0px;
}
.Header.NavCircleTop .HeaderInner > * {
  pointer-events: auto;
}
.Header.NavCircleTop .HeaderNav {
  pointer-events: auto;
  position: absolute;
  top: 0px;
  left: 50%;
  z-index: 100;
  height: unset;
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --listH: 2.5em;
  --listN: 3;
}
.Header.NavCircleTop .HeaderNav ul {
  display: block;
  aspect-ratio: 2/1;
  background-color: color-mix(in srgb, transparent, var(--MC) 90%);
  border-radius: 0 0 999px 999px;
  height: calc(var(--listH) * var(--listN));
}
.Header.NavCircleTop .HeaderNav li {
  height: auto;
  min-height: var(--listH);
  width: auto;
  align-content: center;
  padding: 0px;
  text-align: center;
  background: linear-gradient(var(--TC), var(--TC)) no-repeat center/1px 100%, linear-gradient(var(--TC), var(--TC)) no-repeat center/100% 1px;
  background-color: var(--GR10);
  display: inline-block;
  width: 50%;
}
.Header.NavCircleTop .HeaderNav ul:has(li:nth-of-type(6):last-of-type) li:nth-of-type(1) {
  transform: translateX(-49.5%);
}
.Header.NavCircleTop .HeaderNav ul:has(li:nth-of-type(6):last-of-type) li:nth-of-type(2) {
  transform: translateX(49%);
}
.Header.NavCircleTop .HeaderNav ul:has(li:nth-of-type(6):last-of-type) li:nth-of-type(3) {
  transform: translateX(-38%);
}
.Header.NavCircleTop .HeaderNav ul:has(li:nth-of-type(6):last-of-type) li:nth-of-type(4) {
  transform: translateX(38%);
}
.Header.NavCircleTop .HeaderNav ul:has(li:nth-of-type(6):last-of-type) li:nth-of-type(5) {
  transform: translateX(-7%);
}
.Header.NavCircleTop .HeaderNav ul:has(li:nth-of-type(6):last-of-type) li:nth-of-type(6) {
  transform: translateX(7%);
}
.Header.NavCircleTop .HeaderNav ul:has(li:nth-of-type(5):last-of-type) li:nth-of-type(1),
.Header.NavCircleTop .HeaderNav ul:has(li:nth-of-type(5):last-of-type) li:nth-of-type(5) {
  transform: translateY(-31%);
}
.Header.NavCircleTop .HeaderNav ul:has(li:nth-of-type(5):last-of-type) li:nth-of-type(2),
.Header.NavCircleTop .HeaderNav ul:has(li:nth-of-type(5):last-of-type) li:nth-of-type(4) {
  transform: translateY(9%);
}
.Header.NavCircleTop .HeaderNav ul:has(li:nth-of-type(5):last-of-type) li:nth-of-type(3) {
  transform: translateY(20%);
}
.Header.NavCircleTop .HeaderNav ul:has(li:nth-of-type(4):last-of-type) li:nth-of-type(1),
.Header.NavCircleTop .HeaderNav ul:has(li:nth-of-type(4):last-of-type) li:nth-of-type(4) {
  transform: translateY(-22%);
}
.Header.NavCircleTop .HeaderNav ul:has(li:nth-of-type(4):last-of-type) li:nth-of-type(2),
.Header.NavCircleTop .HeaderNav ul:has(li:nth-of-type(4):last-of-type) li:nth-of-type(3) {
  transform: translateY(15.5%);
}
.Header.NavCircleTop .HeaderNav ul:has(li:nth-of-type(3):last-of-type) li:nth-of-type(1),
.Header.NavCircleTop .HeaderNav ul:has(li:nth-of-type(3):last-of-type) li:nth-of-type(3) {
  transform: translateY(-12%);
}
.Header.NavCircleTop .HeaderNav ul:has(li:nth-of-type(3):last-of-type) li:nth-of-type(2) {
  transform: translateY(20%);
}
.Header.NavCircleTop .HeaderNav ul:has(li:nth-of-type(2):last-of-type) li:nth-of-type(1),
.Header.NavCircleTop .HeaderNav ul:has(li:nth-of-type(2):last-of-type) li:nth-of-type(2) {
  transform: translateY(3%);
}
.Header.NavCircleTop .HeaderNav ul:has(li:nth-of-type(1):last-of-type) li:nth-of-type(1) {
  transform: translateY(20%);
}
.Header.NavCircleTop .HeaderLogo {
  pointer-events: auto;
  position: absolute;
  top: 50%;
  left: 0px;
  height: auto;
  width: var(--logoW);
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  background: url(/images/clip01.png) repeat center/20vw;
  filter: grayscale(50%);
  border-radius: 0 999px 999px 0;
  overflow: hidden;
  border: 10px solid var(--TR);
  border-left: 0;
  aspect-ratio: 1/2;
  transform-origin: 0 0%;
  transition: var(--trans);
  border: var(--line);
}
.Header.NavCircleTop .HeaderLogo:hover {
  scale: 1.06;
}
.Header.NavCircleTop .HeaderLogo a {
  font-size: 2vw;
  line-height: 1;
  padding-left: 0.5em;
  display: block;
  height: 100%;
  align-content: center;
  background-color: var(--WH);
}
.Header.NavCircleTop .HeaderLogo a > span {
  font-weight: 700;
  -webkit-text-stroke: 0.025em var(--BK50);
  paint-order: stroke;
  background: url(/images/clip01.png) repeat 70% 50%/10vw;
  background-color: var(--WH);
  background-clip: text;
  color: var(--TR);
}
.Header.NavCircleTop .HeaderMenu {
  top: 0.5rem;
  right: 0.5rem;
}
.Header.NavCircleTop .HeaderItems {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0px;
  padding: 0.5rem;
  text-align: right;
}
@media (max-width: 960px) {
  .Header.NavCircleTop .HeaderItems {
    order: 3;
  }
}
.Header.NavCircleTop .HeaderItems > a {
  padding-left: var(--headG);
  padding-right: var(--headG);
}
.Header.NavCircleTop .DropIcon {
  margin-left: 0.25rem;
}
.Header.NavCircleTop .NavInner ul a {
  display: block;
  text-align: right;
}
.Header.NavCircleTop .HeaderNavMobile .NavInner .DropBtn {
  display: none;
}
.Header.NoLogo .HeaderLogo {
  display: none;
}
.Header.TopHidden {
  transition: var(--trans);
  opacity: 0;
}
.Header.TopHidden:hover {
  opacity: 1;
}
.Header.TopHidden.trans {
  opacity: 1;
}
.Header.mix-blend-difference {
  color: var(--WH);
  --menuC: inherit;
}
@media (max-width: 960px) {
  .Header.mix-blend-difference {
    color: inherit;
    mix-blend-mode: unset;
  }
}
.Header.mix-blend-difference.active {
  mix-blend-mode: unset;
}

.Header a {
  text-decoration: none;
}
.Header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  margin-inline: auto;
  z-index: 1000;
}
.HeaderInner {
  background-color: var(--innerBG);
  background-image: var(--innerBGI);
  min-height: var(--head);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding-block: var(--innerPY);
  padding-inline: var(--innerPX);
  gap: var(--innerG);
  transition: var(--trans);
}
.HeaderLogo {
  z-index: 100;
  margin-right: auto;
  transform-origin: 0 0;
  max-width: unset;
  letter-spacing: normal;
  align-content: center;
  height: 100%;
  padding-inline: var(--logoPX);
  font-size: var(--logoFZ);
  line-height: 1;
}
@media (max-width: 1560px) {
  .HeaderLogo {
    font-size: calc(var(--logoFZ) * 0.875);
  }
}
@media (max-width: 1320px) {
  .HeaderLogo {
    font-size: calc(var(--logoFZ) * 0.75);
  }
}
.HeaderLogo a {
  display: block;
  align-content: center;
}
.HeaderLogo img {
  display: block;
  width: var(--logoW);
  max-width: 100%;
  max-height: var(--logoH);
}
@media (max-width: 1560px) {
  .HeaderLogo img {
    width: calc(var(--logoW) * 0.875);
  }
}
@media (max-width: 960px) {
  .HeaderLogo img {
    width: calc(var(--logoW) * 0.75);
  }
}
.HeaderLogo img.Expand {
  transform-origin: 0 0;
  transition: 1.2s ease-in;
  scale: 1;
}
.HeaderLogo img.Expand:not(.trans *) {
  scale: 1.6;
}
@media (max-width: 1560px) {
  .HeaderLogo img.Expand:not(.trans *) {
    scale: 1.4;
  }
}
.HeaderPagetop {
  display: var(--PTdis);
  position: fixed;
  top: unset;
  bottom: var(--PTbottom);
  left: unset;
  right: var(--PTbottom);
  z-index: 1000;
  opacity: 0;
  transition: var(--trans);
}
@inclute max-md {
  .HeaderPagetop {
    right: unset;
    left: var(--PTbottomTAB);
  }
}
.HeaderPagetop:is(html:has(.Header.trans) *) {
  opacity: 1;
  pointer-events: all;
}
.HeaderPagetop:is(.Header.trans *) {
  opacity: 1;
  pointer-events: all;
}
.HeaderPagetop a {
  display: block;
  color: var(--PTC);
  background-color: var(--PTBG);
  width: var(--PTW);
  height: var(--PTW);
  border-radius: var(--PTRad);
  border: var(--PTborder);
  border-color: var(--CC);
  align-content: center;
  text-align: center;
}
.HeaderPagetop a svg {
  transition: 0.4s;
  scale: var(--PTscale);
  width: 50%;
  height: 50%;
  display: inline-block;
}

.ThemeToggle {
  display: block;
  position: fixed;
  bottom: unset;
  top: var(--PTbottom);
  left: unset;
  right: var(--PTbottom);
  z-index: 1000;
  opacity: 0;
  transition: var(--trans);
  width: var(--PTW);
  height: var(--PTW);
  background-color: var(--PTBG);
  text-align: center;
  align-items: center;
  border-radius: 4px;
}
@inclute max-md {
  .ThemeToggle {
    left: unset;
    right: var(--PTbottomTAB);
  }
}
.ThemeToggle:is(html:has(.Header.trans) *) {
  opacity: 1;
  pointer-events: all;
}
.ThemeToggle svg {
  display: inline-block;
  color: var(--PTC);
  width: var(--PTW);
  height: var(--PTW);
  border-radius: var(--PTRad);
  border: var(--PTborder);
  border-color: var(--CC);
  align-content: center;
  text-align: center;
  width: 62.5%;
  height: 62.5%;
  margin-bottom: 2px;
}
.ThemeToggle svg svg {
  transition: 0.4s;
  scale: var(--PTscale);
  display: inline-block;
}

.HasTheme .ThemeToggle {
  display: block;
}

.HeaderItems {
  order: 1;
  z-index: 1000;
  display: flex;
  align-items: center;
  padding-inline: var(--itemPX);
  gap: var(--itemG);
  transition: var(--trans);
}
@media (max-width: 767px) {
  .HeaderItems {
    padding-bottom: env(safe-area-inset-bottom);
    padding-block: var(--PTbottomTAB);
    padding-inline: var(--PTbottomTAB);
    gap: var(--PTbottomTAB);
  }
  .HeaderItems:is(.trans *) {
    padding-left: calc(var(--PTW) + var(--PTbottomTAB) * 2);
  }
  .HeaderItems .imgBtn img {
    margin-inline: auto;
  }
}
@media (max-width: 480px) {
  .HeaderItems .btn {
    font-size: 0.875em;
  }
  .HeaderItems .btn.__tel {
    flex: 1.5;
  }
}
.HeaderItems.FixRight {
  position: fixed;
  top: 0;
  right: 0;
  flex-direction: column;
}
.HeaderItems.FixRight .btn:after {
  display: none;
}
@media (max-width: 767px) {
  .HeaderItems.FixRight {
    --btnH: var(--head);
    flex-direction: row;
    top: unset;
    bottom: 0;
    right: 0px;
    width: 100%;
    padding: 0.25em 0.25em;
    gap: 0.25em;
  }
  .HeaderItems.FixRight > * {
    flex: 1;
  }
}
.HeaderItems.FixPC {
  position: fixed;
  bottom: 0;
  right: 0;
}
@media (max-width: 1320px) {
  .HeaderItems.FixPC {
    bottom: 0;
  }
}
.HeaderItems.FixPC {
  flex-direction: column;
  align-items: flex-end;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .HeaderItems.FixPC {
    width: 100%;
  }
  .HeaderItems.FixPC .__img {
    gap: 1em;
    justify-content: center;
    --btnImg: calc(var(--btnH)* .64);
  }
  .HeaderItems.FixPC .__img span {
    display: inline-block;
    margin-right: 0.5em;
  }
  .HeaderItems.FixPC > *:not(.__w100) {
    flex: 1;
  }
  .HeaderItems.FixPC .btn.__line {
    flex: 0.5;
  }
  .HeaderItems.FixPC .iconbtn {
    flex: unset;
    padding-inline: 0.5em;
    scale: 1.3;
  }
  .HeaderItems.FixPC .iconbtn i {
    font-size: var(--btnH);
  }
  .HeaderItems.FixPC .h_text {
    flex: unset;
    min-width: 50%;
  }
  .HeaderItems.FixPC .textlink {
    height: var(--btnH);
    padding-inline: var(--btnPX);
    font-size: var(--btnFZ);
    font-size: var(--f24);
    border: var(--btnBD);
    border-radius: var(--btnRad);
    justify-content: center;
    align-items: center;
    gap: 0;
  }
  .HeaderItems.FixPC .textlink > * {
    font-size: 80%;
    margin-right: 0.5em;
  }
}
@media (max-width: 640px) {
  .HeaderItems.FixPC .textlink {
    line-height: calc(var(--btnH) / 2);
  }
  .HeaderItems.FixPC .textlink > * {
    display: block;
  }
}
@media (max-width: 960px) {
  .HeaderItems.FixMenu {
    flex-wrap: wrap;
    background-color: var(--innerBG);
    position: fixed;
    top: unset;
    bottom: 0;
    right: 0px;
    padding: 0.5em;
    gap: 0.5em;
    border-top-left-radius: 10px;
    justify-content: flex-end;
  }
  .HeaderItems.FixMenu imgBtn {
    flex: unset;
    padding-inline: 0.25em;
  }
  .HeaderItems.FixMenu .btn {
    margin-top: unset;
    border-radius: 10px;
  }
}
@media (max-width: 640px) {
  .HeaderItems.FixMenu {
    --btnImg: 2em;
    border-top-left-radius: 0px;
    width: 100%;
  }
  .HeaderItems.FixMenu .btn.__coupon {
    min-width: 100%;
    padding-inline: 1em;
  }
}
@media (max-width: 960px) {
  .HeaderItems.Fix960 {
    flex-wrap: wrap;
    background-color: var(--innerBG);
    position: fixed;
    top: unset;
    bottom: 0;
    right: 0px;
    padding: 0.5em;
    gap: 0.5em;
    border-top-left-radius: 10px;
    justify-content: flex-end;
  }
}
@media (max-width: 767px) {
  .HeaderItems.FixTab {
    position: fixed;
    top: unset;
    bottom: 0;
    right: 0px;
    width: 100%;
    padding: 0.25em var(--PX);
    background-color: var(--innerBG);
  }
  .HeaderItems.FixTab:is(.trans *) {
    transform: translateY(100%);
  }
  .HeaderItems.FixTab > * {
    flex: 1;
    min-width: unset;
    padding-inline: 0.5em;
    text-align: center;
    min-height: var(--head);
    align-content: center;
    font-size: 1rem;
  }
}
@media (max-width: 640px) {
  .HeaderItems.FixSP {
    justify-content: flex-end;
    border-bottom: unset;
    border-top: 1px solid #ccc;
    position: fixed;
    top: unset;
    bottom: 0;
    right: 0px;
    width: 100%;
    gap: 0em;
    --btnG: .0em;
    background-color: var(--innerBG);
  }
  .HeaderItems.FixSP > * {
    flex: 1;
    min-width: unset;
    --btnFZ: clamp(14px, 2vw, 18px);
  }
  .HeaderItems.FixSP > * + a {
    border-left: 1px solid #aaa;
  }
  .HeaderItems.FixSP .iconbtn {
    flex: unset;
    padding-inline: 0.5em;
    scale: 1.3;
  }
  .HeaderItems.FixSP .iconbtn i {
    font-size: var(--btnH);
  }
  .HeaderItems.FixSP .h_text {
    flex: unset;
    min-width: 50%;
  }
  .HeaderItems.FixSP .textlink {
    --btnH: var(--head);
    height: var(--btnH);
    height: 52px;
    text-align: right;
    line-height: calc(var(--btnH) / 4);
    padding-block: 0.5em;
    flex: unset;
    gap: 0;
  }
  .HeaderItems.FixSP a:has(> img) {
    flex: 0.4;
  }
  .HeaderItems.FixSP a:has(> img) img {
    margin-inline: auto;
  }
}

:where(.HeaderNav).a-chev > ul > li > a::after {
  content: "\f105";
  margin-inline-start: 0.25em;
  font-family: var(--icon);
  font-weight: 900;
  color: var(--AC);
}
:where(.HeaderNav) {
  font-size: var(--navFZ);
  font-weight: var(--navFW);
  --aPY:var(--UN);
  --aPX:var(--UN);
  --spanFZ:75%;
  --spanFW:700;
  --spanFF:var(--eng);
  --navTRT:var(--trans);
  z-index: 1;
  padding-inline: var(--navPX);
}
:where(.HeaderNav)::-webkit-scrollbar {
  width: 0px;
}
@media (max-width: 960px) {
  :where(.HeaderNav) {
    display: none;
  }
}
:where(.HeaderNav) .NavUl {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  height: 100%;
}
:where(.HeaderNav) .NavLi {
  height: 100%;
  position: relative;
  padding-inline: var(--headG);
  padding-block: 0.5em;
  align-content: center;
}
:where(.HeaderNav) .NavLi:has(span) {
  --liPY: calc(var(--headG)/2);
}
:where(.HeaderNav) .NavLi:has(span) > a:is(#Header *) {
  --aPY: calc(var(--headG)/2);
  display: grid;
  place-items: center;
  place-content: center;
  font-size: 75%;
}
:where(.HeaderNav) .NavLi:has(span) span {
  color: var(--spanC);
  font-size: 133.334%;
  font-weight: 500;
  font-family: var(--Eng);
}
:where(.HeaderNav) .NavLi:has(span) span:is(.span-uppercase *) {
  text-transform: uppercase;
}
:where(.HeaderNav) :is(a, .DropA) {
  padding-inline: var(--aPY);
  padding-block: var(--aPX);
  vertical-align: sub;
  text-align: left;
}
:where(.HeaderNav) .FocusTrap {
  display: none;
}
:where(.HeaderNav) .NavDrop {
  --size: 7.5px;
  will-change: transform;
}
:where(.HeaderNav) .NavDrop::after {
  top: 100%;
  background-color: currentColor;
}
:where(.HeaderNav) .NavDrop:last-of-type .DropUl {
  right: 0;
  transform: unset;
  transform-origin: top right;
}
:where(.HeaderNav) .NavDrop:has(.DropUl:popover-open) ul {
  pointer-events: auto;
  scale: 1 1;
  opacity: 1;
}
:where(.HeaderNav) .DropA {
  appearance: none;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  font: inherit;
}
:where(.HeaderNav) .DropUl {
  list-style: none;
  transition: var(--trans) allow-discrete;
  transition: opacity var(--trans), scale var(--trans), overlay var(--trans) allow-discrete, display var(--trans) allow-discrete;
  min-width: 15em;
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
  display: block;
  scale: 1 0;
  transform-origin: top;
  opacity: 0;
  background-color: var(--dropBG);
  padding: 0.75em 1.5em;
}
:where(.HeaderNav) .DropUl:popover-open {
  pointer-events: auto;
  scale: 1 1;
  opacity: 1;
}
@supports (top: anchor(bottom)) {
  :where(.HeaderNav) .DropUl {
    inset: auto;
    top: anchor(bottom);
    justify-self: anchor-center;
    transform: unset;
  }
}
@supports (top: anchor(bottom)) {
  :where(.HeaderNav) .NavDrop:last-of-type .DropUl {
    right: anchor(right);
    justify-self: unset;
  }
}
:where(.HeaderNav) .DropLi {
  margin-top: 0.25em;
}
:where(.HeaderNav) .DropLi a {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  white-space: nowrap;
  width: 100%;
  height: 100%;
  color: var(--dropC);
}
:where(.HeaderNav) .DropLi a svg {
  margin-left: auto;
  fill: currentColor;
}
:where(.HeaderNav) .DropUl:has(a:focus) {
  scale: 1 1;
  opacity: 1;
}

.DropBtn {
  display: none;
}

.HeaderNav .DropUl {
  border-radius: 4px;
  border: var(--line);
}

.DropIcon {
  display: inline-block;
  transition: var(--trans);
  vertical-align: middle;
  fill: currentColor;
  stroke: currentColor;
}
.DropIcon:is(.HeaderNav .NavDrop:has(.DropUl:popover-open) *) {
  scale: 1 -1;
}
.DropIcon:is(.NavInner .NavDrop:has(.DropBtn[aria-expanded=true]) *) {
  scale: 1 -1;
}

.HeaderMenu {
  display: none;
  --dotW: calc(var(--btnH) * .125);
}
@media (max-width: 960px) {
  .HeaderMenu {
    display: grid;
  }
}
.HeaderMenu {
  place-items: center;
  width: var(--menuH);
  height: var(--menuH);
  margin-inline: var(--menuM);
  border-radius: var(--menuRad);
  flex-shrink: 0;
  order: 2;
  z-index: 1000;
  background-color: var(--menuBG);
  position: relative;
  aspect-ratio: 1;
  --btnBG:var(--MC);
}
.HeaderMenu.IsBurger > span {
  transition: var(--trans);
  grid-area: 1/1;
  width: var(--spanW);
  height: var(--spanH);
  background-color: var(--menuC);
  border-radius: var(--spanR);
}
.HeaderMenu.IsBurger .bar1 {
  translate: 0 calc(-1 * var(--bargap));
}
.HeaderMenu.IsBurger .bar3 {
  translate: 0 var(--bargap);
}
.HeaderMenu.IsBurger .bar2 {
  translate: 0 0px;
}
.HeaderMenu.IsBurger .bar2.tate {
  rotate: 90deg;
}
.HeaderMenu.IsBurger.active .bar2 {
  scale: 1 1;
}
.HeaderMenu.IsBurger.active .bar2.tate {
  scale: 0 1;
}
.HeaderMenu.IsBurger.active .bar1 {
  translate: 0;
  rotate: var(--deg);
}
.HeaderMenu.IsBurger.active .bar2 {
  scale: 0;
}
.HeaderMenu.IsBurger.active .bar3 {
  translate: 0;
  rotate: calc(var(--deg) * -1);
}
.HeaderMenu.IsDots {
  --trans: 200ms;
  transition: var(--trans);
}
.HeaderMenu.IsDots > span {
  transition: width var(--trans) linear, height var(--trans) linear, translate 0 linear, opacity var(--trans) var(--trans);
  grid-area: 1/1;
  width: var(--dotW);
  height: var(--dotW);
  background-color: var(--menuC);
  border-radius: calc(var(--dotW));
  box-sizing: content-box;
}
.HeaderMenu.IsDots > span:is(.Donuts *) {
  border: 0.125rem solid var(--BK);
}
.HeaderMenu.IsDots > span:is(:has(.char) *) {
  transform: translateY(calc(var(--bargap) * -0.5));
}
.HeaderMenu.IsDots .char {
  width: var(--UN);
  aspect-ratio: unset;
  background-color: var(--UN);
  border-radius: unset;
  translate: 0 calc(var(--bargap) * 1.5);
  font-family: var(--hff);
  font-size: 12px;
  color: var(--menuC);
}
.HeaderMenu.IsDots .span1 {
  translate: calc(var(--bargap) * -1) 0;
  transform-origin: left;
}
.HeaderMenu.IsDots .span2 {
  translate: 0 0px;
}
.HeaderMenu.IsDots .span3 {
  translate: var(--bargap) 0;
  transform-origin: right;
}
.HeaderMenu.IsDots[aria-expanded=true] .span1, .HeaderMenu.IsDots:hover .span1 {
  translate: 0 0;
  width: calc(var(--dotW) * 5);
  transition: width var(--trans) linear, translate 0s;
}
.HeaderMenu.IsDots[aria-expanded=true] .span2, .HeaderMenu.IsDots:hover .span2 {
  height: calc(var(--dotW) * 5);
  transition: height var(--trans) linear;
}
.HeaderMenu.IsDots[aria-expanded=true] .span3, .HeaderMenu.IsDots:hover .span3 {
  opacity: 0;
  transition: opacity 0s;
}
.HeaderMenu.IsDots[aria-expanded=true] {
  rotate: 45deg;
}
.HeaderMenu:focus {
  outline-color: transparent;
}
.HeaderMenu:active {
  scale: 1.12;
}

:where(.HeaderNavMobile) {
  font-weight: 500;
  --SPnavPY: 1.25em;
  --SPnavPX: .5em;
  --SPnavBG: var(--WH);
  --dropbtnH: calc(var(--SPnavFZ) + var(--SPnavPY)*2);
  --spanC: var(--IN);
  --spanFZ: var(--IN);
  --spanFW: 700;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  visibility: hidden;
  pointer-events: none;
}
:where(.HeaderNavMobile) .NavLi {
  filter: blur(var(--bw));
  opacity: 0;
  translate: 0 var(--bw);
}
:where(.HeaderNavMobile).show {
  visibility: visible;
  pointer-events: all;
}
:where(.HeaderNavMobile).show li {
  opacity: 1;
  --bw: 0px;
}
:where(.HeaderNavMobile) .FocusTrap {
  transition: var(--trans);
  width: 100%;
  background-color: var(--WH) 8;
  z-index: 0;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
}
:where(.HeaderNavMobile) .FocusTrap:is(.show .FocusTrap) {
  opacity: 1;
  visibility: visible;
}
:where(.HeaderNavMobile) .FocusTrap.__cross {
  background-image: linear-gradient(-45deg, transparent, transparent calc(50% - 1px), var(--BK) 50%, transparent calc(50% + 1px)), linear-gradient(45deg, transparent, transparent calc(50% - 1px), var(--BK) 50%, transparent calc(50% + 1px));
  position: fixed;
  top: 0;
  right: 0;
  transform: none !important;
  width: calc(100vw - var(--head));
  height: 100lvh;
  background-color: var(--WH) 6;
  visibility: hidden;
  opacity: 0;
}
:where(.HeaderNavMobile) .FocusTrap.__cross:is(.active *) {
  visibility: visible;
  opacity: 1;
}
:where(.HeaderNavMobile) .NavInner::-webkit-scrollbar {
  width: 0px;
}
:where(.HeaderNavMobile) .NavInner {
  height: 100%;
  z-index: 1;
  width: 100%;
  overflow-y: scroll;
  overscroll-behavior-y: contain;
  display: grid;
}
:where(.HeaderNavMobile) .NavInner > * {
  grid-area: 1/1;
  height: calc(100% + 0px);
}
:where(.HeaderNavMobile) .NavUl::-webkit-scrollbar {
  width: 0px;
}
:where(.HeaderNavMobile) .NavUl {
  background: var(--SPnavBG);
  position: relative;
  z-index: 1;
  padding: calc(var(--PX) * 1);
  padding-block: calc(var(--head) * 1.5);
  width: 50%;
  margin-left: auto;
  opacity: 0;
  visibility: hidden;
  overflow-y: scroll;
  height: calc(100% + 1px);
}
@media (max-width: 960px) {
  :where(.HeaderNavMobile) .NavUl {
    width: 66%;
  }
}
@media (max-width: 767px) {
  :where(.HeaderNavMobile) .NavUl {
    width: 100%;
  }
}
:where(.HeaderNavMobile) .NavUl.show {
  opacity: 1;
  visibility: visible;
}
:where(.HeaderNavMobile) .NavLi {
  display: block;
  height: fit-content;
}
:where(.HeaderNavMobile) .NavLi a {
  font-size: var(--SPnavFZ);
  padding: var(--SPnavPY) var(--SPnavPX);
  display: flex;
  align-items: baseline;
  gap: 1em;
  margin-inline: auto;
}
:where(.HeaderNavMobile) .NavLi a span {
  color: var(--spanC);
  font-weight: var(--spanFW);
  font-size: var(--spanFZ);
  margin-inline-end: 0.75em;
  font-family: var(--Eng);
}
:where(.HeaderNavMobile) .NavLi .DropA {
  flex: 1;
}
:where(.HeaderNavMobile) .NavLi .NoPointer {
  cursor: pointer;
}
:where(.HeaderNavMobile) .NavDrop {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
:where(.HeaderNavMobile) .NavDrop:has(.DropBtn) {
  padding-right: var(--h);
}
:where(.HeaderNavMobile) .DropUl {
  list-style: none;
  width: 100%;
  overflow: hidden;
  padding-left: 1em;
}
:where(.HeaderNavMobile) .DropLi {
  padding: unset;
  scale: 1;
  width: 100%;
  margin: unset;
  height: unset;
  overflow: hidden;
  display: grid;
  grid-template-rows: 0fr;
}
:where(.HeaderNavMobile) .DropLi > a {
  padding-block: 0;
  width: 100%;
  min-height: 0;
  transition: var(--trans);
}
:where(.HeaderNavMobile) .DropLi svg {
  flex-shrink: 0;
}
:where(.HeaderNavMobile) .DropLi:is(ul.show > *) {
  grid-template-rows: 1fr;
}
:where(.HeaderNavMobile) .DropLi:is(ul.show > *) a {
  padding-block: var(--SPnavPY);
}
:where(.HeaderNavMobile) .dropbtn {
  display: none;
}

:is(.Header, .Footer) [class*=li-bd]:not(.HeaderNavMobile) {
  height: unset;
}
:is(.Header, .Footer) [class*=li-bd]:not(.HeaderNavMobile) > ul > li {
  --line: 2px solid var(--CC);
  padding-inline: var(--headG);
  line-height: 1.2;
}
:is(.Header, .Footer) [class*=li-bd]:not(.HeaderNavMobile) > ul > li + li {
  border-left: var(--line);
}
:is(.Header, .Footer) .li-bdInline > ul > li {
  border-inline: var(--line);
}
:is(.Header, .Footer) .li-bdInline > ul > li + li {
  margin-inline-start: -1px;
}
:is(.Header, .Footer) .li-bdL > ul > li {
  padding-inline: var(--headG) 0;
}
:is(.Header, .Footer) .li-bdL > ul > li + li {
  border-left: var(--line);
}
:is(.Header, .Footer) .li-bdR > ul > li {
  padding-inline: 0 var(--headG);
  border-right: var(--line);
}

:is(.Header, .Footer) [class*=li-slash]:not(.HeaderNavMobile) {
  height: unset;
}
:is(.Header, .Footer) [class*=li-slash]:not(.HeaderNavMobile) > ul > li {
  line-height: 1;
}
:is(.Header, .Footer) [class*=li-slash]:not(.HeaderNavMobile) > ul > li:first-child:before {
  display: none;
}
:is(.Header, .Footer) [class*=li-slash]:not(.HeaderNavMobile) > ul > li > * {
  line-height: 1.2;
  gap: 0.5em;
  place-items: start;
}
:is(.Header, .Footer) [class*=li-slash]:not(.HeaderNavMobile) > ul > li > *:before {
  content: "/";
  inset: unset;
  left: 0em;
  background-color: unset;
  color: inherit;
  font-size: 1.5em;
  font-weight: 100;
  margin-right: 0.25em;
}
:is(.Header, .Footer) [class*=li-slash]:not(.HeaderNavMobile) > ul > li.NavDrop a {
  place-items: center;
}

.bfChevron a:before {
  content: "\f105";
  font-family: var(--icon);
  font-weight: var(--btnAFFW);
  color: var(--SC);
  font-size: 0.75em;
  margin-right: 0.25em;
}

:root {
  --first-delay: 1s;
  --letter-delay: 0.025s;
  --phrase-delay: 0.2s;
}

.JsLetter > span {
  display: inline-block;
  opacity: 0;
  rotate: none;
  transition: 0s;
}
.JsLetter.show > span {
  opacity: 1;
}

[class*=Js].show:nth-child(1),
[class*=JsCh] > *.show:nth-child(1) {
  transition-delay: 0s;
}
[class*=Js].show:nth-child(1):is(main > *, form > *),
[class*=JsCh] > *.show:nth-child(1):is(main > *, form > *) {
  transition-delay: 0s;
}
[class*=Js].show:nth-child(2),
[class*=JsCh] > *.show:nth-child(2) {
  transition-delay: 0.2s;
}
[class*=Js].show:nth-child(2):is(main > *, form > *),
[class*=JsCh] > *.show:nth-child(2):is(main > *, form > *) {
  transition-delay: 0s;
}
[class*=Js].show:nth-child(3),
[class*=JsCh] > *.show:nth-child(3) {
  transition-delay: 0.4s;
}
[class*=Js].show:nth-child(3):is(main > *, form > *),
[class*=JsCh] > *.show:nth-child(3):is(main > *, form > *) {
  transition-delay: 0s;
}
[class*=Js].show:nth-child(4),
[class*=JsCh] > *.show:nth-child(4) {
  transition-delay: 0.6s;
}
[class*=Js].show:nth-child(4):is(main > *, form > *),
[class*=JsCh] > *.show:nth-child(4):is(main > *, form > *) {
  transition-delay: 0s;
}
[class*=Js].show:nth-child(5),
[class*=JsCh] > *.show:nth-child(5) {
  transition-delay: 0.8s;
}
[class*=Js].show:nth-child(5):is(main > *, form > *),
[class*=JsCh] > *.show:nth-child(5):is(main > *, form > *) {
  transition-delay: 0s;
}
[class*=Js].show:nth-child(6),
[class*=JsCh] > *.show:nth-child(6) {
  transition-delay: 1s;
}
[class*=Js].show:nth-child(6):is(main > *, form > *),
[class*=JsCh] > *.show:nth-child(6):is(main > *, form > *) {
  transition-delay: 0s;
}
[class*=Js].show:nth-child(7),
[class*=JsCh] > *.show:nth-child(7) {
  transition-delay: 1.2s;
}
[class*=Js].show:nth-child(7):is(main > *, form > *),
[class*=JsCh] > *.show:nth-child(7):is(main > *, form > *) {
  transition-delay: 0s;
}
[class*=Js].show:nth-child(8),
[class*=JsCh] > *.show:nth-child(8) {
  transition-delay: 1.4s;
}
[class*=Js].show:nth-child(8):is(main > *, form > *),
[class*=JsCh] > *.show:nth-child(8):is(main > *, form > *) {
  transition-delay: 0s;
}
[class*=Js].show:nth-child(9),
[class*=JsCh] > *.show:nth-child(9) {
  transition-delay: 1.6s;
}
[class*=Js].show:nth-child(9):is(main > *, form > *),
[class*=JsCh] > *.show:nth-child(9):is(main > *, form > *) {
  transition-delay: 0s;
}

.JsHide {
  filter: blur(var(--jsBlur));
  opacity: 0;
  transition: var(--trt);
}
.JsHide.show {
  opacity: 1;
  filter: unset;
}
.JsCpL, .JsCpR {
  transition: var(--trt);
  opacity: 0.1;
}
.JsCpL.show, .JsCpR.show {
  translate: none;
  opacity: unset;
  filter: unset;
}
.JsScale {
  opacity: 0;
  transition: scale 1.8s, opacity 1.2s 0.4s !important;
  scale: 0.8;
}
.JsScale.show {
  opacity: 1;
  scale: 1;
}
.JsLeft, .JsChL > *, .JsChLR > :nth-child(odd) {
  translate: calc(var(--transX) * -1) 0;
}
.JsRight, .JsChR > *, .JsChLR > :nth-child(even) {
  translate: var(--transX) 0;
}
.JsBottom, .JsChB > * {
  translate: 0 var(--transY);
}
.JsTop, .JsChT > * {
  translate: 0 calc(var(--transY) * -0.5);
}

.JsLeft, .JsRight, .JsTop, .JsBottom, .JsChB > *, .JsChL > *, .JsChR > *, .JsChT > *, .JsChLR > * {
  transition: var(--trt);
  opacity: 0;
}
.JsLeft.show, .JsRight.show, .JsTop.show, .JsBottom.show, .JsChB > *.show, .JsChL > *.show, .JsChR > *.show, .JsChT > *.show, .JsChLR > *.show {
  opacity: 1;
  translate: unset;
  filter: unset;
}

.JsCpL {
  clip-path: inset(0 90% 0 0);
}

.JsCpR {
  clip-path: inset(0 0 0 90%);
}

.JsCpT {
  clip-path: inset(0 0 90% 0);
}

.JsCpB {
  clip-path: inset(90% 0 0 0);
}

.JsCpL,
.JsCpR,
.JsCpT,
.JsCpB {
  transition: var(--trt);
  opacity: 0;
}
.JsCpL.show,
.JsCpR.show,
.JsCpT.show,
.JsCpB.show {
  opacity: 1;
  clip-path: inset(0);
}

.BudouxFade {
  --BudouxFadeMin: 0.3;
  --BudouxFadeTrigger: 0.68;
  --BudouxFadeRange: 1;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.BudouxFadePhrase {
  display: inline-block;
  opacity: var(--BudouxFadeMin);
  transition: none;
  vertical-align: baseline;
}

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

.BudouxShowPhrase {
  display: inline-block;
  opacity: 0;
  transition-duration: 0s;
  vertical-align: baseline;
}

.BudouxShow.show .BudouxShowPhrase {
  opacity: 1;
}

button,
a {
  transition: var(--btnTR);
  font-size: inherit;
}
button:where(:not([class], .h a, [href*=tel], .__tel)):hover,
a:where(:not([class], .h a, [href*=tel], .__tel)):hover {
  opacity: 0.7;
}
button:hover, button:hover *,
a:hover,
a:hover * {
  transition-delay: 0s !important;
}
button:is(.itext, .sns_slide ul a),
a:is(.itext, .sns_slide ul a) {
  max-width: 100%;
}
button:is(.itext, .sns_slide ul a):hover,
a:is(.itext, .sns_slide ul a):hover {
  opacity: 0.7;
}
button:is(.HeaderLogo a, .f_logolink, .itext, .sns_slide ul a):hover,
a:is(.HeaderLogo a, .f_logolink, .itext, .sns_slide ul a):hover {
  opacity: 0.7;
}
button:is(.sns_slide a, .__layer .box a),
a:is(.sns_slide a, .__layer .box a) {
  overflow: hidden;
}
button:is(.sns_slide a, .__layer .box a) figure,
a:is(.sns_slide a, .__layer .box a) figure {
  overflow: hidden;
}
button:is(.sns_slide a, .__layer .box a):hover,
a:is(.sns_slide a, .__layer .box a):hover {
  scale: 1.02;
  opacity: 1;
}
button:not([class*=_logo], [class*=slick] button),
a:not([class*=_logo], [class*=slick] button) {
  outline-style: var(--decoS);
  outline-color: var(--MC10);
  outline-width: 0px;
}
button:not([class*=_logo], [class*=slick] button):focus,
a:not([class*=_logo], [class*=slick] button):focus {
  outline-width: 1px;
}

.submit:is(#contents *) {
  margin-top: 40px;
}

.submit {
  width: fit-content;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1em;
}

.submit > button {
  margin-top: 30px;
  margin-bottom: 30px;
  margin-block: 1em;
  background-size: cover;
  transition: 0.4s;
}

.btn, .btnL {
  position: relative;
  z-index: 1;
  text-decoration: none;
  display: inline-block;
  justify-content: var(--btnJC);
  flex-direction: var(--btnDir);
  font-size: var(--btnFZ);
  font-weight: var(--btnFW);
  font-family: var(--btnFF);
  line-height: var(--btnLH);
  letter-spacing: var(--btnLS);
  min-width: var(--btnW);
}
@media (max-width: 480px) {
  .btn, .btnL {
    min-width: var(--btnW48);
  }
}
.btn, .btnL {
  min-height: var(--btnH);
  padding-inline: var(--btnPX);
  padding-block: var(--btnPY);
  gap: var(--btnG);
  border-radius: var(--btnRad);
  box-shadow: var(--btnSh);
  max-width: 100%;
  align-content: var(--btnAC);
  text-align: var(--btnTA);
  will-change: filter;
  overflow: hidden;
  transition-duration: var(--btnTR);
  transition-timing-function: var(--btnTRT);
  color: var(--btnC);
  background-color: var(--btnBG);
  border: var(--line);
  border-color: var(--CC);
}

.btn:not(.f *), .btnL:not(.f *) {
  padding-block: 0.25em 0.1em;
}

.btn2 {
  position: relative;
  background-color: transparent;
  color: inherit;
  font-size: var(--bodyFZ);
  min-width: 180px;
}
@media (max-width: 1440px) {
  .btn2 {
    min-width: unset;
  }
}
.btn2 {
  min-height: 56px;
  padding-inline: 1.5em;
  border-radius: 0em;
  text-align: center;
  align-content: center;
  font-family: var(--Eng);
}
.btn2:before {
  content: "";
  position: absolute;
  display: block;
  bottom: 0;
  left: 0;
  width: calc(100% - 0.5em);
  height: calc(100% - 0.5em);
  border: var(--line);
  border-color: var(--CC);
}
.btn2:after {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  right: 0;
  width: calc(100% - 0.5em);
  height: calc(100% - 0.5em);
  border: var(--line);
  border-color: var(--CC);
}

:where(.btn, .btnL) svg,
:where(.btn, .btnL) i {
  font-size: var(--btnIFZ);
}
:where(.btn, .btnL):has(> i, > svg):after {
  display: none;
}
:where(.btn, .btnL):has(> i, > svg) svg,
:where(.btn, .btnL):has(> i, > svg) i {
  color: var(--btnIC);
  font-family: var(--btnIFF);
  font-size: var(--btnIFZ);
  font-weight: var(--btnIFW);
  line-height: var(--btnFZ);
  margin-inline: var(--btnIMX);
  transition: 0.4s;
  vertical-align: var(--btnIVA);
}
:where(.btn, .btnL).btn:not([href*=tel], .__tel, span):hover, .btnL:where(.btn, .btnL):not([href*=tel], .__tel, span):hover {
  background-color: var(--hoverBG);
  color: var(--hoverC);
  filter: var(--hoverFL);
}
:where(.btn, .btnL).__anchor:after {
  rotate: 90deg;
  top: unset;
  transform: unset;
}
:where(.btn, .btnL) img {
  width: var(--btnImg);
  object-fit: contain;
  display: inline-block;
  vertical-align: middle;
}
:where(.btn, .btnL):has(img) {
  flex-direction: column;
}
:where(.btn, .btnL):has(img) img {
  width: var(--btnImg);
  margin-inline: auto;
  display: block;
}
:where(.btn, .btnL).noArrow:after {
  display: none;
}
:where(.btn, .btnL).arrowRev:after {
  rotate: 180deg;
}
:where(.btn, .btnL)[href*="#contents"]:after {
  rotate: -90deg;
}
:where(.btn, .btnL).__tr {
  background: unset;
  color: var(--MC);
  border: 1px solid currentColor;
}

.imgBtn svg,
.imgBtn i {
  font-size: var(--btnIFZ);
}
.imgBtn img {
  width: var(--btnImg);
  height: var(--btnImg) !important;
  object-fit: contain;
  display: inline-block;
  vertical-align: middle;
}

a.label {
  width: fit-content;
  line-height: 1.5;
  margin: 0.05em;
  border: var(--line);
  border-radius: 100em;
  text-decoration: none;
  padding: 0.25em 0.75em;
}

.textlink.__anchor:after:is([target=_blank]:after) {
  content: "\f35d";
}
.textlink:after {
  content: var(--btnAF);
  --btnIdis: none;
}
.textlink:has(> i, > svg):after {
  --btnIdis: none;
}
.textlink svg,
.textlink i, .textlink:after {
  color: var(--btnIC);
  font-family: var(--btnIFF);
  font-size: var(--btnIFZ);
  font-weight: var(--btnIFW);
  display: var(--btnIdis);
  place-items: center;
  position: var(--btnIPOS);
  right: var(--btnIRT);
  place-items: center;
  line-height: var(--btnFZ);
  margin-inline: var(--btnIMX);
  align-content: center;
  transition: var(--btnTR);
  will-change: scale;
}
.textlink svg:is([target=_blank]:after),
.textlink i:is([target=_blank]:after), .textlink:after:is([target=_blank]:after) {
  content: "\f35d";
}
.textlink:is(a, span) {
  text-decoration: var(--TLDeco) !important;
  color: var(--TLC);
}
.textlink {
  --btnBG: transparent;
  background-color: unset;
  line-height: 1.125;
  font-size: var(--TLFZ);
  font-family: var(--TLFF);
  font-weight: var(--TLFW);
  font-style: var(--TLFS);
  letter-spacing: var(--TLLS);
  line-height: var(--TLLH);
  text-underline-offset: var(--TLOff);
  gap: var(--TLG);
  position: relative;
  text-align: center;
  padding-inline: 0.25em;
  display: inline-block;
  border-bottom: 1px solid currentColor;
  border: unset;
  padding-inline: unset;
  transition: var(--btnTR);
  will-change: scale;
}
.textlink:not([href*=tel], .__tel, span):hover {
  animation: scaleDown calc(var(--btnTR) * 2) var(--btnTRT) forwards;
}
@keyframes scaleDown {
  10% {
    scale: 1.1;
  }
  100% {
    scale: 1;
  }
}
.textlink img:is(#contents *) {
  width: 1em !important;
  height: 1em !important;
  display: inline-block;
  vertical-align: top;
  margin-right: var(--TLG);
  object-fit: contain;
}
.textlink svg:before,
.textlink i:before {
  display: inline-block;
  margin-right: var(--TLG);
  vertical-align: bottom;
}
.textlink small {
  font-size: 75%;
  color: inherit;
}
.textlink:not([href*=tel], .__tel, span):hover:after {
  scale: 1.25;
}

p:has(> a) > br {
  display: none;
}
p:has(> a) {
  font-size: inherit;
  font-family: inherit;
  font-weight: inherit;
  max-width: 100%;
  display: inline-flex;
  flex-wrap: wrap;
  gap: var(--gapH);
  align-items: center;
  width: 100%;
}
p:has(> a) .__anchor {
  max-width: calc(50% - var(--gap) / 2) !important;
}
@media (max-width: 640px) {
  p:has(> a) .__anchor {
    min-width: unset !important;
    width: var(--btnW);
    margin-block: 0px;
  }
}

.veil {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}

.f_btn, .f_link,
.pan1 a,
.HeaderNav a:not(:has(> span)),
.HeaderNav a:not(.HeaderCylinder *),
.banner a,
.nav a:not(.drop ul li a),
.f_nav ul a,
.blog_text h3 span,
.rss-title {
  background-image: linear-gradient(currentColor, currentColor);
  transition: var(--btnTR);
  background-repeat: no-repeat;
  background-position-y: 100%;
  background-position-x: -105%;
  background-size: 200% 1px;
}
.f_btn:hover, .f_link:hover,
.pan1 a:hover,
.HeaderNav a:hover:not(:has(> span)),
.HeaderNav a:hover:not(.HeaderCylinder *),
.banner a:hover,
.nav a:hover:not(.drop ul li a),
.f_nav ul a:hover,
.blog_text h3 span:hover,
.rss-title:hover {
  animation: rightgrow var(--btnTR);
  background-position-x: 50%;
}
@keyframes rightgrow {
  0% {
    background-position-x: 200%;
  }
  100% {
    background-position-x: 50%;
  }
}

.f_link,
.pan1 a,
.HeaderNav a:not(:has(> span)),
.HeaderNav a:not(.HeaderCylinder *),
.banner a,
.nav a:not(.drop ul li a),
.f_nav ul a,
.blog_text h3 span,
.rss-title {
  background-position-x: -105%;
  background-size: 200% var(--bdw);
  background-image: linear-gradient(var(--CC), var(--CC));
}

.HeaderCylinder .HeaderNav a {
  background-image: unset;
}

.nav a:not(.drop ul li a) {
  background-image: linear-gradient(var(--dropbtnBF), var(--dropbtnBF));
  background-position-x: 0%;
  animation: rightgrow var(--btnTR);
}

.f_btn {
  background-image: linear-gradient(to right, var(--WH), var(--WH));
  background-position-x: -103%;
  background-size: 300% 100%;
}
.f_btn:active {
  background-position-x: 0%;
}
.f_btn.__wh {
  background-image: linear-gradient(var(--MC), var(--MC));
}

:where(.Hero) {
  display: grid;
}
:where(.Hero) > * {
  z-index: 1;
  grid-area: 1/1;
}
:where(.Hero) :where(.back) {
  width: 100%;
}
:where(.Hero) :where(.back) > img {
  aspect-ratio: 1/1;
  width: 100%;
  object-fit: cover;
}
@media (min-width: 768px) {
  :where(.Hero) :where(.back) > img {
    aspect-ratio: auto;
  }
}
:where(.Hero) .item {
  margin-top: 0px;
  align-content: center;
  padding-top: var(--PX);
  padding-bottom: var(--PX);
  padding-left: var(--into);
  padding-right: var(--into);
}

:where(.WaveHover) {
  position: relative;
  isolation: isolate;
}
:where(.WaveHover) > .WaveHoverCanvas {
  pointer-events: none;
  position: fixed;
  left: 0px;
  top: var(--head);
  z-index: 3;
  display: block;
  background-color: transparent;
  opacity: 0;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}
:where(.WaveHover):has(a:hover) > .WaveHoverCanvas {
  opacity: 1;
}

:where(.Cards) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
}
:where(.Cards) .item {
  margin-top: 0px;
  width: var(--itemW);
}
:where(.Cards) .item img {
  width: 100%;
}
:where(.Cards).IsLayer .item {
  display: grid;
}
:where(.Cards).IsLayer .item > * {
  z-index: 1;
  grid-area: 1/1;
}
:where(.Cards).IsLayer .item figure {
  margin: 0px;
  height: 100%;
  width: 100%;
}
:where(.Cards).IsLayer .item figure img {
  height: 100%;
  object-fit: cover;
}
:where(.Cards).IsGrow .item {
  width: auto;
  flex: 1 1 0%;
}
:where(.Cards).IsFix {
  --itemW: 240px;
  justify-content: center;
}
:where(.Cards).IsFix .item {
  width: var(--itemW);
}
:where(.Cards).IsIcon {
  --iconW: 5em;
}
@media (min-width: 768px) {
  :where(.Cards).IsIcon {
    --iconW: 7.5em;
  }
}
:where(.Cards).IsIcon figure {
  min-height: var(--iconW);
  align-content: center;
}
:where(.Cards).IsIcon svg,
:where(.Cards).IsIcon img {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--iconW);
}
:where(.Cards).IsRow .item {
  flex-direction: row;
}
:where(.Cards).IsRow .item > div {
  flex: 1 1 0%;
}
:where(.Cards).IsRow figure {
  width: var(--imgW);
}
:where(.Cards).IsRow .box {
  flex-basis: 100%;
}
@media (min-width: 768px) {
  :where(.Cards).IsRow .box {
    flex-basis: auto;
  }
}
:where(.Cards).IsShift {
  --shift: var(--MY5);
  --shift2: calc(var(--shift)*2);
  --Nshift: calc(var(--shift)*-1);
  --Nshift2: calc(var(--shift)*-2);
}
@media (min-width: 768px) {
  :where(.Cards).IsShift .item:nth-child(even) {
    margin-block: var(--shift) var(--Nshift);
  }
}
:where(.Cards).IsShift .item:last-child {
  margin-bottom: 0px;
}
:where(.Cards).col1 {
  --itemW: calc((100% - (var(--gap) * 0)) / 1);
}
:where(.Cards).col2 {
  --itemW: calc((100% - (var(--gap) * 1)) / 2);
}
:where(.Cards).col3 {
  --itemW: calc((100% - (var(--gap) * 2)) / 3);
}
:where(.Cards).col4 {
  --itemW: calc((100% - (var(--gap) * 3)) / 4);
}
:where(.Cards).col5 {
  --itemW: calc((100% - (var(--gap) * 4)) / 5);
}
:where(.Cards).col6 {
  --itemW: calc((100% - (var(--gap) * 5)) / 6);
}
@media (max-width: 1023px) {
  :where(.Cards):is(.bp-lg) > .item {
    width: calc(50% - var(--gap) / 2);
    flex: unset;
  }
}
@media (max-width: 767px) {
  :where(.Cards):not(.bp-sm) > .item {
    width: calc(50% - var(--gap) / 2);
    flex: unset;
  }
}
@media (max-width: 639px) {
  :where(.Cards):not(.bp-sm) > .item {
    width: 100%;
    flex: unset;
  }
}
@media (max-width: 479px) {
  :where(.Cards):not(.min2) > .item {
    width: 100%;
  }
}

:root {
  interpolate-size: allow-keywords;
}

:where(.Toggle) {
  --bfFF: var(--Eng);
  --bfC: var(--WH);
  --bfBG: var(--MC);
  --abfBG: var(--SC);
  --bfRad: 4px;
  --trans: 400ms ;
}
:where(.Toggle)::details-content {
  height: 0px;
  overflow: hidden;
  transition: var(--trans) allow-discrete;
}
:where(.Toggle)[open]::details-content {
  height: auto;
}
:where(.Toggle) summary {
  position: relative;
  cursor: pointer;
  list-style-type: none;
  background-color: var(--qBG);
  padding: 1em;
  padding-right: 2.5em;
  outline: 2px solid transparent;
  outline-offset: 2px;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  transition-duration: 0.4s;
}
:where(.Toggle) summary:hover {
  opacity: 0.8;
}
:where(.Toggle) summary::-webkit-details-marker {
  display: none;
}
:where(.Toggle) summary .ToggleIcon {
  position: absolute;
  right: 1em;
  top: 50%;
  font-size: 1.5em;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  transition-duration: 0.4s;
  translate: 0 -50%;
}
:where(.Toggle)[open] summary .ToggleIcon {
  scale: 1 -1;
}
:where(.Toggle) > div {
  position: relative;
  background-color: var(--aBG);
  padding: 1em;
}
:where(.Toggle) .has_img {
  display: flex;
  width: 100%;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 1em;
}
:where(.Toggle) .has_img figure {
  order: 1;
  margin-left: auto;
  width: var(--imgW, 30%);
  max-width: 100%;
}
:where(.Toggle) .has_img figure img {
  display: block;
  height: auto;
  width: 100%;
}
:where(.Toggle) .has_img > div {
  flex: 1 1 0%;
}
:where(.Toggle) .has_img:not(.bp-sm) figure {
  margin-left: 0px;
  width: 100%;
}
@media (min-width: 768px) {
  :where(.Toggle) .has_img:not(.bp-sm) figure {
    margin-left: auto;
    width: var(--imgW, 30%);
  }
}
:where(.Toggle) .has_img.bp-sm figure {
  margin-left: 0px;
  width: 100%;
}
@media (min-width: 640px) {
  :where(.Toggle) .has_img.bp-sm figure {
    margin-left: auto;
    width: var(--imgW, 30%);
  }
}
:where(.Toggle).IsQa summary,
:where(.Toggle).IsQa > div {
  padding-left: 4em;
}
:where(.Toggle).IsQa summary:before,
:where(.Toggle).IsQa > div:before {
  content: "";
  position: absolute;
  left: 1em;
  top: 50%;
  display: block;
  aspect-ratio: 1/1;
  width: 2em;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  align-content: center;
  border-radius: var(--bfRad);
  background-color: var(--bfBG);
  text-align: center;
  font-family: var(--bfFF);
  color: var(--bfC);
}
:where(.Toggle).IsQa summary:before {
  content: "Q";
}
:where(.Toggle).IsQa > div:before {
  content: "A";
  background-color: var(--abfBG);
}
:where(.Toggle).IsSmall {
  width: fit-content;
}
:where(.Toggle).IsSmall summary {
  display: inline-block;
  padding-top: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
  padding-right: 1em;
  font-size: 1.2em;
  color: var(--gr);
}
:where(.Toggle).IsSmall summary:after {
  content: "+";
  position: absolute;
  right: 0px;
  display: inline-block;
  font-family: var(--icon, inherit);
  --tw-text-opacity: 1;
  color: rgb(136, 136, 136, var(--tw-text-opacity, 1));
  color: inherit;
  transform-origin: 100% 50%;
}
:where(.Toggle).IsSmall[open] summary:after {
  content: "-";
  scale: 1.5 1;
}
:where(.Toggle).IsSmall > div {
  position: relative;
  padding: 0px;
  font-size: 0.875em;
}
:where(.Toggle).IsSmall summary:hover {
  color: var(--AC);
}

:where(.Panel) {
  position: relative;
  --MY: 0em;
  --bg: var(--UN);
  --beforeFZ: 75%;
  --beforeC: var(--MC);
  --afterW: 2em;
  --afterBG: var(--WH20);
  --imgW: 30%;
}
:where(.Panel) .item {
  position: relative;
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  gap: var(--gap);
  border-radius: var(--rad);
  background-color: var(--bg);
  padding: var(--PX);
  counter-increment: cnt;
}
:where(.Panel) .item + .item {
  margin-top: var(--MY);
}
:where(.Panel) .item figure {
  width: var(--imgW, 30%);
}
:where(.Panel) .item figure:where(.Panel .IsRev *) {
  order: 1;
}
:where(.Panel) .item figure img {
  display: block;
  height: auto;
  width: 100%;
}
:where(.Panel) .item > div {
  flex: 1 1 0%;
}
:where(.Panel) .item:not(.bp-sm) figure {
  width: 100%;
}
@media (min-width: 768px) {
  :where(.Panel) .item:not(.bp-sm) figure {
    width: var(--imgW, 30%);
  }
}
:where(.Panel) .item.bp-sm figure {
  order: -1;
  width: 100%;
}
@media (min-width: 640px) {
  :where(.Panel) .item.bp-sm figure {
    width: var(--imgW, 30%);
    order: revert;
  }
}
:where(.Panel).img20 {
  --imgW: 20%;
}
:where(.Panel).img30 {
  --imgW: 30%;
}
:where(.Panel).img40 {
  --imgW: 40%;
}
:where(.Panel).img50 {
  --imgW: 50%;
}
:where(.Panel).IsFlow .item:after {
  content: "";
  position: absolute;
  left: 50%;
  display: block;
  aspect-ratio: 1/1;
  width: var(--afterW);
  background-color: var(--afterBG);
  clip-path: polygon(0 15%, 50% 100%, 100% 15%);
  top: calc(100% + var(--MY) / 2);
  transform: translate(-50%, -50%);
}
:where(.Panel).IsFlow .item:last-of-type:after {
  display: none;
}

:where(.Flex55) > * {
  width: 100%;
}
@media (min-width: 768px) {
  :where(.Flex55) > * {
    width: calc(50% - var(--gap) / 2);
  }
}
:where(.Flex55).bp-sm > * {
  width: 100%;
}
@media (min-width: 640px) {
  :where(.Flex55).bp-sm > * {
    width: calc(50% - var(--gap) / 2);
  }
}
@media (min-width: 768px) {
  :where(.Flex55).bp-sm > * {
    width: calc(50% - var(--gap) / 2);
  }
}

:where(.Flex46) {
  --few: 40%;
}
:where(.Flex46) > :where(:nth-child(1)) {
  width: 100%;
}
@media (min-width: 768px) {
  :where(.Flex46) > :where(:nth-child(1)) {
    width: calc(var(--few));
  }
}
:where(.Flex46) > :where(:nth-child(2)) {
  width: 100%;
}
@media (min-width: 768px) {
  :where(.Flex46) > :where(:nth-child(2)) {
    width: calc(100% - var(--few) - var(--gap));
  }
}
@media (min-width: 640px) {
  :where(.Flex46).bp-sm > :where(:nth-child(1)) {
    width: calc(var(--few));
  }
}
@media (min-width: 640px) {
  :where(.Flex46).bp-sm > :where(:nth-child(2)) {
    width: calc(100% - var(--few) - var(--gap));
  }
}

:where(.Flex64) {
  --few: 40%;
}
:where(.Flex64) > :where(:nth-child(1)) {
  width: 100%;
}
@media (min-width: 768px) {
  :where(.Flex64) > :where(:nth-child(1)) {
    width: calc(100% - var(--few) - var(--gap));
  }
}
:where(.Flex64) > :where(:nth-child(2)) {
  width: 100%;
}
@media (min-width: 768px) {
  :where(.Flex64) > :where(:nth-child(2)) {
    width: calc(var(--few));
  }
}
@media (min-width: 640px) {
  :where(.Flex64).bp-sm > :where(:nth-child(1)) {
    width: calc(100% - var(--few) - var(--gap));
  }
}
@media (min-width: 640px) {
  :where(.Flex64).bp-sm > :where(:nth-child(2)) {
    width: calc(var(--few));
  }
}

:where(.Flex37) {
  --few: 30%;
}
:where(.Flex37) > :where(:nth-child(1)) {
  width: 100%;
}
@media (min-width: 768px) {
  :where(.Flex37) > :where(:nth-child(1)) {
    width: calc(var(--few));
  }
}
:where(.Flex37) > :where(:nth-child(2)) {
  width: 100%;
}
@media (min-width: 768px) {
  :where(.Flex37) > :where(:nth-child(2)) {
    width: calc(100% - var(--few) - var(--gap));
  }
}
@media (min-width: 640px) {
  :where(.Flex37).bp-sm > :where(:nth-child(1)) {
    width: calc(var(--few));
  }
}
@media (min-width: 640px) {
  :where(.Flex37).bp-sm > :where(:nth-child(2)) {
    width: calc(100% - var(--few) - var(--gap));
  }
}

:where(.Flex73) {
  --few: 30%;
}
:where(.Flex73) > :where(:nth-child(1)) {
  width: 100%;
}
@media (min-width: 768px) {
  :where(.Flex73) > :where(:nth-child(1)) {
    width: calc(100% - var(--few) - var(--gap));
  }
}
:where(.Flex73) > :where(:nth-child(2)) {
  width: 100%;
}
@media (min-width: 768px) {
  :where(.Flex73) > :where(:nth-child(2)) {
    width: calc(var(--few));
  }
}
@media (min-width: 640px) {
  :where(.Flex73).bp-sm > :where(:nth-child(1)) {
    width: calc(100% - var(--few) - var(--gap));
  }
}
@media (min-width: 640px) {
  :where(.Flex73).bp-sm > :where(:nth-child(2)) {
    width: calc(var(--few));
  }
}

:where(.Flex28) {
  --few: 20%;
}
:where(.Flex28) > :where(:nth-child(1)) {
  width: 100%;
}
@media (min-width: 768px) {
  :where(.Flex28) > :where(:nth-child(1)) {
    width: calc(var(--few));
  }
}
:where(.Flex28) > :where(:nth-child(2)) {
  width: 100%;
}
@media (min-width: 768px) {
  :where(.Flex28) > :where(:nth-child(2)) {
    width: calc(100% - var(--few) - var(--gap));
  }
}
@media (min-width: 640px) {
  :where(.Flex28).bp-sm > :where(:nth-child(1)) {
    width: calc(var(--few));
  }
}
@media (min-width: 640px) {
  :where(.Flex28).bp-sm > :where(:nth-child(2)) {
    width: calc(100% - var(--few) - var(--gap));
  }
}

:where(.Flex82) {
  --few: 20%;
}
:where(.Flex82) > :where(:nth-child(1)) {
  width: 100%;
}
@media (min-width: 768px) {
  :where(.Flex82) > :where(:nth-child(1)) {
    width: calc(100% - var(--few) - var(--gap));
  }
}
:where(.Flex82) > :where(:nth-child(2)) {
  width: 100%;
}
@media (min-width: 768px) {
  :where(.Flex82) > :where(:nth-child(2)) {
    width: calc(var(--few));
  }
}
@media (min-width: 640px) {
  :where(.Flex82).bp-sm > :where(:nth-child(1)) {
    width: calc(100% - var(--few) - var(--gap));
  }
}
@media (min-width: 640px) {
  :where(.Flex82).bp-sm > :where(:nth-child(2)) {
    width: calc(var(--few));
  }
}

:where(.Flex55, .Flex28, .Flex37, .Flex46, .Flex64, .Flex73, .Flex82) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
}
:where(.Flex55, .Flex28, .Flex37, .Flex46, .Flex64, .Flex73, .Flex82) img {
  width: 100%;
}
:where(.Flex55, .Flex28, .Flex37, .Flex46, .Flex64, .Flex73, .Flex82):not(.bp-sm) > figure {
  order: -1;
}
@media (min-width: 768px) {
  :where(.Flex55, .Flex28, .Flex37, .Flex46, .Flex64, .Flex73, .Flex82):not(.bp-sm) > figure {
    order: revert;
  }
}
:where(.Flex55, .Flex28, .Flex37, .Flex46, .Flex64, .Flex73, .Flex82).bp-sm > figure {
  order: -1;
}
@media (min-width: 640px) {
  :where(.Flex55, .Flex28, .Flex37, .Flex46, .Flex64, .Flex73, .Flex82).bp-sm > figure {
    order: revert;
  }
}

:where(.Wrap) {
  position: relative;
  margin-left: var(--out);
  margin-right: var(--out);
  width: auto;
  max-width: none;
  padding-top: var(--MY);
  padding-bottom: var(--MY);
}
:where(.Wrap) > * {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}
:where(.Wrap) > * + * {
  margin-top: var(--MY5);
}
:where(.Wrap) + .Wrap {
  margin-top: 0px;
}

/* ScrollX（Next ページ / フロント横スクロール） */
.ScrollX {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin-left: var(--out);
}

.ScrollTrack {
  position: sticky;
  top: 0;
  display: flex;
  will-change: transform;
}
.ScrollTrack > * {
  min-width: 100vw;
  min-height: 100lvh;
}

.ScrollSpacer {
  width: 100%;
  pointer-events: none;
}

.mindMap {
  align-content: center;
  font-size: var(--mmFZ);
  min-height: 100lvh;
  font-family: var(--Jost);
  position: relative;
}

.mindMap > * {
  display: inline-block;
  cursor: default;
  transition: 0.4s;
  line-height: 1;
  margin: 0;
}

.mindWobble {
  position: relative;
  font-size: calc(var(--mmFZ) * 5.5);
  font-family: var(--Jost);
  z-index: 10;
  line-height: 0.8em;
  display: inline-block;
  will-change: transform;
  --mmWobbleAmp: 15;
  --mmWobbleAmpX: 32;
  --mmWobbleAmpY: 32;
  --mmWobbleFreqX: 0.0005;
  --mmWobbleFreqY: 0.0003;
}

.mmStatic {
  transform: none !important;
}

:where(.Stick) {
  --Nshift: 0;
  --scr: 50%;
  --shift: calc(100% - var(--item) + var(--scr));
  --shift: 12.5%;
}
:where(.Stick) .StickItem {
  position: sticky;
  top: 0px;
  text-align: center;
  vertical-align: top;
}
:where(.Stick) .StickItem img {
  width: 100%;
}
:where(.Stick) .StickScr {
  position: relative;
  z-index: 1;
  margin-top: 0px;
  margin-right: 0px;
}
:where(.Stick).IsColumn {
  display: block;
}
:where(.Stick).IsColumn > * {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  flex: 0 1 auto;
}
:where(.Stick).IsRev .StickScr {
  margin-left: 0px;
}
@media (min-width: 1280px) {
  :where(.Stick) {
    display: flex;
    align-items: flex-start;
    --Nshift: calc(var(--shift) * -1);
  }
  :where(.Stick) .StickItem {
    flex: 1 1 0%;
  }
  :where(.Stick) .StickScr {
    margin-left: var(--Nshift);
    width: var(--scr);
  }
  :where(.Stick).IsRev .StickScr {
    margin-right: var(--Nshift);
  }
  :where(.Stick).IsRev .StickItem {
    order: 1;
  }
}
@media (min-width: 1024px) {
  :where(.Stick).bp-lg {
    display: flex;
    align-items: flex-start;
    --Nshift: calc(var(--shift) * -1);
  }
  :where(.Stick).bp-lg .StickItem {
    flex: 1 1 0%;
  }
  :where(.Stick).bp-lg .StickScr {
    margin-left: var(--Nshift);
    width: var(--scr);
  }
  :where(.Stick).bp-lg.IsRev .StickScr {
    margin-right: var(--Nshift);
  }
  :where(.Stick).bp-lg.IsRev .StickItem {
    order: 1;
  }
}
@media (min-width: 768px) {
  :where(.Stick).bp-md {
    display: flex;
    align-items: flex-start;
    --Nshift: calc(var(--shift) * -1);
  }
  :where(.Stick).bp-md .StickItem {
    flex: 1 1 0%;
  }
  :where(.Stick).bp-md .StickScr {
    margin-left: var(--Nshift);
    width: var(--scr);
  }
  :where(.Stick).bp-md.IsRev .StickScr {
    margin-right: var(--Nshift);
  }
  :where(.Stick).bp-md.IsRev .StickItem {
    order: 1;
  }
}
@media (min-width: 640px) {
  :where(.Stick).bp-sm {
    display: flex;
    align-items: flex-start;
    --Nshift: calc(var(--shift) * -1);
  }
  :where(.Stick).bp-sm .StickItem {
    flex: 1 1 0%;
  }
  :where(.Stick).bp-sm .StickScr {
    margin-left: var(--Nshift);
    width: var(--scr);
  }
  :where(.Stick).bp-sm.IsRev .StickScr {
    margin-right: var(--Nshift);
  }
  :where(.Stick).bp-sm.IsRev .StickItem {
    order: 1;
  }
}
:where(.Stick).IsColumn {
  flex-direction: column;
}
:where(.Stick).IsColumn > * {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  flex: 0 1 auto;
}

/* スクロール連動のラッパー（複数配置可） */
:where(.PathDraw) {
  --PDS: 0.5;
  --PES: 0.55;
  --PVM: 0.5;
  --stw: 1;
  --stc: var(--CC);
  min-height: 55vh;
}
:where(.PathDraw) svg {
  display: block;
}
:where(.PathDraw) path {
  fill: none;
  stroke: var(--stc);
  stroke-width: var(--stw);
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* BorderDraw: --PVM=中央Y比、--PDS=要素中心が「中央+帯」から「中央」へ動く区間(vh比)で線が引き切れる */
:where(.BorderDraw) {
  --PDS: 0.2;
  --PVM: 0.345;
  --stw: 1px;
  --stc: var(--CC);
  position: relative;
}
:where(.BorderDraw) > .BorderDrawSvg {
  pointer-events: none;
  position: absolute;
  left: 0px;
  bottom: 0px;
  display: block;
  height: var(--stw);
  width: 100%;
  overflow: visible;
}
:where(.BorderDraw) > .BorderDrawSvg path {
  stroke: var(--stc);
  stroke-width: var(--stw);
  stroke-linecap: buttom;
}
:where(.BorderDraw) {
  /* IsDown: 先端を載せる基準線は --PVM（0.5=画面縦中央）。--PDS/--PES は縦ロジックでは未使用 */
}
:where(.BorderDraw).IsDown {
  --PVM: 0.5;
}
:where(.BorderDraw).IsDown > .BorderDrawSvg {
  position: absolute;
  left: 0px;
  top: 0px;
  height: 100%;
  width: var(--stw);
}
:where(.BorderDraw).IsDown > .BorderDrawSvg.Right {
  left: auto;
  right: 0px;
}

:where(.RgbShift) {
  --stw: 20;
  --stc: var(--CC);
  --RgbShiftRX: -10px;
  --RgbShiftRY: -5px;
  --RgbShiftBX: 10px;
  --RgbShiftBY: 5px;
  --delay: 0ms;
  --beat: 6s;
  --shift: .5em;
  --xl: var(--shift);
  --x0: 0px;
  --xs: calc(var(--xl)*0.5);
  --yl: 0px;
  --y0: 0px;
  --ys: calc(var(--yl)*0.5);
}
:where(.RgbShift) svg {
  display: block;
}
:where(.RgbShift) path {
  fill: none;
  stroke: var(--stc);
  stroke-width: var(--stw);
  stroke-linecap: round;
  stroke-linejoin: round;
}
:where(.RgbShift) .RgbShiftStack {
  isolation: isolate;
  display: grid;
}
:where(.RgbShift) .RgbShiftLayer {
  mix-blend-mode: screen;
  will-change: transform;
  grid-area: 1/1;
  animation-delay: var(--delay);
}
:where(.RgbShift) .RgbShiftR {
  pointer-events: none;
  transform: translate(var(--RgbShiftRX), var(--RgbShiftRY));
  --xl: calc(var(--shift)*-1);
  --x0: 0px;
  --xs: calc(var(--xl)*0.5);
  --yl: 0px;
  --y0: 0px;
  --ys: calc(var(--yl)*0.5);
}
:where(.RgbShift) .RgbShiftR:is(.IsBeat *) {
  transform: unset;
  animation: RgbShift var(--beat) var(--delay) infinite;
}
:where(.RgbShift) .RgbShiftR:is(.IsBeatY *) {
  transform: unset;
  animation: RgbShiftY var(--beat) var(--delay) infinite;
}
:where(.RgbShift) .RgbShiftG {
  pointer-events: none;
  transform: translate(0, 0);
}
:where(.RgbShift) .RgbShiftB {
  pointer-events: auto;
  transform: translate(var(--RgbShiftBX), var(--RgbShiftBY));
}
:where(.RgbShift) .RgbShiftB:is(.IsBeat *) {
  transform: unset;
  animation: RgbShift 3s infinite;
}
:where(.RgbShift) .RgbShiftB:is(.IsBeatY *) {
  transform: unset;
  animation: RgbShiftY 3s infinite;
}
@keyframes RgbShift {
  1% {
    transform: translate(var(--xl), var(--yl));
  }
  2% {
    transform: translate(var(--x0), var(--y0));
  }
  5% {
    transform: translate(var(--xs), var(--ys));
  }
  100% {
    transform: translate(0px, 0px);
  }
}
@keyframes RgbShiftY {
  1% {
    transform: translate(var(--yl), var(--xl));
  }
  2% {
    transform: translate(var(--y0), var(--x0));
  }
  5% {
    transform: translate(var(--ys), var(--xs));
  }
  100% {
    transform: translate(0px, 0px);
  }
}

:where(.MaskMosaique) {
  --mosaique-color: var(--MC);
  --mosaique-size-factor: 0.02;
  --mosaique-stagger: 800;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
:where(.MaskMosaique) > .MaskMosaiqueCanvas {
  pointer-events: none;
  position: absolute;
  inset: 0px;
}

:where(.LottieScroll) {
  --canvasH: 100lvh;
}
:where(.LottieScroll) canvas {
  min-height: var(--canvasH);
}
:where(.LottieScroll).IsDemo {
  animation: IsDemo 6s linear forwards;
}
@keyframes IsDemo {
  0% {
    filter: brightness(105%);
  }
  100% {
    filter: brightness(150%);
  }
}

.StickyStep {
  --top: calc(100vh - var(--head)*3);
  --step: 4em;
}
@media (min-width: 768px) {
  .StickyStep {
    --top: calc(100vh - 2.5em);
  }
}
.StickyStep {
  margin-left: auto;
  margin-right: auto;
  display: flex;
  width: fit-content;
  max-width: 100%;
  align-items: flex-start;
  padding-top: 1em;
  padding-bottom: 4em;
}
.StickyStep > * {
  position: sticky;
  top: var(--top);
  margin-left: 0.125em;
  margin-right: 0.125em;
}
@media (min-width: 768px) {
  .StickyStep > * {
    margin-left: 0.5em;
    margin-right: 0.5em;
  }
}
.StickyStep > *:nth-child(2) {
  margin-top: calc(var(--step) * 1);
}
.StickyStep > *:nth-child(3) {
  margin-top: calc(var(--step) * 2);
}
.StickyStep > *:nth-child(4) {
  margin-top: calc(var(--step) * 3);
}
.StickyStep > *:nth-child(5) {
  margin-top: calc(var(--step) * 4);
}
.StickyStep > *:nth-child(6) {
  margin-top: calc(var(--step) * 5);
}
.StickyStep > *:nth-child(7) {
  margin-top: calc(var(--step) * 6);
}
.StickyStep > *:nth-child(8) {
  margin-top: calc(var(--step) * 7);
}
.StickyStep > *:nth-child(9) {
  margin-top: calc(var(--step) * 8);
}

:root {
  --spring-easing: linear(0, 0.004, 0.016, 0.035, 0.063, 0.098, 0.141 13.6%, 0.25, 0.391, 0.563, 0.765,
                  1, 0.891 40.9%, 0.848, 0.813, 0.785, 0.766, 0.754, 0.75, 0.754, 0.766, 0.785,
                  0.813, 0.848, 0.891 68.2%, 1 72.7%, 0.973, 0.953, 0.941, 0.938, 0.941, 0.953,
                  0.973, 1, 0.988, 0.984, 0.988, 1);
  --spring-duration: 1.333s;
}

:where(.RandomRects) {
  position: relative;
}
:where(.RandomRects) .item {
  position: absolute;
  transform: translate(-50%, -50%);
}

.GeneratedShapes > :not(g),
.GeneratedShapes > g > *:not(line) {
  transform-origin: center;
  transform-box: fill-box;
  rotate: var(--GSR);
}

.MarkDown p {
  margin-bottom: 1em;
}
.MarkDown br {
  display: block;
  content: "";
}
.MarkDown ul {
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 1em;
}
.MarkDown li {
  list-style-type: disc;
}
.MarkDown li ::marker {
  margin-right: -0.5rem;
}
.MarkDown pre {
  overflow: auto;
}

.img100 {
  --imgW: 100%;
}

.img95 {
  --imgW: 95%;
}

.img90 {
  --imgW: 90%;
}

.img875 {
  --imgW: 87.5%;
}

.img85 {
  --imgW: 85%;
}

.img80 {
  --imgW: 80%;
}

.img75 {
  --imgW: 75%;
}

.img70 {
  --imgW: 70%;
}

.img66 {
  --imgW: 66%;
}

.img65 {
  --imgW: 65%;
}

.img60 {
  --imgW: 60%;
}

.img55 {
  --imgW: 55%;
}

.img50 {
  --imgW: 50%;
}

.img45 {
  --imgW: 45%;
}

.img40 {
  --imgW: 40%;
}

.img35 {
  --imgW: 35%;
}

.img33 {
  --imgW: 33%;
}

.img30 {
  --imgW: 30%;
}

.img25 {
  --imgW: 25%;
}

.img20 {
  --imgW: 20%;
}

.img10 {
  --imgW: 10%;
}

:where(.ImgText) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
  --imgW: calc(50% - var(--gap)/2);
}
:where(.ImgText) figure {
  margin-left: auto;
  margin-right: auto;
  width: var(--imgW, calc(50% - var(--gap) / 2));
}
:where(.ImgText) figure > a,
:where(.ImgText) figure img {
  display: block;
  height: auto;
  width: 100%;
}
:where(.ImgText) > div {
  flex: 1 1 0%;
}
:where(.ImgText).IsRev figure {
  order: 1;
}
:where(.ImgText):not(.bp-sm) figure {
  order: -1;
  width: 100%;
}
@media (min-width: 768px) {
  :where(.ImgText):not(.bp-sm) figure {
    width: var(--imgW, calc(50% - var(--gap) / 2));
    order: revert;
  }
}
:where(.ImgText).bp-sm figure {
  order: -1;
  width: 100%;
}
@media (min-width: 640px) {
  :where(.ImgText).bp-sm figure {
    width: var(--imgW, calc(50% - var(--gap) / 2));
    order: revert;
  }
}

:is(.BarBFAF, .BarBF, .BarAF) {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}
:is(.BarBFAF, .BarBF, .BarAF):before, :is(.BarBFAF, .BarBF, .BarAF):after {
  content: "";
  height: var(--bdw);
  flex: 1;
  background-color: var(--CC);
}

:is(.BarBF):after {
  display: none;
}

:is(.BarAF):before {
  display: none;
}

.DescList {
  --PY: 0.5em;
  --PX: 1em;
  --dtBG: var(--TR);
  --dtW: 20%;
  --ddW: calc(100% - var(--dtW));
  --dtFW: 600;
  --bdc: currentColor;
  --bdw: 1px;
}
@media (max-width: 639px) {
  .DescList {
    --PY: 0.5em;
  }
}
@media (max-width: 639px) {
  .DescList dt, .DescList dd {
    width: 100%;
  }
  .DescList dd {
    padding-top: 0;
  }
}
.DescList dl {
  display: flex;
  flex-wrap: wrap;
}
.DescList dt {
  width: var(--dtW);
  font-weight: var(--dtFW);
  padding-top: var(--PY);
  padding-bottom: var(--PY);
  padding-left: var(--PX);
  padding-right: var(--PX);
  background-color: var(--dtBG);
}
.DescList dd {
  width: var(--ddW);
  padding-top: var(--PY);
  padding-bottom: var(--PY);
  padding-left: var(--PX);
  padding-right: var(--PX);
}
.DescList.IsSimple dt, .DescList.IsSimple dd {
  border-bottom-color: var(--line);
}
@media (max-width: 639px) {
  .DescList.IsSimple dt {
    border-bottom: none;
  }
}
.DescList.IsZebra {
  --oddBG: var(--BC);
}
.DescList.IsZebra dt:nth-of-type(odd),
.DescList.IsZebra dd:nth-of-type(odd) {
  background-color: var(--oddBG);
}
.DescList.IsZebra dt, .DescList.IsZebra dd {
  padding-left: var(--PX);
  padding-right: var(--PX);
}
@media (max-width: 639px) {
  .DescList.IsZebra dt {
    border-bottom: none;
  }
}
.DescList.IsBorder {
  --dtBG: var(--BC);
}
.DescList.IsBorder dl {
  border-top: var(--bdw) solid var(--bdc);
  border-left: var(--bdw) solid var(--bdc);
}
.DescList.IsBorder dt, .DescList.IsBorder dd {
  border-bottom: var(--bdw) solid var(--bdc);
  border-right: var(--bdw) solid var(--bdc);
}
@media (max-width: 639px) {
  .DescList.IsBorder dl {
    flex-wrap: wrap;
  }
  .DescList.IsBorder dt, .DescList.IsBorder dd {
    width: 100%;
  }
}
.DescList.IsHead {
  --dtBG: var(--MC);
}
.DescList.IsHead dl {
  padding-block: var(--PY);
  border-bottom: 2px solid var(--MC);
}
.DescList.IsHead dt {
  border-radius: var(--radH);
  text-align: center;
}
.DescList.IsHead dt, .DescList.IsHead dd {
  border: none;
}
@media (max-width: 639px) {
  .DescList.IsHead dl {
    flex-wrap: wrap;
  }
  .DescList.IsHead dt, .DescList.IsHead dd {
    width: 100%;
  }
}
.DescList.IsColumn dl {
  flex-direction: column;
  padding-block: var(--PY);
}
.DescList.IsColumn dt, .DescList.IsColumn dd {
  width: 100%;
  padding-block: calc(var(--PY) / 2);
}
.DescList.IsColumn dd {
  border-bottom: var(--bdw) solid var(--bdc);
}
.DescList.IsTimeline {
  --pl: 6vmin;
  position: relative;
}
.DescList.IsTimeline dl {
  padding-left: var(--pl);
  position: relative;
}
.DescList.IsTimeline dl::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  transform: translateX(-50%);
  height: 100%;
  background: var(--MC);
}
.DescList.IsTimeline dt {
  position: relative;
  min-width: 10em;
  padding: 1em;
}
.DescList.IsTimeline dt::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(var(--pl) * -1);
  transform: translateX(-50%);
  display: block;
  width: calc(var(--pl) / 4);
  height: calc(var(--pl) / 4);
  margin: auto;
  border-radius: 100px;
  background: var(--MC);
}
.DescList.IsTimeline dt::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(var(--pl) * -1);
  display: block;
  width: var(--pl);
  height: 1px;
  margin: auto;
  background: var(--MC);
  z-index: -1;
}
.DescList.IsTimeline dd {
  padding: 1em;
  border: none;
}
@media (max-width: 639px) {
  .DescList.IsTimeline dt, .DescList.IsTimeline dd {
    width: 100%;
  }
  .DescList.IsTimeline dt {
    min-width: unset;
  }
}
.DescList.IsCenter {
  --dtW: 50%;
}
.DescList.IsCenter dt {
  text-align: right;
  justify-content: flex-end;
}
@media (max-width: 639px) {
  .DescList.IsCenter dt, .DescList.IsCenter dd {
    width: var(--dtW);
  }
}
@media (max-width: 639px) {
  .DescList.IsCenter dd {
    padding-top: var(--PY);
  }
}
.DescList.IsDdright dd {
  text-align: right;
}

:root {
  --tsW: .5rem;
  --txshwh: 0 0 var(--tsW) var(--WH);
  --txshbk: 0 0 var(--tsW) var(--BK);
  --txshmc: 0 0 var(--tsW) var(--MC);
  --txshsc: 0 0 var(--tsW) var(--SC);
  --txshtx: 0 0 var(--tsW) var(--TX);
  --dsW: 0.5rem;
  --dswh: drop-shadow(0 0px var(--dsW) var(--WH));
  --dsbk: drop-shadow(0 0px var(--dsW) var(--BK));
  --dsmc: drop-shadow(0 0px var(--dsW) var(--MC));
  --dsbc: drop-shadow(0 0px var(--dsW) var(--BC)) drop-shadow(0 0px var(--dsW) var(--BC)) drop-shadow(0 0px var(--dsW) var(--BC)) drop-shadow(0 0px var(--dsW) var(--BC)) ;
  --dsgr: drop-shadow(0 0px var(--dsW) var(--GR));
  --pxshwh:0px 1px var(--WH);
  --pxdswh:drop-shadow(1px 1px var(--WH));
  --bsW:4px;
  --bxshbk: 0 var(--bsW) calc(var(--bsW)*2 ) var(--bk20);
}

.bxshbk {
  box-shadow: var(--bxshbk);
}

.txshwh {
  text-shadow: var(--txshwh);
}

.txshbk {
  text-shadow: var(--txshbk);
}

.txshmc {
  text-shadow: var(--txshmc);
}

.txshsc {
  text-shadow: var(--txshsc);
}

.txshtx {
  text-shadow: var(--txshtx);
}

.WTS {
  -webkit-text-stroke: var(--WTS);
  paint-order: stroke;
}

.txstwh {
  -webkit-text-stroke: var(--stw) var(--WH);
  paint-order: stroke;
}

.txstbk {
  -webkit-text-stroke: var(--stw) var(--BK);
  paint-order: stroke;
}

.txstsc {
  -webkit-text-stroke: var(--stw) var(--SC);
  paint-order: stroke;
}

.pxtswh {
  text-shadow: var(--pxtswh);
}

.dswh {
  filter: var(--dswh);
}

.dsbk {
  filter: var(--dsbk);
}

.dsmc {
  filter: var(--dsmc);
}

.dsbc {
  filter: var(--dsbc);
}

.dsgr {
  filter: var(--dsgr);
}

.pxdswh {
  filter: var(--pxdswh);
}

.pxdsbk {
  filter: var(--pxdsbk);
}

.pxdsmc {
  filter: var(--pxdsmc);
}

@layer globals {
  .imgContain img {
    object-fit: contain;
  }
  .imgCover img {
    object-fit: cover;
  }
  /* SVG を img で表示するセクション用（object-fit: cover を上書き） */
  .useSvgIcons img[src$=".svg"],
  .useSvgIcons img[src^="data:image/svg"] {
    object-fit: contain;
  }
  .img16-9 :is(img, svg, video) {
    aspect-ratio: 16/9;
  }
  .img5-7 :is(img, svg, video) {
    aspect-ratio: 5/7;
  }
  .img9-5 :is(img, svg, video) {
    aspect-ratio: 9/5;
  }
  .img8-5 :is(img, svg, video) {
    aspect-ratio: 8/5;
  }
  .img7-5 :is(img, svg, video) {
    aspect-ratio: 7/5;
  }
  .img6-5 :is(img, svg, video) {
    aspect-ratio: 6/5;
  }
  .img4-5 :is(img, svg, video) {
    aspect-ratio: 4/5;
  }
  .img3-5 :is(img, svg, video) {
    aspect-ratio: 3/5;
  }
  .img2-5 :is(img, svg, video) {
    aspect-ratio: 2/5;
  }
  .img1-5 :is(img, svg, video) {
    aspect-ratio: 1/5;
  }
  .img9-4 :is(img, svg, video) {
    aspect-ratio: 9/4;
  }
  .img7-4 :is(img, svg, video) {
    aspect-ratio: 7/4;
  }
  .img5-4 :is(img, svg, video) {
    aspect-ratio: 5/4;
  }
  .img3-4 :is(img, svg, video) {
    aspect-ratio: 3/4;
  }
  .img1-4 :is(img, svg, video) {
    aspect-ratio: 1/4;
  }
  .img7-3 :is(img, svg, video) {
    aspect-ratio: 7/3;
  }
  .img5-3 :is(img, svg, video) {
    aspect-ratio: 5/3;
  }
  .img4-3 :is(img, svg, video) {
    aspect-ratio: 4/3;
  }
  .img2-3 :is(img, svg, video) {
    aspect-ratio: 2/3;
  }
  .img1-3 :is(img, svg, video) {
    aspect-ratio: 1/3;
  }
  .img7-2 :is(img, svg, video) {
    aspect-ratio: 7/2;
  }
  .img5-2 :is(img, svg, video) {
    aspect-ratio: 5/2;
  }
  .img3-2 :is(img, svg, video) {
    aspect-ratio: 3/2;
  }
  .img1-2 :is(img, svg, video) {
    aspect-ratio: 1/2;
  }
  .img6-1 :is(img, svg, video) {
    aspect-ratio: 6/1;
  }
  .img5-1 :is(img, svg, video) {
    aspect-ratio: 5/1;
  }
  .img4-1 :is(img, svg, video) {
    aspect-ratio: 4/1;
  }
  .img3-1 :is(img, svg, video) {
    aspect-ratio: 3/1;
  }
  .img2-1 :is(img, svg, video) {
    aspect-ratio: 2/1;
  }
  .img1-1 :is(img, svg, video) {
    aspect-ratio: 1/1;
  }
}
body > * .lh1 {
  line-height: 1;
}
body > * .ls0, body > * .ls0 * {
  letter-spacing: 0em;
}

body > * .in1800 {
  padding-inline: var(--in1800);
}
body > * .in1740 {
  padding-inline: var(--in1740);
}
body > * .in1680 {
  padding-inline: var(--in1680);
}
body > * .in1620 {
  padding-inline: var(--in1620);
}
body > * .in1560 {
  padding-inline: var(--in1560);
}
body > * .in1500 {
  padding-inline: var(--in1500);
}
body > * .in1440 {
  padding-inline: var(--in1440);
}
body > * .in1380 {
  padding-inline: var(--in1380);
}
body > * .in1320 {
  padding-inline: var(--in1320);
}
body > * .in1200 {
  padding-inline: var(--in1200);
}
body > * .in1080 {
  padding-inline: var(--in1080);
}
body > * .in1000 {
  padding-inline: var(--in1000);
}
body > * .in960 {
  padding-inline: var(--in960);
}
body > * .in840 {
  padding-inline: var(--in840);
}
body > * .in800 {
  padding-inline: var(--in800);
}
body > * .in720 {
  padding-inline: var(--in720);
}
body > * .in660 {
  padding-inline: var(--in660);
}
body > * .in600 {
  padding-inline: var(--in600);
}

#experience-dialog {
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--foreground);
}

#experience-dialog::backdrop {
  background: transparent;
}

footer.Eng.Wrap {
  background-color: var(--foreground);
  background-image: url(../images/fff2.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left bottom;
}
footer.Eng.Wrap .text-center > ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.repulsion-lists-module {
  --WH: oklch(100% 0.00 60);
  --BC: oklch(99% 0.005 60);
  --TC: oklch(20% 0.00 270);
  --GR: oklch(75% 0.00 270);
  --MC: oklch(0.1 0.1 75);
  --SC: oklch(0.50 0.125 265);
  --AC: oklch(0.8 0.1 75);
  --background: oklch(99% 0.005 60);
  --foreground: oklch(20% 0.00 270);
  --Eng: var(--Jost);
  --HFF: var(--Jost);
  --repulsion-list-light: var(--WH);
  --repulsion-list-light-muted: var(--BC);
  --repulsion-list-dark: var(--TC);
  --repulsion-list-text-light: var(--WH);
}

.repulsion-lists-module .repulsion-list-chip.is-initial .repulsion-list-chip-control > span {
  font-family: var(--Jost);
}

.repulsion-lists-lines {
  position: absolute;
  inset: 0;
  overflow: visible;
  pointer-events: none;
  display: none;
}

.repulsion-lists-lines line {
  stroke-width: 1;
  stroke-opacity: 0.8;
  transition: x1 300ms ease-out, y1 300ms ease-out, x2 300ms ease-out, y2 300ms ease-out;
}

.repulsion-lists-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.repulsion-list-chip-control {
  display: block;
  width: 100%;
  height: 100%;
  align-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  color: inherit;
  text-decoration: none;
  position: relative;
  transform-origin: center;
  scale: 0.65625;
  transform: scale(var(--repulsion-list-chip-dynamic-scale, 1));
  transition: transform var(--btnTR) cubic-bezier(0.5, 1.25, 0.64, 1);
  opacity: var(--repulsion-list-chip-dynamic-opacity, 0.5);
}

.repulsion-list-chip-control a {
  color: inherit;
  text-decoration: none;
}

.repulsion-list-chip-content {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.625rem;
  min-width: 18.75rem;
  margin-inline: auto;
  color: var(--repulsion-list-dark);
  line-height: 1;
  letter-spacing: -0.05em;
  text-wrap: pretty;
  user-select: none;
  transition: background-color 200ms ease-out, min-width 200ms ease-out;
}

.repulsion-list-chip-content::before {
  content: "";
  position: absolute;
  inset: -1.25rem;
}

.repulsion-lists-module .emojis,
.repulsion-lists-module .counter {
  position: absolute;
  left: 0.25rem;
  width: 2.5rem;
  height: 2.5rem;
  pointer-events: none;
}

.repulsion-lists-module .emojis > div {
  position: relative;
  width: 2.5rem;
  height: 2.5rem;
}

.repulsion-lists-module .emoji {
  position: absolute;
  width: 2.5rem;
  height: 2.5rem;
  pointer-events: none;
}

.repulsion-lists-module .counter {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  color: var(--repulsion-list-light-muted);
  font-size: 0.875rem;
  opacity: 0;
  scale: 0;
  transition: opacity 200ms ease-out, scale 200ms ease-out;
}

.repulsion-lists-module .repulsion-list-chip-popup {
  position: absolute;
  z-index: 20;
  top: var(--popup-top, 100%);
  left: var(--popup-left, 0%);
  width: 100%;
  display: grid;
  grid-template-rows: var(--repulsion-list-chip-grid-rows, 0fr);
  background: var(--repulsion-list-dark);
  color: var(--repulsion-list-text-light);
  text-align: left;
  opacity: 0;
  pointer-events: none;
  transform: translate(var(--popup-translate-x, 0%), var(--popup-translate-y, 0%));
  transform-origin: center var(--popup-origin-y, top);
  border-top: var(--popup-border-top);
  border-bottom: var(--popup-border-bottom);
  transition: grid-template-rows 300ms cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0ms linear 50ms;
  overflow: hidden;
  padding: 1rem 1rem 0.625rem;
  cursor: default;
}

.repulsion-lists-module .repulsion-list-chip-popup p {
  margin: 0 0 0.625rem;
  font-size: 1rem;
}

.repulsion-lists-module .repulsion-list-chip-popup span {
  color: var(--repulsion-list-light-muted);
  font-size: 0.8rem;
}

.repulsion-lists-module [data-state=proximity] .counter,
.repulsion-lists-module [data-state=active] .counter,
.repulsion-lists-module [data-state=closing] .counter {
  display: flex;
  opacity: 1;
  scale: 1;
}

.repulsion-lists-module [data-state=active],
.repulsion-lists-module [data-state=closing] {
  z-index: 10;
}

.repulsion-lists-module [data-state=active] .repulsion-list-chip-label,
.repulsion-lists-module [data-state=closing] .repulsion-list-chip-label {
  color: var(--repulsion-list-text-light);
  background: var(--repulsion-list-dark);
  min-width: 18.75rem;
}

.repulsion-lists-module [data-state=active] .repulsion-list-chip-control {
  --repulsion-list-chip-dynamic-scale: 1.4;
  --repulsion-list-chip-dynamic-opacity: 1;
}

.repulsion-lists-module [data-state=active] .repulsion-list-chip-popup {
  pointer-events: auto;
  opacity: 1;
}

.repulsion-lists-module [data-state=closing] .repulsion-list-chip-popup {
  pointer-events: none;
  opacity: 0;
}

.repulsion-lists-module [data-state=active] .emoji {
  animation: repulsion_lists_emoji_rise var(--random-duration, 5s) ease-out var(--random-delay, 0s) forwards;
}

@keyframes repulsion_lists_emoji_rise {
  0% {
    transform: translate(-50%) translateY(0) scale(var(--random-scale, 1));
    opacity: 1;
  }
  70% {
    opacity: 1;
  }
  100% {
    transform: translate(-50%) translateY(-200px) scale(var(--random-scale, 1));
    opacity: 0;
  }
}
@media (min-width: 1181px) {
  .repulsion-lists-module .repulsion-lists-viewport {
    display: block;
  }
  .repulsion-lists-module #repulsion-lists-card-container {
    width: 100%;
    height: auto;
    margin-inline: 0;
  }
}
@media (max-width: 767px) {
  .repulsion-lists-module {
    width: 100vw;
    max-width: none;
    margin-inline: calc(50% - 50vw);
  }
  .repulsion-lists-module .repulsion-lists-intro h3 {
    font-size: clamp(2.6rem, 16vw, 5rem);
  }
  .repulsion-lists-module .repulsion-lists-viewport {
    justify-content: flex-start;
    padding-block: 3rem;
  }
  .repulsion-lists-module #repulsion-lists-card-container {
    width: 1000px;
    margin-inline: 100px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .repulsion-lists-module *,
  .repulsion-lists-module *::before,
  .repulsion-lists-module *::after {
    animation: none !important;
    transition-duration: 0ms !important;
  }
}
.inline-size {
  container-type: inline-size;
}

.rtl {
  direction: rtl;
}

.ltr {
  direction: ltr;
}

.text-align-last-justify {
  text-align-last: justify;
}

.translateYH {
  translate: 0 -50%;
}

.translateXH {
  translate: -50% 0;
}

.translateXYH {
  translate: -50% -50%;
}

.corner-bevel {
  corner-shape: bevel;
}

.BabelRightDown {
  border-radius: var(--rad) 0 var(--rad) 0;
  corner-shape: bevel;
}

.BabelLeft {
  border-radius: var(--rad) 0 0 var(--rad);
  corner-shape: bevel;
}

:where(.PageRoot) {
  font-size: var(--FZ);
  overflow-x: clip;
  font-family: var(--FF);
  font-weight: var(--FW);
  line-height: var(--LH);
  letter-spacing: var(--LS);
  color: var(--foreground);
  font-style: normal;
  background-color: var(--background);
  transition: 600ms;
  width: 100%;
}

:root {
  --pageTR: 0.5s;
  --initial-loading-min: 500ms;
}

:where(*)::-webkit-scrollbar {
  width: 0.375rem;
  height: 0.25rem;
  background-color: transparent;
}

:where(*)::-webkit-scrollbar-track {
  background-color: transparent;
}

:where(*)::-webkit-scrollbar-thumb {
  border-radius: var(--rad);
  background-color: color-mix(in srgb, transparent, var(--foreground) 30%);
}

html.PageTransitionScrollSmooth {
  scroll-behavior: smooth;
}

html.PageTransitionScrollInstant {
  scroll-behavior: auto !important;
}

.PageTransition {
  /* InitialLoading と同じトークンで canvas ラベルを揃える */
  --initial-loading-font-style: normal;
  --initial-loading-font-weight: 300;
  --initial-loading-line-height: 1;
  --initial-loading-font-size: calc(var(--mmFZ) * 3);
  --initial-loading-text: var(--WH);
  --page-rect-bg: var(--MC);
  --page-rect-size: 0.01;
  position: relative;
  isolation: isolate;
  min-height: 100lvh;
  background-color: var(--background);
}

.PageTransitionRunning {
  min-height: 100lvh;
}

.PageTransitionOverlay {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  pointer-events: none;
}

body.SiteTransitionPending > :not([data-site-transition-overlay]) {
  visibility: hidden;
}

body.SiteTransitionPending > [data-site-transition-overlay] {
  display: block !important;
  visibility: visible;
}

.PageTransitionCanvas {
  display: block;
  width: 100vw;
  height: 100lvh;
  pointer-events: none;
}

.InitialLoading {
  --initial-loading-font-style: normal;
  --initial-loading-font-weight: 300;
  --initial-loading-line-height: 1;
  --initial-loading-font-size: calc(var(--mmFZ)*3);
  --initial-loading-text: var(--background);
  --page-rect-bg: var(--MC);
  --page-rect-size: 0.01;
  visibility: visible;
  pointer-events: auto;
}

.InitialLoadingDone {
  visibility: hidden;
  pointer-events: none;
}

.InitialLoadingLayer {
  background-color: transparent;
  z-index: 2147483647;
}

.InitialLoadingCanvas {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100vw;
  height: 100lvh;
  pointer-events: none;
}

.InitialLoadingTextProbe {
  position: fixed;
  left: -100vw;
  top: -100vh;
  z-index: -1;
  visibility: hidden;
  width: calc(var(--wid) / 2);
  padding: 1rem 1.5rem;
  background-color: var(--background);
  color: var(--initial-loading-text);
  font-family: var(--Eng);
  font-size: var(--initial-loading-font-size);
  font-style: var(--initial-loading-font-style);
  font-weight: var(--initial-loading-font-weight);
  line-height: var(--initial-loading-line-height);
  text-align: center;
  pointer-events: none;
}

svg {
  display: inline-block;
}

b, strong {
  font-weight: 500;
}

h1, .h1FZ {
  font-size: var(--h1FZ);
}

h2, .h2FZ {
  font-size: var(--h2FZ);
}

h3, .h3FZ {
  font-size: var(--h3FZ);
}

.largeFZ {
  font-size: var(--largeFZ);
}

h4, h5, h6 {
  font-size: inherit;
}

h1, h2, h3, h4, h5, h6, .largeFZ {
  font-family: var(--HFF);
  font-weight: var(--HFW);
  line-height: var(--HLH);
  letter-spacing: var(--HLS);
}

.wid {
  width: var(--wid);
}

.PX {
  padding-inline: var(--PX);
}

.PY {
  padding-block: var(--PY);
}

.PX2 {
  padding-inline: var(--PX2);
}

.MY {
  margin-block: var(--MY);
}

.gap {
  gap: var(--gap);
}

.gapH {
  gap: var(--gapH);
}

:where(.BorderT) {
  border-top: var(--line);
}

:where(.BorderB) {
  border-bottom: var(--line);
}

:where(.BorderL) {
  border-left: var(--line);
}

:where(.BorderR) {
  border-right: var(--line);
}

:where(.BorderY) {
  border-block: var(--line);
}

:where(.BorderX) {
  border-inline: var(--line);
}

:where(.BorderXY) {
  border: var(--line);
}

:where(.BorderXY2) {
  border: var(--line2);
}

:where(.BorderXY3) {
  border: var(--line3);
}

.TS {
  text-shadow: var(--TS);
}

.DS {
  filter: drop-shadow(var(--DS));
}

.BS {
  box-shadow: var(--BS);
}

.WTS {
  -webkit-text-stroke: var(--WTS);
  paint-order: stroke;
}

.BGgrad {
  background: var(--BGgrad);
}

.TS2 {
  text-shadow: var(--TS2);
}

.DS2 {
  filter: drop-shadow(var(--DS2));
}

.BS2 {
  box-shadow: var(--BS2);
}

.WTS2 {
  -webkit-text-stroke: var(--ST2);
  paint-order: stroke;
}

.BGgrad2 {
  background: var(--BGgrad2);
}

.TS3 {
  text-shadow: var(--TS3);
}

.DS3 {
  filter: drop-shadow(var(--DS3));
}

.BS3 {
  box-shadow: var(--BS3);
}

.WTS3 {
  -webkit-text-stroke: var(--ST3);
  paint-order: stroke;
}

.BGgrad3 {
  background: var(--BGgrad3);
}

.UL {
  @apply text-center [width:--wid];
}
.UL li {
  @apply inline-block p-[--PX] align-top;
  box-shadow: inset -1px -1px #000, -1px -1px #000;
}
.UL h3 {
  @apply [font-size:--h2FZ] leading-none;
}
.UL details {
  @apply w-auto inline-block;
  transition: var(--trans);
}
.UL details * {
  @apply text-left;
}
.UL details[open] {
  @apply w-[calc(var(--wid)-12rem)];
}
.UL details[open]:last-of-type, .UL details[open]:first-of-type {
  @apply w-[calc(var(--wid)-6rem)];
}
.UL details[open] + details:not([open]) {
  @apply w-[6rem];
}
.UL details:has(+ details[open]):not([open]) {
  @apply w-[6rem];
}

dialog {
  top: 0;
  opacity: 0;
  pointer-events: none;
}
dialog:not(.BBox *) {
  display: block;
}
dialog {
  transition: 0s;
}
dialog[open] {
  transition: var(--trans);
  opacity: 1;
  pointer-events: auto;
}

div.tp-rotv {
  font-size: inherit;
  /* --tp-base-background-color: var(--GR); */
  --tp-base-border-radius: 6px;
  --tp-base-font-family: system-ui, sans-serif;
  --tp-base-shadow-color: rgba(0, 0, 0, 0.2);
  --cnt-fg: var(--TC);
  --lbl-fg: var(--TC);
  --btn-fg: var(--WH);
  --cnt-usz: 2em;
  /* Random Rects 等で実際に効く色 (--MC に一旦統一) */
  --tp-base-background-color: var(--WH80);
  /* --tp-base-shadow-color: var(--AC); */
  /* --tp-button-background-color: var(--SC); */
  /* --tp-button-background-color-hover: var(--AC); */
  /* --tp-button-background-color-focus: var(--AC); */
  /* --tp-button-background-color-active: var(--AC); */
  /* --tp-button-foreground-color: var(--AC); */
  /* --tp-container-background-color: var(--AC); */
  /* --tp-container-foreground-color: var(--AC); */
  /* --tp-container-background-color-hover: var(--AC); */
  /* --tp-container-background-color-focus: var(--AC); */
  /* --tp-container-background-color-active: var(--AC); */
  /* --tp-input-background-color: var(--AC); */
  --tp-input-foreground-color: var(--TC);
  /* --tp-input-background-color-hover: var(--AC); */
  /* --tp-input-background-color-focus: var(--AC); */
  /* --tp-input-background-color-active: var(--AC); */
  /* --tp-label-foreground-color: var(--AC); */
  /* モニター・区切りブレード未使用時（値は --AC 想定で保持） */
  /* --tp-monitor-background-color: var(--AC); */
  /* --tp-monitor-foreground-color: var(--AC); */
  /* --tp-groove-foreground-color: var(--AC); */
}

.tp-fldv-expanded .tp-lblv_l {
  text-align: right;
}

div.tp-lblv_v {
  flex: unset;
  width: unset;
}

/* plugin-essentials の radiogrid は幅が無いとGridが描画されない（上の unset を打ち消す） */
div.tp-lblv_v:has(.tp-radgridv) {
  width: var(--bld-vw);
  min-width: var(--bld-vw);
  flex: 0 0 auto;
  align-self: flex-start;
}

.tp-rotv_b {
  min-width: 25.5em;
}

.HeaderItems > div {
  scrollbar-gutter: stable;
}

.HeaderItems > div::-webkit-scrollbar {
  background-color: transparent;
  width: o;
  height: 0;
}

.HeaderItems > div:has(.tp-cntv.tp-rotv-expanded) {
  opacity: 0.5;
}

.HeaderItems > div:has(.tp-cntv.tp-rotv-expanded):hover {
  opacity: 1;
}

@layer base {
  :root {
    --mmFZ: 2rem;
    --mmWobbleAmp: 32;
    --mmWobbleAmpX: 32;
    --mmWobbleAmpY: 32;
    --mmWobbleFreqX: 0.0005;
    --mmWobbleFreqY: 0.0003;
  }
  @media (max-width: 1560px) {
    :root {
      --mmFZ: 1.25rem;
    }
  }
  @media (max-width: 640px) {
    :root {
      --mmFZ: 0.875rem;
    }
  }
  .mindMap {
    @apply content-center text-[length:--mmFZ] min-h-lvh font-[family-name:--Eng];
  }
  .mindMap > * {
    display: inline-block;
    cursor: default;
    transition: 0.4s;
    line-height: 1;
  }
  .mindWobble {
    @apply relative text-[length:--mmFZ] font-[family-name:--Eng] z-10 leading-[0.8em];
    font-size: calc(var(--mmFZ) * 5.5);
    --mmWobbleAmp: 15;
    --mmWobbleAmpX: 32;
    --mmWobbleAmpY: 32;
    --mmWobbleFreqX: 0.0005;
    --mmWobbleFreqY: 0.0003;
  }
  .creative_tx {
    line-height: 2;
    left: 50%;
    top: 50%;
    translate: 0 -50%;
    z-index: 1;
  }
  @media (max-width: 960px) {
    .creative_tx {
      padding: 1em;
      position: relative;
      inset: unset;
      translate: unset;
    }
  }
  .creative .mindWobble {
    pointer-events: none;
  }
  .creative_bottom {
    width: 100%;
    background-color: var(--GR);
    color: var(--WH);
  }
}
@property --dot-spacing {
  syntax: "<length>";
  inherits: false;
  initial-value: 20px;
}
@property --dot-fade-offset {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --dot-color {
  syntax: "<color>";
  inherits: false;
  initial-value: #fc466b;
}
.houdini-polka-card {
  cursor: pointer;
  animation: houdini-polka-pulse 2s ease-out infinite alternate paused;
}
.houdini-polka-card:hover, .houdini-polka-card:focus-visible {
  animation-play-state: running;
}

@keyframes houdini-polka-pulse {
  from {
    --dot-fade-offset: 0%;
    --dot-color: #fc466b;
  }
  to {
    --dot-fade-offset: 100%;
    --dot-color: #3f5efb;
  }
}
