/* 施設ページ v2 (template-page-pref-spot-v2.php 専用) 承認案: ソル PC案 2026-11-09
   PC先行。スマホは「スマホ案の承認前の仮」(末尾の @media)。 */
.sv2{letter-spacing:0;--ink:#18313d;--teal:#20556a;--pale:#edf3f4;--line:#d6dfe2;--accent:#c84d35;--mute:#536873;color:var(--ink);background:#fff;font-family:"Yu Gothic","YuGothic","Meiryo",sans-serif;font-size:15px;line-height:1.9;overflow-x:clip}
.sv2 *,.sv2 *::before,.sv2 *::after{box-sizing:border-box}
.sv2 h1,.sv2 h2,.sv2 h3,.sv2 h4,.sv2 p,.sv2 figure,.sv2 ul,.sv2 dl{margin:0;padding:0;border:0;background:none;color:inherit;font-family:inherit;font-weight:700;line-height:1.5;letter-spacing:.035em;text-align:left}
.sv2 p{font-weight:400;line-height:1.9;letter-spacing:0}
/* 折り返し: 文は幅いっぱいまで詰め、折れる位置は句のまとまりの切れ目(未対応のブラウザは通常の折り返し)。balance・pretty は使わない */
.sv2 p,.sv2 li,.sv2 dd,.sv2 h1,.sv2 h2,.sv2 h3,.sv2 h4,.sv2 .reason__chose-unit-text,.sv2 .area__inline-list{word-break:auto-phrase}
.sv2 img{display:block;max-width:100%;height:auto}
.sv2 a,.sv2 a:hover,.sv2 a:focus,.sv2 a:active{text-decoration:none}
.sv2 a{transition:opacity .2s,background-color .2s}
.sv2 a:hover{opacity:.7}
.sv2 a.sv2-portal-card:hover,.sv2-news .news__list-item a:hover{opacity:1}
.sv2-wrap{width:min(1120px,calc(100% - 48px));margin-left:auto;margin-right:auto}
.sv2-eyebrow{font-family:Arial,sans-serif;font-size:12px;font-weight:700;line-height:1.5;letter-spacing:.16em;color:#5b7985}
.sv2-body p,.sv2-lead p{margin:0}
.sv2 .sv2-body p+p{margin-top:12px}
.sv2-body{overflow-wrap:anywhere;letter-spacing:0}
.sv2 li,.sv2 dd,.sv2 dt,.sv2 time,.sv2 select,.sv2 input{letter-spacing:0}

/* タイトル帯 */
.sv2-title-band{background:var(--pale);padding:29px 0 30px;border-bottom:1px solid #d8e4e7}
.sv2 .sv2-title-band h1{font-size:34px;margin:8px 0 5px;text-align:left}
.sv2 .sv2-title-band p{color:var(--mute);font-size:15px}

/* ページ内案内 */
.sv2-index{display:grid;grid-template-columns:repeat(4,1fr);padding:21px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:700}
.sv2-index a{padding:0 22px;border-right:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:var(--ink);transition:color .2s}
.sv2-index a:first-child{padding-left:0}
.sv2-index a:last-child{border:0;color:#b14631}
.sv2-index a:last-child span{color:#b14631}
.sv2-index a span{font-size:18px;color:#829ca6;transition:transform .2s}
.sv2-index a:hover span{transform:translateY(3px)}

/* 施設基本情報 */
.sv2-overview{padding-top:34px}
.sv2-overview-row{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,560px);gap:44px;align-items:center}
.sv2-overview-row.no-photo{grid-template-columns:minmax(0,1fr) minmax(0,456px);align-items:start;row-gap:0}
.sv2-overview-row.no-photo .sv2-facility{grid-column:1;grid-row:1}
.sv2-overview-row.no-photo .sv2-intro{grid-column:1;grid-row:2;margin-top:28px}
.sv2-overview-row.no-photo .sv2-portal{grid-column:2;grid-row:1/3;align-self:stretch}
.sv2 .sv2-facility h2{font-size:27px;margin-top:12px}
.sv2 .sv2-address{margin:13px 0 17px}
.sv2-outline-btn{display:flex;justify-content:space-between;align-items:center;gap:24px;border:1px solid #608391;background:transparent;color:var(--teal);padding:13px 20px;font-size:14px;line-height:1.5;font-weight:700;border-radius:3px;width:max-content;min-width:230px;transition:background .2s,color .2s,border-color .2s}
.sv2-outline-btn span{font-size:19px;line-height:1;transition:transform .2s}
.sv2-outline-btn:hover span{transform:translateX(3px)}
.sv2-photo{background:#f3f5f5;display:flex;align-items:center;justify-content:center;max-height:330px;overflow:hidden}
.sv2-photo img{width:auto;height:auto;max-width:100%;max-height:330px;object-fit:contain;margin:0;border:0;border-radius:0}
.sv2-intro{border-left:3px solid #a6bdc6;padding:4px 0 4px 22px;margin-top:28px;font-size:14px;line-height:1.95}
.sv2-intro p{font-size:14px;line-height:1.95}
/* the_content の段落・表・リスト・画像の間隔: 2つ目以降の要素の上を24px(旧ページの p の下24pxと同じ)。ブロック全体の上下は空けない */
.sv2 .sv2-intro>*+*{margin-top:24px}
/* 表は figure の中。表自身の下余白(サイトの共通CSSが付ける24px)は外す */
.sv2 .sv2-intro table{margin:0}
/* リストは .sv2 の共通指定で余白・点が消えているので戻す */
.sv2 .sv2-intro ul,.sv2 .sv2-intro ol{padding-left:1.6em}
.sv2 .sv2-intro ul{list-style:disc}
.sv2 .sv2-intro ol{list-style:decimal}
.sv2 .sv2-intro h2,.sv2 .sv2-intro h3,.sv2 .sv2-intro h4{margin:20px 0 6px;padding:0;background:none;border:0;color:var(--ink);letter-spacing:.02em;text-align:left}
.sv2 .sv2-intro h2{font-size:18px}
.sv2 .sv2-intro h3,.sv2 .sv2-intro h4{font-size:16px}
.sv2 .sv2-intro h2::before,.sv2 .sv2-intro h2::after,.sv2 .sv2-intro h3::before,.sv2 .sv2-intro h3::after{display:none}
.sv2 .sv2-intro>*:first-child{margin-top:0}
.sv2-intro img{max-width:100%;height:auto}
.sv2-intro table{max-width:100%}

/* 見出しまわり */
.sv2-section{padding-top:62px;padding-bottom:62px}
.sv2-heading{margin-bottom:30px}
.sv2 .sv2-heading h2{font-size:29px;margin-top:10px}
.sv2 .sv2-lead{margin-top:16px;color:var(--mute);font-size:15px;line-height:1.9}
.sv2 .sv2-lead p{margin-top:0;color:var(--mute);font-size:15px}

/* 01 公共交通機関 */
.sv2-access{padding-top:52px}
.sv2-routes{border-top:2px solid var(--teal)}
.sv2-route{display:grid;grid-template-columns:82px 1fr;gap:25px;padding:27px 25px 29px 0;border-bottom:1px solid #cedce1}
.sv2-route-symbol{color:#406c7f;display:flex;align-items:center;flex-direction:column;gap:6px}
.sv2-route-symbol svg{width:34px;height:34px}
.sv2-route-symbol span{font:14px Georgia,serif;letter-spacing:.1em;color:#6c8c99}
.sv2 .sv2-route h3{font-size:21px;margin-bottom:11px}
.sv2-route .sv2-body{font-size:15px;line-height:1.95}

/* 02 貸切バス */
.sv2-bus{background:var(--pale);margin-top:0}
.sv2-benefits{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:30px}
.sv2-benefit{border-top:1px solid #b7ccd4;padding-top:22px}
.sv2-benefit-top{display:flex;justify-content:space-between;align-items:center;color:#3c6e81;margin-bottom:20px}
.sv2-benefit-top svg{width:39px;height:39px}
.sv2-benefit-top span{font:28px Georgia,serif;color:#88a4b0}
.sv2 .sv2-benefit h3{font-size:19px;min-height:57px;margin-bottom:15px;letter-spacing:.015em}
.sv2-benefit .sv2-body{font-size:14px;line-height:1.95}
.sv2-bus-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #c8d9df;margin-top:31px;padding-top:25px}
.sv2-btn,.sv2 .sv2-quote input[type=submit]{display:flex;justify-content:space-between;align-items:center;background:var(--accent);color:#fff;border:0;padding:18px 25px;font-size:16px;line-height:1.5;font-weight:700;letter-spacing:.03em;width:366px;border-radius:3px;box-shadow:0 3px 0 rgba(70,34,18,.15);transition:background .2s,transform .2s,box-shadow .2s}
.sv2-btn span{font-size:23px;line-height:1;transition:transform .2s}
.sv2-btn:hover span{transform:translateX(4px)}

/* 貸切バスの入口(ソル PC案 v3 portal): 写真あり=全幅の帯、写真なし=右のパネル */
.sv2-portal{border:1px solid #c8d9df;background:#edf3f4;color:var(--ink)}
.sv2-portal-band{margin-top:28px;padding:25px 26px 20px}
.sv2 .sv2-portal h2{font-size:24px;margin-top:8px;letter-spacing:.035em}
.sv2 .sv2-portal-lead{font-size:14px;line-height:1.8;color:var(--mute);margin-top:8px}
.sv2-nb{display:inline-block}
.sv2-portal-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}
.sv2 a.sv2-portal-card{position:relative;display:block;background:#fff;border:1px solid #c8d9df;padding:18px 15px 33px;min-width:0;color:var(--ink);transition:background .2s}
.sv2-portal-card svg{width:32px;height:32px;color:#3c6e81;display:block;margin-bottom:12px}
.sv2 .sv2-portal-card h3{font-size:14px;letter-spacing:0;line-height:1.6}
.sv2 .sv2-portal-card p{font-size:12px;line-height:1.8;color:var(--mute);margin-top:5px}
.sv2-portal-arrow{position:absolute;right:15px;bottom:9px;color:#406c7f;font-size:19px;line-height:1;transition:transform .2s}
.sv2 a.sv2-portal-card:hover{background:#f6f6f6;color:var(--ink)}
.sv2-portal-card:hover .sv2-portal-arrow{transform:translateX(4px)}
.sv2-portal-links{display:flex;flex-wrap:wrap;gap:4px 32px;margin-top:16px;font-size:12px;font-weight:700;line-height:1.8}
.sv2 .sv2-portal-links a{color:var(--teal);transition:color .2s}
.sv2-portal-panel{padding:22px 24px}
.sv2 .sv2-portal-panel h2{font-size:22px}
.sv2 .sv2-portal-panel .sv2-portal-lead{max-width:19.5em}
.sv2-portal-panel .sv2-portal-cards{display:block;margin-top:16px;border-top:1px solid #c8d9df}
.sv2 .sv2-portal-panel a.sv2-portal-card{display:grid;grid-template-columns:32px minmax(0,1fr) 18px;gap:16px;align-items:center;background:transparent;border:0;border-bottom:1px solid #c8d9df;padding:12px 0}
.sv2-portal-panel .sv2-portal-card svg{margin:0}
.sv2 .sv2-portal-panel .sv2-portal-card p{margin-top:1px}
.sv2-portal-panel .sv2-portal-arrow{position:static;font-size:18px}
.sv2 .sv2-portal-panel a.sv2-portal-card:hover{background:rgba(255,255,255,.65)}
.sv2-portal-panel .sv2-portal-links{flex-direction:column;gap:5px;margin-top:14px}
@media (prefers-reduced-motion:reduce){
  .sv2-portal-card,.sv2-portal-arrow{transition:none}
  .sv2-portal-card:hover .sv2-portal-arrow{transform:none}
}

/* 03 周辺情報 */
.sv2-group{display:grid;grid-template-columns:178px minmax(0,1fr);gap:28px;border-top:1px solid #c8d8df;padding:27px 0 30px}
.sv2-group:last-child{padding-bottom:0}
.sv2-category h3{font-size:20px;margin-top:10px}
.sv2-places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.sv2-places.count-1{grid-template-columns:minmax(0,1fr)}
.sv2-place{border-left:2px solid #e0e8eb;padding-left:18px;min-width:0}
.sv2 .sv2-place h4{font-size:17px;margin-bottom:12px;color:var(--teal)}
.sv2-place .sv2-body{font-size:14px;line-height:1.95}
.sv2 .sv2-body a{color:var(--teal);text-decoration:underline;text-decoration-color:#9fb7c1;text-underline-offset:3px}
.sv2 .sv2-body a:hover,.sv2 .sv2-body a:focus{color:var(--teal);text-decoration:underline;text-decoration-color:#9fb7c1}
.sv2 .sv2-body a.sv2-link-btn{display:inline-block;border-bottom:1px solid #9fb7c1;text-decoration:none;font-size:14px;font-weight:700;padding:0 0 3px;margin-top:10px;line-height:1.7}
.sv2 .sv2-body a.sv2-link-btn:hover,.sv2 .sv2-body a.sv2-link-btn:focus{text-decoration:none}
.sv2 .sv2-body a.sv2-link-btn::after{content:"↗";margin-left:14px}
.sv2 .sv2-body a[href=""],.sv2 .sv2-body a:not([href]){display:none}

/* 見積り導線(inc_contact を暗い帯に) */
.sv2-quote{background:#183d50;color:#fff;margin-top:0}
.sv2-quote-inner{padding:45px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,540px);column-gap:70px;row-gap:22px;align-items:start}
.sv2-quote-inner>section.content,.sv2-quote-inner .contact__wrap{display:contents;margin:0;padding:0;border:0;background:none}
.sv2-qhead{grid-column:1/-1;grid-row:1}
.sv2 .sv2-qhead .sv2-eyebrow{color:#b7cdd7}
.sv2 .sv2-qhead h2{font-size:29px;line-height:1.5;color:#fff;margin:10px 0 0}
.sv2 .sv2-qnote{font-size:12px;line-height:1.8;color:#d2e0e6;margin:10px 0 0}
.sv2-qkick{grid-column:1;grid-row:2;font-size:14px;font-weight:700;line-height:1.7;color:#e3edf0}
.sv2 .sv2-quote .contact__inner{grid-column:2;grid-row:2;margin:0;padding:0;background:none;border:0;width:auto}
.sv2 .sv2-quote .wpcf7,.sv2 .sv2-quote .wpcf7-form{margin:0;padding:0;background:none;border:0}
.sv2 .sv2-quote .form__short{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;margin:0 0 18px;padding:0;background:none;border:0}
.sv2 .sv2-quote .form__short>div{display:block;margin:0;padding:0;background:none;border:0;min-width:0;width:auto}
.sv2 .sv2-quote .form__short dt{display:block;width:auto;font-size:12px;font-weight:400;color:#d2e0e6;line-height:1.8;padding:0 0 5px;margin:0 0 6px;background:none;border:0;border-bottom:1px solid #597987;letter-spacing:.02em;text-align:left}
.sv2 .sv2-quote .form__short dd{margin:0;padding:0;width:auto;background:none;border:0}
.sv2 .sv2-quote .form__short .form__row{display:flex;align-items:center;gap:4px;margin:0;padding:0}
.sv2 .sv2-quote .form__short .form__row>p{margin:0;padding:0;width:auto;min-width:0;line-height:1;flex:1 1 0}
.sv2 .sv2-quote .form__short .form__row>p.form__row-item--mark{flex:0 0 auto;font-size:12px;color:#d2e0e6;text-align:center;width:auto}
.sv2 .sv2-quote .wpcf7-form-control-wrap{display:block;width:100%}
.sv2 .sv2-quote select,.sv2 .sv2-quote input[type=date]{width:100%;height:40px;padding:0 8px;font-size:13px;font-family:inherit;color:var(--ink);background:#fff !important;border:1px solid #fff !important;border-radius:3px;margin:0;line-height:1.4}
.sv2 .sv2-quote select:focus,.sv2 .sv2-quote input[type=date]:focus{outline:2px solid #9fd0e0;outline-offset:1px}
.sv2 .sv2-quote input[type=submit].wpcf7-submit{width:100% !important;max-width:none !important;height:auto !important;padding:18px 25px !important;cursor:pointer;font-family:inherit;color:#fff;text-align:left;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='14' viewBox='0 0 24 14' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 7h21M16 1l6 6-6 6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 25px center;display:block;margin:0}
.sv2 .sv2-quote input[type=submit].wpcf7-submit:hover{background-color:#b3402b;transform:translateY(-1px);box-shadow:0 5px 0 rgba(70,34,18,.18)}
.sv2 .sv2-quote .wpcf7-spinner{display:none}
.sv2 .sv2-quote .wpcf7-response-output{color:#fff;margin:10px 0 0;font-size:12px}
.sv2-phone{grid-column:2;grid-row:3;margin-top:0;display:grid;grid-template-columns:180px 1fr;column-gap:15px;align-items:center}
.sv2-phone>span{font-size:12px;grid-row:1/3}
.sv2 .sv2-phone a{font:bold 29px Arial,sans-serif;letter-spacing:.025em;color:#fff}
.sv2-phone small{display:block;font-size:12px;margin-top:6px}

/* 選ばれる理由(inc_feature_reason) */
/* 左右の余白は --gx 1つ。見出し・導入文・リストが同じ幅(最大1120px)で並ぶ。幅(width)は各要素に書かない */
.sv2-reasons{--gx:max(24px,calc((100% - 1120px)/2))}
.sv2-reasons>section.content{display:contents}
.sv2-reasons .content__h2{display:block;margin:0 var(--gx);padding:62px 0 0;font-size:29px;line-height:1.5;color:var(--ink);background:none;border:0;text-align:left;letter-spacing:.035em}
.sv2-reasons .content__h2::before{content:"04 / WHY BUS-TABI";position:static;left:auto;top:auto;width:auto;height:auto;background:none;display:block;font-family:Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.16em;color:#5b7985;margin-bottom:10px;line-height:1.5}
.sv2-reasons .content__h2::after{display:none}
.sv2-reasons .content__desc{display:block;margin:16px var(--gx) 30px;color:var(--mute);font-size:15px;line-height:1.9;padding:0;background:none}
.sv2-reasons .reason__chose-list{margin:0 var(--gx) 62px;display:grid;grid-template-columns:1fr 1fr;gap:30px 44px;list-style:none;padding:0;counter-reset:rs}
.sv2-reasons .reason__chose-list-item{counter-increment:rs;display:block;width:auto;margin:0;padding:22px 0 0;border:0;border-top:1px solid #c3d4dc;background:none;position:relative;padding-left:56px;float:none}
.sv2-reasons .reason__chose-list-item::before{content:counter(rs,decimal-leading-zero);position:absolute;left:0;top:18px;font:24px Georgia,serif;color:#6c929f}
.sv2-reasons .reason__chose-unit{display:block;margin:0;padding:0;background:none;border:0}
.sv2-reasons .reason__chose-unit-icon{display:none}
.sv2-reasons .reason__chose-unit-text{width:auto;padding:0;margin:0}
.sv2 .sv2-reasons .reason__chose-unit-text h3{display:block;font-size:18px;margin:0 0 13px !important;min-height:54px;color:var(--ink);background:none;border:0;padding:0;line-height:1.5}
.sv2-reasons .reason__chose-unit-text h3 em{font-style:normal;display:inline;color:inherit;background:none}
.sv2 .sv2-reasons .reason__chose-unit-text p{font-size:14px;line-height:1.95;margin:0;padding:0;letter-spacing:0}
.sv2 .sv2-reasons .reason__chose-list-item-link{position:static !important;left:auto !important;top:auto !important;width:auto !important;margin:16px 0 0;padding:0;text-align:left}
.sv2 .sv2-reasons .reason__chose-list-item-link a.btn__border--content{display:inline-block;width:auto !important;height:auto !important;letter-spacing:.02em;background:none;border:0;border-bottom:1px solid #9fb7c1;border-radius:0;box-shadow:none;color:var(--teal);font-size:14px;font-weight:700;padding:0 0 3px !important;line-height:1.7;transition:border-color .2s}
.sv2-reasons .reason__chose-list-item-link a::before{display:none}
.sv2-reasons .reason__chose-list-item-link a::after{content:"→";position:static;margin-left:14px;background:none;display:inline;transition:margin .2s}
.sv2-reasons .reason__chose-list-item-link a:hover::after{margin-left:18px}
.sv2-reasons>section.content>br{display:none}

/* 利用シーン(帯) */
.sv2-reasons .frame__border-wide--content{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:30px;background:#f5f3ee;border:0;margin:0;padding:33px var(--gx) 36px;width:100%;box-shadow:none;border-radius:0}
.sv2-reasons .title__bg--content{grid-column:1/-1;grid-row:1;background:none;border:0;padding:0;margin:0 0 20px;font-size:21px;color:var(--ink);text-align:left;line-height:1.5;letter-spacing:.035em}
.sv2-reasons .title__bg--content i{display:none}
.sv2-reasons .frame__border-wide--content .content__title{grid-row:2;font-size:14px;letter-spacing:0;line-height:1.7;margin:0 0 8px;padding:0;background:none;border:0;color:var(--ink);font-weight:700}
.sv2-reasons .frame__border-wide--content .content__title::before,.sv2-reasons .frame__border-wide--content .content__title::after{display:none}
.sv2-reasons .frame__border-wide--content .content__title:nth-of-type(1){grid-column:1}
.sv2-reasons .frame__border-wide--content .content__title:nth-of-type(2){grid-column:2}
.sv2-reasons .frame__border-wide--content .content__title:nth-of-type(3){grid-column:3}
.sv2-reasons .frame__border-wide--content .content__title:nth-of-type(4){grid-column:4}
.sv2-reasons .area__inline-list{grid-row:3;display:block;margin:0;padding:0;list-style:none;font-size:14px;line-height:2;color:#536873}
.sv2-reasons .area__inline-list:nth-of-type(1){grid-column:1}
.sv2-reasons .area__inline-list:nth-of-type(2){grid-column:2}
.sv2-reasons .area__inline-list:nth-of-type(3){grid-column:3}
.sv2-reasons .area__inline-list:nth-of-type(4){grid-column:4}
.sv2-reasons .area__inline-list-item{display:inline;margin:0;padding:0;background:none;border:0;float:none;width:auto}
.sv2-reasons .area__inline-list-item::after{content:" / ";color:#8aa0a8}
.sv2-reasons .area__inline-list-item:last-child::after{content:""}
.sv2-reasons .area__inline-list-item a{display:inline;padding:0;background:none;border:0;border-radius:0;box-shadow:none;color:#536873;font-size:14px;font-weight:400;transition:color .2s}
.sv2-reasons .area__inline-list-item a::before,.sv2-reasons .area__inline-list-item a::after{display:none}

/* お知らせ(inc_news) */
.sv2-news>section.content{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:47px 0 50px;display:grid;grid-template-columns:300px 1fr;column-gap:40px;align-content:start;background:none;border:0}
.sv2-news .content__h2{grid-column:1;grid-row:1;font-size:23px;line-height:1.5;margin:0;padding:0;background:none;border:0;color:var(--ink);text-align:left;max-width:9em}
.sv2-news .content__h2::before{content:"NEWS";position:static;left:auto;top:auto;width:auto;height:auto;background:none;display:block;font-family:Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.16em;color:#5b7985;margin-bottom:12px}
.sv2-news .news__list{grid-column:2;grid-row:1/3;list-style:none;margin:0;padding:0;border-bottom:1px solid #d8e2e6}
.sv2-news .news__list-item{margin:0;padding:0;border:0;border-top:1px solid #d8e2e6;background:none;float:none;width:auto}
.sv2-news .news__list-item:nth-child(n+4){display:none}
.sv2-news .news__list-item a{display:grid;grid-template-columns:87px 73px 1fr 18px;align-items:start;gap:12px;padding:18px 0;color:var(--ink);background:none;transition:background .2s}
.sv2-news .news__list-item a::after{content:"→";color:#6b8e9d;grid-column:4;grid-row:1;transition:transform .2s}
.sv2-news .news__list-item a:hover{background:#f6f6f6}
.sv2-news .news__list-item a:hover::after{transform:translateX(3px)}
.sv2-news .news__list-item-time{font:12px/2 Arial,sans-serif;color:#647b86;grid-column:1;margin:0;padding:0;width:auto}
.sv2-news .news__list-item [class^="news__list-item-category"]{grid-column:2;display:block;font-size:12px;color:#547381;background:var(--pale);text-align:center;line-height:2;margin:0;padding:0;width:auto;border:0;border-radius:0}
.sv2-news .news__h3{grid-column:3;font-size:14px;font-weight:400;line-height:1.8;margin:0;padding:0;letter-spacing:0;color:var(--ink)}
.sv2 .sv2-news .btn__bg--plan{height:auto !important;letter-spacing:.02em;grid-column:1;grid-row:2;align-self:start;justify-self:start;margin:22px 0 0;width:auto;display:inline-block;background:none;border:0;border-bottom:1px solid #9fb7c1;border-radius:0;box-shadow:none;color:var(--teal);font-size:14px !important;font-weight:700;padding:0 0 3px !important;line-height:1.7 !important;transition:border-color .2s}
.sv2-news .btn__bg--plan::after{content:"→";margin-left:14px}


/* 中間の幅(901〜1180px): 見積り帯を縦積みにして見出しが細く伸びないようにする */
@media (min-width:901px) and (max-width:1180px){
  .sv2-quote-inner{grid-template-columns:minmax(0,1fr);row-gap:26px}
  .sv2-qhead,.sv2-qkick,.sv2 .sv2-quote .contact__inner,.sv2-phone{grid-column:1;grid-row:auto}
  .sv2-phone{margin-top:0}
}
/* ---- スマホ(ソルのスマホ案 codex-sp-v1 のとおり。幅390基準、900px以下)。補足11px・本文14px ---- */
@media (max-width:900px){
  .sv2{font-size:14px;line-height:1.95;overflow-wrap:anywhere}
  .sv2-wrap{width:calc(100% - 40px)}
  .sv2-eyebrow{font-size:11px}
  .sv2-title-band h1 span{display:block}
  .sv2-title-band{padding:27px 0 28px}
  .sv2 .sv2-title-band h1{font-size:24px;line-height:1.55;margin:10px 0}
  .sv2 .sv2-title-band p{font-size:14px;line-height:1.9}
  .sv2-index{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 0;font-size:14px;line-height:1.6}
  .sv2-index a,.sv2-index a:first-child{min-height:54px;padding:10px 8px;gap:5px}
  .sv2-index a:nth-child(2){border-right:0}
  .sv2-index a:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .sv2-index a:nth-child(3){border-right:1px solid var(--line)}
  .sv2-index a:last-child:nth-child(odd){grid-column:1/-1;border-right:0;border-top:1px solid var(--line)}
  .sv2-overview{padding-top:30px}
  .sv2-overview-row{grid-template-columns:minmax(0,1fr);gap:24px}
  .sv2 .sv2-facility h2{font-size:23px;margin-top:10px}
  .sv2 .sv2-address{font-size:14px;margin:13px 0 18px}
  .sv2-outline-btn{width:100%;min-width:0;min-height:48px;padding:13px 16px;font-size:14px;gap:12px}
  .sv2-photo{max-height:none;width:100%}
  .sv2-photo img{width:100%;max-width:100%;height:auto;max-height:none;object-fit:contain}
  .sv2-intro{margin-top:24px;padding:0 0 0 16px;font-size:14px;line-height:1.95}
  .sv2-section{padding-top:42px;padding-bottom:42px}
  .sv2-heading{margin-bottom:24px}
  .sv2 .sv2-heading h2{font-size:22px;line-height:1.6;margin-top:10px}
  .sv2 .sv2-lead{font-size:14px;margin-top:14px}
  .sv2 .sv2-lead p{font-size:14px}
  .sv2-access{padding-top:40px}
  .sv2-route{grid-template-columns:34px minmax(0,1fr);gap:14px 12px;padding:24px 0}
  .sv2-route-symbol{gap:4px}
  .sv2-route-symbol svg{width:29px;height:29px}
  .sv2-route>div:last-child{display:contents}
  .sv2 .sv2-route h3{font-size:18px;margin:0;align-self:center}
  .sv2-route .sv2-body{grid-column:1/-1;font-size:14px;line-height:1.95}
  .sv2-benefits{grid-template-columns:minmax(0,1fr);gap:28px}
  .sv2-benefit{padding-top:20px}
  .sv2-benefit-top{margin-bottom:14px}
  .sv2-benefit-top svg{width:34px;height:34px}
  .sv2 .sv2-benefit h3{min-height:0;font-size:18px;margin-bottom:14px}
  .sv2-bus-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:28px;padding-top:24px}
  .sv2-bus-actions .sv2-outline-btn{width:100%}
  .sv2-btn{width:100%;min-height:56px;padding:16px;font-size:14px;gap:8px}
  .sv2-group{grid-template-columns:minmax(0,1fr);gap:20px;padding:26px 0 30px}
  .sv2-category h3{font-size:20px;margin-top:6px}
  .sv2-places,.sv2-places.count-1{grid-template-columns:minmax(0,1fr);gap:24px}
  .sv2-place{padding-left:16px}
  .sv2 .sv2-place h4{font-size:17px;line-height:1.6;margin-bottom:10px}
  .sv2 .sv2-body a.sv2-link-btn{display:inline-flex;align-items:center;min-height:44px;padding:6px 0;margin-top:6px;border-bottom:0;box-shadow:inset 0 -1px 0 #9fb7c1}
  .sv2 .sv2-body a[href=""],.sv2 .sv2-body a:not([href]){display:none}
  /* 貸切バスの入口(ソル スマホ案 v3 portal): 縦の行(線画+題名+1行説明+→) */
  .sv2-overview-row.no-photo{grid-template-columns:minmax(0,1fr);row-gap:24px}
  .sv2-overview-row.no-photo .sv2-facility,.sv2-overview-row.no-photo .sv2-intro,.sv2-overview-row.no-photo .sv2-portal{grid-column:1;grid-row:auto}
  .sv2-overview-row.no-photo .sv2-intro{margin-top:0}
  .sv2-portal-band,.sv2-portal-panel{margin-top:24px;padding:22px 16px 14px}
  .sv2-overview-row .sv2-portal{margin-top:0}
  .sv2 .sv2-portal h2,.sv2 .sv2-portal-panel h2{font-size:21px;line-height:1.6;margin-top:8px}
  .sv2 .sv2-portal-lead{font-size:14px;line-height:1.9;margin-top:10px}
  .sv2-portal-cards,.sv2-portal-panel .sv2-portal-cards{display:block;margin-top:18px;border-top:1px solid #c8d9df}
  .sv2 a.sv2-portal-card,.sv2 .sv2-portal-panel a.sv2-portal-card{display:grid;grid-template-columns:28px minmax(0,1fr) 14px;gap:10px;align-items:center;background:transparent;border:0;border-bottom:1px solid #c8d9df;padding:15px 0;min-height:76px}
  .sv2-portal-card svg,.sv2-portal-panel .sv2-portal-card svg{width:28px;height:28px;margin:0}
  .sv2 .sv2-portal-card p,.sv2 .sv2-portal-panel .sv2-portal-card p{font-size:11px;margin-top:3px}
  .sv2-portal-arrow,.sv2-portal-panel .sv2-portal-arrow{position:static;font-size:18px}
  .sv2-portal-links,.sv2-portal-panel .sv2-portal-links{flex-direction:column;gap:0;font-size:11px;margin-top:10px}
  .sv2 .sv2-portal-links a{display:flex;align-items:center;min-height:44px}
  /* 見積り帯 */
  .sv2-quote-inner{grid-template-columns:minmax(0,1fr);row-gap:26px;padding:34px 0 36px}
  .sv2-qhead,.sv2-qkick{grid-column:1;grid-row:auto}
  .sv2 .sv2-qhead h2{font-size:24px;line-height:1.6;margin-top:8px}
  .sv2 .sv2-qnote{font-size:11px;margin-top:10px}
  .sv2-qkick{font-size:14px}
  .sv2-qhead .sv2-eyebrow{font-size:11px}
  .sv2 .sv2-quote .contact__inner{grid-column:1;grid-row:auto}
  .sv2 .sv2-quote .form__short{grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:24px}
  .sv2 .sv2-quote .form__short dt{font-size:14px;line-height:1.8;padding:4px 0 8px}
  .sv2 .sv2-quote select,.sv2 .sv2-quote input[type=date]{height:44px;font-size:14px}
  .sv2 .sv2-quote input[type=submit].wpcf7-submit{min-height:56px;padding:16px !important;font-size:14px}
  .sv2-phone{grid-column:1;grid-row:auto;display:flex;flex-direction:column;align-items:flex-start;margin-top:2px;padding-top:20px;border-top:1px solid #597987;gap:3px}
  .sv2-phone>span{font-size:11px}
  .sv2 .sv2-phone a{font-size:32px;min-height:48px;display:flex;align-items:center;line-height:1.5}
  .sv2-phone small{font-size:11px;margin:0}
  /* 選ばれる理由 */
  .sv2-reasons{--gx:20px}
  .sv2-reasons .content__h2{padding-top:42px;font-size:22px;line-height:1.6;margin:0 var(--gx)}
  .sv2-reasons .content__h2::before{font-size:11px}
  .sv2-reasons .content__desc{margin:14px var(--gx) 24px;font-size:14px}
  .sv2-reasons .reason__chose-list{grid-template-columns:minmax(0,1fr);gap:28px;margin-bottom:42px}
  .sv2-reasons .reason__chose-list-item{padding-left:0;padding-top:22px}
  .sv2-reasons .reason__chose-list-item::before{top:22px;font-size:24px;line-height:1.5}
  .sv2 .sv2-reasons .reason__chose-unit-text h3{min-height:0;padding-left:44px;margin:0 0 14px !important;line-height:1.5}
  .sv2 .sv2-reasons .reason__chose-unit-text p{font-size:14px}
  .sv2 .sv2-reasons .reason__chose-list-item-link{margin:6px 0 0}
  .sv2 .sv2-reasons .reason__chose-list-item-link a.btn__border--content{display:inline-flex !important;align-items:center;min-height:44px}
  /* 利用シーン */
  .sv2-reasons .frame__border-wide--content{grid-template-columns:minmax(0,1fr);padding:30px var(--gx) 32px}
  .sv2-reasons .title__bg--content{font-size:21px;margin-bottom:24px}
  .sv2-reasons .frame__border-wide--content .content__title{grid-column:1 !important;grid-row:auto;font-size:16px;margin:0 0 8px}
  .sv2-reasons .area__inline-list{grid-column:1 !important;grid-row:auto;font-size:14px;line-height:2;margin-bottom:22px}
  .sv2-reasons .area__inline-list-item a{font-size:14px}
  /* お知らせ */
  .sv2-news>section.content{width:calc(100% - 40px);grid-template-columns:minmax(0,1fr);row-gap:24px;padding:36px 0 40px}
  .sv2-news .content__h2{grid-column:1;grid-row:auto;font-size:22px;max-width:none}
  .sv2-news .content__h2::before{font-size:11px;margin-bottom:10px}
  .sv2-news .news__list{grid-column:1;grid-row:auto}
  .sv2 .sv2-news .news__list-item a{grid-template-columns:86px minmax(0,1fr) 18px;gap:10px 12px;padding:20px 0}
  .sv2-news .news__list-item-time{font-size:11px;grid-column:1;grid-row:1}
  .sv2 .sv2-news .news__list-item [class^="news__list-item-category"]{grid-column:2;grid-row:1;width:max-content !important;min-width:70px;padding:0 8px;font-size:11px;justify-self:start}
  .sv2-news .news__h3{grid-column:1/3;grid-row:2;font-size:14px;line-height:1.9}
  .sv2-news .news__list-item a::after{grid-column:3;grid-row:2;align-self:center}
  .sv2 .sv2-news .btn__bg--plan{grid-column:1;grid-row:auto;margin:0;min-height:44px;display:inline-flex;align-items:center}
}
