@charset "utf-8";


/* ----------------------------------------------------------------------- fv */
#fv{ position: relative; margin: 0 0 15px; padding: 26px 26px 0; }
#fv {}
#fv .fv-wrapper{background: url(../images/index/fv_bg_01.jpg?var=12345678) no-repeat center center; background-size: cover; border-radius: 20px; padding: 0 0 73px;}
#fv h2{ text-align: center; font-size: 72px; line-height: 1.5; font-family: 'Noto-Sans-JP-Bold'; padding: 10px 0 0;}
#fv h2 small{ display: block; padding: 0 0 10px; font-size: 32px; text-align: center;font-family: 'Noto-Sans-JP-Bold'; }
#fv h2 small span{display: inline-block; width: 302px; font-size: 26px; background: #f39900; border-radius: 1000px; color: #fff; text-align: center; padding: 14px 0 15px;line-height: 100%; margin: 0 18px 0 0;}
#fv .logo_box{padding: 98px 0 0; position: relative; z-index: 1; margin: 0 auto; width: 782px; height: auto; }
#fv .logo_box .fv_logo_01{position: absolute; top: -16px; left: -203px; }
#fv .logo_box .fv_logo_02{position: relative; z-index: 1;}
#fv .bottom_box{padding: 20px 0 0; width: 100%; height: auto; position: relative; z-index: 1;}
#fv .bottom_box .fv_slider_box{width: 100%; height: auto;}
#fv .bottom_box .fv_slider_box .slick-track{ padding: 20px 0;}
#fv .bottom_box .fv_slider_box .fv_slider .img{margin: 0 14px; border-radius: 20px; overflow: hidden; box-shadow: 0 0 10px 10px rgba(0,0,0,0.16);}
#fv .bottom_box .fv_slider_box .fv_slider .img img{width: 100%; height: auto;}


.kv{ position: absolute;top: 0px; width: 96%; height: 82%; left: 50%; transform: translateX(-50%); }
.kv img{ width: 100%; height: 100%; border-radius: 17px; }

