
:root{--navy:#07182f;--teal:#008d96;--line:#dbe2e8;--muted:#758597;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:22px}body{margin:0;background:#fff;color:var(--navy);font-family:var(--serif);line-height:1.75}a{color:inherit;text-decoration:none}a:hover{color:var(--teal)}a:focus-visible,button:focus-visible,video:focus-visible{outline:3px solid var(--teal);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;line-height:1.5}h2{font-size:clamp(24px,2.75vw,34px)}.wrap{width:min(1120px,90%);margin-inline:auto}.header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5%,calc((100% - 1120px)/2));border-bottom:1px solid #e6ebef;gap:25px}.brand{font-family:Georgia,"Times New Roman",serif;letter-spacing:.09em;font-size:38px;font-weight:600;line-height:1}.header nav{display:flex;gap:34px;align-items:stretch;height:100%;font-family:var(--sans);font-size:14px;white-space:nowrap}.header nav a{display:flex;align-items:center;border-bottom:3px solid transparent;padding-top:3px}.header nav a[aria-current]{border-bottom-color:var(--teal);color:var(--teal)}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;background:linear-gradient(110deg,#0097a1,#00868b);color:#fff;padding:12px 30px;border-radius:6px;font-size:17px;line-height:1.5}.button:hover{color:#fff;background:#006e78}.button span{font-family:var(--sans)}.reference-art{display:block;width:100%;height:auto;overflow:hidden}.home-hero{position:relative;min-height:470px;display:flex;align-items:center;background:#fbfcfc;isolation:isolate;overflow:hidden}.home-hero-art{position:absolute;width:54%;right:0;top:0;height:100%;z-index:-1}.home-hero-art svg{width:100%;height:100%}.hero-copy{padding:65px max(5%,calc((100% - 1120px)/2));width:100%}.hero-copy h1{font-size:clamp(32px,4.6vw,58px);line-height:1.35;letter-spacing:.035em}.hero-copy p{font-size:17px;margin:23px 0}.hero-copy .button{font-family:var(--sans);font-size:15px}.section-label{display:flex;align-items:center;justify-content:center;gap:30px;color:var(--muted);font-size:14px;margin-bottom:12px}.section-label:before,.section-label:after{content:"";width:55px;height:1px;background:#aebdca}.business{text-align:center;padding:28px 0 10px}.business-grid{display:grid;grid-template-columns:1fr 1fr;max-width:820px;margin:35px auto 25px}.business-grid>div+div{border-left:1px solid var(--line)}.icon{width:58px;height:58px;color:#0097a1;display:block;margin:0 auto 8px}.business h3{font-size:25px}.business p:not(.section-label){font-size:20px}.products{text-align:center}.products h2{margin-bottom:24px;font-size:clamp(23px,2.6vw,32px)}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.product{position:relative;overflow:hidden;border-radius:5px;text-align:left;min-height:310px;isolation:isolate;background:#f1efea}.product-taxi{background:#e9f1f5}.product-art{position:absolute;inset:0 0 0 auto;width:53%;z-index:-1}.product-art svg{width:100%;height:100%;object-fit:cover}.product-copy{position:relative;padding:28px 24px}.product h3{font-size:34px;margin:13px 0 2px;line-height:1.2}.product-taxi h3{font-size:29px}.product p{font-size:15px}.badge{font-family:var(--sans);font-size:13px;font-weight:400;color:#fff;background:var(--teal);padding:4px 12px;border-radius:7px;display:inline-block;vertical-align:middle}.badge.muted{background:#dce5ec;color:#34495e}.badge.pale{background:#e0f0f0;color:#007c86}.product small,.related small{position:absolute;bottom:12px;left:24px;font-size:11px;color:#637687}.related{margin-top:18px;position:relative;min-height:155px;background:#f7f7f6;border-radius:4px;overflow:hidden;display:flex;align-items:center;text-align:left}.related>svg{position:absolute;right:0;top:0;width:39%;height:100%;object-fit:cover}.related-copy{display:flex;align-items:center;gap:25px;position:relative;z-index:1;padding:20px 26px 35px;width:70%;background:linear-gradient(90deg,#f7f7f6 90%,transparent)}.related-copy>div{padding-right:25px;border-right:1px solid #aab7c5;flex-shrink:0}.related-copy span{font-size:12px;font-family:var(--sans)}.related h3{font-size:26px}.related p{font-size:16px}.home-company{text-align:center;padding:28px 0 15px}.home-company h2{font-size:34px;margin:10px 0}.home-company p{font-size:17px}.home-company .button{margin-top:12px;font-size:14px;min-width:210px;padding:10px}.footer{width:min(1120px,90%);margin:auto;border-top:1px solid var(--line);padding:22px 8px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer .brand{font-size:28px}.footer>div{font-size:12px}.divider{margin:0 12px;color:#b1bdc8}.breadcrumbs{display:flex;align-items:center;gap:12px;font-family:var(--sans);font-size:12px;color:#52677f;position:relative;z-index:1}.app-hero{position:relative;min-height:650px;isolation:isolate;background:linear-gradient(150deg,#fff 35%,#e6f2f6);overflow:hidden}.app-hero-art{position:absolute;inset:0 0 0 auto;width:57%;z-index:-1}.app-hero-art svg{height:100%;width:100%}.app-hero-copy{padding:14px 5% 65px;max-width:1280px;margin:auto}.app-hero .breadcrumbs{margin-bottom:42px}.tag{background:#dceef3;border-radius:8px;padding:5px 14px;font-size:15px}.app-title{font-size:42px;font-weight:600;letter-spacing:.09em;line-height:1.5;margin-top:10px}.app-english{font-size:17px;line-height:1.4}.app-hero h1{font-size:clamp(40px,5.4vw,66px);line-height:1.25;margin:28px 0 23px;letter-spacing:.04em}.app-lead{font-size:19px;line-height:1.7;margin-bottom:27px}.app-hero .button,.store-field .button{border-radius:20px;padding:13px 36px;font-size:20px}.image-note{position:absolute;bottom:14px;right:3%;color:#52677f;font-size:11px}.features{text-align:center;padding:32px 0}.features h2{font-size:clamp(25px,3.5vw,39px)}.short-rule{width:52px;height:3px;background:var(--teal);margin:18px auto 28px}.features-grid{display:grid;grid-template-columns:repeat(3,1fr)}.features-grid>div{padding:0 16px}.features-grid>div+div{border-left:2px solid var(--line)}.features h3{font-size:29px}.features p{font-size:20px}.collection{display:grid;grid-template-columns:56% 44%;align-items:center;background:#fcfdfd}.collection>div{padding:30px 10%}.collection h2{font-size:clamp(27px,3.5vw,42px);line-height:1.4;margin-bottom:22px}.collection p{font-size:18px}.tags{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0}.tags li{font-size:13px;padding:4px 17px;background:#e0f0f5;border-radius:30px;white-space:nowrap}.privacy-banner{position:relative;isolation:isolate;overflow:hidden;background:#edf7fb;min-height:210px;display:flex;align-items:center}.privacy-banner>div{padding:28px 6%;position:relative;z-index:1;width:100%;background:linear-gradient(90deg,#edf7fb 37%,#edf7fbd0 56%,transparent 75%)}.privacy-banner h2{font-size:clamp(26px,3.7vw,42px);margin-bottom:10px}.privacy-banner p{font-size:19px}.privacy-banner>svg{position:absolute;right:0;width:51%;height:100%;z-index:-1}.download{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px;padding:45px 0}.video-field{text-align:center}.video-frame{position:relative;max-width:300px;margin:auto;border-radius:7px;overflow:hidden;background:#f7f8f8}.video-frame video{width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;display:block}.play-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:0;border-radius:7px;background:#fffef5ed;color:var(--navy);padding:20px;width:165px;cursor:pointer;display:grid;justify-items:center;gap:13px;font:14px var(--sans);box-shadow:0 4px 25px #10294020}.play-button span{border-radius:50%;display:grid;place-items:center;width:54px;height:54px;background:var(--teal);color:#fff;font-size:20px}.play-button[hidden]{display:none}.video-caption{font-size:12px;color:#65768a;margin-top:12px}#play-status{font-size:13px}.store-field{text-align:center}.store-field h2{font-size:clamp(27px,3.3vw,40px);margin-bottom:22px}.company-main{max-width:1100px}.company-main .breadcrumbs{margin-top:22px}.company-main h1{font-size:clamp(44px,6.8vw,72px);line-height:1.3;letter-spacing:.06em;margin-top:52px}.company-english{font-family:Georgia,serif;letter-spacing:.2em;color:#00818b;font-size:20px}.company-intro{margin-top:36px}.company-intro h2{font-size:clamp(29px,4vw,46px);margin-bottom:22px}.company-intro p{font-family:var(--sans);font-size:20px;line-height:1.85}.company-table{font-family:var(--sans);margin:40px 0 20px;font-size:20px}.company-table>div{border-top:1px solid var(--line);padding:20px 0;display:grid;grid-template-columns:24% 1fr;gap:0}.company-table>div:last-child{border-bottom:1px solid var(--line)}.company-table dt{font-weight:600;color:#3a4a5e}.company-table dd{margin:0;overflow-wrap:anywhere}.company-product{font-size:24px;font-weight:500}.company-product .badge{font-size:15px;margin-left:10px}.company-table dd p{font-size:18px;margin:3px 0 24px}.company-table dd p:last-child{margin-bottom:0}.contact{text-align:center;background:#faf9f7;padding:32px 20px}.contact h2{font-size:38px;margin-bottom:12px}.contact .button{font-family:var(--sans);font-size:19px}.skip{position:absolute;top:-100px;background:white;padding:10px;z-index:10}.skip:focus{top:0}
@media(min-width:1350px){.home-hero-art{right:calc((100% - 1280px)/2);width:660px}.app-hero-art{right:calc((100% - 1280px)/2);width:720px}}
@media(max-width:900px){.header{height:82px}.header nav{gap:20px;font-size:12px}.brand{font-size:31px}.home-hero{min-height:400px}.hero-copy{padding-block:45px}.hero-copy p{font-size:14px}.product{min-height:270px}.product-copy{padding:22px 18px}.product h3{font-size:27px}.product-taxi h3{font-size:25px}.product p{font-size:12px}.related-copy{gap:12px;padding-left:20px;width:75%}.related-copy>div{padding-right:12px}.related h3{font-size:22px}.related p{font-size:13px}.app-hero{min-height:570px}.app-title{font-size:34px}.app-lead{font-size:16px}.app-hero h1{font-size:45px}.app-hero .button{font-size:17px;padding:12px 25px}.features p{font-size:16px}.collection>div{padding:22px}.collection p{font-size:15px}.tags li{padding:3px 12px}.company-intro p,.company-table{font-size:17px}.company-table dd p{font-size:16px}}
@media(max-width:600px){.header{height:auto;min-height:105px;padding:20px 5% 0;flex-wrap:wrap;gap:12px}.header nav{width:100%;height:45px;justify-content:space-between;gap:8px;font-size:12px}.header nav a{padding:0 0 8px}.brand{font-size:32px}.home-hero{display:block;min-height:0}.hero-copy{padding:32px 6% 18px}.hero-copy h1{font-size:clamp(28px,7.8vw,42px)}.hero-copy p{font-size:14px;line-height:1.9}.desktop{display:none}.home-hero-art{position:relative;width:100%;height:auto;z-index:0;float:none;order:2}.home-hero{display:flex;flex-direction:column}.hero-copy{order:1}.home-hero-art svg{height:auto}.button{font-size:16px;padding:12px 23px}.business{padding-top:30px}.business h2,.products h2{font-size:23px}.business-grid{margin:25px 0}.business-grid h3{font-size:19px}.business p:not(.section-label){font-size:15px}.icon{width:46px;height:46px}.section-label{font-size:12px;gap:12px}.section-label:before,.section-label:after{width:25px}.product-grid{grid-template-columns:1fr;gap:16px}.product{min-height:270px}.product h3{font-size:30px}.product p{font-size:14px}.product-copy{padding:26px 20px}.product-taxi h3{font-size:28px}.related{display:block;padding-bottom:160px}.related-copy{width:100%;background:#f7f7f6;padding:22px 20px;gap:16px;flex-wrap:wrap}.related-copy>div{border:none;padding:0}.related p{font-size:14px}.related>svg{top:auto;bottom:0;width:100%;height:160px}.related small{bottom:8px;left:12px;background:#ffffffc9;padding:1px 6px}.home-company{padding:30px 0}.home-company h2{font-size:30px}.home-company p{font-size:15px}.footer{padding:22px 0;gap:20px;flex-wrap:wrap}.footer .brand{font-size:27px}.footer>div{font-size:11px}.divider{margin:0 6px}.app-hero{display:flex;flex-direction:column;min-height:0;background:linear-gradient(#fff,#edf6fb)}.app-hero-copy{width:100%;padding:16px 6% 24px}.app-hero .breadcrumbs{font-size:10px;gap:8px;margin-bottom:27px}.app-title{font-size:35px}.app-hero h1{font-size:46px;margin:24px 0 20px}.app-lead{font-size:15px}.app-hero-art{position:relative;inset:auto;width:100%;order:2;z-index:0}.app-hero-art svg{height:auto;max-height:550px}.image-note{z-index:2;bottom:8px}.features{padding:30px 0}.features h2{font-size:25px}.features-grid{grid-template-columns:1fr;gap:22px}.features-grid>div{padding:8px 0 20px}.features-grid>div+div{border-left:none;border-top:1px solid var(--line);padding-top:24px}.features h3{font-size:26px}.features p{font-size:18px}.collection{grid-template-columns:1fr}.collection>div{padding:30px 6%}.collection h2{font-size:30px}.collection p{font-size:16px}.privacy-banner{min-height:230px;align-items:start}.privacy-banner>div{padding:30px 6%;background:linear-gradient(90deg,#edf7fbdd,#edf7fb88)}.privacy-banner>svg{width:100%;height:100%;opacity:.55}.privacy-banner h2{font-size:28px}.privacy-banner p{font-size:16px}.download{grid-template-columns:1fr;gap:28px;padding:32px 0}.video-frame{max-width:280px}.store-field{padding:0 0 15px}.store-field h2{font-size:29px}.store-field .button{font-size:18px}.company-main h1{margin-top:35px;font-size:46px}.company-english{font-size:16px}.company-intro{margin-top:28px}.company-intro h2{font-size:29px}.company-intro p{font-size:16px}.company-table{font-size:15px;margin-top:28px}.company-table>div{grid-template-columns:1fr;gap:8px;padding:18px 0}.company-table dt{font-size:14px}.company-table dd p{font-size:15px}.company-product{font-size:21px}.company-product .badge{font-size:13px}.contact h2{font-size:30px}.contact .button{font-size:16px}.contact{padding:30px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(min-width:601px){.home-hero{min-height:clamp(365px,39vw,470px)}.hero-copy{padding-top:45px;padding-bottom:45px}.header{height:88px}.home-hero-art{width:52%}.home-hero-art:after{content:"";position:absolute;inset:0 auto 0 0;width:50px;background:linear-gradient(90deg,#fbfcfc,transparent)}}

.related small{z-index:2}

@media(max-width:600px){.app-hero h1{font-size:clamp(33px,9vw,46px)}.app-lead br{display:none}}

/* Desktop density adjustment requested after Chrome review. */
@media(min-width:901px){
 body{max-width:1080px;margin-inline:auto}
 .header{height:72px;padding-inline:5%}.brand{font-size:31px}.header nav{font-size:13px;gap:28px}
 .home-hero{min-height:340px}.hero-copy{padding-block:35px}.hero-copy h1{font-size:42px}.hero-copy p{font-size:15px;margin:18px 0}.hero-copy .button{font-size:14px;padding:11px 24px}
 .home-hero-art{right:0;width:52%}
 .business{padding-top:24px}.business h2,.products h2{font-size:27px}.business-grid{margin:24px auto 20px}.business h3{font-size:22px}.business p:not(.section-label){font-size:17px}.icon{width:48px;height:48px}
 .section-label{font-size:12px}.product{min-height:260px}.product h3{font-size:29px}.product-taxi h3{font-size:27px}.product p{font-size:13px}.product-copy{padding:23px 20px}.related{min-height:135px}.related h3{font-size:23px}.related p{font-size:14px}.related-copy{padding:18px 22px 30px;gap:18px}.related-copy>div{padding-right:18px}
 .home-company{padding-top:23px}.home-company h2{font-size:29px}.home-company p{font-size:15px}.footer{padding-block:18px}.footer .brand{font-size:25px}
 .app-hero{min-height:540px}.app-hero-copy{padding:12px 5% 30px}.app-hero .breadcrumbs{margin-bottom:27px}.tag{font-size:13px}.app-title{font-size:34px;margin-top:8px}.app-english{font-size:15px}.app-hero h1{font-size:48px;margin:22px 0 18px}.app-lead{font-size:16px;margin-bottom:22px}.app-hero .button,.store-field .button{font-size:17px;padding:11px 28px;border-radius:16px}
 .app-hero-art{right:0;width:46%;display:flex;align-items:center}.app-hero-art svg{height:auto;width:100%}
 .features{padding:26px 0}.features h2{font-size:31px}.short-rule{margin:14px auto 22px}.features h3{font-size:24px}.features p{font-size:17px}
 .collection>div{padding:24px 8%}.collection h2{font-size:31px;margin-bottom:18px}.collection p{font-size:16px}.tags{margin-top:17px}.tags li{font-size:12px;padding:3px 13px}
 .privacy-banner{min-height:170px}.privacy-banner>div{padding:23px 6%}.privacy-banner h2{font-size:32px}.privacy-banner p{font-size:16px}
 .download{padding:32px 0;gap:45px}.video-frame{max-width:240px}.store-field h2{font-size:31px}
 .company-main h1{font-size:56px;margin-top:37px}.company-english{font-size:17px}.company-intro{margin-top:28px}.company-intro h2{font-size:35px;margin-bottom:18px}.company-intro p{font-size:17px}.company-table{font-size:17px;margin-top:30px}.company-table>div{padding:15px 0}.company-product{font-size:21px}.company-table dd p{font-size:16px;margin-bottom:18px}.company-product .badge{font-size:13px}.contact{padding:25px 20px}.contact h2{font-size:31px}.contact .button{font-size:16px}
}

/* Official artwork: retain native proportions and full marks. */
.brand{display:inline-flex;align-items:center}.paam-logo{display:block;width:120px;height:auto;object-fit:contain}.footer .paam-logo{width:95px}.taxi-logo{display:block;width:220px;max-width:100%;height:auto;object-fit:contain}.product-taxi h3{margin:17px 0 12px;max-width:60%}.company-product .taxi-logo{display:inline-block;vertical-align:middle;width:240px}.company-product{max-width:100%}
@media(max-width:600px){.header .paam-logo{width:110px}.footer .paam-logo{width:90px}.product-taxi h3{max-width:72%}.company-product .taxi-logo{width:210px;max-width:100%}}

.omoide-name{display:flex;align-items:center;gap:10px}.omoide-logo{width:46px;height:auto;object-fit:contain;flex-shrink:0;border-radius:8px}.app-title .omoide-logo{width:58px}.company-product .omoide-logo{display:inline-block;width:38px;vertical-align:middle;margin-right:5px}.product-omoide .omoide-name{font-size:27px;white-space:nowrap}@media(max-width:600px){.product-omoide .omoide-name{font-size:25px;gap:8px}.omoide-logo{width:40px}.app-title .omoide-logo{width:52px}}

.home-hero-art .hero-products-image{display:block;width:100%;height:100%;object-fit:contain}@media(max-width:600px){.home-hero-art .hero-products-image{height:auto}}

.product-art .calendar-card-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

/* Large, accessible video overlay; keep the original page position. */
.video-poster{display:block;width:100%;height:auto}
body.video-is-open{position:fixed;left:0;right:0;overflow:hidden}
.video-dialog{position:fixed;inset:0;margin:auto;width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100dvh;padding:12px;padding: max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));border:0;background:#10151bf5;color:white;box-sizing:border-box}
.video-dialog[open]{display:flex;flex-direction:column;align-items:center;gap:8px}
.video-dialog::backdrop{background:#000c}
.video-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;flex-shrink:0;font-family:var(--sans)}
.video-dialog-header h2{font-size:16px}
#close-video{min-height:44px;padding:8px 18px;border:1px solid #ffffff80;border-radius:6px;background:#fff;color:#07182f;font:16px var(--sans);cursor:pointer}
.video-dialog video{display:block;flex:1;min-height:0;width:100%;height:0;object-fit:contain;background:#000}
.video-dialog #play-status{flex-shrink:0;font-family:var(--sans);text-align:center}
.video-dialog #play-status:empty{display:none}

.company-businesses{list-style:none;margin:0;padding:0}.company-businesses li+li{margin-top:20px}.company-businesses strong{font-weight:600}.company-table .company-businesses p{margin:6px 0 0}.company-map{display:inline-block;color:var(--teal);font-size:14px;text-decoration:underline;margin-top:8px}.company-mission{padding:28px 0 38px}.company-mission h2{font-size:25px;margin-bottom:14px}.company-mission h3{font-size:22px;margin-bottom:14px}.company-mission p{font-size:17px;line-height:1.9}@media(max-width:600px){.company-mission h3{font-size:20px}.company-mission p{font-size:16px}}
