body.mokuren-lp{--purple:#ac3c4a;--dark:#3d3041;--muted:#6e6570;--pale:#efede6;--line:#d79795}body.mokuren-lp *{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body.mokuren-lp{margin:0;color:var(--dark);background:#fff;font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;font-size:16px;line-height:1.9}body.mokuren-lp a{color:inherit;text-decoration:none}body.mokuren-lp a:focus-visible{outline:3px solid #9b639e;outline-offset:5px}body.mokuren-lp a:hover{opacity:.78}body.mokuren-lp header{min-height:100px;display:flex;align-items:center;justify-content:space-between;padding:20px 4.5%;gap:25px;border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:10}body.mokuren-lp .brand strong{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:27px;letter-spacing:.08em}body.mokuren-lp .brand strong span{font-family:inherit;font-size:15px;margin-left:12px}body.mokuren-lp .brand small{display:block;font-size:12px;letter-spacing:.15em;color:var(--muted)}body.mokuren-lp nav{display:flex;gap:28px;align-items:center;font-size:14px;font-weight:600}body.mokuren-lp .nav-contact{background:var(--purple);padding:13px 23px;color:#fff;border-radius:4px}body.mokuren-lp .nav-contact span{margin-left:18px}body.mokuren-lp .hero{position:relative;display:grid;grid-template-columns:1.12fr 1fr;min-height:680px;align-items:center;padding:75px max(5%,calc((100% - 1240px)/2)) 110px;gap:4%;background:linear-gradient(110deg,#faf8fa 0%,#faf8fa 55%,#f0e7f1 55%,#f0e7f1 100%)}body.mokuren-lp .eyebrow{font-size:12px;letter-spacing:.2em;font-weight:700;color:var(--purple);margin:0 0 24px}body.mokuren-lp .location{font-size:14px;letter-spacing:.12em}body.mokuren-lp h1,body.mokuren-lp h2,body.mokuren-lp h3,body.mokuren-lp .hero-art p,body.mokuren-lp .about-message{font-family:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;font-weight:500}body.mokuren-lp h1{font-size:clamp(32px,3.8vw,54px);line-height:1.65;letter-spacing:.07em;margin:22px 0}body.mokuren-lp .lead{line-height:2.15;color:var(--muted);margin-bottom:32px}body.mokuren-lp .button{display:inline-flex;align-items:center;gap:38px;background:var(--purple);color:white;padding:17px 27px;border-radius:5px;font-size:15px}body.mokuren-lp .hero-note{font-size:13px;color:var(--muted);margin:12px 0 0}body.mokuren-lp .hero-art{border-radius:48% 48% 8px 8px;padding:65px 23px 38px;text-align:center;box-shadow:0 16px 50px #69437106;}body.mokuren-lp .hero-art img{width:100%;height:auto;mix-blend-mode:multiply;transform:rotate(-2deg)}body.mokuren-lp .hero-art p{font-size:21px;letter-spacing:.15em;margin:20px 0 10px;transform:rotate(-2deg)}body.mokuren-lp .art-caption{font-size:12px;color:var(--muted);letter-spacing:.16em}body.mokuren-lp .scroll{position:absolute;bottom:28px;left:5%;font-size:12px;letter-spacing:.13em}body.mokuren-lp .scroll span{margin-left:30px}body.mokuren-lp .section,body.mokuren-lp .wrap{max-width:1160px;margin:auto}body.mokuren-lp .section{padding:95px 30px}body.mokuren-lp .section-label>span{color:var(--purple);font-size:12px;letter-spacing:.18em;font-weight:700}body.mokuren-lp h2{font-size:32px;line-height:1.6;letter-spacing:.05em;margin:12px 0 26px}body.mokuren-lp h3{font-size:23px;line-height:1.8;margin:0 0 15px}body.mokuren-lp p{margin:0 0 18px}body.mokuren-lp .thought{display:grid;grid-template-columns:1fr 1.7fr;gap:65px}body.mokuren-lp .thought-copy p{color:var(--muted);line-height:2.2}body.mokuren-lp .thought-copy h3:not(:first-child){margin-top:40px}body.mokuren-lp .worries{background:var(--pale);padding:65px 30px;text-align:center}body.mokuren-lp .worries .eyebrow{margin-bottom:10px;font-size:14px;letter-spacing:.1em}body.mokuren-lp .worry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:35px 0}body.mokuren-lp .worry-grid p{padding:10px 25px;border-right:1px solid #d9cddb;font-size:18px;margin:0}body.mokuren-lp .worry-grid p:last-child{border:0}body.mokuren-lp .worry-grid span{display:block;color:var(--purple);font-size:13px;margin-bottom:12px}body.mokuren-lp .text-link{display:inline-block;border-bottom:1px solid var(--purple);font-size:14px;color:var(--purple);padding-bottom:4px}body.mokuren-lp .text-link span{margin-left:20px}body.mokuren-lp .section-top{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:28px}body.mokuren-lp .section-top>p{color:var(--muted);font-size:15px}body.mokuren-lp .service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}body.mokuren-lp .service-grid article{padding:32px 27px;border:1px solid var(--line);border-radius:7px;background:linear-gradient(#faf7fa,white)}body.mokuren-lp .number{font-family:Georgia,serif;font-size:42px;color:#ab86ad;display:block;line-height:1.3;margin-bottom:30px}body.mokuren-lp .service-grid h3{font-size:21px}body.mokuren-lp .service-grid p{color:var(--muted);margin:0;font-size:15px;line-height:2}body.mokuren-lp .flow-section{background:#faf9fa}body.mokuren-lp .steps{list-style:none;padding:0;margin:0}body.mokuren-lp .steps li{display:flex;gap:50px;padding:26px 0;border-top:1px solid var(--line)}body.mokuren-lp .steps li>span{color:var(--purple);font-size:13px;letter-spacing:.1em;flex:0 0 90px;padding-top:8px}body.mokuren-lp .steps h3{font-family:inherit;font-size:18px;font-weight:600;margin:0 0 6px}body.mokuren-lp .steps p{color:var(--muted);margin:0;font-size:15px}body.mokuren-lp .about{display:grid;grid-template-columns:1fr 1.35fr;gap:65px}body.mokuren-lp .about-message{font-size:29px;line-height:1.7;margin-top:34px}body.mokuren-lp .portraits{display:flex;gap:10px;flex-wrap:wrap;margin-top:27px}body.mokuren-lp .portraits img{width:75px;height:90px;object-fit:cover;object-position:center 20%;border-radius:50%;background:var(--pale)}body.mokuren-lp dl{margin:0}body.mokuren-lp dl>div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}body.mokuren-lp dt{font-size:14px;color:var(--muted)}body.mokuren-lp dd{margin:0;font-size:15px;overflow-wrap:anywhere}body.mokuren-lp .map-link{margin-top:10px;font-size:13px}body.mokuren-lp .note{font-size:13px;color:var(--muted);margin-top:20px}body.mokuren-lp .contact{background:var(--purple);color:white;padding:70px 30px 80px;text-align:center}body.mokuren-lp .contact .eyebrow{color:#e8d7ea;margin-bottom:15px}body.mokuren-lp .contact h2{font-size:36px;margin-bottom:20px}body.mokuren-lp .contact>div>p:not(.eyebrow){color:#eee3ef;font-size:15px}body.mokuren-lp .contact-grid{max-width:870px;display:grid;grid-template-columns:1fr 1fr;margin:35px auto 0;gap:20px}body.mokuren-lp .contact-grid a{border:1px solid #ba9abd;border-radius:5px;padding:24px 16px;display:flex;flex-direction:column}body.mokuren-lp .contact-grid span{font-size:14px}body.mokuren-lp .contact-grid strong{font-size:32px;letter-spacing:.03em;font-weight:500;line-height:1.9}body.mokuren-lp .contact-grid small{font-size:13px}body.mokuren-lp .phone-contact{background:white;color:var(--purple)}body.mokuren-lp .mail-contact strong{font-size:25px;margin:6px 0}body.mokuren-lp .contact-grid .mail-contact:hover{background:#835887;opacity:1}body.mokuren-lp footer{padding:38px 5%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px}body.mokuren-lp footer strong{font-size:16px}body.mokuren-lp footer p,body.mokuren-lp footer>a{font-size:13px;color:var(--muted)}body.mokuren-lp footer small{font-size:12px;color:var(--muted);width:100%;border-top:1px solid var(--line);padding-top:20px}body.mokuren-lp .skip{position:absolute;top:-100px;left:10px;background:white;z-index:20}body.mokuren-lp .skip:focus{top:5px}
@media(min-width:1500px){body.mokuren-lp .hero{gap:70px}}@media(max-width:1050px){body.mokuren-lp nav{gap:17px}body.mokuren-lp .brand strong span{display:block;margin:0;font-size:13px}body.mokuren-lp .brand small{display:none}body.mokuren-lp .hero{min-height:620px}body.mokuren-lp .thought,body.mokuren-lp .about{gap:35px}body.mokuren-lp .service-grid{gap:15px}body.mokuren-lp .service-grid article{padding:26px 20px}body.mokuren-lp .portraits img{width:60px;height:75px}}
@media(max-width:760px){body.mokuren-lp header{display:block;padding:16px 6% 0}body.mokuren-lp .brand strong{font-size:25px}body.mokuren-lp .brand strong span{display:inline;font-size:12px;margin-left:7px}body.mokuren-lp nav{justify-content:space-between;gap:9px;font-size:12px;margin-top:17px;padding-bottom:14px;flex-wrap:wrap}body.mokuren-lp .nav-contact{padding:7px 11px}body.mokuren-lp .nav-contact span{display:none}body.mokuren-lp .hero{padding:42px 7% 70px;grid-template-columns:1fr;gap:34px;background:linear-gradient(155deg,#faf8fa 0%,#faf8fa 62%,#f0e7f1 62%)}body.mokuren-lp .hero .eyebrow{font-size:11px;margin-bottom:14px}body.mokuren-lp .location{font-size:12px}body.mokuren-lp .hero h1{font-size:34px;margin:18px 0;letter-spacing:.02em}body.mokuren-lp .lead{font-size:15px}body.mokuren-lp .button{padding:15px 22px;font-size:14px;gap:30px}body.mokuren-lp .hero-art{max-width:410px;width:90%;justify-self:center;padding:40px 22px 27px}body.mokuren-lp .hero-art p{font-size:18px}body.mokuren-lp .scroll{left:7%;bottom:18px}body.mokuren-lp .section{padding:65px 7%}body.mokuren-lp .thought,body.mokuren-lp .about{grid-template-columns:1fr;gap:12px}body.mokuren-lp .thought h3{font-size:21px}body.mokuren-lp .thought p{font-size:15px}body.mokuren-lp .thought br{display:none}body.mokuren-lp .thought h3 br{display:initial}body.mokuren-lp h2{font-size:28px}body.mokuren-lp .worries{padding:50px 7%}body.mokuren-lp .worries h2{font-size:24px}body.mokuren-lp .worry-grid{grid-template-columns:1fr;margin:22px 0}body.mokuren-lp .worry-grid p{border-right:0;border-bottom:1px solid #d9cddb;padding:20px 0;font-size:17px}body.mokuren-lp .worry-grid span{margin-bottom:4px}body.mokuren-lp .section-top{display:block;margin-bottom:25px}body.mokuren-lp .service-grid{grid-template-columns:1fr;gap:18px}body.mokuren-lp .service-grid article{padding:26px}body.mokuren-lp .number{margin-bottom:12px;font-size:34px}body.mokuren-lp .section-top h2{margin-bottom:20px}body.mokuren-lp .steps li{gap:18px;padding:22px 0}body.mokuren-lp .steps li>span{flex-basis:60px;font-size:11px}body.mokuren-lp .steps h3{font-size:17px}body.mokuren-lp .about-message{font-size:25px;margin-top:15px}body.mokuren-lp .portraits{margin-bottom:28px}body.mokuren-lp .portraits img{width:66px;height:82px}body.mokuren-lp dl>div{grid-template-columns:80px 1fr;gap:10px}body.mokuren-lp .contact{padding:55px 7%}body.mokuren-lp .contact h2{font-size:29px}body.mokuren-lp .contact-grid{grid-template-columns:1fr;gap:16px}body.mokuren-lp .contact-grid strong{font-size:29px}body.mokuren-lp footer{padding:30px 7%;gap:10px}body.mokuren-lp footer p{font-size:12px}body.mokuren-lp .desktop{display:none}html{scroll-padding-top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body.mokuren-lp h1,body.mokuren-lp h2,body.mokuren-lp h3{padding:0;border:0;background:none}body.mokuren-lp img{max-width:100%;vertical-align:middle}body.mokuren-lp .steps{list-style:none}body.mokuren-lp .steps li:before{content:none}body.mokuren-lp a{text-decoration:none}body.mokuren-lp dd{margin-left:0}

/* お問い合わせ：電話ボタン＋ページ内フォーム */
#contact.mokuren-contact {
    --mokuren-purple: #a9243d;
    padding: 72px 24px 80px;
    background: #d79795;
    color: #fff;
}

#contact .mokuren-contact__inner {
    max-width: 760px;
    margin-inline: auto;
}

#contact .mokuren-contact__intro {
    text-align: center;
    margin-bottom: 30px;
}

#contact .mokuren-contact__en {
    margin: 0 0 14px;
    font-size: 12px;
    letter-spacing: 0.2em;
}

