/* Photo-led market entry page; shared Japanese and English layout. */
.entry-page{padding-top:40px;padding-bottom:70px;--entry-teal:#245d61;--entry-line:#a8b7ad}
.entry-page .back-link{display:inline-block;font-size:14px;margin-bottom:40px}
.entry-page .entry-hero{display:grid;grid-template-columns:1fr 1.12fr;gap:42px;align-items:center;margin:0 0 90px}
.entry-hero-copy{min-width:0}
.entry-page .eyebrow,.entry-section-eyebrow{color:var(--entry-teal);font-size:12px;letter-spacing:.12em;font-weight:800;line-height:1.6}
.entry-page .entry-hero h2{font-size:clamp(29px,3.05vw,42px);line-height:1.55;margin:20px 0 24px;letter-spacing:-.035em}
.entry-page .entry-hero-copy>p:not(.eyebrow){font-size:16px;line-height:2;margin-bottom:28px}
.entry-page .entry-hero figure{margin:0;min-width:0}
.entry-page .entry-hero img{display:block;width:100%;height:440px;object-fit:cover;object-position:50% 8%;border-radius:30px;border:1px solid #596b64;box-shadow:7px 7px 0 #e2d8c8}
.entry-page figcaption{font-size:10px;color:#627066;text-align:right;margin-top:16px}
.entry-page .pill{font-size:15px;max-width:100%;min-height:58px}
.entry-journey{margin:0 0 75px}
.entry-journey header{text-align:center;margin-bottom:36px}
.entry-page .entry-journey h2{font-size:clamp(27px,3vw,36px);line-height:1.5;margin:12px 0}
.entry-journey header>p:last-child{font-size:16px}
.entry-journey ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none}
.entry-journey li{position:relative;min-width:0;background:#fdfbf7;border:1px solid #a7b4aa;border-radius:24px;overflow:hidden;padding:0 22px 24px}
.entry-stage-photo{display:block;width:calc(100% + 44px);max-width:none;height:245px;object-fit:cover;object-position:center 42%;margin:0 -22px 24px}
.entry-stage-label{display:flex;align-items:center;gap:14px}
.entry-stage-label span{font-family:var(--round);font-size:38px;line-height:1;color:var(--entry-teal);font-weight:800}
.entry-stage-label small{font-size:12px;letter-spacing:.12em;font-weight:800}
.entry-journey h3{font-size:23px;line-height:1.5;margin:16px 0 8px}
.entry-journey li p{font-size:14px;line-height:1.8;margin:0}
.entry-page .service-overview{background:#fbfaf6;border:1px solid #536e66;border-radius:28px;padding:0 36px 30px;margin:0 0 74px;box-shadow:5px 5px 0 #d7ded5;overflow:hidden}
.entry-page .service-overview>.entry-section-eyebrow{background:var(--entry-teal);color:#dbe8d5;margin:0 -36px;padding:24px 36px 4px}
.entry-page .service-overview>h2{font-size:36px;line-height:1.5;color:#fffdf4;background:var(--entry-teal);margin:0 -36px 16px;padding:0 36px 26px}
.entry-page .service-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0}
.entry-page .service-summary-grid>div{background:none;border:none;border-radius:0;box-shadow:none;padding:24px 28px 24px 0}
.entry-page .service-summary-grid>div:nth-child(even){padding-left:28px;padding-right:0;border-left:1px solid #d3dad0}
.entry-page .service-summary-grid>div:nth-child(n+3){border-top:1px solid #d3dad0}
.entry-page .service-summary-grid dt{font-size:19px;color:#244f4b;font-weight:800;margin-bottom:12px;padding:0}
.entry-page .service-summary-grid dt::after{display:none}
.entry-page .service-summary-grid dd{font-size:15px;line-height:1.95;margin:0}
.entry-page .service-summary-grid dd p{margin-top:0}
.entry-page .summary-detail-links{font-size:14px;margin-top:16px}
.entry-page .service-toc{margin:20px 0 0;background:#eeeade;border:0;border-radius:12px;padding:18px 20px}
.entry-page .detail-items{margin:0 0 80px}
.entry-page .detail-items>.entry-section-eyebrow{margin:0 0 8px}
.entry-page .detail-items>h2{font-size:36px;line-height:1.5;margin:0 0 28px}
.entry-page .detail-items ol{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0;padding:0;list-style:none;border:0}
.entry-page .detail-items li{display:block;padding:0;border:0;margin:0;min-width:0}
.entry-page .detail-items li:last-child{grid-column:1/-1}
.entry-page .entry-menu-link{display:flex;align-items:center;gap:20px;min-height:118px;height:100%;background:#eee0bd;border:1px solid #465f57;border-radius:22px;padding:22px;color:#182c28;text-decoration:none;box-shadow:3px 4px 0 #b7c0b7;transition:transform .2s,box-shadow .2s,background .2s}
.entry-page .detail-items li:nth-child(2) a{background:#d4e7e9}
.entry-page .detail-items li:nth-child(3) a{background:#dce6d0}
.entry-page .detail-items li:nth-child(4) a{background:#efdbd3}
.entry-page .detail-items li:nth-child(5) a{background:#e4dfe9;min-height:96px}
.entry-menu-number{font:800 34px/1 var(--round);color:var(--entry-teal);flex-shrink:0}
.entry-page .detail-items h3{font-size:20px;line-height:1.65;margin:0;flex:1}
.entry-page .detail-items .entry-menu-arrow{border:1px solid #53675c;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fffaf3;flex-shrink:0;font-size:22px}
.entry-page .detail-items a:hover{transform:translateY(-4px);box-shadow:4px 8px 0 #b7c0b7}
.entry-page .entry-detail-section{background:#fffdf9;border:1px solid #a0b1a5;border-radius:28px;overflow:hidden;margin:0 0 38px;scroll-margin-top:60px}
.entry-detail-section>header{display:flex;align-items:center;gap:24px;padding:30px 36px;background:#eee0bd;border-bottom:1px solid #c8caba}
.entry-detail-section#entry-permits>header{background:#d3e7e5}
.entry-detail-section#entry-representative>header{background:#dde7d3}
.entry-detail-section#entry-visit>header{background:#efdcd4}
.entry-detail-number{font:800 42px/1 var(--round);color:#fffdf7;background:var(--entry-teal);display:grid;place-items:center;flex-shrink:0;width:76px;height:76px;border-radius:20px}
.entry-detail-section .entry-section-eyebrow{margin:0 0 5px;font-size:11px}
.entry-detail-section h2{font-size:30px;line-height:1.5;margin:0;letter-spacing:-.025em}
.entry-detail-copy{font-size:16px;line-height:1.95;min-width:0;padding:32px 36px 36px}
.entry-detail-copy>p{margin:0 0 26px}
.entry-detail-copy>p:last-child{margin-bottom:0}
.entry-detail-copy ul{padding-left:1.2em;margin:0}
.entry-detail-copy li{margin-bottom:14px}
.entry-detail-copy .entry-fee{background:#f3ead6;border:1px solid #d3bc86;border-radius:18px;padding:26px 30px;font-size:15px;line-height:1.9;margin:26px 0}
.entry-fee strong{display:block;font-size:30px;margin-bottom:8px;line-height:1.6;color:#443818}
.entry-table-wrap{border-radius:16px;overflow:hidden;border:1px solid #c5cfc4}
.entry-table-wrap table{border-collapse:collapse;width:100%;font-size:16px;line-height:1.9}
.entry-table-wrap caption{text-align:left;font-weight:700;padding:20px 24px;background:#e2e9df;font-size:18px;color:#294b43}
.entry-table-wrap th{width:72px;color:var(--entry-teal);font-family:var(--round);font-size:24px;vertical-align:middle}
.entry-table-wrap th,.entry-table-wrap td{padding:20px 22px;border-top:1px solid #d8dfd4;text-align:left}
.entry-table-wrap th{padding-right:6px}
.entry-table-wrap tr:nth-child(even){background:#f2f4ed}
.entry-detail-copy .entry-permits{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0;list-style:none;margin-bottom:25px;counter-reset:permit}
.entry-permits li{margin:0;background:#f0f5f1;border:1px solid #c8d5cd;border-radius:16px;padding:20px;display:flex;gap:14px;align-items:baseline;font-size:16px;line-height:1.8;counter-increment:permit}
.entry-permits li::before{content:counter(permit,decimal-leading-zero);font:800 18px/1 var(--round);color:var(--entry-teal);flex-shrink:0}
.entry-detail-copy .entry-local-list{padding:0;list-style:none;counter-reset:local}
.entry-local-list li{display:flex;gap:20px;padding:18px 0;border-top:1px solid #d0dacc;margin:0;counter-increment:local}
.entry-local-list li::before{content:counter(local,decimal-leading-zero);font:800 22px/1.6 var(--round);color:var(--entry-teal);flex-shrink:0}
#entry-visit .entry-detail-copy{display:grid;grid-template-columns:.85fr 1fr;gap:24px 32px;align-items:center}
.entry-visit-photo{display:block;width:100%;height:300px;object-fit:cover;object-position:center 40%;border-radius:18px;grid-row:1/3}
#entry-visit .entry-detail-copy>p{margin:0}
.entry-detail-copy .entry-visit-tags{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;align-self:start}
.entry-visit-tags li{margin:0;background:#f0e2d9;border-radius:30px;padding:8px 15px;font-size:14px;font-weight:700}
.entry-page .entry-contact{margin:58px 0 50px;background:#eed6df;border:1px solid #6b565e;border-radius:30px;text-align:center;padding:48px 32px;box-shadow:5px 5px 0 #252626}
.entry-page .entry-contact h2{font-size:clamp(25px,3vw,35px);margin:0 0 16px;line-height:1.6}
.entry-page .entry-contact p{font-size:16px;line-height:1.9;margin:0 auto 24px;max-width:640px}
.entry-page .entry-contact a{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:#e57199;padding:17px 28px;border:1px solid #252626;border-radius:40px;font-weight:700;color:#202121;box-shadow:3px 3px 0 #252626;text-decoration:none;transition:transform .2s,background .2s}
.entry-page .entry-contact a:hover{transform:translateY(-3px);background:#ed8daf}
.entry-page a:focus-visible{outline:3px solid var(--entry-teal);outline-offset:5px}
@media(max-width:950px){
 .entry-page .entry-hero{grid-template-columns:1fr;gap:30px;margin-bottom:60px}
 .entry-page .entry-hero h2{font-size:36px}
 .entry-page .entry-hero figure{max-width:660px}
 .entry-stage-photo{height:190px}
 .entry-journey li{padding:0 16px 22px}
 .entry-stage-photo{width:calc(100% + 32px);margin-left:-16px;margin-right:-16px}
 .entry-page .entry-menu-link{gap:14px;padding:20px}
 .entry-page .detail-items h3{font-size:18px}
}
@media(max-width:600px){
 .entry-page{padding-top:28px}
 .entry-page .back-link{margin-bottom:28px}
 .entry-page .entry-hero h2{font-size:28px;line-height:1.65}
 .entry-page .entry-hero img{height:350px;border-radius:24px}
 .entry-page .entry-hero-copy>p:not(.eyebrow){font-size:15px}
 .entry-page .pill{padding:14px 20px;font-size:14px}
 .entry-journey ol{grid-template-columns:1fr;gap:24px}
 .entry-stage-photo{height:240px}
 .entry-journey h3{font-size:23px;margin-top:12px}
 .entry-page .service-overview{padding:0 22px 24px}
 .entry-page .service-overview>.entry-section-eyebrow{margin:0 -22px;padding:22px 22px 4px}
 .entry-page .service-overview>h2{font-size:29px;margin:0 -22px 8px;padding:0 22px 22px}
 .entry-page .service-summary-grid{grid-template-columns:1fr}
 .entry-page .service-summary-grid>div,.entry-page .service-summary-grid>div:nth-child(even){padding:22px 0;border-left:0}
 .entry-page .service-summary-grid>div+div{border-top:1px solid #d3dad0}
 .entry-page .detail-items>h2{font-size:29px}
 .entry-page .detail-items ol{grid-template-columns:1fr;gap:14px}
 .entry-page .detail-items a{padding:20px 16px;gap:14px;min-height:105px}
 .entry-menu-number{font-size:29px}
 .entry-page .detail-items .entry-menu-arrow{width:30px;height:30px;font-size:19px}
 .entry-page .detail-items h3{font-size:17px}
 .entry-detail-section>header{gap:16px;padding:24px 20px;align-items:flex-start}
 .entry-detail-number{font-size:30px;width:54px;height:54px;border-radius:14px}
 .entry-detail-section h2{font-size:21px}
 .entry-detail-section .entry-section-eyebrow{font-size:9px;letter-spacing:.06em}
 .entry-detail-copy{font-size:15px;padding:24px 20px}
 .entry-detail-copy .entry-fee{padding:20px}
 .entry-fee strong{font-size:21px}
 .entry-table-wrap caption{font-size:16px;padding:18px 16px}
 .entry-table-wrap table{font-size:14px}
 .entry-table-wrap th{width:44px;font-size:20px}
 .entry-table-wrap th,.entry-table-wrap td{padding:16px 12px}
 .entry-detail-copy .entry-permits{grid-template-columns:1fr}
 .entry-permits li{font-size:15px;padding:16px}
 #entry-visit .entry-detail-copy{grid-template-columns:1fr;gap:24px}
 .entry-visit-photo{height:240px;grid-row:auto}
 .entry-page .entry-contact{padding:32px 20px}
 .entry-page .entry-contact a{font-size:14px;padding:16px 20px}
}
@media(prefers-reduced-motion:reduce){.entry-page a{transition:none!important}}

.entry-detail-section h2 span{display:inline-block}

.entry-detail-section#entry-establishment>header{background:#d4e7e9}
@media(max-width:600px){.entry-page .entry-detail-section{scroll-margin-top:45px}}
