/*
Theme Name: TMO Tokyo
Author: TMO Tokyo
Description: ティーエムオー東京 コーポレートテーマ
Version: 1.26.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: tmo-tokyo
*/
@charset "UTF-8";
:root{--ink:#06386b;--paper:#f7fbff;--lime:#8fe5ff;--muted:#536e87;--line:#cfdfed;--dark:#043f80}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #0874d3;outline-offset:6px}.skip{position:fixed;top:-100px;background:var(--lime);padding:15px;z-index:100}.skip:focus{top:0}.wrap{max-width:1440px;padding:0 6%;margin:auto}.header{height:96px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--paper);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:16px}.brand-name{font-size:12px;font-weight:bold;line-height:1.7}.nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:bold}.nav .contact-link{background:var(--ink);color:white;padding:17px 23px}.arrow{margin-left:20px}.menu-button{display:none}.hero{background:var(--dark);color:white;position:relative;min-height:670px;isolation:isolate;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#043f80 6%,#043f80ee 31%,#043f8070 65%,#043f8012);z-index:-1}.hero-top{display:flex;justify-content:space-between;padding-top:38px;font-family:Arial,sans-serif;font-size:12px;letter-spacing:2px;color:#d8ecff}.dot{display:inline-block;width:7px;height:7px;background:var(--lime);border-radius:50%;margin-right:10px}.hero h1{font-size:clamp(45px,5.3vw,79px);line-height:1.45;letter-spacing:.04em;margin:63px 0 23px;font-weight:800}.hero h1 span{color:var(--lime)}.hero-copy{font-size:16px;line-height:2.1;max-width:490px;color:#e5f4ff}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:55px;background:var(--lime);color:var(--ink);padding:20px 26px;min-width:238px;font-size:14px;font-weight:bold;transition:background .2s,transform .2s}.button:hover{background:#b7efff;transform:translateY(-2px)}.hero .button{margin-top:22px}.hero-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:48px;padding-bottom:30px;font:12px Arial,sans-serif;letter-spacing:2px}.hero-location{text-align:right;line-height:1.8;color:#d9efff}.factbar{background:var(--lime);display:grid;grid-template-columns:1.2fr 1fr 1fr;padding:27px 6%;gap:28px}.factbar>div{border-right:1px solid #8fcce4;display:flex;gap:20px;align-items:center}.factbar>div:last-child{border:0}.factbar small{font-size:12px}.factbar strong{font-size:16px}.section{padding-top:106px;padding-bottom:106px}.eyebrow{font-family:Arial,sans-serif;font-size:12px;font-weight:bold;letter-spacing:2px;display:flex;gap:15px;align-items:center}.eyebrow:before{content:"";width:20px;height:2px;background:currentColor}.intro{display:grid;grid-template-columns:1fr 1.12fr;gap:70px}.intro h2,.section-title{font-size:clamp(30px,3vw,43px);line-height:1.6;letter-spacing:.035em;font-weight:800}.intro h2{margin:28px 0 0}.intro-copy{padding-top:31px}.intro-copy p{font-size:16px;line-height:2.3;margin:0 0 20px}.text-link{display:inline-block;font-size:14px;font-weight:bold;border-bottom:1px solid var(--ink);padding:10px 0}.services{background:#eaf5ff}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:38px}.section-title{margin:20px 0 0}.section-head p{font-size:14px;line-height:1.9;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #bfd9ed;border-bottom:1px solid #bfd9ed}.service{padding:32px 30px 38px 0;position:relative}.service+.service{padding-left:30px;border-left:1px solid #bfd9ed}.number{font:14px Arial,sans-serif;color:var(--muted)}.process-mark{height:100px;display:flex;align-items:center;gap:9px;margin:10px 0 25px;color:#1471bd}.process-mark span{display:block;border:1px solid currentColor;width:32px;height:32px;border-radius:50%;background:#c0e8ff}.process-mark.grains{flex-wrap:wrap;max-width:160px;align-content:center}.process-mark.grains span:nth-child(2n){width:23px;height:23px}.process-mark.dry{flex-direction:column;justify-content:center;align-items:start;gap:12px}.process-mark.dry span{width:135px;height:1px;border-radius:0;transform:skewY(-8deg)}.process-mark.solid span{border-radius:0;width:77px;height:65px;background:#7dc8f3;box-shadow:10px -10px 0 #d5efff}.service h3{font-size:25px;margin:10px 0}.service .english{font:12px Arial,sans-serif;letter-spacing:1px;color:var(--muted)}.service p{font-size:14px;line-height:2;margin-top:23px}.service .tag{display:inline-block;font-size:12px;padding:6px 10px;border:1px solid #bfd9ed}.facility{display:grid;grid-template-columns:1.1fr 1fr;background:var(--dark);color:white}.facility-image{min-height:510px;position:relative;overflow:hidden}.facility-image img{position:absolute;width:205%;max-width:none;left:-4%;bottom:0;filter:saturate(.55)}.facility-copy{padding:75px 13% 60px 10%}.facility-copy h2{font-size:32px;line-height:1.7}.facility-copy p{font-size:15px;line-height:2.1;color:#d1e8fa}.facility-copy .eyebrow{color:var(--lime)}.company-layout{display:grid;grid-template-columns:.8fr 1.5fr;gap:80px}.company-table{margin:0}.company-table>div{display:grid;grid-template-columns:115px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:20px 0;font-size:14px;line-height:1.9}.company-table>div:first-child{border-top:1px solid var(--line)}dt{color:var(--muted)}dd{margin:0}.access{background:#eaf5ff;display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:65px;padding-bottom:65px}.access h2{font-size:31px;line-height:1.7}.access p{font-size:14px;line-height:2}.access-info{border-left:1px solid #b9d7ed;padding-left:50px;align-self:center}.contact{background:var(--lime);padding-top:65px;padding-bottom:65px;display:flex;justify-content:space-between;align-items:center;gap:40px}.contact h2{font-size:35px;margin:20px 0 12px}.contact p{font-size:14px;line-height:1.9}.contact small{display:block;font-size:12px;margin:14px 0}.footer{background:var(--dark);color:white;padding-top:45px;padding-bottom:25px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer .brand-name{font-size:14px}.footer a{font-size:13px}.footer-bottom{border-top:1px solid #35698f;margin-top:35px;padding-top:20px;color:#b3cde5;display:flex;justify-content:space-between;font-size:12px}.generic{min-height:55vh;padding:70px 6%}.generic h1{font-size:36px}.generic p{line-height:2}.admin-bar .header{top:32px}
@media(max-width:1000px){.nav{gap:18px}.brand-name{display:none}.hero h1{font-size:57px}.factbar>div{display:block}.factbar small{display:block;margin-bottom:8px}.intro,.company-layout{gap:40px}.facility-copy{padding:45px 9%}.facility-image img{width:270%}.access{gap:30px}.contact{gap:25px}}@media(max-width:700px){html{scroll-padding-top:30px}.wrap{padding-left:6%;padding-right:6%}.header{height:80px}.brand-name{display:block;font-size:10px}.menu-button{display:block;border:1px solid var(--line);padding:10px 12px;background:transparent;font-size:12px}.nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:25px 6%;box-shadow:0 10px 20px #0002;align-items:stretch}.nav.open{display:flex;flex-direction:column}.nav a{padding:10px}.hero{min-height:650px}.hero-top{font-size:10px;letter-spacing:1px;padding-top:25px}.hero-top>span:last-child{display:none}.hero:after{background:linear-gradient(90deg,#043f80ee,#043f8066)}.hero h1{font-size:43px;margin-top:58px;line-height:1.5}.hero-copy{font-size:14px;line-height:2}.hero-bottom{margin-top:46px;font-size:10px}.hero-location{font-size:10px;letter-spacing:1px}.factbar{grid-template-columns:1fr;gap:14px;padding:24px 6%}.factbar>div{display:flex;border:0;align-items:center;gap:0}.factbar small{min-width:100px;margin:0}.factbar strong{font-size:14px}.section{padding-top:65px;padding-bottom:65px}.intro,.company-layout{grid-template-columns:1fr;gap:26px}.intro h2,.section-title{font-size:30px}.intro-copy{padding-top:0}.intro-copy p{font-size:15px}.section-head{display:block;margin-bottom:25px}.service-grid{grid-template-columns:1fr}.service,.service+.service{padding:27px 0;border-left:0;border-bottom:1px solid #bfd9ed}.service:last-child{border-bottom:0}.process-mark{float:right;width:130px;height:75px;margin:10px 0}.service p{clear:both;padding-top:10px}.facility{grid-template-columns:1fr}.facility-image{min-height:310px}.facility-image img{width:210%}.facility-copy{padding:45px 6%}.facility-copy h2{font-size:28px}.company-table>div{grid-template-columns:85px 1fr;gap:14px;font-size:13px;padding:17px 0}.access{grid-template-columns:1fr;gap:15px}.access-info{padding:0;border-left:0}.access h2{font-size:28px}.contact{display:block;padding-top:45px;padding-bottom:45px}.contact h2{font-size:29px}.footer-top{align-items:start;flex-direction:column}.footer-bottom{font-size:10px;gap:20px;line-height:1.8}.footer .brand-name{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.policy{font-size:14px;line-height:2}.policy>p:first-child{margin-top:0}.policy section{border-top:1px solid var(--line);padding:26px 0 18px}.policy h3{font-size:17px;line-height:1.6;margin:0 0 10px}.policy p{margin:0 0 10px}.policy ul{margin:0 0 10px;padding-left:1.4em}.policy li+li{margin-top:4px}.policy dl{margin:0}.policy dl>div{display:grid;grid-template-columns:90px 1fr;gap:16px;padding:6px 0}.policy a{text-decoration:underline;text-underline-offset:3px}.policy .policy-date{border-top:1px solid var(--line);padding-top:20px;color:var(--muted);text-align:right}.contact-form .privacy-link{font-size:13px;line-height:1.8;margin:6px 0 4px}.contact-form .recaptcha-text{font-size:12px;line-height:1.8;color:var(--muted);margin:4px 0 0}.contact-form .recaptcha-text a{text-decoration:underline;text-underline-offset:3px}.contact-form .privacy-link a{text-decoration:underline;text-underline-offset:3px}@media(max-width:700px){.policy{font-size:13px}.policy dl>div{grid-template-columns:1fr;gap:0}.policy h3{font-size:16px}}
.cf7-host label>.wpcf7-form-control-wrap{font-size:16px;font-weight:400;color:inherit;margin-left:0}
.footer-nav{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:32px;font-size:13px;font-weight:bold}.footer-nav a{color:#d9e9f7;transition:color .2s}.footer-nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}@media(max-width:700px){.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin-top:26px}}
.company-hero h1:after{content:attr(data-en)}