#contact .mokuren-contact__intro h2 {
    margin: 0 0 20px;
    color: #fff;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: clamp(27px, 4vw, 36px);
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.06em;
}

#contact .mokuren-contact__intro > p:last-child {
    margin: 0;
    font-size: 16px;
    line-height: 1.9;
}

#contact .mokuren-contact__telephone {
    max-width: 420px;
    margin: 0 auto 36px;
    text-align: center;
}

#contact .mokuren-contact__telephone > p {
    margin: 0 0 12px;
    font-size: 15px;
}

#contact .mokuren-contact__phone {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 18px 16px;
    border: 1px solid #d3bfd6;
    border-radius: 7px;
    background: #fff;
    color: var(--mokuren-purple);
    font-size: clamp(24px, 5vw, 30px);
    font-weight: 500;
    line-height: 1.5;
    text-decoration: none;
}

#contact .mokuren-contact__phone:hover {
    background: #f6f0f6;
    opacity: 1;
}

#contact .mokuren-contact__panel {
    padding: 36px;
    border-radius: 10px;
    background: #fff;
    color: #443447;
}

#contact .mokuren-contact__panel > h3 {
    margin: 0 0 28px;
    color: #443447;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.6;
}

/* ラベルの下に入力欄を配置 */
#contact .smf-item {
    display: block;
    padding: 0;
    border: 0;
    margin: 0 0 24px;
}