.support-list { margin: 0 auto; display: flex; justify-content: center; gap: 25px; width: 1100px; position: relative; z-index: 1; top: -50px;}
.support-list .btn__arrow{ width: 37px; height: 37px; }
.support-list .btn-linktxt{ font-family: 'Noto-Sans-JP-Medium'; font-size: 18; }
.item_1 .support-list .btn__arrow{ background: #B8D201; }
.item_2 .support-list .btn__arrow{ background: #E36C5F; }
.item_3 .support-list .btn__arrow{ background: #A0D8EF;}


.support-item { width: calc(100% / 3 - 16px); }
.support-card { display: block; background: #fff; border-radius: 18px; padding: 30px 30px 20px; box-shadow: 0 0 18px rgba(0,0,0,.16); transition: transform .2s, box-shadow .2s; text-align: center; }
.support-card:hover { transform: translateY(-3px); box-shadow: 0 18px 36px rgba(0,0,0,.16); opacity: 1; }
.support-card .btn__link{ justify-content: center; gap: 7px;}


.support-icon { display: flex; justify-content: center; align-items: center; width: 64px; height: auto; margin: 0 auto 14px; }
.support-title { padding: 0 0 12px; font-size: 25px; font-family: 'Noto-Sans-JP-Bold'; }
.support-sub { margin: 0 0 15px; font-size: 18px; letter-spacing: .1em; color: var(--main-color); font-family: "memimas-pro", sans-serif; font-weight: 700; font-style: normal; }

.item_1 .support-sub{color: #B8D201; }
.item_2 .support-sub{color: #E36D5F; }
.item_3 .support-sub{color: #A0D8EF; }

.support-list .item_1 .btn__arrow{ background: #B8D201; border: 1px solid #B8D201;}
.support-list .item_2 .btn__arrow{ background: #E36D5F; border: 1px solid #E36D5F;}
.support-list .item_3 .btn__arrow{ background: #A0D8EF; border: 1px solid #A0D8EF;}

/* ----------------------------------------------------------------------- about */
#about{padding: 139px 0 0;}
#about .bg_box_1{border-radius: 20px; background: url(../images/index/about_bg_01.jpg?var=12345678) no-repeat center center; background-size: cover; padding: 16px; position: relative;}
#about .bg_box_1 .title{transform: translateX(-50%); left: 50%; top: -78px; position: absolute; width: 100%;}
#about .bg_box_1 .text_box{background: #fff; border-radius: 20px; padding: 79px 71px 72px;}
#about .bg_box_1 .text_box h3{font-size: 34px; line-height: 150%; text-align: center; font-family: 'Noto-Sans-JP-Medium'; letter-spacing: 0.01em;}
#about .bg_box_1 .text_box p{font-size: 18px; line-height: 239%; padding: 19px 0 0;}

/* ----------------------------------------------------------------------- service */
#service{ padding: 98px 0 0; }
#service .title{ margin: 0 0 27px; }

.service { display: flex; align-items: flex-start; justify-content: space-between; padding: 71px 49px 67px 38px; background: #fff; border-radius: 20px; box-shadow: 0px 0 5px 5px rgba(0,0,0,0.1);position: relative; }
.service:not(:last-child){margin: 0 0 28px;}
#link-01.service{padding: 71px 49px 67px 61px;}
#link-02.service{padding: 69px 45px 67px 49px;}
#link-03.service{padding: 71px 49px 70px 60px;}

.service:last-of-type{ padding: 0; }
.service-body { width: 50%; }

.service-title { position: relative; padding: 0 0 27px; margin: 0 0 15px; }
.service-title::after { position: absolute; bottom: 0; left: 0; content: ""; width: 46px; height: 2px; background: var(--main-color); }
.service-ja { margin: 0 0 5px; font-size: 44px; font-family: 'Noto-Sans-JP-Medium'; letter-spacing: .01em; line-height: 1.5; }
.service-en { font-size: 19px; letter-spacing: .1em; color: var(--main-color); font-family: "memimas-pro", sans-serif; font-weight: 700; font-style: normal; }

#link-01.service .service-title::after {background: #B8D200; }
#link-02.service .service-title::after {background: #E36D5F; }
#link-03.service .service-title::after {background: #A1D8EF; }

#link-01.service .service-en{color: #B8D200; }
#link-02.service .service-en{color: #E36D5F; }
#link-03.service .service-en{color: #A1D8EF; }

.service-catch { margin: 0px 0 24px; font-size: 33px; font-family: 'Noto-Sans-JP-Bold'; line-height: 1.7; }
#link-02.service .service-catch { font-size: 32px; }
.service-text-box{margin: 0 0 30px;}
.service-text-box .service-desc { font-size: 16px; line-height: 2; }
.service-text-box .service-desc:not(:last-child){margin: 0 0 16px;}

.check-list { display: flex; flex-direction: column; gap: 8px; width: 90.22%; }
.check-list__item { position: relative; background: var(--pale-color); border-radius: 100px; padding: 23px 10px 23px 59px; font-size: 17px; font-family: "hiragino-kaku-gothic-pron", sans-serif; font-weight: 600; font-style: normal; letter-spacing: .04em; color: #fff; }
.check-list__item::before { content: ""; position: absolute; left: 25px; top: 50%; transform: translateY(-50%); width: 16px; height: 12px; background: url(../images/common/icn_check_2.svg) center/cover no-repeat; }

#link-01.service .check-list__item { background: #B8D200; }
#link-02.service .check-list__item { background: #E36D5F; }
#link-03.service .check-list__item { background: #A0D8EF; }


.service-photo { position: relative; }
.service-photo::after { content: ""; position: absolute; right: -12px; bottom: -12px; width: 100%; height: 100%; border-radius: 19px; background-image: repeating-linear-gradient(129deg, #ee8035, #ee8035 1px, transparent 1px, transparent 5px); }

#link-01.service .service-photo::after { background-image: repeating-linear-gradient(129deg, #B8D200, #B8D200 1px, transparent 1px, transparent 5px); }
#link-02.service .service-photo::after { background-image: repeating-linear-gradient(129deg, #E36D5F, #E36D5F 1px, transparent 1px, transparent 5px); }
#link-03.service .service-photo::after { background-image: repeating-linear-gradient(129deg, #A0D8EF, #A0D8EF 1px, transparent 1px, transparent 5px); }
.service-photo img { border-radius: 17px; position: relative; z-index: 1;}

.service:nth-of-type(even){ flex-direction: row-reverse; }
.service:nth-of-type(even) .service-body{ width: 49%; }
.service:nth-of-type(even) .check-list{ width: 95%; }

.service .link_btn{position: absolute; right: 49px; bottom: 67px; font-size: 18px; line-height: 160%; display: flex; align-items: center; font-size: 18px;}
#link-02.service .link_btn{ left: 49px; right: auto}
.service .link_btn span{margin-right: 20px;}
#link-01.service .link_btn span { background: #B8D200; border: 1px solid #B8D200;}
#link-02.service .link_btn span { background: #E36D5F; border: 1px solid #E36D5F;}
#link-03.service .link_btn span { background: #A0D8EF; border: 1px solid #A0D8EF;}

/* ----------------------------------------------------------------------- point */
#point{ padding: 170px 0 136px;}
#point .title{ margin: 0px 0 19px; color: #fff; }
#point .title__en{ color: #fff; }

.point-head { text-align: center; margin: 0 0 49px; color: #000; }
.point-head__ttl { padding: 0 0 20px; font-size: 33px; font-family: 'Noto-Sans-JP-Bold'; }
.point-head__sub { font-size: 23px; font-family: 'Noto-Sans-JP-Bold'; }
.point-list { display: flex; justify-content: center; gap: 84px 94px; flex-wrap: wrap; width: 1015px; margin: 0 auto;}
.point-item { position: relative; width: calc(100% / 2 - 47px); }

.point-photo { width: 200px; height: auto; border-radius: 50%; overflow: hidden; z-index: 2; margin: 0 auto; }
.point-photo img { width: 100%; height: 100%; object-fit: cover; }

.point-box { background: #fff; border-radius: 10px; padding: 22px 0px 0px; text-align: center; }
.point-num { font-size: 66px; letter-spacing: .12em; color: var(--main-color); font-family: "memimas-pro", sans-serif; font-weight: 400; font-style: normal; }
.point-ttl { margin: 12px 0 29px; font-size: 24px; font-family: 'Noto-Sans-JP-Bold'; text-align: center; }
#point .point-item:nth-child(3) .point-ttl,
#point .point-item:nth-child(4) .point-ttl{font-size: 27px;}
.point-txt { font-size: 18px; line-height: 178%; text-align: left;}
.point-txt span{font-family: 'Noto-Sans-JP-Bold';}

/* ----------------------------------------------------------------------- price */
#price{ padding: 181px 0 96px; background: var(--pale-color); }
#price .title{ position: absolute; top: -101px; left: 50%; transform: translateX(-50%); width: 100%;}

.price-box { background: #fff; border-radius: 20px; padding: 66px 30px 60px; margin: 0 auto; position: relative; }
.price-title { padding: 0 0 28px; text-align: center; font-size: 30px; font-family: 'Noto-Sans-JP-Bold'; }
.price-lead { margin: 0 0 35px; text-align: center; font-size: 18px; font-family: "hiragino-kaku-gothic-pron", sans-serif; font-weight: 600; font-style: normal; }
.price-flex { width: 77.22%; margin: 0 auto; display: flex; gap: 7% 33px; align-items: flex-start; padding: 51px 0 0;}
.visit_tt{display: flex; align-items: center; border-bottom: 7px solid #FFE200; width: 445px; margin: 0 auto;}
.visit_tt .price-tag{height: 51px; width: 163px; padding: 5px; font-size: 19px; margin-right: 16px;}
.visit_tt .price-amount__num { font-size: 70px; letter-spacing: -0.042em;}
.visit_tt .price-amount__yen {font-size: 40px; font-family: 'Noto-Sans-JP-Bold'; margin: 0 10px 0 7px;}


/* ---------- left ---------- */
.price-left { width: 442px; }
.price-summary { display: flex; flex-direction: column; gap: 34px; }
.price-row { display: flex; align-items: center; gap: 15px; }
.price-row.sp{display: none;}
.price-tag { display: inline-flex; align-items: center; justify-content: center; height: 40px; width: 131px; padding: 5px; border-radius: 100px; color: #fff; font-family: 'Noto-Sans-JP-Bold'; font-size: 16px; }
.price-tag--01 { background: var(--orange); }
.price-tag--02 { background: var(--green); }
.price-tag--03 { background: var(--blue); }
.price-tag--04 { background: #F08035; }

.price-amount { }
.price-amount__num { font-size: 35px; font-family: 'Noto-Sans-JP-Regular'; letter-spacing: -0.042em;}
.price-amount__yen { font-size: 20px; font-family: 'Noto-Sans-JP-Medium'; }

/* ---------- right ---------- */
.price-right { width: 339px; }
.price-menu { padding: 32px 0 0; display: flex; flex-wrap: wrap; gap: 5px; }
.price-menu span { display: flex; align-items: center; justify-content: center; width: 108px; height: 43px; border-radius: 6px; font-size: 20px; background: #D4D5D5; color: #8E8E8F; }
.price-menu span.color { background: var(--orange); color: #fff; }


.price-notes { margin: 30px 0 0; }
.price-notes__item { width: 100%; margin: 0 auto; font-size: 13px; line-height: 1.9; }
.price-notes__item:first-child { margin-top: 0; }

.btns{ display: flex; align-items: center; gap: 10px; padding: 47px 0 0; }

.btns .btn{ width: calc(100% / 3 - 5px); }
.btns .btn__link{ padding: 9px; background: #fff; border-radius: 100px; }
.btns .btn .btn__arrow{width: 60px; height: 60px;}
.btns .btn.btn_1 .btn__arrow{background: #B8D201; border: 1px solid #B8D201;}
.btns .btn.btn_2 .btn__arrow{background: #E36D5F; border: 1px solid #E36D5F;}
.btns .btn.btn_3 .btn__arrow{background: #A0D8EF; border: 1px solid #A0D8EF;}


/* ----------------------------------------------------------------------- movie */
#movie{ padding: 110px 0 144px; }
#movie .title{ margin: 0 0 30px; text-align: left; background: none; padding: 0px;}
#movie .title .title__en{color: #F39801; font-size: 66px; font-family: "memimas-pro", sans-serif; font-weight: 700; font-style: normal;}
#movie .title .title__ja{color: #000; font-size: 23px; padding: 10px 0 0;}
.movie-wrapper{ display: flex; align-items: center; justify-content: space-between; }
.movie-text{ width: 290px; }

.movie-iframe{ position: relative; width: 750px;overflow: unset; padding-bottom: 38.46%;}
.movie-iframe:before{ z-index: -1; position: absolute; right: -10px; bottom: -10px; content: ""; width: 100%; height: 100%; background-image: repeating-linear-gradient(45deg, #ee8035, #ee8035 1px, transparent 1px, transparent 4px); }
.movie-iframe img{position: absolute; z-index: 1; width: 100%; height: 100%; top: 0px; left: 0px;}

/* ----------------------------------------------------------------------- voice */
#voice{ padding: 69px 0 0; background: url(../images/index/voice_bg_01.jpg?var=12345678) no-repeat center center; background-size: cover;}
#voice .title{ margin: 0 0 55px; }

.voice-list{ width: 540px; height: 628px; overflow-y: scroll;}
.voice-box { background: #FFFFFF; border-radius: 19px; padding: 30px 20px 57px; width: 100%; height: auto;}
.voice-box:not(:last-child){margin: 0 0 17px;}
.voice-title { padding: 0 0 30px; text-align: center; font-size: 24px; font-family: 'Noto-Sans-JP-Bold'; color: var(--main-color);}
.voice-flex { display: flex; align-items: flex-start; justify-content: space-between;}
.voice-flex .tt_box{text-align: center;margin: 67px 0 0 45px;}
.voice-flex .tt_box p{font-family: 'Noto-Sans-JP-Bold'; font-size: 28px; display: flex; align-content: center; padding: 87px 0 0; line-height: 147%;}
.voice-flex .tt_box p:last-child{padding: 54px 0 0; }
.voice-flex .tt_box p span{font-family: "memimas-pro", sans-serif; font-weight: 700; font-style: normal; color: #F39801; font-size: 60px; letter-spacing: 0.01em; line-height: 100%; display: inline-block; margin-right: 17px;}
.voice-photo { width: 153px; margin-right: 22px; height: auto;}
.voice-photo img { width: 100%; height: auto; }

.voice-body { flex: 1; }
.voice-head { display: flex; align-items: center; gap: 15px; margin: 0 0 18px; }
.voice-head.sp{ display: none; }
.voice-tag { min-width: 140px; display: inline-flex; align-items: center; justify-content: center; padding: 8px 10px 10px; border: 1px solid var(--main-color); font-size: 13px; color: var(--main-color); }
.voice-name { font-size: 16px; font-family: 'Noto-Sans-JP-Medium'; }
.voice-text { font-size: 14px; line-height: 157%; }


/* ----------------------------------------------------------------------- area */
#area{ padding: 45px 0 245px; background: #F8F7F1; }
#area .title{ margin: 0 0 48px auto; text-align: left; background: no-repeat; padding: 0px; width: 410px; }
#area .title .title__en{color: #F39801; }
#area .title .title__ja{color: #000; padding: 10px 0 0;}

.area-wrapper{ display: flex; align-items: flex-start; gap: 30px; }
.area-pic{ width: auto; margin: 0 82px 0 56px; position: absolute;left: 0px; top: 74px;}

.area-text{ width: auto; padding: 30px 0px 0 0; position: relative; width: 100%; height: auto;}
.ara-desc{ padding: 0 0 35px; font-size: 32px; line-height: 1.7; font-family: 'Noto-Sans-JP-Medium'; width: 410px; margin: 0 0 0 auto;}
#area .btn{width: 410px; margin: 0 0 0 auto; }
/* ----------------------------------------------------------------------- company */
#company{background: #F8F7F1; padding:64px 0 50px;}
#company .company_box{position: relative; border-radius: 20px; background: #fff; padding: 160px 137px 32px 133px;}
#company .company_box .title{width: 100%; position: absolute; left: 50%; transform: translateX(-50%); top: -64px;}
#company .company_box .text_box p{font-size: 18px; line-height: 200%;}
#company .company_box .text_box p:not(:first-child){padding: 30px 0 0;}
#company .company_box .text_box p.last_tt{text-align: right;}
#company .company_box .company_img_01{text-align: center; padding: 114px 0 0;}
/* ----------------------------------------------------------------------- blog */
#blog{ position: relative; padding: 58px 0 81px; }
#blog .title{ margin: 0 0 25px; }
#blog .desc{ padding: 0 0 27px; }

.blog-wrapper{ padding: 0 5%; }
.blog-text{ width: 100%; }
.blog-list { display: flex; align-items: stretch; gap: 25px;justify-content: center; }

.blog-card { width: 400px; background: #fff; box-shadow: 0 0 26px rgba(0,0,0,0.16); overflow: hidden; transition: all .3s ease; }
.blog-card:hover { transform: translateY(-6px); box-shadow: 0 16px 40px rgba(0,0,0,0.12); }
.blog-card__link { display: block; color: inherit; text-decoration: none; }
.blog-card__photo { overflow: hidden; }
.blog-card__photo img { width: 100%; height: auto; display: block; object-fit: cover; }

.blog-card__body { padding: 30px 20px 40px; }
.blog-card__cat { font-size: 11px; font-family: 'Noto-Sans-JP-Bold'; color: var(--main-color); margin-bottom: 10px; }
.blog-card__title { font-size: 22px; font-family: 'Noto-Sans-JP-Medium'; line-height: 1.5; margin-bottom: 17px; }
.blog-card__desc { font-size: 16px; line-height: 2; margin-bottom: 29px; }
.blog-card__meta { display: flex; align-items: center; justify-content: space-between; font-size: 12px; color: #A3A3A3; }
.blog-card__author { display: flex; align-items: center; gap: 6px; }
.blog-card__icon { display: block; width: 10px; height: auto; }

#blog .btn{padding: 44px 0 0;}
#blog .btn .btn__link{margin: 0 auto; width: 407px; border: 1px solid #C3C3C3; border-radius: 1000px;text-align: center; padding: 6px 10px 7px;}
#blog .btn .btn__link .btn-linktxt{width: calc(100% - 137px); display: block; margin: 0 50px 0 0;}
/* ----------------------------------------------------------------------- access */
#access{ padding: 73px 0 147px; }
#access .title{ margin: 0 0 46px; }

.office-list{ display: flex; align-items: center; gap: 28px; }
.office-item{ width: calc(100% / 3 - 14px); text-align: center; }
.office-map{ margin: 0 0 17px; padding: 0 0 74.2%;}
.office-title{ padding: 0 0 15px; font-size: 20px; font-family: 'Noto-Sans-JP-Bold'; }
.office-address{ font-size: 15px; line-height: 1.5; }


/* ----------------------------------------------------------------------- diagnosis */
#diagnosis{ padding: 100px 0 52px; background: url(../images/index/road_bg_01.jpg?var=12345678) no-repeat center center; background-size: cover;}
#diagnosis .title_box{ margin: 0 0 38px; position: relative; }
#diagnosis .title_box .road_img_01{position: absolute; top: -26px; left: 99px;}
#diagnosis .title_box .road_img_02{position: absolute; top: 0px; right: 49px;}
#diagnosis .text_title{text-align: center; font-size: 16px; line-height: 181%;}
#diagnosis .chart{position: relative; margin: 38px 0 0;}
#diagnosis .chart .road_img_03{position: absolute; top: 85px; left: 99px;}
#diagnosis .chart .road_img_04{position: absolute; top: 116px; right: 109px;}
#diagnosis .sub{ font-size: 20px; text-align: center; line-height: 2; }
.diagnosis-content{ display: none; }


/* ----------------------------------------------------------------------- chart-answer */
#chart-answer{ position: relative; padding: 84px 0 0; background: var(--pale-color); }
#chart-answer:before{ position: absolute; content: ""; left: 50%; top: 0; transform: translate(-50%,0); width: 160px; height: 64px; background: #FFF9D8; clip-path: polygon(50% 100%, 0 0, 100% 0); }

.answer-type { display: flex; flex-wrap: wrap; gap: 65px 35px; justify-content: space-between; }
.answer-type li { width: calc(50% - 17.5px); background: #fff; border-radius: 10px; padding: 48px 3.5% 81px; box-sizing: border-box; position: relative;}

.answer-box { width: 100%; }
.answer-box .flex { display: flex; align-items: flex-end; gap: 20px; }
.answer-text { width: 100%; text-align: center;}
.answer-img { width: 85px; height: auto; position: absolute; top: -42px; left: 50%; transform: translateX(-50%); }
.answer-img img { width: 100%; height: auto; }
.answer-text h3 { font-family: "neue-haas-grotesk-display", sans-serif; font-weight: 700; font-style: normal; font-size: 22px; }
.answer-text h4 { font-size: 34px; font-family: 'Noto-Sans-JP-Bold'; line-height: 124%; text-align: center; background:linear-gradient(transparent 80%, #FFF46F 80%); display: inline;}
.answer-text .type-char { font-size: 70px; font-family: "neue-haas-grotesk-display", sans-serif; font-weight: 700; font-style: normal; color: #f58220; margin-left: 6px; line-height: 118.6%;}
.answer-detail { display: block; align-items: center; font-size: 17px; font-family: 'Noto-Sans-JP-Bold';position: absolute; left: 50%; transform: translateX(-50%); bottom: 32px; }
.answer-detail img{ margin-right: 5px; }

.answer_cta_bg{background: var(--pale-color); padding: 0 0 41px;}

/* ----------------------------- mobile ------------------------------- */
@media only screen and (max-width: 768px) {
	
/* ----------------------------------------------------------------------- fv */
	#fv{ margin:0; padding: 10px 10px 0;}
	#fv .fv-wrapper { padding: 0 0 60px; background: url(../images/index/fv_bg_01_sp.jpg?var=12345678) no-repeat center center; background-size: cover;}
	#fv h2 { padding: 12px 0 0; font-size: 40px; line-height: 1.2; }
	#fv h2 small { font-size: 17px; text-align: center;}
	#fv h2 small span{display: block; margin: 0 auto 10px; width: 250px; font-size: 20px;}
	#fv .bottom_box .fv_slider_box .fv_slider .img { margin: 0 10px; border-radius: 10px; box-shadow: 0 0 5px 5px rgba(0,0,0,0.16);}
	#fv .bottom_box {padding: 10px 0 0;}
	#fv .logo_box { padding: 9% 0 0; width: 80%;}
	#fv .logo_box .fv_logo_02 {width: 100%; height: auto;}
	#fv .logo_box .fv_logo_01 {width: 40%; height: auto; left: -12%;}
	#fv .bottom_box .fv_slider_box .slick-track { padding: 10px 0;}
	.support-list { align-items: stretch; gap: 5px; width: 95%; bottom: -98px;}
	.support-item { width: calc(100% / 3); }
	.support-card { height: 100%; padding: 15px 5px; border-radius: 10px; }
	.support-text{ width: 100px; height: 52px; margin: 0 auto; }
	.support-title{ padding: 0 0 8px; font-size: 16px; }
	.support-sub{ margin: 0; font-size: 11px; }
	.support-icon{ width: auto; height: auto; }
	.support-icon img{ width: 45%; height: auto; }
	
	.support-card .btn__link{ gap: 5px; }
	.support-list .btn-linktxt{ font-size: 10px; line-height: 1.5; text-align: left; }
	.support-list .btn__arrow { width: 20px; height: 20px; }

	.cta .inner{width: 90%;}
	/* ----------------------------------------------------------------------- about */
	#about{padding: 70px 0 0;}
	#about .bg_box_1{padding: 2.5%; position: relative;}
	#about .bg_box_1 .title{ top: -46px; }
	#about .bg_box_1 .text_box{background: #fff; border-radius: 20px; padding: 43px 30px 48px;}
	#about .bg_box_1 .text_box h3{font-size: 24px; line-height: 150%;}
	#about .bg_box_1 .text_box p{font-size: 16px; line-height: 207%; padding: 27px 0 0;}

/* ----------------------------------------------------------------------- service */
	#service { padding: 35px 0 0; }
	#service .title { margin: 0 0 14px; }
	#link-01.service{padding: 24px 21px 46px;}
	#link-02.service{padding: 24px 21px 46px;}
	#link-03.service{padding: 24px 21px 46px;}

	.service { padding: 0 0 50px; flex-direction: column-reverse; gap: 0px; }
	.service:nth-of-type(2n){ flex-direction: column-reverse; }
	.service-body { width: 100%; padding: 20px 0 0;}
	.service-photo { width: 100%; }
	.service-photo::after{ right: -10px; bottom: -10px; border-radius: 10px;}
	.service-photo img{ width: 100%; height: auto; border-radius: 10px; }
	
	.service-ja { margin: 0 0 6px; font-size: 24px; }
	.service-en { font-size: 12px; }
	.service-title { padding: 0 0 15px; margin: 0px 0 11px;}
	.service-catch { margin: 0 0 13px; font-size: 20px; }
	.service-desc { margin: 0 0 20px; font-size: 14px; }
	.service-text-box .service-desc {font-size: 14px; line-height: 193%;}
	.check-list { width: 100%; margin: 0; }
	.check-list__item { padding: 15px 10px 15px 40px; font-size: 15px; line-height: 1.5; letter-spacing: 0;}
	.check-list__item::before { left: 14px; width: 11px; height: 7px; }
	
	.service:nth-of-type(2n) .service-body{ width: 100%; }
	.service:nth-of-type(2n) .check-list{ width: 100%; }
	.service .link_btn { position: relative; right: auto; bottom: auto; font-size: 16px; line-height: 160%; margin: 28px 0 0; }
	.service .link_btn span { margin-right: 13px;}
	.btn__arrow {width: 57px; height: 57px; }
	#link-02.service .link_btn { left: auto;}
	#link-02.service .service-catch {font-size: 20px;}
/* ----------------------------------------------------------------------- point */
	#point { padding: 49px 0 67px; }
	#point .title { margin: 0 0 6px; }
	.point-head__ttl { padding: 0 0 16px; font-size: 20px; }
	#point .point-item:nth-child(3) .point-ttl,
	#point .point-item:nth-child(4) .point-ttl{font-size: 20px;}

	.point-head__sub { font-size: 16px; line-height: 1.5; }
	.point-head { margin: 0 0 40px; }
	
	.point-list { flex-direction: column; gap: 54px; width: 100%; margin: 0 auto;}
	.point-item { width: 100%; }
	.point-photo { top: -47px; width: 200px; height: 200px; }
	.point-box { height: auto; padding: 17px 5% 0px; display: block; }
	.point-num { font-size: 48px; letter-spacing: 0; }
	.point-text{ text-align: left; }
	.point-ttl { margin: 17px 0 9px; font-size: 24px; line-height: 121%; }
	.point-txt { font-size: 14px; padding: 10px 0 0; line-height: 190%;}


/* ----------------------------------------------------------------------- price */
	#price { padding: 71px 0 42px; }
	#price .title {top: -41px;}
	
	.price-box { border-radius: 10px; padding: 46px 5% 30px; margin: 0 auto; }
	.price-row.sp{display: flex;}
	.price-title { padding: 0 0 18px; font-size: 20px; }
	.price-lead { margin: 0 0 25px; font-size: 15px; line-height: 1.5; }
	.price-flex { width: 100%; gap: 0; flex-direction: column; padding: 32px 0 0;}
	
	.price-left { width: 100%; padding: 0; }
	.price-tag { height: 40px; width: 120px; font-size: 14px; }
	.price-amount__num { font-size: 25px; margin-right: 8px; }
	.price-amount__yen { font-size: 15px; }
	.price-summary { gap: 11px; }
	
	.price-right { width: 100%; padding: 34px 0 0;}
	.price-menu span { width: calc(100% / 3 - 3px); height: 40px; font-size: 16px; }
	.price-menu { padding: 0; gap: 4px; }
	.price-notes { margin: 23px 0 0; }
	.price-notes__item { width: 100%; font-size: 12px; line-height: 1.5; }
	
	.btns{ flex-direction: column; padding: 33px 0 0; width: 90%; margin: 0 auto;}
	.btns .btn{ width: 100%; }
	.btns .btn__link{ justify-content: flex-start; }
	
	.visit_tt{ border-bottom: 4.35px solid #FFE200; width: 100%; }
	.visit_tt .price-tag{height: 35px; width: 113px; padding: 5px; font-size: 12px; margin-right: 14px;}
	.visit_tt .price-amount__num { font-size: 45px;}
	.visit_tt .price-amount__yen {font-size: 25px; margin: 0;}


/* ----------------------------------------------------------------------- movie */
	#movie{ padding: 34px 0 62px; }
	#movie .title{ margin: 0 0 10px; text-align: center; padding: 26px 0 0;}
	#movie .title .title__en{font-size: 36px; }
	#movie .title .title__ja{font-size: 16px; padding: 4px 0 0;}
	.movie-wrapper{flex-direction: column-reverse; padding: 0 2.5%;}
	.movie-text{ width: 100%; }
	
	.movie-iframe{ width: 100%;overflow: unset; padding-bottom: 56.45%;}
	.movie-iframe:before{ right: -5px; bottom: -5px; }

	#movie .desc {line-height: 175%;}
/* ----------------------------------------------------------------------- voice */
	#voice { padding: 31px 0 36px; background: url(../images/index/voice_bg_01_sp.jpg?var=12345678) no-repeat center center; background-size: cover;}
	#voice .title { margin: 0; }
	
	.voice-list { width: 95%; height: auto; padding:35px 0 0; margin: 0 auto;}
	.voice-box { border-radius: 19px; padding: 30px 5%; width: 100%; }
	.voice-title { padding: 0 0 20px; font-size: 20px; line-height: 145%;}
	.voice-flex {flex-direction: column; }
	.voice-flex .tt_box{margin: 0 auto;}
	.voice-flex .tt_box img{width: 160px; height: auto; margin: 0 0 16px;}
	.voice-flex .tt_box p{font-size: 17px; display: flex; align-content: center; padding: 17px 0 0; line-height: 147%;}
	.voice-flex .tt_box p:last-child { padding: 17px 0 0;}
	.voice-flex .tt_box p span{font-size: 32px; margin-right: 10px;}
	
	.voice-photo{ display: flex; align-items: center; gap: 5%; width: 100%; margin-right: 0;}
	.voice-photo img{ width: 125px; }
	.voice-head { gap: 13px; margin: 0; width: calc(95% - 125px); }
	.voice-head.sp{ display: block; }
	.voice-head.pc{ display: none; }
	
	.voice-tag { font-size: 13px; min-width: 143px;}
	.voice-name { margin-top: 10px; font-size: 16px; }
	.voice-text { font-size: 14px;line-height: 158%; padding: 20px 0 0;}


/* ----------------------------------------------------------------------- area */
	#area { overflow: hidden; padding: 48px 0 0px; position: relative; }
	#area .title { margin: 0 0 5px; text-align: center; width: 100%;}
	#area .title .title__en {font-size: 36px;}
	#area .title .title__ja{font-size: 16px;padding: 5px 0 0;}
	#area .btn__link { justify-content: flex-start; }
	
	.area-wrapper { gap: 20px; flex-direction: column-reverse; }
	.ara-desc { padding: 0 0 20px; font-size: 21px; width: 100%; text-align: center;}
	.area-pic { width: 90%; position: relative; top: auto; margin: 0 auto 16px;}
	.area-pic img{width: 100%; height: auto;}
	.area-text { width: 100%; padding: 0; position: relative; }
	#area .btn {width: 200px; margin: 0 auto;}
	#area .btn .btn-linktxt {font-size: 18px;}
	/* ----------------------------------------------------------------------- company */
	#company{padding: 87px 0 21px;}
	#company .company_box{border-radius: 20px; padding: 65px 5% 35px; width: 95%; margin: 0 auto;}
	#company .company_box .title{top: -41px;}
	#company .company_box .text_box p{font-size: 13px; line-height: 200%;}
	#company .company_box .text_box p:not(:first-child){padding: 26px 0 0;}
	#company .company_box .text_box p:last-child{text-align: right;}
	#company .company_box .company_img_01{text-align: center; padding: 42px 0 0;}
	#company .company_box .company_img_01 img{width: 100%; height: auto;}
	
	/* ----------------------------------------------------------------------- blog */
	#blog{ padding: 32px 0 63px; }
	#blog .title{ margin: 0 0 25px; }
	#blog .desc{ padding: 0 0 27px; }
	
	.blog-wrapper{ padding: 0 5%; }
	.blog-text{ width: 100%; }
	.blog-list { display: block;  }
	
	.blog-card { width: 100%; box-shadow: 0 0 26px rgba(0,0,0,0.16); }
	.blog-card:not(:last-child){margin: 0 0 16px;}
	.blog-card:hover { transform: translateY(-6px); box-shadow: 0 16px 40px rgba(0,0,0,0.12); }
	.blog-card__link { display: block; color: inherit; text-decoration: none; }
	.blog-card__photo { overflow: hidden; }
	.blog-card__photo img { width: 100%; height: auto; display: block; object-fit: cover; }
	
	.blog-card__body { padding: 14px 18px 23px; }
	.blog-card__cat { font-size: 13px; margin-bottom: 10px; }
	.blog-card__title { font-size: 22px; line-height: 141%; margin-bottom: 11px;}
	.blog-card__desc { font-size: 14px; line-height: 2; margin-bottom: 15px; }
	.blog-card__meta { display: flex; align-items: center; justify-content: space-between; font-size: 14px; }
	.blog-card__author { display: flex; align-items: center; gap: 6px; }
	.blog-card__icon { display: block; width: 10px; height: auto; }
	
	#blog .btn{padding: 30px 0 0;}
	#blog .btn .btn__link{margin: 0 auto; width: 95%; padding: 6px 10px 7px; justify-content: space-between;}
	#blog .btn .btn__link .btn-linktxt{width: calc(100% - 137px); display: block; margin: 0 50px 0 0;}

/* ----------------------------------------------------------------------- access */
	#access { padding: 45px 0; }
	#access .title { margin: 0 0 20px; }
	
	.office-list { gap: 30px; flex-direction: column; }
	.office-item { width: 90%; }
	.office-title { font-size: 18px; padding: 0 0 5px;}
	.office-address { font-size: 15px; line-height: 160%;}
	.office-map{ padding-bottom: 73.25%;}
	

/* ----------------------------------------------------------------------- diagnosis */
	#diagnosis { padding: 78px 0 74px; background: url(../images/index/road_bg_01_sp.jpg?var=12345678) no-repeat center center; background-size: cover;}
	#diagnosis .title_box{ margin: 0 0 19px; width: 339px; margin: 0 auto;}
	#diagnosis .title_box .title{position: relative; z-index: 1;}
	#diagnosis .title_box .road_img_01{top: -69px; left: 12px; width: 79px; height: 126px;}
	#diagnosis .title_box .road_img_02{top: -60px; right: 0px; width: 91px; height: 89px; }
	#diagnosis .text_title { text-align: left; font-size: 14px; line-height: 181%; width: 90%; margin: 19px auto 0;}
	#diagnosis .sub { font-size: 13px; }
	
	.diagnosis-content { display: block; padding: 35px 0% 0; width: 95%; margin: 0 auto;}
	.diagnosis-content .flex { display: block; }
	.question-box { display: none; width: 100%; transition: all 0.5s; }
	.question-box-content { background: #FFFFFF; border-radius: 16px; padding: 18px 2.5% 28px; position: relative; }
	.is-thinking { display: block; transition: all 0.5s; }
	
	.q-title { display: flex; align-items: center; font-family: 'Noto-Sans-JP-Bold'; font-size: 18px; margin: 0 0 18px 11px; line-height: 150%; }
	.q-title span { color: #e96b3d; font-family: m-plus-rounded-2p, sans-serif; font-weight: 700; font-style: normal; color: #FF8822;}
	.q-title p { line-height: 150%; margin-left: 5px; }
	
	.answer-list { list-style: none; padding: 0; margin: 0; display: flex; gap:2%;}
	.answer-list li { display: flex; align-items: center; background: #F8F7F1; border-radius: 999px; padding: 10px 15px; font-size: 16px; margin-bottom: 10px; width: 49%; }
	.answer-list li p { margin: 0 0 0 10px; line-height: 150%; font-family: m-plus-rounded-2p, sans-serif; font-weight: 700; font-style: normal; width: calc(100% - 37px);}
	
	.num { flex-shrink: 0; display: inline-block; width: 27px; height: 27px; line-height: 100%; border-radius: 50%; background: #4A95A7; color: #fff; text-align: center; font-size: 16px; font-family: 'Noto-Sans-JP-Bold'; padding: 5px 0;}
	.num01 { background: #E36D5F; }
	.num02 .num { background: #4A95A7; }
	
	.type-label { position: absolute; bottom: 0; left: 0; padding: 0 18px; font-size: 22px; border-radius: 999px; font-family: 'Noto-Sans-JP-Bold'; border: 3px solid #D5D5D5; white-space: nowrap; background: #fff; }
	
/* ----------------------------------------------------------------------- chart-answer */
	#chart-answer { padding: 0; }
	#chart-answer::before {width: 55px;height: 36px;}
/* 	.answer-type li::before {position: absolute; content: ""; left: 50%; top: -94px; transform: translate(-50%,0);width: 55px;height: 36px; background: #FFF9D8; clip-path: polygon(50% 100%, 0 0, 100% 0);} */
	.answer-type{ padding: 0 5%; }
	.answer-type li { width: 100%; padding: 30px 5% 37px; margin: 94px 0 9px; }
	.answer-box { height: auto; padding: 0 0 27px;}
	
	.answer-text h3 { font-size: 23px; align-content: center; }
	.answer-text .type-char { font-size: 61px; }
	.answer-text h4 { font-size: 28px; line-height: 150%;}
	.answer-text .page-sub p { font-size: 12px; }
	
	.answer-detail { font-size: 17px; text-align: center; border: none border-radius: 100px; padding: 0; position: relative; left: auto; transform: none; bottom: auto;}
	.answer-img { width: 80px; }
	.answer_cta_bg{background: var(--pale-color); padding: 0 0 12px;}
}
