:root{--ink:#293d32;--green:#287843;--orange:#e76b32;--blue:#187dab;--paper:#fffdf7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Hiragino Maru Gothic ProN','Yu Gothic',Meiryo,sans-serif;font-size:18px;line-height:1.95}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #dc8c24;outline-offset:5px}.top{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 36px}.logo{font-size:14px;font-weight:700;line-height:1.7;letter-spacing:.06em}.logo span{display:block;font-size:25px;letter-spacing:.15em;color:var(--green)}nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:700}.nav-cta{border:1.5px solid var(--ink);border-radius:50%;padding:15px 20px;background:#fff2b8}.hero{position:relative;text-align:center;margin:15px auto 0;max-width:1440px}.hero-copy{position:relative;z-index:1;padding:25px 24px 0}.kicker{font-size:14px;letter-spacing:.13em;color:var(--green);font-weight:700;margin:0 0 17px}h1{font-size:clamp(34px,4.6vw,62px);line-height:1.6;font-weight:800;letter-spacing:.12em;margin:0 0 17px}.lead{font-size:18px;margin:0 0 15px;letter-spacing:.06em}.button{display:inline-block;padding:14px 32px;border:1.5px solid var(--ink);border-radius:55% 45% 49% 51% / 48% 55% 45% 52%;background:#fbe184;color:var(--ink);font-size:17px;font-weight:700;transition:background .2s,transform .2s}.button:hover{background:#f5cd54;transform:translateY(-2px)}.hero-visual{margin:-20px auto 0;max-width:1200px}.hero-visual img{width:100%;height:auto;display:block;mix-blend-mode:multiply}.hero-caption{display:flex;justify-content:center;gap:35px;padding:5px 24px 35px;font-size:18px;font-weight:700}.hero-caption span{border-bottom:3px solid #f0b45d;padding:4px 7px;transform:rotate(-2deg)}.hero-caption span:nth-child(2){border-color:#87b896;transform:rotate(2deg)}.hero-caption span:nth-child(3){border-color:#78b6d1}.intro{position:relative;display:grid;grid-template-columns:1fr 1.4fr;gap:65px;max-width:1080px;margin:0 auto;padding:65px 30px 80px;border-bottom:1.5px solid #bac8ad}.intro>p{font-size:28px;font-weight:700;line-height:1.9;letter-spacing:.07em;margin:0}.intro div p{font-size:17px;margin-top:0}.section{max-width:1080px;margin:auto;padding:85px 30px}h2{font-size:clamp(27px,3vw,38px);line-height:1.75;letter-spacing:.09em;margin:0 0 40px}h3{font-size:29px;line-height:1.7;letter-spacing:.04em;margin:13px 0 24px}#services>.kicker,#services>h2{text-align:center}.service{display:grid;grid-template-columns:1fr 1.7fr;gap:65px;padding:45px 35px;margin:38px 0;border:1.5px solid #8caa8c;border-radius:44px 12px 48px 16px;background:#f2f7e9;position:relative}.service.pink{background:#fff3e1;border-color:#d8ab74;border-radius:16px 44px 14px 48px}.service:last-child{background:#edf7fa;border-color:#8db6c7;margin-bottom:0}.num{display:inline-block;color:var(--green);font-size:14px;letter-spacing:.12em;border-bottom:2px solid #83b482;padding-bottom:6px;font-weight:700}.pink .num{color:#aa5827;border-color:#e5a55d}.service:last-child .num{color:#237a9c;border-color:#6ba6bb}.service-title h3{font-size:30px}.tag{display:inline-block;font-size:14px;padding:3px 0;color:#607459}.pink .tag{color:#916637}.service:last-child .tag{color:#4d7889}.service-body p{font-size:17px;margin:0 0 20px}.service-body .big{font-size:24px;font-weight:700;line-height:1.85}.service-body ul{padding-left:24px;font-size:17px}.service-body li{margin:7px 0}.service-body li::marker{color:#6e936d}.estimate{padding:16px 0;border-top:1px dashed #c89761;font-size:16px;font-weight:700}.service-body .small{font-size:14px;color:#617b83}.flow{max-width:none;background:#edf3e7;padding:75px max(30px,calc((100vw - 1020px)/2));position:relative}.flow:before,.flow:after{content:'';position:absolute;left:0;right:0;height:18px;background-size:70px 18px;background-repeat:repeat-x;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='70' height='18' viewBox='0 0 70 18'%3E%3Cpath d='M0 9Q17.5 1 35 9T70 9' fill='none' stroke='%238caa8c' stroke-width='1.5'/%3E%3C/svg%3E")}.flow:before{top:8px}.flow:after{bottom:8px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.steps article{padding-top:12px}.steps span{display:inline-grid;place-items:center;font-size:26px;background:#fffdf7;border:1.5px solid #859b7b;border-radius:43% 57% 52% 48%;width:57px;height:55px;font-family:Georgia,serif}.steps h3{font-size:21px}.steps p{font-size:17px;margin:0}.about{display:grid;grid-template-columns:1fr 1.5fr;gap:65px}.about h2{font-size:27px;margin-bottom:10px}.name{font-size:17px;color:#6d7c65}.about p{font-size:17px;margin-top:0}.about .closing{font-size:21px;font-weight:700;color:var(--green)}.booking{text-align:center;background:#287843;color:#fffdf7;padding:65px 24px;border-radius:50% 50% 0 0 / 10% 10% 0 0}.booking .kicker{color:#d9ecb6}.booking h2{margin-bottom:23px}.booking p{font-size:17px}.booking .button{margin-top:15px}.booking .booking-note{font-size:14px;color:#e2eed8;margin-top:26px}.faq{max-width:850px}.faq h2{font-size:27px}details{border-top:1px solid #bac8ad;padding:22px 0}details:last-child{border-bottom:1px solid #bac8ad}summary{cursor:pointer;font-size:17px;font-weight:700}details p{font-size:17px;color:#62705c;padding:0 15px}footer{max-width:1080px;margin:auto;padding:30px;display:flex;gap:25px;flex-wrap:wrap;align-items:center;border-top:1px solid #bac8ad;font-size:14px}footer span{color:#6a7961}footer a{margin-left:auto;text-decoration:underline}@media(max-width:800px){.top{padding:20px;gap:10px}.logo span{font-size:21px}nav a:not(.nav-cta){display:none}.nav-cta{padding:10px 13px;font-size:13px}.hero-copy{padding-top:10px}.hero-copy .kicker{font-size:13px;letter-spacing:.04em}h1{font-size:35px;letter-spacing:.06em}.lead{font-size:16px}.hero-visual{margin:5px 0 0}.hero-caption{gap:9px;font-size:13px;padding-bottom:20px;flex-wrap:wrap}.intro{grid-template-columns:1fr;gap:23px;padding:40px 24px}.intro>p{font-size:25px}.section{padding:55px 24px}.service{grid-template-columns:1fr;gap:15px;padding:28px 24px;margin:25px 0;border-radius:30px 10px 34px 12px}.service-title h3{font-size:27px;margin:12px 0}.service-title h3 br{display:none}.service-body .big{font-size:22px}.steps{grid-template-columns:1fr;gap:30px}.steps h3{margin:10px 0}.about{grid-template-columns:1fr;gap:15px}.booking{border-radius:50% 50% 0 0 / 5% 5% 0 0;padding:48px 24px}.booking h2{font-size:25px}footer{display:block;padding:25px}footer>*{display:block;margin:8px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

h1>span{font-size:.55em;letter-spacing:.08em}.hero-visual{position:relative}.hero-visual .nakachan-character{position:absolute;width:25%;height:auto;max-height:82%;object-fit:contain;bottom:4%;left:50%;transform:translateX(-50%);mix-blend-mode:normal;filter:drop-shadow(0 5px 7px #293d3220)}@media(max-width:800px){h1{font-size:clamp(25px,6vw,35px);letter-spacing:.04em}.logo span{font-size:17px;letter-spacing:.04em}.hero-visual .nakachan-character{width:30%;max-height:90%;bottom:2%}}

.welcome h2{font-size:28px;margin:0;line-height:1.9}.welcome div p{margin:0 0 24px}.welcome .welcome-message{font-size:23px;font-weight:700;color:var(--green)}.welcome div p:last-child{margin-bottom:0}@media(max-width:800px){.welcome h2{font-size:25px}.welcome .welcome-message{font-size:21px}}

/* A colorful picture-book storefront */
:root{--paper:#fff9e9;--ink:#344533;--green:#287b4b}.top{background:#fffdf3;border-bottom:2px solid #ead9a7;max-width:none;padding-left:max(24px,calc((100vw - 1168px)/2));padding-right:max(24px,calc((100vw - 1168px)/2))}.hero{max-width:none;margin:0;padding-top:18px;background:linear-gradient(#e0f4fa 0%,#f0f9f3 65%,#fff9e9 100%);overflow:hidden}.hero-copy{padding-top:24px}h1{color:#31784b;text-shadow:2px 3px 0 #fffdf5}.hero-copy .kicker{color:#a25332}.hero-visual{max-width:1250px;margin:15px auto 0;min-height:540px}.hero-visual>img:not(.nakachan-character){opacity:.9}.hero-visual .nakachan-character{width:40%;max-height:98%;bottom:0;filter:drop-shadow(0 8px 5px #39452e19)}.shop-sign{position:absolute;z-index:2;top:12%;right:10%;background:#ffdf79;color:#664022;border:2px solid #bd843e;border-radius:14px;padding:12px 23px;font-size:22px;font-weight:700;transform:rotate(4deg)}.hero-caption{position:relative;z-index:3;padding-top:22px;padding-bottom:40px}.hero-caption span{background:#ffefbd;border:0;border-radius:40% 55% 40% 55%;padding:12px 20px}.hero-caption span:nth-child(2){background:#e0edc0}.hero-caption span:nth-child(3){background:#d9edf6}.welcome{max-width:1180px;grid-template-columns:1fr 1.5fr;gap:50px;background:#fffdf4;border:2px solid #e8ca91;border-radius:36px;margin:35px auto;padding:45px 45px}.welcome-host{text-align:center;align-self:start}.welcome-host img{width:88%;max-width:280px;height:auto;display:block;margin:0 auto 18px}.welcome-host h2{color:#a65b32}.welcome div p{font-size:18px}.section h2{color:#36754a}.service{background:#edf4ca;border-color:#91a867;border-width:2px}.service.pink{background:#ffe6dc;border-color:#d99478}.service:last-child{background:#dff1fa;border-color:#8fb4ce}.flow{background:#ffe9ab}.steps article{background:#fffaf0;border-radius:24px;padding:25px}.steps article:nth-child(2){background:#eef7dc}.steps article:nth-child(3){background:#ffede4}.about{background:#f2e8f7;border-radius:45px 15px 45px 15px;margin:50px auto}.booking{background:#468357}.faq{background:#fffdf4;border-radius:30px;margin:45px auto}.booking h2{color:#fffdf7}@media(max-width:800px){.hero-visual{min-height:0;padding-bottom:55px}.hero-visual .nakachan-character{width:46%;max-height:100%;bottom:0}.shop-sign{font-size:13px;padding:7px 10px;top:5%;right:5%}.welcome{margin:20px 16px;padding:28px 23px;grid-template-columns:1fr;gap:25px}.welcome-host img{max-width:220px}.welcome div p{font-size:17px}.hero-caption{gap:8px;padding-top:18px}.hero-caption span{padding:8px 11px}.steps article{padding:22px}.about{margin:25px 16px}.faq{margin:25px 16px}.hero-copy .lead{max-width:650px;margin-left:auto;margin-right:auto}} 

.story-profile{max-width:1200px}.story-opening{max-width:820px;margin:0 auto 40px;text-align:center;font-size:18px}.story-spread{display:grid;grid-template-columns:1fr 1fr;gap:0;border:2px solid #d9b475;border-radius:30px;overflow:hidden;background:#fff8d7}.story-leaf{padding:38px;background:#fff7d5;position:relative}.story-leaf.coral{background:#ffe8de;border-left:2px dashed #d9b475}.story-label{font-size:14px;color:#8e6136;font-weight:700;letter-spacing:.08em}.story-leaf h3{color:#a45c35;font-size:28px}.story-leaf p{font-size:17px}.story-host{float:right;width:37%;max-height:280px;object-fit:contain;margin:0 0 15px 18px}.story-note{clear:both;padding:20px;background:#fffdf3;border:2px solid #e5b367;border-radius:18px;transform:rotate(-1deg);margin:28px 0}.story-note h4{font-size:20px;color:#a45c35;margin:0 0 12px}.story-note p{margin:0}.career-details{border-color:#daa990}.consultation-chapters{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:35px}.consultation-chapters article{padding:28px;background:#e5f1d3;border:2px solid #9fbb83;border-radius:28px 12px 28px 12px}.consultation-chapters article:nth-child(2){background:#dff1fa;border-color:#94bacd}.consultation-chapters article:nth-child(3){background:#efe3f6;border-color:#b6a0c8}.consultation-chapters span{font-size:14px;font-weight:700;color:#596c4f}.consultation-chapters h3{font-size:24px}.consultation-chapters p{font-size:17px}.story-end{text-align:center;padding:35px 15px 0;color:#38724b}.story-end p:first-child{font-size:23px;font-weight:700}.story-end p{font-size:18px}@media(max-width:800px){.story-spread{grid-template-columns:1fr}.story-leaf{padding:25px}.story-leaf.coral{border-left:0;border-top:2px dashed #d9b475}.consultation-chapters{grid-template-columns:1fr}.story-opening{text-align:left;font-size:17px}.story-leaf h3{font-size:25px}.story-end p:first-child{font-size:20px}}

/* Readable, quieter text scale */
body{font-size:16px;line-height:1.85}h1{font-size:clamp(30px,4vw,52px)}h2{font-size:clamp(25px,2.6vw,32px)}.lead{font-size:16px}.welcome div p,.story-opening,.story-leaf p,.consultation-chapters p,.story-end p,.about p,.steps p,details p{font-size:16px}.welcome h2,.welcome-host h2{font-size:25px}.welcome .welcome-message{font-size:20px}.story-leaf h3{font-size:24px}.consultation-chapters h3{font-size:22px}.story-note h4{font-size:18px}.story-end p:first-child{font-size:20px}.career-details{font-size:15px}.career-details summary,.career-details p{font-size:15px}.career-details h4{font-size:17px}.hero-caption{font-size:16px}.booking p{font-size:16px}@media(max-width:800px){h1{font-size:clamp(26px,6vw,34px)}.welcome h2,.welcome-host h2{font-size:23px}.welcome div p,.story-leaf p,.consultation-chapters p{font-size:16px}.story-leaf h3{font-size:23px}.hero-caption{font-size:13px}}

/* Body text size requested by owner, on every screen */
body{font-size:14px}main p,main li,.welcome div p,.welcome .welcome-message,.intro div p,.story-opening,.story-leaf p,.story-note p,.consultation-chapters p,.story-end p,.story-end p:first-child,.career-details p,.about p,.about .closing,.steps p,.booking p,.booking .booking-note,.service-body p,.service-body .small,.service-body .big,details p,.lead{font-size:14px}

.lumina-image-link{display:block;margin-top:20px}.lumina-image-link img{width:100%;height:auto;display:block;border-radius:10px}.lumina-text-link{display:inline-block;margin-top:12px;text-decoration:underline;font-size:14px;font-weight:700;transform:none}

.story-note.lumina-note{transform:none}

.logo .new-logo-title{font-size:18px;letter-spacing:.04em;line-height:1.6}h1{font-size:clamp(27px,3.7vw,48px)}@media(max-width:800px){.logo .new-logo-title{font-size:14px}h1{font-size:clamp(24px,5.5vw,34px);letter-spacing:.02em}}

.main-achievements{margin:25px 0;padding:20px;background:#fffaf0;border-radius:14px;border:1px solid #debba6}.main-achievements h4{font-size:15px;margin:0 0 12px;color:#8a593e}.main-achievements ul{margin:0;padding-left:20px}.main-achievements li{font-size:12px;line-height:1.9;margin:0 0 12px}.main-achievements li:last-child{margin-bottom:0}


/* White pages with colorful story panels */
:root{--paper:#fff;--ink:#293d32}body{background:#fff}.hero{background:linear-gradient(#e0f4fa 0%,#f0f9f3 65%,#fff9e9 100%)}.top{background:#fffdf3;border-color:#ead9a7}.hero-copy .kicker{color:#a25332}.hero-copy .lead{color:#293d32;text-shadow:none;font-weight:400}.story-profile{background:#fff}.welcome{background:#ffe099;border-color:#caa357}.story-leaf{background:#ffdf83}.story-leaf.coral{background:#f6b396}.story-note{background:#fff0c6;transform:none}.story-note.lumina-note{transform:none}.main-achievements{background:#ffe5c9}.consultation-chapters article{background:#c1dc8e}.consultation-chapters article:nth-child(2){background:#a9d9e8}.consultation-chapters article:nth-child(3){background:#d0b4e2}.flow{background:white}.steps article{background:#ffe3a0}.steps article:nth-child(2){background:#c6df95}.steps article:nth-child(3){background:#f7b69d}.about{background:#e2caef}.faq{background:white}.booking{background:#468357}
/* Double outline lettering, like the supplied rounded example */
.storybook-title{font-family:'Hiragino Maru Gothic ProN','Arial Rounded MT Bold','Yu Gothic',Meiryo,sans-serif;font-weight:900;font-size:clamp(26px,3.7vw,48px);letter-spacing:.045em;-webkit-text-stroke:0;text-shadow:none;line-height:1.8}.storybook-title .title-owner{font-size:.55em;color:#386c4d;-webkit-text-stroke:0;text-shadow:none}.storybook-title .title-line{position:relative;display:inline-block;font-size:1em;letter-spacing:inherit;color:#e7773e;-webkit-text-stroke:1px #e7773e;paint-order:stroke fill;text-shadow:none;isolation:isolate}.title-line:before,.title-line:after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;white-space:nowrap;color:inherit;paint-order:stroke fill}.title-line:before{z-index:-2;-webkit-text-stroke:14px #be673b}.title-line:after{z-index:-1;-webkit-text-stroke:9px #fffdf4}.storybook-title .title-last{color:#4388ad;-webkit-text-stroke-color:#4388ad}.title-last:before{-webkit-text-stroke-color:#396e8c}@media(max-width:800px){.storybook-title{font-size:clamp(23px,5.3vw,34px);letter-spacing:.015em}.title-line:before{-webkit-text-stroke-width:10px}.title-line:after{-webkit-text-stroke-width:6px}}

.hero{background:#fff}.top{background:#f6c324;border-bottom-color:#d7a50e}.nav-cta{background:#fff2a4}

.oshi-story{display:grid;grid-template-columns:1.4fr 1fr;gap:30px;align-items:center;margin-top:35px;padding:30px;background:#fbd3e4;border:2px solid #df91b2;border-radius:28px}.oshi-story h3{font-size:24px;color:#934468}.oshi-story p{font-size:14px}.oshi-story figure{margin:0}.oshi-story img{width:100%;height:auto;display:block;border-radius:15px}.oshi-story figcaption{font-size:12px;text-align:center;margin-top:10px;color:#794b60}@media(max-width:800px){.oshi-story{grid-template-columns:1fr;padding:24px}.oshi-story figure{max-width:360px;margin:auto}}

.lenormand-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:18px}.lenormand-gallery img{display:block;width:100%;height:auto;border-radius:8px}

.oshi-compatibility{margin:28px auto 0;max-width:780px;background:#fce5ee;border:2px solid #e0adc2;border-radius:22px;padding:22px}.oshi-compatibility figcaption{font-size:20px;font-weight:700;color:#934468;text-align:center;margin-bottom:18px}.oshi-compatibility img{display:block;width:100%;height:auto;border-radius:10px}@media(max-width:800px){.oshi-compatibility{padding:16px}.oshi-compatibility figcaption{font-size:17px}}

/* Larger picture-book title and shopkeeper greeting */
.storybook-title{font-size:clamp(29px,4.15vw,54px)}
.welcome-bubble{position:absolute;z-index:3;top:12%;right:9%;background:#fff7cf;color:#75431f;border:3px solid #bc7935;border-radius:50%;padding:22px 28px;font-size:22px;font-weight:700;line-height:1.5;box-shadow:0 4px 0 #bc79351a}
.welcome-bubble:before{content:"";position:absolute;bottom:-20px;left:25%;width:0;height:0;border-top:25px solid #bc7935;border-right:22px solid transparent;transform:rotate(15deg)}
.welcome-bubble:after{content:"";position:absolute;bottom:-14px;left:calc(25% + 3px);width:0;height:0;border-top:21px solid #fff7cf;border-right:17px solid transparent;transform:rotate(15deg)}
@media(max-width:800px){.storybook-title{font-size:clamp(25px,5.85vw,38px);letter-spacing:.015em}.welcome-bubble{top:3%;right:3%;font-size:14px;padding:12px 16px;border-width:2px}.welcome-bubble:before{bottom:-16px;border-top-width:20px;border-right-width:17px}.welcome-bubble:after{bottom:-11px;left:calc(25% + 2px);border-top-width:17px;border-right-width:13px}}

/* Keep the greeting beside the shopkeeper's face */
.welcome-bubble{top:18%;right:auto;left:61%;padding:18px 23px}
@media(max-width:800px){.welcome-bubble{top:15%;right:auto;left:61%;font-size:12px;padding:10px 12px;white-space:nowrap}}

/* Anchor the speech bubble to the mouth within the character image */
.shopkeeper-greeting{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:40%;aspect-ratio:2/3;max-height:98%;z-index:2}
.hero-visual .shopkeeper-greeting .nakachan-character{position:static;transform:none;width:100%;height:100%;max-height:none;object-fit:contain}
.shopkeeper-greeting .welcome-bubble{top:16%;left:56%;right:auto;transform:translateY(-50%);padding:14px 20px;white-space:nowrap;font-size:20px}
.shopkeeper-greeting .welcome-bubble:before{left:-24px;top:50%;bottom:auto;transform:none;border:0;border-right:26px solid #bc7935;border-top:12px solid transparent;border-bottom:6px solid transparent}
.shopkeeper-greeting .welcome-bubble:after{left:-17px;top:calc(50% + 2px);bottom:auto;transform:none;border:0;border-right:21px solid #fff7cf;border-top:8px solid transparent;border-bottom:4px solid transparent}
@media(max-width:800px){.shopkeeper-greeting{width:46%;max-height:100%}.shopkeeper-greeting .welcome-bubble{font-size:12px;padding:8px 10px;left:58%}.shopkeeper-greeting .welcome-bubble:before{left:-17px;border-right-width:18px;border-top-width:9px;border-bottom-width:5px}.shopkeeper-greeting .welcome-bubble:after{left:-12px;border-right-width:15px;border-top-width:6px;border-bottom-width:3px}}

/* Illustrated consultation logo links to booking */
nav .header-logo-link{display:block;background:transparent;padding:0;border:0;border-radius:0;line-height:0;flex-shrink:0}
.header-logo-link img{display:block;width:240px;height:auto}
@media(max-width:800px){.top{flex-wrap:wrap}nav{margin-left:auto}nav .header-logo-link{display:block;padding:0}.header-logo-link img{width:160px}}

/* A cheerful invitation to talk */
.booking{background:#ffe099;color:#493d2e;border-radius:36px;max-width:1100px;margin:30px auto;border:2px solid #d7a956}
.booking .kicker{color:#8a5733}.booking h2{color:#9b542c}.booking .booking-note{color:#6a5945}.booking .button{background:#e8783b;color:white;border-color:#bd602b}.booking .chat-estimate{max-width:730px;margin:26px auto 0;padding-top:20px;border-top:1px dashed #c79b5b;color:#6a5945}
@media(max-width:800px){.booking{margin:25px 16px;padding:35px 22px;border-radius:28px}.booking .chat-estimate br{display:none}}

.portrait-message{display:grid;grid-template-columns:280px 1fr;align-items:center;gap:35px;margin-top:35px;padding:28px;background:#e4f1d6;border:2px solid #adc88b;border-radius:28px;text-align:left}
.portrait-message>img{display:block;width:100%;height:auto;border-radius:20px;border:3px solid white}
.portrait-message-copy p:first-child{font-weight:700}.portrait-message-copy .button{margin-top:8px}
@media(max-width:800px){.portrait-message{grid-template-columns:1fr;padding:24px;gap:18px;text-align:center}.portrait-message>img{max-width:280px;margin:auto}}

.portrait-figure{margin:0;text-align:center}.portrait-figure img{display:block;width:100%;height:auto;border-radius:20px;border:3px solid white}.portrait-figure figcaption{margin-top:10px;font-size:14px;font-weight:700;color:#38724b;line-height:1.7}@media(max-width:800px){.portrait-figure{max-width:280px;margin:auto}}

footer .creation-credit{flex-basis:100%;margin:8px 0 0;font-size:12px;line-height:1.8;color:#52684f}

.seminar-announcement{max-width:1000px;margin:45px auto;padding:35px 28px;text-align:center;background:#fff5d5;border:2px solid #e0b759;border-radius:30px}.seminar-announcement h2{color:#396e8c;font-size:26px}.seminar-poster{display:block;max-width:760px;margin:25px auto}.seminar-poster img{display:block;width:100%;height:auto;border-radius:12px}.seminar-announcement .seminar-host{display:block;width:100%;max-width:600px;height:auto;margin:30px auto 0;border-radius:18px}@media(max-width:800px){.seminar-announcement{margin:25px 16px;padding:25px 16px}.seminar-announcement h2{font-size:22px}}

.top .creative-brand{font-family:Arial,sans-serif;font-size:30px;font-weight:800;letter-spacing:-.025em;line-height:1.3;color:#365c3b;white-space:nowrap}@media(max-width:800px){.top .creative-brand{font-size:24px}}

.footer-brand{flex-basis:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 0 20px}.footer-brand strong{font-family:Arial,sans-serif;font-size:26px;font-weight:800;letter-spacing:-.025em;color:#365c3b}.footer-brand img{display:block;width:240px;height:auto}@media(max-width:800px){footer .footer-brand{display:flex;flex-wrap:wrap;justify-content:center;text-align:center}.footer-brand strong{font-size:24px}.footer-brand img{width:220px}}
