@charset "utf-8";:root{--content-width:1120px;--content-side:6vw;--content-side2:4vw;--section-space:9rem;--section-space-wide:7.5rem;--section-space-top:7.5rem;--heading-color:#3E3A39;--heading-accent:#66B0AA}
.content-width{width:min(calc(100% - (var(--content-side) * 2)),var(--content-width)
);margin-inline:auto}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}
.content-width-in{width:min(calc(100% - (var(--content-side2) * 2)),var(--content-width)
);margin-inline:auto}
.section-space{padding-block:var(--section-space)}
.section-space-wide{padding-block:var(--section-space-wide)}
.section-heading{margin-bottom:3.5rem}
.section-heading-en{margin-bottom:0.9375rem;color:var(--heading-accent);font-family:'Poppins',sans-serif;font-size:clamp(16px,1.25vw,18px);font-weight:600;line-height:1.5;letter-spacing:0.04em}
.section-heading-title{color:var(--heading-color);font-size:clamp(36px,3.12vw,45px);font-weight:500;line-height:1.55;letter-spacing:0.03em}
.section-wave{position:absolute;left:0;width:100%;height:auto;z-index:3;pointer-events:none}
.section-wave--bottom{bottom:0}
@media(max-width:1240px){:root{--section-space-top:5.5rem;--section-space-wide:5.5rem}
}
@media (max-width:767px){:root{--content-side:12.5vw;--content-side2:8vw;--section-space:7.5rem;--section-space-wide:9rem}
.section-heading{margin-bottom:2.75rem}
.section-heading-en{font-size:1rem;letter-spacing:0.02em}
.section-heading-title{font-size:clamp(24px,8.5vw,36px);line-height:1.5}
}
@media(max-width:540px){:root{--section-space-wide:3.75rem;--section-space-top:5rem}
.section-heading{margin-bottom:1.75rem}
}
body{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:400}
.poppins{font-family:'Poppins',sans-serif}
.site-width{width:min(91.25%,1200px);margin-inline:auto;position:relative;z-index:10}
button{font:inherit}
:root{--page-max:2000px;--page-w:min(100vw,var(--page-max))}
html{background-color:#fff}
body{max-width:var(--page-max);margin-inline:auto;background-color:#fff}
.site-header{position:fixed;left:50%;transform:translateX(-50%);z-index:100;background:#fff;width:100%;max-width:var(--page-max)}
.header-inner{height:70px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}
.site-logo{display:block;width:clamp(180px,calc(20vw + 40px),280px)}
.site-logo img{display:block;width:clamp(180px,calc(20vw + 40px),280px);height:auto;aspect-ratio:343 / 33;object-fit:contain}
.menu-toggle{position:relative;width:49px;height:49px;border:none;border-radius:50%;background:#e6f0ef;cursor:pointer;flex-shrink:0;transition:transform 0.25s ease,background-color 0.25s ease}
.menu-toggle:hover{transform:scale(1.03)}
.menu-toggle span{position:absolute;left:50%;width:21px;height:2px;border-radius:999px;background:#66B0AA;transform:translateX(-50%);transition:top 0.35s ease,transform 0.35s ease,opacity 0.25s ease,background-color 0.25s ease}
.menu-toggle span:nth-child(1){top:calc(50% - 7px)}
.menu-toggle span:nth-child(2){top:50%;transform:translate(-50%,-50%)}
.menu-toggle span:nth-child(3){top:calc(50% + 5px)}
.site-header.is-open .menu-toggle span:nth-child(1){top:50%;transform:translate(-50%,-50%) rotate(45deg)}
.site-header.is-open .menu-toggle span:nth-child(2){opacity:0}
.site-header.is-open .menu-toggle span:nth-child(3){top:50%;transform:translate(-50%,-50%) rotate(-45deg)}
.header-menu{position:absolute;top:100%;right:1%;width:100%;max-width:200px;padding:28px 20px;border-radius:24px;background:#ffffff;box-shadow:0 2px 3px rgba(0,0,0,0.25);opacity:0;visibility:hidden;transform:translateY(-12px) scale(0.98);transform-origin:top right;transition:opacity 0.32s ease,transform 0.32s ease,visibility 0.32s ease;pointer-events:none;z-index:6}
.site-header.is-open .header-menu{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}
.header-menu-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.header-menu-list li{text-align:left}
.header-menu-list a{display:block;width:100%;color:#111;text-decoration:none;text-align:left;font-size:1.25rem;line-height:1.95;font-weight:600;transition:opacity 0.25s ease,transform 0.25s ease}
.header-menu-list a:hover{opacity:0.7;transform:translateY(-1px)}
@media(max-width:768px){.header-inner{height:60px}
}
@media (max-width:480px){.header-menu-list a{font-size:1rem}
.site-logo img{max-width:230px}
.header-menu{padding:28px 22px;border-radius:28px}
.header-menu-list li + li{margin-top:24px}
}
.mv-section{width:100%;background-color:#fff;padding-top:70px}
.mv-visual{position:relative;width:100%;--mv-logo-space:calc(156px - 3.5vw - 12px);height:calc(100vh - 70px - var(--mv-logo-space));height:calc(100svh - 70px - var(--mv-logo-space));min-height:420px;overflow:hidden;margin-bottom:-1px;background-color:#fff}
.mv-slider{position:absolute;inset:0;z-index:1}
.mv-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.6s ease,visibility 1.6s ease,transform 6s ease;transform:scale(1.03)}
.mv-slide.is-active{opacity:1;visibility:visible;transform:scale(1)}
@media (prefers-reduced-motion:reduce){.mv-slide{transition:none;transform:none}
.mv-slide.is-active{transform:none}
}
.mv-image{display:block;width:100%;height:100%;object-fit:cover}
.mv-copy{position:absolute;top:50%;right:calc(max(4.375%,(100% - 1200px) / 2) + 24px);transform:translateY(-50%);display:flex;flex-direction:row-reverse;align-items:flex-start;gap:0.7rem;z-index:3;margin:0}
.mv-copy-line{writing-mode:vertical-rl;color:#fff;font-size:clamp(26px,2.22vw,32px);font-weight:700;line-height:1.25;letter-spacing:0.35em;text-shadow:0 4px 8px rgba(0,0,0,0.4);display:block}
.mv-copy-line:nth-child(2){transform:translateY(2.7em)}
.mv-wave-top{top:-6px;left:-12px;width:calc(100% + 24px);max-width:none;height:auto;z-index:2}
.mv-wave-bottom{z-index:2;left:-12px;width:calc(100% + 24px);max-width:none;bottom:-12px;margin-bottom:0}
.mv-logo{position:relative;z-index:3;margin-top:-3.5vw;inset:0;display:flex;align-items:center;justify-content:center;min-height:clamp(105px,16vh,150px);min-height:clamp(105px,16svh,150px);padding:clamp(1rem,2vw,1.5rem) 1rem;background-color:#fff}
.mv-logo img{display:block;width:min(72%,320px);height:auto}
@media (max-width:767px){.mv-section{padding-top:60px}
.mv-visual{height:calc(100vh - 60px - 120px);height:calc(100svh - 60px - 120px);min-height:420px}
.mv-copy{right:calc(4.375% + 24px);gap:0.55rem}
.mv-copy-line{font-size:1.625rem;line-height:1.2;letter-spacing:0.25em}
.mv-logo{min-height:120px;padding:1rem}
.mv-logo img{width:min(72%,260px)}
}
@media (max-width:480px){.mv-visual{min-height:380px}
.mv-copy{right:calc(4.375% + 24px)}
}
@media (min-width:600px){.mv-section{position:relative}
.mv-visual{--mv-logo-space:0px;height:calc(100svh - 70px);min-height:0}
.mv-logo{position:absolute;inset:auto auto clamp(8px,1.2vw,24px) 50%;transform:translateX(-50%);z-index:4;width:max-content;margin:0;min-height:0;padding:0;background:transparent;pointer-events:none}
.mv-section .mv-logo img{width:clamp(220px,16vw,320px)}
}
@media (min-width:600px) and (max-width:1299px){
.mv-logo{inset:auto auto clamp(12px,2vw,32px) 50%}
.mv-section .mv-logo img{width:clamp(170px,26vw,320px)}
}
@media (min-width:600px) and (max-width:768px){.mv-section{padding-top:60px}
.mv-visual{height:calc(100svh - 60px)}
}
@media (min-width:2000px){.mv-visual{height:1000px}
}
.about-section{margin-top:-2px;padding-block:var(--section-space-top) var(--section-space-wide);background-color:#fff;color:#3E3A39;overflow:hidden;position:relative;z-index:1}
.about-inner{position:relative;display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);grid-template-areas:"heading visual"
"text visual";column-gap:clamp(2.5rem,5vw,5rem);align-items:start}
.about-heading{grid-area:heading;margin-bottom:3.5rem}
.about-text{grid-area:text}
.about-visual{grid-area:visual;align-self:stretch;margin-right:calc(-1 * min(160px,max(var(--content-side),(min(100vw,var(--page-max)) - var(--content-width)) / 2)));min-height:480px;overflow:hidden}
.about-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:60% center}
.about-title{line-height:1.55}
.about-text{color:#3E3A39;font-size:clamp(16px,1.25vw,18px);font-weight:400;line-height:2.4;letter-spacing:0.04em}
.about-text p + p{margin-top:clamp(2rem,3vw,3rem)}
@media (min-width:768px) and (max-width:1279px){.about-inner{grid-template-columns:minmax(320px,clamp(320px,40vw,480px))
minmax(0,1fr);column-gap:clamp(1.75rem,4vw,3.5rem)}
}
@media (max-width:767px){.about-inner{display:block;width:100%}
.about-heading{margin-bottom:3.5rem}
.about-visual{margin-top:3rem;margin-inline:calc(-1 * var(--content-side));min-height:0;aspect-ratio:4 / 3}
.about-title{line-height:1.45}
.about-text{font-size:1rem;line-height:2.5}
.about-text p + p{margin-top:2.25rem}
}
@media(max-width:394px){.about-text{font-size:0.9375rem}
}
.season-guide{--summer-main:#009fe3;--summer-bg:#EEF9FE;--summer-tab:#EEF8FD;--summer-tab-active:#C6E6F6;--summer-light:#eaf7fc;--winter-main:#EA5520;--winter-bg:#FFEFE4;--winter-tab:#FFF3EA;--winter-tab-active:#FAD5BC;--winter-light:#fff0e6;--season-color:var(--summer-main);--season-bg:var(--summer-bg);--season-light:var(--summer-light);--summer-wave:#FCE1D0;--winter-wave:#EEF9FE;--season-wave:var(--summer-wave);--season-top-space:clamp(4rem,6vw,6rem);--season-tab-height:clamp(60px,5.5vw,80px);--season-content-width:760px;--season-guide-width:min(100%,var(--season-content-width));position:relative;width:100%;overflow:hidden;overflow:clip;background-color:#fff;transition:background-color 0.4s ease}
.season-guide::before{content:"";position:absolute;top:var(--season-tab-height);bottom:0;left:50%;width:var(--season-guide-width);background-color:var(--season-bg);transform:translateX(-50%);transition:background-color 0.4s ease;pointer-events:none;z-index:0}
.season-guide-tabs,.season-guide>.content-width-in{position:relative;z-index:1}
.season-guide.is-winter{--season-color:var(--winter-main);--season-bg:var(--winter-bg);--season-light:var(--winter-light);--season-wave:var(--winter-wave)}
.season-danger--winter .season-danger__lead{width:min(100%,560px)}
.season-danger__heading--winter{margin-bottom:0}
.season-danger__winter-visual{position:relative;width:min(100%,430px);aspect-ratio:297 / 260;margin:clamp(1.5rem,3vw,2rem) auto 0}
.winter-danger-svg{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;border:0}
.season-danger__winter-text{width:min(100%,560px);margin:1rem auto 0}
.season-danger__winter-summary{position:relative;padding-left:1rem;color:#f15a24;font-size:clamp(14px,1.11vw,16px);font-weight:500;line-height:1.9;letter-spacing:0.03em}
.season-danger__winter-summary::before{content:"";position:absolute;top:1em;left:0;width:0.55rem;height:0.55rem;background-color:#f15a24;transform:translateY(-50%)}
.season-danger__winter-note{margin-top:0.4rem;color:#555;font-size:clamp(13px,1.04vw,15px);line-height:1.9;letter-spacing:0.03em}
.season-danger__winter-callout{width:min(100%,430px);margin:clamp(1.5rem,3vw,2rem) auto 0;opacity:0;visibility:hidden;transform:scale(0.72)}
.season-danger__winter-callout.is-visible{visibility:visible;animation:seasonTotalPop 0.55s cubic-bezier(0.2,0.9,0.2,1.2) forwards}
.season-danger__winter-callout img{display:block;width:100%;height:auto}
@media (max-width:767px){.season-danger__winter-visual{width:min(100%,430px);margin-top:1.25rem}
.season-danger__winter-summary{padding-left:0.9rem;font-size:0.875rem;line-height:1.8}
.season-danger__winter-summary::before{top:0.9em;width:0.5rem;height:0.5rem}
.season-danger__winter-note{font-size:0.8125rem;line-height:1.8}
.season-danger__winter-callout{margin-top:1.25rem}
}
.season-guide-wave{position:relative;z-index:1;width:min(100%,var(--season-content-width));margin-inline:auto;line-height:0;background:linear-gradient(var(--season-bg) 0 4px,#fff 4px);margin-top:-6px}
.season-guide-wave svg{display:block;width:100%;height:auto}
.season-guide-wave path{fill:var(--season-bg);transition:fill 0.4s ease}
.season-guide-shell{width:min(100%,1000px);margin-inline:auto;padding-bottom:var(--section-space-wide)}
.season-guide-sticky-area{position:relative}
.season-guide-tabs{position:sticky;top:70px;z-index:20;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-inline:auto;background-color:#fff}
@media (max-width:768px){.season-guide-tabs{top:60px}
}
.season-guide-tab{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;height:var(--season-tab-height);border:0;cursor:pointer;opacity:1;transition:background-color 0.35s ease,color 0.35s ease,opacity 0.3s ease}
.season-guide-tab--summer{color:var(--summer-main);background-color:var(--summer-tab);border-radius:clamp(18px,2vw,30px) clamp(18px,2vw,30px) 0 0}
.season-guide-tab--winter{color:var(--winter-main);background-color:var(--winter-tab);border-radius:clamp(18px,2vw,30px) clamp(18px,2vw,30px) 0 0}
.season-guide-tab--summer.is-active{background-color:var(--summer-tab-active)}
.season-guide-tab--winter.is-active{background-color:var(--winter-tab-active)}
@media (hover:hover){.season-guide-tab:hover{opacity:0.88}
}
.season-guide-tab-label{position:relative;display:inline-flex;align-items:flex-start;justify-content:center}
.season-guide-tab-text{font-size:clamp(24px,2vw,28px);font-weight:700;line-height:1;font-family:'Zen Maru Gothic','Zen Kaku Gothic New',sans-serif}
.season-guide-tab-icon{position:absolute;top:-12px;right:-26px;width:clamp(20px,1.9vw,28px);height:auto}
.season-guide-inner{width:min(100%,440px);margin-inline:auto;padding-top:var(--section-space-top)}
.season-guide-heading{display:flex;justify-content:center;align-items:flex-start;margin-bottom:clamp(2.15rem,3.5vw,3.25rem)}
.season-guide-heading-season{flex-shrink:0;margin-top:-1rem}
.season-guide-season-image{display:block;width:clamp(80px,7.5vw,108px);height:auto}
.season-guide-title{display:flex;justify-content:center;align-items:flex-start;margin:0;color:#3d3d3d;font-size:clamp(26px,2.5vw,34px);font-weight:500;line-height:1.6;letter-spacing:0.04em}
.season-card-area{position:relative;width:100%}
.season-card{--season-card-inner:300px;position:relative;width:100%;min-width:0;box-sizing:border-box;padding:8.89% 7.22% 10.67%;background-image:url("../img/svg/card-bg.svg");background-repeat:no-repeat;background-position:center;background-size:100% 100%;background-color:transparent;border-radius:0;box-shadow:none;filter:drop-shadow(0px 1.02633px 1.02633px rgba(0,0,0,0.25));opacity:1;transform:translate3d(0,0,0) rotate(0deg) scale(1);transform-origin:center center;will-change:transform,opacity}
.season-card-heading{display:flex;align-items:flex-start;justify-content:flex-start;gap:16px;width:min(100%,var(--season-card-inner));margin-inline:auto}
.season-card-number{flex-shrink:0;width:44px;padding-right:12px;border-right:1px solid #ccc}
.season-card-number-text{display:block;color:var(--season-color);font-family:'Poppins',sans-serif;font-size:1.75rem;font-weight:500;line-height:1;letter-spacing:-0.04em;transition:color 0.4s ease}
.season-card-progress{display:flex;align-items:center;gap:clamp(2px,0.694vw,4px);margin-top:clamp(4px,0.736vw,7px)}
.season-card-progress span{display:block;width:clamp(3px,0.694vw,5px);height:clamp(12px,2.472vw,24px);border-radius:999px;background-color:color-mix(in srgb,var(--season-color) 8%,transparent);transition:background-color 0.35s ease,opacity 0.35s ease}
.season-card-progress span.is-active{background-color:var(--season-color)}
@supports not (
background:color-mix(in srgb,#000 10%,transparent)
){.season-card-progress span{background-color:rgba(0,159,227,0.08)}
.season-guide.is-winter .season-card-progress span{background-color:rgba(241,90,36,0.08)}
}
.season-card-title{flex:1 1 auto;min-width:0;color:#333;font-size:clamp(18px,1.4vw,20px);font-weight:500;line-height:1.5;letter-spacing:0.03em;font-family:'Zen Maru Gothic','Zen Kaku Gothic New',sans-serif}
.season-card-image{width:min(100%,var(--season-card-inner));margin:clamp(11px,2.778vw,24px) auto clamp(20px,2.125vw,30px)}
.season-card-image img{display:block;width:100%;height:auto;margin-inline:auto;aspect-ratio:300 / 274;object-fit:cover}
.season-card-text{width:min(100%,var(--season-card-inner));margin-inline:auto;color:#333;font-size:clamp(14px,1.4vw,16px);font-weight:400;line-height:1.8;letter-spacing:0.01em;text-align:left;min-height:calc(1.8em * 4)}
.season-card-nav{width:min(100%,var(--season-card-inner));margin-inline:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:clamp(20px,2vw,30px)}
.season-card-prev,.season-card-next{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:clamp(7px,0.65vw,9px) clamp(18px,1.6vw,24px);border:0;border-radius:999px;background-color:#eefaff;color:#111;font-size:clamp(13px,1.111vw,16px);font-weight:700;line-height:1.4;cursor:pointer;transition:transform 0.25s ease,opacity 0.25s ease,background-color 0.3s ease}
.season-guide.is-winter .season-card-prev,.season-guide.is-winter .season-card-next{background-color:#fff1e9}
.season-card-nav-arrow{display:block;width:0;height:0;flex-shrink:0;margin-top:1px}
.season-card-prev .season-card-nav-arrow{border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:10px solid #40aeb8}
.season-card-next .season-card-nav-arrow{border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid #40aeb8}
.season-guide.is-winter .season-card-prev .season-card-nav-arrow{border-right-color:var(--winter-main)}
.season-guide.is-winter .season-card-next .season-card-nav-arrow{border-left-color:var(--winter-main)}
@media (hover:hover){.season-card-prev:hover,.season-card-next:hover{opacity:0.75;transform:translateY(-2px)}
}
.season-card.is-overlay{position:absolute;inset:0;z-index:2;pointer-events:none}
.season-card.is-leaving-next{animation:seasonCardLeaveNext 0.36s cubic-bezier(0.45,0,0.3,1) forwards}
@keyframes seasonCardLeaveNext{0%{opacity:1;transform:translate3d(0,0,0) rotate(0deg) scale(1)}
45%{opacity:0.7}
100%{opacity:0;transform:translate3d(95px,110px,0) rotate(4deg) scale(0.96)}
}
.season-card.is-leaving-prev{animation:seasonCardLeavePrev 0.36s cubic-bezier(0.45,0,0.3,1) forwards}
@keyframes seasonCardLeavePrev{0%{opacity:1;transform:translate3d(0,0,0) rotate(0deg) scale(1)}
45%{opacity:0.7}
100%{opacity:0;transform:translate3d(-95px,110px,0) rotate(-4deg) scale(0.96)}
}
.season-card.is-entering-next{animation:seasonCardEnterNext 0.42s cubic-bezier(0.16,0.8,0.25,1) both}
@keyframes seasonCardEnterNext{0%{opacity:1;transform:translate3d(0,6px,0) scale(0.985)}
100%{opacity:1;transform:translate3d(0,0,0) rotate(0deg) scale(1)}
}
.season-card.is-entering-prev{animation:seasonCardEnterPrev 0.42s cubic-bezier(0.16,0.8,0.25,1) both}
@keyframes seasonCardEnterPrev{0%{opacity:1;transform:translate3d(0,6px,0) scale(0.985)}
100%{opacity:1;transform:translate3d(0,0,0) rotate(0deg) scale(1)}
}
.season-guide-panels{width:100%;max-width:760px;margin-inline:auto;padding:5rem clamp(1.5rem,3vw,3rem) 0}
.season-danger__inner{width:100%}
.season-danger__alert{text-align:center}
.season-danger__alert-icon{display:block;width:clamp(38px,4vw,56px);margin:0 auto 1rem;opacity:1;transform:none}
.season-danger__title{color:var(--season-color);font-size:clamp(2rem,3vw,2.5rem);font-weight:500;line-height:1.35;letter-spacing:0.04em}
.season-danger__lead{width:min(100%,560px);margin:clamp(1rem,2vw,2rem) auto 0;color:#1E1E1E;font-size:clamp(1rem,1.25vw,1.125rem);font-weight:400;line-height:2;letter-spacing:0.04em}
.season-danger__highlight{background:linear-gradient(transparent 62%,#FFF78E 62%)}
.season-danger__heading{display:flex;align-items:center;gap:0.9rem;width:min(100%,560px);margin:clamp(3rem,5vw,4.5rem) auto 0;color:#3d3d3d;font-size:clamp(1.5rem,2vw,1.75rem);font-weight:700;line-height:1.5;letter-spacing:0.02em}
.season-danger__marker{display:block;flex-shrink:0;width:10px;height:clamp(26px,3vw,38px);border-radius:999px;background:linear-gradient(180deg,#ff2a00 0%,#ff9f00 100%)}
.season-danger__graph-block{width:min(100%,560px);margin:clamp(2rem,4vw,3rem) auto 0}
.season-danger__graph-wrap{width:100%}
.season-danger__graph-svg{display:block;width:min(100%,430px);height:auto;aspect-ratio:288 / 299;margin-inline:auto;border:0}
.season-danger__total{width:min(100%,420px);margin:clamp(2rem,4vw,3rem) auto 0;opacity:0;transform:scale(0.72)}
.season-danger__total img{display:block;width:100%;height:auto}
.season-danger__total.is-visible{animation:seasonTotalPop 0.55s cubic-bezier(0.2,0.9,0.2,1.2) forwards}
@keyframes seasonTotalPop{0%{opacity:0;transform:scale(0.72)}
70%{opacity:1;transform:scale(1.08)}
100%{opacity:1;transform:scale(1)}
}
.season-danger__source{margin-top:1.75rem;color:#555;font-size:clamp(0.75rem,1vw,0.8125rem);font-weight:400;line-height:1.8;text-align:center}
.season-danger[hidden]{display:block !important;position:absolute;inset:0 auto auto 0;width:100%;height:0;overflow:hidden;visibility:hidden;pointer-events:none}
.season-danger.is-entering{animation:seasonDangerFade 0.35s ease}
@keyframes seasonDangerFade{from{opacity:0;transform:translateY(12px)}
to{opacity:1;transform:translateY(0)}
}
.season-danger__graph-svg{opacity:0}
.season-danger__graph-svg.is-ready{opacity:1;transition:opacity 0.15s ease}
.season-danger__winter-visual{opacity:1}
@media (min-width:768px){.season-guide>.content-width-in{width:min(100%,var(--season-content-width));margin-inline:auto}
.season-guide-shell{width:100%}
}
@media (max-width:1080px){.season-guide-inner{width:min(
calc(100% - (var(--content-side2) * 2)),430px
)}
.season-card-area{max-width:380px;margin:0 auto}
}
@media (max-width:768px){.season-card-text br{display:none}
}
@media(max-width:767px){.season-guide{--season-guide-width:100%}
.season-guide>.content-width-in{width:100%}
}
@media (max-width:600px){.season-guide>.content-width-in{width:100%}
.season-guide::before{top:calc(5rem + var(--season-tab-height))}
.season-guide-shell,.season-guide-panels{max-width:100%}
.season-guide{--season-top-space:3rem;--season-tab-height:61px;--season-guide-width:100%;padding-top:5rem}
.season-guide-tabs{top:60px}
.season-guide-panels{padding:3.125rem 0 0;width:min(calc(100% - (var(--content-side) * 2)),var(--content-width)
)}
.season-guide-tab{height:var(--season-tab-height)}
.season-guide-tab-text{font-size:28px}
.season-guide-tab-icon{top:-10px;right:-20px;width:20px}
.season-guide-heading{align-items:flex-start;margin-bottom:2.15rem}
.season-guide-heading-season{margin-top:-0.15rem}
.season-guide-season-image{width:72px}
.season-guide-title{font-size:1.875rem;line-height:1.7}
.season-card-heading{gap:12px;width:auto;margin-left:calc((100% - var(--season-card-inner)) / 2);margin-right:0}
.season-card-number{width:36px;padding-right:3px}
.season-card-number-text{font-size:1.5rem}
.season-card-progress{gap:5px;margin-top:13px}
.season-card-progress span{width:4px;height:18px}
.season-card-title{font-size:18px;white-space:nowrap}
.season-card{--season-card-inner:230px}
.season-card-image{margin:19px auto 20px}
.season-card-text{font-size:0.875rem;min-height:calc(1.8em * 5)}
.season-card-nav{margin-top:25px}
.season-card-prev,.season-card-next{min-width:75px;padding:7px 11px;font-size:13px}
.season-danger__alert-icon{width:38px;margin-bottom:0.75rem}
.season-danger__title{font-size:1.75rem}
.season-danger__lead{width:100%;margin-top:1rem;font-size:0.9375rem;letter-spacing:0.03em}
.season-danger__heading{width:100%;margin-top:2.5rem;gap:0.7rem;font-size:1.25rem}
.season-danger__graph-block{width:100%;margin-top:1.5rem}
.season-danger__graph-svg{width:min(100%,360px)}
.season-danger__total{width:min(100%,360px);margin-top:1.5rem}
.season-danger__source{font-size:0.675rem;line-height:1.5}
@keyframes seasonCardLeaveNext{to{opacity:0;transform:translate3d(55px,75px,0)
rotate(4deg)
scale(0.96)}
}
@keyframes seasonCardLeavePrev{to{opacity:0;transform:translate3d(-55px,75px,0)
rotate(-4deg)
scale(0.96)}
}
}
@media (prefers-reduced-motion:reduce){.season-guide,.season-guide *,.season-guide *::before,.season-guide *::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}
}
@media(max-width:600px){.season-card{aspect-ratio:unset;padding:8.8% 1.1875rem 10.67%;display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-height:480px}
.season-guide-inner{max-width:335px}
}
.feature-section{padding-block:var(--section-space) var(--section-space-wide);background-color:#fff;color:#3e3a39}
.feature-heading{margin-bottom:clamp(2rem,4vw,4.8rem)}
.feature-logo{width:min(100%,400px);margin:0 auto}
.feature-logo img{display:block;width:100%;height:auto}
.air-conditioning{position:relative;width:100%;margin-top:0;padding-block:0}
.air-conditioning__sticky{position:relative;width:100%}
.air-conditioning__stage{position:relative;width:min(100%,620px);aspect-ratio:323.41 / 322.32;margin-inline:auto}
.air-conditioning__house{position:absolute;top:50%;left:50%;width:100%;aspect-ratio: 323.41 / 322.32;margin:0;opacity:0;transform:translate(-50%,calc(-50% + 15px)) scale(0.98);transition:opacity 0.6s ease,transform 0.6s ease;z-index:2}
.air-conditioning__house.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}
.air-conditioning__house-svg{display:block;width:100%;height:100%;border:0}
.feature-description{text-align:center}
.feature-description-title{margin-bottom:clamp(1rem,2vw,1.75rem);color:#66b0aa;font-size:clamp(20px,1.74vw,25px);font-weight:500;line-height:1.5;letter-spacing:0.03em}
.feature-description-text{font-size:clamp(15px,1.18vw,17px);font-weight:400;line-height:2;letter-spacing:0.03em}
.feature-season-image{width:100%;max-width:840px;margin:clamp(2rem,3vw,4rem) auto 0;padding-top:2.32%}
.feature-season-visual{position:relative;width:100%}
.feature-season-text{display:block;width:100%}
.feature-season-text-image{display:block;width:100%;height:auto;filter:drop-shadow(
0 1.14246px 1.14246px
rgba(0,0,0,0.25)
)}
.feature-season-icon{position:absolute;top:-13%;display:block;height:auto;z-index:2;pointer-events:none}
.feature-season-icon--winter{left:-1.5%;width:10%}
.feature-season-icon--summer{left:52%;width:10%}
.feature-season-icon-sp{display:none}
@media (max-width:767px){.feature-season-image{max-width:300px;margin-top:2.7rem;padding-top:11.25%}
.feature-season-icon{display:none}
.feature-season-icon-sp{position:absolute;top:-10%;left:51%;display:block;width:79.29%;height:auto;transform:translateX(-49%);z-index:2;pointer-events:none}
}
.feature-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,2.5rem);margin-top:4rem}
.feature-gallery-item{margin:0}
.feature-gallery-item figcaption{margin-bottom:0.75rem;color:#555;font-size:clamp(12px,0.97vw,14px);line-height:1.5}
.feature-gallery-item img{display:block;width:100%;aspect-ratio:1.62 / 1;object-fit:cover}
.feature-note{margin-top:1rem;color:#3E3A39;font-size:clamp(12px,0.97vw,14px);line-height:1.7}
@media(max-width:1240px){.air-conditioning__stage{width:min(100%,540px)}
}
@media (max-width:767px){.feature-heading{margin-bottom:3.125rem}
.feature-heading-title{margin-bottom:1.875rem}
.feature-logo{width:min(78%,216px);margin:0 auto 1rem}
.air-conditioning__stage{--stage-w:min(calc(100% + var(--content-side) * 2 - 16px),440px);width:var(--stage-w);margin-inline:calc(50% - var(--stage-w) / 2)}
.feature-description-title{margin-bottom:0.75rem;font-size:1.25rem}
.feature-description-text{font-size:0.9375rem}
.feature-gallery{grid-template-columns:1fr;gap:1.25rem;margin-top:2.5rem}
.feature-gallery-item figcaption{margin-bottom:0.6rem;font-size:0.75rem;letter-spacing:-0.019em}
.feature-gallery-item img{width:100%;aspect-ratio:1.5 / 1}
.feature-note{margin-top:1.25rem;font-size:0.75rem;line-height:1.5}
.pc-only{display:none}
}
@media (max-width:480px){.air-conditioning__stage{width:var(--stage-w)}
}
.product-section{padding-block:var(--section-space-top) var(--section-space)}
.product-section .section-heading-title{letter-spacing:0.02em}
.product-achievements-bg{background-color:#fff;background-image:linear-gradient(
to right,rgba(150,150,150,0.06) 1px,transparent 1px
),linear-gradient(
to bottom,rgba(150,150,150,0.06) 1px,transparent 1px
);background-size:clamp(20px,2.083vw,30px)
clamp(20px,2.083vw,30px)}
@media (max-width:767px){.product-achievements-bg{background-size:22px 22px}
}
.product-heading{padding:0 clamp(1.5rem,3vw,3rem)}
@media (min-width:961px){.product-head-row{display:flex;justify-content:space-between;align-items:center;gap:clamp(2rem,4vw,4rem)}
.product-head-row .product-heading{margin-bottom:0;padding:0}
.product-head-row .product-index{grid-template-columns:repeat(3,auto);gap:clamp(1rem,2.5vw,2.5rem);width:auto;max-width:none;margin-inline:0;margin-top:2.6rem}
.product-head-row .product-index-item{gap:0.875rem;align-items:center;padding:0}
.product-head-row .product-index-number{font-size:clamp(1.75rem,2.2vw,2.25rem)}
.product-head-row .product-index-text{font-size:clamp(0.9375rem,1.15vw,1.0625rem);line-height:1.6}
}
@media (min-width:769px) and (max-width:960px){.product-head-row{display:block}
.product-head-row .product-heading{margin-bottom:0}
.product-head-row .product-index{grid-template-columns:repeat(3,auto);gap:clamp(1.5rem,4vw,2.5rem);width:fit-content;max-width:100%;margin:3rem auto 0}
.product-head-row .product-index-item{gap:0.875rem;align-items:center;padding:0}
.product-head-row .product-index-number{font-size:clamp(1.75rem,3vw,2.25rem)}
.product-head-row .product-index-text{font-size:clamp(0.9375rem,1.8vw,1.0625rem);line-height:1.6}
}
.product-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;max-width:1000px;margin-inline:auto}
.product-index-item{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem;min-width:0;padding:1rem 0;transition:opacity 0.3s ease,transform 0.3s ease}
.product-index-number{position:relative;display:inline-block;justify-self:start;width:fit-content;min-width:0;padding-bottom:0.1em;color:#66B0AA;font-family:'Poppins',sans-serif;font-size:clamp(1.75rem,2.2vw,2.25rem);font-weight:500;line-height:1;letter-spacing:0.02em;border-bottom:1px solid}
.product-index-text{font-size:1rem;font-weight:400;line-height:1.6;letter-spacing:0.03em}
@media (hover:hover){.product-index-item:hover{opacity:0.65;transform:translateY(-2px)}
}
.product-details{display:flex;flex-direction:column;gap:clamp(2rem,6vw,5rem);margin-top:5.625rem}
.product-detail{width:100%;margin-inline:auto;scroll-margin-top:100px}
.product-detail-heading{text-align:center;margin-bottom:clamp(1.25rem,2vw,1.75rem)}
.product-detail-number{position:relative;display:table;margin-inline:auto;padding-bottom:clamp(0.5rem,1vw,0.75rem);color:#66B0AA;font-family:'Poppins',sans-serif;font-size:clamp(40px,3.47vw,50px);font-weight:500;line-height:1;letter-spacing:0.07em;border-bottom:2px solid}
.product-detail-label{margin-top:clamp(1rem,1.5vw,1.5rem);color:#111;font-size:clamp(1rem,1.5vw,1.375rem);font-weight:500;line-height:2;letter-spacing:0.03em}
.product-detail-title{margin-top:clamp(0.5rem,0.8vw,0.75rem);color:#66B0AA;font-size:clamp(2rem,3vw,2.5rem);font-weight:500;line-height:1.5;letter-spacing:0.03em}
.product-detail-content{display:grid;grid-template-columns:minmax(320px,1fr)
minmax(0,1fr);grid-template-areas:"image body";align-items:center;column-gap:clamp(2rem,4vw,4rem)}
.product-detail-body{grid-area:body;display:flex;flex-direction:column;gap:1.875rem}
.product-detail-text{grid-area:text;font-size:clamp(1rem,1.35vw,1.125rem);font-weight:400;line-height:1.9;letter-spacing:0.03em;padding:0 clamp(1rem,1.5vw,1.5rem)}
.product-detail-image{grid-area:image;align-self:center;position:relative;width:100%;aspect-ratio:336 / 245;margin:0}
.product-detail-image--cycle .product-cycle,.product-cost-animation .product-cost-stage,.product-maintenance-animation .product-maintenance-svg{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
.product-detail-image--cycle{overflow:visible}
.product-cycle{position:relative;width:100%;aspect-ratio:841 / 647;margin-inline:auto}
.product-cycle-house{position:absolute;top:50%;left:50%;width:min(30%,135px);opacity:1;transform:translate(-50%,-50%) scale(1);transition:opacity 0.45s ease,transform 0.55s cubic-bezier(0.2,0.85,0.25,1.15);z-index:2}
.product-detail-image--cycle.is-animation-ready .product-cycle-house{opacity:0;transform:translate(-50%,-50%) scale(0.75)}
.product-detail-image--cycle.is-animation-ready.is-animated .product-cycle-house{opacity:1;transform:translate(-50%,-50%) scale(1)}
.product-cycle-house-svg{display:block;width:100%;height:auto}
.product-cycle-arrows{transform-box:fill-box;transform-origin:center;animation:productCycleRotate 2.6s linear infinite;animation-play-state:paused}
.product-detail-image--cycle.is-animation-ready.is-animated
.product-cycle-arrows{animation-play-state:running}
@keyframes productCycleRotate{from{transform:rotate(0deg)}
to{transform:rotate(360deg)}
}
.product-cycle-bubble{position:absolute;width:min(33%,165px);opacity:1;transform:translateY(0) scale(1);transition:opacity 0.25s ease,transform 0.35s cubic-bezier(0.2,0.9,0.25,1.2);z-index:3}
.product-detail-image--cycle.is-animation-ready .product-cycle-bubble{opacity:0;transform:translateY(8px) scale(0.72)}
.product-detail-image--cycle.is-animation-ready.is-animated .product-cycle-bubble{opacity:1;transform:translateY(0) scale(1)}
.product-cycle-bubble img{display:block;width:100%;max-width:150px;height:auto}
.product-cycle-bubble--top-left{top:0;left:1%}
.product-cycle-bubble--top-right{top:0;right:1%}
.product-cycle-bubble--bottom-left{bottom:0;left:1%}
.product-cycle-bubble--bottom-right{right:1%;bottom:0}
.product-detail-image--cycle.is-animation-ready.is-animated .product-cycle-bubble--top-left{transition-delay:0.35s}
.product-detail-image--cycle.is-animation-ready.is-animated .product-cycle-bubble--top-right{transition-delay:0.50s}
.product-detail-image--cycle.is-animation-ready.is-animated .product-cycle-bubble--bottom-left{transition-delay:0.65s}
.product-detail-image--cycle.is-animation-ready.is-animated .product-cycle-bubble--bottom-right{transition-delay:0.80s}
.product-point{grid-area:point;padding:clamp(0.75rem,1vw,1rem)
clamp(1rem,1.7vw,1.75rem);background-color:rgba(191,233,229,0.41)}
.product-point-title{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:0.5rem;color:#66B0AA;font-family:'Poppins',sans-serif;font-size:clamp(12px,0.97vw,14px);font-weight:500;line-height:1;letter-spacing:0.05em}
.product-point-title::before,.product-point-title::after{content:"";width:clamp(2rem,4vw,3rem);height:1px;background-color:#66B0AA}
.product-point-text{color:#3E3A39;font-size:clamp(13px,1.04vw,15px);font-weight:400;line-height:1.8}
.product-cost-animation{overflow:hidden}
.product-cost-stage{position:relative;width:100%;aspect-ratio:338 / 276;overflow:hidden;background-color:#FFF3C6;background-size:20px 20px}
.product-cost-coins-wrap{position:absolute;left:50%;bottom:10%;width:61%;aspect-ratio:231 / 100;opacity:1;transform:translateX(-50%) translateY(0);z-index:3}
.product-cost-stage .product-cost-coins-base{position:absolute;top:0;left:0;display:block;width:100%;height:auto;z-index:1}
.product-cost-stage .product-cost-coins-remove{position:absolute;top:0;left:0;display:block;width:100%;height:auto;opacity:0;z-index:2}
.product-cost-animation.is-animation-ready .product-cost-coins-wrap{opacity:0;transform:translateX(-50%) translateY(8px)}
.product-cost-animation.is-animation-ready .product-cost-people{opacity:0;transform:translateX(-50%) translateY(14px)}
.product-cost-animation.is-animation-ready .product-cost-coins-remove{opacity:1}
.product-cost-stage .product-cost-people{position:absolute;top:11%;left:50%;width:67.5%;height:auto;opacity:1;transform:translateX(-50%) translateY(0);z-index:2}
.product-cost-animation.is-animation-ready.is-animated .product-cost-coins-wrap { animation: productCostCoinEnter 0.35s ease forwards;}
.product-cost-animation.is-animation-ready.is-animated .product-cost-people { animation: productCostPeopleEnter 0.45s ease 0.45s forwards;}
.product-cost-animation.is-animation-ready.is-animated .product-cost-coins-remove { animation: productCostCoinRemove 0.35s ease-out 1s forwards;}
@keyframes productCostCoinEnter{from{opacity:0;transform:translateX(-50%) translateY(8px)}
to{opacity:1;transform:translateX(-50%) translateY(0)}
}
@keyframes productCostPeopleEnter{from{opacity:0;transform:translateX(-50%) translateY(14px)}
to{opacity:1;transform:translateX(-50%) translateY(0)}
}
@keyframes productCostCoinRemove{from{opacity:1}
to{opacity:0}
}
.product-maintenance-animation{position:relative;width:100%;overflow:hidden}
.product-maintenance-svg{display:block;width:100%;aspect-ratio:336 / 245;height:auto;border:0;pointer-events:none}
@media(max-width:1240px){.product-details{margin-top:3rem}
.product-index-text{font-size:0.9375rem}
}
@media (max-width:1080px){.product-detail{max-width:850px}
.product-detail-content{grid-template-columns:minmax(280px,1fr) minmax(0,1fr);column-gap:2rem}
.product-detail-body{gap:1.5rem}
}
@media(max-width:768px){.product-detail-body{display:contents}
.product-detail-content{display:grid;grid-template-columns:1fr;grid-template-areas:"text"
"image"
"point";gap:0}
.product-cycle{max-width:400px}
.product-cycle-bubble{max-width:120px;width:100%}
.product-cycle-house{max-width:140px}
.product-index{grid-template-columns:1fr;gap:0;width:100%;padding:0 1.1875rem}
.product-detail-title{margin-top:0.75rem;font-size:2rem;line-height:1.46}
.product-cost-stage{max-width:400px;margin:0 auto;width:100%}
.product-detail-text{margin-bottom:1.25rem;font-size:0.9375rem;line-height:1.9;padding:0 1.1875rem}
.product-maintenance-animation{max-width:400px;margin:0 auto;width:100%}
.product-detail-image{margin:0 auto 1.25rem}
.product-detail-image{aspect-ratio:auto}
.product-detail-image--cycle .product-cycle,.product-cost-animation .product-cost-stage,.product-maintenance-animation .product-maintenance-svg{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:336 / 245;margin:0 auto}
.product-heading{margin-bottom:2.5rem;padding:0 1.1875rem}
.product-index-number{padding:0 0.1rem 0.25rem;font-size:1.125rem}
.product-index-item{grid-template-columns:3rem 1fr;gap:1rem;padding:0.625rem 0}
.product-index-text .pc-only{display:none}
}
@media (max-width:767px){.product-details{gap:2rem;margin-top:3.75rem}
.product-detail{width:100%}
.product-detail-heading{margin-bottom:0.75rem}
.product-detail-number{font-size:2.5rem;padding-bottom:0.25rem}
.product-point{padding:0.625rem 1.1875rem 0.435rem}
.product-point-title{gap:0.375rem;margin-bottom:0.3125rem;font-size:0.75rem}
.product-point-title::before,.product-point-title::after{width:1.375rem}
.product-point-text{font-size:0.8125rem;line-height:1.8}
.product-detail-image--cycle{width:100%}
.product-cycle{width:100%;aspect-ratio:841 / 647}
.product-cycle-bubble{width:min(30%,103px);max-width:103px}
.product-cycle-bubble img{width:100%;max-height:104px;object-fit:contain}
.product-cycle-house-svg{display:block;width:100%;height:auto}
.product-cycle-bubble--top-left{top:0;left:6%}
.product-cycle-bubble--top-right{top:0;right:6%}
.product-cycle-bubble--bottom-left{bottom:0;left:6%}
.product-cycle-bubble--bottom-right{right:6%;bottom:0}
}
@media(max-width:540px){.product-cycle-house{width:min(29%,99px);max-width:99px}
.product-index-text{font-size:0.875rem;line-height:1}
.product-detail-label{margin-top:0.75rem;font-size:0.8125rem}
.product-detail-title{margin-top:0.25rem;font-size:1.625rem}
}
.achievements-section{position:relative;isolation:isolate;background:transparent;overflow:hidden;--wave-height:calc(var(--page-w) * 0.08333);padding-top:calc(var(--wave-height) + 6rem);padding-bottom:calc(var(--wave-height) + 3.5rem)}
.achievements-section::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(
rgba(62,58,57,0.48),rgba(62,58,57,0.48)
),url("../img/achievements-bg.webp")
center center / cover no-repeat;-webkit-mask-image:url("../img/svg/top-wave-mask.svg"),linear-gradient(#000 0 0);-webkit-mask-size:100% auto,100% calc(100% - var(--wave-height) + 3px);-webkit-mask-position:top center,bottom center;-webkit-mask-repeat:no-repeat,no-repeat;mask-image:url("../img/svg/top-wave-mask.svg"),linear-gradient(#000 0 0);mask-size:100% auto,100% calc(100% - var(--wave-height) + 3px);mask-position:top center,bottom center;mask-repeat:no-repeat,no-repeat}
.achievements-section .content-width{position:relative;z-index:2;padding-bottom:5rem}
.achievements-inner{padding-top:0}
.achievements-eyebrow{margin-bottom:0.9375rem;font-size:clamp(16px,1.25vw,18px);font-weight:600;line-height:1.5;letter-spacing:0.02em;color:#ffffff}
.achievements-title{margin-bottom:2.5rem;color:#ffffff;font-size:clamp(24px,2.08vw,30px);font-weight:500;line-height:1.75;letter-spacing:0.03em}
.achievements-divider{width:100%;height:1px;margin-bottom:clamp(1.75rem,2.5vw,2.5rem);background:rgba(255,255,255,0.5)}
.achievements-text{width:min(100%,1050px);margin-bottom:clamp(2.5rem,4vw,4.5rem);font-size:clamp(15px,1.18vw,17px);font-weight:500;line-height:2;letter-spacing:0.03em;color:#ffffff}
.achievements-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.4vw,2.5rem);align-items:stretch}
.achievements-card{width:100%}
.achievements-card img{width:100%;height:auto;display:block;border-radius:0.5rem}
@media (max-width:1024px){.achievements-text{line-height:1.8}
}
@media (max-width:767px){.achievements-section{padding-top:calc(var(--wave-height) + 4.5rem);padding-bottom:4.5rem}
.achievements-inner{padding-top:2rem}
.achievements-eyebrow{font-size:1rem}
.achievements-title{margin-bottom:1.875rem;font-size:min(1.5rem,5.7vw)}
.achievements-divider{margin-bottom:1.5rem}
.achievements-text{width:100%;margin-bottom:2rem;font-size:0.9375rem;line-height:2}
.achievements-cards{grid-template-columns:1fr;gap:1.5rem}
.achievements-card img{border-radius:0.375rem}
}
.lineup-section{position:relative;z-index:3;margin-top:-1px;padding-block:var(--section-space);background-color:#fff}
.lineup-list{--lineup-card-max:400px;--lineup-gap:clamp(60px,8.5vw,120px);display:grid;grid-template-columns:repeat(2,minmax(0,var(--lineup-card-max)));justify-content:center;gap:var(--lineup-gap);align-items:start}
.lineup-card{width:100%;min-width:0}
.lineup-card-title{position:relative;padding-left:clamp(17px,1.389vw,20px);margin-bottom:clamp(20px,2.2vw,32px);color:#3d3938;font-size:clamp(20px,1.74vw,25px);font-weight:500;line-height:1.5;letter-spacing:0.03em}
.lineup-card-title::before{content:"";position:absolute;top:50%;left:0;width:6px;height:clamp(23px,2.778vw,30px);border-radius:999px;background:linear-gradient(to bottom,#FFC47D 0%,#EB8307 100%);transform:translateY(-50%)}
.lineup-image{width:100%;margin-bottom:clamp(12px,1.4vw,20px)}
.lineup-image img{display:block;width:100%;height:auto;object-fit:contain}
.lineup-text,.lineup-tags{margin-left:5%}
.lineup-text{color:#3d3938;font-size:clamp(14px,1.11vw,16px);font-weight:400;line-height:1.9;letter-spacing:0.03em}
.lineup-tags{display:block;margin-top:clamp(8px,1.1vw,16px)}
.lineup-tags-list{display:block}
.lineup-tag{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:4px 15px;border:1px solid #66B0AA;border-radius:999px;color:#66B0AA;background-color:#fff;font-size:clamp(13px,1.04vw,15px);font-weight:400;line-height:1;margin-bottom:10px}
.lineup-note{width:min(
100%,calc(var(--lineup-card-max) * 2 + var(--lineup-gap))
);--lineup-card-max:400px;--lineup-gap:clamp(60px,8.5vw,120px);margin-inline:auto;margin-top:clamp(8px,1.1vw,16px);color:#555;font-size:clamp(11px,0.83vw,12px);font-weight:400;line-height:1.7;letter-spacing:0.02em}
.lineup-note p + p{margin-top:2px}
@media (max-width:767px){.lineup-section .section-heading{margin-bottom:3.125rem}
.lineup-list{grid-template-columns:1fr;gap:40px}
.lineup-card-title{margin-bottom:16px;padding-left:17px;font-size:1.25rem}
.lineup-card-title::before{height:23px}
.lineup-image{width:min(100%,400px);margin-inline:auto;margin-bottom:16px}
.lineup-text{font-size:14px;line-height:1.8}
.lineup-text br{display:none}
.lineup-tags{margin-top:8px}
.lineup-tag{min-height:28px;font-size:13px}
.lineup-note{font-size:0.6875rem;line-height:1.65}
.lineup-card{width:min(100%,400px);margin-inline:auto}
.lineup-image{width:100%;margin-bottom:16px}
}
.sumika-option{position:relative;margin-top:8rem;color:#fff}
.sumika-option-sticky{position:relative;width:100%;height:100%}
.sumika-option-inner{position:sticky;top:70px;background-color:#509C94;display:grid;align-content:start;width:100%;box-sizing:border-box;padding:3rem clamp(2rem,5vw,5rem) 4rem}
.sumika-option-label{position:absolute;top:0;left:7%;display:flex;flex-direction:column;align-items:center;justify-content:center;width:7rem;height:4.5rem;border-radius:0 0 0.5rem 0.5rem;background-color:#F6B350;color:#fff;z-index:5}
.sumika-option-label-en{font-family:'Poppins',sans-serif;font-size:1.25rem;font-weight:600;line-height:1;letter-spacing:0.04em}
.sumika-option-label-ja{margin-top:0.35rem;font-size:0.8125rem;font-weight:600;line-height:1}
.sumika-option-heading{margin-top:8rem;text-align:center}
.sumika-option-brand-wrap{position:relative;width:min(100%,280px);height:24px;margin-inline:0}
.sumika-option-brand{position:absolute;top:50%;left:0;display:block;width:auto;height:20px;max-width:100%;object-fit:contain;opacity:0;visibility:hidden;transform:translateY(-50%);transition:opacity 0.3s ease,visibility 0.3s ease}
.sumika-option-brand.is-active{opacity:1;visibility:visible;transform:translateY(-50%)}
.sumika-option-title{margin-top:0.5rem;color:#fff;font-size:clamp(1.75rem,2.5vw,2.25rem);font-weight:700;line-height:1.3;letter-spacing:0.03em;display:none}
.sumika-option-title.is-active{display:block}
.sumika-option-title span{font-family:'Poppins',sans-serif;font-size:0.72em;font-weight:600;letter-spacing:0.03em}
.sumika-change{display:flex;flex-direction:column;align-items:center;margin-top:3rem}
.sumika-change-circle{position:relative;display:grid;place-items:center;width:min(25rem,38vw);aspect-ratio:1 / 1}
.sumika-change-ring{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible;transform:rotate(-90deg);pointer-events:none}
.sumika-change-ring-base{fill:none;stroke:rgba(255,255,255,0.42);stroke-width:0.35}
.sumika-change-ring-progress{fill:none;stroke:#fff;stroke-width:0.4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;transition:opacity 0.15s ease;will-change:stroke-dashoffset,opacity}
.sumika-change-ring-progress.is-drawing{opacity:1}
.sumika-change-content{position:relative;width:70%;height:70%}
.sumika-change-item{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(1rem) scale(0.97);transition:opacity 0.45s ease,visibility 0.45s ease,transform 0.7s cubic-bezier(0.22,1,0.36,1);pointer-events:none}
.sumika-change-item.is-active{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.sumika-change-text{position:relative;z-index:2;color:#fff;font-size:1.125rem;font-weight:500;line-height:1.8;text-align:center;letter-spacing:0.03em}
.sumika-change-image{position:relative;z-index:1;width:clamp(7rem,9vw,9rem);margin-top:1.5rem}
.sumika-change-image img{display:block;width:100%;height:auto;object-fit:contain}
.sumika-change-dots{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem}
.sumika-change-dot{display:block;cursor:pointer;width:1.25rem;aspect-ratio:1 / 1;border:1px solid rgba(255,255,255,0.8);border-radius:50%;background-color:transparent;transition:background-color 0.35s ease,transform 0.35s ease}
.sumika-change-dot.is-active{background-color:#fff}
.sumika-option-descriptions{position:relative;width:min(100%,36rem);margin:2rem auto 0}
.sumika-option-description{width:100%;margin:0;color:#fff;font-size:1rem;font-weight:400;line-height:1.65;letter-spacing:0.03em;display:none}
.sumika-option-description.is-active{display:block}
@media (min-width:769px){.sumika-option-inner{grid-template-columns:minmax(0,1fr)
auto;grid-template-rows:minmax(4.5rem,1fr) auto auto 1fr;grid-template-areas:". change"
"heading change"
"description change"
". change";column-gap:clamp(1.5rem,3vw,3.5rem);row-gap:clamp(1.25rem,2vw,2rem);align-items:center;align-content:center;padding:clamp(3rem,4vw,5rem)
clamp(2.5rem,5vw,6rem)
clamp(3rem,4vw,5rem)}
.sumika-option-heading{grid-area:heading;width:100%;margin-top:0;text-align:left;align-self:end}
.sumika-option-brand-wrap{margin-inline:0}
.sumika-option-descriptions{grid-area:description;width:min(100%,26rem);margin:0;align-self:start}
.sumika-change{grid-area:change;width:auto;margin-top:0;align-self:center;justify-self:center}
.sumika-change-circle{width:clamp(250px,30vw,400px)}
.sumika-change-item{flex-direction:column;align-items:center;justify-content:center;gap:0}
.sumika-change-text{text-align:center}
.sumika-change-image{width:clamp(6.5rem,8vw,8.5rem);flex-shrink:0;margin-top:1.25rem}
}
@media (max-width:1080px){.sumika-change-text{font-size: 0.9375rem;}}
@media (max-width:768px){.sumika-option{margin-top:5.25rem}
.sumika-option-inner{top:60px;padding:1.5rem 1.5rem 2.5rem}
.sumika-option-label{width:5.4rem;height:3.5rem;border-radius:0 0 0.45rem 0.45rem}
.sumika-option-label-en{font-size:1rem}
.sumika-option-label-ja{margin-top:0.25rem;font-size:0.6rem}
.sumika-option-heading{margin-top:4rem;text-align:center}
.sumika-option-brand-wrap{width:min(100%,105px);height:14px;margin-inline:auto}
.sumika-option-brand{top:50%;left:50%;width:auto;height:14px;transform:translate(-50%,-50%)}
.sumika-option-brand.is-active{transform:translate(-50%,-50%)}
.sumika-option-title{font-size:1.45rem;line-height:1.25}
.sumika-option-title span{font-size:0.78em}
.sumika-change{margin-top:1.5rem}
.sumika-change-circle{width:min(62vw,224px);height:min(62vw,224px)}
.sumika-change-text{font-size:1.0625rem;line-height:1.41}
.sumika-change-image{width:5rem;margin-top:0.8rem}
.sumika-change-dots{gap:0.75rem;margin-top:1.2rem}
.sumika-change-dot{width:0.875rem}
.sumika-option-descriptions{width:100%;max-width:18rem;margin:1.5rem auto 0}
.sumika-option-description{font-size:0.9375rem;line-height:1.5}
}
@media(max-width:540px){.sumika-option-descriptions{max-width:15rem}
.sumika-option-title{margin-top:0.6rem}
}
@media (prefers-reduced-motion:reduce){.sumika-change-item{transition:none}
}
.model-house-section{position:relative;width:100%;overflow:hidden}
.model-house-wave{position:relative;width:100%;line-height:0;overflow:hidden}
.model-house-wave img{display:block;width:100%;height:auto}
.model-house-wave--top{margin-bottom:-6px}
.model-house-wave--bottom{margin-top:-6px}
.model-house-body{padding-block:var(--section-space) calc(var(--section-space) - 3rem);background-color:#e6f0ef}
.sp-only{display:none}
.svg-object-fallback{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;opacity:1;visibility:visible;pointer-events:none;z-index:1}
.js-svg-fallback-frame>object{visibility:hidden}
.js-svg-fallback-frame.is-svg-enhanced>object{visibility:visible}
.js-svg-fallback-frame.is-svg-enhanced>.svg-object-fallback{opacity:0;visibility:hidden}
.season-danger__graph-wrap.js-svg-fallback-frame.is-svg-js-active>.svg-object-fallback,.product-maintenance-animation.js-svg-fallback-frame.is-svg-js-active>.svg-object-fallback{opacity:0;visibility:hidden}
.season-danger__graph-wrap.js-svg-fallback-frame,.season-danger__winter-visual.js-svg-fallback-frame,.product-maintenance-animation.js-svg-fallback-frame{position:relative}
.season-danger--winter.is-entering{animation:none}
.js-reveal{opacity:1;transform:none}
.js-reveal.is-reveal-ready>.content-width,
.js-reveal.is-reveal-ready>.content-width-in,
.js-reveal.is-reveal-ready>.model-house-body>.content-width{opacity:0;transform:translateY(28px);transition:opacity 0.7s ease,transform 0.7s cubic-bezier(0.22,1,0.36,1)}
.js-reveal.is-reveal-ready.is-revealed>.content-width,
.js-reveal.is-reveal-ready.is-revealed>.content-width-in,
.js-reveal.is-reveal-ready.is-revealed>.model-house-body>.content-width{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js-reveal,.js-reveal.is-reveal-ready>.content-width,.js-reveal.is-reveal-ready>.content-width-in,.js-reveal.is-reveal-ready>.model-house-body>.content-width{opacity:1;transform:none;transition:none}
}
.ink-kanji{margin-left:-0.04em}
.ink-en{margin-left:-0.07em}
.ink-en-sm{margin-left:-0.03em}
.ink-kana{margin-left:-0.13em}
.ink-kana-sm{margin-left:-0.08em}
@media (min-width:768px){.season-card-title{white-space:nowrap}
}
@media (min-width:768px){.ink-mid-pc{margin-left:0}
}
@media (max-width:767px){.ink-mid-sp{margin-left:0}
}
.kana-tight{margin-left:-0.09em}
.model-house-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(40px,4.167vw,60px) clamp(20px,2.083vw,30px);width:100%}
.model-house-card{min-width:0}
.model-house-card-link{display:block;width:100%}
.model-house-image{position:relative;width:100%;aspect-ratio:1.48 / 1;overflow:hidden;border-radius:clamp(12px,1.389vw,20px)}
.model-house-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.45s cubic-bezier(0.22,0.61,0.36,1)}
.model-house-name{margin-top:clamp(10px,1.042vw,15px);color:#3d3938;font-size:1rem;font-weight:400;line-height:1.6;letter-spacing:0.03em}
@media (hover:hover){.model-house-card-link:hover
.model-house-image img{transform:scale(1.04)}
}
.model-house-cta{display:flex;justify-content:center;margin-top:clamp(65px,7.639vw,110px)}
.model-house-button{position:relative;display:flex;align-items:center;justify-content:center;width:min(100%,339px);height:59px;padding:0 40px;border:1px solid #3E3A39;border-radius:999px;background-color:#3E3A39;color:#fff;overflow:hidden;transition:background-color 0.4s ease,color 0.4s ease,transform 0.3s ease}
.model-house-button-text{position:relative;z-index:2;font-size:1.125rem;font-weight:700;line-height:1;letter-spacing:0.08em;margin-right: 1.1em;}
.model-house-button-arrow{position:absolute;top:50%;right:12px;display:flex;align-items:center;justify-content:center;width:45px;height:30px;border-radius:999px;background-color:#fff;color:#3E3A39;overflow:hidden;transform:translateY(-50%);transition:background-color 0.4s ease,color 0.4s ease}
.model-house-button-arrow-icon{position:relative;display:block;width:18px;height:10px}
.model-house-button-arrow-icon::before{content:"";position:absolute;top:50%;left:0;width:18px;height:1px;background-color:currentColor;transform:translateY(-50%)}
.model-house-button-arrow-icon::after{content:"";position:absolute;top:50%;right:0;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:translateY(-50%) rotate(45deg)}
@media (hover:hover){.model-house-button:hover{background-color:#fff;color:#3E3A39;transform:translateY(-2px)}
.model-house-button:hover .model-house-button-arrow{background-color:#3E3A39;color:#fff}
.model-house-button:hover .model-house-button-arrow-icon{animation:arrow-slide-loop 0.55s ease}
}
@keyframes arrow-slide-loop{0%{transform:translateX(0)}
45%{transform:translateX(35px)}
46%{transform:translateX(-35px)}
100%{transform:translateX(0)}
}
@media (max-width:768px){.model-house-list{gap:40px 20px}
}
@media (max-width:767px){.model-house-body{padding-block:var(--section-space-top)}
.model-house-body .section-heading{margin-bottom:2.5rem}
.sp-only{display:block}
.model-house-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 16px}
.model-house-image{border-radius:6px}
.model-house-cta{margin-top:45px}
}
@media (max-width:540px){.model-house-name{font-size:0.8125rem;margin-top:10px;line-height:1.46}
.model-house-list{gap:30px 13px}
}
.movie-section{padding-block:var(--section-space-wide);background-color:#fff}
.movie-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,3.472vw,50px);width:100%;margin-inline:auto}
.movie-item{min-width:0;width:100%}
.movie-label{position:relative;margin-bottom:clamp(20px,2.083vw,30px);padding-left:clamp(16px,1.389vw,20px);color:var(--heading-color);font-size:1.25rem;font-weight:500;line-height:1.5;letter-spacing:0.03em}
.movie-label::before{content:"";position:absolute;top:50%;left:0;width:5px;height:1.3em;border-radius:999px;background:linear-gradient(
to bottom,#FFC47D 0%,#EB8307 100%
);transform:translateY(-50%)}
.movie-video{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;background-color:#eee}
.movie-video iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:1280px){.movie-label{font-size:1.25rem}
}
@media(max-width:900px){.movie-label{font-size:1rem}
}
@media (max-width:767px){.movie-section .section-heading-title{font-size:clamp(22px,7.6vw,36px)}
.movie-list{grid-template-columns:1fr;gap:60px;width:100%}
.movie-label{margin-bottom:20px;padding-left:15px}
}
@media (max-width:540px){.movie-section{padding-block:var(--section-space-top)
var(--section-space-wide)}
.movie-list{gap:40px}
.movie-label{margin-bottom:12px;padding-left:8px}
}
.faq-section{--faq-color:#66B0AA;--faq-text:#3E3A39;position:relative;padding-block:var(--section-space-wide);background-color:#fff;background-image:linear-gradient(
to right,rgba(150,150,150,0.22) 1px,transparent 1px
),linear-gradient(
to bottom,rgba(150,150,150,0.22) 1px,transparent 1px
);background-size:clamp(20px,2.083vw,30px)
clamp(20px,2.083vw,30px)}
.faq-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.083vw,30px);width:min(100%,960px);margin-inline:auto}
.faq-card{position:relative;min-width:0;aspect-ratio:0.8 / 1;perspective:1200px}
.faq-card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform 0.7s cubic-bezier(0.22,0.61,0.36,1)}
.faq-card.is-open .faq-card-inner{transform:rotateY(180deg)}
.faq-card-face{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;width:100%;height:100%;padding:21px 17px;border-radius:18px;text-align:left;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;cursor:pointer;transition:background-color 0.35s ease,color 0.35s ease,border-color 0.35s ease}
.faq-card-front{color:#fff;background-color:var(--faq-color);border:3px solid var(--faq-color)}
.faq-card-back{color:var(--faq-text);background-color:#fff;border:3px solid var(--faq-color);transform:rotateY(180deg)}
.faq-card-content{width:100%;margin:0}
.faq-number{color:#fff;font-size:26px;font-weight:600;line-height:1;transition:color 0.35s ease}
.faq-card-back .faq-number{color:var(--faq-color)}
.faq-line{width:100%;height:1px;margin:12px 0 18px;background-color:rgba(255,255,255,0.8);transition:background-color 0.35s ease}
.faq-card-back .faq-line{background-color:var(--faq-color)}
.faq-question,.faq-answer{font-size:1rem;font-weight:bold;line-height:1.8;letter-spacing:0.03em}
.faq-answer{font-size:clamp(14px,1.04vw,15px);font-weight:500}
.faq-card-back .faq-card-content{flex:1 1 auto;min-height:0;padding-bottom:clamp(44px,3.5vw,52px);overflow-y:auto;scrollbar-width:none}
.faq-card-back .faq-card-content::-webkit-scrollbar{display:none}
.faq-toggle{position:absolute;right:23px;bottom:23px;width:39px;aspect-ratio:1 / 1;border-radius:50%;background-color:rgba(255,255,255,0.82);transition:background-color 0.35s ease}
.faq-toggle::before{content:"";position:absolute;top:50%;left:50%;width:50%;height:2px;background-color:var(--faq-color);transform:translate(-50%,-50%)}
.faq-toggle::after{content:"";position:absolute;top:50%;left:50%;width:2px;height:50%;background-color:var(--faq-color);transform:translate(-50%,-50%)}
.faq-toggle::before,.faq-toggle::after{transition:background-color 0.35s ease}
.faq-card-back .faq-toggle{background-color:var(--faq-color)}
.faq-card-back .faq-toggle::before{background-color:#fff}
.faq-card-back .faq-toggle::after{display:none}
@media (hover:hover){.faq-card-front:hover{color:#fff;background-color:var(--faq-color)}
.faq-card-front:hover .faq-number{color:#fff}
.faq-card-front:hover .faq-line{background-color:rgba(255,255,255,0.85)}
.faq-card-front:hover .faq-toggle{background-color:rgba(255,255,255,0.85)}
.faq-card-front:hover .faq-toggle::before,.faq-card-front:hover .faq-toggle::after{background-color:var(--faq-color)}
}
@media (min-width:769px) and (max-width:1080px){.faq-list{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:center;gap:clamp(20px,3vw,30px);width:100%;margin-inline:auto}
.faq-card{width:100%;aspect-ratio:0.72 / 1}
.faq-card-face{padding:clamp(20px,2.2vw,24px)}
}
@media (max-width:768px){.faq-section{background-size:22px 22px}
.faq-list{display:flex;gap:16px;width:calc(100% + var(--content-side) * 2);margin-left:calc(-1 * var(--content-side));overflow-x:auto;overflow-y:hidden;padding-left:var(--content-side);padding-right:8vw;padding-block:48px;margin-block:-48px;scroll-padding-left:var(--content-side);scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.faq-line{margin:10px auto 16px}
.faq-list::-webkit-scrollbar{display:none}
.faq-card{flex:0 0 min(70vw,290px);aspect-ratio:0.75 / 1;scroll-snap-align:start}
.faq-card-face{padding:18px 15px;border-radius:16px}
.faq-number{font-size:23px}
.faq-question,.faq-answer{line-height:2}
.faq-toggle{right:20px;bottom:20px;width:34px}
}
@media (min-width:541px) and (max-width:768px){.faq-card{flex:0 0 230px;aspect-ratio:0.75 / 1}
}
@media(max-width:540px){.faq-section{padding-block:var(--section-space-top) var(--section-space-wide)}
.faq-card{flex:1 0 min(65.3vw,330px);aspect-ratio:254.53 / 372.56}
}
@media (prefers-reduced-motion:reduce){.faq-card-inner{transition-duration:0.01ms}
}
.site-footer{background:#5B5B5B;color:#fff}
.footer-main{display:flex;justify-content:space-between;align-items:flex-end;padding:130px 0 85px;gap:16px}
.footer-info{min-width:0;max-width:350px;width:100%}
.footer-logo{display:block;max-width:300px;width:100%}
.footer-logo img{width:100%;height:auto}
.footer-company-name{margin-top:30px;font-size:1rem;line-height:1;font-weight:400;letter-spacing:0.1em}
.footer-company-text{margin-top:28px;color:rgba(255,255,255,0.75);font-size:10px;font-weight:400;line-height:2;letter-spacing:0.04em}
.footer-sns-list{display:flex;align-items:center;gap:clamp(20px,calc(11.176px + 2.206vw),35px);margin-top:28px}
.footer-sns-list a{display:block;width:36px;height:36px;aspect-ratio:1 / 1;border-radius:50%;transition:opacity 0.25s ease,transform 0.25s ease}
.footer-sns-list a:hover{opacity:0.75;transform:translateY(-2px)}
.footer-sns-list img{width:100%;height:100%;object-fit:contain}
.footer-nav{min-width:0;width:100%}
.footer-nav-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 50px}
.footer-nav-list a{position:relative;display:block;padding-bottom:30px;border-bottom:1px solid #aaaaaa;color:#fff;transition:opacity 0.25s ease}
.footer-nav-list a:hover{opacity:0.7}
.footer-nav-en{display:block;position:relative;padding-left:18px;font-size:15px;font-weight:400;line-height:1}
.footer-nav-en::before{content:"";position:absolute;left:0;top:0.6em;width:9px;height:1px;background:#fff}
.footer-nav-ja{display:block;margin-top:10px;font-size:15px;font-weight:400;line-height:1}
.footer-nav-list a::after{content:"";position:absolute;top:38%;right:6%;width:10px;height:10px;border-top:1px solid #fff;border-right:1px solid #fff;transform:rotate(45deg)}
.footer-copy{display:grid;place-items:center;min-height:39px;background:#29251E;text-align:center}
.footer-copy small{color:rgba(255,255,255,0.85);font-size:12px;line-height:1.5;letter-spacing:0.06em}
.footer-link-area{max-width:720px;width:100%;margin-left:auto}
.f-policy{margin-top:20px}
.f-policy a{font-size:0.75rem}
.f-policy a:first-child{border-right:1px solid #AAAAAA;padding-right:10px;margin-right:10px}
@media(max-width:1200px){.footer-nav-list{gap:24px 30px}
}
@media (max-width:900px){.footer-main{align-items:flex-start}
.footer-company-name{margin-top:22px}
.footer-company-text{margin-top:22px;line-height:2}
.footer-sns-list{margin-top:45px}
.footer-nav-list{grid-template-columns:1fr;gap:0}
.footer-nav-list a{min-height:auto;padding:24px 44px 26px 0}
.footer-nav-list li:first-child a{padding-top:0}
.footer-nav-list a::after{top:50%;transform:translateY(-50%) rotate(45deg)}
}
@media(max-width:767px){.footer-main{flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:130px 0 50px;gap:50px}
}
@media (max-width:540px){.site-footer .content-width{width:min(81.5%,1200px)}
.footer-logo{width:240px}
.footer-company-name{font-size:18px}
.footer-company-text{font-size:10px}
.footer-sns-list{gap:24px}
.footer-sns-list a{width:40px}
.footer-nav-en{font-size:13px}
.footer-nav-ja{font-size:13px}
.footer-copy{min-height:42px}
}
@media (min-width:768px) and (max-width:1240px){.movie-section,.faq-section{padding-block:7rem}
}
@media (max-width:767px){.achievements-section::before{background-image:linear-gradient(rgba(62,58,57,0.48),rgba(62,58,57,0.48)),url("../img/sp/achievements-bg-sp-a.webp")}
}
