@charset "UTF-8";
:root{--ink:#243d39;--muted:#65726b;--paper:#faf8f2;--line:#dddcd1;--accent:#b95432}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.9 Meiryo,"Yu Gothic",sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Yu Mincho",Georgia,serif;line-height:1.55}h1{font-size:40px}h2{font-size:28px}h3{line-height:1.7}figure{margin:28px 0}figcaption,.small{font-size:12px;color:var(--muted);line-height:1.9}figcaption{margin-top:10px}.topline{padding:9px max(5vw,20px);background:var(--ink);color:#fff;font-size:10px;letter-spacing:2px;display:flex;justify-content:space-between}.topline span{letter-spacing:1px}header{max-width:1280px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:30px 40px;border-bottom:1px solid var(--line);gap:24px}.brand{font-family:"Yu Mincho",serif;font-size:27px;font-weight:bold;letter-spacing:3px;white-space:nowrap}.brand small{display:block;font:9px/1.5 sans-serif;letter-spacing:5px;margin-top:3px}nav{display:flex;gap:32px;font-size:12px}main{max-width:1200px;margin:auto;padding:0 32px}.eyebrow{font:10px/1.6 sans-serif;letter-spacing:2px;color:var(--accent);font-weight:700}.hero{display:grid;grid-template-columns:43% 57%;padding:42px 0 0}.hero-copy{padding:30px 32px 30px 4px}.hero h1{font-size:clamp(34px,4vw,53px);line-height:1.65;letter-spacing:3px;margin:22px 0}.hero h1 em{font-style:normal;color:var(--accent)}.hero-copy>p:not(.eyebrow){font-size:13px;color:var(--muted)}.button{display:inline-block;background:var(--ink);color:white;padding:13px 23px;font-size:12px;letter-spacing:1px}.button:hover{background:var(--accent);color:white}.hero-copy .button{margin-top:13px}.hero-foot{display:block;margin-top:40px;font:9px sans-serif;letter-spacing:2px;color:var(--muted)}.hero-image{position:relative;min-height:520px;overflow:hidden}.hero-image img{height:100%;object-fit:cover}.hero-image:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0009)}.hero-image>span{position:absolute;z-index:1;bottom:28px;left:30px;right:24px;color:white;font-size:11px}.hero-image strong{font-family:"Yu Mincho",serif;font-size:23px;font-weight:500}.intro-line{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding:28px 0}.intro-line span{font-family:"Yu Mincho",serif;font-size:20px}.intro-line p{font-size:12px;color:var(--muted);margin:0}.section-title{display:flex;align-items:end;justify-content:space-between;margin:64px 0 28px}.section-title h2{margin:0}.section-title>span{font-size:11px;color:var(--muted)}.cards{display:grid;grid-template-columns:1fr 1fr;gap:36px}.card-image{position:relative;overflow:hidden}.card-image img{aspect-ratio:1.55;object-fit:cover;transition:transform .3s}.story-card:hover img{transform:scale(1.025)}.card-image>span{position:absolute;bottom:0;left:0;padding:6px 17px;background:var(--paper);font-size:11px}.card-copy{padding:23px 2px}.card-copy h3{font-family:"Yu Mincho",serif;font-size:22px;margin:12px 0}.card-copy>p:not(.eyebrow){font-size:12px;color:var(--muted)}.read{font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:7px}.lesson-band{margin:60px 0 70px;padding:40px;background:#e9eee7;display:grid;grid-template-columns:1fr 1.2fr;gap:32px}.lesson-band h2{font-size:30px}.lesson-band p{font-size:12px}.lesson-links a{display:block;padding:20px 0;border-bottom:1px solid #c8d0c5}.lesson-links span{display:block;font-size:11px;color:var(--muted)}.lesson-links strong{font-size:16px}.breadcrumbs{font-size:11px;color:var(--muted);margin:27px 0}.article-heading{max-width:840px;margin:45px auto 32px}.article-heading h1{font-size:38px;margin-bottom:20px}.dek{color:var(--muted);font-size:14px}.chips{display:flex;gap:10px;flex-wrap:wrap}.chips span{border:1px solid var(--line);padding:4px 12px;font-size:11px}.article-cover img{max-height:560px;object-fit:cover}.article-grid{display:grid;grid-template-columns:minmax(0,740px) minmax(230px,1fr);gap:60px;margin-top:65px}.prose p{line-height:2.1;margin:20px 0 28px}.prose section{margin-bottom:60px}.prose h2{margin-top:10px}.prose figure img{max-height:750px;object-fit:contain;background:#edeae0}.sticky{position:sticky;top:24px;border-top:2px solid var(--ink);padding-top:24px}.sticky h2{font-family:inherit;font-size:16px}.sticky>a{display:block;border-bottom:1px solid var(--line);padding:13px 0;font-size:12px}.aside-note{margin-top:30px;background:#eeeee4;padding:24px;font-size:12px}.aside-note h3{font-size:15px}.aside-note p{color:var(--muted)}video,iframe{width:100%;aspect-ratio:16/9;border:0;background:#152e2a}.phrase{display:flex;gap:22px;border-top:1px solid var(--line);padding:25px 0}.phrase>div{min-width:0}.number{color:var(--accent);font:14px Georgia,serif;padding-top:10px}.phrase h3{font-family:"Leelawadee UI",sans-serif;font-size:26px;margin:0;overflow-wrap:anywhere}.phrase p{margin:9px 0}.phrase .reading{font-size:12px;color:var(--muted);overflow-wrap:anywhere}summary{cursor:pointer;font-size:12px;text-decoration:underline;text-underline-offset:4px}.phrase details p{font-size:13px;background:#eeeee4;padding:16px}.offers{display:grid;grid-template-columns:1fr 1fr;gap:16px}.offer{border:1px solid var(--line);background:white;padding:23px}.offer h3{font-size:17px}.offer p{font-size:12px;margin:15px 0}.pending{font-size:11px;color:var(--muted);display:block;background:#f1f1ea;padding:12px}.ad-notice{font-size:12px;background:#f3ebdb;padding:16px}.related{border-top:1px solid var(--line);padding:40px 0 65px}.related a{display:block;text-decoration:underline;text-underline-offset:5px}.policy{max-width:760px;margin:60px auto 90px}.policy h2{margin-top:40px}footer{background:var(--ink);color:#f7f5e9;padding:50px max(calc((100vw - 1136px)/2),32px);font-size:12px}footer strong{font-family:"Yu Mincho",serif;font-size:24px;letter-spacing:3px}footer p{color:#d3dcd4}footer a{font-size:11px}.skip{position:absolute;left:12px;top:-100px;z-index:4;background:white;padding:12px}.skip:focus{top:12px}@media(max-width:760px){header{padding:22px;display:block}.brand{font-size:24px}nav{margin-top:22px;gap:20px;font-size:11px}.topline{font-size:8px;letter-spacing:1px}.topline span{font-size:9px}main{padding:0 20px}.hero{grid-template-columns:1fr;padding-top:18px}.hero-copy{padding:15px 0 26px}.hero h1{font-size:36px;line-height:1.5;margin:18px 0}.hero h1 br:nth-of-type(2){display:none}.hero-foot{display:none}.hero-image{min-height:0;height:350px}.hero-image strong{font-size:20px}.intro-line{display:block;padding:22px 0}.intro-line p{margin-top:10px}.section-title{margin-top:42px}.section-title>span{display:none}h2{font-size:24px}.cards{grid-template-columns:1fr;gap:22px}.card-copy{padding-top:18px}.lesson-band{grid-template-columns:1fr;padding:25px;margin:40px 0;gap:4px}.lesson-band h2 br{display:none}.lesson-band h2{font-size:25px}.article-heading{margin-top:30px}.article-heading h1{font-size:28px}.article-grid{display:flex;flex-direction:column;gap:30px;margin-top:35px}.article-grid aside{order:-1}.sticky{position:static;padding-top:15px}.sticky>a{display:inline-block;margin-right:15px}.sticky h2,.aside-note{display:none}.article-cover img{max-height:380px}.phrase h3{font-size:23px}.phrase{gap:13px}.offers{grid-template-columns:1fr}.policy h1{font-size:30px}.prose section{margin-bottom:42px}footer{padding:35px 22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card-image img{transition:none}}
.venue{background:#eeeee4;padding:26px}.venue dl{display:grid;grid-template-columns:minmax(100px,1fr) 2fr;gap:12px 20px;font-size:13px}.venue dt{font-weight:bold}.venue dd{margin:0}.venue-link{display:inline-block;margin:8px 12px 8px 0;text-decoration:underline;text-underline-offset:4px;font-size:12px}.prose h3{margin-top:32px}.hero-image strong{font-size:20px}@media(max-width:760px){.venue dl{display:block}.venue dt{margin-top:18px}.venue dd{margin-top:5px}.hero-image strong{font-size:17px}}
.guide-table{overflow-x:auto;margin:1.5rem 0}.guide-table table{border-collapse:collapse;width:100%;min-width:480px;font-size:.95rem}.guide-table caption{text-align:left;font-weight:bold;margin-bottom:.7rem}.guide-table th,.guide-table td{padding:14px 12px;text-align:left;vertical-align:top;border-bottom:1px solid #d9ddd5}.guide-table th{background:#e7eee8;color:#173d35}.guide-table tr:nth-child(even){background:#f4f3ec}

.pronounce{display:inline-flex;align-items:center;gap:7px;margin:10px 0;min-height:44px;padding:8px 15px;border:1px solid #65726b;border-radius:24px;background:#fff;color:#243d39;font:inherit;font-size:13px;cursor:pointer}.pronounce:hover,.pronounce[aria-pressed="true"]{background:#e1ebe4}.pronounce:focus-visible{outline:3px solid #b95432;outline-offset:3px}.pronounce:disabled{opacity:.6;cursor:not-allowed}#speech-status{padding:12px;border-left:3px solid #b95432;background:#eeeee4}
.provider-ad a{display:inline-block;padding:13px 23px;background:var(--ink);color:#fff;font-size:12px;line-height:1.5}.provider-ad a:hover{background:var(--accent);color:#fff}.provider-ad a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.provider-ad img[width="1"][height="1"]{width:1px;height:1px}
.offer-esim-banner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-width:0}.offer-esim-banner .provider-ad{width:min(300px,100%)}.offer-esim-banner .provider-ad a{display:block;width:100%;max-width:300px;padding:0;background:transparent;border:0}.offer-esim-banner .provider-ad a:hover{background:transparent;filter:brightness(.96)}.offer-esim-banner .provider-ad a img[width="300"]{display:block;width:100%;max-width:300px;height:auto}.offer-esim-banner .provider-ad>img[width="1"][height="1"]{display:block;width:1px!important;height:1px!important;max-width:1px!important;max-height:1px!important}.offer-esim-banner .small{text-align:center;max-width:300px}.offer-esim-banner .provider-ad a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.offer-esim{grid-template-columns:minmax(0,1fr) 300px;gap:20px;padding:18px}.offer-esim-banner,.offer-esim-banner .provider-ad,.offer-esim-banner .provider-ad a{width:300px;max-width:none}.offer-esim-banner .provider-ad a img[width="300"]{width:300px;height:250px;max-width:none}.offer-esim-banner .small{max-width:300px}@media(max-width:760px){.offer-esim{grid-template-columns:minmax(0,1fr);padding:12px}.offer-esim-banner{position:relative;left:50%;transform:translateX(-50%);max-width:none}}
.offers-single{grid-template-columns:1fr}.offer-esim{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(160px,.8fr);gap:26px;align-items:center;padding:24px}.offer-esim h3{font-size:22px;margin:10px 0}.offer-esim p{line-height:1.8}.esim-points{padding-left:20px;margin:16px 0;font-size:13px;line-height:1.8}.esim-points li{margin:6px 0}.offer-esim .offer-caution{font-size:11px;color:var(--muted)}.offer-esim .provider-ad a{border-radius:4px;font-weight:700;font-size:14px;padding:13px 22px}.offer-esim .small a{text-decoration:underline;text-underline-offset:3px}.esim-visual{position:relative;min-height:275px;overflow:hidden;border-radius:5px;background:linear-gradient(160deg,#d5eee7 0%,#9ecac2 54%,#397e7b 100%);isolation:isolate}.esim-sun{position:absolute;top:30px;right:35px;width:74px;height:74px;border-radius:50%;background:#f9d58a}.esim-horizon{position:absolute;bottom:-55px;left:-20%;width:140%;height:150px;border-radius:50% 50% 0 0;background:#176e75;box-shadow:0 -27px 0 #6fb1ab}.esim-phone{position:absolute;top:30px;left:50%;transform:translateX(-50%) rotate(-9deg);width:130px;height:210px;border:7px solid #143e41;border-radius:22px;background:#faf8f2;box-shadow:15px 18px 18px #174b4b66}.esim-phone:before{content:"";display:block;width:38px;height:6px;border-radius:5px;background:#143e41;margin:5px auto 0}.esim-signal{display:block;color:#bd6844;text-align:center;font:38px sans-serif;line-height:1;margin-top:20px}.esim-screen-label{display:block;color:#164d51;text-align:center;font:12px/1.4 sans-serif;letter-spacing:2px;margin-top:16px}.esim-screen-label b{font-size:23px;letter-spacing:1px}.esim-visual-note{position:absolute;bottom:10px;left:12px;right:12px;text-align:center;color:white;font-size:11px;letter-spacing:1px;text-shadow:0 1px 3px #174b4b}.floating-ad[hidden]{display:none}.floating-ad{position:fixed;right:18px;bottom:18px;z-index:20;width:min(300px,calc(100vw - 36px));display:flex;align-items:flex-start;gap:8px;padding:13px 12px 13px 16px;background:#fff;color:var(--ink);border:1px solid #d5d7cc;border-left:5px solid var(--accent);border-radius:8px;box-shadow:0 8px 28px #203d3a38;font-size:12px;line-height:1.5}.floating-ad>div{flex:1}.floating-ad strong{display:block;margin:4px 0;font-size:14px}.floating-pr{font-size:10px;color:#a34328;font-weight:700}.floating-ad a{color:#0e635d;text-decoration:underline;text-underline-offset:3px;font-weight:700}.floating-close{width:32px;height:32px;flex:none;border:0;border-radius:50%;background:#f0f0ec;color:var(--ink);font-size:23px;line-height:1;cursor:pointer}.floating-close:focus-visible,.floating-ad a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media(max-width:760px){.offer-esim{grid-template-columns:1fr;padding:18px}.esim-visual{min-height:210px;order:-1}.esim-phone{top:15px;height:175px;width:110px}.esim-visual-note{font-size:10px}.floating-ad{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:auto;max-width:none;padding:10px 12px}.floating-ad strong{font-size:13px}}@media(max-width:360px){.floating-ad{font-size:11px}.floating-ad strong{font-size:12px}}

/* Show the supplied A8 banner at its native 300 × 250 size. */
.floating-ad{display:block;width:322px;max-width:none;padding:0;overflow:hidden;border:1px solid #d5d7cc;border-left:1px solid #d5d7cc;background:#fff}
.floating-ad-header{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:5px 8px 5px 12px}
.floating-ad .floating-pr{font-size:11px}
.floating-ad .provider-ad{display:flex;align-items:center;justify-content:center;padding:0 10px 10px}
.floating-ad .provider-ad a{display:block;flex:none;position:relative;width:300px;max-width:none;padding:0;background:transparent;line-height:0}
.floating-ad .provider-ad a img{display:block;width:300px;height:250px;max-width:none}
.floating-ad .provider-ad>img[width="1"][height="1"]{display:block;flex:none;width:1px!important;height:1px!important;max-width:1px!important;max-height:1px!important}
.floating-ad .provider-ad a::after{content:"TORA eSIMの申込先を開く";position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none}
.floating-ad .floating-close{width:32px;height:32px}
@media(max-width:760px){.floating-ad{left:auto;right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:322px;max-width:none;padding:0}}
@media(max-width:345px){.floating-ad{display:none!important}}
/* Preserve the advertiser's 300x250 banner and 1x1 beacon at native size. */
.offer-esim{grid-template-columns:minmax(0,1fr) 300px;gap:20px;padding:18px}
.offer-esim-banner,.offer-esim-banner .provider-ad,.offer-esim-banner .provider-ad a{width:300px;max-width:none}
.offer-esim-banner .provider-ad a{position:relative;padding:0;background:transparent;border:0}
.offer-esim-banner .provider-ad a img[width="300"]{display:block;width:300px;height:250px;max-width:none}
.offer-esim-banner .provider-ad a:hover,.floating-ad .provider-ad a:hover{filter:none;background:transparent}
.offer-esim-banner .provider-ad a::after{content:"TORA eSIMの申込先を開く";position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none}
.offer-esim-banner .provider-ad>img[width="1"][height="1"]{display:block;width:1px!important;height:1px!important;max-width:1px!important;max-height:1px!important}
.offer-esim-banner .small{max-width:300px}
@media(max-width:760px){.offer-esim{grid-template-columns:minmax(0,1fr);padding:12px}.offer-esim-banner{position:relative;left:50%;transform:translateX(-50%);max-width:none}}

/* Article orientation and readable layouts at phone, tablet, and desktop widths. */
nav a{display:inline-flex;align-items:center;min-height:44px}
.article-heading h1{overflow-wrap:anywhere}
.article-facts{margin:22px 0 0;padding:20px 24px;background:#eeeee4;border-top:2px solid var(--ink)}
.article-facts dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0}
.article-facts dt{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.08em}
.article-facts dd{margin:5px 0 0;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
@media(max-width:1050px){
  .article-grid{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:38px}
  .article-grid aside{grid-row:1}
  .sticky{position:static;padding-top:14px}
  .sticky h2,.aside-note{display:none}
  .sticky>a{display:inline-flex;align-items:center;min-height:44px;margin:0 10px 8px 0;padding:8px 12px;border:1px solid var(--line);font-size:12px}
  .article-facts dl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .article-facts dl>div:last-child:nth-child(odd){grid-column:1/-1}
}
@media(max-width:760px){
  .article-facts{padding:17px 18px}
  .article-facts dl{grid-template-columns:minmax(0,1fr);gap:14px}
  .article-facts dl>div:last-child:nth-child(odd){grid-column:auto}
  .article-facts dl>div+div{padding-top:12px;border-top:1px solid #d2d7ca}
  .article-grid{margin-top:28px}
}
@media(max-width:359px){
  .offer-esim-banner{left:auto;transform:none;width:100%;max-width:100%;overflow-x:auto}
}
