@charset "utf-8";

/* 変数・共通 
===================================================== */

:root {
    --font-yu-gothic: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
    --font-yu-mincho:  "YuMincho", "Yu Mincho", "游明朝", "Times New Roman", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    --color-authority-point: #d54a6a;
}

body {
    color: #3e3e3e;
}

dl, dt, dd {
    margin: 0;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

section {
    width: 100%;
    max-width: 750px;
    margin: 0 auto;
    overflow: hidden;
}

.txt_cont p {
    color: #c53856;
    font-family: var(--font-yu-gothic);
    font-size: min(30px, calc(calc(30 / 750) * 100vw));
    font-weight: 500;
    line-height: 1.7;
}
.txt_cont p span {
    font-weight: 600;
}

.sectin_ttl {
    text-align: center;
}
.sectin_ttl h2 {
    text-align: center;
    color: #c53856;
    font-family: var(--font-yu-mincho);
    font-size: min(70px, calc(calc(70 / 750) * 100vw));
    font-weight: 400;
    margin-top: min(18px, calc(calc(18 / 750) * 100vw));
    letter-spacing: max(-5px, calc(-1 * (calc(5/750) * 100vw)));
}
.case .sectin_ttl h2,
.clinic .sectin_ttl h2 {
    letter-spacing: 0;
}
@media screen and (max-width: 750px) {
    .sectin_ttl h2 {
        font-weight: 500;
    }
}
.sectin_ttl h2 span.small_01 {
    font-size: min(60px, calc(calc(60 / 750) * 100vw));
}
.sectin_ttl h2 span.small_02 {
    font-size: min(50px, calc(calc(50 / 750) * 100vw));
}
.sectin_ttl img {
    width: min(461px, calc(calc(461 / 750) * 100vw));
}

/* 限定解除要件アコーディオン */
.c-case-summary {
    background: #fff;
    padding: 0 min(25px, calc(calc(25 / 750) * 100vw));
    width: min(600px, calc(calc(600 / 750) * 100vw));
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}
.c-case-summary__toggle {
    text-align: center;
    color: #c53856;
    font-family: var(--font-yu-gothic);
    font-size: min(34px, calc(calc(34 / 750) * 100vw));
    font-weight: 500;
    line-height: 1;
    padding: min(20px, calc(calc(20 / 750) * 100vw)) 0;
    display: block;
    position: relative;
    cursor: pointer;
}
.c-case-summary__content {
    display: none;
    border-top: 1px solid #c53856;
    padding: 0!important;
}
.c-case-summary__toggle:before,
.c-case-summary__toggle:after {
    content: "";
    display: block;
    width: min(30px, calc(calc(30/750) * 100vw));
    height: min(2px, calc(calc(2/750) * 100vw));
    background: #c53856;
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: min(5px, calc(calc(5/750) * 100vw));
    transition: all 0.4s;
}
.c-case-summary__toggle:before {
    transform: rotate(90deg);
}
.c-case-summary__toggle.js--accordion-open::before {
    transform: rotate(0deg);
}

/* 限定解除要件の余白調整 */
.ex_pt0 .ex_conditional {
    padding-top: 0;
}


/* クーポンCTA
===================================================== */
.coupon_cta_lipgloss__anno {
    text-align: center;
    font-family: var(--font-yu-gothic);
    font-size: clamp(10px, 2.53vw, 19px);
    font-weight: 500;
    margin-top: min(12px, calc(calc(12 / 750) * 100vw));
}

/* 通常（共通）クーポン調整 */
.new_web-coupon--under {
    margin-top: min(30px, calc(calc(30 / 750) * 100vw));
}
@media screen and (max-width: 750px) {
    .new_web-coupon--under {
        width: 91%!important;
    }
}
.new_web-coupon--txt {
    margin: min(16px, calc(calc(16 / 750) * 100vw)) auto 0;
}
.new_web-coupon--txt p {
    color: #fb654a;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: max(-0.5px, calc(-0.5 * (calc(30 / 750) * 100vw)));
    text-align: center;
}
@media screen and (max-width: 750px) {
    .new_web-coupon--txt p {
        font-size: 10px;
        letter-spacing: -0.8px;
    }
}
/* 期間限定クーポン調整 */
.coupon_cta_lipgloss .coupon_offer_g {
    padding-bottom: 0;
}


/* ヘッダー・FV
===================================================== */
header {
    width: 100%;
    max-width: 750px;
    box-sizing: border-box;
}
.lp_header {
    height: min(90px, calc(calc(90 / 750) * 100vw));
}
.fv {
    margin-top: min(90px, calc(calc(90 / 750) * 100vw));
}


/* MENU
===================================================== */
.menu {
    background: url(../img/hyaluronic_lipgloss/menu__bg.webp) no-repeat bottom center / cover;
    padding: min(145px, calc(calc(145 / 750) * 100vw)) 0 min(90px, calc(calc(90 / 750) * 100vw));
}
.menu__ttl {
    text-align: center;
}
.menu__ttl img {
    width: min(301px, calc(calc(301 / 750) * 100vw));
}
.menu__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: min(30px, calc(calc(30 / 750) * 100vw)) 0;
    margin-top: min(46px, calc(calc(46 / 750) * 100vw));
}
.menu__list li a {
    position: relative;
    width: min(337px, calc(calc(337 / 750) * 100vw));
    height: min(110px, calc(calc(110 / 750) * 100vw));
    background: #fcedf2;
    border-radius: 9999px;
    box-shadow: 6px 9px 0 #b43e61;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #bb4669;
    font-family: var(--font-yu-gothic);
    font-size: min(26px, calc(calc(26 / 750) * 100vw));
    font-weight: 600;
    line-height: 1.15;
}
@media screen and (max-width: 750px) {
    .menu__list li a {
        box-shadow: 0.8vw 1.2vw 0 #b43e61;
    }
}
.menu__list li a::before,
.menu__list li a::after {
    content: "";
    width: min(12px, calc(calc(12 / 750) * 100vw));
    height: min(2px, calc(calc(2 / 750) * 100vw));
    background: #bb4669;
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
}
.menu__list li a::before {
	-webkit-transform: rotate(127deg);
	transform: rotate(127deg);
    right: min(20px, calc(calc(20 / 750) * 100vw));
}
.menu__list li a::after {
	-webkit-transform: rotate(-127deg);
	transform: rotate(-127deg);
    right: min(26px, calc(calc(26 / 750) * 100vw));
}


