:root{
--c-green:#349633;
--c-lime:#80b928;
--c-green-light:#6dd46c;
--c-green-dark:#0c6d24;
--c-text:#333333;
--c-text-strong:#18221d;
--c-white:#ffffff;
--c-orange:#e56a00;
--c-bg-gray:#f5f5f3;
--c-bg-mint:#f7faf7;
--c-overlay:#09120f;
--c-border:#dcdcdc;
--c-border-line:#d9e1dc;
--c-company-bg:rgba(51,51,51,.902);
--c-card-glass:rgba(255,255,255,.251);
--f-jp:"Noto Sans JP",sans-serif;
--f-en:"Archivo Black",sans-serif;
--container-wide:1300px;
--container:1156px;
--container-narrow:952px;
--header-h:67px;
--shadow-card:0 3px 12px rgba(0,0,0,.08);
--shadow-soft:0 2px 10px rgba(0,0,0,.06);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body,h1,h2,h3,p,dl,dt,dd,ul,li,figure,table{margin:0;padding:0}
ul{list-style:none}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
table{border-collapse:collapse}
body{
font-family:var(--f-jp);
font-weight:400;
color:var(--c-text);
background:var(--c-white);
line-height:1.6;
-webkit-font-smoothing:antialiased;
overflow-x:hidden;
}
[id]{scroll-margin-top:calc(var(--header-h) + 60px)}

.bg-fixed{
position:fixed;
inset:0;
z-index:1;
overflow:hidden;
pointer-events:none;
display:none;
clip-path:inset(100% 0 0 0);
will-change:clip-path;
}
.js .bg-fixed{display:block}
.bg-fixed__img{
position:absolute;
top:0;
left:0;
max-width:none;
transform-origin:0 0;
will-change:transform;
}
.bg-fixed__veil{position:absolute;inset:0;background:var(--c-overlay);opacity:0}

.header{
position:fixed;
top:0;
left:0;
width:100%;
height:var(--header-h);
z-index:5;
display:flex;
align-items:center;
background:var(--c-white);
}
.header__brand{display:flex;align-items:center;gap:14px;padding-left:20px;margin-right:auto}
.header__logo{width:100px;height:40px;object-fit:contain}
.header__name{font-size:14px;font-weight:700;letter-spacing:.02em}
.header__tel{
display:flex;
align-items:center;
justify-content:center;
gap:8px;
width:222px;
height:var(--header-h);
background:var(--c-green);
color:var(--c-white);
transition:background-color .2s;
}
.header__tel:hover{background:#2b7f2a}
.header__tel-icon{width:20px;height:20px}
.header__tel-num{font-size:22px;font-weight:900;letter-spacing:.01em;line-height:1}
.header__burger{display:none}

.nav__list{display:flex;align-items:center;gap:32px;margin-right:30px}
.nav__link{font-size:14px;font-weight:700;transition:color .2s}
.nav__link:hover{color:var(--c-green)}

.drawer{
position:fixed;
inset:0;
z-index:6;
background:var(--c-white);
display:flex;
flex-direction:column;
visibility:hidden;
opacity:0;
transition:opacity .25s,visibility .25s;
overflow-y:auto;
}
.drawer.is-open{visibility:visible;opacity:1}
.drawer__head{display:flex;align-items:center;height:60px;flex:0 0 auto}
.drawer__brand{display:flex;align-items:center;gap:10px;padding-left:20px;margin-right:auto}
.drawer__logo{width:100px;height:40px;object-fit:contain}
.drawer__name{font-size:14px;font-weight:700}
.drawer__close{
width:60px;
height:60px;
background:var(--c-green);
position:relative;
flex:0 0 auto;
}
.drawer__close::before,.drawer__close::after{
content:"";
position:absolute;
top:50%;
left:50%;
width:23px;
height:2px;
background:var(--c-white);
}
.drawer__close::before{transform:translate(-50%,-50%) rotate(45deg)}
.drawer__close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.drawer__list{margin-top:59px}
.drawer__item{border-bottom:1px solid var(--c-border-line)}
.drawer__link{
display:flex;
align-items:center;
gap:10px;
padding:22px 20px 22px 55px;
font-size:18px;
font-weight:700;
}
.drawer__link::before{content:"";width:15px;height:3px;background:var(--c-green);flex:0 0 auto}
.drawer__tel{
display:flex;
align-items:center;
justify-content:center;
gap:12px;
width:285px;
height:86px;
margin:52px auto 40px;
background:var(--c-green);
color:var(--c-white);
}
.drawer__tel-icon{width:25px;height:26px}
.drawer__tel-num{font-size:28px;font-weight:900;letter-spacing:.01em;line-height:1}

.page{scroll-margin-top:var(--header-h)}
.fv,.news,.reasons,.service,.tracks,.area,.contact,.group,.company,.footer{position:relative;z-index:2}

.heading{text-align:center}
.heading__en{font-family:var(--f-en);font-size:70px;line-height:1.34;color:var(--c-text)}
.heading__ja{font-size:20px;font-weight:700;line-height:1.45;color:var(--c-green)}
.heading__ja::after{content:"";display:block;width:30px;height:4px;margin:13px auto 0;background:var(--c-green)}
.heading--light .heading__en,.heading--light .heading__ja{color:var(--c-white)}
.heading--light .heading__ja::after{background:var(--c-white)}

.btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:10px;
transition:background-color .2s,color .2s,border-color .2s;
}
.btn--outline{
width:261px;
height:54px;
border:1px solid #75b32b;
border-radius:5px;
background:var(--c-white);
font-size:16px;
font-weight:700;
color:var(--c-lime);
}
.btn--outline:hover{background:#f4f9ec}
.btn--outline svg{flex:0 0 auto}
.btn--orange{
width:240px;
height:58px;
background:var(--c-orange);
color:var(--c-white);
font-size:18px;
font-weight:700;
}
.btn--orange:hover{background:#cc5f00}

.fv{position:relative;z-index:3;height:688px;margin-top:var(--header-h)}
.fv__bg{position:absolute;inset:0;overflow:hidden;background:url(../images/fv-kv.webp) center/cover no-repeat}
.fv__bg::after{content:"";position:absolute;inset:0;background:var(--c-overlay);opacity:.6}
.fv__inner{
position:relative;
width:min(var(--container-wide),calc(100% - 80px));
margin:0 auto;
height:100%;
}
.fv__eyebrow{
display:flex;
align-items:center;
gap:7px;
position:absolute;
top:242px;
left:0;
color:var(--c-white);
font-size:22px;
font-weight:700;
letter-spacing:.01em;
}
.fv__eyebrow::before{content:"";width:60px;height:4px;background:var(--c-green);flex:0 0 auto}
.fv__title{
position:absolute;
top:278px;
left:0;
font-size:63px;
font-weight:800;
line-height:1.24;
letter-spacing:.01em;
color:var(--c-white);
}
.fv__title em{font-style:normal;color:var(--c-green-light)}
.fv__br,.about__br,.group__br{display:none}
.fv__scroll{
position:absolute;
left:50%;
bottom:0;
transform:translateX(-50%);
display:flex;
flex-direction:column;
align-items:center;
color:var(--c-white);
font-size:12px;
font-weight:500;
letter-spacing:.1em;
}
.fv__scroll-line{
position:relative;
width:1px;
height:46px;
margin-top:4px;
overflow:hidden;
background:rgba(255,255,255,.35);
}
.fv__scroll-line::after{
content:"";
position:absolute;
top:0;
left:0;
width:1px;
height:18px;
background:var(--c-white);
animation:fv-scroll 2s cubic-bezier(.4,0,.2,1) infinite;
}
@keyframes fv-scroll{
0%{transform:translateY(-18px)}
70%,100%{transform:translateY(46px)}
}
.fv__card{
display:block;
position:absolute;
right:0;
top:604px;
width:358px;
padding:17px 0 20px;
border:2px solid var(--c-white);
border-radius:5px;
background:var(--c-green);
box-shadow:var(--shadow-card);
color:var(--c-white);
text-align:center;
z-index:2;
transition:background-color .2s;
}
.fv__card:hover{background:#2b7f2a}
.fv__card-head{display:flex;align-items:center;justify-content:center;gap:5px;font-size:18px;font-weight:500}
.fv__card-icon{width:20px;height:20px}
.fv__card-num{display:block;font-size:40px;font-weight:900;letter-spacing:.01em;line-height:1.4}
.fv__card-note{display:block;font-size:16px}

.news{background:var(--c-bg-gray)}
.news__inner{
width:min(var(--container-wide),calc(100% - 80px));
margin:0 auto;
height:90px;
display:flex;
align-items:center;
gap:30px;
}
.news__label{display:flex;align-items:center;gap:15px}
.news__en{font-family:var(--f-en);font-size:24px;line-height:1.3;color:var(--c-text)}
.news__ja{
display:flex;
align-items:center;
gap:18px;
font-size:16px;
font-weight:500;
color:var(--c-green);
}
.news__ja::before{content:"";width:3px;height:25px;background:var(--c-green)}

.about{position:relative;z-index:0;background:var(--c-white);padding-bottom:280px}
.about__line{height:85px;background:url(../images/bg-line.webp) center/cover no-repeat}
.about__inner{width:min(var(--container-wide),calc(100% - 80px));margin:0 auto}
.about .heading{padding-top:44px}
.about__lead{
margin-top:84px;
text-align:center;
font-size:32px;
font-weight:700;
line-height:1.44;
color:var(--c-text);
}
.about__text{
max-width:673px;
margin:41px auto 0;
font-size:18px;
line-height:2.22;
}
.about__photo{
width:672px;
max-width:100%;
aspect-ratio:672/410;
margin:66px auto 0;
background:url(../images/bg-office.webp) center bottom/cover no-repeat;
}
.js .about__photo{background-image:none}
.js .about__photo.is-static{background-image:url(../images/bg-office.webp)}

.reasons{padding-top:665px}
.reasons__list{
width:min(var(--container-narrow),calc(100% - 80px));
margin:88px auto 0;
display:flex;
flex-direction:column;
gap:50px;
}
.reasons__card{
position:relative;
display:grid;
grid-template-columns:389px 413px;
gap:50px;
justify-content:space-between;
padding:50px;
border:1px solid var(--c-border);
border-radius:5px;
background:var(--c-white);
box-shadow:var(--shadow-card);
overflow:hidden;
}
.reasons__card::before{content:"";position:absolute;top:0;bottom:0;left:0;width:6px;background:var(--c-lime)}
.reasons__card--flip{grid-template-columns:413px 389px}
.reasons__card--flip::before{left:auto;right:0}
.reasons__card--flip .reasons__body{grid-column:2;grid-row:1}
.reasons__card--flip .reasons__figure{grid-column:1;grid-row:1}
.reasons__num{font-size:23px;font-weight:700;line-height:1.48;color:var(--c-lime)}
.reasons__title{margin-top:20px;font-size:30px;font-weight:700;line-height:1.47;color:var(--c-text-strong)}
.reasons__text{margin-top:20px;font-size:16px;line-height:2}
.reasons__figure{align-self:start}
.reasons__img{width:100%;aspect-ratio:413/248;object-fit:cover}
.reasons__img--cert{object-fit:contain;background:var(--c-white)}
.service{padding-top:370px}
.service__body{position:relative;max-width:1500px;margin:78px auto 0}
.service__visual{
position:absolute;
left:0;
top:-60px;
width:53.7%;
height:547px;
overflow:hidden;
z-index:2;
}
.service__visual-media{display:block;width:100%;height:100%}
.service__visual-img{width:100%;height:100%;object-fit:cover}
.service__visual::after{
content:"";
position:absolute;
top:0;
right:0;
width:49.08%;
height:100%;
background:var(--c-green-dark);
opacity:.4;
clip-path:polygon(57.583% 0,100% 0,100% 100%,0 100%);
}
.service__label{
position:absolute;
left:22%;
top:84%;
z-index:3;
white-space:nowrap;
font-family:var(--f-en);
font-size:70px;
line-height:1.34;
color:var(--c-green-light);
}
.service__panel{
position:relative;
width:calc(100% - 172px);
margin-left:auto;
padding:60px 100px 60px 48.27%;
background:var(--c-green);
box-shadow:var(--shadow-card);
color:var(--c-white);
}
.service__item{position:relative;padding-left:30px}
.service__item + .service__item{margin-top:48px}
.service__item::before{content:"";position:absolute;left:0;top:0;bottom:6px;width:5px;background:var(--c-lime)}
.service__name{font-size:26px;font-weight:700;line-height:1.42}
.service__text{margin-top:22px;font-size:16px;line-height:2}

.tracks{padding:370px 0}
.tracks__card{
width:min(var(--container),calc(100% - 80px));
margin:0 auto;
padding:89px 114px 100px;
border-radius:5px;
background:var(--c-white);
box-shadow:var(--shadow-card);
}
.heading + .tracks__item{margin-top:80px}
.tracks__item + .tracks__item{margin-top:40px;padding-top:40px;border-top:1px solid var(--c-border-line)}
.tracks__name{text-align:center;font-size:20px;font-weight:700;color:var(--c-green)}
.tracks__figures{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:40px}
.tracks__img{width:100%;aspect-ratio:434/290;object-fit:cover}

.area{padding:89px 0 100px;background:var(--c-bg-gray)}
.area__inner{width:min(var(--container-wide),calc(100% - 80px));margin:0 auto}
.area__lead{
margin-top:84px;
text-align:center;
font-size:20px;
font-weight:700;
line-height:2;
}
.area__body{display:grid;grid-template-columns:480px 1fr;gap:49px;margin-top:79px}
.area__map{width:100%;object-fit:contain}
.fare{min-width:0}
.fare__title{font-size:20px;font-weight:700;color:var(--c-green)}
.fare__wrap{position:relative;margin-top:22px}
.fare__hint{
position:absolute;
top:calc(50% - 44px);
left:calc(50% - 44px);
z-index:2;
display:flex;
align-items:center;
justify-content:center;
width:88px;
height:88px;
border-radius:50%;
background:rgba(0,0,0,.3);
pointer-events:none;
opacity:0;
visibility:hidden;
transition:opacity .3s,visibility .3s;
}
.fare__hint.is-active{opacity:1;visibility:visible}
.fare__hint-icon{
width:39.736px;
height:62.71px;
animation:fare-hint 1.6s linear infinite;
}
@keyframes fare-hint{
0%{transform:translateX(-16px);opacity:0}
10%{opacity:1}
50%,100%{transform:translateX(16px);opacity:0}
}
.fare__table{width:100%;table-layout:fixed}
.fare__table th,.fare__table td{height:56px;font-size:18px;line-height:1.45}
.fare__table thead th{background:var(--c-green);color:var(--c-white);font-weight:700}
.fare__table thead th + th{border-left:1px solid var(--c-white)}
.fare__table thead th:first-child{text-align:left;padding-left:30px;width:121px}
.fare__table tbody tr:nth-child(odd){background:var(--c-white)}
.fare__table tbody tr:nth-child(even){background:var(--c-bg-mint)}
.fare__table tbody tr + tr td{border-top:1px solid var(--c-border)}
.fare__table tbody th{
text-align:left;
padding-left:30px;
font-weight:700;
border-right:1px solid var(--c-green);
}
.fare__table tbody td{text-align:center;font-weight:500}
.fare__table tbody td + td{border-left:1px solid #aaaaaa}
.fare__note{margin-top:22px;font-size:16px;line-height:1.5}

.contact{position:relative;padding:89px 0 100px;overflow:hidden}
.contact__bg{position:absolute;inset:0;background:url(../images/bg-contact.webp) center/cover no-repeat}
.contact__inner{position:relative;width:min(var(--container),calc(100% - 80px));margin:0 auto}
.contact__cards{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:84px}
.contact__card{
display:flex;
flex-direction:column;
align-items:center;
padding:30px 20px;
border:1px solid #d6f2b4;
border-radius:5px;
background:var(--c-card-glass);
box-shadow:var(--shadow-soft);
color:var(--c-white);
text-align:center;
}
.contact__icon{width:36px;height:37px}
.contact__label{margin-top:15px;font-size:18px;font-weight:500}
.contact__num{margin-top:8px;font-size:47px;font-weight:900;letter-spacing:.01em;line-height:1.47;color:var(--c-white)}
.contact__note{margin-top:14px;font-size:16px}
.contact__card--mail .btn--orange{margin-top:26px}
.contact__card--mail .contact__note{margin-top:19px}

.group{padding:290px 0 300px}
.group__card{
width:min(var(--container),calc(100% - 80px));
margin:0 auto;
padding:80px 50px;
border-radius:10px;
background:var(--c-white);
box-shadow:var(--shadow-card);
}
.group__title{text-align:center;font-size:32px;font-weight:700;line-height:1.44}
.group__body{display:grid;grid-template-columns:478px 1fr;gap:50px;margin-top:80px}
.group__figures{display:flex;flex-direction:column}
.group__img{width:100%;aspect-ratio:478/252;object-fit:cover}
.group__text{font-size:16px;line-height:2}
.group__company{margin-top:44px;padding-left:26px;border-left:6px solid var(--c-lime)}
.group__company + .group__company{margin-top:33px}
.group__company-link{display:block;transition:opacity .2s}
.group__company-link:hover{opacity:.7}
.group__company-name{font-size:23px;font-weight:700;line-height:1.48;color:var(--c-lime)}
.group__company-desc{margin-top:10px;font-size:16px;line-height:1.5}

.company{position:relative;padding:80px 0 52px;background:var(--c-company-bg);color:var(--c-white)}
.company__inner{width:min(var(--container),calc(100% - 80px));margin:0 auto}
.company__figures{display:grid;grid-template-columns:1fr 1fr;margin-top:84px}
.company__img{width:100%;aspect-ratio:578/385;object-fit:cover}
.company__map{position:relative;aspect-ratio:578/385}
.company__map-media{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.company__list{
max-width:582px;
margin:50px auto 0;
display:grid;
grid-template-columns:146px 1fr;
row-gap:25px;
font-size:16px;
line-height:1.5;
}
.company__list dt{font-weight:700}
.company__list dd{font-weight:400}
.company__pagetop{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:4px;
width:78px;
height:66px;
margin:180px auto 0;
border-radius:5px;
background:var(--c-card-glass);
box-shadow:var(--shadow-soft);
color:var(--c-white);
font-size:16px;
font-weight:500;
letter-spacing:.02em;
transition:background-color .2s;
}
.company__pagetop:hover{background:rgba(255,255,255,.4)}

.footer{background:var(--c-white)}
.footer__text{
height:42px;
display:flex;
align-items:center;
justify-content:center;
font-size:12px;
color:var(--c-text);
}

.float-btn{
position:fixed;
right:0;
bottom:80px;
z-index:4;
display:flex;
flex-direction:column;
opacity:0;
visibility:hidden;
transform:translateX(10px);
transition:opacity .3s,visibility .3s,transform .3s;
}
.float-btn.is-visible{opacity:1;visibility:visible;transform:none}
.float-btn__item{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:4px;
width:78px;
height:70px;
color:var(--c-white);
font-size:16px;
font-weight:500;
letter-spacing:.02em;
box-shadow:var(--shadow-soft);
}
.float-btn__item--tel{background:var(--c-green)}
.float-btn__item--mail{background:var(--c-orange)}
.float-btn__icon{width:20px;height:20px}

@media (max-width:768px){
:root{--header-h:60px}
.header__brand{gap:10px}
.header__tel,.nav{display:none}
.header__burger{
display:block;
position:relative;
width:60px;
height:60px;
background:var(--c-green);
flex:0 0 auto;
}
.header__burger span{
position:absolute;
left:50%;
width:23px;
height:2px;
background:var(--c-white);
transform:translateX(-50%);
}
.header__burger span:nth-child(1){top:22px}
.header__burger span:nth-child(2){top:30px}
.header__burger span:nth-child(3){top:38px}

.heading__en{font-size:50px}
.heading__ja{font-size:20px}

.fv{height:566px}
.fv__bg{background-image:url(../images/sp/fv-kv.webp)}
.fv__inner{width:calc(100% - 40px)}
.fv__eyebrow{position:static;padding-top:60px;font-size:18px;gap:7px}
.fv__eyebrow::before{width:60px}
.fv__title{position:static;margin-top:10px;font-size:45px;line-height:1.24}
.fv__scroll{display:none}
.fv__br,.about__br,.group__br{display:inline}
.fv__card{
position:static;
width:304px;
margin:159px auto 0;
padding:13px 0;
}
.fv__card-head{font-size:16px;line-height:1.5}
.fv__card-icon{width:16px;height:16px}
.fv__card-num{font-size:35px;line-height:1.46}
.fv__card-note{font-size:14px;line-height:1.43}

.news__inner{
width:calc(100% - 40px);
height:115px;
gap:34px;
align-items:center;
}
.news__label{flex-direction:column;align-items:flex-start;gap:6px}
.news__en{font-size:20px}
.news__ja{gap:0;flex-direction:column;align-items:flex-start}
.news__ja::before{width:25px;height:3px;margin-bottom:8px}
.btn--outline{width:261px;height:54px}

.about{padding-bottom:150px}
.about__line{height:61px;background-image:url(../images/sp/bg-line.webp)}
.about__inner{width:calc(100% - 40px)}
.about .heading{padding-top:61px}
.about__lead{margin-top:56px;font-size:28px;line-height:1.43}
.about__text{max-width:328px;margin-top:30px;font-size:18px;line-height:2.22}
.about__photo{
width:191px;
aspect-ratio:191/226;
margin-top:50px;
background-image:url(../images/sp/bg-office.webp);
}
.js .about__photo.is-static{background-image:url(../images/sp/bg-office.webp)}

.reasons{padding-top:540px}
.reasons__list{width:calc(100% - 40px);margin-top:60px;gap:60px}
.reasons__card,.reasons__card--flip{grid-template-columns:1fr;gap:26px;padding:30px}
.reasons__card--flip .reasons__body{grid-column:1;grid-row:1}
.reasons__card--flip .reasons__figure{grid-column:1;grid-row:2}
.reasons__num{font-size:18px}
.reasons__title{margin-top:12px;font-size:24px;line-height:1.42}
.reasons__text{margin-top:18px}
.reasons__img{aspect-ratio:328/196}

.service{padding-top:345px}
.service__body{margin-top:50px}
.service__visual{position:relative;top:auto;width:100%;height:290px}
.service__visual-img{object-position:center}
.service__label{font-size:37px}
.service__panel{width:100%;margin:0;padding:66px 20px 60px}
.service__item{padding-left:30px}
.service__item + .service__item{margin-top:40px}
.service__name{font-size:24px}
.service__text{margin-top:22px;line-height:1.9}

.tracks{padding:350px 0}
.tracks__card{width:calc(100% - 40px);padding:60px 30px}
.tracks__figures{grid-template-columns:1fr;gap:10px;margin-top:26px}
.tracks__img{aspect-ratio:328/219}
.tracks__item + .tracks__item{margin-top:31px;padding-top:31px}

.area{padding:80px 0 90px}
.area__inner{width:calc(100% - 40px)}
.area__lead{margin-top:69px;font-size:18px;line-height:1.56;text-align:left}
.area__body{grid-template-columns:1fr;gap:45px;margin-top:38px}
.area__map{width:100vw;max-width:none;margin-left:calc(50% - 50vw)}
.fare__title{font-size:18px}
.fare__scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.fare__table{width:634px;min-width:100%;table-layout:fixed}
.fare__table th,.fare__table td{white-space:nowrap}
.fare__table thead th:nth-child(1){width:99px}
.fare__table thead th:nth-child(2){width:188px}
.fare__table thead th:nth-child(3){width:161px}
.fare__table thead th:nth-child(4){width:186px}
.fare__table thead th:first-child,.fare__table tbody th{
position:sticky;
left:0;
z-index:1;
padding-left:21px;
}
.fare__table thead th:first-child{background:var(--c-green)}
.fare__table tbody tr:nth-child(odd) th{background:var(--c-white)}
.fare__table tbody tr:nth-child(even) th{background:var(--c-bg-mint)}
.fare__table thead th + th,.fare__table tbody td{padding:0 8px}
.fare__note{font-size:14px;line-height:1.75}

.contact{padding:80px 0 90px}
.contact__bg{background-image:url(../images/sp/bg-contact.webp)}
.contact__inner{width:calc(100% - 40px)}
.contact__cards{grid-template-columns:1fr;gap:30px;margin-top:69px}
.contact__card{padding:20px}
.contact__num{font-size:35px}
.contact__note{font-size:14px}

.group{padding:200px 0}
.group__card{width:calc(100% - 40px);padding:60px 30px}
.group__title{font-size:23px;line-height:1.48}
.group__body{grid-template-columns:1fr;gap:30px;margin-top:34px}
.group__img{aspect-ratio:328/173}
.group__company{margin-top:32px;padding-left:16px}
.group__company + .group__company{margin-top:26px}
.group__company-name{font-size:20px}

.company{padding:80px 0 15px}
.company__inner{width:calc(100% - 40px)}
.company__figures{grid-template-columns:1fr;margin-top:69px}
.company__img,.company__map{aspect-ratio:388/258}
.company__list{max-width:328px;grid-template-columns:1fr;row-gap:0;margin-top:30px}
.company__list dt{margin-top:20px}
.company__list dd{margin-top:5px;line-height:1.75}
.company__list dt:first-of-type{margin-top:0}
.company__pagetop{margin:97px auto 0}

.footer__text{height:36px;font-size:10px}

.float-btn{bottom:50px}
.float-btn__item{width:68px;height:70px;font-size:15px;letter-spacing:.02em}
}

@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
.float-btn{transition:none}
.fv__scroll-line::after{animation:none;height:46px}
.fare__hint-icon{animation:none}
}
