@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+Antique:wght@700&display=swap');

/* ===== OB様専用 住まいの相談窓口 ===== */

#ob-soudan .green { color: #189786; }

@media screen and (min-width: 768px),print {

/* --- MV --- */
#ob-mv { margin-top: 50px; }
#ob-mv .mv-flex { width: 1280px; margin: 0 auto; display: -webkit-box; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; align-items: flex-start; }
#ob-mv .mv-col { width: 340px; }
#ob-mv .mv-col > p { margin: 0; line-height: 0; }
#ob-mv .mv-col > p img { width: 100%; height: auto; vertical-align: top; }
#ob-mv .mv-col-c { width: 600px; position: relative; }
#ob-mv .mv-copy { width: 600px; height: 240px; background: #189786; margin-top: -93px; position: relative; z-index: 2; text-align: center; padding-top: 52px; box-sizing: border-box; }
#ob-mv .mv-ttl { font-family: "Yu Gothic", "游ゴシック", sans-serif; font-weight: bold; font-size: 30px; letter-spacing: 0.05em; line-height: 1.3; color: #fff; }
#ob-mv .mv-line { display: block; width: 60px; height: 2px; background: #fff; margin: 18px auto 0; }
#ob-mv .mv-txt { font-family: "Yu Gothic", "游ゴシック", sans-serif; font-weight: bold; font-size: 18px; letter-spacing: 0.05em; line-height: 32px; color: #fff; margin-top: 20px; }

/* --- lead --- */
#ob-lead { position: relative; padding: 96px 0 92px; text-align: center; }
#ob-lead .lead-ttl { font-size: 26px; font-weight: 700; letter-spacing: 0.1em; line-height: 1; color: #333; }
#ob-lead .lead-txt { font-size: 16px; letter-spacing: 0.05em; line-height: 33px; color: #333; margin-top: 24px; }
#ob-lead .lead-illust-box { position: static; }
#ob-lead .lead-illust { position: absolute; margin: 0; line-height: 0; }
#ob-lead .il-l { left: calc(50% - 610px); top: 6px; width: 255px; }
#ob-lead .il-r { left: calc(50% + 335px); top: 6px; width: 270px; }
#ob-lead .lead-illust img { width: 100%; height: auto; }

/* --- CTA(共通ブロック) --- */
.ob-cta { background: #189786; padding: 50px 0 64px; position: relative; overflow: hidden; }
.ob-cta .cta-inner { width: 1040px; margin: 0 auto; position: relative; }
.ob-cta .cta-en { font-family: "Montserrat", sans-serif; font-weight: 700; font-size: 14px; letter-spacing: 0.05em; color: #fff; text-align: center; }
.ob-cta .cta-en::after { content: ""; display: block; width: 86px; height: 2px; background: #fff; margin: 13px auto 0; }
.ob-cta .cta-ttl { font-size: 26px; font-weight: 700; letter-spacing: 0.1em; line-height: 1; color: #fff; text-align: center; margin-top: 27px; }
.ob-cta .cta-lead { font-size: 16px; letter-spacing: 0.05em; line-height: 33px; color: #fff; text-align: center; margin-top: 10px; }
.ob-cta .cta-btn-list { display: -webkit-box; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: center; margin-top: 44px; }
.ob-cta .cta-btn-list li { width: 320px; height: 170px; border-radius: 10px; margin-right: 40px; position: relative; text-align: center; box-sizing: border-box; }
.ob-cta .cta-btn-list li:last-child { margin-right: 0; }
.ob-cta .cta-btn-list li > a { display: block; width: 100%; height: 100%; }
.ob-cta .btn-tel-num a { display: inline; }
.ob-cta .btn-tel { background: #fff; border: 2px solid #FFBF00; }
.ob-cta .btn-form { background: #FFBF00; }
.ob-cta .btn-line { background: #28C755; }
.ob-cta .btn-icon { padding-top: 19px; line-height: 0; }
.ob-cta .btn-tel .btn-icon img { height: 34px; width: auto; }
.ob-cta .btn-form .btn-icon { padding-top: 28px; }
.ob-cta .btn-form .btn-icon img { height: 21px; width: auto; }
.ob-cta .btn-line .btn-icon { padding-top: 21px; }
.ob-cta .btn-line .btn-icon img { height: 32px; width: auto; }
.ob-cta .btn-txt { font-family: "Yu Gothic", "游ゴシック", sans-serif; font-weight: bold; font-size: 22px; letter-spacing: 0.05em; line-height: 32px; color: #000; margin-top: 11px; }
.ob-cta .btn-line .btn-txt { color: #fff; }
.ob-cta .btn-tel-num { margin-top: 7px; line-height: 1; white-space: nowrap; }
.ob-cta .tel-mark { font-family: "Montserrat", sans-serif; font-weight: 600; font-size: 16px; letter-spacing: 0.1em; color: #333; margin-right: 4px; }
.ob-cta .tel-num { font-family: "Montserrat", sans-serif; font-weight: 600; font-size: 27px; letter-spacing: 0.1em; color: #333; }
.ob-cta .btn-badge { width: 115px; height: 28px; border-radius: 17px; background: #fff; font-family: "Yu Gothic", "游ゴシック", sans-serif; font-weight: bold; font-size: 15px; letter-spacing: 0.05em; line-height: 28px; color: #000; margin: 9px auto 0; }
.ob-cta .btn-badge.badge-line { width: 200px; color: #28C755; }
.ob-cta .btn-sankaku { position: absolute; bottom: 8px; left: 50%; margin-left: -7px; width: 0; height: 0; border-left: 7px solid transparent; border-right: 7px solid transparent; border-top: 10px solid #333; }
.ob-cta .cta-msg-box { position: relative; margin-top: 31px; }
.ob-cta .cta-msg { width: 880px; font-size: 18px; font-weight: 700; letter-spacing: 0.05em; line-height: 33px; color: #fff; text-align: center; }
.ob-cta .cta-msg .marker { color: #FDBF00; border-bottom: 2px solid #FDBF00; padding-bottom: 4px; }
.ob-cta .msg-line { display: block; width: 553px; height: 24px; margin: 14px 0 0 166px; background: url('../images/ob-soudan/msg-line.png') no-repeat left top; background-size: 553px auto; }
.ob-cta .cta-staff { position: absolute; left: calc(50% + 132px); bottom: -153px; width: 271px; margin: 0; line-height: 0; }
.ob-cta .cta-staff img { width: 100%; height: auto; }

/* --- お悩み --- */
#ob-nayami { padding: 151px 0 172px; }
#ob-nayami .nayami-ttl { font-size: 26px; font-weight: 700; letter-spacing: 0.1em; line-height: 1; color: #333; text-align: center; position: relative; width: 1000px; margin: 0 auto; }
#ob-nayami .nayami-p { position: absolute; line-height: 0; }
#ob-nayami .p-l { right: calc(50% + 214px); top: -58px; width: 81px; }
#ob-nayami .p-r { left: calc(50% + 212px); top: -64px; width: 84px; }
#ob-nayami .nayami-p img { width: 100%; height: auto; }
#ob-nayami .nayami-box { width: 1000px; margin: 24px auto 0; background: #fff; border: 1px solid #179381; box-sizing: border-box; padding: 40px 55px 34px 45px; display: -webkit-box; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: space-between; }
#ob-nayami .nayami-list { width: 440px; }
#ob-nayami .nayami-list li { font-size: 16px; letter-spacing: 0.05em; line-height: 34px; color: #000; padding: 5px 0 8px 31px; border-bottom: 1px solid #E8E8E8; background: url('../images/ob-soudan/icon-check.png') no-repeat left 13px; background-size: 21px auto; }
#ob-nayami .nayami-close { font-size: 20px; font-weight: 700; letter-spacing: 0.05em; line-height: 43px; color: #333; text-align: center; margin-top: 36px; }

/* --- OB様専用窓口 --- */
#ob-mado { background: #F0EDE2; position: relative; padding: 8px 0 80px; }
#ob-mado::before { content: ""; position: absolute; top: -131px; left: 50%; margin-left: -330px; width: 660px; height: 660px; border-radius: 50%; background: #F0EDE2; z-index: 0; }
#ob-mado .mado-head { position: relative; z-index: 1; text-align: center; }
#ob-mado .mado-staff { position: absolute; margin: 0; line-height: 0; z-index: 1; }
#ob-mado .staff-l { left: calc(50% - 553px); top: 23px; width: 361px; }
#ob-mado .staff-r { left: calc(50% + 214px); top: -2px; width: 260px; }
#ob-mado .mado-staff img { width: 100%; height: auto; }
#ob-mado .mado-ttl { font-family: "Zen Kaku Gothic Antique", sans-serif; font-size: 26px; font-weight: 700; letter-spacing: 0.1em; line-height: 1; color: #333; position: relative; z-index: 2; }
#ob-mado .mado-ttl .line { display: inline-block; border-bottom: 2px solid #189786; padding-bottom: 12px; margin-bottom: 9px; }
#ob-mado .tenten { position: relative; }
#ob-mado .tenten::before { content: ""; position: absolute; top: -9px; left: 50%; margin-left: -3px; width: 7px; height: 7px; border-radius: 50%; background: #159785; }
#ob-mado .mado-lead { font-size: 16px; letter-spacing: 0.05em; line-height: 33px; color: #333; margin-top: 28px; position: relative; z-index: 2; }
#ob-mado .mado-list { width: 1100px; margin: 78px auto 0; display: -webkit-box; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; position: relative; z-index: 1; }
#ob-mado .mado-list li { width: 340px; margin: 0 40px 63px 0; background: #fff; border-radius: 6px; position: relative; text-align: center; padding: 43px 0 36px; box-sizing: border-box; }
#ob-mado .mado-list li:nth-child(3n) { margin-right: 0; }
#ob-mado .mado-list li:nth-child(n+4) { margin-bottom: 0; }
#ob-mado .num { position: absolute; top: -19px; left: 50%; margin-left: -19px; width: 38px; height: 38px; border-radius: 50%; background: #189786; font-family: "Montserrat", sans-serif; font-weight: 700; font-size: 19px; letter-spacing: 0.05em; line-height: 38px; color: #fff; text-align: center; }
#ob-mado .m-ttl { font-size: 19px; font-weight: 500; letter-spacing: 0.05em; line-height: 32px; color: #000; }
#ob-mado .m-pic { width: 290px; margin: 15px auto 0; line-height: 0; }
#ob-mado .m-pic img { width: 100%; height: auto; }
#ob-mado .m-txt { font-size: 16px; font-weight: 400; letter-spacing: 0.05em; line-height: 30px; color: #000; margin-top: 19px; }

/* --- こんなご相談 --- */
#ob-soudan-list { padding: 110px 0 0; }
#ob-soudan-list .soudan-ttl { font-family: "Zen Kaku Gothic Antique", sans-serif; font-size: 28px; font-weight: 700; letter-spacing: 0.1em; line-height: 1; color: #333; text-align: center; }
#ob-soudan-list .soudan-ttl::after { content: ""; display: block; width: 40px; height: 2px; background: #189786; margin: 15px auto 0; }
#ob-soudan-list .soudan-list { width: 980px; margin: 63px auto 0; display: -webkit-box; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
#ob-soudan-list .soudan-list li { width: 300px; margin: 0 40px 58px 0; background: #F9F8F4; border-radius: 10px; position: relative; text-align: center; padding: 39px 0 26px; box-sizing: border-box; min-height: 197px; }
#ob-soudan-list .soudan-list li:nth-child(3n) { margin-right: 0; }
#ob-soudan-list .soudan-list li:nth-child(n+4) { margin-bottom: 0; min-height: 218px; }
#ob-soudan-list .num { position: absolute; top: -33px; left: 50%; margin-left: -25px; width: 50px; height: 50px; border-radius: 50%; background: #189786; font-family: "Montserrat", sans-serif; font-weight: 700; font-size: 19px; letter-spacing: 0.05em; line-height: 50px; color: #fff; text-align: center; }
#ob-soudan-list .s-icon { height: 60px; display: -webkit-box; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; align-items: center; justify-content: center; line-height: 0; }
#ob-soudan-list .s-icon img { max-height: 60px; width: auto; }
#ob-soudan-list .s-ttl { font-size: 19px; font-weight: 500; letter-spacing: 0.05em; line-height: 30px; color: #000; margin-top: 17px; }
#ob-soudan-list .s-note { font-size: 14px; font-weight: 500; letter-spacing: 0.05em; line-height: 30px; color: #676767; }
#ob-soudan-list .soudan-wide { width: 980px; margin: 58px auto 0; background: #F9F8F4; border-radius: 10px; position: relative; padding: 47px 0 40px 120px; box-sizing: border-box; min-height: 210px; }
#ob-soudan-list .soudan-wide .num { left: 135px; margin-left: 0; }
#ob-soudan-list .soudan-wide .s-icon { position: absolute; left: 118px; top: 55px; height: auto; display: block; }
#ob-soudan-list .soudan-wide .s-icon img { width: 62px; height: auto; max-height: none; }
#ob-soudan-list .soudan-wide .s-body { margin-left: 104px; text-align: left; }
#ob-soudan-list .soudan-wide .s-ttl { margin-top: 0; }
#ob-soudan-list .soudan-wide .s-txt { font-size: 16px; letter-spacing: 0.05em; line-height: 33px; color: #333; margin-top: 8px; }
#ob-soudan-list .s-staff { position: absolute; right: 73px; bottom: 0; width: 221px; margin: 0; line-height: 0; }
#ob-soudan-list .s-staff img { width: 100%; height: auto; }
#ob-soudan-list .soudan-close { font-size: 20px; font-weight: 700; letter-spacing: 0.05em; line-height: 43px; color: #333; text-align: center; margin: 64px 0 100px; }

/* --- ご相談の流れ --- */
#ob-flow { background: #F9F8F4; padding: 105px 0 90px; position: relative; }
#ob-flow .flow-ttl { font-family: "Zen Kaku Gothic Antique", sans-serif; font-size: 28px; font-weight: 700; letter-spacing: 0.1em; line-height: 1; color: #333; text-align: center; }
#ob-flow .flow-ttl::after { content: ""; display: block; width: 40px; height: 2px; background: #189786; margin: 15px auto 0; }
#ob-flow .flow-illust-box { position: static; }
#ob-flow .flow-illust { position: absolute; margin: 0; line-height: 0; }
#ob-flow .f-il-l { left: calc(50% - 457px); top: 199px; width: 127px; }
#ob-flow .f-il-r { left: calc(50% + 278px); top: 183px; width: 252px; }
#ob-flow .flow-illust img { width: 100%; height: auto; }
#ob-flow .flow-lead { font-size: 16px; font-weight: 700; letter-spacing: 0.05em; line-height: 33px; color: #333; text-align: center; margin-top: 26px; }
#ob-flow .flow-list { width: 900px; margin: 125px auto 0; position: relative; }
#ob-flow .flow-list::before { content: ""; position: absolute; left: 50%; margin-left: -2px; top: 240px; bottom: 60px; width: 3px; background: -webkit-repeating-linear-gradient(top, #1B9786 0, #1B9786 4px, transparent 4px, transparent 10px); background: repeating-linear-gradient(to bottom, #1B9786 0, #1B9786 4px, transparent 4px, transparent 10px); }
#ob-flow .flow-list li { position: relative; margin-bottom: 112px; list-style: none; }
#ob-flow .flow-list li:last-child { margin-bottom: 0; }
#ob-flow .step-badge { position: absolute; top: -51px; left: 50%; margin-left: -46px; width: 91px; height: 91px; border-radius: 50%; background: #189786; color: #fff; text-align: center; z-index: 3; }
#ob-flow .step-en { display: block; font-family: "Montserrat", sans-serif; font-weight: 600; font-size: 14px; letter-spacing: 0.05em; line-height: 1; padding-top: 22px; }
#ob-flow .step-num { display: block; font-family: "Montserrat", sans-serif; font-weight: 600; font-size: 24px; letter-spacing: 0.05em; line-height: 1; margin-top: 4px; }
#ob-flow .flow-card { background: #fff; border: 2px solid #189786; min-height: 290px; box-sizing: border-box; padding: 25px 30px 25px 338px; display: block; position: relative; z-index: 2; }
#ob-flow .f-pic { position: absolute; left: 61px; top: 25px; width: 237px; margin: 0; line-height: 0; }
#ob-flow .f-pic img { width: 237px; height: 237px; border-radius: 50%; object-fit: cover; }
#ob-flow .f-ttl { font-size: 22px; font-weight: 700; letter-spacing: 0.05em; line-height: 33px; color: #333; margin-top: 37px; text-align: left; border-bottom: 1px solid #E8E8E8; padding-bottom: 13px; }
#ob-flow .f-txt { font-size: 16px; font-weight: 500; letter-spacing: 0.05em; line-height: 33px; color: #333; margin-top: 16px; text-align: left; }
#ob-flow .fuki { position: absolute; left: 11px; top: -40px; width: 126px; height: 126px; background: url('../images/ob-soudan/fuki-bubble.png') no-repeat center center; background-size: 100% auto; box-sizing: border-box; font-size: 16px; font-weight: 500; letter-spacing: 0.05em; line-height: 22px; color: #333; text-align: center; display: -webkit-box; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; align-items: center; justify-content: center; padding-bottom: 4px; z-index: 4; }
#ob-flow .step-staff { position: absolute; left: 685px; top: -131px; width: 193px; margin: 0; line-height: 0; z-index: 3; }
#ob-flow .step-staff img { width: 100%; height: auto; }

/* --- 締め --- */
#ob-close { padding: 154px 0 0; }
#ob-close .close-ttl { font-family: "Zen Kaku Gothic Antique", sans-serif; font-size: 32px; font-weight: 700; letter-spacing: 0.1em; line-height: 1; color: #333; text-align: center; }
#ob-close .close-ttl::after { content: ""; display: block; width: 40px; height: 2px; background: #189786; margin: 17px auto 0; }
#ob-close .close-lead { font-size: 16px; font-weight: 700; letter-spacing: 0.05em; line-height: 33px; color: #333; text-align: center; margin-top: 22px; }
#ob-close .close-visual { width: 1200px; height: 608px; margin: 56px auto 132px; position: relative; }
#ob-close .close-visual::before { content: ""; position: absolute; left: -19px; top: 0; width: 343px; height: 343px; border-radius: 50%; background: #F9F8F4; }
#ob-close .close-catch { position: absolute; left: 89px; top: 80px; width: 493px; margin: 0; line-height: 0; z-index: 2; }
#ob-close .close-catch img { width: 100%; height: auto; }
#ob-close .close-ph1 { position: absolute; left: 627px; top: 15px; width: 523px; margin: 0; line-height: 0; }
#ob-close .close-ph2 { position: absolute; left: 563px; top: 409px; width: 326px; margin: 0; line-height: 0; z-index: 2; }
#ob-close .close-ph1 img, #ob-close .close-ph2 img { width: 100%; height: auto; }

/* --- 下部バナー --- */
#ob-bnr { padding-bottom: 40px; }
#ob-bnr .bnr-band { width: 1200px; margin: 235px auto 0; background: #F9F8F4; padding-bottom: 55px; }
#ob-bnr .bnr-list { display: -webkit-box; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; padding: 0 50px; margin-top: -100px; position: relative; top: -100px; margin-bottom: -100px; }
#ob-bnr .bnr-list { top: 0; margin-top: 0; -webkit-transform: translateY(-100px); transform: translateY(-100px); margin-bottom: -100px; }
#ob-bnr .bnr-list li { width: 330px; margin-right: 55px; }
#ob-bnr .bnr-list li:last-child { margin-right: 0; }
#ob-bnr .bnr-list figure { margin: 0; line-height: 0; }
#ob-bnr .bnr-list figure img { width: 100%; height: auto; }
#ob-bnr .b-txt { font-size: 16px; font-weight: 400; letter-spacing: 0.05em; line-height: 32px; color: #333; padding-top: 18px; }

}

@media screen and (max-width: 767px) {

/* --- MV --- */
#ob-mv { margin-top: 4.83vw; }
#ob-mv .sp-main { margin: 0; line-height: 0; }
#ob-mv .sp-main img { width: 100%; height: auto; }
#ob-mv .mv-copy { width: 100%; background: #189786; text-align: center; padding: 12vw 0 12.32vw; box-sizing: border-box; }
#ob-mv .mv-ttl { font-family: "Yu Gothic", "游ゴシック", sans-serif; font-weight: bold; font-size: 5.797vw; letter-spacing: 0.05em; line-height: 1.3; color: #fff; }
#ob-mv .mv-line { display: block; width: 9.66vw; height: 2px; background: #fff; margin: 4.35vw auto 0; }
#ob-mv .mv-txt { font-family: "Yu Gothic", "游ゴシック", sans-serif; font-weight: bold; font-size: 4.348vw; letter-spacing: 0.05em; line-height: 7.729vw; color: #fff; margin-top: 3.62vw; }
#ob-mv .sp-row { display: -webkit-box; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; }
#ob-mv .sp-row li { width: 33.333vw; line-height: 0; }
#ob-mv .sp-row li img { width: 100%; height: 32.85vw; object-fit: cover; }

/* --- lead --- */
#ob-lead { padding: 13.5vw 0 7.25vw; text-align: center; }
#ob-lead .lead-ttl { font-size: 5.556vw; font-weight: 700; letter-spacing: 0.1em; line-height: 9.662vw; color: #333; }
#ob-lead .lead-txt { font-size: 3.865vw; letter-spacing: 0.05em; line-height: 7.971vw; color: #333; margin-top: 3.4vw; }
#ob-lead .lead-illust-box { text-align: center; }
#ob-lead .lead-illust { position: static; display: inline-block; vertical-align: bottom; margin: 3.6vw 0 0; line-height: 0; }
#ob-lead .il-l { width: 35.27vw; margin-right: 6.28vw; }
#ob-lead .il-r { width: 33.33vw; }
#ob-lead .lead-illust img { width: 100%; height: auto; }

/* --- CTA(共通ブロック) --- */
.ob-cta { background: #189786; padding: 11.35vw 0 47.3vw; position: relative; overflow: hidden; }
.ob-cta .cta-inner { position: relative; }
.ob-cta .cta-en { font-family: "Montserrat", sans-serif; font-weight: 700; font-size: 3.382vw; letter-spacing: 0.05em; color: #fff; text-align: center; }
.ob-cta .cta-en::after { content: ""; display: block; width: 20.77vw; height: 2px; background: #fff; margin: 3.14vw auto 0; }
.ob-cta .cta-ttl { font-size: 6.28vw; font-weight: 700; letter-spacing: 0.1em; line-height: 1; color: #fff; text-align: center; margin-top: 6.4vw; }
.ob-cta .cta-lead { font-size: 3.865vw; letter-spacing: 0.05em; line-height: 7.971vw; color: #fff; text-align: center; margin-top: 2.4vw; }
.ob-cta .cta-btn-list { margin-top: 8.7vw; }
.ob-cta .cta-btn-list li { width: 77.295vw; height: 41.063vw; border-radius: 2.415vw; margin: 0 auto 7.25vw; position: relative; text-align: center; box-sizing: border-box; }
.ob-cta .cta-btn-list li > a { display: block; width: 100%; height: 100%; }
.ob-cta .btn-tel-num a { display: inline; }
.ob-cta .btn-tel { background: #fff; border: 0.48vw solid #FFBF00; }
.ob-cta .btn-form { background: #FFBF00; }
.ob-cta .btn-line { background: #28C755; }
.ob-cta .btn-icon { padding-top: 4.6vw; line-height: 0; }
.ob-cta .btn-tel .btn-icon img { height: 8.2vw; width: auto; }
.ob-cta .btn-form .btn-icon { padding-top: 6.8vw; }
.ob-cta .btn-form .btn-icon img { height: 5.1vw; width: auto; }
.ob-cta .btn-line .btn-icon { padding-top: 5.1vw; }
.ob-cta .btn-line .btn-icon img { height: 7.7vw; width: auto; }
.ob-cta .btn-txt { font-family: "Yu Gothic", "游ゴシック", sans-serif; font-weight: bold; font-size: 5.314vw; letter-spacing: 0.05em; line-height: 7.729vw; color: #000; margin-top: 2.7vw; }
.ob-cta .btn-line .btn-txt { color: #fff; }
.ob-cta .btn-tel-num { margin-top: 1.7vw; line-height: 1; white-space: nowrap; }
.ob-cta .tel-mark { font-family: "Montserrat", sans-serif; font-weight: 600; font-size: 3.865vw; letter-spacing: 0.1em; color: #333; margin-right: 1vw; }
.ob-cta .tel-num { font-family: "Montserrat", sans-serif; font-weight: 600; font-size: 6.522vw; letter-spacing: 0.1em; color: #333; }
.ob-cta .btn-badge { width: 27.78vw; height: 6.763vw; border-radius: 4.106vw; background: #fff; font-family: "Yu Gothic", "游ゴシック", sans-serif; font-weight: bold; font-size: 3.623vw; letter-spacing: 0.05em; line-height: 6.763vw; color: #000; margin: 2.2vw auto 0; }
.ob-cta .btn-badge.badge-line { width: 48.31vw; color: #28C755; }
.ob-cta .btn-sankaku { position: absolute; bottom: 1.9vw; left: 50%; margin-left: -1.7vw; width: 0; height: 0; border-left: 1.7vw solid transparent; border-right: 1.7vw solid transparent; border-top: 2.4vw solid #333; }
.ob-cta .cta-msg-box { position: relative; margin-top: 7.5vw; padding-bottom: 0; }
.ob-cta .cta-msg { font-size: 4.348vw; font-weight: 700; letter-spacing: 0.05em; line-height: 7.971vw; color: #fff; text-align: center; }
.ob-cta .cta-msg .marker { color: #FDBF00; border-bottom: 0.48vw solid #FDBF00; padding-bottom: 0.7vw; }
.ob-cta .msg-line { display: block; width: 73.19vw; height: 5.8vw; margin: 2.2vw auto 0; background: url('../images/ob-soudan/sp-msg-line.png') no-repeat left top; background-size: 73.19vw auto; }
.ob-cta .cta-staff { position: absolute; left: 16.74vw; bottom: -17vw; width: 65.46vw; margin: 0; line-height: 0; }
.ob-cta .cta-staff img { width: 100%; height: auto; }

/* --- お悩み --- */
#ob-nayami { padding: 15vw 0 12vw; }
#ob-nayami .nayami-ttl { font-size: 5.314vw; font-weight: 700; letter-spacing: 0.1em; line-height: 9.179vw; color: #333; text-align: center; position: relative; }
#ob-nayami .nayami-p { position: absolute; line-height: 0; }
#ob-nayami .p-l { left: 7.25vw; top: 1.1vw; width: 16.43vw; }
#ob-nayami .p-r { right: 7.49vw; top: -0.3vw; width: 17.15vw; }
#ob-nayami .nayami-p img { width: 100%; height: auto; }
#ob-nayami .nayami-box { width: 91.787vw; margin: 4.6vw auto 0; background: #fff; border: 1px solid #179381; box-sizing: border-box; padding: 6vw 4.1vw 5.3vw; }
#ob-nayami .nayami-list li { font-size: 3.865vw; letter-spacing: 0.05em; line-height: 5.797vw; color: #000; padding: 2.7vw 0 2.9vw 8.45vw; border-bottom: 1px solid #E8E8E8; background: url('../images/ob-soudan/icon-check.png') no-repeat left 2.4vw; background-size: 5.07vw auto; }
#ob-nayami .nayami-list:last-child li:last-child { border-bottom: 1px solid #E8E8E8; }
#ob-nayami .nayami-close { font-size: 4.348vw; font-weight: 700; letter-spacing: 0.05em; line-height: 9.178vw; color: #333; text-align: center; margin-top: 4vw; }

/* --- OB様専用窓口 --- */
#ob-mado { background: #F0EDE2; position: relative; padding: 8vw 0 16vw; margin-top: 16vw; }
#ob-mado::before { content: ""; position: absolute; top: -15vw; left: 50%; margin-left: -38.65vw; width: 77.29vw; height: 77.29vw; border-radius: 50%; background: #F0EDE2; z-index: 0; }
#ob-mado .mado-head { position: relative; z-index: 1; text-align: center; }
#ob-mado .mado-ttl { font-family: "Zen Kaku Gothic Antique", sans-serif; font-size: 5.556vw; font-weight: 700; letter-spacing: 0.1em; line-height: 1; color: #333; position: relative; z-index: 2; }
#ob-mado .mado-ttl .line { display: inline-block; border-bottom: 0.48vw solid #189786; padding-bottom: 2.4vw; margin-bottom: 2.2vw; }
#ob-mado .tenten { position: relative; }
#ob-mado .tenten::before { content: ""; position: absolute; top: -1.7vw; left: 50%; margin-left: -0.85vw; width: 1.69vw; height: 1.69vw; border-radius: 50%; background: #159785; }
#ob-mado .mado-lead { font-size: 3.865vw; letter-spacing: 0.05em; line-height: 7.971vw; color: #333; margin-top: 5.6vw; position: relative; z-index: 2; }
#ob-mado .mado-staff { position: relative; display: inline-block; margin: 0; line-height: 0; z-index: 1; }
#ob-mado .staff-l { position: absolute; left: 1.93vw; top: 63vw; width: 49.28vw; }
#ob-mado .staff-r { position: absolute; right: 7.25vw; top: 59.7vw; width: 35.51vw; }
#ob-mado .mado-staff img { width: 100%; height: auto; }
#ob-mado .mado-list { width: 82.126vw; margin: 37vw auto 0; position: relative; z-index: 2; }
#ob-mado .mado-list li { width: 100%; margin: 0 0 16.43vw; background: #fff; border-radius: 1.45vw; position: relative; text-align: center; padding: 10.39vw 0 8.7vw; box-sizing: border-box; }
#ob-mado .mado-list li:last-child { margin-bottom: 0; }
#ob-mado .num { position: absolute; top: -4.59vw; left: 50%; margin-left: -4.59vw; width: 9.179vw; height: 9.179vw; border-radius: 50%; background: #189786; font-family: "Montserrat", sans-serif; font-weight: 700; font-size: 4.589vw; letter-spacing: 0.05em; line-height: 9.179vw; color: #fff; text-align: center; }
#ob-mado .m-ttl { font-size: 4.589vw; font-weight: 500; letter-spacing: 0.05em; line-height: 7.729vw; color: #000; }
#ob-mado .m-pic { width: 70.048vw; margin: 3.6vw auto 0; line-height: 0; }
#ob-mado .m-pic img { width: 100%; height: auto; }
#ob-mado .m-txt { font-size: 3.865vw; font-weight: 400; letter-spacing: 0.05em; line-height: 7.246vw; color: #000; margin-top: 4.6vw; }

/* --- こんなご相談 --- */
#ob-soudan-list { padding: 15vw 0 0; }
#ob-soudan-list .soudan-ttl { font-family: "Zen Kaku Gothic Antique", sans-serif; font-size: 5.556vw; font-weight: 700; letter-spacing: 0.1em; line-height: 9.662vw; color: #333; text-align: center; }
#ob-soudan-list .soudan-ttl::after { content: ""; display: block; width: 9.66vw; height: 2px; background: #189786; margin: 2.9vw auto 0; }
#ob-soudan-list .soudan-list { width: 82.126vw; margin: 12vw auto 0; }
#ob-soudan-list .soudan-list li { width: 100%; margin: 0 0 17.63vw; background: #F9F8F4; border-radius: 2.415vw; position: relative; text-align: center; padding: 9.42vw 0 6.3vw; box-sizing: border-box; }
#ob-soudan-list .num { position: absolute; top: -6.04vw; left: 50%; margin-left: -6.04vw; width: 12.08vw; height: 12.08vw; border-radius: 50%; background: #189786; font-family: "Montserrat", sans-serif; font-weight: 700; font-size: 4.589vw; letter-spacing: 0.05em; line-height: 12.08vw; color: #fff; text-align: center; }
#ob-soudan-list .s-icon { height: 14.5vw; display: -webkit-box; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; align-items: center; justify-content: center; line-height: 0; }
#ob-soudan-list .s-icon img { max-height: 14.5vw; width: auto; }
#ob-soudan-list .s-ttl { font-size: 4.589vw; font-weight: 500; letter-spacing: 0.05em; line-height: 7.246vw; color: #000; margin-top: 3.4vw; }
#ob-soudan-list .s-note { font-size: 3.382vw; font-weight: 500; letter-spacing: 0.05em; line-height: 7.246vw; color: #676767; }
#ob-soudan-list .soudan-wide { width: 82.126vw; margin: 17.63vw auto 0; background: #F9F8F4; border-radius: 2.415vw; position: relative; text-align: center; padding: 9.42vw 4.1vw 0; box-sizing: border-box; }
#ob-soudan-list .soudan-wide .num { left: 50%; margin-left: -6.04vw; }
#ob-soudan-list .soudan-wide .s-icon { position: static; height: 14.5vw; display: -webkit-box; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; }
#ob-soudan-list .soudan-wide .s-icon img { width: 15vw; height: auto; max-height: none; }
#ob-soudan-list .soudan-wide .s-body { margin-left: 0; text-align: center; }
#ob-soudan-list .soudan-wide .s-ttl { margin-top: 3.4vw; }
#ob-soudan-list .soudan-wide .s-txt { font-size: 3.865vw; letter-spacing: 0.05em; line-height: 7.971vw; color: #333; margin-top: 2.4vw; text-align: left; }
#ob-soudan-list .s-staff { position: relative; width: 46.62vw; margin: 3.4vw auto 0; line-height: 0; }
#ob-soudan-list .s-staff img { width: 100%; height: auto; }
#ob-soudan-list .soudan-close { font-size: 4.348vw; font-weight: 700; letter-spacing: 0.05em; line-height: 9.178vw; color: #333; text-align: center; margin: 12vw 0 15vw; }

/* --- ご相談の流れ --- */
#ob-flow { background: #F9F8F4; padding: 13vw 0 15vw; position: relative; }
#ob-flow .flow-ttl { font-family: "Zen Kaku Gothic Antique", sans-serif; font-size: 5.556vw; font-weight: 700; letter-spacing: 0.1em; line-height: 1; color: #333; text-align: center; }
#ob-flow .flow-ttl::after { content: ""; display: block; width: 9.66vw; height: 2px; background: #189786; margin: 3.4vw auto 0; }
#ob-flow .flow-lead { font-size: 3.865vw; font-weight: 700; letter-spacing: 0.05em; line-height: 7.971vw; color: #333; text-align: center; margin-top: 4.8vw; }
#ob-flow .flow-illust-box { text-align: center; }
#ob-flow .flow-illust { position: static; display: inline-block; margin: 4.8vw 2vw 0; line-height: 0; vertical-align: bottom; }
#ob-flow .f-il-l { width: 21vw; }
#ob-flow .f-il-r { width: 42vw; }
#ob-flow .flow-illust img { width: 100%; height: auto; }
#ob-flow .flow-list { width: 91.787vw; margin: 21vw auto 0; position: relative; }
#ob-flow .flow-list::before { content: ""; position: absolute; left: 50%; margin-left: -1.5px; top: 40vw; bottom: 30vw; width: 3px; background: repeating-linear-gradient(to bottom, #1B9786 0, #1B9786 4px, transparent 4px, transparent 10px); }
#ob-flow .flow-list li { position: relative; margin-bottom: 22.7vw; list-style: none; }
#ob-flow .flow-list li:last-child { margin-bottom: 0; }
#ob-flow .step-badge { position: absolute; top: -11vw; left: 50%; margin-left: -10.99vw; width: 21.98vw; height: 21.98vw; border-radius: 50%; background: #189786; color: #fff; text-align: center; z-index: 3; }
#ob-flow .step-en { display: block; font-family: "Montserrat", sans-serif; font-weight: 600; font-size: 3.382vw; letter-spacing: 0.05em; line-height: 1; padding-top: 5.3vw; }
#ob-flow .step-num { display: block; font-family: "Montserrat", sans-serif; font-weight: 600; font-size: 5.797vw; letter-spacing: 0.05em; line-height: 1; margin-top: 1vw; }
#ob-flow .flow-card { background: #fff; border: 2px solid #189786; box-sizing: border-box; padding: 15.5vw 7.25vw 8.5vw; position: relative; z-index: 2; }
#ob-flow .f-pic { width: 77.295vw; margin: 4.1vw auto 0; line-height: 0; }
#ob-flow .f-pic img { width: 100%; height: 48.309vw; border-radius: 4.831vw; object-fit: cover; }
#ob-flow .f-ttl { font-size: 5.314vw; font-weight: 700; letter-spacing: 0.05em; line-height: 7.971vw; color: #333; text-align: center; margin: 0; border-bottom: 1px solid #E8E8E8; padding-bottom: 2.9vw; }
#ob-flow .f-txt { font-size: 3.865vw; font-weight: 500; letter-spacing: 0.05em; line-height: 7.971vw; color: #333; margin-top: 4.6vw; text-align: left; }
#ob-flow .fuki { position: absolute; left: 6.3vw; top: 20.7vw; width: 27.2vw; height: 27.2vw; background: url('../images/ob-soudan/fuki-bubble.png') no-repeat center center; background-size: 100% auto; box-sizing: border-box; font-size: 3.865vw; font-weight: 500; letter-spacing: 0.05em; line-height: 5.314vw; color: #333; text-align: center; display: -webkit-box; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; align-items: center; justify-content: center; padding-bottom: 1vw; z-index: 4; }
#ob-flow .step-staff { position: absolute; right: 4.59vw; top: -18.8vw; width: 31.4vw; margin: 0; line-height: 0; z-index: 3; }
#ob-flow .step-staff img { width: 100%; height: auto; }

/* --- 締め --- */
#ob-close { padding: 15vw 0 0; }
#ob-close .close-ttl { font-family: "Zen Kaku Gothic Antique", sans-serif; font-size: 5.556vw; font-weight: 700; letter-spacing: 0.1em; line-height: 9.662vw; color: #333; text-align: center; }
#ob-close .close-ttl::after { content: ""; display: block; width: 9.66vw; height: 2px; background: #189786; margin: 2.9vw auto 0; }
#ob-close .close-lead { font-size: 3.865vw; font-weight: 700; letter-spacing: 0.05em; line-height: 7.971vw; color: #333; text-align: center; margin-top: 4.3vw; }
#ob-close .close-visual { width: 100%; height: 156vw; margin: 9vw auto 15vw; position: relative; }
#ob-close .close-visual::before { content: ""; position: absolute; left: 12.56vw; top: 0; width: 74.88vw; height: 74.88vw; border-radius: 50%; background: #F9F8F4; }
#ob-close .close-catch { position: absolute; left: 13.3vw; top: 18.6vw; width: 76.1vw; margin: 0; line-height: 0; z-index: 2; }
#ob-close .close-catch img { width: 100%; height: auto; }
#ob-close .close-ph1 { position: absolute; left: 16.67vw; top: 70vw; width: 74.4vw; margin: 0; line-height: 0; }
#ob-close .close-ph2 { position: absolute; left: 8.94vw; top: 126vw; width: 46.38vw; margin: 0; line-height: 0; z-index: 2; }
#ob-close .close-ph1 img, #ob-close .close-ph2 img { width: 100%; height: auto; }

/* --- 下部バナー --- */
#ob-bnr { padding-bottom: 10vw; }
#ob-bnr .bnr-band { width: 100%; margin: 30vw auto 0; background: #F9F8F4; padding: 0 4.106vw 6vw; box-sizing: border-box; }
#ob-bnr .bnr-list { -webkit-transform: translateY(-12vw); transform: translateY(-12vw); margin-bottom: -12vw; }
#ob-bnr .bnr-list li { width: 100%; margin: 0 0 8.5vw; }
#ob-bnr .bnr-list li:last-child { margin-bottom: 0; }
#ob-bnr .bnr-list figure { margin: 0; line-height: 0; }
#ob-bnr .bnr-list figure img { width: 100%; height: auto; }
#ob-bnr .b-txt { font-size: 3.865vw; font-weight: 400; letter-spacing: 0.05em; line-height: 7.729vw; color: #333; padding-top: 3.4vw; }

}
