/* トラベルワン サイト用CSS（デザイン案 v49 から移植。.to の中だけに効く） */
:root{color-scheme: light;
  --ground:#eef6fb;
  --surface:#ffffff;
  --ink:#1a2633;
  --muted:#45515e;
  --sub:#36424f;
  --line:#d5dde5;
  --navy:#1f5a96;
  --navy-deep:#184a7e;
  --navy-soft:#e6f2fa;
  --sky:#2a9ad8;
  --sky-ink:#0b6aa3;
  --sky-pale:#e3f2fb;
  --memo:#9a6400;
  --memo-bg:#fff6e2;
  --cta:#c8461b;
  --cta-hover:#a93a14;
  --band:#1577b7;
  --f-head:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --f-body:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --f-en:"Jost","Zen Kaku Gothic New",sans-serif;
  --fs-hero:clamp(30px,4.4vw,46px);
  --fs-h2:clamp(25px,3vw,32px);
  --fs-h3:20px;
  --r:6px;}
.to *{box-sizing:border-box}
.to [hidden]{display:none!important}
.to img{max-width:100%}
html{scroll-behavior:smooth}
.to{margin:0;background:var(--surface);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.95;font-feature-settings:"palt";letter-spacing:.04em;word-break:auto-phrase}
.to h1,.to h2,.to h3,.to h4{font-family:var(--f-head);font-weight:700;line-height:1.55;text-wrap:balance;margin:0;letter-spacing:.04em}
.to p{margin:0}
.to a{color:inherit}
.to .wrap{max-width:1120px;margin-inline:auto;padding-inline:24px}
@media (max-width:600px){
.to .wrap{padding-inline:16px}
}
.to .num{font-variant-numeric:tabular-nums;letter-spacing:.03em}
.to .ph{background:#dfe6ed;display:grid;place-items:center;text-align:center;color:#56687b;font-size:15px;line-height:1.7;padding:12px;max-width:100%;border-radius:var(--r)}
.to .ph b{display:block;font-weight:500;color:#3d4f63;font-size:15px;letter-spacing:.1em}
.to .topbar{background:var(--navy-deep);color:#c8d3e1;font-size:14px}
.to .topbar .wrap{display:flex;justify-content:space-between;gap:16px;min-height:32px;align-items:center}
@media (max-width:760px){
.to .topbar{display:none}
}
.to .btn-sm{min-height:44px;padding:8px 18px;font-size:15px}
.to .alert{background:var(--sky-pale);border-bottom:1px solid #bfe0f3}
.to .alert .wrap{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px 18px;align-items:center;padding-block:12px}
.to .alert-label{font-size:14px;font-weight:700;color:#fff;background:var(--sky-ink);padding:3px 10px;border-radius:2px;white-space:nowrap}
.to .alert a.t{font-weight:700;color:var(--navy);text-decoration:none;min-width:0}
.to .alert a.t:hover{text-decoration:underline}
.to .alert time{font-weight:400;color:var(--muted);margin-right:12px;font-size:15px}
.to .alert .more{font-size:15px;color:var(--sky-ink);white-space:nowrap}
@media (max-width:700px){
.to .alert .wrap{grid-template-columns:auto minmax(0,1fr)}
.to .alert .more{display:none}
.to .alert time{display:block}
}
.to .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.to .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:10px 26px;border-radius:var(--r);text-decoration:none;font-weight:700;font-size:16px;border:0;cursor:pointer;font-family:inherit;letter-spacing:.06em}
.to .btn-navy{background:var(--navy);color:#fff}
.to .btn-navy:hover{background:var(--navy-deep)}
.to .btn-cta{background:var(--cta);color:#fff;box-shadow:0 2px 0 rgba(0,0,0,.12)}
.to .btn-cta:hover{background:var(--cta-hover)}
.to .btn-w{background:#fff;color:var(--navy)}
.to .btn-ghost{border:1px solid rgba(255,255,255,.6);color:#fff}
.to .btn-ghost:hover{background:rgba(255,255,255,.08)}
.to .text-link{display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:var(--navy);font-weight:700;text-decoration:none;font-size:16px}
.to .text-link::after{content:"";width:24px;height:1px;background:var(--sky);transition:width .2s}
.to .text-link:hover::after{width:36px}
.to .hero{background:var(--navy);color:#fff}
.to .hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:center;padding-block:64px}
.to .hero .en{font-family:var(--f-en);font-size:18px;letter-spacing:.2em;color:#8fcdf0;display:block;margin-bottom:16px}
.to .hero h1{font-size:var(--fs-hero);letter-spacing:.05em}
.to .hero .lead{margin-top:22px;color:#d6dfeb;max-width:30em}
.to .hero-full{position:relative;overflow:hidden;isolation:isolate}
.to .hero-full .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%;z-index:-2}
.to .hero-full::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,48,88,.94) 0%,rgba(14,48,88,.88) 34%,rgba(14,48,88,.55) 54%,rgba(14,48,88,.1) 74%,rgba(14,48,88,0) 86%)}
.to .hero-full h1,.to .hero-full .lead,.to .hero-full .en{text-shadow:0 1px 12px rgba(8,30,58,.55)}
.to .hero-full .lead{font-weight:500}
.to .hero-doors{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.25);max-width:30em}
.to .hero-doors a{color:#fff;text-decoration:none;font-weight:700;font-size:16px;display:inline-flex;align-items:center;gap:8px;text-shadow:0 1px 10px rgba(8,30,58,.55)}
.to .hero-doors a::after{content:"→";color:#8fcdf0}
.to .hero-doors a:hover{text-decoration:underline}
.to .hero-full .wrap{display:block;padding-block:64px 68px;min-height:0}
.to .hero-copy{max-width:36em}
.to .hero-full h1{text-wrap:wrap}
@media (max-width:600px){
.to .br-pc{display:none}
}
.to .hero-full .lead{color:#e6eef7}
.to .hero-memo{position:absolute;right:16px;bottom:14px}
@media (max-width:860px){
.to .hero-full::before{background:linear-gradient(180deg,rgba(14,48,88,.72) 0%,rgba(14,48,88,.9) 50%)}
.to .hero-full .wrap{padding-block:48px 52px}
.to .hero-full .hero-bg{object-position:65% 30%}
}
.to .hero .ph{aspect-ratio:4/3;background:#3b72aa;color:#d3e2f1}
.to .hero .ph b{color:#e1e8f1}
@media (max-width:860px){
.to .hero .wrap{grid-template-columns:1fr;gap:28px;padding-block:32px 44px}
.to .hero .ph{order:-1;aspect-ratio:16/10}
}
.to .page-hd{background:var(--navy);color:#fff;padding-block:52px 48px}
.to .page-hd .en{font-family:var(--f-en);font-size:16px;letter-spacing:.2em;color:#8fcdf0;display:block;margin-bottom:8px}
.to .page-hd h1{font-size:clamp(26px,3.4vw,34px)}
.to .page-hd p{color:#d6dfeb;margin-top:12px;max-width:38em}
.to .creds{background:var(--surface);border-bottom:1px solid var(--line)}
.to .creds ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.to .creds li{padding:24px 22px;display:grid;gap:2px;align-content:start}
.to .creds li+li{border-left:1px solid var(--line)}
.to .creds small{font-size:14px;color:var(--muted);letter-spacing:.08em}
.to .creds strong{font-family:var(--f-head);font-size:17px;line-height:1.5}
@media (max-width:860px){
.to .creds ul{grid-template-columns:repeat(2,minmax(0,1fr))}
.to .creds li:nth-child(3){border-left:0}
.to .creds li:nth-child(n+3){border-top:1px solid var(--line)}
}
@media (max-width:420px){
.to .creds li{padding:18px 12px}
.to .creds strong{font-size:16px}
}
.to .sec{padding-block:88px}
.to .sec-gray{background:var(--ground)}
.to .sec-head{display:grid;gap:12px;margin-bottom:44px;max-width:42em}
.to .sec-head .en{font-family:var(--f-en);font-size:16px;letter-spacing:.2em;color:var(--sky-ink)}
.to .sec-head h2{font-size:var(--fs-h2);padding-bottom:16px;position:relative}
.to .sec-head h2::after{content:"";position:absolute;left:0;bottom:0;width:40px;height:2px;background:var(--sky)}
.to .sec-head p{color:var(--muted);font-size:16px}
@media (max-width:600px){
.to .sec{padding-block:60px}
.to .sec-head{margin-bottom:32px}
}
.to .reasons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--navy)}
.to .reason{padding:28px 28px 8px 0;display:grid;gap:10px;align-content:start}
.to .reason+.reason{padding-left:28px;border-left:1px solid var(--line)}
.to .reason .key{font-family:var(--f-en);font-size:16px;letter-spacing:.18em;color:var(--sky-ink)}
.to .reason h3{font-size:var(--fs-h3)}
.to .reason p{font-size:16px;color:var(--muted)}
@media (max-width:860px){
.to .reasons{grid-template-columns:1fr}
.to .reason,.to .reason+.reason{padding:24px 0;border-left:0;border-bottom:1px solid var(--line)}
}
.to .reason-sub{list-style:none;margin:28px 0 0;padding:18px 0 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 32px;font-size:16px}
.to .reason-sub li{display:flex;gap:10px;align-items:baseline}
.to .reason-sub li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sky);flex-shrink:0;transform:translateY(-2px)}
@media (max-width:860px){
.to .reason-sub{border-top:0;padding-top:0;margin-top:20px}
}
.to .groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.to .group{background:var(--surface);display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.to .group .ph{aspect-ratio:3/2;border-radius:var(--r) var(--r) 0 0}
.to .group-body{padding:24px 28px 28px;display:grid;gap:8px}
.to .group h3{font-size:21px}
.to .group p{font-size:16px;color:var(--muted)}
@media (max-width:860px){
.to .groups{gap:20px}
.to .group-body{padding:20px 22px 24px}
.to .group h3{font-size:19px}
}
@media (max-width:640px){
.to .groups{grid-template-columns:1fr}
}
.to .arrange{margin-top:44px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.to .box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px 28px}
.to .box h3{font-size:18px;margin-bottom:12px}
.to .box p{font-size:16px;color:var(--muted)}
.to .tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.to .tags li{font-size:15px;padding:5px 14px;border:1px solid var(--line);border-radius:2px;background:var(--navy-soft);color:var(--navy);font-weight:500}
.to .box .note{margin-top:14px;font-size:15px}
@media (max-width:860px){
.to .arrange{grid-template-columns:1fr}
.to .box{padding:22px}
}
.to .flow-title{margin-top:64px;margin-bottom:20px;font-size:var(--fs-h3)}
.to .flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);background:var(--surface);border-radius:var(--r);padding:0;margin:0}
.to .flow li{list-style:none;padding:24px 20px;display:grid;gap:8px;align-content:start}
.to .flow li+li{border-left:1px solid var(--line)}
.to .flow .step{font-family:var(--f-en);font-size:15px;letter-spacing:.16em;color:var(--sky-ink)}
.to .flow h4{font-size:17px}
.to .flow p{font-size:15px;color:var(--muted);line-height:1.8}
.to .arr{margin-top:48px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:40px 36px 32px}
.to .arr-head{display:grid;gap:8px;margin-bottom:28px}
.to .arr-head h3{font-size:22px}
.to .arr-head p{color:var(--sub);font-size:16px}
.to .arr-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.to .arr-grid li{display:grid;justify-items:center;text-align:center;gap:6px;padding:24px 12px 22px;background:var(--ground);border-radius:var(--r);align-content:start}
.to .arr-ico{width:64px;height:64px;border-radius:50%;background:linear-gradient(145deg,var(--sky) 0%,var(--navy) 100%);display:grid;place-items:center;margin-bottom:6px;box-shadow:0 4px 10px rgba(21,80,140,.18)}
.to .arr-ico svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.to .arr-grid strong{font-family:var(--f-head);font-size:17px;word-break:keep-all}
.to .arr-grid small{font-size:16px;color:var(--sub);line-height:1.7;word-break:keep-all;overflow-wrap:anywhere}
@media (max-width:860px){
.to .arr{padding:28px 20px 24px}
.to .arr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
.to .flow2{list-style:none;margin:0;padding:44px 32px 40px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.to .flow2 li{position:relative;display:grid;justify-items:center;text-align:center;gap:8px;align-content:start}
.to .flow2 li:not(:last-child)::after{content:"";position:absolute;top:40px;left:calc(50% + 50px);right:calc(-50% + 40px);height:2px;background:repeating-linear-gradient(90deg,var(--sky) 0 8px,transparent 8px 14px)}
.to .flow2 li:not(:last-child)::before{content:"";position:absolute;top:35px;right:calc(-50% + 34px);border:6px solid transparent;border-left:8px solid var(--sky);border-right:0}
.to .flow2 .ico{position:relative;width:84px;height:84px;border-radius:50%;background:linear-gradient(145deg,var(--sky) 0%,var(--navy) 100%);display:grid;place-items:center;margin-bottom:6px;box-shadow:0 0 0 6px var(--sky-pale),0 6px 14px rgba(21,80,140,.22)}
.to .flow2 li:last-child .ico{background:linear-gradient(145deg,#e0663a 0%,var(--cta) 100%);box-shadow:0 0 0 6px #fbe6dd,0 6px 14px rgba(200,70,27,.25)}
.to .flow2 svg{width:38px;height:38px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.to .flow2 li:last-child svg{stroke:#fff}
.to .flow2 .ico b{position:absolute;top:-8px;right:-10px;width:30px;height:30px;border-radius:50%;background:#fff;color:var(--navy);box-shadow:0 2px 6px rgba(0,0,0,.15);font-weight:600;font-family:var(--f-en);font-size:16px;display:grid;place-items:center;border:2px solid var(--surface)}
.to .flow2 li:last-child .ico b{color:var(--cta)}
.to .flow2 h4{font-size:18px;margin-top:6px}
.to .flow2 p{font-size:16px;color:var(--sub);line-height:1.8;word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}
.to .flow2 h4{word-break:keep-all}
@media (max-width:960px){
.to .flow2{grid-template-columns:1fr;gap:0;padding:24px 20px}
.to .flow2 li{grid-template-columns:72px minmax(0,1fr);justify-items:start;text-align:left;column-gap:18px;row-gap:2px;padding-bottom:24px}
.to .flow2 li:last-child{padding-bottom:0}
.to .flow2 .ico{width:64px;height:64px;grid-row:span 2;margin:0}
.to .flow2 svg{width:30px;height:30px}
.to .flow2 h4{align-self:end;padding-top:8px}
.to .flow2 p{max-width:none}
.to .flow2 li:not(:last-child)::after{top:70px;bottom:4px;left:31px;right:auto;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--sky) 0 8px,transparent 8px 14px)}
.to .flow2 li:not(:last-child)::before{display:none}
}
.to .timing{margin-top:24px;font-size:16px;color:var(--ink);padding-left:16px;border-left:3px solid var(--sky)}
@media (max-width:960px){
.to .flow{grid-template-columns:1fr}
.to .flow li+li{border-left:0;border-top:1px solid var(--line)}
.to .flow li{grid-template-columns:90px minmax(0,1fr);column-gap:16px}
.to .flow li .step{grid-row:span 2}
}
.to .solo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:56px;align-items:start}
.to .solo-img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:50% 35%;border-radius:var(--r);margin-bottom:24px}
.to .solo-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.to .solo-list li{padding:16px 0;border-bottom:1px solid var(--line);display:grid;gap:2px}
.to .solo-list strong{font-family:var(--f-head);font-size:17px}
.to .solo-list span{font-size:16px;color:var(--muted)}
.to .dp{border:1px solid var(--line);border-radius:var(--r);padding:30px;background:var(--surface)}
.to .dp h3{font-size:var(--fs-h3)}
.to .dp > p{font-size:16px;color:var(--muted);margin-top:8px}
.to .dp-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:20px}
.to .dp-links a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 16px;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;font-weight:500;font-size:16px}
.to .dp-links a:hover{border-color:var(--sky);background:var(--sky-pale)}
.to .dp-links a::after{content:"↗";color:var(--muted);font-size:15px}
.to .bn-wide{display:grid;gap:12px;margin-top:20px}
.to .bn-small{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.to .bn-wide a,.to .bn-small a{display:block;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);transition:box-shadow .2s,transform .2s}
.to .bn-wide a:hover,.to .bn-small a:hover{box-shadow:0 6px 16px rgba(21,80,140,.18);transform:translateY(-2px)}
.to .bn-wide img,.to .bn-small img{display:block;width:100%;height:auto;max-width:100%}
.to .dia{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}
.to .dia-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;padding:24px 28px;background:var(--ground);border-bottom:1px solid var(--line)}
.to .dia-head h3{font-size:22px}
.to .dia-head p{color:var(--sub);font-size:16px;margin-top:2px}
.to .dia-btns{display:flex;flex-wrap:wrap;gap:10px}
.to .btn-line{border:1px solid var(--navy);color:var(--navy);background:var(--surface)}
.to .btn-line:hover{background:var(--navy-soft)}
.to .dia-img{overflow-x:auto;-webkit-overflow-scrolling:touch}
.to .dia-img img{display:block;width:100%;height:auto;min-width:880px}
.to .dia-note{padding:16px 28px 20px;font-size:15px;color:var(--sub);border-top:1px solid var(--line)}
.to .dia-sp{display:none}
@media (max-width:900px){
.to .dia-sp{display:inline}
.to .dia-head{padding:20px}
.to .dia-note{padding:14px 20px 18px}
}
.to .dp-ask{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:16px}
.to .dp-ask a{color:var(--navy);font-weight:700}
.to .dp-steps{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:0;border-top:1px solid var(--line)}
.to .dp-steps li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:16px}
.to .dp-steps b{font-family:var(--f-en);font-size:18px;color:var(--sky-ink);line-height:1.5}
.to .pdf{display:flex;align-items:center;gap:14px;margin-top:22px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;background:var(--surface)}
.to .pdf:hover{border-color:var(--sky)}
.to .pdf i{font-style:normal;font-weight:700;font-size:12px;color:#fff;background:#c8202a;padding:4px 7px;border-radius:2px;letter-spacing:.05em}
.to .pdf span{display:grid;line-height:1.5}
.to .pdf small{color:var(--muted);font-size:15px}
@media (max-width:860px){
.to .solo{grid-template-columns:1fr;gap:32px}
.to .dp{padding:22px}
}
.to .news{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:56px}
.to .news ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.to .news li a{display:grid;grid-template-columns:110px 96px minmax(0,1fr);gap:16px;align-items:center;padding:20px 4px;border-bottom:1px solid var(--line);text-decoration:none}
.to .news li a:hover .ttl{color:var(--navy);text-decoration:underline}
.to .news time{color:var(--muted);font-size:16px}
.to .news .cat{font-size:14px;text-align:center;padding:2px 0;background:var(--navy-soft);color:var(--navy);border-radius:2px}
.to .news .cat.imp{background:var(--sky-ink);color:#fff}
@media (max-width:860px){
.to .news{grid-template-columns:1fr;gap:16px}
.to .news li a{grid-template-columns:auto 96px;gap:6px 12px;padding:16px 2px}
.to .news .ttl{grid-column:1/-1}
}
.to .table{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);border-top:1px solid var(--ink)}
.to .table dt,.to .table dd{padding:15px 4px;border-bottom:1px solid var(--line);margin:0;font-size:16px}
.to .table dt{font-weight:700;padding-right:28px;white-space:nowrap}
.to .table dd small{display:block;color:var(--muted);font-size:15px}
@media (max-width:480px){
.to .table{grid-template-columns:1fr}
.to .table dt{border-bottom:0;padding-bottom:0}
.to .table dd{padding-top:2px}
}
.to .about{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:start}
.to .about{display:block}
.to .about .table{grid-template-columns:220px minmax(0,1fr)}
.to .about .table dt,.to .about .table dd{padding:22px 8px;font-size:16px}
.to .about .table dt{color:var(--navy)}
@media (max-width:860px){
.to .about .table{grid-template-columns:150px minmax(0,1fr)}
.to .about .table dt,.to .about .table dd{padding:18px 4px;font-size:16px}
}
@media (max-width:480px){
.to .about .table{grid-template-columns:1fr}
.to .about .table dt{padding-bottom:0}
.to .about .table dd{padding-top:4px}
}
@media (max-width:860px){
.to .about{grid-template-columns:1fr;gap:24px}
}
.to .contact{background:linear-gradient(100deg,rgba(14,48,88,.92) 0%,rgba(18,70,125,.84) 55%,rgba(21,100,165,.76) 100%),url(../../uploads/2026/10/traone-hero-sky.webp) center 60%/cover;color:#fff;padding-block:80px}
.to .contact .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:center}
.to .contact h2{font-size:var(--fs-h2)}
.to .contact p{color:#eef6fc;margin-top:10px}
.to .contact-side{display:grid;gap:18px;padding-left:40px;border-left:1px solid rgba(255,255,255,.35)}
.to .contact-side small{display:block;color:#eef6fc;font-size:15px}
.to .contact-fax strong{font-size:clamp(28px,3.4vw,36px);line-height:1.3;display:block}
.to .contact-tel{font-size:15px;color:#eef6fc;padding-top:16px;border-top:1px solid rgba(255,255,255,.3)}
.to .contact-tel strong{color:#fff;font-size:18px;margin-left:6px}
@media (max-width:860px){
.to .contact .wrap{grid-template-columns:1fr;gap:28px}
.to .contact-side{padding-left:0;border-left:0;padding-top:24px;border-top:1px solid rgba(255,255,255,.2)}
}
.to .ft{background:#e8f3fa;color:#2f3b48;padding-block:48px 28px;font-size:15px;border-top:4px solid var(--sky)}
.to .ft .wrap{display:grid;gap:24px}
.to .ft-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px}
.to .ft strong{color:var(--navy);font-family:var(--f-head);font-size:18px;letter-spacing:.08em}
.to .ft nav{display:flex;flex-wrap:wrap;gap:6px 24px;align-content:start;max-width:520px}
.to .ft nav a{text-decoration:none;color:var(--ink)}
.to .ft nav a:hover{text-decoration:underline;color:var(--navy)}
.to .ft-reg{display:flex;flex-wrap:wrap;gap:8px 28px;padding-top:20px;border-top:1px solid #c9dcea;font-size:15px}
.to .ft small{color:#45515e;font-size:14px}
.to .mbar{display:none}
@media (max-width:991px){
.to .mbar{display:grid;grid-template-columns:1.4fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--line)}
.to .mbar a{min-height:52px;border-radius:var(--r);display:grid;place-items:center;text-decoration:none;font-weight:700;line-height:1.25;text-align:center;font-size:16px}
.to .mbar a small{display:block;font-weight:400;font-size:13px}
.to .mbar .f{background:var(--cta);color:#fff}
.to .mbar .x{border:1px solid var(--navy);color:var(--navy)}
}
.to .greet{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:64px;align-items:start}
.to .greet .sec-head{margin-bottom:28px}
.to .greet .body{margin-top:0}
.to .greet-r{padding-top:6px}
@media (max-width:860px){
.to .greet{grid-template-columns:1fr;gap:24px}
.to .greet-r{padding-top:0}
}
.to .greet blockquote{margin:0;font-family:var(--f-head);font-size:24px;line-height:1.8;letter-spacing:.04em;color:var(--navy)}
.to .greet .body{display:grid;gap:16px}
.to .greet .sign{margin-top:28px;text-align:right;font-family:var(--f-head);font-size:18px}
.to .greet .sign small{display:block;font-family:var(--f-body);font-size:15px;color:var(--muted)}
@media (max-width:600px){
.to .greet blockquote{font-size:19px}
}
.to .office{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.to .office + .office{margin-top:56px;padding-top:56px;border-top:1px solid var(--line)}
.to .office h3{font-size:22px;margin-bottom:16px}
.to .office .media{display:grid;gap:16px}
.to .office .ph{aspect-ratio:16/10}
.to .office .soft{margin-top:16px;font-size:16px;color:var(--muted)}
.to .notice{margin-top:18px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--navy);font-size:16px;line-height:1.9}
.to .notice strong{display:block;font-size:16px;margin-bottom:4px;color:var(--navy)}
@media (max-width:860px){
.to .office{grid-template-columns:1fr;gap:24px}
}
.to .docs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.to .docs ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.to .docs li a{display:flex;justify-content:space-between;gap:12px;padding:14px 4px;border-bottom:1px solid var(--line);text-decoration:none;font-size:16px}
.to .docs li a:hover{color:var(--sky-ink)}
.to .docs li a::after{content:"→";color:var(--muted)}
.to .docs li a.is-pdf::after{content:"PDF";font-size:12px;font-weight:700;color:#fff;background:#c8202a;padding:2px 6px;border-radius:2px;align-self:center}
.to .docs h3{font-size:17px;margin-bottom:12px}
@media (max-width:760px){
.to .docs{grid-template-columns:1fr}
}
.to .job{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:30px}
.to .job h3{font-size:20px}
.to .job .lead{margin-top:8px;color:var(--muted);font-size:16px}
.to .job .table{margin-top:20px}
@media (max-width:600px){
.to .job{padding:20px}
}
.to .cform-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}
.to .side{display:grid;gap:20px;position:sticky;top:100px}
.to .side .box h3{font-size:17px}
.to .side .big{font-size:26px;font-weight:700;color:var(--navy);line-height:1.4;display:block}
@media (max-width:960px){
.to .cform-wrap{grid-template-columns:1fr}
.to .side{position:static;order:-1}
}
.to .cform{display:grid;gap:0}
.to .fset{border:0;margin:0;padding:0 0 32px;display:grid;gap:22px}
.to .fset + .fset{padding-top:32px;border-top:1px solid var(--line)}
.to .fset legend{font-family:var(--f-head);font-size:20px;font-weight:700;padding:0;margin-bottom:22px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.to .field{display:grid;gap:8px}
.to .field > label,.to .field > .lbl{font-weight:700;font-size:16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.to .req{font-size:12px;color:#fff;background:#b3261e;padding:1px 7px;border-radius:2px;font-weight:700}
.to .opt{font-size:12px;color:var(--muted);border:1px solid var(--line);padding:0 7px;border-radius:2px;font-weight:500}
.to .hint{font-size:15px;color:var(--muted);font-weight:400}
.to .cform input[type=text],.to .cform input[type=email],.to .cform input[type=tel],.to .cform input[type=date],.to .cform input[type=number],.to .cform select,.to .cform textarea{width:100%;min-height:48px;padding:10px 14px;border:1px solid #b9c5d1;border-radius:var(--r);font:inherit;font-size:16px;background:#fff;color:var(--ink)}
.to .cform textarea{min-height:140px;resize:vertical}
.to .cform input:focus,.to .cform select:focus,.to .cform textarea:focus{outline:2px solid var(--sky);outline-offset:1px;border-color:var(--sky)}
.to .row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.to .row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.to .row3 label,.to .row2 label{font-size:15px;color:var(--muted);display:grid;gap:4px}
@media (max-width:560px){
.to .row2,.to .row3{grid-template-columns:1fr}
}
.to .choices{display:flex;flex-wrap:wrap;gap:8px}
.to .choices label{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #b9c5d1;border-radius:var(--r);font-size:16px;cursor:pointer;background:#fff}
.to .choices label:has(input:checked){border-color:var(--navy);background:var(--navy-soft);color:var(--navy);font-weight:700}
.to .choices input{accent-color:var(--navy);width:18px;height:18px;margin:0}
.to .agree{display:flex;gap:10px;align-items:flex-start;font-size:16px}
.to .agree input{accent-color:var(--navy);width:20px;height:20px;margin-top:5px}
.to .send{display:grid;gap:12px;justify-items:start;padding-top:8px}
.to .done{padding:20px;border:1px solid var(--sky);background:var(--sky-pale);border-radius:var(--r);font-size:16px}
.to a:focus-visible,.to button:focus-visible,.to input:focus-visible,.to select:focus-visible,.to textarea:focus-visible{outline:3px solid #e0b553;outline-offset:2px}
@media (prefers-reduced-motion:reduce){
.to *{transition:none!important}
html{scroll-behavior:auto}
}
.to .photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 60%;border-radius:var(--r);max-width:100%}
.to .office .photo{aspect-ratio:16/10}
.to .group-img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;max-width:100%}

/* ===== Lightning との調整 ===== */
/* .to の本文を含むページは全幅・余白なし */
body:has(.entry-body .to) .site-body{padding:0}
body:has(.entry-body .to) .site-body-container{max-width:none;padding:0}
.entry-body > .to{margin:0}

/* Lightning 標準のフッターは使わない（子テーマで出力） */
.site-footer{display:none}
.to-ft{margin:0}

/* ヘッダー */
.site-header{background:#fff;border-bottom:1px solid var(--line);box-shadow:none}
.site-header-logo a{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}
.site-header-logo a::before{content:"";width:40px;height:40px;flex-shrink:0;background:url(../../uploads/2022/01/travel-2-e1643432678933.png) no-repeat 0 50%/auto 100%;clip-path:circle(50% at 50% 50%)}
.site-header-logo span,.site-header-logo a{font-family:var(--f-head);font-weight:700;font-size:20px;letter-spacing:.05em}
.global-nav-list > li > a{font-family:var(--f-body);font-size:16px;font-weight:500;color:var(--ink)}
.global-nav-list > li > a:hover{color:var(--navy)}
.global-nav-list > li.menu-cta{display:flex;align-items:center;margin-left:12px}
.global-nav-list > li.menu-cta > a{background:var(--cta);color:#fff;border-radius:var(--r);padding:10px 20px;min-height:44px;display:flex;align-items:center;font-weight:700;letter-spacing:.06em}
.global-nav-list > li.menu-cta > a:hover{background:var(--cta-hover);color:#fff}
.global-nav-list > li.menu-cta > a::after,.global-nav-list > li.menu-cta > a .global-nav-name::after{display:none}

/* スマホ下部バーがある分、下に余白 */
@media (max-width:991px){body{padding-bottom:74px}}

/* スマホ・タブレットでは、上部の細い帯を出さない（Lightning のメニューボタンと重なるため） */
@media (max-width:991px){.to-topbar{display:none}}

/* 会社案内：地図 */
.to .map{aspect-ratio:16/10;border-radius:var(--r);overflow:hidden;background:var(--ground);max-width:100%}
.to .map iframe{display:block;width:100%;height:100%;border:0}

/* お問い合わせフォーム（Contact Form 7） */
.to .cform .wpcf7-form{display:grid;gap:0}
.to .cform .wpcf7-form-control-wrap{display:block;width:100%;flex:1 1 100%}
.to .cform .field > label{display:flex;flex-wrap:wrap;gap:8px}
.to .cform .wpcf7-list-item{margin:0}
.to .cform .choices .wpcf7-list-item label{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #b9c5d1;border-radius:var(--r);font-size:16px;cursor:pointer;background:#fff;font-weight:400}
.to .cform .choices .wpcf7-list-item label:has(input:checked){border-color:var(--navy);background:var(--navy-soft);color:var(--navy);font-weight:700}
.to .cform .choices input{accent-color:var(--navy);width:18px;height:18px;margin:0}
.to .cform .choices{display:flex;flex-wrap:wrap;gap:8px}
.to .cform .fset p.hint{margin-top:-12px}
.to .cform .agree .wpcf7-list-item label{display:flex;gap:10px;align-items:flex-start}
.to .cform .agree input{accent-color:var(--navy);width:20px;height:20px;margin-top:5px}
.to .cform input[type=submit].btn{min-width:240px}
.to .cform .wpcf7-not-valid-tip{font-size:15px;margin-top:4px}
.to .cform .wpcf7-response-output{margin:16px 0 0;padding:14px 16px;border-radius:var(--r);font-size:16px}
.to .cform .wpcf7-spinner{margin:0 0 0 12px}

/* Lightning の見出しの飾り（下線・背景・::before/::after）を .to の中では消す。こちらで付けた飾りは、より強い指定で残る */
.to h1,.to h2,.to h3,.to h4,.to h5,.to h6{border:0;padding:0;background:none;box-shadow:none}
.to h1::before,.to h1::after,.to h2::before,.to h2::after,.to h3::before,.to h3::after,.to h4::before,.to h4::after{content:none}
.to .sec-head h2{padding-bottom:16px}

/* ページトップボタンと reCAPTCHA を、スマホ下部バーの上に */
@media (max-width:991px){
  #page_top{bottom:152px}
  .grecaptcha-badge{bottom:82px !important}
}

/* ===== お知らせの一覧・記事、そのほかの固定ページ（Lightning 標準のページ） ===== */
body{font-family:var(--f-body);color:var(--ink)}
.site-body h1,.site-body h2,.site-body h3,.site-body h4{font-family:var(--f-head)}
/* ページ見出しの帯をデザインにそろえる */
.page-header{background:var(--navy);padding-block:44px 40px;margin:0;border:0}
.page-header-inner{max-width:1120px;padding-inline:24px}
.page-header-title,.page-header .page-header-title{color:#fff;font-family:var(--f-head);font-size:clamp(26px,3.4vw,34px);font-weight:700;letter-spacing:.04em;text-align:left;margin:0}
@media (max-width:600px){.page-header-inner{padding-inline:16px}}
.site-body{font-size:17px;line-height:1.95}
.site-body .site-body-container{max-width:1120px}
/* お知らせの一覧：写真なしの行の一覧にする */
.vk_posts-mainSection{display:block;border-top:1px solid var(--ink);margin:0}
.vk_posts-mainSection .vk_post{display:block;margin:0;padding:22px 4px;border:0;border-bottom:1px solid var(--line);box-shadow:none;background:none}
.vk_posts-mainSection .vk_post_imgOuter{display:none}
.vk_posts-mainSection .vk_post_body{padding:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px}
.vk_posts-mainSection .vk_post_dates{order:-1;font-size:15px;color:var(--muted)}
.vk_posts-mainSection .vk_post_dates i{display:none}
.vk_posts-mainSection .vk_post_title{font-family:var(--f-body);font-size:17px;font-weight:700;margin:0;flex:1 1 20em;border:0;padding:0}
.vk_posts-mainSection .vk_post_title a{color:var(--ink);text-decoration:none}
.vk_posts-mainSection .vk_post_title a:hover{color:var(--navy);text-decoration:underline}
.vk_posts-mainSection .vk_post_title_new{display:none}
.vk_posts-mainSection .vk_post_excerpt{flex:1 1 100%;margin:4px 0 0;font-size:16px;color:var(--sub)}
.vk_posts-mainSection .vk_post_btnOuter{display:none}
/* 記事ページ */
.single-post .entry-header{border:0;margin-bottom:28px}
.single-post .entry-title{font-size:clamp(23px,2.8vw,28px);border:0;padding:0}
.single-post .entry-meta{font-size:15px;color:var(--muted)}
.entry-body p{font-size:17px}
.entry-body a{color:var(--navy)}
.vk_posts-mainSection .vk_post_date{font-size:15px}
.vk_posts-mainSection .vk_post{min-height:0}

/* ===== 旅行業約款のページ ===== */
.to .terms-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start}
@media (max-width:960px){.to .terms-wrap{grid-template-columns:1fr;gap:40px}}
.to .terms-doc{max-width:46em;font-size:17px;line-height:2;word-break:normal;line-break:strict}
.to .terms-doc h2{font-size:22px;margin:56px 0 20px;padding:10px 0 10px 16px;border-left:4px solid var(--navy);background:var(--ground)}
.to .terms-doc h2:first-of-type{margin-top:0}
.to .terms-doc h3{font-size:18px;margin:36px 0 10px;color:var(--navy)}
.to .terms-doc p{margin:0 0 12px}
.to .terms-doc ol,.to .terms-doc ul{margin:0 0 14px;padding-left:1.6em}
.to .terms-doc li{margin-bottom:6px}
.to .terms-doc li ol{margin-top:6px}
.to .terms-table{overflow-x:auto;margin:16px 0 24px}
.to .terms-table table{border-collapse:collapse;width:100%;min-width:520px;font-size:16px;background:var(--surface)}
.to .terms-table td,.to .terms-table th{border:1px solid var(--line);padding:10px 14px;vertical-align:top}
.to .terms-table p{margin:0}
.to .terms-toc{border:1px solid var(--line);border-radius:var(--r);padding:20px 24px;margin-bottom:40px;background:var(--surface)}
.to .terms-toc-ttl{font-weight:700;color:var(--navy);margin-bottom:8px}
.to .terms-toc ol{margin:0;padding-left:1.4em;display:grid;gap:4px}
.to .terms-toc a{color:var(--ink);text-decoration:none}
.to .terms-toc a:hover{color:var(--navy);text-decoration:underline}
.to [id^="ch"]{scroll-margin-top:100px}
.to .terms-nav{position:sticky;top:110px;border:1px solid var(--line);border-radius:var(--r);padding:22px 22px 18px;background:var(--surface);font-size:16px}
@media (max-width:960px){.to .terms-nav{position:static}}
.to .terms-nav-ttl{font-family:var(--f-head);font-weight:700;margin-bottom:6px}
.to .terms-nav ul{list-style:none;margin:0 0 18px;padding:0;border-top:1px solid var(--line)}
.to .terms-nav li a{display:flex;justify-content:space-between;gap:10px;padding:10px 2px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.to .terms-nav li a:hover{color:var(--navy)}
.to .terms-nav li a[aria-current]{color:var(--navy);font-weight:700}
.to .terms-nav li a[aria-current]{box-shadow:inset 4px 0 0 var(--sky);padding-left:14px;background:var(--sky-pale)}
.to .terms-nav li a.is-pdf::after{content:"PDF";font-size:12px;font-weight:700;color:#fff;background:#c8202a;padding:2px 6px;border-radius:2px;align-self:center}
.to .terms-nav .text-link{margin-top:4px}

/* ロゴのマーク：Lightning が a を display:block にするので、強めに指定 */
.site-header .site-header-logo a{display:flex !important;align-items:center;gap:12px}
.site-header .site-header-logo a::before{display:block}

/* ヒーロー：h1 は小さく社名（SEO用）、キャッチコピーは大きく */
.to .hero .hero-label{font-family:var(--f-body);font-size:16px;font-weight:700;letter-spacing:.12em;color:#8fcdf0;line-height:1.6;margin:0 0 14px;text-shadow:0 1px 10px rgba(8,30,58,.55)}
.to .hero-catch{font-family:var(--f-head);font-size:var(--fs-hero);font-weight:700;line-height:1.5;letter-spacing:.05em;color:#fff;text-wrap:balance;margin:0;text-shadow:0 1px 12px rgba(8,30,58,.55)}

/* ===== お問い合わせフォームの余白をそろえる（Contact Form 7 が挟む余計な改行・空の段落を無効にし、見出しを区切り線の上にまたがらせない） ===== */
.to .cform .wpcf7-form br{display:none}
.to .cform .wpcf7-form p:empty{display:none}
.to .cform .wpcf7-form p{margin:0}
.to .cform .fset{display:block;border:0;margin:0;padding:0 0 32px}
.to .cform .fset + .fset{border-top:1px solid var(--line);padding-top:32px}
.to .cform .fset legend{float:left;width:100%;padding:0;margin:0 0 20px;font-size:20px;line-height:1.5}
.to .cform .fset legend + *{clear:both}
.to .cform .fset > *:not(legend){margin:0}
.to .cform .fset > *:not(legend) + *{margin-top:22px}
.to .cform .fset p.hint{margin-top:0;margin-bottom:0}
.to .cform .field{gap:8px}
.to .cform .field > .lbl,.to .cform .field > label{line-height:1.6}
.to .cform .choices{gap:10px}
.to .cform .send{padding-top:8px;gap:14px}

/* フォーム下部（同意のチェック・送信ボタン）の間隔：入力欄との間を詰め、チェック・ボタン・説明文の間は少し広げる */
.to .cform textarea{display:block}
.to .cform .fset:last-of-type{padding-bottom:0}
.to .cform .send{padding-top:0;margin-top:22px;gap:20px}
.to .cform .send .hint{margin-top:-8px}

/* フォームの「ご希望の手配」は、項目名が arrange のため、トップの旧デザインの .arrange（上に44pxの余白）が当たっていた。打ち消す */
.to .cform .wpcf7-form-control-wrap.arrange{margin:0;display:block;grid-template-columns:none;gap:0}

/* パソコン幅：「トップへ戻る」ボタンを reCAPTCHA のマーク（右下）の真上に置き、重ならないようにする */
@media (min-width:992px){#page_top{bottom:92px !important;right:15px !important}}

/* 「トップへ戻る」ボタン：紺の丸に、上向きに飛び立つ飛行機のアイコン（文字は読み上げ用に残し、見えなくする） */
#page_top{width:52px;height:52px;border-radius:50%;background:#1f5a96;box-shadow:0 4px 12px rgba(21,80,140,.35);display:block;transition:transform .2s,background .2s}
#page_top:hover{background:#184a7e;transform:translateY(-3px)}
#page_top span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#page_top::before{content:"";position:absolute;inset:0;margin:auto;width:26px;height:26px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z'/%3E%3C/svg%3E") center/contain no-repeat;transform:rotate(-45deg)}
@media (min-width:992px){#page_top{bottom:92px !important;right:9px !important}}

/* スマホ：メニューボタン（左上・固定）とロゴが重ならないよう、ロゴをボタンの右に寄せる */
@media (max-width:991px){
  .site-header-logo{padding-left:46px}
}
/* 電話のリンクは、周りの文字色のまま（青くしない） */
.to a[href^="tel:"],.to a.tel-link{color:inherit;text-decoration:none}
.to .contact a[href^="tel:"]{color:#fff}

/* ===== スマホで開くメニュー（VK Mobile Nav）：サイトの雰囲気に合わせる ===== */
.vk-mobile-nav{background:#fff;padding:0 0 40px;overflow-y:auto}
/* 上の帯：ヘッダーと同じ「ロゴのマーク＋社名」（左の閉じるボタンの右に並べる） */
.vk-mobile-nav::before{content:"トラベルワン株式会社";display:block;height:54px;line-height:54px;padding-left:105px;font-family:var(--f-head);font-weight:700;font-size:20px;letter-spacing:.05em;color:var(--ink);border-bottom:1px solid var(--line);margin-bottom:8px}
.vk-mobile-nav::after{content:"";position:absolute;left:61px;top:7px;width:40px;height:40px;background:url(../../uploads/2022/01/travel-2-e1643432678933.png) no-repeat 0 50%/auto 100%;clip-path:circle(50% at 50% 50%)}
.vk-mobile-nav nav.vk-mobile-nav-menu-outer{padding:0 20px}
.vk-mobile-nav-menu-outer ul{margin:0;padding:0;list-style:none}
.vk-mobile-nav-menu-outer li{border:0}
.vk-mobile-nav-menu-outer li a{position:relative;display:block;padding:18px 40px 18px 4px;font-family:var(--f-head);font-size:18px;font-weight:700;letter-spacing:.05em;color:var(--ink);border-bottom:1px solid var(--line);text-decoration:none}
.vk-mobile-nav-menu-outer li a::after{content:"";position:absolute;right:10px;top:50%;width:8px;height:8px;margin-top:-5px;border-right:2px solid var(--sky);border-top:2px solid var(--sky);transform:rotate(45deg)}
.vk-mobile-nav-menu-outer li.menu-cta{margin-top:24px}
.vk-mobile-nav-menu-outer li.menu-cta a{background:var(--cta);color:#fff;text-align:center;border:0;border-radius:6px;padding:16px;font-size:17px}
.vk-mobile-nav-menu-outer li.menu-cta a::after{display:none}
/* 下の連絡先カード（ウィジェット「モバイルナビ下部」） */
.vk-mobile-nav .tr-navinfo{margin:28px 20px 0;padding:18px 20px;background:var(--sky-pale);border-radius:6px;font-size:15px;line-height:1.9;color:var(--ink)}
.vk-mobile-nav .tr-navinfo strong{font-family:var(--f-head)}
.vk-mobile-nav .tr-navinfo a{color:inherit;text-decoration:none;border:0;padding:0;display:inline}
.vk-mobile-nav .tr-navinfo a::after{display:none}
.vk-mobile-nav .tr-navinfo small{font-size:13px}

/* 空港時刻表：スマホでは、全体が見える幅にして、タップで拡大（横スクロールで右が切れるのをやめる） */
.to .dia-zoom{display:block;position:relative}
@media (max-width:900px){
  .to .dia-img{overflow:visible}
  .to .dia-img img{min-width:0;width:100%;height:auto}
  .to .dia-zoom::after{content:"タップで拡大";position:absolute;right:10px;bottom:10px;background:rgba(17,45,85,.9);color:#fff;font-size:14px;line-height:1;padding:9px 14px;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
}

/* お問い合わせフォーム：団体の種類・打ち合わせの方法は、「1つだけ選べる・必須ではない」チェックボックス（exclusive）。見た目は丸い選択ボタンにする */
.to .cform .wpcf7-form-control-wrap[data-name="gtype"] input[type=checkbox],
.to .cform .wpcf7-form-control-wrap[data-name="meet"] input[type=checkbox]{-webkit-appearance:none;appearance:none;width:18px;height:18px;margin:0;border:2px solid #7a8794;border-radius:50%;background:#fff;display:inline-grid;place-content:center;flex:0 0 auto}
.to .cform .wpcf7-form-control-wrap[data-name="gtype"] input[type=checkbox]:checked,
.to .cform .wpcf7-form-control-wrap[data-name="meet"] input[type=checkbox]:checked{border-color:var(--navy)}
.to .cform .wpcf7-form-control-wrap[data-name="gtype"] input[type=checkbox]:checked::before,
.to .cform .wpcf7-form-control-wrap[data-name="meet"] input[type=checkbox]:checked::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--navy)}

/* 文節改行：JS(wbr)と併用。折り返しは文節の切れ目で行う */
.to,.ft,.mbar,.topbar,.vk-mobile-nav{word-break:keep-all;overflow-wrap:break-word}
.to h1,.to h2,.to h3,.to h4{text-wrap:balance}
.to p,.to li,.to dd,.to td{text-wrap:pretty}

/* 投稿ページ：SNSシェアボタンと投稿者名は非表示 */
.veu_socialSet,.entry-meta-item-author,.entry-meta-item-author-image{display:none!important}

/* 投稿ページ：フォローボックス・更新日・日付横のアイコンは非表示（投稿日のみ） */
.veu_followSet,.entry-meta-item-updated,.entry-meta-item>i.fa-solid,.entry-meta-item>i.fa-regular{display:none!important}

/* PC表示：ヘッダー（ロゴ・メニュー）をスクロールしても上に固定。ページ内リンクの飛び先が隠れないよう余白を確保 */
@media (min-width:992px){
  .site-header{position:sticky;top:0;z-index:1000;box-shadow:0 1px 0 rgba(17,45,85,.08)}
  /* スクロール後もロゴを消さない（テーマ標準ではロゴが隠れる）。ロゴを上段、メニューを下段に、どちらも中央揃えにする */
  .header_scrolled .site-header-logo{display:block!important;width:auto;flex:0 0 auto;padding:6px 0 0;margin:0 auto}
  .header_scrolled .site-header-container{flex-direction:column;align-items:center;justify-content:center;padding-left:20px;padding-right:20px;max-width:100%}
  .header_scrolled .site-header .global-nav{margin:0 auto;display:flex;justify-content:center}
  .header_scrolled .site-header-logo a{justify-content:center}
  .header_scrolled .site-header-logo a::before{width:28px;height:28px}
  .header_scrolled .site-header-logo span,.header_scrolled .site-header-logo a{font-size:16px}
  .header_scrolled .global-nav-list{justify-content:center;height:auto}
  body.header_scrolled .site-header .global-nav-list>li>a{padding-top:8px;padding-bottom:8px;padding-left:16px;padding-right:16px;font-size:15px}
  body.header_scrolled .site-header .global-nav-list>li.menu-cta>a{min-height:36px;padding:6px 18px}
  /* 飛び先の余白はscroll-margin-topに一本化（scroll-paddingと二重にかかって下にズレていたため） */
  html{scroll-padding-top:0}
  .to [id]{scroll-margin-top:90px}
}

/* PC幅が狭いとき（992〜1199px）：ロゴとメニューが画面からはみ出さないよう余白を詰める */
@media (min-width:992px) and (max-width:1199px){
  .site-header-logo a::before{width:34px;height:34px}
  .site-header-logo span,.site-header-logo a{font-size:18px}
  body .site-header .global-nav-list>li>a{padding-left:14px;padding-right:14px}
  body .site-header .global-nav-list>li.menu-cta>a{padding-left:16px;padding-right:16px}
}

/* スマホ・タブレットでもヘッダー（ロゴ＋MENU）をスクロールに追従させる */
@media (max-width:991px){
  body{padding-top:55px}
  html{scroll-padding-top:64px}
  .site-header{position:fixed;top:0;left:0;right:0;z-index:1000}
  .header_scrolled .site-header-logo{display:block}
  .header_scrolled .site-header{box-shadow:0 2px 8px rgba(0,0,0,.08)}
  .admin-bar .site-header{top:32px}
}
@media (max-width:782px){ .admin-bar .site-header{top:46px} }
@media (max-width:600px){ .admin-bar .site-header{top:0} }