/* こんな方にオススメ
===================================================== */
.recommend {
    position: relative;
    background: #ffd6e1;
    padding: min(77px, calc(calc(77 / 750) * 100vw)) 0 min(190px, calc(calc(190 / 750) * 100vw));
}
.recommend__blur {
    --blur-color: 253 253 253;
    background: radial-gradient(
        circle,
        rgb(var(--blur-color)),
        rgb(var(--blur-color) / 0%)
    );
    border-radius: 9999px;
    filter: blur(15px);
    width: 629px;
    height: min(475px, calc(calc(475 / 750) * 100vw));
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    bottom: min(96px, calc(calc(96 / 750) * 100vw));
}
@media screen and (max-width: 750px) {
    .recommend__blur {
        width: min(650px, calc(calc(650 / 750) * 100vw));
    }
}
.recommend__img {
    position: relative;
    z-index: 1;
    width: min(518px, calc(calc(518 / 750) * 100vw));
    margin: min(40px, calc(calc(40 / 750) * 100vw)) auto 0;
}
.recommend__list {
    position: relative;
    z-index: 1;
    width: min(388px, calc(calc(388 / 750) * 100vw));
    margin: min(30px, calc(calc(30 / 750) * 100vw)) auto 0;
}
.recommend__list li {
    position: relative;
    color: #c53856;
    font-family: var(--font-yu-gothic);
    font-size: min(30px, calc(calc(30 / 750) * 100vw));
    font-weight: 500;
    margin-top: min(16px, calc(calc(16 / 750) * 100vw));
    padding-left: min(50px, calc(calc(50 / 750) * 100vw));
    padding-bottom: min(14px, calc(calc(14 / 750) * 100vw));
    background-image : linear-gradient(to right, #c53856 4px, transparent 4px);
    background-size: 6px 1px;
    background-repeat: repeat-x; 
    background-position: left bottom;
}
@media screen and (max-width: 750px) {
    .recommend__list li {
        background-image : linear-gradient(to right, #c53856 0.53vw, transparent 0.53vw);
        background-size: 0.8vw 0.13vw;
    }
}
.recommend__list li::before {
    content: "";
    width: min(30px, calc(calc(30 / 750) * 100vw));
    height: min(30px, calc(calc(30 / 750) * 100vw));
    background: url(../img/hyaluronic_lipgloss/icon_check.webp) no-repeat center / contain;
    position: absolute;
    top: 0;
    left: min(8px, calc(calc(8 / 750) * 100vw));
}


/* リップグロス注射とは
===================================================== */
.about {
    position: relative;
    background: #ffdeee;
    padding: min(75px, calc(calc(75 / 750) * 100vw)) 0 min(80px, calc(calc(80 / 750) * 100vw));
}
.about__content {
    position: relative;
    z-index: 1;
    width: min(650px, calc(calc(650 / 750) * 100vw));
    margin: min(46px, calc(calc(46 / 750) * 100vw)) auto 0;
}
.about__blur {
    --blur-color02: 253 243 243;
    background: radial-gradient(
        circle,
        rgb(var(--blur-color02)),
        rgb(var(--blur-color02) / 0%)
    );
    border-radius: 9999px;
    filter: blur(10px);
    width: min(900px, calc(calc(900 / 750) * 100vw));
    height: min(520px, calc(calc(520 / 750) * 100vw));
    position: absolute;
    margin: auto;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    top: min(730px, calc(calc(730 / 750) * 100vw));
}

.cta_btn01 {
    display: block;
    width: min(600px, calc(calc(600 / 750) * 100vw));
    margin: 0 auto;
}
.cta_btn01 img {
    filter: drop-shadow(0 5px 15px rgba(0, 0, 0, 0.28));
}
@media screen and (max-width: 750px) {
    .cta_btn01 img {
        filter: drop-shadow(0 0.67vw 2vw rgba(0, 0, 0, 0.28));
    }
}


/* こんな変化が期待できます（POINT）
===================================================== */
.point {
    background: #ffdeee;
    padding-top: min(60px, calc(calc(60 / 750) * 100vw));
}
.point__cont {
    background: url(../img/hyaluronic_lipgloss/point__bg.webp);
    background-repeat: repeat-y;
    background-position: top center;
    background-size: 100% auto;
    padding: 0 min(30px, calc(calc(30 / 750) * 100vw)) min(78px, calc(calc(78 / 750) * 100vw));
    box-sizing: border-box;
}
.point__items {
    margin-top: max(-20px, calc(-1 * (calc(20/750) * 100vw)));
    position: relative;
    z-index: 1;
}
.point__item_outer {
    background: linear-gradient(118deg, #705120 0%, #fcf5c5 15%, #fff9c9 48%, #795c2b 69%, #705221 100%);
    padding: min(4px, calc(calc(4 / 750) * 100vw));
    border-radius: min(100px, calc(calc(100 / 750) * 100vw));
    box-sizing: border-box;
}
.point__item_outer:not(:last-of-type) {
    margin-bottom: min(50px, calc(calc(50 / 750) * 100vw));
}
.point__item_inner {
    background: #f6dae0;
    border-radius: min(100px, calc(calc(100 / 750) * 100vw));
    padding: min(159px, calc(calc(159 / 750) * 100vw)) min(41px, calc(calc(41 / 750) * 100vw)) min(78px, calc(calc(78 / 750) * 100vw));
    box-sizing: border-box;
}
.point__item_inner h3 {
    position: relative;
    text-align: center;
    color: #c53856;
    font-family: var(--font-yu-gothic);
    font-size: min(44px, calc(calc(44 / 750) * 100vw));
    font-weight: 600;
    line-height: 1;
    padding-bottom: min(38px, calc(calc(38 / 750) * 100vw));
    border-bottom: 1px solid #c53856;
    margin-bottom: min(36px, calc(calc(36 / 750) * 100vw));
}
.point__item_inner h3::before {
    content: "";
    width: min(90px, calc(calc(90/750) * 100vw));
    height: min(93px, calc(calc(93/750) * 100vw));
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: max(-120px, calc(-1 * (calc(120/750) * 100vw)));
}
.point__item_outer:nth-of-type(1) h3::before {
    background-image: url(../img/hyaluronic_lipgloss/point__num01.webp);
}
.point__item_outer:nth-of-type(2) h3::before {
    background-image: url(../img/hyaluronic_lipgloss/point__num02.webp);
}
.point__item_outer:nth-of-type(3) h3::before {
    background-image: url(../img/hyaluronic_lipgloss/point__num03.webp);
}

.point__item--img {
    position: relative;
    width: min(480px, calc(calc(480 / 750) * 100vw));
    margin: min(23px, calc(calc(23 / 750) * 100vw)) auto min(40px, calc(calc(40 / 750) * 100vw));
}
.point__item--img img {
    filter: drop-shadow(0 0 10px rgba(141, 10, 43, 0.2));
}
@media screen and (max-width: 750px) {
    .point__item--img img {
        filter: drop-shadow(0 0 1.33vw rgba(141, 10, 43, 0.2));
    }
}

.point__item--img ._anno {
    color: #3e3e3e;
    font-family: var(--font-yu-gothic);
    font-size: min(20px, calc(calc(20 / 750) * 100vw));
    font-weight: 400;
    display: inline-block;
    text-align: right;
    position: absolute;
    bottom: max(-30px, calc(-1 * (calc(30/750) * 100vw)));
    right: 0;
}


/* 症例（ビフォーアフター）
===================================================== */
.case__head {
    background: linear-gradient(to bottom, #fff 35%, #ffd6e1);
    padding: min(146px, calc(calc(146 / 750) * 100vw)) 0 min(45px, calc(calc(45 / 750) * 100vw));
}
.case__cont {
    background: #ffd6e1;
    padding-bottom: min(80px, calc(calc(80 / 750) * 100vw));
}
.case__item {
    position: relative;
    width: min(580px, calc(calc(580 / 750) * 100vw));
    border-radius: min(40px, calc(calc(40 / 750) * 100vw));
    padding: min(103px, calc(calc(103 / 750) * 100vw)) min(50px, calc(calc(50 / 750) * 100vw)) min(50px, calc(calc(50 / 750) * 100vw));
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
}
.case__item:not(:last-of-type) {
    margin-bottom: min(40px, calc(calc(40 / 750) * 100vw));
}
.case__item:nth-of-type(1) {
    background-color: #ca566e;
    box-shadow: 0 0 0 6px #ca566e inset, 0 0 0 7px #FFF inset;
}
.case__item:nth-of-type(2) {
    background-color: #d4676c;
    box-shadow: 0 0 0 6px #d4676c inset, 0 0 0 7px #FFF inset;
}
.case__item:nth-of-type(3) {
    background-color: #d0597b;
    box-shadow: 0 0 0 6px #d0597b inset, 0 0 0 7px #FFF inset;
}
@media screen and (max-width: 750px) {
    .case__item:nth-of-type(1) {
        box-shadow: 0 0 0 0.8vw #ca566e inset, 0 0 0 0.93vw #FFF inset;
    }
    .case__item:nth-of-type(2) {
        box-shadow: 0 0 0 0.8vw #d4676c inset, 0 0 0 0.93vw #FFF inset;
    }
    .case__item:nth-of-type(3) {
        box-shadow: 0 0 0 0.8vw #d0597b inset, 0 0 0 0.93vw #FFF inset;
    }
}

.case__item::before {
    content: "";
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: min(40px, calc(calc(40 / 750) * 100vw));
    width: min(57px, calc(calc(57 / 750) * 100vw));
    height: min(38px, calc(calc(38 / 750) * 100vw));
    background-repeat: no-repeat;
    background-position: top center;
    background-size: contain;
}
.case__item:nth-of-type(1)::before {
    background-image: url(../img/hyaluronic_lipgloss/case__num01.webp);
}
.case__item:nth-of-type(2)::before {
    background-image: url(../img/hyaluronic_lipgloss/case__num02.webp);
}
.case__item:nth-of-type(3)::before {
    background-image: url(../img/hyaluronic_lipgloss/case__num03.webp);
}

.case__item .c-case-summary {
    width: 100%;
}
.case__item--img {
    margin-bottom: min(40px, calc(calc(40 / 750) * 100vw));
}
.case__item--img img {
    filter: drop-shadow(0 0 10px rgba(141, 10, 43, 0.2));
}
@media screen and (max-width: 750px) {
    .case__item--img img {
        filter: drop-shadow(0 0 1.33vw rgba(141, 10, 43, 0.2));
    }
}


/* 料金
===================================================== */
.price {
    background: url(../img/hyaluronic_lipgloss/price__bg.webp) no-repeat bottom center / cover;
    padding: min(145px, calc(calc(145 / 750) * 100vw)) 0 min(80px, calc(calc(80 / 750) * 100vw));
}
.price__ttl {
    text-align: center;
}
.price__ttl img {
    width: min(292px, calc(calc(292 / 750) * 100vw));
}
.price__inner {
    text-align: center;
    width: min(580px, calc(calc(580 / 750) * 100vw));
    margin: min(70px, calc(calc(70 / 750) * 100vw)) auto 0;
}
.price__inner h6 {
    position: relative;
    display: inline-block;
    color: #fff;
    font-family: var(--font-yu-gothic);
    font-size: min(23px, calc(calc(23 / 750) * 100vw));
    font-weight: 600;
    line-height: 1;
    margin-bottom: min(26px, calc(calc(26 / 750) * 100vw));
}
.price__inner h6::before,
.price__inner h6::after {
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    color: #fff;
    font-family: var(--font-yu-gothic);
    font-size: min(23px, calc(calc(23 / 750) * 100vw));
    font-weight: 500;
    line-height: 1;
}
.price__inner h6::before {
    content: "＼";
    left: max(-24px, calc(-1 * (calc(24/750) * 100vw)));
}
.price__inner h6::after {
    content: "／";
    right: max(-24px, calc(-1 * (calc(24/750) * 100vw)));
}


/* よくある質問
===================================================== */
.faq__head {
    background: linear-gradient(to bottom, #fff, #ffd6e1);
    padding-top: min(150px, calc(calc(150 / 750) * 100vw));
}
.faq__cont {
    background: #ffd6e1;
    padding: min(48px, calc(calc(48 / 750) * 100vw)) min(60px, calc(calc(60 / 750) * 100vw)) min(80px, calc(calc(80 / 750) * 100vw));
    box-sizing: border-box;
}
.faq__acc {
    border-radius: min(35px, calc(calc(35 / 750) * 100vw));
    overflow: hidden;
}
.faq__acc:not(:last-of-type) {
    margin-bottom: min(32px, calc(calc(32 / 750) * 100vw));
}
.faq__acc_head {
    position: relative;
    background: #cb4461;
    padding: min(28px, calc(calc(28 / 750) * 100vw)) min(83px, calc(calc(83 / 750) * 100vw)) min(28px, calc(calc(28 / 750) * 100vw)) min(92px, calc(calc(92 / 750) * 100vw));
    box-sizing: border-box;
    cursor: pointer;
}
.faq__acc_head::before,
.faq__acc_head::after {
    content: "";
    width: min(3px, calc(calc(3 / 750) * 100vw));
    height: min(26px, calc(calc(26 / 750) * 100vw));
    border-radius: 9999px;
    background: #fff;
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: min(40px, calc(calc(40 / 750) * 100vw));
    transition: 0.3s;
}
.faq__acc_head::after {
    transform: rotate(90deg);
}
.faq__acc_head.js--accordion-open::before {
    transform: rotate(90deg);
    transition: 0.3s;
}

.faq__acc_head p {
    position: relative;
    color: #fff;
    font-family: var(--font-yu-gothic);
    font-size: min(30px, calc(calc(30 / 750) * 100vw));
    font-weight: 500;
    line-height: 1.3;
}
.faq__acc_head p::before {
    content: "";
    width: min(45px, calc(calc(45 / 750) * 100vw));
    height: min(49px, calc(calc(49 / 750) * 100vw));
    background: url(../img/hyaluronic_lipgloss/faq__icon_q.webp) no-repeat center / contain;
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: max(-65px, calc(-1 * (calc(65/750) * 100vw)));
}
.faq__acc_body {
    display: none;
    background: #fff;
    padding: min(28px, calc(calc(28 / 750) * 100vw)) min(57px, calc(calc(57 / 750) * 100vw)) min(28px, calc(calc(28 / 750) * 100vw)) min(92px, calc(calc(92 / 750) * 100vw));
    box-sizing: border-box;
}
.faq__acc_body p {
    position: relative;
    color: #444;
    font-family: var(--font-yu-gothic);
    font-size: min(28px, calc(calc(28 / 750) * 100vw));
    font-weight: 500;
    line-height: 1.5;
}
.faq__acc_body p::before {
    content: "";
    width: min(47px, calc(calc(47 / 750) * 100vw));
    height: min(59px, calc(calc(59 / 750) * 100vw));
    background: url(../img/hyaluronic_lipgloss/faq__icon_a.webp) no-repeat center / contain;
    position: absolute;
    top: min(6px, calc(calc(6 / 750) * 100vw));
    left: max(-66px, calc(-1 * (calc(66/750) * 100vw)));  
}


/* お支払い方法～交通費補助
===================================================== */
.pay_trans {
    background: #fff3fc;
}
.pay_trans p {
    color: #3d3d3d;
    font-family: var(--font-yu-gothic);
    font-size: min(28px, calc(calc(28 / 750) * 100vw));
    font-weight: 500;
    line-height: 1.6;
}
.payment__wrap {
    padding: min(70px, calc(calc(70 / 750) * 100vw)) 0;
}
.payment__wrap h2 {
    text-align: center;
    color: #3d3d3d;
    font-family: var(--font-yu-gothic);
    font-size: min(44px, calc(calc(44 / 750) * 100vw));
    font-weight: bold;
}
.payment__wrap p {
    margin: min(20px, calc(calc(20 / 750) * 100vw)) 0;
}
.transportation__wrap {
    text-align: center;
    padding-bottom: min(80px, calc(calc(80 / 750) * 100vw));
}
.transportation__wrap h2 {
    text-align: center;
}
.transportation__head {
    margin-top: min(50px, calc(calc(50 / 750) * 100vw));
    margin-bottom: min(30px, calc(calc(30 / 750) * 100vw));
}
.transportation__cont p {
    margin-bottom: min(30px, calc(calc(30 / 750) * 100vw));
}


/* たしかな技術と信頼
===================================================== */

.authority p {
    font-family: var(--font-yu-gothic);
    font-size: min(28px, calc(calc(28 / 750) * 100vw));
    font-weight: 500;
    line-height: 1.8;
}
.authority p span {
    color: var(--color-authority-point);
}

.authority__dr h2 {
    position: relative;
    text-align: center;
    font-family: var(--font-yu-mincho);
    font-size: min(36px, calc(calc(36 / 750) * 100vw));
    font-weight: 600;
    line-height: 1.6;
    width: fit-content;
    padding: min(24px, calc(calc(24 / 750) * 100vw)) min(40px, calc(calc(40 / 750) * 100vw));
    margin: 0 auto min(60px, calc(calc(60 / 750) * 100vw));
}
.authority__dr h2::before,
.authority__dr h2::after {
    content: "";
    position: absolute;
    width: min(50px, calc(calc(50 / 750) * 100vw));
    height: min(50px, calc(calc(50 / 750) * 100vw));
    border-width: min(2px, calc(calc(2 / 750) * 100vw));
    border-style: solid;
    border-color: var(--color-authority-point);
}
.authority__dr h2::before {
    top: 0;
    right: 0;
    border-bottom: 0;
    border-left: 0;
}
.authority__dr h2::after {
    left: 0;
    bottom: 0;
    border-top: 0;
    border-right: 0;
}
.authority__dr h2 span {
    color: var(--color-authority-point);
    font-size: min(44px, calc(calc(44 / 750) * 100vw));
}

.authority__dr h3 {
    text-align: center;
    font-family: var(--font-yu-mincho);
    font-size: min(36px, calc(calc(36 / 750) * 100vw));
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: min(30px, calc(calc(30 / 750) * 100vw));
}
.authority__dr h3 span {
    color: var(--color-authority-point);
    border-bottom: min(3px, calc(calc(3 / 750) * 100vw)) solid var(--color-authority-point);
}

.authority__dr--txtbox {
    position: relative;
    background: #FFF;
    border: min(2px, calc(calc(2 / 750) * 100vw)) solid var(--color-authority-point);
    padding: min(40px, calc(calc(40 / 750) * 100vw));
    margin-bottom: min(60px, calc(calc(60 / 750) * 100vw));
}
.authority__dr--txtbox::before,
.authority__dr--txtbox::after {
    content: "";
    position: absolute;
}
.authority__dr--txtbox::before {
    top: 0;
    right: 0;
    border-left: min(32px, calc(calc(32 / 750) * 100vw)) solid transparent;
    border-top: min(32px, calc(calc(32 / 750) * 100vw)) solid var(--color-authority-point);
}
.authority__dr--txtbox::after {
    left: 0;
    bottom: 0;
    border-right: min(32px, calc(calc(32 / 750) * 100vw)) solid transparent;
    border-bottom: min(32px, calc(calc(32 / 750) * 100vw)) solid var(--color-authority-point);
}

.authority__academic {
    margin-top: min(80px, calc(calc(80 / 750) * 100vw));
}
.authority__academic h3 {
    text-align: center;
    font-family: var(--font-yu-mincho);
    font-size: min(38px, calc(calc(38 / 750) * 100vw));
    font-weight: 500;
    line-height: 1;
    width: 80%;
    border: 1.5px #000 solid;
    border-radius: 9999px;
    padding: min(12px, calc(calc(12 / 750) * 100vw)) 0;
    margin: 0 auto min(40px, calc(calc(40 / 750) * 100vw));
}


/* 対象院
===================================================== */
.clinic {
    margin-top: min(140px, calc(calc(140 / 750) * 100vw));
}


/* WEB予約・相談
===================================================== */
.reserve {
    margin-top: min(100px, calc(calc(100 / 750) * 100vw));
}
.reserve__ttl {
    width: 85%;
    margin: 0 auto min(40px, calc(calc(40 / 750) * 100vw));
}
.reserve__ttl h2 {
    text-align: center;
    font-family: var(--font-yu-mincho);
    font-size: min(48px, calc(calc(48 / 750) * 100vw));
    font-weight: 500;
    line-height: 1.35;
    padding-bottom: min(20px, calc(calc(20 / 750) * 100vw));
    border-bottom: min(2px, calc(calc(2 / 750) * 100vw)) solid #ce3765;
    margin-bottom: min(20px, calc(calc(20 / 750) * 100vw));
}
.reserve__ttl h2 span {
    color: #ce3765;
    font-size:  min(55px, calc(calc(55 / 750) * 100vw));
    font-weight: 600;
}
.reserve__ttl h3 {
    text-align: center;
    color: #ce3765;
    font-family: var(--font-yu-mincho);
    font-size: min(40px, calc(calc(40 / 750) * 100vw));
}


/* フッター
===================================================== */
body:has(#float_bnr) footer{
 padding-bottom:min(150px,calc(150 /750 * 100vw));
}

/* FV */
.fv .cta {
    display:block;
    box-sizing:border-box; 
    padding: 0 min(55px,calc(55 / 750 * 100vw));  
    padding-bottom: min(8px,calc(8 / 750 * 100vw));
}
.fv .cta.limited{
    padding: 0 min(50px,calc(50 / 750 * 100vw));     
    padding-bottom: min(8px,calc(8 / 750 * 100vw));
}
.fv img{
    width: 100%;
}
.fv .coupon_cta_lipgloss__anno{
    padding: 0 min(10px,calc(10 / 750 * 100vw));
    box-sizing: border-box;
}