#contact .smf-item__col {
    width: 100%;
    max-width: none;
    padding: 0;
    flex-basis: auto;
}

#contact .smf-item__col--label {
    margin-bottom: 8px;
}

#contact .smf-item__label {
    color: #443447;
    font-size: 16px;
}

/* 入力欄 */
#contact .smf-text-control__control,
#contact .smf-textarea-control__control,
#contact .smf-select-control__control {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 14px;
    border: 1px solid #d8ccd9;
    border-radius: 5px;
    background: #fff;
    color: #443447;
    font-family: inherit;
    font-size: 16px;
    line-height: 1.6;
}

#contact .smf-textarea-control__control {
    min-height: 150px;
    resize: vertical;
}

#contact input::placeholder,
#contact textarea::placeholder {
    color: #817384;
    opacity: 1;
}

#contact input[type="checkbox"] {
    accent-color: var(--mokuren-purple);
}

/* 確認・送信・戻るボタン */
#contact .smf-action {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 28px;
}

#contact .smf-action .smf-button-control {
    flex: 1 1 200px;
    margin: 0;
}

#contact .smf-action .smf-button-control__control {
    width: 100%;
    padding: 16px 24px;
    border: 1px solid var(--mokuren-purple);
    border-radius: 6px;
    background: var(--mokuren-purple);
    color: #fff;
    font-family: inherit;
    font-size: 16px;
    line-height: 1.6;
}

#contact .smf-action [data-action="back"] {
    background: #fff;
    color: var(--mokuren-purple);
}

#contact .smf-action button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

#contact :is(a, input, textarea, select, button):focus-visible {
    outline: 3px solid #ba91c0;
    outline-offset: 3px;
}

#contact .mokuren-contact__note {
    margin: 20px 0 0;
    color: #736476;
    font-size: 14px;
    line-height: 1.8;
    text-align: center;
}

@media (max-width: 600px) {
    #contact.mokuren-contact {
        padding: 52px 18px;
    }

    #contact .mokuren-contact__panel {
        padding: 26px 20px;
    }

    #contact .mokuren-contact__panel > h3 {
        font-size: 20px;
    }
}
