/* トップページ スマホ用（800px以下）。PC用 layout-ac-gen.css は 801px以上のみ有効 */
.sp-burger,.sp-drawer{display:none}
@media screen and (max-width:800px){
:root{--teal:#126265;--teal-d:#0c4a4c;--gold:#b8914a;--paper:#fbf8f1;--line:#e4dccb}
#header{position:relative!important;min-height:64px;box-sizing:border-box}
#global-navi{display:none!important}
.menu-btn,#header .menu-btn{display:none!important}
.sp-burger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:absolute;right:12px;top:10px;width:48px;height:48px;border:0;border-radius:6px;background:var(--paper);color:var(--teal-d);cursor:pointer;z-index:9100;padding:0}
.sp-burger i{display:block;width:24px;height:2px;background:var(--teal)}
.sp-burger b{font-size:9px;letter-spacing:.08em;font-weight:700;line-height:1}
.sp-drawer{position:absolute;left:0;right:0;top:100%;z-index:9050;background:#fff;border-top:3px solid var(--teal);box-shadow:0 12px 24px rgba(0,0,0,.16)}
#header.is-open .sp-drawer{display:block}
.sp-drawer ul{list-style:none;margin:0;padding:0}
.sp-drawer li{margin:0;padding:0;border-bottom:1px solid var(--line);background:none}
.sp-drawer a{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:14px 18px;color:var(--teal-d);text-decoration:none;font-size:15px;background:none}
.sp-drawer a small{font-size:11px;color:var(--gold);letter-spacing:.06em}
/* ヒーロー */
#home-visual{height:auto!important;min-height:0!important;margin:0!important;padding:0!important}
#topMenu{position:relative!important;height:auto!important;margin:0!important;padding:0!important}
#topMenu > ul{display:none!important}
#topMenu .bg{position:relative!important;left:0!important;top:0!important;width:100%!important;height:auto!important;background:none!important}
#topBannerSwiper{width:100%!important;height:58vw!important;max-height:320px;overflow:hidden}
#topBannerSwiper .swiper-slide{width:100%!important;height:100%!important}
#topBannerSwiper .swiper-slide img{width:100%!important;height:100%!important;object-fit:cover}
/* 最新ニュース */
.bn-news{display:block!important;position:static!important;margin:14px 16px 0!important;padding:14px 14px 10px!important;background:#fff;border:1px solid var(--line);border-top:3px solid var(--teal);border-radius:8px;width:auto!important;box-sizing:border-box}
.bn-news h3{font-size:16px;margin:0 0 6px;color:var(--teal-d);background:none;border:0;padding:0}
.bn-news ul{list-style:none;margin:0;padding:0}
.bn-news li{margin:0;padding:8px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.55;list-style:none;background:none}
.bn-news li:first-child{border-top:0}
.bn-news .bn-all{display:block;text-align:right;font-size:13px;color:var(--teal);margin-top:6px}
/* 申込・会員登録ボタン */
.cta{display:flex!important;flex-direction:column;gap:10px;margin:14px 16px 0!important;position:static!important;width:auto!important}
.cta p{margin:0}
#topMenu,#home-visual,#topMenu .bg{background:none!important;background-image:none!important}
.bn-news,.bn-news *,.cta,.cta .tb{font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif!important}
.bn-news li a,.bn-news li a:visited{color:var(--teal-d)!important;text-decoration:none!important}
.bn-news li{display:block}
.bn-news li time,.bn-news li .date{display:block;font-size:12px;color:#777}
.tb-pw{background:none!important;padding:0!important}
.tb-pw a{color:var(--teal)!important}
#topMenu #topBannerSwiper .swiper-slide img.slide-bg{width:100%!important;min-width:100%!important;height:100%!important;object-fit:cover!important;left:0!important}
#topMenu #topBannerSwiper .slide-overlay{background:linear-gradient(to top,rgba(0,0,0,.74) 0%,rgba(0,0,0,.38) 55%,rgba(0,0,0,0) 100%)!important;height:80%!important;top:auto!important}
#topMenu #topBannerSwiper .slide-text{padding:0 16px 28px!important;font-weight:700;line-height:1.5;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:4px}
#topMenu #topBannerSwiper .slide-text,#topMenu #topBannerSwiper .slide-text *{color:#fff!important;text-shadow:0 1px 5px rgba(0,0,0,.9)}
#topMenu #topBannerSwiper .slide-caption{color:#fff!important;font-size:12px!important;opacity:1!important;text-shadow:0 1px 4px rgba(0,0,0,.9)}
#footer{background:var(--teal-d)!important;color:#e9f1f0!important;padding:26px 16px 22px!important;font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif!important;font-size:14px!important;box-sizing:border-box;text-align:left!important}
#footer *{font-family:inherit!important}
#footer .footer-navi{list-style:none!important;margin:0 0 14px!important;padding:0!important;display:grid;grid-template-columns:1fr 1fr;gap:0 14px;background:none!important}
#footer .footer-navi li{margin:0!important;padding:0!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.16)!important;background:none!important;float:none!important;width:auto!important;display:block!important;font-size:14px!important;line-height:1.5!important}
#footer .footer-navi li a,#footer .footer-navi li a:visited{display:block;padding:11px 2px;color:#fff!important;text-decoration:none!important;font-size:14px!important;background:none!important}
#footer .footer-navi.bottom li:first-child{grid-column:1 / -1}
#footer .footer-navi.bottom li a{font-size:13px!important;color:#cfe3e1!important}
#footer p,#footer address,#footer #copy{color:#cfe3e1!important;font-size:12px!important;text-align:center!important;margin:12px 0 0!important;line-height:1.7!important;background:none!important;font-style:normal}
.ac-cols #news>li.has-vid{padding-left:0!important;padding-top:6px!important;min-height:0!important}
.ac-cols #news>li.has-vid .vt{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;aspect-ratio:16/9;margin:6px 0 10px}
.ac-cols #news>li.has-vid .vt img{position:absolute;inset:0}
.ac-cols #news>li,.ac-cols #news>li.has-vid{padding-right:0!important}
#header{height:68px!important;min-height:0!important;padding:0!important}
#header #guide-navi,#header .since-note{display:none!important}
#header h1{position:absolute!important;left:12px!important;top:12px!important;margin:0!important;width:auto!important;height:auto!important}
#header h1 a{margin-top:0!important;top:0!important}
.sp-burger{top:10px!important}
#contents{padding-top:0!important}
.bn-news{margin-top:12px!important}
.cta{margin-top:12px!important}
#topMenu #topBannerSwiper .swiper-pagination{left:0!important;right:0!important;bottom:6px!important;width:100%!important;height:auto!important;line-height:0!important;text-align:center!important;transform:none!important}
#topMenu #topBannerSwiper .swiper-pagination-bullet{width:5px!important;height:5px!important;margin:0 3px!important;background:#fff!important;opacity:.55!important;border-radius:3px!important;transition:width .25s}
#topMenu #topBannerSwiper .swiper-pagination-bullet-active{width:16px!important;opacity:1!important}
#topMenu #topBannerSwiper .slide-text{padding:0 16px 20px!important}
#topMenu #topBannerSwiper .slide-text h2{font-size:17px!important;line-height:1.4!important;letter-spacing:.04em}
#topMenu #topBannerSwiper .slide-text p{font-size:12px!important;line-height:1.5!important;margin:0}
#topMenu #topBannerSwiper .slide-text{padding:0 14px 22px!important;box-sizing:border-box!important;max-width:100%!important}
#topMenu #topBannerSwiper .slide-text h2{font-size:min(16px,4.3vw)!important;letter-spacing:.02em!important;white-space:normal!important;max-width:100%!important;overflow-wrap:anywhere}
#topMenu #topBannerSwiper .slide-text p{font-size:min(12px,3.3vw)!important;max-width:100%!important}
#topMenu #topBannerSwiper .swiper-pagination{bottom:7px!important}
}
