/* みはらだるま 静的サイト style.css — 現行WordPress(Avada)の見た目を再現 */
:root{
  --red:#d03821; --cream:#f4eee7; --ink:#221714; --line:#717071;
  --sans:dnp-shuei-gothic-gin-std,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --mincho:a-otf-ryumin-pr6n,"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;
  --en:bicyclette,"Montserrat","Roboto",sans-serif;
  --nav:Roboto,"Noto Sans JP",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-weight:500;font-size:15px;line-height:1.9;letter-spacing:.06em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;vertical-align:bottom}
a{color:inherit;text-decoration:none}
p{margin:0 0 1em}
h1,h2,h3{margin:0;font-weight:400}
.sp-only{display:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- header ---------- */
.site-header{position:fixed;top:0;left:50%;transform:translateX(-50%);width:62.5%;max-width:950px;z-index:900;background:rgba(255,255,255,.92);border-radius:0 0 30px 30px;height:74px;display:flex;align-items:center;justify-content:center}
.gnav{display:flex;gap:44px;margin:0;padding:0;list-style:none}
.gnav a{font-family:var(--nav);font-weight:500;font-size:14px;letter-spacing:.12em;color:#333;transition:color .3s}
.gnav a:hover,.gnav a[aria-current="page"]{color:var(--red)}
.gnav .nav-home,.menu-btn,.fly{display:none}
.side-logo{position:fixed;top:100px;left:7%;width:90px;z-index:890;transition:transform .5s}
.side-logo:hover{transform:scale(1.1)}
.to-top{position:fixed;right:60px;bottom:60px;width:100px;height:120px;z-index:890;background:url(../img/to-top.png) no-repeat center/100px 120px;transform-origin:center bottom;transition:transform .3s;opacity:0;pointer-events:none}
.to-top.show{opacity:1;pointer-events:auto}
.to-top:hover{transform:rotate(-30deg)}

/* ---------- common parts ---------- */
.wrap{width:min(870px,88%);margin:0 auto}
.heading-pill{display:flex;align-items:center;gap:0;width:min(870px,88%);margin:0 auto}
.heading-pill::before,.heading-pill::after{content:"";flex:1;border-top:1px solid #666}
.heading-pill span{border:1px solid #666;border-radius:20px;padding:3px 34px 2px 38px;font-family:var(--en);font-size:12px;letter-spacing:.35em;line-height:1.9;background:transparent}
.card{background:#fff;border-radius:30px}
.red-bg{background:#d9411f url(../img/daruma_back_new-2.png) center top/800px auto repeat}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}

/* ---------- sub page hero ---------- */
.hero{position:relative;text-align:center;padding:170px 0 250px;overflow:hidden}
.hero::after{content:"";position:absolute;left:50%;bottom:-210px;width:150%;height:420px;transform:translateX(-50%);background:var(--cream);border-radius:50%;box-shadow:0 -6px 0 0 rgba(244,238,231,.0)}
.hero>*{position:relative;z-index:2}
.hero h1{font-family:var(--mincho);font-weight:300;font-size:40px;line-height:1.5;letter-spacing:.12em;color:var(--ink)}
.hero .en{display:block;font-family:var(--en);font-size:9px;letter-spacing:.3em;margin:18px 0 22px;color:var(--ink)}
.hero p.lead{font-size:13px;line-height:2.1;letter-spacing:.12em;color:#fff;margin:0}
.hero-red p.lead{color:#fff}
.hero-plain{padding-bottom:70px}
.hero-plain::after{display:none}

/* ---------- top: opening ---------- */
.opening{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.opening .blob{position:absolute;pointer-events:none}
.opening .blob1{width:76vw;left:-6vw;top:-10vh}
.opening .blob2{width:62vw;right:-8vw;bottom:-18vh}
.opening-inner{position:relative;z-index:2;width:min(690px,56vw);margin-top:60px}
.opening-inner .moji{width:100%;opacity:0;transition:opacity 1.2s ease}
.opening.ready .moji{opacity:1}
#daruma-frame{position:absolute;left:50%;top:50%;width:29%;transform:translate(-50%,-52%)}
.scroll-ico{position:absolute;left:50%;bottom:6vh;transform:translateX(-50%);width:68px;z-index:2;opacity:0;transition:opacity 1s 1s}
.opening.ready .scroll-ico{opacity:1}
/* intro (red) */
.intro{position:relative;padding:150px 0 360px;text-align:center;color:#fff}
.intro p{font-size:15px;line-height:2.6;letter-spacing:.12em;margin:0}
.intro::after{content:"";position:absolute;left:50%;bottom:-300px;width:120%;height:620px;transform:translateX(-50%);background:var(--cream);border-radius:50%}
.intro>*{position:relative;z-index:2}
.intro::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px}
/* map */
.about{position:relative;z-index:3;margin-top:-190px;padding-bottom:70px}
.about-grid{width:min(870px,88%);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end}
.about-grid .txt{padding-bottom:20px}
.about-grid .txt p{font-size:13.5px;line-height:2.1;letter-spacing:.1em;margin-bottom:34px;text-align:justify}
.more{display:inline-flex;flex-direction:column;align-items:center;gap:6px;font-family:var(--en);font-size:12px;letter-spacing:.14em}
.more img{width:12px}
.more span{border-bottom:1px solid #333;padding:0 4px 2px}
.about .map img{width:100%}
.features{width:min(870px,88%);margin:70px auto 0;padding:26px 40px 30px}
.features h2{font-family:var(--mincho);font-size:24px;letter-spacing:.3em;text-align:center;padding-bottom:18px;border-bottom:1px solid #777;margin-bottom:34px}
.features img{width:100%}
.contents{padding:110px 0 60px}
.contents-grid{width:min(870px,88%);margin:56px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:34px 20px}
.contents-grid a{display:block;text-align:center;font-size:12px;line-height:1.9;letter-spacing:.08em}
.contents-grid .circle{display:block;position:relative;width:min(188px,100%);margin:0 auto 14px;aspect-ratio:1/1;transition:transform .5s}
.contents-grid .circle img{position:absolute;inset:0;width:100%;height:100%;transition:opacity .4s}
.contents-grid .circle img.h{opacity:0}
.contents-grid a:hover .circle{transform:scale(1.1)}
.contents-grid a:hover .circle img.h{opacity:1}
.contents-grid li{list-style:none}
.contents-grid{padding:0}
.contents-grid li:nth-child(4){grid-column:1/2;margin-left:50%}
.contents-grid li:nth-child(5){grid-column:2/3;margin-left:50%}
.shop{padding:50px 0 20px}
.shop img{width:min(870px,88%);margin:56px auto 0;display:block;border-radius:22px;box-shadow:0 4px 10px rgba(0,0,0,.18)}
.links{padding:60px 0 20px}
.links ul{list-style:none;margin:56px auto 0;padding:0;display:flex;justify-content:center;gap:16px}
.links a{display:block;width:96px;height:96px;background:#fff;border-radius:18px;box-shadow:0 3px 8px rgba(0,0,0,.2);overflow:hidden;transition:transform .4s}
.links a:hover{transform:translateY(-4px)}
.links img{width:100%;height:100%;object-fit:cover}
.site-footer{padding:60px 0 50px;text-align:center;font-size:11.5px;font-weight:700;letter-spacing:.1em}

/* ---------- story ---------- */
.story-list{position:relative;z-index:3;margin-top:-170px;padding:60px 0 80px}
.story-item{position:relative;width:min(870px,88%);margin:0 auto 70px;background:rgba(255,255,255,.55);border-radius:30px;padding:56px 60px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.story-item.rev .pic{order:2}
.story-item h2{font-family:var(--mincho);font-size:24px;line-height:1.5;letter-spacing:.14em;text-align:center;margin-bottom:22px;font-weight:400}
.story-item p{font-size:13.5px;line-height:2.1;letter-spacing:.06em;margin:0;text-align:justify}
.story-item .pic{text-align:center}
.story-item .pic img{max-height:480px;width:auto;margin:0 auto}
.story-item .pic.small img{max-width:300px}
.story-item.first .pic img{margin-top:-90px;max-width:300px}

/* ---------- making ---------- */
.steps{position:relative;z-index:3;margin-top:-170px;padding:40px 0 100px}
.step-nav{display:flex;justify-content:center;gap:34px;list-style:none;margin:0;padding:0 0 40px}
.step-nav button{display:block;background:none;border:0;padding:0;cursor:pointer;width:85px}
.step-nav img{width:100%;display:block}
.step-nav img.on{display:none}
.step-nav button.active img.on{display:block}
.step-nav button.active img.off{display:none}
.step-panel{width:min(870px,88%);margin:0 auto;text-align:center}
.js .step-panel{display:none}
.js .step-panel.active{display:block;animation:fadein .6s ease}
@keyframes fadein{from{opacity:0}to{opacity:1}}
.step-panel+.step-panel{margin-top:80px}
.js .step-panel+.step-panel{margin-top:0}
.step-panel .illust{width:min(300px,60%);margin:0 auto 20px}
.step-panel .step-label{display:block;font-family:var(--en);font-size:12px;letter-spacing:.2em}
.step-panel h2{font-family:var(--mincho);font-size:22px;line-height:1.6;letter-spacing:.12em;margin:8px 0 22px}
.step-panel p.desc{max-width:620px;margin:0 auto 34px;font-size:13.5px;line-height:2.1;text-align:justify}
.step-photos{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;text-align:left}
.step-photos.one{grid-template-columns:minmax(0,420px);justify-content:center}
.step-photos figure{margin:0}
.step-photos img{width:100%;border-radius:18px}
.step-photos figcaption{font-size:12px;line-height:1.8;margin-top:10px}
.step-arrows{display:none;justify-content:center;gap:22px;margin-top:40px}
.js .step-arrows{display:flex}
.step-arrows button{border:0;background:none;padding:0;width:62px;cursor:pointer;transition:transform .3s}
.step-arrows button:hover{transform:scale(1.08)}
.step-arrows img{width:100%}

/* ---------- creators ---------- */
.hero-creators{background:var(--cream) url(../img/creator-top-bg.jpg) center top/cover no-repeat;padding-bottom:70px}
.hero-creators::after{display:none}
.hero-creators p.lead{color:var(--ink)}
.creator-grid{width:min(870px,88%);margin:70px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:34px;list-style:none;padding:0}
.creator{position:relative;background:#fff;border-radius:30px;box-shadow:0 3px 8px rgba(0,0,0,.14);padding:100px 24px 34px;text-align:center}
.creator .face{position:absolute;left:50%;top:-50px;width:130px;height:130px;transform:translateX(-50%);border-radius:50%;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.creator .face img{width:100%;height:100%;object-fit:cover}
.creator .org{display:block;font-size:11.5px;text-align:left;border-bottom:1px solid #aaa;padding-bottom:6px}
.creator h2{font-size:20px;letter-spacing:.14em;padding:12px 0;border-bottom:1px solid #aaa;margin-bottom:0;font-weight:500}
.creator .years{display:block;font-size:11.5px;text-align:left;border-bottom:1px solid #aaa;padding:2px 0 3px;margin-bottom:18px}
.creator p{font-size:12.5px;line-height:1.95;margin:0}
.creator-note{width:min(870px,88%);margin:20px auto 0;font-size:11px;font-weight:700}
.btn-red{display:inline-block;background:#d03821;color:#fff;border-radius:30px;padding:11px 28px;font-size:14px;letter-spacing:.1em;box-shadow:0 3px 6px rgba(0,0,0,.25);transition:transform .3s}
.btn-red:hover{transform:scale(1.06)}
.center{text-align:center}
.creator-btn{margin:80px 0 60px}

/* ---------- interview ---------- */
.page-interview{background:#bebebe url(../img/interview_back_new.png) center top/100% auto repeat-y}
.page-interview .hero::after{display:none}
.page-interview .hero{padding-bottom:70px}
.page-interview .hero p.lead,.page-interview .hero h1{color:inherit}
.page-interview .hero p.lead{color:var(--ink)}
.int-list{width:min(660px,88%);margin:0 auto;padding:0 0 160px;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:50px}
.int-card{display:block;background:rgba(255,255,255,.85);border-radius:25px;padding:18px 18px 22px;transition:transform .5s}
.int-card:hover{transform:scale(1.05)}
.int-card img{width:100%;border-radius:12px;display:block;margin-bottom:16px}
.int-card h2{font-size:15px;line-height:1.6;font-weight:700;letter-spacing:.1em;margin-bottom:12px}
.int-card .who{font-size:12px;font-weight:700}
/* article */
.page-article{background:#bebebe url(../img/interview_back_new.png) center top/100% auto repeat-y}
.article{width:min(800px,88%);margin:150px auto 120px;background:rgba(255,255,255,.9);border-radius:15px;padding:5% 6%}
.article .top-img{display:block;width:100%;margin:0 auto 24px}
.article h1{font-family:var(--mincho);font-weight:300;text-align:center;font-size:28px;line-height:1.6;letter-spacing:.14em;margin-bottom:30px}
.article .post-content{padding:10px 8%}
.article .post-content h3{font-size:17px;font-weight:700;line-height:1.5;letter-spacing:0;margin:0 0 .8em;padding-left:5px}
.article .post-content p{line-height:2;padding-bottom:20px;letter-spacing:0;margin:0}
.article .post-content img{display:block;margin:0 auto 30px;border-radius:10px}
.article .post-content hr{border:0;border-top:1px solid #ccc;margin:34px 0}
.article .post-content h3 img{margin-bottom:30px}
.article .back{text-align:center;margin-top:40px}

/* ---------- information ---------- */
.page-info{background:var(--cream) url(../img/info-bg.jpg) center top/cover fixed no-repeat}
.page-info .hero::after{display:none}
.page-info .hero{padding-bottom:60px}
.page-info .hero h1{font-size:34px}
.page-info .hero p.lead{color:var(--ink)}
.info-card{width:min(950px,92%);margin:0 auto 44px;padding:40px 52px 46px;background:rgba(255,255,255,.96);border-radius:30px}
.info-card h2{font-family:var(--mincho);font-size:19px;letter-spacing:.2em;text-align:center;margin-bottom:24px}
.info-card .photo{width:100%;border-radius:22px;margin-bottom:24px}
.info-table{width:100%;border-collapse:collapse;font-size:13.5px}
.info-table th,.info-table td{text-align:left;font-weight:500;border-bottom:1px solid #ddd;padding:8px 8px;line-height:1.8;vertical-align:top}
.info-table th{width:120px;font-size:13px}
.info-card .access-img{display:block;margin:34px auto 30px;max-width:640px;width:100%}
.info-card iframe{width:100%;height:400px;border:0;border-radius:12px;display:block}
.info-contact{text-align:center;margin:36px 0 80px;font-size:13px}
.info-contact a{text-decoration:underline}
.info-card .heading-pill{width:100%;margin-bottom:30px}

/* ---------- responsive ---------- */
@media (max-width:1150px){
  .side-logo{display:none}
  .site-header{width:100%;max-width:none;left:0;transform:none;height:64px;border-radius:0;justify-content:space-between;padding:0 18px;background:rgba(255,255,255,.88)}
  .gnav{display:none}
  .site-header .m-logo{display:block;width:78px}
  .menu-btn{display:block;background:none;border:0;font-family:var(--nav);font-size:12px;letter-spacing:.12em;color:var(--ink);cursor:pointer;padding:6px 4px;position:relative}
  .menu-btn::before{content:"";display:block;width:26px;height:2px;background:var(--ink);box-shadow:0 7px 0 var(--ink),0 -7px 0 var(--ink);margin:6px auto 12px}
  .fly{display:flex;position:fixed;inset:0;z-index:950;background:rgba(255,255,255,.97);flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s}
  .fly.open{opacity:1;pointer-events:auto}
  .fly img.fly-logo{width:130px;margin-bottom:10px}
  .fly ul{list-style:none;margin:0;padding:0;width:70%;max-width:320px;text-align:center}
  .fly li a{display:block;font-family:var(--nav);font-size:13px;letter-spacing:.12em;padding:12px 0}
  .fly li a[aria-current="page"]{color:var(--red)}
  .fly .fly-pill{border:1px solid var(--line);border-radius:25px;margin:34px 0 22px}
  .fly .fly-close{position:absolute;right:18px;top:14px;background:none;border:0;font-family:var(--nav);font-size:12px;letter-spacing:.12em;cursor:pointer}
  .to-top{right:14px;bottom:20px;width:64px;height:77px;background-size:64px 77px}
}
@media (max-width:820px){
  .sp-only{display:block}.pc-only{display:none}
  body{font-size:14px}
  .hero{padding:130px 0 150px}
  .hero::after{height:260px;bottom:-130px;width:190%}
  .hero h1{font-size:30px}
  .opening .blob1{width:140vw;left:-30vw;top:-4vh}
  .opening .blob2{width:110vw;right:-30vw;bottom:-6vh}
  .opening-inner{width:84vw}
  .intro{padding:110px 0 220px}
  .intro p{font-size:13px;line-height:2.4}
  .intro::after{height:380px;bottom:-190px;width:200%}
  .about{margin-top:-110px}
  .about-grid{grid-template-columns:1fr}
  .about-grid .map{order:-1}
  .features{padding:24px 22px 34px;margin-top:40px}
  .features h2{font-size:19px}
  .contents-grid{grid-template-columns:repeat(2,1fr)}
  .contents-grid li:nth-child(4),.contents-grid li:nth-child(5){grid-column:auto;margin-left:0}
  .contents-grid li:nth-child(5){grid-column:1/-1;width:50%;margin:0 auto}
  .story-list{margin-top:-90px}
  .story-item{grid-template-columns:1fr;padding:30px 24px;gap:20px}
  .story-item.rev .pic{order:0}
  .story-item.first .pic img{margin-top:0}
  .story-item .pic img{max-height:340px}
  .steps{margin-top:-90px}
  .step-nav{gap:10px}
  .step-nav button{width:48px}
  .step-photos{grid-template-columns:1fr}
  .step-panel h2{font-size:18px}
  .creator-grid{grid-template-columns:1fr;gap:80px;margin-top:90px}
  .int-list{grid-template-columns:1fr;gap:30px}
  .article{padding:6% 5%}
  .article h1{font-size:22px}
  .article .post-content{padding:10px 0}
  .article .post-content br{display:none}
  .page-info{background-attachment:scroll}
  .info-card{padding:26px 16px 30px}
  .info-table th{width:84px}
  .info-card iframe{height:300px}
  .page-info .hero h1{font-size:26px}
}
@media (prefers-reduced-motion:reduce){.reveal{transition:none;opacity:1;transform:none}.opening .moji{transition:none}}

main{overflow-x:clip;position:relative}
html{overflow-x:hidden}

.m-logo-wrap{display:none}
@media (max-width:1150px){.m-logo-wrap{display:block}}
.hero-red{background-color:#d9411f}
