/*
Theme Name: 横浜買取ゲッコーズ SEO/AIO最適化版
Theme URI: https://yokohama-geckos.jp/
Author: 横浜買取ゲッコーズ
Description: 横浜買取ゲッコーズ専用のレトロフューチャーUIテーマ。ブログ、買取実績、キャンペーン、買取品目を管理画面から更新できます。
Version: 1.1.4
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: yokohama-geckos
*/
:root { --ink:#061532; --navy:#071a3d; --cyan:#36e9ff; --pink:#ff4fa9; --lime:#9dea32; --yellow:#ffd952; --paper:#f5f1e7; --white:#fffdf8; --green:#079c73; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif; }
a { color:inherit; text-decoration:none; } p { line-height:1.9; } button,input,select,textarea { font:inherit; }
.site-header { height:76px; padding:0 clamp(20px,5vw,72px); display:flex; align-items:center; gap:36px; background:rgba(4,18,43,.97); color:white; position:relative; z-index:20; border-bottom:1px solid rgba(54,233,255,.28); }
.brand { display:flex; align-items:center; gap:12px; margin-right:auto; }.brand-mark { width:42px; height:42px; border-radius:50%; display:grid; place-items:center; font:900 22px/1 sans-serif; color:var(--ink); background:var(--lime); box-shadow:0 0 0 3px var(--ink),0 0 0 5px var(--cyan); flex:0 0 auto; }.brand b,.brand small { display:block; letter-spacing:.04em; }.brand small { color:#9ac3d3; font-size:10px; margin-top:2px; }nav { display:flex; gap:24px; font-size:12px; font-weight:700; }nav a:hover { color:var(--cyan); }.header-cta { background:var(--yellow); color:var(--ink); padding:12px 20px; border-radius:999px; font-size:13px; font-weight:900; }
.hero { position:relative; min-height:670px; display:flex; align-items:center; overflow:hidden; background:var(--navy); }.hero-image { object-fit:cover; object-position:center; }.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,13,37,.97) 0%,rgba(3,13,37,.85) 34%,rgba(3,13,37,.18) 68%,rgba(3,13,37,.12)); }.hero-content { position:relative; z-index:2; width:min(1260px,90vw); margin:0 auto; color:white; padding:76px 0 86px; }.eyebrow,.section-kicker { color:var(--cyan); letter-spacing:.22em; font-size:11px; font-weight:900; }.section-kicker { color:var(--green); margin-bottom:15px; }.hero h1 { font-size:clamp(45px,6vw,82px); line-height:1.08; letter-spacing:-.04em; margin:18px 0 24px; text-shadow:0 4px 22px rgba(0,0,0,.4); }.hero h1 em { font-style:normal; background:linear-gradient(transparent 68%,rgba(255,79,169,.72) 0); }.hero-lead { font-size:clamp(17px,2vw,22px); line-height:1.8; font-weight:600; letter-spacing:.04em; }.hero-actions { display:flex; gap:12px; margin-top:32px; flex-wrap:wrap; }.button { min-height:54px; padding:0 24px; border-radius:9px; display:inline-flex; align-items:center; justify-content:center; font-weight:900; font-size:15px; transition:.2s ease; }.button:hover { transform:translateY(-2px); }.button-line { background:#23c96b; color:#062716; box-shadow:0 8px 26px rgba(35,201,107,.24); }.button-line span { font-size:11px; background:white; padding:4px 7px; border-radius:4px; margin-right:9px; }.button-ghost { border:1px solid rgba(255,255,255,.55); background:rgba(4,18,43,.54); color:white; backdrop-filter:blur(8px); }.microcopy { font-size:12px; color:#c6dbe4; margin:14px 0 0; }
.trust-strip { margin:-25px auto 0; width:min(1120px,calc(100% - 40px)); position:relative; z-index:5; display:grid; grid-template-columns:repeat(4,1fr); background:white; border-radius:14px; box-shadow:0 18px 50px rgba(7,26,61,.16); overflow:hidden; }.trust-strip div { min-height:105px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-right:1px solid #e6e4df; }.trust-strip div:last-child { border-right:0; }.trust-strip strong { font-size:28px; color:var(--green); }.trust-strip span { font-size:12px; font-weight:700; margin-top:5px; }
.section-pad { padding:110px max(5vw,20px); }.section-pad>*,.section-heading { max-width:1180px; margin-left:auto; margin-right:auto; }h2 { font-size:clamp(32px,4.2vw,57px); line-height:1.25; letter-spacing:-.045em; margin:0 0 28px; }h3 { font-size:25px; letter-spacing:-.03em; }.intro { text-align:center; position:relative; }.intro>p { max-width:790px; margin:0 auto; color:#485468; font-size:16px; }.speech { display:inline-flex; flex-direction:column; margin-top:44px; background:white; border:2px solid var(--ink); border-radius:999px; padding:17px 34px; font-weight:900; position:relative; box-shadow:8px 8px 0 var(--lime); }.speech:after { content:""; position:absolute; left:34px; bottom:-12px; width:18px; height:18px; background:white; border-right:2px solid var(--ink); border-bottom:2px solid var(--ink); transform:rotate(45deg); }.speech small { color:var(--green); margin-top:4px; }
.services { background:#061532; color:white; }.services .section-kicker { color:var(--cyan); }.section-heading { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:44px; }.section-heading h2 { margin:0; }.section-heading>p { max-width:430px; color:#748094; margin:0; font-size:14px; }.services .section-heading>p { color:#a8bac8; }.service-grid { max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.service-card { background:#10284f; border:1px solid rgba(54,233,255,.14); overflow:hidden; border-radius:14px; transition:.25s ease; }.service-card:hover { transform:translateY(-6px); border-color:var(--cyan); }.service-image { position:relative; aspect-ratio:16/10; overflow:hidden; }.service-image img { object-fit:cover; transition:.45s ease; }.service-card:hover img { transform:scale(1.03); }.service-body { padding:27px; position:relative; }.service-body small { color:var(--cyan); font-weight:800; letter-spacing:.1em; font-size:9px; }.service-body h3 { margin:8px 0 13px; }.service-body p { color:#c2d0da; font-size:13px; min-height:96px; }.service-body a { font-size:12px; font-weight:900; color:var(--yellow); }.service-number { position:absolute; right:20px; top:17px; font-size:29px; font-weight:900; color:rgba(255,255,255,.10); }
.reasons { display:grid; grid-template-columns:minmax(320px,1fr) 1fr; gap:clamp(50px,8vw,110px); align-items:center; background:var(--white); }.reason-visual { position:relative; aspect-ratio:1; border-radius:22px; overflow:hidden; box-shadow:18px 18px 0 #d7eee6; }.reason-visual img { object-fit:cover; }.reason-content p { color:#4c596b; }.check-list { list-style:none; padding:0; margin:32px 0 0; }.check-list li { display:grid; grid-template-columns:145px 1fr; gap:14px; padding:17px 0; border-top:1px solid #d9ddd9; }.check-list li:last-child { border-bottom:1px solid #d9ddd9; }.check-list b { color:var(--green); }.check-list span { font-size:13px; color:#667181; }
.flow { background:#ddf2ea; }.center-heading { text-align:center; }.center-heading>p { color:#617068; }.flow-grid { list-style:none; padding:0; margin-top:50px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; counter-reset:step; }.flow-grid li { background:white; padding:34px; border-radius:14px; position:relative; box-shadow:0 8px 30px rgba(7,43,38,.06); }.flow-grid li:not(:last-child):after { content:"→"; position:absolute; right:-24px; top:50%; z-index:2; width:32px; height:32px; border-radius:50%; background:var(--yellow); display:grid; place-items:center; font-weight:900; }.flow-grid span { font-size:42px; font-weight:900; color:#c3e7db; }.flow-grid b { display:block; font-size:20px; margin:12px 0 8px; }.flow-grid p { color:#617068; font-size:13px; margin:0; }
.about { display:grid; grid-template-columns:1.1fr .8fr; gap:clamp(45px,7vw,100px); align-items:center; background:var(--paper); }.hand-note { display:inline-block; color:var(--green); font-weight:900; transform:rotate(-2deg); border-bottom:3px solid var(--lime); }.about-copy>p:not(.hand-note) { color:#4c596b; }.about blockquote { margin:30px 0; padding:20px 0 20px 25px; border-left:4px solid var(--pink); font-size:19px; font-weight:900; line-height:1.8; }.about dl { border-top:1px solid #ccd0c9; }.about dl div { display:grid; grid-template-columns:80px 1fr; gap:20px; padding:13px 0; border-bottom:1px solid #ccd0c9; }.about dt { color:#728075; font-size:12px; }.about dd { margin:0; font-weight:800; }.about dd small { font-weight:400; margin-left:8px; }.about-poster { position:relative; aspect-ratio:1; border-radius:50% 50% 16px 16px; overflow:hidden; box-shadow:0 0 0 10px white,0 20px 60px rgba(7,26,61,.18); }.about-poster img { object-fit:cover; }
.areas { background:var(--navy); color:white; display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:70px; }.areas .section-kicker { color:var(--cyan); }.areas p { color:#afc2d0; }.area-list { display:flex; flex-wrap:wrap; gap:10px; }.area-list b,.area-list span { padding:15px 20px; border-radius:8px; background:#102b55; border:1px solid rgba(54,233,255,.18); }.area-list b { color:var(--yellow); }.area-list small { width:100%; color:#9fb1c0; margin-top:8px; }
.blog { background:var(--white); }.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.blog article { min-height:240px; padding:28px; display:flex; flex-direction:column; background:#f1eee4; border-radius:10px; border-top:5px solid var(--cyan); }.blog article:nth-child(2) { border-color:var(--pink); }.blog article:nth-child(3) { border-color:var(--yellow); }.blog article>span { font-size:10px; color:var(--green); font-weight:900; }.blog h3 { font-size:19px; line-height:1.6; }.blog time { margin-top:auto; color:#879087; font-size:11px; }
.faq { background:var(--paper); }.faq-list { max-width:880px; margin:45px auto 0; }.faq details { background:white; border-radius:9px; margin-bottom:10px; overflow:hidden; }.faq summary { list-style:none; cursor:pointer; padding:22px 26px; font-weight:800; display:flex; align-items:center; gap:16px; }.faq summary::-webkit-details-marker { display:none; }.faq summary:after { content:"＋"; margin-left:auto; color:var(--green); font-size:22px; }.faq details[open] summary:after { content:"−"; }.faq summary span,.faq details div>span { color:var(--green); font-size:19px; font-weight:900; }.faq details div { display:flex; gap:18px; padding:0 26px 24px; color:#536071; }.faq details div p { margin:0; font-size:14px; }
.contact { background:linear-gradient(135deg,#08214a,#061532); color:white; display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(40px,7vw,90px); align-items:start; }.contact .section-kicker { color:var(--cyan); }.contact-intro>p { color:#b7c7d2; }.contact-promise { margin-top:35px; border:1px solid rgba(157,234,50,.35); background:rgba(157,234,50,.09); padding:20px; border-radius:10px; }.contact-promise b,.contact-promise span { display:block; }.contact-promise b { color:var(--lime); }.contact-promise span { color:#b8c9d3; font-size:12px; margin-top:5px; }.contact-form,.form-success { background:white; color:var(--ink); padding:35px; border-radius:16px; }.contact-form label { display:block; font-size:12px; font-weight:800; margin-bottom:17px; }.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea { display:block; width:100%; margin-top:7px; border:1px solid #ccd5d6; border-radius:7px; padding:13px; background:#fbfcf9; color:var(--ink); }.contact-form textarea { resize:vertical; }.consent { display:flex!important; gap:8px; align-items:center; font-weight:500!important; }.consent a { text-decoration:underline; }.submit-button { width:100%; border:0; border-radius:8px; background:var(--yellow); padding:17px; font-weight:900; color:var(--ink); cursor:pointer; }.submit-button span { float:right; }.contact-form>small { display:block; text-align:center; color:#879087; margin-top:10px; }.form-success { min-height:280px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; }.form-success b { font-size:23px; color:var(--green); }.form-success p { color:#63716e; }.form-success button { border:0; background:var(--ink); color:white; padding:10px 20px; border-radius:6px; cursor:pointer; }
footer { background:#020b1b; color:white; text-align:center; padding:60px 20px 95px; }.footer-brand { display:flex; align-items:center; justify-content:center; gap:14px; font-size:19px; }.footer-brand .brand-mark { width:36px; height:36px; font-size:17px; }.footer-brand+p { color:#8297a7; font-size:12px; }.footer div { display:flex; justify-content:center; gap:24px; margin:30px 0; font-size:11px; }.footer div a:hover { color:var(--cyan); }footer>small { color:#526577; font-size:9px; letter-spacing:.13em; }.sticky-cta { display:none; }
@media (max-width:850px) {
  body { padding-bottom:68px; }.site-header { height:66px; padding:0 18px; position:relative; }nav,.header-cta { display:none; }.brand b { font-size:14px; }.hero { min-height:680px; align-items:flex-end; }.hero-image { object-position:59% center; }.hero-shade { background:linear-gradient(0deg,rgba(3,13,37,.98) 6%,rgba(3,13,37,.72) 60%,rgba(3,13,37,.22) 100%); }.hero-content { padding:250px 0 72px; }.hero-actions { display:grid; }.trust-strip { grid-template-columns:repeat(2,1fr); }.trust-strip div { min-height:88px; }.trust-strip div:nth-child(2) { border-right:0; }.trust-strip div:nth-child(-n+2) { border-bottom:1px solid #e6e4df; }
  .section-pad { padding:78px 20px; }.section-heading { display:block; }.section-heading>p { margin-top:20px; }.service-grid,.flow-grid,.blog-grid { grid-template-columns:1fr; }.service-body p { min-height:auto; }.reasons,.about,.areas,.contact { grid-template-columns:1fr; }.reason-visual { order:2; }.flow-grid li:not(:last-child):after { content:"↓"; right:calc(50% - 16px); top:auto; bottom:-23px; }.about-poster { order:-1; }.areas { gap:20px; }.contact-form { padding:24px 18px; }footer div { flex-wrap:wrap; gap:15px 22px; }.sticky-cta { display:block; position:fixed; left:0; right:0; bottom:0; z-index:40; padding:9px 12px; background:rgba(2,11,27,.97); border-top:1px solid rgba(54,233,255,.25); }.sticky-cta a { display:flex; align-items:center; justify-content:center; height:50px; background:var(--yellow); color:var(--ink); font-weight:900; border-radius:7px; }.check-list li { grid-template-columns:1fr; gap:4px; }
}

/* SEO/AIO information architecture */
.home-guides { background:var(--white); }
.guide-grid { max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.guide-grid a { min-height:250px; padding:30px 26px; background:linear-gradient(145deg,#0c315d,#061532); color:white; border:1px solid rgba(54,233,255,.42); border-radius:8px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 12px 30px rgba(6,21,50,.13); }
.guide-grid a:nth-child(2) { border-color:rgba(157,234,50,.48); }.guide-grid a:nth-child(3) { border-color:rgba(255,191,63,.55); }.guide-grid a:nth-child(4) { border-color:rgba(255,79,169,.45); }
.guide-grid span { color:var(--cyan); font:800 9px/1.2 ui-monospace,"SFMono-Regular",monospace; letter-spacing:.15em; }
.guide-grid strong { display:block; margin:18px 0 12px; font-size:24px; }.guide-grid p { color:#bfd0dc; font-size:13px; line-height:1.75; }.guide-grid b { display:inline-block; margin-top:12px; color:var(--amber); font-size:12px; }
.area-overview,.faq-section,.business-section { background:var(--white); }.area-steps { background:#def1e9; }
.area-panels { display:grid; grid-template-columns:1.2fr .8fr; gap:18px; }.area-panels article { padding:36px; border-radius:9px; background:#f0ede4; border-top:4px solid var(--cyan); }.area-panels article:nth-child(2) { border-top-color:var(--lime); }.area-panels article>span { color:var(--green); font:800 10px/1.2 ui-monospace,"SFMono-Regular",monospace; letter-spacing:.14em; }.area-panels h3 { margin:14px 0 10px; }.area-panels p { color:#536071; }
.area-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:24px; }.area-tags b { padding:7px 10px; color:#244758; background:white; border:1px solid #cbd8d2; border-radius:4px; font-size:11px; }
.area-checks { list-style:none; padding:0; margin:24px 0 0; display:grid; gap:10px; }.area-checks li { padding:12px 14px 12px 40px; position:relative; background:white; border-left:3px solid var(--lime); font-weight:700; }.area-checks li:before { content:"✓"; position:absolute; left:15px; color:var(--green); }
.faq-list { display:grid; gap:10px; }.faq-list details { border:1px solid #c8d5d0; border-radius:7px; background:#fafcf9; overflow:hidden; }.faq-list summary { display:flex; align-items:center; gap:18px; padding:21px 24px; cursor:pointer; list-style:none; font-weight:900; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary:after { content:"＋"; margin-left:auto; color:var(--green); font-size:22px; }.faq-list details[open] summary:after { content:"−"; }.faq-list summary span { flex:0 0 auto; color:var(--cyan); background:var(--navy); padding:7px 9px; border-radius:3px; font:900 12px/1 ui-monospace,"SFMono-Regular",monospace; }.faq-list details>div { display:grid; grid-template-columns:34px 1fr; gap:12px; padding:0 24px 22px; border-top:1px solid #dce4df; }.faq-list details>div>b { margin-top:22px; color:var(--green); font-size:20px; }.faq-list details p { margin:16px 0 0; color:#435367; }
.business-table { border-top:2px solid var(--ink); margin-bottom:50px; }.business-table>div { display:grid; grid-template-columns:190px 1fr; gap:25px; padding:18px 16px; border-bottom:1px solid #ccd6d1; }.business-table dt { color:#627269; font-size:12px; font-weight:900; }.business-table dd { margin:0; font-weight:700; overflow-wrap:anywhere; }.business-table a { color:var(--green); border-bottom:1px solid var(--lime); }.business-note { padding:34px; background:#def1e9; border-left:5px solid var(--lime); border-radius:7px; }.business-note h2 { font-size:clamp(27px,3vw,39px); margin-bottom:15px; }.business-note p { color:#435367; }
.article-author { margin-top:48px; padding:28px; background:#e3f2eb; border-left:5px solid var(--lime); border-radius:7px; }.article-author small { color:var(--green); font-weight:900; letter-spacing:.12em; }.article-author strong { display:block; margin:8px 0; font-size:20px; }.article-author p { margin:0 0 10px; }.article-updated { display:block; margin-top:28px; color:#718078; font-size:11px; }
nav { gap:17px; font-size:11px; }

@media (max-width:1120px) {
  .site-header nav,.site-header>.header-cta { display:none; }
  .mobile-menu { display:block; }
}
@media (max-width:850px) {
  .guide-grid { grid-template-columns:1fr; }.guide-grid a { min-height:0; }
  .area-panels { grid-template-columns:1fr; }.area-panels article { padding:27px 22px; }
  .business-table>div { grid-template-columns:1fr; gap:6px; padding:16px 8px; }
  .faq-list summary { padding:18px 15px; gap:12px; }.faq-list details>div { padding:0 15px 18px; }
}

/* Illustration-led refinements */
.page-hero { position:relative; isolation:isolate; overflow:hidden; background-image:linear-gradient(90deg,rgba(6,21,50,.98) 0%,rgba(6,21,50,.92) 48%,rgba(6,21,50,.55) 100%),url("/images/yokohama-hero.png"); background-size:cover; background-position:center 46%; }
.page-hero:before { content:""; position:absolute; inset:14px; z-index:-1; pointer-events:none; border:2px solid rgba(54,233,255,.42); border-radius:18px; box-shadow:inset 0 0 25px rgba(54,233,255,.12),0 0 22px rgba(255,79,169,.10); }
.page-hero:after { content:""; position:absolute; right:4.5%; top:35px; width:130px; height:5px; z-index:-1; border-radius:999px; background:linear-gradient(90deg,var(--cyan),var(--pink),var(--yellow)); box-shadow:0 0 15px var(--pink); }
.home-grid article { min-height:410px; overflow:hidden; position:relative; }.home-card-copy { position:relative; z-index:2; max-width:61%; }.home-card-art { position:absolute; right:-8px; bottom:-55px; width:48%; height:108%; z-index:1; }.home-card-art img { object-fit:contain; object-position:right bottom; filter:drop-shadow(0 15px 18px rgba(6,21,50,.18)); }.home-profile-card:after { content:""; position:absolute; right:-70px; top:-60px; width:280px; height:280px; border-radius:50%; border:3px solid var(--cyan); box-shadow:0 0 25px rgba(54,233,255,.5); }.home-blog-card { display:grid; grid-template-rows:160px 1fr; padding:0!important; background:var(--navy)!important; color:white; }.home-blog-card .home-card-copy { max-width:none; padding:27px 34px 34px; }.home-blog-card .section-kicker { color:var(--cyan); }.home-blog-card p { color:#b9c8d2; }.home-blog-image { position:relative; overflow:hidden; }.home-blog-image:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#061532,transparent 60%); }.home-blog-image img { object-fit:cover; object-position:center 45%; }
.profile-illustration { border-radius:36px!important; background:radial-gradient(circle at 50% 42%,#174a69,#061532 68%); box-shadow:0 0 0 3px var(--cyan),0 0 0 10px white,0 20px 60px rgba(7,26,61,.20)!important; overflow:hidden; }.profile-illustration:before { content:""; position:absolute; inset:24px; border:2px solid rgba(255,79,169,.58); border-radius:26px; box-shadow:inset 0 0 30px rgba(255,79,169,.15); }.profile-illustration>span { position:absolute; left:22px; right:22px; bottom:30px; height:3px; background:linear-gradient(90deg,var(--cyan),var(--pink),var(--yellow)); box-shadow:0 0 15px var(--pink); }.profile-illustration img { object-fit:contain!important; object-position:center bottom; z-index:1; filter:drop-shadow(0 18px 20px rgba(0,0,0,.28)); }
.reassurance { grid-template-columns:340px 1fr; align-items:center; background:radial-gradient(circle at 16% 50%,rgba(54,233,255,.18),transparent 25%),var(--white); }.reassurance-art { position:relative; aspect-ratio:4/5; border-radius:28px; background:linear-gradient(145deg,#0b305a,#061532); border:2px solid var(--cyan); box-shadow:10px 10px 0 var(--lime),0 0 25px rgba(54,233,255,.30); overflow:hidden; }.reassurance-art img { object-fit:contain; object-position:center bottom; filter:drop-shadow(0 14px 16px rgba(0,0,0,.28)); }
.contact-guide { position:relative; padding-bottom:330px; }.contact-mascot { position:absolute; left:4%; bottom:-30px; width:310px; height:380px; }.contact-mascot img { object-fit:contain; object-position:center bottom; filter:drop-shadow(0 18px 18px rgba(0,0,0,.35)); }.contact-guide>.mascot-note { position:absolute; left:215px; bottom:30px; width:230px; z-index:2; transform:rotate(-2deg); }.contact-page-grid { background-image:radial-gradient(circle at 18% 70%,rgba(36,211,102,.17),transparent 27%),linear-gradient(145deg,#0b2d58,#061532); }
.article-list article { display:grid; grid-template-columns:300px 1fr; gap:36px; padding:28px 70px 28px 0; align-items:center; }.article-list article>.article-thumb { display:block; position:relative; aspect-ratio:16/10; overflow:hidden; border-radius:11px; border:2px solid var(--ink); box-shadow:7px 7px 0 var(--cyan); }.article-list article:nth-child(2)>.article-thumb { box-shadow:7px 7px 0 var(--pink); }.article-list article:nth-child(3)>.article-thumb { box-shadow:7px 7px 0 var(--yellow); }.article-thumb img { object-fit:cover; }.article-list article>.article-copy { display:block; color:inherit; font-size:inherit; }.article-list article>.article-copy .article-meta { display:flex; gap:18px; color:#758078; font-size:11px; }.article-meta span { color:var(--green); font-weight:900; }

@media (max-width:850px) {
  .page-hero:before { inset:8px; }.page-hero:after { right:24px; width:86px; }.home-grid article { min-height:430px; }.home-profile-card { padding-bottom:230px!important; }.home-card-copy { max-width:none; }.home-card-art { width:70%; height:62%; right:-8%; bottom:-16px; }.home-blog-card { grid-template-rows:190px 1fr; }.reassurance { grid-template-columns:1fr; }.reassurance-art { width:min(340px,90%); margin:0 auto 30px; }.contact-guide { padding-bottom:300px; }.contact-mascot { width:270px; height:340px; left:50%; transform:translateX(-50%); }.contact-guide>.mascot-note { left:auto; right:0; bottom:20px; width:210px; }.article-list article { grid-template-columns:1fr; gap:24px; padding:28px 38px 36px 0; }.article-list article>b { top:20px; }.article-list article>.article-thumb { width:calc(100% - 10px); }
}

/* Layout integrity and natural Japanese profile presentation */
.home-intro>*,.home-promise>*,.home-grid>*,.reassurance>*,.detail-layout>*,.profile-layout>*,.contact-page-grid>* { max-width:none; margin-left:0; margin-right:0; min-width:0; }
.promise-art { width:100%; }
.home-profile-card { padding:44px!important; min-height:410px; display:flex; align-items:center; background:linear-gradient(145deg,#f7f2e8,#eef7f2)!important; }
.home-profile-card:after { width:240px; height:240px; right:-95px; top:-90px; opacity:.45; }
.home-profile-card .home-card-copy { max-width:100%; }
.profile-facts { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0; }
.profile-facts span { padding:8px 11px; background:white; border:1px solid #d9ded8; border-radius:999px; color:#405149; font-size:11px; font-weight:800; }
.profile-layout { grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr); align-items:start; }
.profile-id-card { padding:42px 36px; color:white; background:linear-gradient(150deg,#0b315d,#061532); border:2px solid var(--cyan); border-radius:22px; box-shadow:12px 12px 0 #dcefe7,0 18px 45px rgba(6,21,50,.16); position:relative; overflow:hidden; }
.profile-id-card:after { content:""; position:absolute; width:180px; height:180px; right:-90px; top:-90px; border:2px solid var(--pink); border-radius:50%; box-shadow:0 0 24px rgba(255,79,169,.55); }
.profile-monogram { width:78px; height:78px; margin-bottom:34px; display:grid; place-items:center; border-radius:50%; color:var(--ink); background:var(--lime); font-size:38px; font-weight:900; box-shadow:0 0 0 4px var(--ink),0 0 0 7px var(--cyan); }
.profile-id-card small,.profile-id-card strong,.profile-id-card>span { display:block; }.profile-id-card small { color:var(--cyan); letter-spacing:.16em; font-size:10px; font-weight:900; }.profile-id-card strong { margin-top:10px; font-size:31px; letter-spacing:.04em; }.profile-id-card>span { color:#9fb7c7; font-size:11px; letter-spacing:.15em; }.profile-id-card p { margin:26px 0; color:#c4d2db; font-size:13px; }.profile-id-card ul { list-style:none; padding:0; margin:0; border-top:1px solid rgba(255,255,255,.17); }.profile-id-card li { padding:12px 0; border-bottom:1px solid rgba(255,255,255,.17); font-size:12px; font-weight:800; }.profile-copy h2 { font-size:clamp(34px,4.2vw,55px); }.profile-copy>p:not(.hand-note) { color:#4c596b; }.profile-copy dl { border-top:1px solid #d0d5d0; }.profile-copy dl div { display:grid; grid-template-columns:110px 1fr; padding:12px 0; border-bottom:1px solid #d0d5d0; }.profile-copy dd { margin:0; font-weight:800; }
.reassurance-art,.profile-id-card { width:100%; }
.contact-page-grid { align-items:start; }.contact-page-grid>.contact-guide,.contact-page-grid>div:last-child { width:100%; }

@media (max-width:850px) {
  .home-profile-card { min-height:auto; padding:32px 24px!important; }.profile-layout { grid-template-columns:1fr; }.profile-id-card { width:min(440px,100%); margin:0 auto; }.profile-copy h2 { font-size:36px; }.promise-art { min-height:430px; }.contact-guide { padding-bottom:245px; }.contact-mascot { width:210px; height:270px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
.privacy-page { min-height:100vh; background:var(--white); }.privacy-header { height:72px; padding:0 max(5vw,20px); display:flex; align-items:center; justify-content:space-between; background:var(--navy); color:white; font-size:13px; }.privacy-header a { color:var(--cyan); font-weight:800; }.privacy-page article { width:min(820px,calc(100% - 40px)); margin:0 auto; padding:90px 0 120px; }.privacy-page h1 { font-size:clamp(38px,5vw,64px); letter-spacing:-.04em; margin:0 0 35px; }.privacy-page article h2 { font-size:21px; margin:48px 0 10px; letter-spacing:0; }.privacy-page article p { color:#4d5a69; }.privacy-updated { margin-top:60px; font-size:12px; }
.button-phone { background:var(--yellow); color:var(--ink); box-shadow:0 8px 26px rgba(255,217,82,.22); }.button-phone span { font-size:11px; background:var(--ink); color:white; padding:4px 7px; border-radius:4px; margin-right:9px; }
.header-line { background:#24d366; color:#062716; }
.contact-direct { display:grid; gap:10px; margin-top:28px; }.contact-direct a { display:block; padding:16px 18px; border:1px solid rgba(54,233,255,.28); border-radius:10px; background:rgba(54,233,255,.07); transition:.2s ease; }.contact-direct a:hover { transform:translateY(-2px); border-color:var(--cyan); }.contact-direct small,.contact-direct b,.contact-direct span { display:block; }.contact-direct small { color:var(--cyan); font-weight:900; }.contact-direct b { margin:5px 0; font-size:clamp(16px,2vw,22px); overflow-wrap:anywhere; }.contact-direct span { color:#a9bdca; font-size:11px; }.contact-direct+.contact-promise { margin-top:18px; }
.contact-direct .contact-line { background:rgba(36,211,102,.13); border-color:rgba(36,211,102,.55); }.contact-direct .contact-line:hover { border-color:#24d366; }.contact-direct .contact-line small { color:#69ed9a; }

/* WordPress image and editor compatibility */
.hero-image { position:absolute; inset:0; width:100%; height:100%; }
.service-image img,.category-image img,.detail-visual img,.home-blog-image img,.article-thumb img,.news-article-image img { width:100%; height:100%; display:block; object-fit:cover; }
.promise-art img,.reassurance-art img,.contact-mascot img { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:contain; }
.privacy-content,.entry-content { width:min(900px,calc(100% - 40px)); margin:0 auto; padding:90px 0; }
.privacy-content h2,.entry-content h2 { margin-top:48px; font-size:clamp(25px,3vw,38px); }
.entry-content img { max-width:100%; height:auto; }
.nav-links { display:flex; gap:14px; justify-content:center; padding:30px 0; }
.nav-links a,.nav-links span { padding:8px 12px; border:1px solid #b9c8c2; border-radius:4px; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:850px) { .sticky-cta { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }.sticky-cta a { background:none; }.sticky-cta .sticky-line { background:#24d366; color:#062716; }.sticky-cta .sticky-phone { background:var(--yellow); }.sticky-cta .sticky-mail { background:var(--cyan); } }

/* Retro-future UI: readability first */
:root { --amber:#ffbf3f; --terminal:#0a2740; --panel-line:rgba(54,233,255,.46); }
.trust-strip { background:linear-gradient(180deg,#0d2c4b,#071a3d); color:white; border:1px solid var(--panel-line); border-radius:10px; box-shadow:0 0 0 4px rgba(54,233,255,.07),0 18px 50px rgba(7,26,61,.20); }
.trust-strip div { position:relative; border-right-color:rgba(54,233,255,.18); }
.trust-strip div:before { content:"STATUS"; position:absolute; left:13px; top:10px; padding-left:11px; color:#7fa8b7; font:700 8px/1 system-ui,sans-serif; letter-spacing:.12em; }
.trust-strip div:after { content:""; position:absolute; left:13px; top:11px; width:5px; height:5px; border-radius:50%; background:var(--lime); box-shadow:0 0 7px rgba(157,234,50,.8); }
.trust-strip strong { color:var(--lime); text-shadow:0 0 12px rgba(157,234,50,.24); }
.trust-strip div:nth-child(3) strong { color:var(--cyan); }.trust-strip div:nth-child(4) strong { color:var(--amber); }
.section-kicker { display:inline-flex; align-items:center; gap:8px; letter-spacing:.16em; }
.section-kicker:before { content:""; width:7px; height:7px; flex:0 0 auto; background:currentColor; box-shadow:0 0 8px currentColor; }

/* Controlled terminal styling: 80% usability / 20% atmosphere */
.services,.page-hero,.cta-band,.contact-page-grid,.profile-id-card,.home-blog-card,footer { background-color:var(--navy); background-image:linear-gradient(180deg,rgba(255,255,255,.018),transparent 30%),repeating-linear-gradient(0deg,rgba(54,233,255,.018) 0,rgba(54,233,255,.018) 1px,transparent 1px,transparent 5px); }
.section-heading { position:relative; padding-bottom:22px; }
.section-heading:after { content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:linear-gradient(90deg,var(--cyan),rgba(54,233,255,.12) 65%,transparent); box-shadow:0 0 8px rgba(54,233,255,.28); }
.section-heading:before { content:"SYS / READY"; position:absolute; right:0; bottom:7px; color:#7692a2; font:700 8px/1 system-ui,sans-serif; letter-spacing:.16em; }
.service-card { position:relative; border-color:rgba(54,233,255,.46); border-radius:8px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 10px 32px rgba(0,0,0,.16); }
.service-card:before { content:"ONLINE"; position:absolute; right:13px; top:13px; z-index:3; padding:5px 8px 5px 18px; color:#dfffea; background:rgba(2,11,27,.82); border:1px solid rgba(157,234,50,.45); border-radius:4px; font:800 8px/1 system-ui,sans-serif; letter-spacing:.1em; }
.service-card:after { content:""; position:absolute; right:68px; top:19px; z-index:4; width:5px; height:5px; border-radius:50%; background:var(--lime); box-shadow:0 0 7px var(--lime); }
.service-card:nth-child(2) { border-color:rgba(255,191,63,.52); }.service-card:nth-child(3) { border-color:rgba(157,234,50,.48); }
.service-body { background:linear-gradient(180deg,rgba(19,49,84,.96),rgba(12,38,72,.98)); border-top:1px solid rgba(54,233,255,.22); }
.service-body small { display:inline-flex; padding:4px 7px; border:1px solid rgba(54,233,255,.28); border-radius:3px; background:rgba(54,233,255,.05); }
.service-number { color:rgba(54,233,255,.14); font-family:ui-monospace,"SFMono-Regular",monospace; }
.card-link,.article-link { color:var(--amber)!important; font-size:12px; font-weight:900; }
.home-profile-card,.feature-grid article,.info-grid article,.flow-grid li,.article-list article { border-radius:8px; border:1px solid rgba(7,56,69,.18); box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 10px 26px rgba(7,26,61,.07); }
.home-profile-card { border-top:3px solid var(--lime)!important; background-image:linear-gradient(145deg,rgba(255,255,255,.92),rgba(233,246,240,.92)),repeating-linear-gradient(0deg,rgba(7,156,115,.025) 0,rgba(7,156,115,.025) 1px,transparent 1px,transparent 5px)!important; }
.home-profile-card:before { content:"PROFILE / VERIFIED"; position:absolute; right:22px; bottom:18px; color:#789188; font:700 8px/1 system-ui,sans-serif; letter-spacing:.13em; }
.feature-grid article:nth-child(1),.info-grid article:nth-child(1) { border-top-color:var(--cyan); }.feature-grid article:nth-child(2),.info-grid article:nth-child(2) { border-top-color:var(--amber); }.feature-grid article:nth-child(3),.info-grid article:nth-child(3) { border-top-color:var(--lime); }
.feature-grid span,.info-grid span,.flow-grid span { font-family:ui-monospace,"SFMono-Regular",monospace; }
.compact-points li,.item-tags span { border:1px solid rgba(7,156,115,.18); border-radius:5px; box-shadow:inset 3px 0 0 var(--lime); }
.profile-facts span { border-color:rgba(7,156,115,.32); border-radius:4px; background:#f8fff9; }
.profile-id-card { border-radius:10px; border-color:rgba(54,233,255,.58); box-shadow:0 0 0 4px rgba(54,233,255,.06),10px 10px 0 #dcefe7,0 18px 45px rgba(6,21,50,.16); }
.profile-id-card:after { border-color:var(--cyan); box-shadow:0 0 24px rgba(54,233,255,.28); }
.profile-id-card li:before { content:"●"; color:var(--lime); font-size:7px; margin-right:8px; text-shadow:0 0 6px var(--lime); }
.button,.header-cta,.cta-band-actions a,.contact-options a,.submit-button,.section-more a,.sticky-cta a { border-radius:5px; position:relative; }
.button-line,.header-line,.cta-band-actions .line-action,.sticky-line { box-shadow:inset 0 0 0 1px rgba(255,255,255,.38),0 0 13px rgba(36,211,102,.18); }
.button-phone,.sticky-phone { box-shadow:inset 0 0 0 1px rgba(255,255,255,.42),0 0 13px rgba(255,191,63,.16); }
.sticky-mail { box-shadow:inset 0 0 0 1px rgba(255,255,255,.40),0 0 13px rgba(54,233,255,.16); }
.cta-band-actions a:not(.line-action),.section-more a { border-color:rgba(54,233,255,.38); box-shadow:inset 0 0 0 1px rgba(54,233,255,.035); }
.contact-options a { border-left:3px solid var(--cyan); }.contact-options .line-option { border-left-color:#24d366; }
.page-hero:after { background:linear-gradient(90deg,var(--cyan),var(--lime),var(--amber)); box-shadow:0 0 14px rgba(54,233,255,.38); }
.article-list article { overflow:hidden; }.article-list article:after { content:"LOG / ARCHIVE"; position:absolute; right:13px; bottom:10px; color:#9aa8a0; font:700 8px/1 system-ui,sans-serif; letter-spacing:.12em; }
.article-list article>.article-thumb { border-radius:6px; box-shadow:6px 6px 0 var(--cyan); }.article-list article:nth-child(2)>.article-thumb { box-shadow:6px 6px 0 var(--amber); }.article-list article:nth-child(3)>.article-thumb { box-shadow:6px 6px 0 var(--lime); }
.sticky-cta { border-top-color:rgba(54,233,255,.44); }

/* Partnership announcement */
.news-article { display:grid; grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr); column-gap:clamp(46px,7vw,90px); row-gap:34px; align-items:start; background:var(--white); }
.news-article-header { grid-column:1/-1; padding-bottom:30px; border-bottom:1px solid #cbd6d2; }
.news-article-header>div { display:flex; gap:14px; align-items:center; color:#708078; font-size:11px; }.news-article-header span { padding:6px 10px; color:#063d30; background:#d8f4e8; border:1px solid rgba(7,156,115,.28); border-radius:4px; font-weight:900; }
.news-article-header h2 { margin:20px 0 0; font-size:clamp(32px,4.3vw,55px); }
.news-article-image { position:relative; width:100%; aspect-ratio:1086/1449; margin:0; overflow:hidden; border:2px solid var(--cyan); border-radius:8px; box-shadow:10px 10px 0 #dcefe7; }.news-article-image img { object-fit:cover; }
.news-article-body { max-width:720px; }.news-article-body>p { margin:0 0 24px; color:#435367; }.news-article-body blockquote { margin:36px 0; padding:25px 28px; color:white; background:linear-gradient(145deg,#0c315d,#061532); border-left:5px solid var(--lime); font-size:clamp(20px,2.4vw,29px); font-weight:900; line-height:1.7; }
.partnership-lockup { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; margin:34px 0; padding:22px; color:white; background:var(--navy); border:1px solid rgba(54,233,255,.46); border-radius:7px; text-align:center; }.partnership-lockup span { font-size:clamp(15px,2vw,22px); font-weight:900; }.partnership-lockup b { color:var(--amber); font-size:25px; }
.partnership-page-hero .page-hero h1 { max-width:1100px; font-size:clamp(40px,5.15vw,66px); line-height:1.25; }
.back-to-blog { display:inline-block; margin-top:18px; padding-bottom:4px; color:var(--green); border-bottom:2px solid var(--lime); font-weight:900; }

@media (max-width:850px) {
  .trust-strip div:before { left:9px; top:8px; }.trust-strip div:after { left:9px; top:9px; }.trust-strip div { padding-top:9px; }
  .section-heading:before { display:none; }.service-card:before { right:9px; top:9px; }.service-card:after { right:64px; top:15px; }
  .home-profile-card:before,.article-list article:after { display:none; }.sticky-cta a { min-width:0; }
  .news-article { grid-template-columns:1fr; row-gap:28px; }.news-article-header { grid-column:auto; }.news-article-image { width:min(520px,100%); margin:0 auto; }.partnership-lockup { gap:8px; padding:18px 10px; }
  .partnership-page-hero .page-hero h1 { font-size:clamp(34px,9.5vw,52px); }
}

/* Multi-page website */
.mobile-menu { display:none; position:relative; }.mobile-menu summary { cursor:pointer; list-style:none; font-size:12px; font-weight:900; color:var(--cyan); border:1px solid rgba(54,233,255,.45); border-radius:7px; padding:9px 12px; }.mobile-menu summary::-webkit-details-marker { display:none; }.mobile-menu>div { position:absolute; right:0; top:47px; width:230px; padding:12px; background:#071a3d; border:1px solid rgba(54,233,255,.3); box-shadow:0 18px 50px rgba(0,0,0,.28); border-radius:10px; }.mobile-menu a { display:block; padding:13px 12px; border-bottom:1px solid rgba(255,255,255,.1); font-size:13px; font-weight:800; }.mobile-menu a:last-child { color:#071a3d; background:#24d366; margin-top:10px; border:0; border-radius:6px; }
.home-intro { display:grid; grid-template-columns:1fr 1fr; gap:clamp(45px,8vw,120px); align-items:end; background:var(--white); }.home-intro>div>p { margin:0 0 19px; color:#4d5a69; }.text-link,.primary-link { display:inline-block; color:var(--green); font-weight:900; border-bottom:2px solid var(--lime); padding-bottom:4px; }.home-services { padding-top:105px; }.service-card>a { display:block; height:100%; }.card-link { display:inline-block; margin-top:10px; color:var(--yellow); font-size:12px; }.section-more { display:flex; justify-content:center; gap:12px; margin-top:42px; }.section-more a { border:1px solid rgba(255,255,255,.34); border-radius:999px; padding:13px 22px; font-size:12px; font-weight:800; }.section-more a:hover { color:var(--yellow); border-color:var(--yellow); }
.home-promise { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(50px,8vw,110px); align-items:center; background:radial-gradient(circle at 18% 52%,rgba(54,233,255,.20),transparent 30%),#e2f3eb; overflow:hidden; }.promise-art { position:relative; min-height:570px; isolation:isolate; }.promise-art:before { content:""; position:absolute; inset:12% 4% 4%; border-radius:50% 50% 22% 22%; background:linear-gradient(145deg,#08214a,#061532); box-shadow:0 0 0 3px rgba(54,233,255,.82),0 0 0 9px rgba(255,79,169,.20),0 24px 45px rgba(6,21,50,.24); transform:rotate(-3deg); z-index:-2; }.promise-art:after { content:"査定だけでも OK"; position:absolute; left:-10px; bottom:45px; padding:12px 18px; border:2px solid var(--ink); border-radius:999px; background:var(--yellow); color:var(--ink); font-weight:900; box-shadow:6px 6px 0 var(--pink); transform:rotate(-4deg); z-index:3; }.promise-art img { object-fit:contain; object-position:center bottom; z-index:1; filter:drop-shadow(0 18px 22px rgba(2,11,27,.25)); }.neon-orbit { position:absolute; inset:17% 6% 9%; border:2px solid rgba(157,234,50,.7); border-radius:48% 52% 46% 54%; transform:rotate(8deg); box-shadow:0 0 16px rgba(157,234,50,.55); z-index:-1; }.home-promise p { color:#4d5a69; }.compact-points { list-style:none; padding:0; margin:26px 0 32px; display:grid; gap:10px; }.compact-points li { position:relative; padding:12px 15px 12px 44px; background:white; border-radius:7px; font-weight:800; }.compact-points li:before { content:"✓"; position:absolute; left:15px; color:var(--green); }.home-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; background:var(--white); }.home-grid article { padding:44px; border-radius:14px; background:#f2eee4; border-top:5px solid var(--pink); }.home-grid article:nth-child(2) { border-color:var(--cyan); }.home-grid p { color:#536071; }.home-grid a { color:var(--green); font-weight:900; }
.cta-band { padding:75px max(5vw,20px); background:linear-gradient(120deg,#0c2c58,#061532); color:white; display:flex; align-items:center; justify-content:space-between; gap:50px; }.cta-band>div { max-width:650px; }.cta-band small { color:var(--cyan); letter-spacing:.2em; font-weight:900; }.cta-band h2 { font-size:clamp(28px,3.3vw,46px); margin:10px 0; }.cta-band p { margin:0; color:#b4c6d3; }.cta-band-actions { display:grid; gap:8px; min-width:min(340px,100%); }.cta-band-actions a { padding:14px 20px; text-align:center; border:1px solid rgba(255,255,255,.3); border-radius:7px; font-weight:900; }.cta-band-actions .line-action { background:#24d366; color:#062716; border-color:#24d366; }
.page-hero { padding:76px max(5vw,20px) 84px; color:white; background:radial-gradient(circle at 80% 10%,rgba(255,79,169,.22),transparent 28%),linear-gradient(135deg,#0a2a56,#061532); }.page-hero>* { max-width:1180px; margin-left:auto; margin-right:auto; }.breadcrumbs { display:flex; gap:9px; align-items:center; color:#9fb5c4; font-size:11px; margin-bottom:48px; }.breadcrumbs a { color:var(--cyan); }.page-hero>p { color:var(--cyan); letter-spacing:.23em; font-size:11px; font-weight:900; margin-bottom:13px; }.page-hero h1 { font-size:clamp(44px,6vw,78px); letter-spacing:-.055em; margin-top:0; margin-bottom:20px; }.page-hero>div:last-child { max-width:760px; margin-left:max(0px,calc((100% - 1180px)/2)); color:#becbd5; line-height:1.9; }
.content-shell { padding:100px max(5vw,20px); }.content-shell>* { max-width:1180px; margin-left:auto; margin-right:auto; }.subpage { background:var(--white); }.feature-grid,.info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.feature-grid article,.info-grid article { padding:34px; border-radius:12px; background:#f0ede4; border-top:5px solid var(--cyan); }.feature-grid article:nth-child(2),.info-grid article:nth-child(2) { border-color:var(--pink); }.feature-grid article:nth-child(3),.info-grid article:nth-child(3) { border-color:var(--yellow); }.feature-grid span,.info-grid span { color:var(--green); font-weight:900; }.feature-grid p,.info-grid p { color:#536071; font-size:13px; }.feature-grid a { color:var(--green); font-size:12px; font-weight:900; }.process-section { background:#def1e9; }.reassurance { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:end; background:var(--white); }.reassurance p { color:#4d5a69; font-size:18px; }
.category-list { display:grid; gap:36px; }.category-list article { display:grid; grid-template-columns:.9fr 1.1fr; gap:50px; align-items:center; padding-bottom:36px; border-bottom:1px solid #d9ddd9; }.category-image { position:relative; aspect-ratio:16/10; overflow:hidden; border-radius:15px; }.category-image img { object-fit:cover; }.category-list small { color:var(--green); font-weight:900; letter-spacing:.1em; }.category-list h2 { margin:12px 0 16px; }.category-list p { color:#536071; }
.detail-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(45px,7vw,90px); align-items:center; background:var(--white); }.detail-visual { position:relative; aspect-ratio:16/10; overflow:hidden; border-radius:18px; box-shadow:16px 16px 0 #dceee7; }.detail-visual img { object-fit:cover; }.detail-layout p { color:#4d5a69; }.mascot-note { margin-top:28px; padding:18px 20px; border:2px solid var(--ink); border-radius:11px; background:var(--yellow); box-shadow:7px 7px 0 var(--lime); }.target-section { background:#def1e9; }.item-tags { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }.item-tags span { padding:17px 15px; background:white; border-radius:7px; text-align:center; font-weight:800; }.fineprint { max-width:1180px; margin-top:22px; color:#60706a; font-size:12px; }.point-section { background:var(--white); }
.profile-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(50px,8vw,110px); align-items:center; background:var(--white); }.profile-photo { position:relative; aspect-ratio:1; overflow:hidden; border-radius:50% 50% 18px 18px; box-shadow:0 0 0 10px #e1f0e9; }.profile-photo img { object-fit:cover; }.profile-layout blockquote { margin:30px 0; padding:19px 0 19px 24px; border-left:4px solid var(--pink); font-size:18px; font-weight:900; line-height:1.8; }.profile-layout dl { border-top:1px solid #d0d5d0; }.profile-layout dl div { display:grid; grid-template-columns:110px 1fr; padding:12px 0; border-bottom:1px solid #d0d5d0; }.profile-layout dd { margin:0; font-weight:800; }.story-section { background:#def1e9; }
.article-list { display:grid; gap:0; background:var(--white); }.article-list article { position:relative; padding:44px 70px 44px 0; border-bottom:1px solid #d4d9d4; }.article-list article>div { display:flex; gap:18px; color:#758078; font-size:11px; }.article-list article>div span { color:var(--green); font-weight:900; }.article-list h2 { font-size:clamp(24px,3vw,38px); margin:13px 0; }.article-list p { max-width:780px; color:#536071; }.article-list small { color:#8a928c; }.article-list article>b { position:absolute; right:0; top:44px; color:#d7ddd8; font-size:40px; }.blog-note { padding-top:0; background:var(--white); }.blog-note p { padding:18px 22px; background:var(--yellow); border-radius:10px; }
.contact-page-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(45px,7vw,90px); background:#08214a; color:white; }.contact-page-grid p { color:#b7c7d2; }.contact-options { display:grid; gap:10px; margin:30px 0; }.contact-options a { padding:17px 19px; border:1px solid rgba(54,233,255,.3); border-radius:9px; background:rgba(54,233,255,.07); }.contact-options .line-option { background:rgba(36,211,102,.14); border-color:#24d366; }.contact-options small,.contact-options b,.contact-options span { display:block; }.contact-options small { color:var(--cyan); font-weight:900; }.contact-options b { margin:5px 0; overflow-wrap:anywhere; }.contact-options span { color:#a7bbc8; font-size:11px; }.contact-page-grid .mascot-note { color:var(--ink); }.privacy-page article { padding-top:80px; }

@media (max-width:850px) {
  .mobile-menu { display:block; }.home-intro,.home-promise,.home-grid,.reassurance,.category-list article,.detail-layout,.profile-layout,.contact-page-grid { grid-template-columns:1fr; }.home-intro,.reassurance { gap:25px; }.promise-art { min-height:470px; }.promise-art:after { left:4px; bottom:24px; }.home-grid article { padding:30px 24px; }.section-more { flex-direction:column; text-align:center; }.cta-band { display:block; }.cta-band-actions { margin-top:30px; }.page-hero { padding-top:48px; padding-bottom:58px; }.breadcrumbs { margin-bottom:35px; }.feature-grid,.info-grid { grid-template-columns:1fr; }.content-shell { padding-top:72px; padding-bottom:72px; }.category-list article { gap:25px; }.item-tags { grid-template-columns:repeat(2,1fr); }.article-list article { padding-right:40px; }.footer-brand+p { padding:0 20px; }
}

/* Delivery QA: compact-screen overflow and safe-area refinements */
@media (max-width:850px) {
  body { padding-bottom:calc(78px + env(safe-area-inset-bottom)); }
  .site-header { z-index:60; }
  .sticky-cta { padding-bottom:calc(9px + env(safe-area-inset-bottom)); }
  .mobile-menu>div { max-height:calc(100dvh - 130px - env(safe-area-inset-bottom)); overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
  .admin-bar .mobile-menu>div { max-height:calc(100dvh - 164px - env(safe-area-inset-bottom)); }
  .home-hero .hero-image { object-fit:contain; object-position:center top; transform:scale(.96); transform-origin:center top; }
  .home-hero .hero-shade { background:linear-gradient(0deg,rgba(3,13,37,.99) 8%,rgba(3,13,37,.92) 42%,rgba(3,13,37,.46) 70%,rgba(3,13,37,.16) 100%); }
  .article-list,.article-list article,.article-list article>*,.news-article,.news-article>* { min-width:0; max-width:100%; }
  .article-list article { width:100%; }
  .article-list h2,.news-article-header h2,.news-article-body { overflow-wrap:anywhere; }
  footer>div { width:min(340px,100%); margin:28px auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  footer>div a { display:flex; min-height:38px; padding:7px 6px; align-items:center; justify-content:center; border:1px solid rgba(54,233,255,.16); border-radius:4px; line-height:1.4; }
}
@media (max-width:360px) {
  .site-header { padding:0 12px; gap:10px; }
  .brand { min-width:0; gap:9px; }
  .brand-mark { width:36px; height:36px; font-size:18px; }
  .brand b { white-space:nowrap; font-size:12px; }
  .brand small { white-space:nowrap; font-size:9px; }
  .mobile-menu summary { padding:8px 10px; }
  .page-hero h1 { font-size:36px; overflow-wrap:anywhere; }
  .partnership-page-hero .page-hero h1 { font-size:34px; }
  .article-list article { padding-right:0; }
  .article-list article>b { display:none; }
  .article-meta,.news-article-header>div { flex-wrap:wrap; }
}
