@import url(https://fonts.googleapis.com/css2?family=Zen+Kurenaido&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap);
.news-admin{--blue:#5371af;--ink:#222;min-height:100vh;background:#f5f6f8;color:var(--ink);font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.7}
.news-admin *{box-sizing:border-box}.news-admin a{color:inherit}.news-admin button,.news-admin input,.news-admin select,.news-admin textarea{font:inherit}.news-admin button{cursor:pointer;border:1px solid #d7dce4;background:#fff;color:#303c52;border-radius:24px;padding:10px 20px;min-height:44px;font-weight:600}.news-admin button:hover{border-color:var(--blue);background:#f5f7fc}.news-admin button.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.news-admin button.primary:hover{background:#3f5c96}.news-admin button:disabled{opacity:.5;cursor:wait}.news-admin :focus-visible{outline:3px solid #819cdb;outline-offset:3px}
body:has(.news-admin){margin:0}.n-header{display:flex;align-items:center;gap:32px;padding:20px 4vw;background:#fff;border-bottom:1px solid #e2e5ea}.n-header img{display:block;-o-object-fit:contain;object-fit:contain}.n-header-label,.n-eyebrow{letter-spacing:.14em;font-family:Arial,sans-serif;color:#66748d;font-size:11px;font-weight:700}.n-account{margin-left:auto;display:flex;align-items:center;gap:24px;font-size:12px;color:#647083}.n-main{max-width:1440px;margin:0 auto;padding:48px 4vw 80px}.n-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px}.n-heading h1{font-size:30px;margin:6px 0;font-weight:700}.n-heading p:last-child{color:#606b7b;margin:8px 0 0}.n-eyebrow{margin:0}.n-layout{display:grid;grid-template-columns:1fr;gap:28px;align-items:start}.n-layout.editing{grid-template-columns:minmax(260px, .8fr) minmax(0,1.7fr)}.n-list,.n-editor{background:#fff;border:1px solid #e0e4eb;border-radius:8px;overflow:hidden}.n-filters{display:flex;flex-wrap:wrap;gap:4px;padding:18px;border-bottom:1px solid #e6e9ed}.news-admin .n-filters button{border:0;border-radius:5px;padding:8px 12px;font-size:12px;background:transparent}.news-admin .n-filters button[aria-pressed=true]{color:#3b5892;background:#edf1f8}.n-filters small{margin-left:6px;color:#788294}.n-search{display:block;padding:18px 24px;font-size:12px;color:#667185}.news-admin input,.news-admin select,.news-admin textarea{display:block;width:100%;padding:12px 14px;border:1px solid #cdd3dd;border-radius:5px;background:#fff;color:#222;min-height:46px}.n-search input{margin-top:8px}.n-list-heading{display:flex;justify-content:space-between;padding:12px 24px;border-bottom:1px solid #e6e9ed;font-size:12px;color:#707c8d}.n-list ul{list-style:none;margin:0;padding:0}.n-list li+li{border-top:1px solid #e6e9ed}.news-admin .n-list li>button{width:100%;text-align:left;border:0;border-left:3px solid transparent;border-radius:0;padding:20px 22px}.news-admin .n-list li>button.selected{border-left-color:var(--blue);background:#f4f6fa}.n-row-meta,.n-row-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#77808e}.n-row-meta time{font-family:Arial,sans-serif;letter-spacing:.06em}.n-list strong{display:block;font-size:16px;line-height:1.7;margin:12px 0;overflow-wrap:anywhere}.n-row-bottom{font-weight:400}.n-row-bottom span{font-size:20px;color:var(--blue)}.n-badge{font-size:11px;display:inline-block;border-radius:4px;padding:2px 8px;white-space:nowrap}.n-badge.published{color:#246549;background:#eaf4ee}.n-badge.draft{color:#735d2b;background:#f6f0df}.n-badge.archived{color:#68717d;background:#edf0f3}.n-empty{text-align:center;padding:70px 20px;color:#6c7583}.n-empty>span{font-size:32px;display:block;color:#8595b2}.n-empty h2{font-size:16px;color:#3b4555}.n-empty p{font-size:13px}.n-editor-heading{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid #e6e9ed;gap:16px}.n-editor-heading h2{font-size:20px;margin:7px 0 0}.news-admin .n-editor-heading button{font-size:12px;padding:7px 14px}.n-editor-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 28px;font-size:12px;color:#758094}.news-admin .n-editor-meta button{padding:6px 14px;font-size:12px}.n-fields{border:0;margin:0;padding:4px 28px 28px;min-width:0}.n-fields label{display:block;font-weight:600;margin:16px 0 0}.n-fields input,.n-fields textarea,.n-fields select{margin-top:8px;font-weight:400}.n-fields textarea{resize:vertical;line-height:1.9}.n-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.n-help,.n-body-note{font-size:11px;color:#747e8d}.n-body-note{display:flex;gap:16px;justify-content:space-between;margin-top:8px}.n-savebar{border-top:1px solid #e2e5eb;padding:24px 28px;background:#fafbfd}.n-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.news-admin .n-trash{display:block;margin-top:24px;padding:4px 0;color:#91616a;font-size:12px;border:0;background:transparent}.n-error,.n-success{padding:16px 24px;border-radius:5px;margin:0 0 24px}.n-error{background:#fff2f0;color:#963f34;border:1px solid #f0cbc5}.n-error p{margin:0 0 8px}.n-error a{margin-right:20px}.n-success{background:#e9f3ed;color:#286040}.n-dialog{border:1px solid #dce1e9;border-radius:8px;padding:32px;max-width:480px;width:calc(100% - 40px);box-shadow:0 16px 60px #15254529;color:#222}.n-dialog::backdrop{background:#1c294b77}.n-dialog h2{font-size:20px;margin:0}.n-dialog p{margin:16px 0 28px;color:#586476}.n-preview{padding:0 28px 40px}.n-preview-label{border-bottom:1px dashed #ccd2df;padding-bottom:12px;font-size:11px;color:#6e7890}.n-footer{max-width:1440px;margin:auto;padding:0 4vw 32px;color:#7f8895;font-size:12px;display:flex;justify-content:space-between}
.news-article{max-width:800px;margin:auto;overflow-wrap:anywhere}.news-article h1{font-size:clamp(25px,3vw,40px);line-height:1.65;margin:24px 0 36px;color:#222}.news-meta{display:flex;align-items:center;gap:24px;font-size:13px;color:#6a7487}.news-meta time{font-family:Arial,sans-serif;letter-spacing:.07em}.news-meta span{border:1px solid #dce0e7;padding:3px 12px;border-radius:3px}.news-body{white-space:pre-wrap;font-size:16px;line-height:2.2;color:#333}.n-preview .news-article h1{font-size:28px}.n-preview .news-body{font-size:15px}.r-news-list{list-style:none;margin:44px 0 36px;padding:0;border-top:1px solid #dce0e5}.r-news-list li{border-bottom:1px solid #dce0e5}.r-news-list a{display:grid;grid-template-columns:240px 1fr 30px;align-items:center;gap:30px;padding:30px 0;text-decoration:none;color:#222}.r-news-list a:hover h3{color:#5371af}.r-news-list h3{font-size:18px;margin:0;overflow-wrap:anywhere}.r-news-list .news-meta{gap:18px}.r-news-list .news-meta span{font-size:11px}.r-news-empty{padding:28px 0;color:#667184}.r-news-detail{padding-top:160px!important;min-height:70vh}.r-news-detail>a{display:inline-block;margin-top:60px}.r-news-pagination{display:flex;justify-content:center;align-items:center;gap:30px}.r-news-pagination button{padding:12px 24px;border:1px solid #cfd5df;border-radius:30px;background:#fff;font:inherit;cursor:pointer}
.n-cover-field,.n-rich-field{margin-top:28px}.n-cover-field h3,.n-rich-field h3{font-size:14px;margin:0 0 12px}.n-cover-field>img{width:100%;max-height:260px;-o-object-fit:contain;object-fit:contain;background:#f3f4f6;border-radius:5px}.n-cover-field>button{margin:12px 0}.news-admin .n-upload{display:inline-flex;position:relative;align-items:center;justify-content:center;border:1px dashed #b6c2d9;border-radius:5px;padding:16px 22px;color:#476496;font-weight:600;cursor:pointer;overflow:hidden}.news-admin .n-upload input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;width:100%;height:100%}.n-upload:focus-within{outline:3px solid #819cdb;outline-offset:3px}.n-rich-editor{border:1px solid #cdd3dd;border-radius:5px;overflow:hidden}.n-toolbar{display:flex;gap:4px;align-items:center;flex-wrap:wrap;background:#f7f8fa;border-bottom:1px solid #dce2ec;padding:8px}.news-admin .n-toolbar button{padding:6px 10px;font-size:12px;border:0;border-radius:4px;background:transparent;min-height:36px}.news-admin .n-toolbar button[aria-pressed=true]{background:#dce6f6;color:#345383}.news-admin .n-toolbar select{width:auto;max-width:130px;margin:0;padding:6px 8px;min-height:36px;font-size:12px}.n-prose{min-height:320px;padding:20px;outline:none;line-height:1.9;overflow-wrap:anywhere;font-size:15px}.n-prose p{margin:0 0 1em}.n-prose h2{font-size:24px;margin:1.5em 0 .6em}.n-prose h3{font-size:19px;margin:1.5em 0 .6em}.n-prose img{display:block;width:auto;max-width:100%;height:auto;max-height:480px;margin:24px 0}.n-prose img.ProseMirror-selectednode{outline:3px solid #5371af}.n-prose ul,.n-prose ol{padding-left:1.5em}.n-prose blockquote,.news-rich-body blockquote{border-left:3px solid #5371af;padding:8px 20px;margin:24px 0;color:#60708a;background:#f6f8fb}.n-prose a,.news-rich-body a{color:#4267a7;text-decoration:underline}.n-prose[contenteditable=false]{background:#f9fafb}.n-link-form,.n-image-tools{background:#f2f5fa;padding:12px 16px;display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.n-link-form label,.n-image-tools label{flex:1;margin:0;font-size:12px}.n-link-form button,.n-image-tools button{font-size:12px!important}.n-editor-upload{padding:16px 20px;border-top:1px solid #e1e5ed}.n-editor-upload p{font-size:11px;color:#6e7b8f;margin:10px 0 0}.news-admin .n-editor-upload .n-upload{margin:0;padding:10px 16px;font-size:12px}.news-cover{display:block;width:100%;height:auto;max-height:600px;-o-object-fit:contain;object-fit:contain;margin-bottom:40px}.news-rich-body{font-size:16px;line-height:2.1;white-space:normal}.news-rich-body p{margin:0 0 1.4em;white-space:pre-wrap}.news-rich-body h2{font-size:26px;margin:48px 0 20px}.news-rich-body h3{font-size:21px;margin:32px 0 16px}.news-rich-body ul,.news-rich-body ol{padding-left:1.6em;margin:24px 0}.news-rich-body li p{margin:0}.news-rich-body figure{margin:36px 0}.news-rich-body figure img{max-width:100%;height:auto;display:block;margin:auto}.news-rich-body figcaption{font-size:12px;color:#6d788a;text-align:center;margin-top:10px}
@media(max-width:1000px){.n-layout.editing{grid-template-columns:1fr}.n-layout.editing>.n-list{display:none}.n-header-label{display:none}.n-main{padding-top:32px}.n-editor{max-width:900px}.r-news-list a{grid-template-columns:1fr 24px;gap:14px}.r-news-list .news-meta{grid-column:1/-1}}
@media(max-width:600px){.n-header{padding:16px 20px;gap:12px;align-items:flex-start}.n-header img{width:126px;height:44px}.n-account{display:block;text-align:right;font-size:10px;overflow-wrap:anywhere;max-width:190px}.n-account a{display:block;margin-top:6px}.n-main{padding:28px 16px 48px}.n-heading h1{font-size:25px}.n-heading p:last-child{font-size:12px}.news-admin button{padding:10px 15px}.n-editor-heading,.n-editor-meta{padding:20px}.n-fields{padding:0 20px 24px}.n-field-row{gap:12px}.n-savebar{padding:20px}.n-body-note{display:block}.n-body-note span{display:block}.n-preview{padding:0 20px 28px}.n-actions button{flex:1}.r-news-list h3{font-size:16px}.r-news-detail{padding-top:120px!important}.news-body{font-size:15px}.n-dialog{padding:24px}}
.n-layout.editing{grid-template-columns:minmax(240px,320px) minmax(0,1fr)}
.n-editor{overflow:visible;min-width:0;box-shadow:0 4px 24px #24334c05}
.n-editor-heading{border-radius:8px 8px 0 0;padding:24px 32px}
.n-editor-meta{padding:16px 32px;background:#fafbfd;border-bottom:1px solid #edf0f4}
.n-fields{padding:12px 32px 32px}
.n-fields>label:first-child input{font-size:20px;font-weight:600;line-height:1.6;padding:15px 16px}
.n-cover-field{padding:24px;background:#fafbfd;border:1px solid #e2e6ed;border-radius:6px}
.news-admin .n-cover-field .n-upload{display:flex;width:100%;min-height:100px;margin-top:12px;background:#fff;gap:12px}
.n-cover-field .n-upload::before{content:'＋';font-size:26px;font-weight:400}
.news-admin .n-upload:hover{background:#f0f4fb;border-color:#5371af}
.n-cover-field .n-help{margin-bottom:0}
.n-rich-field{margin-top:32px}
.n-rich-field h3{margin-bottom:14px}
.n-prose{padding:28px;min-height:380px;line-height:2}
.n-prose:focus-visible{outline:none}
.n-rich-editor:focus-within{border-color:#5371af;box-shadow:0 0 0 1px #5371af}
.news-admin .n-toolbar button{min-width:40px;min-height:40px}
.n-savebar{position:sticky;bottom:0;z-index:5;background:#fffffff5;backdrop-filter:blur(12px);box-shadow:0 -8px 24px #24334c08;padding:18px 32px;border-radius:0 0 8px 8px}
.n-savebar .n-actions{gap:10px}
.n-savebar .n-actions button{min-width:144px}
.news-admin .n-savebar .n-trash{margin-top:12px;min-height:36px}
.n-editor-upload{background:#fafbfd}
.n-list button:focus-visible{outline-offset:-4px}
@media(max-width:1000px){.n-layout.editing{grid-template-columns:1fr}.n-editor{max-width:none}}
@media(max-width:600px){
	.n-editor-heading,.n-editor-meta{padding:16px 20px}
	.n-fields{padding:8px 20px 24px}
	.n-fields>label:first-child input{font-size:17px}
	.n-cover-field{padding:16px}
	.n-prose{padding:20px;min-height:320px}
	.n-savebar{padding:14px 16px max(14px,env(safe-area-inset-bottom))}
	.n-savebar .n-actions button{min-width:0}
	.n-toolbar{gap:2px;padding:6px}
	.news-admin .n-toolbar button{padding:6px 8px}
	.n-help,.n-body-note,.n-editor-upload p{font-size:12px;line-height:1.8}
}

.n-nav{display:flex;gap:20px;margin-right:auto}.n-nav a{font-size:14px;color:#66748d;text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}.n-nav a[aria-current=page]{color:#233;border-color:#5371af;font-weight:700}
.n-applications{list-style:none;padding:0;margin:24px 0;display:grid;gap:12px}.n-applications>li{background:#fff;border:1px solid #e2e5ea;border-radius:8px}.n-applications>li>button{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;width:100%;padding:18px 20px;background:none;border:0;font:inherit;text-align:left;cursor:pointer}.n-applications>li>button span{color:#66748d;font-size:13px}.n-applications>li>button em{font-style:normal;font-size:12px;color:#963f34;background:#fff5f5;border:1px solid #dfb5b5;border-radius:4px;padding:2px 8px}
.n-application-detail{padding:0 20px 20px;border-top:1px solid #eef0f4}.n-application-detail dl{margin:0}.n-application-detail dl>div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid #f0f2f5;font-size:14px}.n-application-detail dt{color:#66748d}.n-application-detail dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.n-application-photos{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px}.n-application-photos img{display:block;max-width:min(320px,100%);max-height:420px;border-radius:6px;border:1px solid #e2e5ea}
@media(max-width:700px){.n-application-detail dl>div{grid-template-columns:1fr;gap:4px}.n-nav{order:3;width:100%}}

.r-contact-page{max-width:900px;margin:auto;padding:72px 32px 120px}.r-contact-page .r-title{margin-bottom:36px}.r-contact-page h1{scroll-margin-top:24px}.r-contact-intro{font-size:14px;line-height:1.9}.r-contact-page form{margin-top:40px}.r-contact-field{display:block;margin:0 0 28px;font-size:14px;font-weight:600}.r-contact-field>span{font-size:10px;color:#687386;margin-left:12px;font-weight:400}.r-contact-field input,.r-contact-field textarea{display:block;width:100%;margin-top:12px;padding:15px 16px;font:inherit;font-weight:400;line-height:1.8;color:#222;background:#fafafa;border:1px solid #d4d9e2;border-radius:5px;box-sizing:border-box}.r-contact-field textarea{resize:vertical}.r-contact-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.r-contact-note{font-size:12px;color:#657084;line-height:1.8}.r-contact-actions{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:40px;flex-wrap:wrap}.r-contact-actions button{cursor:pointer;font-family:inherit}.r-contact-actions button:disabled{opacity:.6;cursor:wait}.r-contact-back{background:none;border:0;border-bottom:1px solid #8a93a3;font-size:14px;padding:12px}.r-contact-review{margin-top:40px}.r-contact-review>div{display:grid;grid-template-columns:160px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid #e3e6ec;font-size:14px}.r-contact-review dt{color:#667184}.r-contact-review dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.r-contact-error{padding:20px;border:1px solid #dfb5b5;color:#963f34;background:#fff5f5;font-size:14px;line-height:1.8}.r-contact-done{text-align:center}.r-contact-done p{line-height:2;margin:32px 0 40px}.r-contact-page :focus-visible{outline:3px solid #819cdb;outline-offset:4px}.r-directory-contact{padding:16px 24px 96px;text-align:center}.r-directory-contact .r-button{max-width:100%;box-sizing:border-box}
.r-contact-verification{margin-top:32px;font-size:13px;line-height:1.8}.r-contact-verification button{font:inherit;color:#5371af;background:none;border:0;text-decoration:underline;cursor:pointer}
@media(max-width:700px){.r-contact-page{padding:48px 24px 80px}.r-contact-row{grid-template-columns:1fr;gap:0}.r-contact-review>div{grid-template-columns:1fr;gap:10px}.r-contact-actions{gap:16px}.r-contact-actions .r-button{font-size:13px;min-width:0}.r-directory-contact{padding:16px 24px 64px}.r-directory-contact .r-button{font-size:12px;min-width:0;gap:12px}}

/* Model application form (MODEL-APPLY A8): large touch targets, one theme per step, visible progress. */
.r-apply-page{max-width:720px}
.r-apply-open main{background:#f2f6fb}.r-apply-page{padding:32px 16px 96px}
/* Flat progress: a full-width line fixed to the top of the window, and a plain status row above the card. No rounded indicator. */
.r-apply-card{background:#fff;border:1px solid #e3e8f1;border-radius:6px;box-shadow:0 6px 20px #364e8b12}
.r-apply-bar{position:fixed;top:0;left:0;right:0;z-index:60;height:4px;background:#dfe6f2}.r-apply-bar span{display:block;height:100%;background:#5371af;transition:width .4s ease}
.r-apply-progress{position:sticky;top:0;z-index:5;margin:0 0 12px;background:#f2f6fbf5}
.r-apply-eta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0;padding:10px 2px;font-size:12px;color:#657084;border-bottom:1px solid #dfe6f2}.r-apply-eta b{margin-right:8px;color:#364e8b;font-size:13px}
.r-apply-body{padding:28px 28px 32px}.r-apply-body h1{margin:0 0 20px;font-size:clamp(20px,4.2vw,26px);line-height:1.5;scroll-margin-top:72px}
.r-apply-field label,.r-apply-label{display:block;font-size:15px;font-weight:700}.r-apply-field>small{display:block;margin:6px 0 0;font-size:12px;font-weight:400;color:#657084;line-height:1.7}
.r-apply-field input,.r-apply-field select,.r-apply-field textarea{display:block;width:100%;min-height:52px;margin-top:10px;padding:14px 16px;font:inherit;font-size:16px;font-weight:400;color:#222;background:#fff;border:1.5px solid #cfd6e2;border-radius:8px;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}
.r-apply-field input:focus,.r-apply-field select:focus,.r-apply-field textarea:focus{outline:none;border-color:#5371af;box-shadow:0 0 0 4px #5371af26}
.r-apply-field [aria-invalid=true]{border-color:#c2493c;background:#fff8f7}
.r-apply-field em,.r-apply-photo em,.r-apply-agree-error{display:block;margin-top:8px;font-size:13px;font-style:normal;color:#b03a2e;line-height:1.7}
.r-apply-birth{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:10px}.r-apply-age{color:#364e8b!important;font-weight:700!important}
.r-apply-suggest{margin:-12px 0 24px;font-size:14px}.r-apply-suggest button,.r-apply-restored button{font:inherit;color:#5371af;background:none;border:0;border-bottom:1px solid;cursor:pointer;padding:0 2px}
.r-apply-restored{padding:14px 16px;background:#eef3fb;border-radius:8px;font-size:13px;line-height:1.8}
.r-apply-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px}.r-apply-photo label{position:relative;display:grid;place-items:center;min-height:220px;border:2px dashed #b9c6de;border-radius:12px;background:#fff;overflow:hidden;cursor:pointer;text-align:center;transition:border-color .15s,background .15s}
.r-apply-photo label:hover,.r-apply-photo label:focus-within{border-color:#5371af;background:#f6f9ff}.r-apply-photo label.has-file{border-style:solid;border-color:#5371af}.r-apply-photo input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.r-apply-photo img{display:block;width:100%;max-height:340px;-o-object-fit:cover;object-fit:cover}.r-apply-photo-empty{display:grid;gap:6px;padding:20px 12px}.r-apply-photo-empty b{font-size:16px}.r-apply-photo-empty small{font-size:12px;color:#657084;line-height:1.6}.r-apply-photo-empty i{font-style:normal;font-size:13px;color:#5371af;font-weight:700}
.r-apply-photo-meta{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:8px;font-size:12px}.r-apply-photo-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#657084}.r-apply-photo-meta button,.r-apply-edit{font:inherit;font-size:13px;color:#5371af;background:none;border:0;border-bottom:1px solid;cursor:pointer;padding:0 2px}
.r-apply-agree{display:flex;gap:12px;align-items:center;font-size:15px;margin:8px 0 0;min-height:48px}.r-apply-agree input{width:22px;height:22px;flex:none}.r-apply-agree a{color:#5371af;text-decoration:underline;text-underline-offset:4px}
.r-apply-page .r-contact-review>div{grid-template-columns:130px 1fr auto;align-items:start}.r-apply-thumbs{display:flex;gap:12px}.r-apply-thumbs img{width:96px;height:96px;-o-object-fit:cover;object-fit:cover;border-radius:8px;border:1px solid #dfe6f0}
.r-apply-after{text-align:center}
.r-privacy h2{font-size:18px;margin:40px 0 12px}.r-privacy p,.r-privacy li{font-size:14px;line-height:2}.r-privacy ul{padding-left:1.4em}
@media(max-width:700px){
.r-apply-open .r-mobile-actions{display:none}.r-apply-birth select{padding-inline:12px;font-size:15px}
.r-apply-photos{grid-template-columns:1fr 1fr;gap:10px}.r-apply-photo label{min-height:180px}
.r-apply-birth{grid-template-columns:1.6fr 1fr 1fr;gap:8px}
.r-apply-page .r-contact-review>div{grid-template-columns:1fr auto;gap:4px 12px}.r-apply-page .r-contact-review dt{grid-column:1/-1}
.r-apply-actions{position:sticky;bottom:0;z-index:4;margin:24px -18px -26px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:#fffffff2;border-top:1px solid #dfe6f0;justify-content:space-between;flex-wrap:nowrap}.r-apply-actions .r-button{flex:1;min-width:0;justify-content:center}}
@media(prefers-reduced-motion:reduce){.r-apply-bar span{transition:none}}
.r-apply-field>.r-apply-label{margin:0;font-size:15px;font-weight:700;color:inherit}.r-apply-field label>span,.r-apply-label>span{margin-left:8px;font-size:10px;font-weight:400;color:#687386}
.r-apply-page .r-contact-review>div{padding:16px 0}
@media(max-width:700px){.r-apply-page{padding:16px 12px 72px}.r-apply-body{padding:22px 18px 26px}.r-apply-page .r-contact-review>div{padding:12px 0}.r-apply-page .r-contact-review{margin-top:16px}}
.r-apply-body .r-contact-intro{margin:0 0 24px}.r-apply-body .r-contact-note{margin:12px 0 28px}.r-apply-photos{margin-top:16px}.r-apply-eta span{white-space:nowrap}
@media(max-width:520px){.r-apply-eta span:first-child{font-size:11px}.r-apply-eta span:first-child b{margin-right:6px}.r-apply-eta em{display:none}.r-apply-eta span:first-child{overflow:hidden;text-overflow:ellipsis}}
/* Native select arrows sit against the border; draw our own with room on the right. */
.r-apply-field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:48px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1 1.5l6 6 6-6' stroke='%235371af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 20px center/14px 9px}
@media(max-width:700px){.r-apply-birth select{padding-right:34px;background-position:right 14px center}}
/* MODEL-APPLY A12: なし / あり as two large tap targets. */
.r-apply-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.r-apply-choices label{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 16px;border:1px solid #cfd6e3;border-radius:8px;background:white;font-size:16px;font-weight:500;cursor:pointer}
.r-apply-choices label:has(input:checked){border-color:#5371af;background:#f2f6fb;color:#2f4f8f;font-weight:700}
.r-apply-choices input{width:20px;height:20px;margin:0;accent-color:#5371af}
.r-apply-choices label:has(input:focus-visible){outline:3px solid #8aa8e7;outline-offset:2px}

/* Business page: each section has its own form (DESIGN.md Layout; FANCL SKIN PATCH section techniques, own colors). */
.b-page{--b-ground:#f2f6fb;--b-soft:#e5edf8;--b-blue:#5371af;--b-deep:#2f4f8f;--b-line:#dfe5ee;background:var(--b-ground);padding:0 0 120px;color:#222;overflow-x:clip}
.b-page img{display:block;max-width:100%}
.b-page :focus-visible{outline:3px solid #819cdb;outline-offset:4px}
.b-sp{display:none}
.b-eyebrow{font:600 12px Arial,sans-serif;letter-spacing:.2em;color:var(--b-blue);margin-bottom:12px}
.b-lead{font-size:15px;line-height:2.1;margin-bottom:36px}
.b-note{font-size:13px;line-height:1.9;color:#555;margin-top:28px}
.b-button{display:inline-flex;align-items:center;justify-content:center;min-width:260px;min-height:56px;padding:14px 32px;border-radius:80px;background:var(--b-blue);color:white;font-size:15px;font-weight:700;transition:background .2s}
.b-button:hover{background:var(--b-deep)}
.b-text-link{display:inline-block;margin-top:32px;padding-bottom:4px;border-bottom:1px solid currentColor;color:var(--b-blue);font-size:14px;font-weight:700}

/* Sections sit directly on the ground; only the form is a white card. */
.b-sec{position:relative;max-width:960px;margin:0 auto;padding:112px 16px 0;box-sizing:content-box;text-align:center}
.b-sec h2,.b-band h2{font-size:clamp(24px,2.6vw,34px);font-weight:700;color:var(--b-deep);line-height:1.5;margin-bottom:28px}

/* Hero: copy above two rows of model photos drifting slowly in opposite directions. */
.b-hero{position:relative;display:flex;flex-direction:column;justify-content:center;gap:32px;min-height:min(820px,calc(100svh - 96px));overflow:hidden;text-align:center;padding:40px 0 36px}
.b-hero-body{position:relative;z-index:1;max-width:900px;margin:0 auto;padding:0 16px}
.b-hero h1{font-size:clamp(26px,3.4vw,42px);line-height:1.6;font-weight:700;color:var(--b-deep);margin:12px 0 20px}
.b-hero-body>p:not(.b-eyebrow){font-size:15px;line-height:2.1;margin-bottom:32px}
.b-hero-rows{display:grid;gap:14px}
.b-hero-row{display:flex;gap:16px;width:-moz-max-content;width:max-content;animation:b-drift 90s linear infinite}
.b-hero-row:nth-child(2){animation-direction:reverse;animation-duration:110s;margin-left:-120px}
.b-hero-row img{width:140px;aspect-ratio:4/5;-o-object-fit:cover;object-fit:cover;-o-object-position:center 25%;object-position:center 25%;border-radius:20px;flex-shrink:0}
@keyframes b-drift{to{transform:translateX(calc(-50% - 8px))}}
@media(prefers-reduced-motion:reduce){.b-hero-row{animation:none}}
.b-logo-strip{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px 36px;max-width:960px;margin:0 auto;padding:28px 16px;border-top:1px solid var(--b-line);border-bottom:1px solid var(--b-line)}
.b-logo-strip img{width:auto;height:30px;max-width:110px;-o-object-fit:contain;object-fit:contain}

/* Needs: outlined speech bubbles with a marker on the key phrase; they rise in one by one when scrolled into view. */
.b-needs{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:32px 16px;text-align:left}
.b-need{position:relative;flex:0 0 calc((100% - 48px) / 4);box-sizing:border-box;background:white;border:1.5px solid var(--b-blue);border-radius:20px;padding:24px 20px}
.b-need:after{content:'';position:absolute;right:36px;bottom:-11px;width:18px;height:18px;background:white;border-right:1.5px solid var(--b-blue);border-bottom:1.5px solid var(--b-blue);transform:skewX(30deg) rotate(45deg)}
.b-need:nth-child(even):after{right:auto;left:36px;transform:skewX(-30deg) rotate(45deg)}
.b-need strong{display:block;font-size:15px;line-height:1.7;color:var(--b-deep);word-break:auto-phrase}
.b-need mark{background:linear-gradient(transparent 60%,#fff1a8 60%);color:inherit}
.b-need p{font-size:13px;line-height:1.9;color:#555;margin-top:10px}
@media(prefers-reduced-motion:no-preference){
 .b-need{opacity:0;transform:translateY(20px)}
 .b-needs.is-in .b-need{animation:b-rise .7s ease-out calc(var(--i) * .12s) forwards}
}
@keyframes b-rise{to{opacity:1;transform:none}}
@keyframes b-enter{from{opacity:0;transform:translateY(48px)}}
.b-cta{position:relative;display:block;margin:28px auto 0;max-width:960px;aspect-ratio:21/9;border-radius:32px;overflow:hidden;text-align:left;color:var(--b-deep);background:var(--b-soft)}
.b-cta img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s ease}
.b-cta:hover img{transform:scale(1.03)}
.b-cta-copy{position:absolute;left:52%;top:50%;transform:translateY(-60%);display:grid;gap:16px}
.b-cta-copy strong{font-size:clamp(22px,2.8vw,34px);line-height:1.6;letter-spacing:.06em}
.b-cta-copy>span{font-size:15px;line-height:2;color:#333}
.b-cta-tab{position:absolute;right:0;bottom:0;display:flex;align-items:center;gap:14px;padding:18px 28px 18px 36px;background:var(--b-blue);color:white;font-size:16px;font-weight:700;border-radius:32px 0 0 0;transition:background .2s}
.b-cta:hover .b-cta-tab{background:var(--b-deep)}
.b-cta-circle{display:grid;place-items:center;width:30px;height:30px;border:1px solid #ffffffb0;border-radius:50%}
.b-answer{margin-top:64px;font-size:18px;font-weight:700;color:var(--b-blue);letter-spacing:.06em}

/* Strengths: photo composition with an overlapping stat panel, alternating sides; a large outlined number behind the text. */
.b-reasons{list-style:none;padding:0;margin:88px 0 0;display:grid;gap:120px;text-align:left}
.b-reason{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:72px}
.b-reason:nth-child(even) .b-reason-visual{order:2}
.b-reason-visual{position:relative;padding-bottom:40px}
.b-reason-photos{display:grid;gap:12px}
.b-reason-photos img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:20px}
.is-photos-4 .b-reason-photos{grid-template-columns:repeat(4,1fr);align-items:start}
.is-photos-4 .b-reason-photos img{aspect-ratio:3/4;-o-object-position:center 25%;object-position:center 25%}
.is-photos-4 .b-reason-photos img:nth-child(even){margin-top:36px}
.is-photos-1 .b-reason-photos img{aspect-ratio:4/3;border-radius:28px}
.is-photos-2 .b-reason-photos{grid-template-columns:1.4fr 1fr;align-items:end}
.is-photos-2 .b-reason-photos img{aspect-ratio:4/3}
.is-photos-2 .b-reason-photos img:last-child{aspect-ratio:3/4;margin-bottom:-24px}
.b-stat{position:absolute;right:-20px;bottom:0;display:flex;align-items:center;gap:16px;padding:20px 28px;background:white;border-radius:20px;box-shadow:0 10px 30px #2f4f8f1f}
.b-reason:nth-child(even) .b-stat{right:auto;left:-20px}
.b-figure{font:700 56px/1 Arial,sans-serif;color:var(--b-blue);display:flex;align-items:baseline;white-space:nowrap}
.b-figure small{font:700 16px 'Noto Sans JP',sans-serif;margin-left:4px}
.b-figure .b-figure-pre{margin:0 4px 0 0}
.b-figure .b-sep{font-size:30px;margin:0 10px;color:var(--b-line)}
.b-reason-logos{display:flex;align-items:center;gap:18px}
.b-reason-logos img{height:32px;width:auto;max-width:110px;-o-object-fit:contain;object-fit:contain}
.b-badge{display:grid;place-items:center;align-content:center;width:64px;height:64px;border-radius:50%;background:var(--b-blue);color:white;font-size:11px;font-weight:700;line-height:1.35;flex-shrink:0}
.b-reason-text{position:relative}
.b-reason-no{position:absolute;top:-78px;right:0;font:700 150px/1 Arial,sans-serif;color:transparent;-webkit-text-stroke:1.5px #c9d6ec;z-index:0;pointer-events:none}
.b-reason-text>*:not(.b-reason-no){position:relative;z-index:1}
.b-reason-label{font:700 12px Arial,sans-serif;letter-spacing:.18em;color:var(--b-blue);margin-bottom:14px}
.b-reason h3{font-size:26px;line-height:1.55;color:var(--b-deep);margin-bottom:18px}
.b-reason-text>p:not(.b-reason-label){font-size:15px;line-height:2.1}
.b-tags{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.b-tags li{padding:6px 14px;border-radius:80px;background:var(--b-soft);color:var(--b-deep);font-size:13px;font-weight:700}
@media(prefers-reduced-motion:no-preference){
 .b-reason{animation:b-enter linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
}

/* Hair: a soft full-width band, photo trio on the left and the claim on the right. */
.b-hair{margin-top:120px;background:var(--b-soft);padding:96px 16px}
.b-hair-in{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.b-hair-photos{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:14px}
.b-hair-photos img{width:100%;-o-object-fit:cover;object-fit:cover;border-radius:20px;background:white}
.b-hair-photos img:nth-child(1){grid-row:span 2;height:100%;-o-object-position:center 20%;object-position:center 20%}
.b-hair-photos img:nth-child(2){aspect-ratio:1;-o-object-position:center 20%;object-position:center 20%}
.b-hair-photos img:nth-child(3){aspect-ratio:1;-o-object-position:center 20%;object-position:center 20%}
.b-hair-text h2{font-size:clamp(26px,3vw,38px);font-weight:700;color:var(--b-deep);line-height:1.5;margin-bottom:24px}
.b-hair-text>p:not(.b-eyebrow){font-size:15px;line-height:2.1;margin-bottom:12px}
.b-hair .b-tags li{background:white}

/* Natural: FANCL-style white photo cards with a blue corner tab, one point per card. */
.b-points{list-style:none;padding:0;margin:8px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;text-align:left}
.b-points li{position:relative;background:white;border-radius:28px;padding:16px 16px 28px;overflow:hidden}
.b-points img{width:100%;aspect-ratio:4/5;-o-object-fit:cover;object-fit:cover;-o-object-position:center 20%;object-position:center 20%;border-radius:18px;margin-bottom:22px}
.b-point-tab{position:absolute;top:16px;left:16px;z-index:1;padding:8px 16px;background:var(--b-blue);color:white;font:700 12px Arial,sans-serif;letter-spacing:.1em;border-radius:18px 0 14px 0}
.b-points h3{font-size:19px;color:var(--b-deep);margin:0 8px 10px}
.b-points p{font-size:14px;line-height:1.9;color:#444;margin:0 8px}

/* Models: a dense wall of faces fading out at the bottom, so the roster reads as larger than what is shown. */
.b-wall-wrap{position:relative;max-width:1100px;margin:0 auto}
.b-wall{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.b-wall img{width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover;-o-object-position:center 22%;object-position:center 22%;border-radius:14px;background:white}
.b-wall-more{position:relative;z-index:1;margin-top:-150px;padding-top:120px;background:linear-gradient(transparent,var(--b-ground) 110px);display:grid;justify-items:center;gap:20px}
.b-wall-more .b-figure{font-size:64px}
@media(prefers-reduced-motion:no-preference){
 .b-wall li{opacity:0;transform:scale(.9)}
 .b-wall.is-in li{animation:b-rise .5s ease-out calc(var(--i) * .05s) forwards}
}

/* Works: full-width deep blue band. */
.b-band{margin-top:112px;background:var(--b-deep);color:white;padding:96px 16px}
.b-band-in{max-width:1040px;margin:0 auto;text-align:center}
.b-band h2,.b-band .b-eyebrow,.b-band .b-text-link{color:white}
.b-band .b-note{color:#d6e0f2}
.b-media-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;text-align:left}
.b-media{display:flex;flex-direction:column}
.b-media h3{order:-1;align-self:flex-start;margin-bottom:12px;padding:6px 16px;border-radius:80px;background:white;color:var(--b-deep);font-size:14px;font-weight:700}
.b-media img{width:100%;-o-object-fit:cover;object-fit:cover;border-radius:16px;background:white}
.b-media-main{aspect-ratio:4/3}
.b-media-sub{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.b-media-sub img{aspect-ratio:4/3;border-radius:12px}

/* Research: layered sheets, photo with a stamp and icon fact list, tabbed panel with icon rows and chips. */
.b-lab h2{position:relative;display:inline-block;padding:0 56px}
.b-lab h2:before,.b-lab h2:after{content:'';position:absolute;top:50%;width:34px;height:40px;background:radial-gradient(circle,var(--b-blue) 1.6px,transparent 2px) 0 0/8px 8px;transform:translateY(-50%) skewX(-20deg)}
.b-lab h2:before{left:0}.b-lab h2:after{right:0;transform:translateY(-50%) skewX(20deg)}
.b-slider{position:relative;margin:24px 12px 0}
.b-slider-track{display:flex;gap:40px;align-items:stretch;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.b-slide{flex:0 0 100%;box-sizing:border-box;transition:opacity .6s}
.b-slide[aria-hidden=true]{opacity:.35}
.b-slider{overflow-x:clip;overflow-y:visible;padding:20px 20px 0;margin-left:-8px;margin-right:-8px}
.b-slider-arrow{position:absolute;top:50%;right:0;z-index:3;display:grid;place-items:center;width:56px;height:56px;border:1.5px solid var(--b-blue);border-radius:50%;background:white;color:var(--b-blue);cursor:pointer;box-shadow:0 6px 16px #2f4f8f22;transition:background .2s,color .2s,opacity .2s;margin-top:-28px}
.b-slider-arrow.is-prev{right:auto;left:0}
.b-slider-arrow.is-prev span{display:block;transform:scaleX(-1)}
.b-slider-arrow:hover:not(:disabled){background:var(--b-blue);color:white}
.b-slider-arrow:disabled{opacity:0;pointer-events:none}
.b-slider-dots{display:flex;justify-content:center;gap:10px;margin-top:36px}
.b-slider-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#c9d6ec;cursor:pointer}
.b-slider-dots button[aria-current=true]{width:28px;border-radius:10px;background:var(--b-blue)}
.b-karte-title{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700;color:var(--b-deep);margin-bottom:10px}
.b-karte-title span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--b-blue);color:white;font:700 14px Arial,sans-serif}
.b-karte-intro{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:12px 8px;font-size:15px;line-height:2}
.b-karte{position:relative;isolation:isolate;display:grid;grid-template-columns:.85fr 1.25fr;gap:24px;padding:28px;border-radius:40px;text-align:left}
.b-karte:before,.b-karte:after{content:'';position:absolute;inset:0;z-index:-1;border-radius:40px}
.b-karte:before{z-index:-2;background:#dfe8f6;transform:translate(-14px,-12px) rotate(-1.4deg);box-shadow:28px 30px 0 #c9d7ef}
.b-karte:after{background:white;border:1.5px solid #cfdaee}
.b-karte-side{display:flex;flex-direction:column;gap:18px}
.b-karte-photo{position:relative}
.b-karte-photo img{width:100%;aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;border-radius:24px}
.b-karte-stamp{position:absolute;right:-10px;bottom:-14px;display:grid;place-items:center;width:92px;height:92px;border-radius:50%;background:white;border:2px dashed var(--b-blue);color:var(--b-blue);font:700 12px/1.3 Arial,sans-serif;text-align:center;transform:rotate(-10deg);box-shadow:0 6px 16px #2f4f8f22}
.b-karte-side dl{margin:0;background:var(--b-ground);border-radius:20px;padding:6px 18px}
.b-karte-side dl>div{padding:14px 0;border-bottom:1px dashed #c9d6ec;font-size:13px;line-height:1.7}
.b-karte-side dl>div:last-child{border-bottom:0}
.b-karte-side dt{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--b-deep);margin-bottom:4px}
.b-karte-side dt .b-icon{width:18px;height:18px;color:var(--b-blue)}
.b-karte-side dd{margin:0 0 0 26px}
.b-karte-panel{min-width:0;background:white;border:2px solid var(--b-blue);border-radius:24px;padding:22px 26px 26px}
.b-karte-caption{font-size:13px;font-weight:700;color:var(--b-blue);padding-bottom:14px;margin-bottom:6px;border-bottom:1px solid var(--b-line)}
.b-lab-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--b-soft);color:var(--b-blue);flex-shrink:0}
.b-lab-icon .b-icon{width:22px;height:22px}
.b-lab-menu{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
.b-lab-menu li{display:flex;gap:14px;padding:16px 0;border-bottom:1px dashed #c9d6ec}
.b-lab-menu strong{display:block;font-size:14.5px;word-break:auto-phrase;color:var(--b-deep);margin:2px 0 4px}
.b-lab-menu p{font-size:12.5px;line-height:1.8;color:#444}
.b-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.b-chips span{padding:2px 9px;border-radius:80px;background:#fff4d6;color:#8a5a00;font-size:11px;font-weight:700}
.b-lab-fees{list-style:none;padding:0;margin:0}
.b-lab-fees li{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;padding:12px 0;border-bottom:1px dashed #c9d6ec}
.b-fee-name{font-size:14px;font-weight:700;color:var(--b-deep)}
.b-fee-price{font-size:12px;font-weight:700;color:#555;text-align:right}
.b-fee-price b{font:700 26px Arial,sans-serif;color:var(--b-blue);margin-right:2px}

/* Flow: steps on a line inside a blue frame, terms on the ground below. */
.b-frame{background:var(--b-blue);border-radius:40px;padding:20px}
.b-steps{list-style:none;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:white;border-radius:28px;padding:48px 24px 40px;position:relative}
.b-steps:before{content:'';position:absolute;left:10%;right:10%;top:69px;height:2px;background:var(--b-soft)}
.b-steps li{position:relative;display:grid;justify-items:center;gap:12px}
.b-steps span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--b-blue);color:white;font:700 10px Arial,sans-serif;letter-spacing:.04em;text-align:center;line-height:1.1;padding:0 6px;box-sizing:border-box}
.b-steps strong{font-size:16px;color:var(--b-deep)}
.b-terms{margin:40px 0 0;text-align:left;border-top:1px solid var(--b-line)}
.b-terms>div{display:grid;grid-template-columns:160px 1fr;gap:24px;padding:20px 8px;border-bottom:1px solid var(--b-line);font-size:14px;line-height:1.9}
.b-terms dt{font-weight:700;color:var(--b-deep)}
.b-terms dd{margin:0}

/* FAQ: heading on the left, ruled Q&A list on the right. */
.b-faq-sec{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;text-align:left}
.b-faq{display:grid;gap:48px}
.b-faq-group{border-top:1px solid var(--b-line)}
.b-faq-group details:last-child{border-bottom:0}
.b-faq-group h3{margin:0;padding:22px 4px 6px;font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--b-blue)}
.b-faq details{margin:0;padding:0;border:0;border-bottom:1px solid var(--b-line);border-radius:0;background:none}
.b-faq summary{list-style:none;cursor:pointer;display:flex;gap:16px;padding:24px 44px 24px 4px;position:relative;font-size:15px;font-weight:700;line-height:1.7;color:var(--b-deep)}
.b-faq summary::-webkit-details-marker{display:none}
.b-faq summary:after{content:'+';position:absolute;right:12px;top:50%;transform:translateY(-50%);font:400 24px Arial,sans-serif;color:var(--b-blue)}
.b-faq details[open] summary:after{content:'−'}
.b-faq span{flex-shrink:0;font:700 18px Arial,sans-serif;color:var(--b-blue)}
.b-faq details p{display:flex;gap:16px;padding:0 4px 24px;font-size:14px;line-height:2}
.b-faq details p span{color:#9aabcc}

/* Form: the page's only white card. */
.b-form{max-width:880px;margin-top:112px;padding:72px 64px 64px;background:white;border-radius:40px}
.b-form .r-contact-page{max-width:none;padding:0;text-align:left}
.b-form .r-contact-page .r-title{text-align:center}
.b-form .r-contact-page .r-title>span{display:none}
.b-form .r-contact-page h2{font-size:clamp(24px,2.6vw,34px);font-weight:700;color:var(--b-deep);margin:0}
.b-form-intro{text-align:center;margin:20px 0 8px}

.b-floating-cta{position:fixed;right:24px;bottom:24px;z-index:40;padding:16px 30px;border-radius:80px;background:var(--b-blue);color:white;font-size:14px;font-weight:700;box-shadow:0 6px 18px #2f4f8f33;transition:background .2s}
.b-floating-cta:hover{background:var(--b-deep)}

@media(max-width:960px){.b-need{flex-basis:calc((100% - 16px) / 2)}}
@media(max-width:700px){
 .b-page{padding-bottom:110px}
 .b-hero{min-height:0;gap:32px;padding:48px 0 44px}
 .b-hero-rows{gap:10px}
 .b-hero-row{gap:10px}
 .b-hero-row img{width:112px;border-radius:14px}
 @keyframes b-drift{to{transform:translateX(calc(-50% - 5px))}}
 .b-hero h1{font-size:22px;line-height:1.7}
 .b-hero-body>p:not(.b-eyebrow){font-size:14px;text-align:left}
 .b-hero-body>p br{display:none}
 .b-sp{display:inline}
 .b-logo-strip{gap:14px 20px;padding:20px 16px}
 .b-logo-strip img{height:24px;max-width:88px}
 .b-sec{padding-top:72px}
 .b-lead{font-size:14px}
 .b-lead br{display:none}
 .b-needs{gap:24px}
 .b-need{flex-basis:100%}
 .b-cta{position:relative;display:block;margin:28px auto 0;max-width:960px;aspect-ratio:21/9;border-radius:32px;overflow:hidden;text-align:left;color:var(--b-deep);background:var(--b-soft)}
.b-cta img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s ease}
.b-cta:hover img{transform:scale(1.03)}
.b-cta-copy{position:absolute;left:52%;top:50%;transform:translateY(-60%);display:grid;gap:16px}
.b-cta-copy strong{font-size:clamp(22px,2.8vw,34px);line-height:1.6;letter-spacing:.06em}
.b-cta-copy>span{font-size:15px;line-height:2;color:#333}
.b-cta-tab{position:absolute;right:0;bottom:0;display:flex;align-items:center;gap:14px;padding:18px 28px 18px 36px;background:var(--b-blue);color:white;font-size:16px;font-weight:700;border-radius:32px 0 0 0;transition:background .2s}
.b-cta:hover .b-cta-tab{background:var(--b-deep)}
.b-cta-circle{display:grid;place-items:center;width:30px;height:30px;border:1px solid #ffffffb0;border-radius:50%}
.b-answer{margin-top:40px;font-size:16px}
 .b-reasons{gap:72px}
 .b-reason{grid-template-columns:1fr;gap:28px}
 .b-reason:nth-child(even) .b-reason-visual{order:0}
 .b-stat{right:-4px;padding:14px 18px;gap:12px}
 .b-reason:nth-child(even) .b-stat{left:auto;right:-4px}
 .b-figure{font-size:40px}
 .b-figure small{font-size:13px}
 .b-reason-logos{gap:12px}
 .b-reason-logos img{height:24px;max-width:80px}
 .b-badge{width:52px;height:52px;font-size:10px}
 .b-reason-no{font-size:80px;top:-8px}
 .b-reason h3{font-size:20px}
 .is-photos-4 .b-reason-photos{gap:8px}
 .is-photos-4 .b-reason-photos img:nth-child(even){margin-top:20px}
 .b-faq-sec{grid-template-columns:1fr;gap:24px}
 .b-side{position:static}
 .b-hair{margin-top:72px;padding:64px 16px}
 .b-hair-in{grid-template-columns:1fr;gap:36px}
 .b-hair-text h2{font-size:24px}
 .b-points{grid-template-columns:1fr;gap:20px}
 .b-points img{aspect-ratio:4/3}
 .b-wall{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .b-wall img{border-radius:10px}
 .b-wall-more{margin-top:-110px;padding-top:90px}
 .b-wall-more .b-figure{font-size:48px}
 .b-band{margin-top:72px;padding:64px 16px}
 .b-media-list{grid-template-columns:1fr;gap:32px}
 .b-lab h2{padding:0;word-break:auto-phrase}
 .b-lab h2:before,.b-lab h2:after{display:none}
 .b-karte{grid-template-columns:1fr;padding:14px;border-radius:26px}
 .b-slider{margin:24px 0 0;padding:14px 8px 0}
 .b-slider-arrow{top:auto;bottom:-6px;width:44px;height:44px}
 .b-slider-dots{margin-top:28px}
 .b-slider-track{align-items:flex-start}
 .b-slide[aria-hidden=true]{height:0;overflow:hidden}
 .b-karte-intro{justify-content:flex-start}
 .b-karte:before,.b-karte:after{border-radius:26px}
 .b-karte:before{transform:translate(-6px,-8px) rotate(-1deg);box-shadow:12px 14px 0 #c9d7ef}
 .b-karte-stamp{width:72px;height:72px;font-size:10px;right:-4px}
   .b-lab-fees li{grid-template-columns:40px 1fr;row-gap:2px}
 .b-fee-price{grid-column:2;text-align:left}
 .b-lab-menu{grid-template-columns:1fr}
 .b-karte-panel{padding:18px 18px}
  .b-karte-side dl>div{grid-template-columns:84px 1fr}
 .b-frame{border-radius:28px;padding:12px}
 .b-steps{grid-template-columns:1fr;gap:18px;padding:28px 20px;border-radius:20px}
 .b-steps:before{left:42px;right:auto;top:40px;bottom:40px;width:2px;height:auto}
 .b-steps li{grid-template-columns:44px 1fr;justify-items:start;align-items:center;gap:16px}
 .b-terms>div{grid-template-columns:1fr;gap:4px}
 .b-form{margin:72px 16px 0;padding:48px 22px 36px;border-radius:24px}
 .b-button{min-width:0;width:100%}
 .b-floating-cta{display:none}
}
@media(prefers-reduced-motion:reduce){.b-page *{transition:none!important}}
@media(max-width:700px){
 .b-cta{aspect-ratio:4/5;border-radius:24px}
 .b-cta-copy{left:24px;right:24px;top:auto;bottom:88px;transform:none;gap:10px}
 .b-cta-copy strong{font-size:22px}
 .b-cta-copy>span{font-size:13px}
 .b-cta-tab{padding:14px 20px 14px 26px;font-size:15px;border-radius:24px 0 0 0}
 }


/* Recruit page: SHElikes-style content and UI in our own blues (DESIGN.md); shares tokens and parts with business.css. */
.rc-page{--rc-action:#e27a5f;--rc-action-deep:#bf5b43;--rc-gold:#d8b676;--rc-cta:#b42f47;--rc-cta-edge:#942438;--rc-cream:#fff6e8;--rc-pale:#e8eff9;--rc-mid:#c9d8ef;--rc-tone1:#7f9fd6;--rc-tone2:#5371af;--rc-tone3:#3f5f9f;--rc-tone4:#2f4f8f}
.rc-hand{font-family:'Zen Kurenaido',sans-serif;font-weight:400;letter-spacing:.04em}

/* Apply button (SHElikes shape): deep coral bar, small radius, darker bottom edge, thin chevron, pill note centered on the top edge. */
.rc-apply-wrap{position:relative;display:inline-block;padding-top:14px}
.rc-bubble{position:absolute;top:0;left:50%;z-index:1;transform:translateX(-50%);white-space:nowrap;padding:3px 18px;border:1.5px solid var(--rc-cta);border-radius:80px;background:white;color:var(--rc-cta);font-size:13px;font-weight:700;letter-spacing:.04em}
.rc-apply{position:relative;display:flex;align-items:center;justify-content:center;min-width:420px;min-height:64px;padding:18px 56px;box-sizing:border-box;border-radius:4px;background:var(--rc-cta);color:white;font-size:clamp(17px,1.5vw,20px);font-weight:700;letter-spacing:.12em;box-shadow:0 4px 0 var(--rc-cta-edge);transition:transform .15s,box-shadow .15s}
.rc-apply:hover{transform:translateY(2px);box-shadow:0 2px 0 var(--rc-cta-edge)}
.rc-apply .rc-apply-circle{position:absolute;right:24px;width:10px;height:10px;border:0;border-top:2px solid white;border-right:2px solid white;border-radius:0;transform:rotate(45deg)}
.rc-apply .rc-apply-circle svg{display:none}
.rc-apply-circle{display:grid;place-items:center;width:28px;height:28px;border:1px solid #ffffffb0;border-radius:50%}

/* Hero: a generated woman and man in the same room cross-fade on the left; copy sits in white boxes on the right. */
.rc-hero{position:relative;min-height:min(760px,calc(100svh - 96px));display:flex;align-items:center;justify-content:flex-end;overflow:hidden;background:#eef3f8}
.rc-hero-bg img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:left center;object-position:left center}
.rc-hero-man{animation:rc-swap 14s ease-in-out infinite}
/* apply button: always-on attention motion (shine sweep + gentle pulse + chevron nudge) */
.rc-apply{overflow:hidden;animation:rc-pulse 3.2s ease-in-out infinite}
.rc-apply::after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:30%;background:linear-gradient(105deg,transparent,#ffffff70,transparent);transform:skewX(-20deg);animation:rc-shine 3.2s ease-in-out infinite;pointer-events:none}
.rc-apply .rc-apply-circle{animation:rc-nudge 1.6s ease-in-out infinite}
.rc-apply:hover{animation:none}
@keyframes rc-shine{0%,55%{left:-40%}100%{left:130%}}
@keyframes rc-pulse{0%,60%,100%{transform:scale(1)}72%{transform:scale(1.03)}84%{transform:scale(1)}}
@keyframes rc-nudge{0%,100%{translate:0 0}50%{translate:4px 0}}
@media(prefers-reduced-motion:reduce){.rc-apply,.rc-apply::after,.rc-apply .rc-apply-circle{animation:none}}
@keyframes rc-swap{0%,40%{opacity:0}50%,90%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.rc-hero-man{animation:none;opacity:0}}
.rc-hero-body{position:relative;z-index:1;width:min(600px,46%);margin-right:max(4vw,24px);padding:56px 0;display:grid;gap:26px}
/* Hero copy block (Figma node 6:60): a 400×391 composition. On .rc-kv 1em = 10 design px; children that change font-size restate positions in their own em, so setting .rc-kv font-size scales the whole piece. */
.rc-kv{position:relative;width:40em;height:39.1em;font-size:calc(min(600px,46vw) / 40);color:#364e8b;font-feature-settings:'palt'}
.rc-kv h1{margin:0;font-size:1em;font-weight:500}
.rc-kv-lead{position:absolute;left:0;top:.214em;width:14.286em;height:1.714em;padding-left:8.214em;box-sizing:border-box;display:flex;align-items:center;background:white;font-size:2.8em;letter-spacing:.05em;white-space:nowrap}
.rc-kv-hand{position:absolute;left:1.071em;top:-.107em;width:7.036em;height:1.929em}
.rc-kv-band{position:absolute;left:0;width:10em;height:1.6em;padding-left:.825em;box-sizing:border-box;display:flex;align-items:center;background:#364e8b;color:white;font-size:4em;letter-spacing:.1em;white-space:nowrap}
.rc-kv-band:nth-child(2){top:1.65em}.rc-kv-band:nth-child(3){top:3.55em}
.rc-kv-num{font-family:Avenir,'Avenir Next','Helvetica Neue',Arial,sans-serif;font-weight:900;letter-spacing:.02em}
.rc-kv-dai{font-size:.925em}
.rc-kv-exclaim{position:absolute;left:8.415em;top:.3em;width:.24em;height:1em;transform:rotate(18.41deg)}
.rc-kv-medal{position:absolute;left:.4em;top:23.8em;width:18.7em;height:12.8em;margin:0;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:700}
.rc-kv-laurel{position:absolute;top:0;left:0;width:28.57%;height:100%}
.rc-kv-laurel.is-right{left:auto;right:0}
.rc-kv-stars{position:absolute;top:0;left:50%;width:4.5em;height:1.8em;transform:translateX(-50%)}
.rc-kv-medal span{padding-top:.5em;font-size:2em;line-height:1.35}
.rc-kv-medal b{font:900 1.9em/.95 Avenir,'Avenir Next','Helvetica Neue',Arial,sans-serif}
.rc-kv-medal em{font-style:normal;font-size:1.4em;line-height:.95}
.rc-kv-ages{position:absolute;left:8.73em;top:8.846em;width:5.846em;height:5.846em;box-sizing:border-box;margin:0;padding-top:1.23em;border:.115em solid #364e8b;border-radius:50%;background:white;box-shadow:0 .154em .19em #00000026;font-size:2.6em;line-height:1.15;text-align:center}
.rc-kv-ages b{font:900 1.23em/1 Avenir,'Avenir Next','Helvetica Neue',Arial,sans-serif}
.rc-kv-ages small{font-size:.77em;font-weight:700}
.rc-kv-tag{position:absolute;right:0;top:20.44em;width:12.625em;height:2.25em;margin:0;display:flex;align-items:center;justify-content:center;border-radius:.3125em;background:linear-gradient(90deg,#364e8b,#ef7e46);color:white;font-size:1.6em;font-weight:700;white-space:nowrap}
@media(max-width:700px){.rc-kv{font-size:calc((100cqw - 32px) / 40)}}
.rc-hero .rc-apply-wrap{display:block}
.rc-hero .rc-apply{width:100%;min-width:0}
/* PC: the hero is a 16:9 stage capped at the first view (viewport minus the 112px announce bar + header); --u is 1vw until the cap applies, so the copy scales with the stage. */
@media(min-width:701px){
 .rc-hero{--u:min(1vw,calc((100svh - 112px) / 56.25));min-height:0;height:calc(var(--u) * 56.25)}
 /* stage: photo keeps the 16:9 composition, centered; on wide+short screens the sides fade into the hero ground */
 .rc-hero-bg{position:absolute;top:0;bottom:0;left:50%;width:calc(var(--u) * 100);transform:translateX(-50%);--fade:min(80px,calc((100vw - var(--u) * 100) * 4));-webkit-mask-image:linear-gradient(90deg,transparent,#000 var(--fade),#000 calc(100% - var(--fade)),transparent);mask-image:linear-gradient(90deg,transparent,#000 var(--fade),#000 calc(100% - var(--fade)),transparent)}
 .rc-hero-bg img{-o-object-position:left top;object-position:left top}
 .rc-hero-bg .rc-hero-man{-o-object-position:left 42%;object-position:left 42%}
 .rc-hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 42%,#ffffff8c 62%,#ffffffb3)}
 .rc-hero-body{width:calc(var(--u) * 30);margin-right:calc(50vw - var(--u) * 38);padding:0;gap:calc(var(--u) * 1.4)}
 .rc-kv{font-size:calc(var(--u) * .75)}
 .rc-hero .rc-apply-wrap{padding-top:max(16px,calc(var(--u) * 1.2))}
 .rc-hero .rc-apply{min-height:calc(var(--u) * 4.4);padding:var(--u) calc(var(--u) * 3);font-size:calc(var(--u) * 1.4)}
 .rc-hero .rc-apply .rc-apply-circle{right:calc(var(--u) * 1.8);width:calc(var(--u) * .7);height:calc(var(--u) * .7)}
 .rc-hero .rc-bubble{padding:calc(var(--u) * .2) calc(var(--u) * 1.2);font-size:max(11px,calc(var(--u) * .9))}
}

/* こんな方におすすめ: pill heading and four photo cards. */
.rc-pill{display:inline-block;padding:10px 32px;border-radius:8px;background:var(--b-blue);color:white!important;font-size:clamp(18px,2vw,24px)!important;letter-spacing:.06em}
.rc-for-list{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;text-align:left}
.rc-for-list li{background:white;border-radius:16px;overflow:hidden}
.rc-for-list img{width:100%;aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;-o-object-position:center 20%;object-position:center 20%}
.rc-for-list p{padding:16px 18px 20px;font-size:14px;font-weight:700;line-height:1.8;color:var(--b-deep)}
.rc-for-list p span{display:block}

/* Voices: photo with the name, BEFORE → NOW rows below it (never over the face), then the quote with marked phrases. */
.rc-sub-hand{margin:-16px 0 32px;font-size:22px;color:var(--b-blue)}
.rc-voices{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;text-align:left}
.rc-voices li{display:flex;flex-direction:column;background:white;border-radius:16px;overflow:hidden}
.rc-voice-top{position:relative}
.rc-voice-top img{width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover;-o-object-position:center 15%;object-position:center 15%}
.rc-voice-name{position:absolute;left:0;bottom:16px;padding:6px 16px;background:white;font-size:14px;font-weight:700;color:var(--b-deep);letter-spacing:.04em}
.rc-ba{display:grid;gap:0;margin:20px 20px 0}
.rc-ba p{padding:8px 14px;border-radius:6px;font-size:14px;font-weight:700;line-height:1.5}
.rc-ba small{display:block;font:700 10px Arial,sans-serif;letter-spacing:.12em}
.rc-ba-before{background:#f1f3f6;color:#666}
.rc-ba-after{background:var(--rc-pale);color:var(--b-deep)}
.rc-ba-after small{color:var(--rc-action-deep)}
.rc-ba>span{justify-self:center;width:0;height:0;margin:4px 0;border:7px solid transparent;border-top-color:var(--rc-mid);border-bottom:0}
.rc-voices blockquote{margin:0;padding:16px 20px 24px;font-size:14px;line-height:2;color:#333}
.rc-voices mark{background:linear-gradient(transparent 55%,#ffe3a3 55%);color:var(--b-deep);font-weight:700}
.rc-ribbon{margin:64px 0 20px}
.rc-ribbon span{display:inline-block;padding:0 4px;background:linear-gradient(transparent 62%,#ffe3a3 62%);color:var(--b-deep);font-size:clamp(22px,2.4vw,30px);font-weight:700;letter-spacing:.08em}

/* Steps: four color-toned header bands over photos. */
.rc-steps-sec{margin-top:112px;padding:88px 16px;background:var(--rc-pale);text-align:center}
.rc-steps-in{max-width:1040px;margin:0 auto}
.rc-steps-sec h2{font-size:clamp(24px,2.6vw,34px);font-weight:700;color:var(--b-deep);margin-bottom:36px}
.rc-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:white;border-radius:16px;overflow:hidden}
.rc-steps li{display:flex;flex-direction:column;border-left:1px solid var(--b-line)}
.rc-steps li:first-child{border-left:0}
.rc-step-no{padding:10px;color:white;font:700 15px Arial,sans-serif;letter-spacing:.12em}
.rc-steps li:nth-child(1) .rc-step-no{background:var(--rc-tone1)}
.rc-steps li:nth-child(2) .rc-step-no{background:var(--rc-tone2)}
.rc-steps li:nth-child(3) .rc-step-no{background:var(--rc-tone3)}
.rc-steps li:nth-child(4) .rc-step-no{background:var(--rc-tone4)}
.rc-steps strong{padding:18px 8px;font-size:18px;color:var(--b-deep)}
.rc-steps img{width:100%;aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover}
.rc-steps p{padding:16px 18px 22px;font-size:13px;line-height:1.9;color:#444;text-align:left}

/* Tinted chapters with POINT cards, joined by a plus sign and arrows. */
.rc-panel{max-width:960px;margin:112px auto 0;padding:0 16px;box-sizing:content-box;text-align:center}
.rc-panel-in{display:grid;gap:18px;margin-top:-28px;padding:64px 36px 36px;border-radius:32px}
.rc-panel.is-light .rc-panel-in{background:var(--rc-pale)}
.rc-panel.is-deep .rc-panel-in{background:var(--rc-mid)}
.rc-banded{position:relative;z-index:1;display:grid;justify-items:center;gap:6px;margin:0;color:var(--b-deep)}
.rc-banded span{font-size:clamp(17px,1.8vw,21px);font-weight:700;letter-spacing:.08em}
.rc-banded b{padding:8px 26px;background:var(--b-blue);color:white;font-size:clamp(24px,2.8vw,36px);letter-spacing:.1em}
.rc-panel.is-deep .rc-banded b{background:var(--b-deep)}
.rc-point{display:grid;grid-template-columns:1fr 260px;align-items:center;gap:32px;background:white;border-radius:20px;padding:28px 32px;text-align:left}
.rc-point-no{font:700 12px Arial,sans-serif;letter-spacing:.14em;color:var(--rc-tone1);margin-bottom:6px}
.rc-point h3{font-size:22px;color:var(--b-deep);margin-bottom:10px}
.rc-point p:not(.rc-point-no):not(.rc-point-tag){font-size:14px;line-height:2}
.rc-point img{width:100%;aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;-o-object-position:center 20%;object-position:center 20%;border-radius:14px}
.rc-relief .rc-point{grid-template-columns:1fr 200px}
.rc-point-tag{display:grid;place-items:center;height:100%;min-height:96px;border-radius:14px;background:var(--rc-pale);color:var(--b-deep);font-size:16px;font-weight:700;text-align:center;padding:12px}
/* wrap the age tag only between whole ages (50代・60代・ / 70代・80代), never a lone 代 */
.rc-point-tag{text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}
.rc-arrows{display:grid;justify-items:center;gap:2px;margin:32px 0 0}
.rc-arrows span{width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:12px solid var(--b-deep)}
.rc-arrows span:nth-child(1){opacity:.25}.rc-arrows span:nth-child(2){opacity:.55}

/* Works: photos beside the explanation and chips. */
.rc-work{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center;text-align:left}
.rc-work-photos{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
/* the work photos are all landscape (about 10:7): first one full width, two below, shown uncropped */
.rc-work-photos li:first-child{grid-column:span 2}
.rc-work-photos img{width:100%;height:auto;aspect-ratio:10/7;-o-object-fit:cover;object-fit:cover;border-radius:14px;background:white}
.rc-work p{font-size:15px;line-height:2.1;margin-bottom:20px}
.rc-chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.rc-chips li{padding:6px 14px;border-radius:80px;background:white;border:1px solid var(--rc-mid);color:var(--b-deep);font-size:13px;font-weight:700}

/* Fee: two figures side by side in a blue-bordered frame. */
.rc-fee{display:grid;grid-template-columns:1fr 1fr;background:white;border:2px solid var(--b-blue);border-radius:28px;overflow:hidden;text-align:left}
.rc-fee-col{padding:32px 36px}
.rc-fee-col+.rc-fee-col{border-left:1px dashed var(--rc-mid)}
.rc-fee-label{display:inline-block;padding:4px 14px;border-radius:80px;background:var(--rc-pale);color:var(--b-deep);font-size:13px;font-weight:700}
.rc-fee-num{margin:10px 0 8px;font-size:16px;font-weight:700;color:var(--b-deep)}
.rc-fee-num b{font:700 48px Arial,sans-serif;color:var(--b-blue);margin-right:4px}
.rc-fee-num small{font-size:13px;color:#555}
.rc-fee-col>p:last-child{font-size:13px;line-height:1.9;color:#555}

/* Prepare list. */
.rc-prep-sec{padding-top:72px}
.rc-prepare{background:white;border-radius:24px;padding:28px 36px;text-align:left}
.rc-prepare .rc-prepare-title{font-size:24px;font-weight:700;color:var(--b-deep);margin-bottom:16px}
.rc-prepare ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px}
.rc-prepare li{position:relative;padding-left:28px;font-size:14px;line-height:1.8}
.rc-prepare li:before{content:'';position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:5px;background:var(--b-blue)}
.rc-prepare li:after{content:'';position:absolute;left:6px;top:6px;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}

/* Final entry card on a soft blue wash. */
.rc-final{margin-top:112px;padding:72px 16px;background:linear-gradient(120deg,#dbe6f6,var(--rc-cream) 50%,#c9d8ef)}
.rc-final-card{max-width:880px;margin:0 auto;padding:48px 32px 40px;background:#ffffffe8;border-radius:28px;text-align:center}
.rc-final-tag{font:700 12px Arial,sans-serif;letter-spacing:.2em;color:var(--b-blue);margin-bottom:8px}
.rc-final-card h2{font-size:clamp(26px,3vw,38px);color:var(--b-deep);margin-bottom:12px}
.rc-final-card .rc-final-hand{display:inline-block;width:auto;height:1.3em;margin-right:4px;vertical-align:-.3em}
/* corner brackets frame the whole phrase (「新しい一歩を、ここから。」); drawn in CSS so the heading text stays unchanged */
.rc-final-card h2::before{content:'「'}
.rc-final-card h2::after{content:'」'}
/* keeps the heading text for screen readers and search; the lettering image shows it */
.rc-final-hand-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rc-final-card>p{font-size:14px;margin-bottom:24px}
.rc-floating{border-radius:4px;background:var(--rc-cta)}
.rc-floating:hover{background:var(--rc-cta-edge)}

@media(max-width:700px){
 /* SP hero (SHElikes-like): headline over the top of the photo, badges over its lower edge, the apply button right under the photo */
 .rc-hero{display:block;min-height:auto;container-type:inline-size}
 .rc-hero-bg{position:absolute;left:0;right:0;top:calc(16px + (100cqw - 32px) / 40 * 15);height:124cqw;-webkit-mask-image:linear-gradient(transparent,#000 48px);mask-image:linear-gradient(transparent,#000 48px)}
 .rc-hero-bg img{top:-9cqw;height:calc(100% + 9cqw);-o-object-position:center top;object-position:center top}
 .rc-hero-man{-o-object-position:2% top!important;object-position:2% top!important}
 .rc-hero-body{width:auto;margin:0;padding:16px 16px 28px;gap:16px}
 .rc-kv{height:calc(15em + 124cqw - 12px)}
 .rc-kv-medal{top:auto;bottom:2.5em;color:white;text-shadow:0 1px 6px #0009}
 .rc-kv-ages{top:auto;bottom:.346em}
 .rc-kv-tag{top:auto;bottom:1.75em}
 .rc-apply-wrap{display:block}
 .rc-apply{min-width:0;width:100%;padding-inline:40px;letter-spacing:.06em}
 .rc-for-list,.rc-voices{grid-template-columns:1fr}
 .rc-for-list{grid-template-columns:1fr 1fr;gap:10px}
 .rc-for-list p{font-size:12.5px;padding:12px}
 .rc-steps{grid-template-columns:1fr}
 .rc-steps li{border-left:0;border-top:1px solid var(--b-line)}
 .rc-panel-in{padding:52px 14px 14px;border-radius:24px}
 .rc-point,.rc-relief .rc-point{grid-template-columns:1fr;gap:16px;padding:22px 20px}
 .rc-point img{order:-1}
 .rc-point-tag{min-height:0}
 .rc-work,.rc-fee{grid-template-columns:1fr}
 .rc-fee-col+.rc-fee-col{border-left:0;border-top:1px dashed var(--rc-mid)}
 .rc-fee-col{padding:24px}
 .rc-prepare{padding:22px}
 .rc-prepare ul{grid-template-columns:1fr}
}

.r-model-directory{max-width:1440px;margin:0 auto;padding:64px var(--gutter) 64px}
.r-directory-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:64px}
.r-directory-heading{flex-shrink:0}
.r-directory-heading .r-title{margin:0;text-align:left}
.r-directory-heading .r-title>span{font-size:76px;line-height:1;letter-spacing:-.045em}
.r-directory-heading .r-title h1{margin:16px 0 0;font-size:15px}
.r-model-index{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding-bottom:2px}
.r-model-index a{display:flex;align-items:baseline;gap:7px;padding:12px 0;color:#222;font-size:14px;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s,color .2s;white-space:nowrap;min-height:44px}
.r-model-index small{font:10px/1 Arial,sans-serif;color:#697486}
.r-model-index a>span:last-child{margin-left:5px;color:#5371af;font-size:16px;transition:transform .2s}
.r-model-index a:hover{border-color:#5371af;color:#5371af}
.r-model-index a:hover>span:last-child{transform:translate(2px,2px)}
.r-model-group{scroll-margin-top:32px;margin-bottom:96px}
.r-model-group-heading{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:0;margin-bottom:24px}
.r-model-group-heading h2{display:flex;align-items:baseline;gap:20px;margin:0;font-size:17px;font-weight:500}
.r-model-group-heading h2>span:first-child{font:600 40px/1 Arial,sans-serif;letter-spacing:-.04em;color:#5371af}
.r-model-group-heading>p{font-size:13px;color:#697486;margin:0}
.r-directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 24px}
.r-directory-grid figure{min-width:0;margin:0}
.r-directory-photo{aspect-ratio:4/5;overflow:hidden;border-radius:6px;background:#f1f1f1}
.r-directory-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 12%;object-position:center 12%;display:block}
.r-directory-grid figcaption{padding:16px 0 0}
.r-directory-grid h3{font-size:16px;line-height:1.6;margin:0;font-weight:600;overflow-wrap:anywhere}
.r-directory-grid figcaption p{font:12px/1.7 Arial,sans-serif;color:#697486;letter-spacing:.04em;margin:4px 0 0}
.r-directory-back{display:block;width:-moz-fit-content;width:fit-content;margin:32px 0 0 auto;font-size:12px;color:#5371af;text-underline-offset:5px}
.r-model-directory :focus-visible{outline:3px solid #819cdb;outline-offset:4px}
@media(max-width:1000px){.r-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.r-directory-intro{align-items:flex-start;flex-direction:column;gap:28px}.r-model-index{gap:28px}}
@media(max-width:700px){
	.r-model-directory{padding:48px 24px 24px}
	.r-directory-intro{gap:20px;margin-bottom:36px}
	.r-directory-heading .r-title>span{font-size:56px}
	.r-directory-heading .r-title h1{margin-top:12px;font-size:13px}
	.r-model-index{gap:4px 20px}
	.r-model-index a{font-size:13px;gap:5px;padding:8px 0}
	.r-model-index small{display:none}
	.r-model-index a>span:last-child{margin-left:0;font-size:13px}
	.r-model-group{margin-bottom:56px;scroll-margin-top:24px}
	.r-model-group-heading{padding-bottom:0;margin-bottom:20px}
	.r-model-group-heading h2{font-size:14px;gap:14px}
	.r-model-group-heading h2>span:first-child{font-size:32px}
	.r-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}
	.r-directory-grid figcaption{padding-top:12px}
	.r-directory-grid h3{font-size:14px}
	.r-directory-grid figcaption p{font-size:11px;letter-spacing:.02em}
}

:root{--ink:#252c3c;--blue:#435a86;--rose:#80618c;--sky:#f0f4f9;--pink:#f4f0f6;--paper:#f8f9fb;--line:#dce1e9;--muted:#687080;--gutter:clamp(24px,5.5vw,100px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:white;font-family:'Noto Sans JP',sans-serif;font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{text-wrap:pretty}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #9174a2;outline-offset:5px}
section{scroll-margin-top:110px}.r-only-mobile{display:none}
/* Recruiting banner: a thin bar above the header on every page (SHElikes campaign-bar position, no countdown). */
.r-announce{display:flex;align-items:center;justify-content:center;gap:14px;min-height:36px;padding:6px 16px;background:#5371af;color:white;font-size:13px;letter-spacing:.08em;line-height:1.4;text-align:center}
.r-announce b{padding:2px 10px;border-radius:2px;background:white;color:#5371af;font-size:12px;white-space:nowrap}
.r-announce-short{display:none}
.r-announce::after{content:'';width:6px;height:6px;border-top:1.5px solid white;border-right:1.5px solid white;transform:rotate(45deg)}
.r-announce:hover span{text-decoration:underline}
@media(max-width:700px){.r-announce{gap:10px;font-size:12px;letter-spacing:.04em}.r-announce b{font-size:11px;padding:1px 8px}.r-announce-long{display:none}.r-announce-short{display:inline}}
.r-header{height:100px;display:flex;align-items:center;gap:28px;padding:0 var(--gutter);position:relative;z-index:40;background:white;border-bottom:1px solid #f0f1f4}
.r-brand{display:block;width:174px;flex-shrink:0}.r-brand img{width:100%;height:auto}
.r-brand-caption{font:600 10px/1.5 Arial,sans-serif;letter-spacing:.08em;border-left:1px solid var(--line);padding-left:26px}
.r-header-actions{margin-left:auto;display:flex;gap:12px;font-size:12px;font-weight:600}
.r-header-actions a{display:flex;align-items:center;gap:30px;border:1px solid var(--line);border-radius:60px;padding:11px 22px;transition:background .2s}
.r-header-actions a:last-child{background:var(--blue);border-color:var(--blue);color:white}.r-header-actions a:hover{background:var(--pink);color:var(--ink)}
.r-menu{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:52px;height:52px;flex-shrink:0;border:1px solid var(--ink);border-radius:50%;background:white;color:var(--ink)}
.r-menu>span{width:17px;height:1px;background:currentColor;transition:transform .2s}.r-menu small{font:8px/1 Arial,sans-serif;letter-spacing:.06em;margin-top:2px}
.r-menu.is-open>span:first-child{transform:translateY(3px) rotate(45deg)}.r-menu.is-open>span:nth-child(2){transform:translateY(-3px) rotate(-45deg)}
.r-header nav{position:absolute;right:var(--gutter);top:calc(100% + 12px);width:min(460px,calc(100vw - 48px));padding:26px 32px;background:white;border:1px solid var(--line);border-radius:24px;box-shadow:0 22px 60px #28395920}
.r-header nav[hidden]{display:none}.r-header nav a{display:flex;gap:22px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line);font-size:16px;font-weight:500}
.r-header nav a:last-child{border:0}.r-header nav a>span:first-child{font:11px Arial,sans-serif;color:var(--muted)}.r-header nav a>span:last-child{margin-left:auto;color:var(--blue)}.r-header nav a:hover,.r-header nav a[aria-current]{color:var(--rose)}
.r-hero{position:relative;isolation:isolate;height:min(760px,calc(100svh - 100px));min-height:590px;background:#535c67;color:white;overflow:hidden;border-radius:0 0 36px 36px}
.r-hero-photos{position:absolute;inset:0;z-index:-2;display:grid;grid-template-columns:1.1fr .85fr 1.1fr .95fr;grid-template-rows:52% 48%;gap:5px}
.r-hero-photo{overflow:hidden;background:#d8d8dc}.r-hero-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 24%;object-position:50% 24%;transform:scale(1.04)}
.photo-1{grid-column:1;grid-row:1/3}.photo-2{grid-column:2;grid-row:1}.photo-3{grid-column:2;grid-row:2}.photo-4{grid-column:3;grid-row:1/3}.photo-5{grid-column:4;grid-row:1}.photo-6{grid-column:4;grid-row:2}
.r-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#13212c88,#17232c65 45%,#17232c12),linear-gradient(0deg,#18243575,transparent 45%)}
.r-hero-copy{position:absolute;left:11%;top:22%;max-width:900px}.r-eyebrow{display:block;font:600 12px/1.5 Arial,sans-serif;letter-spacing:.18em}
.r-hero h1{font-size:clamp(44px,4.5vw,76px);font-weight:600;line-height:1.5;letter-spacing:.035em;margin:20px 0 22px;text-shadow:0 2px 20px #18203022}
.r-hero-copy>p{font-size:16px;font-weight:500;letter-spacing:.04em;line-height:2}
.r-hero-bottom{position:absolute;bottom:46px;left:var(--gutter);right:var(--gutter);display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.r-hero-actions{display:flex;gap:14px}
.r-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:60px;min-width:250px;padding:15px 20px 15px 28px;border:1px solid var(--blue);border-radius:80px;background:var(--blue);color:white;font-size:14px;font-weight:500;transition:background .2s,box-shadow .2s,transform .2s}
.r-button>span{display:grid;place-items:center;width:29px;height:29px;border:1px solid #ffffff6b;border-radius:50%;font-family:Arial,sans-serif;flex-shrink:0;transition:transform .2s}
.r-button.rose{background:var(--rose);border-color:var(--rose)}.r-button:hover{transform:translateY(-2px);box-shadow:0 10px 24px #24375220}.r-button:hover>span{transform:rotate(45deg)}
.r-hero-actions .r-button{background:white;border-color:white;color:var(--ink);min-width:270px}.r-hero-actions .r-button>span{border-color:#7b81904d}
.r-hero-actions .rose{background:var(--blue);border-color:var(--blue);color:white}.r-hero-actions .rose>span{border-color:#ffffff6b}
.r-scroll{display:flex;align-items:center;gap:24px;font:10px Arial,sans-serif;letter-spacing:.12em}.r-scroll>span:last-child{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffff66;border-radius:50%;font-size:20px}
.r-section{max-width:1360px;margin:auto;padding:112px var(--gutter)}.r-title{margin-bottom:24px}
.r-title>span{display:block;font:500 clamp(48px,5vw,76px)/1.1 Arial,sans-serif;letter-spacing:-.045em;color:var(--ink)}
.r-title :is(h1,h2){font-size:18px;font-weight:500;line-height:1.8;margin-top:18px;letter-spacing:.04em}
.r-intro{font-size:15px;line-height:2.1;max-width:740px;color:var(--muted);margin:0 0 32px}
.r-models{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:45px 0 24px}.r-models figure{min-width:0}
.r-models img{width:100%;aspect-ratio:4/5;-o-object-fit:cover;object-fit:cover;-o-object-position:center 25%;object-position:center 25%;border-radius:12px 12px 58px 12px;background:var(--paper)}
.r-models figcaption{display:flex;align-items:center;gap:18px;padding:17px 0;font-size:12px;color:var(--muted)}.r-models figcaption span{font:500 38px/1 Arial,sans-serif;letter-spacing:-.04em;color:var(--ink)}
.r-center{text-align:center;margin:40px auto 0}.r-center>p{margin-top:18px}
.r-work-section{max-width:none;background:var(--sky);border-radius:60px 60px 0 0;padding-top:100px;padding-bottom:80px}
.r-work-section>.r-title,.r-work-section>.r-intro{max-width:1160px;margin-left:auto;margin-right:auto}
.r-work-slider{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;max-width:1440px;margin:45px auto 24px;padding:0 0 22px;scrollbar-width:thin;scrollbar-color:#b3bed0 transparent}
.r-work-slider figure{flex:0 0 clamp(280px,35vw,520px);scroll-snap-align:start;overflow:hidden;border-radius:14px;background:white}
.r-work-slider img,.r-work-grid img{width:100%;aspect-ratio:10/7;-o-object-fit:contain;object-fit:contain;background:white}
.r-slider-nav{display:flex;align-items:center;justify-content:flex-end;gap:22px;max-width:1160px;margin:auto;font-size:13px}.r-slider-nav>a{margin-right:auto;border-bottom:1px solid var(--ink);padding:8px 0}
.r-slider-nav button{width:50px;height:50px;border:1px solid #b6bfd0;background:white;border-radius:50%;font:20px Arial,sans-serif;color:var(--blue);transition:background .2s}.r-slider-nav button:hover{background:var(--blue);color:white}
.r-slider-nav>a{order:0}.r-slider-nav button{order:1}
.r-clients{max-width:1160px;margin:72px auto 0;padding:38px 40px;background:white;border-radius:24px}.r-clients>small{font:11px Arial,sans-serif;letter-spacing:.15em;color:var(--muted)}
.r-clients>div{display:grid;grid-template-columns:repeat(6,1fr);align-items:center;gap:24px;margin-top:26px}.r-clients span{text-align:center;font-size:15px;font-weight:600;color:#515968}.r-clients>p{font-size:10px;text-align:right;color:var(--muted);margin-top:22px}
.r-recruit-feature{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:6vw;margin:100px var(--gutter);padding:60px;background:var(--pink);border-radius:48px;position:relative;overflow:hidden}
.r-recruit-feature h2{font-size:clamp(26px,2.3vw,38px);line-height:1.85;font-weight:500;margin:26px 0}.r-recruit-feature p{font-size:14px;line-height:2.2;margin-bottom:32px}.r-recruit-feature .r-eyebrow{color:var(--rose)}
.r-recruit-photo{position:relative;min-width:0;align-self:stretch}.r-recruit-photo img{width:100%;height:100%;max-height:480px;-o-object-fit:cover;object-fit:cover;-o-object-position:center 20%;object-position:center 20%;border-radius:24px 100px 24px 24px}
.r-recruit-photo>span{position:absolute;bottom:20px;left:-35px;color:white;font:italic clamp(40px,5vw,76px)/1 Georgia,serif;text-shadow:0 2px 10px #0002;transform:rotate(-7deg)}
.r-editorial{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center;margin-top:45px}.r-editorial>img{width:100%;aspect-ratio:1.12;-o-object-fit:cover;object-fit:cover;border-radius:16px 60px 16px 16px}
.r-editorial h3{font-size:23px;line-height:1.9;font-weight:500;margin-bottom:24px}.r-editorial p{font-size:15px;line-height:2.25;margin-bottom:20px}
.r-text-link{display:inline-flex;align-items:center;gap:30px;padding:12px 0;border-bottom:1px solid var(--ink);font-size:14px}
.r-social{max-width:none;background:var(--sky);border-radius:60px 60px 0 0}.r-social>.r-title,.r-social>.r-intro{max-width:1160px;margin-left:auto;margin-right:auto}
.r-posts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;max-width:1160px;margin:44px auto 32px}.r-posts a{overflow:hidden;border-radius:12px;background:white}
.r-posts img{width:100%;aspect-ratio:4/5;-o-object-fit:cover;object-fit:cover;transition:transform .35s}.r-posts a:hover img{transform:scale(1.04)}.r-social>.r-text-link{display:table;margin:24px auto 0}.r-social>p[role]{text-align:center;font-size:14px}
.r-contact-section{padding-top:90px;padding-bottom:100px}.r-entrances{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:42px}
.r-entrances>a{position:relative;display:block;padding:42px;background:var(--sky);border:1px solid #e2e8f1;border-radius:24px;transition:transform .2s,box-shadow .2s}.r-entrances>a:last-child{background:var(--pink);border-color:#e9e1ed}
.r-entrances>a:hover{transform:translateY(-4px);box-shadow:0 16px 32px #29324912}.r-entrances small{font:11px Arial,sans-serif;letter-spacing:.1em;color:var(--blue)}
.r-entrances h3{font-size:22px;font-weight:500;margin:20px 0}.r-entrances p{font-size:14px;line-height:2;margin-bottom:26px}.r-entrances>a>span{display:block;padding-top:18px;border-top:1px solid #bdc6d1;font-size:13px}
.r-footer{padding:60px var(--gutter) 24px;background:var(--paper);border-top:1px solid var(--line)}.r-footer-top{display:flex;align-items:center;justify-content:space-between;gap:36px;margin-bottom:42px}.r-footer-top p{font-size:14px;color:var(--muted)}
.r-footer nav{display:flex;gap:30px;flex-wrap:wrap;font-size:13px}.r-footer nav a:hover{color:var(--rose)}.r-footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:42px;border-top:1px solid var(--line);padding-top:24px;font-size:11px;color:var(--muted)}.r-mobile-actions{display:none}
.r-page-hero{position:relative;padding:90px var(--gutter);text-align:center;background:var(--sky);border-radius:0 0 60px 60px}.r-page-hero.pink{background:var(--pink)}
.r-page-hero>span{font:12px Arial,sans-serif;letter-spacing:.18em;color:var(--blue)}.r-page-hero h1{font-size:clamp(30px,3.5vw,50px);line-height:1.75;margin:25px 0;font-weight:500}.r-page-hero p{font-size:15px;line-height:2.2;max-width:740px;margin:0 auto 30px}
.r-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:42px}.r-services>div{padding:32px;background:var(--sky);border-radius:18px;min-height:165px}.r-services span{font:32px Arial,sans-serif;color:#a3b0c6}.r-services h3{font-size:16px;font-weight:500;margin-top:22px}
.r-steps{list-style:none;counter-reset:steps;padding:0;max-width:900px;margin:40px auto}.r-steps li{counter-increment:steps;display:flex;gap:26px;align-items:center;padding:27px 0;border-bottom:1px solid var(--line);font-size:16px}.r-steps li:before{content:'0' counter(steps);font:34px Arial,sans-serif;color:var(--blue)}
details{max-width:900px;margin:12px auto;border:1px solid var(--line);border-radius:14px;padding:24px 28px;background:white}summary{cursor:pointer;font-size:16px;font-weight:500}details p{padding-top:20px;font-size:15px;line-height:2.1}
.r-note{font-size:12px;color:var(--muted);margin-top:20px}.r-soft{background:var(--sky);border-radius:40px;margin-bottom:80px}.r-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1240px;margin:45px auto}.r-work-grid figure{border-radius:14px;overflow:hidden}
@media(min-width:1600px){.r-hero-copy{left:15%;top:23%}.r-recruit-feature{max-width:1420px;margin-left:auto;margin-right:auto}}
@media(max-width:1050px){
 .r-brand-caption{display:none}.r-header{gap:18px}.r-header-actions a{gap:18px}.r-hero-copy{left:7%;top:23%}.r-scroll>span:first-child{display:none}
 .r-section{padding-top:85px;padding-bottom:85px}.r-editorial{gap:36px}.r-clients>div{grid-template-columns:repeat(3,1fr);row-gap:28px}.r-recruit-feature{padding:36px;gap:32px}.r-recruit-feature h2{font-size:27px}
}
@media(max-width:700px){
 :root{--gutter:24px}body{font-size:15px}.r-only-mobile{display:block}.r-header{height:80px;padding:0 20px;justify-content:space-between;gap:14px}.r-brand{width:145px}.r-header-actions{display:none}.r-menu{width:44px;height:44px}
 .r-header nav{right:16px;top:calc(100% + 8px);width:calc(100vw - 32px);padding:16px 26px}
 .r-hero{height:620px;min-height:0;max-height:none;border-radius:0 0 24px 24px}.r-hero-photos{grid-template-columns:1fr 1fr;grid-template-rows:55% 45%;gap:3px}
 .photo-1{grid-column:1;grid-row:1}.photo-4{grid-column:2;grid-row:1}.photo-3{grid-column:1;grid-row:2}.photo-6{grid-column:2;grid-row:2}.photo-2,.photo-5{display:none}.r-hero-photo img{-o-object-position:center 15%;object-position:center 15%}
 .r-hero:after{background:linear-gradient(90deg,#13212c79,#17232c22),linear-gradient(0deg,#182435a0,transparent 70%)}.r-hero-copy{left:24px;right:20px;top:185px}.r-hero-copy .r-eyebrow{font-size:10px;letter-spacing:.12em}
 .r-hero h1{font-size:clamp(28px,7.7vw,40px);line-height:1.7;margin:12px 0 20px;letter-spacing:.01em}.r-hero-copy>p{font-size:13px;line-height:2}
 .r-hero-bottom{bottom:25px;left:24px;right:24px;display:block}.r-hero-actions{display:grid;gap:10px}.r-hero-actions .r-button{min-width:0;min-height:53px;padding:11px 18px 11px 23px;font-size:13px}
 .r-scroll{display:none}.r-button{min-width:250px;font-size:13px;min-height:56px}.r-section{padding:72px 24px}.r-title{margin-bottom:22px}.r-title>span{font-size:49px}.r-title :is(h1,h2){font-size:16px;line-height:1.9;margin-top:14px}.r-intro{font-size:14px;line-height:2}
 .r-models{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}.r-models figure:first-child{grid-column:1/-1;width:76%;max-width:330px;justify-self:center;margin-bottom:12px}
 .r-models img{border-radius:9px 9px 35px 9px}.r-models figcaption{gap:8px;font-size:10px;padding:15px 0}.r-models figcaption span{font-size:28px}.r-center{margin-top:26px}
 .r-work-section,.r-social{border-radius:32px 32px 0 0}.r-work-slider{margin:30px -24px 18px 0;gap:15px;padding-right:24px}.r-work-slider figure{flex-basis:calc(100vw - 66px)}
 .r-slider-nav{gap:12px;font-size:12px}.r-slider-nav button{width:43px;height:43px;flex-shrink:0}.r-clients{margin-top:40px;padding:26px 20px;border-radius:18px}.r-clients>div{gap:23px 15px;grid-template-columns:repeat(2,1fr)}.r-clients span{font-size:12px}
 .r-recruit-feature{display:flex;flex-direction:column-reverse;margin:56px 16px;padding:24px;border-radius:28px;gap:30px}.r-recruit-photo{width:100%}.r-recruit-photo img{height:315px;border-radius:18px 65px 18px 18px}
 .r-recruit-photo>span{font-size:48px;left:0;bottom:18px}.r-recruit-feature>div:not(.r-recruit-photo){width:100%}.r-recruit-feature h2{font-size:clamp(21px,6vw,27px);line-height:1.9;margin:18px 0}.r-recruit-feature p{font-size:14px;margin-bottom:26px}.r-recruit-feature .r-button{width:100%;min-width:0}
 .r-editorial{grid-template-columns:1fr;gap:28px;margin-top:28px}.r-editorial>img{aspect-ratio:1.2;border-radius:14px 44px 14px 14px}.r-editorial h3{font-size:21px;margin-bottom:18px}.r-editorial p{font-size:15px;line-height:2.1}
 .r-posts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:30px 0}.r-entrances{grid-template-columns:1fr;gap:16px;margin-top:30px}.r-entrances>a{padding:28px}.r-entrances h3{font-size:20px}.r-contact-section{padding-bottom:65px}
 .r-footer{padding:44px 24px 110px}.r-footer-top{display:block;margin-bottom:30px}.r-footer-top p{margin-top:25px;font-size:12px}.r-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:12px}.r-footer-bottom{flex-direction:column;gap:16px;margin-top:28px}
 .r-mobile-actions{display:flex;position:fixed;bottom:12px;left:12px;right:12px;z-index:30;gap:6px;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:#ffffffed;border:1px solid #dce1e9;border-radius:80px;box-shadow:0 5px 22px #24375222;backdrop-filter:blur(12px)}
 .r-mobile-actions a{flex:1;display:block;text-align:center;background:var(--blue);color:white;border-radius:70px;padding:12px 4px;font-size:12px;font-weight:500}.r-mobile-actions a+a{background:var(--rose)}
 .r-page-hero{padding:56px 24px;border-radius:0 0 32px 32px}.r-page-hero h1{font-size:29px;line-height:1.8}.r-page-hero p{font-size:14px}
 .r-services{grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.r-services>div{padding:20px;min-height:145px}.r-services h3{font-size:14px}.r-steps li{font-size:14px;gap:18px}.r-steps li:before{font-size:28px}
 details{padding:21px}summary{font-size:14px}details p{font-size:14px}.r-soft{border-radius:28px;margin:0 12px 60px}.r-work-grid{grid-template-columns:1fr;gap:18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* DAL reference: white editorial sections, blue full-width bands and photo-led composition. */
:root{--ink:#222;--blue:#5371af;--rose:#5371af;--sky:#fff;--pink:#fff;--paper:#f1f1f1;--muted:#555;--gutter:clamp(24px,4.2vw,78px)}
.r-header{height:95px;border:0}
.r-brand{width:145px}.r-brand-caption{border:0;padding:0;font-size:11px;letter-spacing:0}
.r-header-actions a{border:0;padding:10px 24px;font-size:13px}
.r-menu{width:40px;height:40px}.r-menu small{display:none}
.r-hero{height:calc(100vh - 95px);height:calc(100svh - 95px);min-height:0;max-height:none;border-radius:0}
.r-hero-photos{grid-template-columns:repeat(12,1fr);grid-template-rows:43% 27% 30%;gap:0}
.r-hero-photo img{-o-object-position:center 25%;object-position:center 25%;transform:scale(1.07)}
.photo-1{grid-column:1/4;grid-row:1}
.photo-2{grid-column:4/6;grid-row:1}
.photo-3{grid-column:6/10;grid-row:1}
.photo-4{grid-column:10/13;grid-row:1/3}
.photo-5{grid-column:1/3;grid-row:2/4}
.photo-6{grid-column:3/6;grid-row:2/4}
.photo-7{grid-column:6/8;grid-row:3}
.photo-8{grid-column:8/10;grid-row:3}
.photo-9{grid-column:10/13;grid-row:3}
.photo-studio{grid-column:6/10;grid-row:2}
.r-hero:after{background:#101b2238}
.r-hero-copy{left:50%;top:45%;width:770px;max-width:calc(100% - 48px);transform:translate(-50%,-50%)}
.r-hero h1{font:600 clamp(86px,7vw,120px)/.96 Arial,sans-serif;letter-spacing:-.04em;margin:0 0 32px;text-shadow:none}
.r-hero-copy>p{font-size:24px;font-weight:700;line-height:1.6;letter-spacing:0}
.r-hero-bottom{left:0;right:var(--gutter);bottom:0;align-items:center}
.r-hero-actions{gap:0;padding:32px 30px 32px var(--gutter);background:white;border-radius:0 20px 0 0;position:relative;width:620px}
.r-hero-actions .r-button{background:white;color:var(--ink);min-width:0;flex:1;border:0;border-radius:0;padding:14px 22px 14px 0;font-size:13px;box-shadow:none;transform:none}
.r-hero-actions .r-button+.r-button{border-left:1px solid #ddd;padding-left:24px}
.r-hero-actions .r-button.rose{background:white;color:var(--ink);border-top:0;border-right:0;border-bottom:0}
.r-hero-actions .r-button>span{border-color:#bbb;color:var(--blue);width:32px;height:32px}
.r-scroll{padding-bottom:12px}
.r-button{min-width:220px;min-height:52px;border-radius:50px;background:var(--blue);font-size:13px}
.r-button.rose{background:var(--blue);border-color:var(--blue)}
.r-title>span{font:600 70px/1.05 Arial,sans-serif;letter-spacing:-.045em}
.r-title :is(h1,h2){font-size:18px;margin-top:30px;line-height:1.8;color:inherit}
.r-section{max-width:1280px;padding:120px 50px}
.r-intro{color:#555;font-size:14px;line-height:2}
.r-model-section:not(.is-full){max-width:none;padding:130px 0 150px;overflow:hidden}
.r-model-section:not(.is-full)>.r-title{width:35%;margin:0 8% 32px auto}
.r-model-section:not(.is-full)>.r-intro{width:35%;margin:0 8% 65px auto}
.r-models{gap:28px}
.r-model-section:not(.is-full) .r-models{margin:0 var(--gutter);grid-template-columns:repeat(4,minmax(0,1fr))}
.r-models a{display:block}.r-models a:focus-visible{outline:3px solid #5371af;outline-offset:-3px}.r-models figcaption{pointer-events:none}
.r-models figure{position:relative;overflow:hidden;border-radius:8px}
.r-models img{aspect-ratio:1.05;height:auto;border-radius:8px;-o-object-fit:cover;object-fit:cover}
.r-models figcaption{position:absolute;inset:auto 0 0;padding:55px 20px 22px;color:white;background:linear-gradient(transparent,#15202c90);gap:10px;font-size:12px;flex-wrap:wrap}
.r-models figcaption span{color:white;font-weight:600;font-size:42px}
.r-model-section>.r-center{text-align:right;margin:40px var(--gutter) 0}
.r-work-section{max-width:1280px;background:white;border-radius:0;padding:110px 50px}
.r-work-section>.r-title,.r-work-section>.r-intro{width:45%;margin-left:auto;margin-right:0}
.r-work-slider{margin-top:65px;border-radius:0}.r-work-slider figure{flex-basis:520px;border-radius:8px;border:1px solid #eee}
.r-work-section:not(.is-full){max-width:none;padding-left:0;padding-right:0}
.r-work-section:not(.is-full)>.r-title,.r-work-section:not(.is-full)>.r-intro{width:min(531px,45%);margin-right:max(50px,calc((100% - 1180px)/2))}
.r-work-section:not(.is-full)>.r-work-slider{width:100%;max-width:none;margin-left:0;margin-right:0;padding-left:0;padding-right:0}
.r-work-section:not(.is-full)>.r-slider-nav,.r-work-section:not(.is-full)>.r-clients{width:calc(100% - 100px);max-width:1180px}
.r-clients{background:none;border-radius:0;padding:45px 0 0;border-top:1px solid #ddd;margin-top:70px}
.r-clients>div{display:flex;flex-wrap:wrap;justify-content:center;gap:0;margin-top:32px}
.r-clients .r-client-logo{display:flex;align-items:center;justify-content:center;flex:0 0 16.666667%;min-width:0;height:106px;padding:20px 16px}
.r-clients>p{margin-top:24px;text-align:center;line-height:1.8}
.r-clients img{display:block;width:100%;max-width:140px;height:42px;-o-object-fit:contain;object-fit:contain}
.r-clients .r-client-logo--jins img{max-width:92px;height:36px}
.r-clients .r-client-logo--curves img{max-width:118px;height:36px}
.r-clients .r-client-logo--sono img{max-width:104px;height:36px}
.r-clients .r-client-logo--takarajimasha img,.r-clients .r-client-logo--shop-channel img{max-width:82px}
.r-clients .r-client-logo--dr-ci-labo img{max-width:100px}
@media(max-width:1000px){.r-clients .r-client-logo{flex-basis:25%}}
.r-recruit-feature{background:white;border-radius:0;padding:0 50px;margin:0 auto 150px;max-width:1280px;gap:80px;grid-template-columns:1fr 1.15fr;overflow:visible}
.r-recruit-feature .r-eyebrow{font:600 64px/1 Arial,sans-serif;letter-spacing:-.04em;color:var(--ink)}
.r-recruit-feature h2{font-size:24px;font-weight:500;line-height:1.9}
.r-recruit-photo img{border-radius:8px;max-height:none;height:540px}
.r-editorial>img{border-radius:8px}.r-editorial h3{font-size:22px}
.r-social{max-width:none;padding:65px var(--gutter);background:#f1f1f1;border-radius:0}
.r-social .r-title>span{font-size:48px}
.r-social>.r-title,.r-social>.r-intro,.r-posts{max-width:none}.r-posts a{border-radius:6px}
.r-contact-section{max-width:none;background:var(--blue);color:white;border-radius:0;padding:100px max(50px,calc((100vw - 1120px)/2))}
.r-contact-section .r-title>span{color:white}.r-contact-section .r-title{margin-bottom:55px}
.r-entrances{gap:38px}.r-entrances>a,.r-entrances>a:last-child{background:transparent;border:1px solid #ffffff70;border-radius:0;padding:35px 40px}
.r-entrances small{color:white}.r-entrances>a>span{border-color:#ffffff50}.r-entrances>a:hover{background:#ffffff12;transform:none;box-shadow:none}
.r-footer{background:var(--blue);color:white;border-top:1px solid #ffffff40;padding-top:65px}.r-footer-top p,.r-footer-bottom{color:white}
.r-footer .r-brand{background:white;padding:12px;width:174px;border-radius:4px}.r-footer-bottom{border-color:#ffffff40}
.r-page-hero,.r-page-hero.pink{background:var(--blue);color:white;border-radius:0}.r-page-hero>span{color:white}
.r-page-hero .r-button{background:white;border-color:white;color:var(--blue)}.r-page-hero .r-button>span{border-color:#5371af70}
.r-soft{background:#f5f5f5;border-radius:0}.r-services>div{background:#f3f3f3;border-radius:4px}details{border-radius:0}
@media(min-width:1600px){.r-hero-copy{left:50%;top:45%}.r-recruit-feature{max-width:1280px}}
@media(max-width:1050px) and (min-width:701px){.r-hero-copy{left:50%;top:45%;width:680px}.r-hero h1{font-size:96px}.r-hero-actions{width:580px}.r-model-section:not(.is-full)>.r-title,.r-model-section:not(.is-full)>.r-intro{width:48%}.r-recruit-feature{gap:40px}}
@media(max-width:700px){
 .r-header{height:70px;padding:0 16px}.r-brand{width:130px}.r-brand-caption{display:block;font-size:8px;margin-right:auto}.r-menu{width:40px;height:40px}
 .r-hero{height:calc(100vh - 70px);height:calc(100svh - 70px);min-height:0;max-height:none;border-radius:0}
 .r-hero-photos{grid-template-columns:repeat(4,1fr);grid-template-rows:46% 25% 29%}
 .photo-1{grid-column:1/4;grid-row:1}.photo-2{display:block;grid-column:4;grid-row:1}.photo-3{grid-column:1/3;grid-row:2}.photo-4{grid-column:3/5;grid-row:2/4}
 .photo-5{display:block;grid-column:1;grid-row:3}.photo-6{grid-column:2;grid-row:3}.photo-7,.photo-8,.photo-9,.photo-studio{display:none}
 .r-hero:after{background:#10202a48}.r-hero-copy{top:38%;left:24px;right:24px;width:auto;max-width:none;transform:translateY(-50%)}
 .r-hero h1{font-size:clamp(55px,17vw,74px);line-height:1.04;letter-spacing:-.055em;margin:0 0 24px;max-width:360px}
 .r-hero-copy>p{font-size:16px;line-height:1.8;max-width:280px}
 .r-hero-bottom{display:none}.r-hero-actions{width:100%;display:flex;padding:20px 16px;border-radius:0 16px 0 0;gap:0}
 .r-hero-actions .r-button{font-size:11px;padding:8px 10px 8px 0;min-height:50px;line-height:1.7;gap:8px}.r-hero-actions .r-button+.r-button{padding-left:12px}.r-hero-actions .r-button>span{width:24px;height:24px}
 .r-section{padding:75px 24px}.r-title>span{font-size:50px}.r-title :is(h1,h2){font-size:15px;margin-top:20px}.r-intro{font-size:13px}
 .r-model-section:not(.is-full){padding:80px 0}.r-model-section:not(.is-full)>.r-title,.r-model-section:not(.is-full)>.r-intro{width:auto;margin-left:24px;margin-right:24px}
 .r-model-section:not(.is-full)>.r-intro{margin-bottom:35px}
 .r-model-section:not(.is-full) .r-models{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0;padding:0 24px 15px;gap:16px;scrollbar-width:thin}
 .r-model-section:not(.is-full) .r-models figure,.r-model-section:not(.is-full) .r-models figure:first-child{flex:0 0 83vw;max-width:none;width:auto;margin:0;scroll-snap-align:center}
 .r-models img{aspect-ratio:.86;border-radius:6px}.r-models figcaption{padding:45px 20px 20px;font-size:12px}.r-models figcaption span{font-size:36px}
 .r-model-section.is-full .r-models{grid-template-columns:1fr 1fr}.r-model-section.is-full .r-models figure:first-child{grid-column:auto;width:100%;margin:0}.r-model-section.is-full .r-models figcaption{padding:25px 10px 10px;gap:6px;font-size:9px}.r-model-section.is-full .r-models figcaption span{font-size:24px}
 .r-model-section>.r-center{margin:25px 24px 0}

 .r-work-section{padding:75px 24px}.r-work-section>.r-title,.r-work-section>.r-intro{width:auto}.r-work-slider{margin-top:35px}.r-work-slider figure{flex-basis:calc(100vw - 64px)}
 .r-work-section:not(.is-full)>.r-title,.r-work-section:not(.is-full)>.r-intro{width:auto;margin-left:24px;margin-right:24px}
 .r-work-section:not(.is-full)>.r-slider-nav,.r-work-section:not(.is-full)>.r-clients{width:calc(100% - 48px)}
 .r-clients .r-client-logo{flex-basis:50%;height:88px;padding:18px 12px}
 .r-clients img{max-width:124px;height:38px}
 .r-clients{padding:30px 0 0;margin-top:45px;border-radius:0}
 .r-recruit-feature{padding:0 24px;gap:30px;margin:10px 0 80px;flex-direction:column-reverse}.r-recruit-feature .r-eyebrow{font-size:50px}
 .r-recruit-photo img{height:370px;border-radius:6px}.r-recruit-feature h2{font-size:22px}.r-recruit-feature p{font-size:14px}
 .r-social{padding:55px 24px}.r-social .r-title>span{font-size:44px}.r-posts{gap:14px}
 .r-contact-section{padding:65px 24px}.r-contact-section .r-title{margin-bottom:35px}.r-entrances{gap:20px}.r-entrances>a,.r-entrances>a:last-child{padding:28px}.r-entrances h3{font-size:19px}
 .r-footer{padding:45px 24px 110px}.r-footer .r-brand{width:160px}.r-mobile-actions{border:0;border-radius:0;box-shadow:none;backdrop-filter:none;background:none;padding:0 0 env(safe-area-inset-bottom);gap:8px;left:20px;right:20px;bottom:18px}.r-mobile-actions a,.r-mobile-actions a+a{background:var(--blue);border:1px solid #ffffff66;border-radius:40px;padding:14px 4px}
 .r-page-hero,.r-page-hero.pink{border-radius:0}.r-soft{border-radius:0}.r-services>div{border-radius:4px}
}
/* Arrows: buttons are text only; card and image links use a thin circle with a horizontal arrow (DAL recruit). */
.r-button,.r-hero-actions .r-button,.r-header-actions a,.r-hero-links>a{justify-content:center}
.r-arrow{display:block;width:15px;height:11px}
.r-arrow-circle{display:inline-grid;place-items:center;flex-shrink:0;width:40px;height:40px;border:1px solid currentColor;border-radius:50%;font-style:normal;transition:transform .2s}
a:hover .r-arrow-circle{transform:translateX(4px)}
.r-entrances>a>span{display:flex;align-items:center;justify-content:space-between;gap:16px}
.r-news-list .r-arrow-circle{width:30px;height:30px;border-color:#bdc5d3;color:#5371af}
@media(max-width:700px){.r-news-list .r-arrow-circle{width:24px;height:24px}.r-arrow-circle{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){a:hover .r-arrow-circle{transform:none}}
/* Header (2026-09-29, owner): smaller logo, no caption, right side aligned to one 44px row. 2026-10-06 (owner): logo back to its original purple (no filter). */
.r-header{height:76px}.r-header .r-brand{width:120px}
.r-header-actions{gap:8px;align-items:center}
.r-header-actions a{height:44px;box-sizing:border-box;padding:0 18px;border:0;border-radius:4px;font-size:13px;font-weight:700;letter-spacing:.06em}
.r-header-actions a:hover{background:#f1f3f6;color:var(--ink)}
.r-header-actions a:last-child{margin-left:8px;padding:0 24px;background:var(--blue);color:white}
.r-header-actions a:last-child:hover{background:#3f5a94;color:white}
.r-menu{width:44px;height:44px;margin-left:8px;border-radius:4px;border-color:#d7dbe2}
@media(max-width:700px){.r-header .r-brand{width:104px}.r-menu{margin-left:0}}
/* Full-screen menu (FANCL SKIN PATCH navigation): deep-blue sheet, 1200px content, two 455px columns of English label + Japanese title, white round close button. */
html.r-menu-open{overflow:hidden}
.r-header nav,.r-header nav[hidden]{display:none}
.r-header nav.open{display:block;position:fixed;inset:0;top:0;right:0;width:auto;z-index:1;padding:0;border:0;border-radius:0;box-shadow:none;background:#2f4f8f;color:white;overflow:auto}
.r-nav-in{max-width:1200px;min-height:100%;box-sizing:border-box;margin:0 auto;padding:36px 24px 48px;display:flex;flex-direction:column}
.r-nav-top{display:flex;align-items:center;gap:32px;margin-bottom:80px}
.r-nav-brand img{width:150px;height:auto;filter:brightness(0) invert(1)}
.r-header nav .r-nav-brand,.r-header nav .r-nav-home{padding:0;border:0}
html.r-menu-open .b-floating-cta,html.r-menu-open .r-mobile-actions{display:none}
.r-nav-home{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:500;letter-spacing:.06em}
.r-nav-home::before{content:'';width:20px;height:20px;box-sizing:border-box;border:1px solid #ffffffb3;border-radius:50%}
/* Two-column grid of links with thin rules and a chevron; bottom row holds Instagram and the CTA. */
.r-nav-in{max-width:1040px}
.r-nav-list{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,auto);grid-auto-flow:column;-moz-column-gap:80px;column-gap:80px;border-top:1px solid #ffffff33}
.r-header nav .r-nav-list a{position:relative;display:block;padding:22px 40px 22px 0;border-bottom:1px solid #ffffff33;color:white}
.r-header nav .r-nav-list a::after{content:'';position:absolute;right:8px;top:50%;width:8px;height:8px;margin-top:-4px;border-top:1.5px solid #ffffffb3;border-right:1.5px solid #ffffffb3;transform:rotate(45deg);transition:right .2s}
.r-header nav .r-nav-list a:hover::after{right:2px}
.r-nav-list small{display:block;margin-bottom:4px;font:500 12px/1.4 Arial,sans-serif;letter-spacing:.1em;color:#ffffffb3}
.r-header nav .r-nav-list a>span{display:block;margin:0;font-size:22px;font-weight:700;letter-spacing:.06em;line-height:1.6;color:white}
.r-header nav .r-nav-list a:hover>span,.r-header nav .r-nav-list a[aria-current]>span{color:#ffe3a3}
.r-nav-foot{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:auto;padding-top:56px}
.r-header nav .r-nav-list .r-nav-sns>span{display:flex;align-items:center;gap:12px}
.r-nav-sns svg{width:24px;height:24px}
.r-header nav .r-nav-sub{display:flex;align-items:center;padding:18px 28px;border:1.5px solid #ffffffb3;border-radius:80px;color:white;font-size:16px;font-weight:700;letter-spacing:.08em;transition:background .2s}
.r-header nav .r-nav-sub:hover{background:#ffffff1a}
.r-header nav .r-nav-cta{display:flex;align-items:center;gap:16px;padding:18px 28px;border:3px solid #ffffff80;border-radius:80px;background:white;background-clip:padding-box;color:#2f4f8f;font-size:18px;font-weight:700;letter-spacing:.08em}
.r-nav-cta::after{content:'';width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
.r-menu.is-open{position:fixed;top:24px;right:24px;z-index:2;width:72px;height:72px;border:0;border-radius:50%;background:white;color:#2f4f8f}
.r-menu.is-open small{display:none}
@media(max-width:700px){
 .r-nav-in{padding:24px 24px 40px}
 .r-nav-top{margin-bottom:40px}.r-nav-brand img{width:110px}
 .r-nav-list{grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row}
 .r-header nav .r-nav-list a{padding:16px 32px 16px 0}
 .r-header nav .r-nav-list a>span{font-size:18px}
 .r-nav-foot{flex-direction:column-reverse;align-items:stretch;padding-top:32px}
 .r-header nav .r-nav-cta{justify-content:center}
 .r-header nav .r-nav-sub{justify-content:center}
 .r-menu.is-open{top:14px;right:14px;width:56px;height:56px}
}
/* Menu open animation: the sheet fades in, then the top row, items and CTA rise in order. */
@keyframes r-nav-fade{from{opacity:0}to{opacity:1}}
@keyframes r-nav-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.r-header nav.open{animation:r-nav-fade .35s ease-out both}
.r-header nav.open .r-nav-top,.r-header nav.open .r-nav-list a,.r-header nav.open .r-nav-foot{animation:r-nav-rise .5s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(.12s + var(--i,0) * .05s)}
.r-nav-list a:nth-child(2),.r-nav-list a:nth-child(6){--i:1}.r-nav-list a:nth-child(3),.r-nav-list a:nth-child(7){--i:2}.r-nav-list a:nth-child(4),.r-nav-list a:nth-child(8){--i:3}
.r-header nav.open .r-nav-foot{--i:5}
.r-menu.is-open{animation:r-nav-fade .35s ease-out both}
@media(prefers-reduced-motion:reduce){.r-header nav.open,.r-header nav.open *,.r-menu.is-open{animation:none!important}}

/* HOME H1 (docs/journeys/home.md): five photos in three columns after the Atsugi top page (8px frame, 10px gaps, 10px corners, columns about 1 : 1.4 : 1).
   The copy sits on the darkened lower part of the center photo because every model photo has a white studio ground. */
.r-mosaic-hero{--hero-top:131px;--hero-bar:0px;height:calc(100vh - var(--hero-top) - var(--hero-bar));height:calc(100svh - var(--hero-top) - var(--hero-bar));min-height:520px;box-sizing:border-box;display:grid;grid-template-columns:1fr 1.4fr 1fr;grid-template-rows:38fr 24fr 38fr;gap:10px;padding:0 8px 8px;background:white}
.r-mosaic-hero .r-hero-photos{display:contents}
.r-hero-shot{position:relative;isolation:isolate;min-height:0;overflow:hidden;border-radius:10px;background:#eef1f6}
/* HOME H1: the next photo fades in over the previous one, which stays fully shown underneath until it is covered, so the tile never thins out mid-change. */
.r-hero-shot img{position:absolute;inset:0;display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;pointer-events:none}
.r-hero-shot img.is-active{z-index:1;pointer-events:auto}
.r-hero-shot img.is-entering{animation:r-hero-fade 1.4s ease-in-out both}
@keyframes r-hero-fade{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.r-hero-shot img.is-entering{animation:none}}
.r-hero-shot.is-left-top{grid-column:1;grid-row:1}
.r-hero-shot.is-left-bottom{grid-column:1;grid-row:2/4}
.r-hero-shot.is-center{grid-column:2;grid-row:1/4}
.r-hero-shot.is-right-top{grid-column:3;grid-row:1/3}
.r-hero-shot.is-right-bottom{grid-column:3;grid-row:3}
/* Left column: short over tall; right column: tall over short (Atsugi's rhythm). */
.r-hero-shot.is-left-top img{-o-object-position:center 18%;object-position:center 18%}
.r-hero-shot.is-left-bottom img{-o-object-position:center 20%;object-position:center 20%}
.r-hero-shot.is-center img{-o-object-position:center 22%;object-position:center 22%}
.r-hero-shot.is-right-top img{-o-object-position:center 30%;object-position:center 30%}
.r-hero-shot.is-right-bottom img{-o-object-position:center 16%;object-position:center 16%}
.r-hero-shot.is-center::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,transparent 45%,#1f2f55b3 100%)}
.r-mosaic-copy{grid-column:2;grid-row:1/4;align-self:end;position:relative;z-index:1;padding:0 clamp(24px,3vw,48px) clamp(24px,4vh,44px);color:white}
.r-mosaic-copy h1{margin:0 0 10px;font:700 clamp(40px,4vw,68px)/1.05 'Plus Jakarta Sans',Arial,sans-serif;letter-spacing:-.02em;text-shadow:0 2px 16px #1f2f5540}
.r-mosaic-copy>p{margin:0 0 clamp(16px,3vh,28px);font-size:clamp(14px,1.1vw,17px);font-weight:500;letter-spacing:.08em}
.r-mosaic-links{display:flex;flex-wrap:wrap;gap:10px}
.r-mosaic-links>a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding:0 20px;border-radius:6px;background:white;color:#2f4f8f;font-size:14px;font-weight:700;transition:background .2s,color .2s}
.r-mosaic-links>a+a{background:transparent;border:1px solid #ffffffcc;color:white}
.r-mosaic-links>a:hover{background:#5371af;border-color:#5371af;color:white}
.r-mosaic-hero :focus-visible{outline:3px solid #ffe3a3;outline-offset:3px}
@media(max-width:1050px){.r-mosaic-hero{grid-template-columns:1fr 1.6fr}.r-hero-shot.is-right-top,.r-hero-shot.is-right-bottom{display:none}}
@media(max-width:700px){
	.r-mosaic-hero{min-height:0;grid-template-columns:1fr 1fr;grid-template-rows:1fr 22%;padding:0 6px 6px;gap:6px}
	.r-hero-shot{border-radius:8px}
	.r-hero-shot.is-center,.r-mosaic-copy{grid-column:1/3;grid-row:1}
	.r-hero-shot.is-left-top{grid-column:1;grid-row:2}
	.r-hero-shot.is-right-top{display:block;grid-column:2;grid-row:2}
	.r-hero-shot.is-left-bottom,.r-hero-shot.is-right-bottom{display:none}
	.r-hero-shot.is-center::after{background:linear-gradient(180deg,transparent 35%,#1f2f55c7 100%)}
	.r-mosaic-copy{padding:0 18px 18px}
	.r-mosaic-copy h1{font-size:clamp(34px,10vw,44px)}
	.r-mosaic-copy>p{font-size:13px;margin-bottom:14px}
	.r-mosaic-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}
	.r-mosaic-links>a{min-height:44px;padding:0 10px;font-size:12px;gap:4px}
}
/* HOME H2: one line of News right after the hero (Atsugi). */
.r-hero-news{display:flex;align-items:center;gap:28px;max-width:1080px;margin:0 auto;padding:28px var(--gutter);box-sizing:content-box;font-size:14px}
.r-hero-news h2{margin:0;padding-right:28px;border-right:1px solid #d7dce5;font:600 14px/1 'Plus Jakarta Sans',Arial,sans-serif;letter-spacing:.12em;color:#2f4f8f}
.r-hero-news p{flex:1;min-width:0;margin:0;display:flex;align-items:baseline;gap:20px;line-height:1.7}
.r-hero-news time{flex:none;font:12px Arial,sans-serif;color:#667080}
.r-hero-news p>a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.r-hero-news p>a:hover{color:#5371af;text-decoration:underline;text-underline-offset:3px}
.r-hero-news-all{flex:none;width:36px;height:36px;display:grid;place-items:center;border:1px solid #bdc5d3;border-radius:50%;color:#5371af;transition:background .2s,color .2s}
.r-hero-news-all:hover{background:#5371af;border-color:#5371af;color:white}
@media(max-width:700px){.r-hero-news{gap:14px;padding:18px 16px;font-size:13px}.r-hero-news h2{padding-right:14px}.r-hero-news p{display:block}.r-hero-news time{display:block;margin-bottom:2px}.r-hero-news p>a{display:block}}

/* Home page (docs/journeys/home.md) after the Atsugi top page: white ground, large English headings with a "— Japanese" label,
   layered About photos, outlined link cards, a faint giant word behind the model cards and a closing band with two white cards.
   Colors stay ours (#5371af / #2f4f8f); scoped to .r-home so the lower pages keep their FANCL-based look. */
.r-home{background:white}
.r-home .r-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px;width:auto;max-width:1080px;margin:0 auto 40px}
.r-home .r-title>span{font:600 clamp(44px,5vw,72px)/1 'Plus Jakarta Sans',Arial,sans-serif;letter-spacing:.02em;color:#2f4f8f}
.r-home .r-title h2{margin:0;font-size:14px;font-weight:500;line-height:1.6;letter-spacing:.08em;color:#5371af}
.r-home .r-title h2::before{content:'— '}
.r-home .r-intro{width:auto;max-width:1080px;margin:0 auto 40px;color:#555}

/* H4: About with layered photos, then three outlined link cards. */
.r-home-about{max-width:1080px;margin:0 auto;padding:120px var(--gutter) 110px;box-sizing:content-box}
.r-home-about-body{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(40px,7vw,100px);align-items:center}
.r-home-about-photos{position:relative;aspect-ratio:1/1.08}
.r-home-about-photos img{position:absolute;z-index:1;-o-object-fit:cover;object-fit:cover;border-radius:10px}
.r-home-about-photos img:first-child{left:0;top:0;width:68%;height:78%;-o-object-position:center 18%;object-position:center 18%}
.r-home-about-photos img:nth-child(2){right:0;bottom:0;width:52%;height:46%;border:8px solid white}
.r-home-about-photos svg{position:absolute;left:-8%;bottom:-10%;width:44%;animation:r-ring 40s linear infinite}
.r-home-about-photos text{font:600 12.5px 'Plus Jakarta Sans',Arial,sans-serif;letter-spacing:.32em;fill:#8fa2c9}
@keyframes r-ring{to{transform:rotate(360deg)}}
.r-home-about-text .r-title{margin-bottom:36px}
.r-home-about-text h3{margin:0 0 24px;font-size:clamp(20px,1.9vw,26px);font-weight:700;line-height:1.7;color:#2f4f8f}
.r-home-about-text p{margin:0 0 14px;font-size:15px;line-height:2.1;color:#333}
.r-about-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:80px}
.r-about-links a{display:grid;grid-template-columns:88px 1fr auto;align-items:center;gap:18px;padding:14px 22px 14px 14px;border:1px solid #9fb0d3;border-radius:10px;color:#2f4f8f;transition:background .2s,border-color .2s}
.r-about-links img{width:88px;height:88px;-o-object-fit:cover;object-fit:cover;-o-object-position:center 20%;object-position:center 20%;border-radius:6px}
.r-about-links span{font-size:15px;font-weight:700}
.r-about-links b{display:block;margin-bottom:6px;font:600 12px 'Plus Jakarta Sans',Arial,sans-serif;letter-spacing:.12em;color:#5371af}
.r-about-links a:hover{background:#f2f6fb;border-color:#5371af}

/* H5: model cards with a faint giant word behind them. */
.r-home .r-model-section{position:relative;max-width:none;padding:120px 0 110px;overflow:hidden;background:#f2f6fb}
.r-home .r-model-section::before{content:'Models';position:absolute;right:3%;bottom:10px;font:400 clamp(110px,15vw,220px)/1 'Plus Jakarta Sans',Arial,sans-serif;letter-spacing:.06em;color:#5371af12;pointer-events:none}
.r-home .r-model-section>*{position:relative}
.r-home .r-model-section:not(.is-full)>.r-title,.r-home .r-model-section:not(.is-full)>.r-intro{width:auto;max-width:1080px;margin-left:auto;margin-right:auto;padding:0 var(--gutter);box-sizing:content-box}
.r-home .r-model-section:not(.is-full) .r-models{max-width:1280px;margin:0 auto;padding:0 var(--gutter);box-sizing:border-box;gap:16px}
.r-home .r-models img{border-radius:10px}
.r-home .r-model-section .r-center{max-width:1080px;margin:40px auto 0;text-align:right;padding:0 var(--gutter);box-sizing:content-box}

/* Works and Instagram: the shared heading only. */
.r-home .r-work-section{padding-top:120px;padding-bottom:100px}
.r-home .r-work-section:not(.is-full)>.r-title,.r-home .r-work-section:not(.is-full)>.r-intro{width:auto;max-width:1080px;margin-left:auto;margin-right:auto;padding:0 var(--gutter);box-sizing:content-box}
.r-home .r-work-section:not(.is-full)>.r-slider-nav,.r-home .r-work-section:not(.is-full)>.r-clients{width:calc(100% - 2 * var(--gutter));max-width:1080px}
.r-home .r-social{padding:100px var(--gutter) 110px;background:#f2f6fb}
.r-home .r-social>.r-title,.r-home .r-social>.r-intro,.r-home .r-posts{max-width:1080px;margin-left:auto;margin-right:auto}
.r-home .r-posts{gap:16px}.r-home .r-posts a{border-radius:10px}

/* H7: closing band with two white cards (Atsugi's Recruit / Contact). */
.r-closing{display:grid;gap:24px;padding:72px var(--gutter);background:#2f4f8f}
.r-closing a{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px 48px;width:100%;max-width:1080px;margin:0 auto;padding:56px 72px;box-sizing:border-box;border-radius:10px;background:white;color:#2f4f8f;transition:transform .2s}
.r-closing a:hover{transform:translateY(-3px)}
.r-closing-en{grid-row:1/3;font:600 clamp(52px,5.5vw,80px)/1 'Plus Jakarta Sans',Arial,sans-serif}
.r-closing-ja{grid-column:1;grid-row:3;font-size:15px;font-weight:700;color:#5371af}
.r-closing-ja::before{content:'— '}
.r-closing p{grid-column:2;grid-row:1/4;margin:0;font-size:15px;line-height:2;color:#333}
.r-closing .r-arrow-circle{position:absolute;right:28px;bottom:24px;width:44px;height:44px;border-color:#9fb0d3;color:#5371af}

@media(max-width:1050px){.r-about-links{grid-template-columns:1fr}.r-closing a{padding:44px 48px}}
@media(max-width:700px){
	.r-home .r-title{margin-bottom:28px;padding:0}
	.r-home .r-title>span{font-size:44px}
	.r-home-about{padding:72px 16px}
	.r-home-about-body{grid-template-columns:1fr;gap:48px}
	.r-home-about-photos{width:88%}
	.r-about-links{margin-top:48px;gap:12px}
	.r-about-links a{grid-template-columns:64px 1fr auto;padding:10px 16px 10px 10px}
	.r-about-links img{width:64px;height:64px}
	.r-home .r-model-section{padding:72px 0}
	.r-home .r-model-section::before{bottom:8px;font-size:96px}
	.r-home .r-model-section:not(.is-full) .r-models{padding:0 16px 15px}
	.r-home .r-model-section:not(.is-full)>.r-title,.r-home .r-model-section:not(.is-full)>.r-intro{padding:0 16px}
	.r-home .r-work-section{padding-top:72px;padding-bottom:72px}
	.r-home .r-work-section:not(.is-full)>.r-slider-nav,.r-home .r-work-section:not(.is-full)>.r-clients{width:calc(100% - 2 * var(--gutter));max-width:1080px}
.r-home .r-social{padding:72px 16px}
	.r-closing{padding:40px 16px 120px;gap:14px}
	.r-closing a{grid-template-columns:1fr;padding:32px 24px 72px}
	.r-closing-en{grid-row:auto;font-size:44px}
	.r-closing-ja{grid-row:auto}
	.r-closing p{grid-column:1;grid-row:auto;margin-top:8px;font-size:14px}
	.r-closing .r-arrow-circle{right:20px;bottom:20px}
}
@media(prefers-reduced-motion:reduce){.r-home-about-photos svg{animation:none}}

