@charset "utf-8";
:root {
    --base-width: 375;
    --vw-unit: calc(100vw / var(--base-width));
}
/*------------------------------------------------------------
[SP]
------------------------------------------------------------ */

/*------------------------------------------------------------
[SP]targets:color setting
------------------------------------------------------------ */

.targets .targets_list em {
    color: #21385c !important;
    letter-spacing: 0;
}

/*------------------------------------------------------------
[SP]tips:color setting
------------------------------------------------------------ */

/*------------------------------------------------------------
[SP]contents01
------------------------------------------------------------ */
body {
    line-height: inherit;
    min-width: inherit;
}

/*------------------------------------------------------------
[SP]contents02
------------------------------------------------------------ */

.contents02 h2 {
    margin-bottom: 1.466667vw !important;
    font-size: 5.3333333333333vw;
    line-height: 1.5;
    font-weight: bold;
    text-align: center;
}

.contents02 .contents02_body {
    background: #f4f4f4;
    background-size: 100vw auto;
    padding-bottom: 20vw;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    height: 118.533333333333333vw;
}

.contents02 .note {
    font-size: 4vw;
    font-weight: bold;
    line-height: 1.5;
    color: #aa3399;
    margin: 0 auto 0 9.733333333333333vw;
    width: 54vw;
    text-align: center;
}

.contents02 .text01 {
    margin-bottom: 4vw;
    font-size: 3.7333333333333vw;
    line-height: 1.5;
    font-weight: bold;
    color: #aa3399;
    text-align: center;
}

.contents02 .text02 {
    font-size: 3.7333333333333vw;
    line-height: 1.5;
    font-weight: bold;
    color: #222222;
    text-align: center;
}

/*------------------------------------------------------------
[SP]precautions - individual setting
------------------------------------------------------------ */

.precautions_table td .spec_list li.fig01 figure {
    width: 8.8vw;
}

.precautions_table td .spec_list li.fig02 figure {
    width: auto;
    display: flex;
    flex-direction: row;
}

.precautions_table td .spec_list li.fig02 figure img {
    width: auto;
    height: auto;
}

.precautions_table td .spec_list li.fig02 figure div {
    flex: 1;
    text-align: left;
    padding-left: 10px;
}

.precautions_table td .spec_list li.fig02 figure div p {
    white-space: nowrap;
}

.contents00 {
    background: #dedede !important;
}

.phone_only {
    display: block !important;
}

.contents_nav li a {
    box-shadow: 0 0 8px rgba(53, 63, 185, 0.3) !important;
}

.details_list {
    gap: 30px;
}

.phone_pLR {
    padding: 0 6.33vw;
}

.screen_only {
    display: none !important;
}

.targets {
    background: #2c394d !important;
}

.details .lead {
    color: #3f3f3f !important;
}

.brown {
    color: #996e33 !important;
}

.brown1 {
    color: #c15010 !important;
}

.tips .lead,
.tips_list .label h3 span,
.tips_list .label h3,
.tips_list .label .h3 span,
.tips_list .label .h3 {
    color: #3f3f3f !important;
    /*è¦æ”¹*/
}

.tips_list .label .h3 {
    font-size: 4.5333333333333vw;
    font-weight: bold;
    margin-bottom: 4vw;
}

.tips_list .label .h3 span {
    margin-right: 2.8vw;
    font-size: 3.4666666666667vw;
}

.tips_list .label {
    border-left: 0.5333333333333vw #3f3f3f solid !important;
}

.precautions_table td .nutrition_table {
    width: inherit !important;
}

.precautions_table td .nutrition_table th {
    width: 44% !important;
}

.precautions_table td .nutrition_table td {
    width: 70% !important;
    white-space: nowrap;
}

.precautions_table td .spec_list li {
    padding: 20px !important;
}

.precautions_table td .spec_list li.form {
    width: 35% !important;
    display: flex;
    justify-content: flex-start;
    border-bottom: 1px #ddd solid;
}

.price_list .price_list_table caption {
    background: #3f3f3f !important;
}

.price_list .price_list_table td.number,
.price_list .price_list_table td.price {
    color: #21385c !important;
}

.spec_list li.fig01 {
    width: 100% !important;
    border-bottom: 0.1333333333333vw #ddd solid;
    border-left: none !important;
    text-align: left !important;
}

.details .lead {
    color: #367b96 !important;
}

.tips_list .label .date {
    color: #727272 !important;
    font-weight: bold;
}

.targets .targets_list li {
    background:
        url(../../img/goods/varon/check.png) no-repeat 13px center,
        linear-gradient(
            to right,
            #ffffff 0%,
            rgba(255, 255, 255, 0.5) 100%
        ) !important;
    background-size:
        3.7333333333333vw auto,
        auto !important;
    padding: 4vw 4vw 4vw 9vw !important;
    white-space: inherit;
}

label img {
    width: 10vw;
    bottom: 13px;
    left: 3px;
}

.blue {
    color: #0c1eb1 !important;
}

.blue1 {
    color: #121778 !important;
}

.radio_container {
    gap: 0;
}

.detail {
    font-size: 3.2vw;
    text-align: left;
    display: block;
    margin-left: 0 !important;
    line-height: 25px;
    color: #3f3f3f;
    letter-spacing: 0;
}

.contents_nav {
    gap: 5px;
}

.contents_nav li {
    flex: 1;
}

.contents_nav li a {
    width: 100% !important;
    border-top: 10px #3f3f3f solid !important;
}

.f26 {
    font-size: 5.2vw !important;
    padding-bottom: 2.4vw;
    font-weight: bold;
    color: inherit !important;
}

.radio_container label .plus {
    text-align: center;
}

.brown2 {
    color: #a5400a !important;
}

.w900 {
    max-width: 100%;
    margin: auto;
    padding: 0;
}

.w1160,
.w900,
.w600 {
    width: auto;
    padding-top: 20px;
}

.w1070 {
    padding: 0 15px;
    line-height: normal;
}

.bg_1 {
    background: linear-gradient(to bottom, #ffffff 0%, #fefaf8 52%);
}

.bg_2 {
    background: linear-gradient(
        to bottom,
        #ffffff 0%,
        #fefaf8 40%,
        #fff9e9 100%
    );
    padding-bottom: 5vw;
}

.t_center_left {
    text-align: left;
}

.precautions_table td {
    position: relative;
}

.tips h2 {
    /* border: none !important; */
    margin-bottom: 20px !important;
    position: relative;
    font-size: 6vw !important;
    line-height: initial;
    white-space: nowrap;
    border-bottom: none;
}

.q_and_a h2,
.recommended_products h2,
.precautions h2,
.details h2 {
    border: none !important;
    position: relative;
}

.tips h2::before,
.details h2::before,
.precautions h2::before,
.recommended_products h2::before {
    content: "";
    position: absolute;
    width: 37vw;
    left: 50%;
    bottom: 0px;
    transform: translateX(-50%);
    border-bottom: solid 1px #222;
}

.q_and_a h2::before {
    content: "";
    position: absolute;
    width: 20vw;
    left: 50%;
    bottom: 0px;
    transform: translateX(-50%);
    border-bottom: solid 1px #222;
}

.precautions_table td .spec_list li.form img {
    width: 9vw;
    margin-left: 2vw;
}

.purchase .btn_cart {
    margin: auto !important;
    padding: 0 0 0 8.4vw !important;
}

.p_01 {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.p_02 {
    bottom: 12vw;
    right: 50%;
    transform: translateX(50%);
}

.bg-1 {
    margin-top: 20px;
    padding: 0 !important;
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 1) 50%,
        rgba(182, 182, 184, 1) 100%
    );
}

.bg-2 {
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 1) 50%,
        rgb(222 222 222) 100%
    );
    padding: 0px 0 3vw 0;
}

.bg-3 {
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 1) 11%,
        rgb(221 221 221) 49%
    ) !important;
    padding: 40px 0;
}

.lead1 {
    font-size: 3.8888888vw;
    margin: 0 auto 15px auto !important;
    line-height: normal;
    font-weight: 400;
}

.precautions_table td .spec_list li.usage {
    width: 100% !important;
    border-right: none;
    justify-content: flex-start;
}

.tips .lead {
    margin-bottom: 15px !important;
    color: #21385c !important;
}

.tips .lead ~ p {
    color: #21385c;
    font-size: 3vw;
}

.pro_select {
    width: 100%;
    height: 25px;
    font-size: 15px;
    border-color: #ccc;
    margin: 5px 0;
}

/*------------------------------------------------------------
[PC]precautions - individual setting
------------------------------------------------------------ */
.precautions_table td .spec_list li.fig01 figure {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.precautions_table td .spec_list li.fig02 figure {
    width: 135px;
    display: flex;
}

.pR_25,
.pL_25 {
    padding-right: 0 !important;
}

.radio_container label .label_group .img_div {
    position: absolute;
    left: 9px;
    width: 13%;
    bottom: 13px;
}

.red {
    color: #eb0000 !important;
}

.purchase_contents .grid {
    display: grid !important;
    grid-template-areas:
        "a b"
        "c d";
}

.purchase_contents .grid .g4 {
    grid-area: a;
    text-align: left;
}

.purchase_contents .grid .g1 {
    grid-area: b;
    text-align: center;
}

.purchase_contents .grid .g2 {
    grid-area: c;
}

.purchase_contents .grid .g3 {
    grid-area: d;
}

.ps {
    font-size: 2.9333333333333vw;
    padding-bottom: 0px;
}

.targets h2 {
    color: #fff;
}

.label_p {
    color: #353535;
    font-size: 2.9333333333333vw;
    text-align: right;
    padding-top: 1vw;
}

.p100 iframe {
    width: 100%;
    height: 100%;
    margin-bottom: 0;
    position: relative;
    z-index: 1;
}

.video_wrap {
    position: relative;
    margin: 0 0 6% 0;
    padding: 0 3% 3% 3%;
    height: 66vw;
}

.pic2 {
    width: 70%;
    padding: 0 15px;
    margin: 0;
}

.w500 {
    width: auto;
    padding: 0 15px;
    display: flex;
    gap: 8vw;
}

.w500 ul li {
    text-align: left;
    line-height: normal;
    font-size: 3.8888888vw;
}

.w500 div {
    flex: 1;
    position: relative;
}

.w500 div::after {
    position: absolute;
    content: "";
    width: 35px;
    height: 35px;
    clip-path: polygon(
        10% 29%,
        39% 29%,
        39% 0,
        60% 0,
        60% 28%,
        90% 29%,
        90% 46%,
        61% 45%,
        61% 77%,
        40% 77%,
        40% 45%,
        10% 45%
    );
    background: #3f3a39;
    bottom: 50%;
    transform: translateY(82%);
    right: -8.5vw;
}

.w500 div:last-child::after {
    position: relative;
}

.w500 div img {
    width: 100%;
}

.btn_modal button {
    border: none;
    color: #0072ef;
    cursor: pointer;
    background: url(../../img/goods/common/icon_question.svg) no-repeat 0 center;
    background-size: 4vw 4vw;
    padding-left: calc(20 * var(--vw-unit)) !important;
    padding-right: 0;
}

.btn_modal button:hover,
.btn_modal button:active {
    color: #00bbff;
    text-decoration: underline;
}

.box2_div {
    display: flex;
    gap: 3vw;
    margin-top: 6vw;
    padding: 0 15px;
}

.box2_div .box2 {
    flex: 1;
}

.box2_div .box2 .box2_body {
    padding: 2vw;
}

.box2_div .box2 .box2_body .box2_txt {
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.box2_div .box2:first-child {
    border: #21385c solid 2px;
    background: #fff;
}

.box2_div .box2:first-child .box2_top {
    background: #21385c;
    color: #fff;
    font-size: 4.2vw;
    padding: 2vw 0;
    text-align: center;
    line-height: normal;
}

.box2_div .box2 .box2_body p:first-child {
    font-size: 4vw;
    font-weight: bold;
}

.box2_div .box2:last-child .box2_body p:first-child {
    font-size: 4vw;
    font-weight: bold;
    color: #747474;
}

.box2_div .box2:first-child .box2_body .box2_txt p:last-child,
.box2_div .box2:last-child .box2_body .box2_txt p:last-child {
    line-height: normal;
    font-size: 3vw;
    color: #222;
}

.box2_div .box2 .box2_body img {
    width: 100%;
    margin: 3vw 0 1.5vw 0;
}

.box2_div .box2:last-child {
    border: #747474 solid 2px;
    background: #fff;
}

.box2_div .box2:last-child .box2_top {
    background: #747474;
    color: #fff;
    font-size: 4.2vw;
    padding: 2vw 0;
    text-align: center;
    line-height: normal;
}

.box2_1_div {
    display: flex;
    /* gap: 15px; */
    margin-top: 4vw;
    padding: 0 15px 6vw 15px;
}

.box2_1_div .left {
    width: 46%;
    display: flex;
    flex-direction: column;
    gap: 7.5vw;
    padding-top: 2vw;
}

.box2_1_div .left div .box2_1_top {
    background: #3f3f3f;
    color: #fff;
    font-size: 5vw;
    padding: 1.5vw 3vw;
    text-align: center;
    margin-bottom: 2.6vw;
    display: inline-block;
    font-weight: bold;
}

.box2_1_div .left div .box2_1_top span {
    font-size: 6.5vw;
    color: #fff;
}

.box2_1_div .left div p:nth-child(2) {
    font-size: 4.2vw;
    font-weight: bold;
    padding-bottom: 1vw;
}

.box2_1_div .left div p:last-child {
    line-height: normal;
    font-size: 3.2vw;
}

.box2_1_div .right {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8vw;
    padding: 0 4vw 0 0;
}

.box2_1_div .right div {
    position: relative;
    text-align: center;
}

.box2_1_div .right div:after {
    position: absolute;
    content: "";
    border-left: 18px solid transparent;
    border-right: 18px solid transparent;
    border-top: 17px solid #fff;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
}

.box2_1_div .right div:last-child::after {
    position: relative;
    content: none;
}

.box2_1_div .right div img {
    width: 100%;
}

.pro_3 {
    display: flex;
    flex-direction: column;
}

.pro_3 .flex_1 .word,
.pro_3 .flex_2 .word,
.pro_3 .flex_3 .word {
    width: 65%;
    padding: 7vw 0 0 10vw;
    height: 62vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.pro_3 .flex_1 .word img,
.pro_3 .flex_2 .word img,
.pro_3 .flex_3 .word img {
    margin-bottom: 3vw;
}

.pro_3 .flex_1 .word p {
    color: #fff;
    line-height: 5vw;
    font-size: 3.6vw;
}

.pro_3 .flex_2 .word p,
.pro_3 .flex_3 .word p {
    color: #222;
    line-height: 6vw;
    font-size: 3.6vw;
}

.step_div {
    background: url(../../img/goods/varon/step_bg.png);
    margin-bottom: 4vw;
}

.step_div .step_div_in {
    width: auto;
    margin: auto;
    display: flex;
    gap: 30px;
    padding: 4vw 15px;
    align-items: center;
}

.step_div .step_div_in .step_1 {
    width: 50%;
    text-align: left;
}

.step_div .step_div_in .step_1 > img {
    width: auto;
}

.step_div .step_div_in .step_1 p {
    font-size: 4vw;
    font-weight: bold;
    line-height: normal;
    padding: 2vw 0;
}

.step_div .step_div_in .step_1 ul {
    margin-left: 0;
    padding-left: 5vw;
}

.step_div .step_div_in .step_1 ul li {
    list-style-type: disc;
    line-height: normal;
    font-size: 3.2vw;
}

.step_div .step_div_in div:nth-child(2) {
    flex: 1;
}

.step_div .step_div_in div:nth-child(2) img {
    width: 100%;
}

.pa_LR15 {
    /* padding: 0 15px !important; */
    padding-left: 15px !important;
    padding-right: 15px !important;
}

.researcher {
    margin: 0;
    padding: 6vw 15px 14vw 15px;
    display: grid;
    grid-template-areas:
        "b"
        "a"
        "c";
    column-gap: 0;
    row-gap: 3vw;
    background: none;
    align-items: center;
    grid-template-columns: auto 1fr;
    grid-template-rows: 1fr auto;
    justify-items: center;
    margin-top: 7vw;
}

.researcher_img {
    width: 220px;
    height: auto;
    overflow: hidden;
    margin: 0;
    grid-area: a;
}

.researcher_body {
    grid-area: b;
}

.researcher_body p:nth-child(1) {
    font-size: 5vw;
    font-weight: bold;
    text-align: center;
}

.researcher_body p:nth-child(2) {
    font-size: 6vw;
    font-weight: bold;
    text-align: center;
    line-height: 6.7vw;
    padding: 3vw 0 4vw 0;
}

.researcher_body p {
    font-size: 4vw;
}

.researcher_name {
    font-size: 4vw;
    font-weight: 400;
    display: inline;
    padding-left: 6px;
    grid-area: c;
    text-align: center;
}

.user_bar {
    background: #d7d7d7;
    margin: 0;
    padding: 4vw 15px;
}

.user_bar .txt_wrap {
    display: grid;
    grid-template-areas:
        "a b"
        "c c";
    column-gap: 4vw;
    row-gap: 4vw;
}

.user_bar .txt_wrap img {
    width: 100%;
    grid-area: a;
}

.user_bar .d_flex {
    justify-content: center;
}

.user_bar .txt_wrap .tit {
    font-size: 4.5vw;
    font-weight: bold;
    line-height: 1.3;
    text-align: left;
    grid-area: b;
    height: auto;
    padding-top: 4vw;
}

.user_bar .txt_wrap .ps {
    grid-area: c;
    text-align: left;
    height: auto;
    font-size: 3.2vw;
    line-height: normal;
}

.people .txt_wrap {
    flex: 2;
    margin-right: 2vw;
}

.people .img {
    flex: 1;
}

strong {
    font-size: 110% !important;
    font-weight: bold !important;
}

.details {
    padding-bottom: 0;
}

.t_indent {
    text-indent: 0px !important;
}

.t_indent ul {
    display: inline-block !important;
    text-indent: inherit;
    margin-left: 17px !important;
}

.t_indent ul li {
    list-style-type: decimal;
    padding-left: 0;
    margin: 0 !important;
    text-indent: inherit !important;
}

.tit_flex {
    display: flex;
    flex-direction: column-reverse;
}

.tit_flex .left {
    padding-right: 0;
    color: #eb0000;
    font-weight: bold;
}

.tit_flex .right {
    flex: 1;
    color: #eb0000;
    font-weight: bold;
}

.tit_flex .right small {
    color: #eb0000;
    font-weight: bold;
}

.red1 {
    color: #0c1eb1 !important;
}

.regular_grid {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 1vw;
    column-gap: 0;
    align-items: center;
}

.regular_grid img {
    width: 13%;
    position: absolute;
    left: 11px;
    bottom: 19px;
}

.regular_grid > .title {
    grid-row-start: 1;
    grid-column-start: 1;
    grid-column-end: 4;
    display: flex;
    font-weight: bold;
    font-size: 3.6vw;
    height: 8vw;
    align-items: flex-end;
    margin-bottom: 2vw;
}

.regular_grid > .pro_name {
    grid-row-start: 2;
    grid-column-start: 1;
    grid-column-end: 4;
    height: 100%;
}

.regular_grid .select_grid {
    grid-column-start: 2;
    grid-row-start: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    width: 33vw;
}

.regular_grid .reverse {
    flex-direction: column-reverse;
    justify-content: flex-end;
    display: flex;
    align-items: center;
    text-align: center;
}

.radio_container_div .discount img {
    width: auto;
    float: right;
}

.radio_container_div .discount img:first-child {
    display: none;
}

.radio_container_div .discount img:last-child {
    display: block;
    position: absolute;
    top: 0;
}

.purchase .one_time {
    position: relative;
    padding-bottom: calc(10 * var(--vw-unit));
}

.purchase .one_time h2,
.purchase .regular h2 {
    margin: 0;
    position: relative;
    z-index: 1;
    font-size: calc(20 * var(--vw-unit));
    line-height: calc(20 * var(--vw-unit));
    font-weight: 700;
}

.purchase .one_time h2 p,
.purchase .regular h2 p {
    font-size: 3.5vw;
    padding-bottom: 6px;
}

.purchase .btn_modal {
    font-size: calc(12 * var(--vw-unit));
    line-height: calc(12 * var(--vw-unit));
    font-weight: 400;
    width: fit-content;
    display: flex;
    z-index: 1;
    justify-content: flex-end;
    float: right;
}

.purchase_contents {
    position: relative;
    margin-top: calc(24 * var(--vw-unit));
}

.radio_container label {
    width: 100%;
    gap: 0;
}

.regular .purchase_contents .radio_container_div:nth-last-child(-n + 5) {
    display: none;
}

.purchase_contents p {
    font-size: calc(12 * var(--vw-unit));
    margin-bottom: calc(8 * var(--vw-unit));
    line-height: calc(12 * var(--vw-unit));
}

.radio_container_div {
    display: flex;
    align-items: flex-end;
}

.radio_container {
    flex: 1;
    width: 100%;
}

.radio_container {
    margin: 0 0 6px 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.radio_container label {
    margin-top: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: calc(5 * var(--vw-unit));
    padding-left: calc(50 * var(--vw-unit));
    position: relative;
    gap: 0;
}

.one_time .radio_container label {
    padding: calc(5 * var(--vw-unit));
    padding-left: calc(50 * var(--vw-unit));
}

.radio_container label img {
    height: 50px;
    width: auto;
    margin: 0;
    position: relative;
    top: inherit;
    right: initial;
    transform: inherit;
    left: inherit;
    bottom: inherit;
}

.purchase .supply .detail,
.purchase .notice .detail {
    margin-left: 0;
    font-size: calc(12 * var(--vw-unit));
    line-height: calc(12 * var(--vw-unit));
    font-weight: 400;
    display: block;
    margin-top: 0vw;
    letter-spacing: 0.5px;
}

.purchase .price {
    margin: 0;
    font-size: calc(12 * var(--vw-unit));
    white-space: nowrap;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    column-gap: calc(2 * var(--vw-unit));
}

.purchase .price .number {
    font-size: 5.8vw;
    letter-spacing: -0.5px;
    padding: 0;
}

.radio_container_div {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 4vw;
    position: relative;
    margin-bottom: 0;
}

.radio_container_div .discount {
    width: 16%;
    z-index: 1;
    position: absolute;
    left: -3.3vw;
    top: -5vw;
}

.radio_container_div .discount img {
    width: auto;
    float: none;
    position: inherit;
}

.radio_container label .label_group {
    gap: 5px;
    display: flex;
    width: 100%;
    flex: 1 !important;
    margin: 0 0 0 1vw;
    align-items: center;
    white-space: nowrap;
    flex-direction: column;
}

.one_time .radio_container label .label_group {
    gap: 0px;
    display: flex;
    align-items: flex-end;
    flex: 1 !important;
    flex-direction: row;
    margin: 3px 0 3px -1vw;
}

.radio_container label::before {
    top: 50%;
    transform: translateY(-50%);
    left: 3.6vw;
    background-size: auto 98%;
}

.radio_container input:checked + label::before {
    top: 48%;
    transform: translateY(-50%);
    left: 3.6vw;
    background-size: auto 98%;
}

.purchase .supply .notice_red,
.purchase .notice .notice_red {
    display: block;
}

.purchase .supply .notice_red,
.purchase .notice .notice_red {
    display: block;
    font-size: 4.4vw;
    margin-bottom: 0;
    letter-spacing: normal;
    position: relative;
    padding-right: 4vw;
    white-space: nowrap;
}

.purchase .supply {
    flex: 1;
    font-size: calc(20 * var(--vw-unit));
    line-height: calc(20 * var(--vw-unit));
    font-weight: 600;
    width: 100%;
    text-align: left;
    display: flex;
    align-items: flex-end;
    margin-bottom: 0;
}

.purchase .notice {
    flex: 1;
    font-size: 4.4vw;
    width: 100%;
    text-align: left;
    display: flex;
    /* white-space: nowrap; */
}

.purchase .notice_second,
.purchase .notice_second {
    color: #222;
    display: block;
    font-size: 3.2vw;
    letter-spacing: normal;
    font-weight: bold;
    width: 100%;
}

.purchase .note {
    text-align: right;
}

.purchase .link {
    font-size: 2.9333333333333vw;
    line-height: 1.4;
    position: absolute;
    top: 5vw;
    right: 4vw;
    z-index: 1;
}

.regular_extra_footer .link {
    position: relative;
    line-height: normal;
    font-size: 3.864734299516908vw;
    top: inherit;
}

.red_group,
.red_group span,
.red_group span.detail,
.red_group p,
.red_group p b{
    color: #eb0000 !important;
}

.mb17 {
    margin-bottom: -3.3vw;
}

.radio_container label .label_group .title p:nth-child(1) {
    font-size: 3.2vw;
    font-weight: bold;
}

.radio_container label .label_group .title p:nth-child(2) {
    font-size: 4.88vw;
    font-weight: bold;
    display: flex;
    align-items: baseline;
    flex-direction: column;
}

.radio_container label .label_group .title p:nth-child(2) b {
    font-size: 3.2vw;
    font-weight: normal;
}

.radio_container label .label_group .title p:nth-child(3) {
    font-size: 3vw;
    font-weight: bold;
}

.radio_container label .label_group .select_div {
    display: flex;
    flex-flow: column nowrap;
    width: 47%;
}

.radio_container label .label_group .title {
    flex: 1;
}

.primary .text h1 {
    font-size: calc(25 * var(--vw-unit));
    line-height: normal;
    font-weight: 700;
    margin-bottom: 3vw !important;
}

.main_visual .text .note {
    margin-top: 15px;
}

.main_visual .text .note dd {
    line-height: 1.5;
    margin-bottom: 2px;
}

.main_visual .text .note dt {
    width: 24px;
}

.main_visual .text .note dd,
.main_visual .text .note dt {
    font-size: 11px;
}

.regular_txt {
    display: flex;
    flex-direction: column;
    row-gap: calc(7 * var(--vw-unit));
    flex: 1;
}

.radio_container .regular_txt p:nth-child(1) {
    font-size: calc(12 * var(--vw-unit));
    line-height: calc(12 * var(--vw-unit));
    font-weight: 600;
    white-space: nowrap;
    text-align: left;
    margin-bottom: 0;
}

.radio_container .regular_txt p:nth-child(2) {
    font-size: calc(17 * var(--vw-unit));
    line-height: calc(17 * var(--vw-unit));
    font-weight: 600;
    text-align: left;
    margin-bottom: 0;
}

.radio_container .regular_txt p:nth-child(2) b {
    font-size: calc(12 * var(--vw-unit));
    line-height: calc(12 * var(--vw-unit));
    font-weight: 400;
    display: inline;
}

.primary .text h2 {
    font-weight: 700 !important;
    line-height: calc(20 * var(--vw-unit));
    font-size: calc(20 * var(--vw-unit));
    margin-bottom: calc(8 * var(--vw-unit));
}

#other,
#other2 {
    padding: calc(18 * var(--vw-unit));
    text-align: center;
    width: auto;
    margin-left: 0;
    cursor: pointer;
    display: none;
    position: relative;
}

#other p {
    padding-left: 0;
    text-align: inherit;
    color: #0072ef;
    font-size: calc(16 * var(--vw-unit));
    line-height: calc(16 * var(--vw-unit));
    font-weight: bold;
    display: none;
    letter-spacing: calc(-0.5 * var(--vw-unit));
    margin-bottom: calc(5 * var(--vw-unit));
}

#other2 p {
    padding-left: 0;
    text-align: inherit;
    color: #0072ef;
    font-size: calc(16 * var(--vw-unit));
    line-height: calc(16 * var(--vw-unit));
    letter-spacing: calc(-0.5 * var(--vw-unit));
    font-weight: bold;
    margin-top: calc(5 * var(--vw-unit));
}

#other.d_block p {
    display: block;
}

#other p.link1,
#other2 p.link1 {
    display: none;
}

.d_block {
    display: block !important;
}

#other.d_block b {
    width: calc(16 * var(--vw-unit));
    height: calc(16 * var(--vw-unit));
    display: inline-block;
    transform: rotate(-45deg);
    border-left: #0072ef solid 4px;
    border-bottom: #0072ef solid 4px;
    margin: 0;
}

#other2.d_block b {
    width: calc(16 * var(--vw-unit));
    height: calc(16 * var(--vw-unit));
    display: inline-block;
    transform: rotate(135deg);
    border-left: #0072ef solid 4px;
    border-bottom: #0072ef solid 4px;
    margin: 0;
}

.link1 {
    position: absolute;
    top: 5.5vw;
    right: 2vw;
	z-index: 1
}

.link1 a {
    text-decoration: none;
    background: url(../../img/goods/common/icon_question.svg) no-repeat 0 center;
    background-size: 16px 16px;
    padding: 0px 6px 0px 24px !important;
    font-size: calc(12 * var(--vw-unit));
    line-height: calc(12 * var(--vw-unit));
}

.tips {
    background: none;
}

.blue_bg {
    background: linear-gradient(
        to bottom,
        #ffffff 0%,
        #dedede 13%,
        #dedede 96%,
        #ffffff 100%
    ) !important;
}

.modal_container_div {
    position: fixed;
    width: 92vw;
    height: 81%;
    z-index: 10006;
    top: 16vw;
    left: 50%;
    transform: translateX(-50%);
    display: none;
}

.modal_container_div.active {
    display: block;
}

.modal_container {
    height: 100%;
    overflow-y: auto;
    top: 0;
}

.btn_close_x {
    z-index: 99999999999999;
    top: 49px !important;
    right: -25px !important;
    background: #ff6000 !important;
    width: 16vw !important;
    height: 16vw !important;
    top: -6vw !important;
    right: -2vw !important;
}

.btn_close_x:hover {
    background: #ff4000 !important;
}

.box_3 {
    display: flex;
    gap: 1vw;
    margin-top: 0;
    padding: 0 15px;
}

.box_3 div {
    flex: 1;
    display: flex;
    flex-direction: column;
    border: #3d3d3d solid 1px;
    padding-bottom: 3vw;
    gap: 2vw;
    position: relative;
    background: #fff;
}

.box_3 div::before {
    position: absolute;
    content: "";
    width: 8vw;
    height: 8vw;
    background: url(/img/goods/varon_master/arrow.webp);
    right: -4vw;
    bottom: 30vw;
    background-size: auto 100%;
    z-index: 1;
}

.box_3 div:last-child::before {
    background: none;
}

.box_3 div p:nth-child(1) {
    width: fit-content;
    padding: 2vw;
    background: #21385c;
    color: #fff;
    font-size: 4vw;
    font-weight: 700;
}

.box_3 div p:nth-child(1) b {
    color: #fff;
    font-size: 5vw;
    font-weight: 700;
    padding-right: 2px;
}

.box_3 div p:last-child {
    text-align: center;
    font-size: 4vw;
    font-weight: 700;
}

.h3_2 b {
    font-size: 110%;
}

.arrow_down {
    background: url(/img/goods/varon_master/arrow1.webp) no-repeat;
    background-size: 100% auto;
    width: 37vw;
    height: 16vw;
    margin: 7vw auto 0 auto;
}

.box_2 {
    display: flex;
    align-items: center;
    margin: -5vw auto 0 auto;
    gap: 2vw;
    width: 68%;
}

.box_2 img:nth-child(1) {
    width: 70%;
}

.box_2 img:nth-child(2) {
    width: 30%;
}

.h3_2 {
    text-align: center;
    margin: 3vw auto !important;
    font-size: 6vw;
    font-weight: 700;
    color: #584030;
    position: relative;
    width: fit-content;
    padding: 0;
}

.h3_2:before,
.h3_2:after {
    position: inherit;
}

.h3_1 {
    font-size: 5vw;
    font-weight: 700;
    color: #584a3f;
    position: relative;
}

.h3_1:before {
    position: absolute;
    content: "";
    width: 13vw;
    height: 13vw;
    background: url(/img/goods/varon_master/before.webp) no-repeat;
    background-size: 100% auto;
    top: 2vw;
    left: -13vw;
}

.h3_1:after {
    position: absolute;
    content: "";
    width: 13vw;
    height: 15vw;
    background: url(/img/goods/varon_master/after.webp) no-repeat;
    background-size: 100% auto;
    top: 2vw;
    right: -14vw;
}

/*------------------------------------------------------------
[PC]
------------------------------------------------------------ */
@media print, screen and (min-width: 768px) {
    .contents02 h2 {
        margin-bottom: 16px !important;
        font-size: 28px;
        line-height: 1;
        font-weight: bold;
        text-align: center;
    }

    .contents02 .contents02_body {
        margin: 0 0 0 100px;
        width: 770px;
        background: none;
        padding-bottom: 0;
        display: flex;
        justify-content: space-between;
        flex-direction: row;
        height: auto;
    }

    .contents02 .block01 {
        width: 300px;
        order: 2;
    }

    .contents02 .note {
        font-size: 20px;
        font-weight: bold;
        line-height: 1.5;
        color: #aa3399;
        margin: 0 auto;
        width: 300px;
        text-align: center;
    }

    .contents02 .block02 {
        width: 470px;
        padding-top: 30px;
        order: 1;
    }

    .contents02 .text01 {
        margin-bottom: 78px;
        font-size: 19px;
        line-height: 1.5;
        font-weight: bold;
        color: #aa3399;
        text-align: center;
    }

    .contents02 .text02 {
        font-size: 19px;
        line-height: 1.5;
        font-weight: bold;
        color: #222222;
        text-align: center;
    }

    .purchase .supply.red {
        color: #eb0000;
    }

    /*------------------------------------------------------------
[PC]ingredients
------------------------------------------------------------ */
    .ingredients {
        padding-top: 65px;
    }

    .mt-30 {
        margin-top: 23px !important;
    }

    .mtb-60 {
        margin-top: 60px !important;
        margin-bottom: 50px !important;
    }

    .green_h1 {
        color: #034f28 !important;
        text-align: center;
        width: 100%;
        font-size: 23px;
        font-weight: bold;
    }

    .detail_div_1 {
        padding: 0 20px 26px 20px;
        width: 89%;
        float: left;
        margin-left: 13px;
    }

    /*------------------------------------------------------------
[PC]precautions - individual setting
------------------------------------------------------------ */
    .precautions_table td .spec_list li.fig01 figure {
        width: auto;
        display: flex;
        flex-direction: row;
        align-items: center;
    }

    .flex-end {
        justify-content: flex-end;
    }

    .details_list {
        gap: 30px;
    }

    .details_list li:first-child {
        flex: 1 !important;
    }

    .details_list li:last-child {
        flex: 1 !important;
    }

    .details_list li figure img {
        width: 100% !important;
    }

    .details_list li figure {
        padding-left: 20px;
        margin-top: 55px;
    }

    .details_list li p {
        width: auto !important;
    }

    .details_list li .width_1 {
        width: 25%;
    }

    .details_list li .width_2 {
        width: 40%;
    }

    .details .lead {
        color: #1a7637;
    }

    .q_and_a_contents {
        flex: 1;
    }

    .phone_only {
        display: none !important;
    }

    .details {
        background: #f4faff;
        text-align: center;
        padding: 50px 0;
    }

    .screen_only {
        display: block !important;
    }

    .d_flex_right {
        display: flex;
        justify-content: flex-end;
    }

    .mT_110 {
        margin-top: 110px !important;
    }

    .targets {
        background: #2c394d !important;
    }

    .details .lead {
        color: #328fb5 !important;
    }

    .radio_container label .plus {
        text-align: center;
    }

    .purchase .notice {
        line-height: normal !important;
    }

    .content {
        width: fit-content;
        min-width: 100%;
    }

    .tips_list,
    .tips .note {
        background: #dedede !important;
        margin-top: 0 !important;
    }

    .tips_list .label h3,
    .tips_list .label .h3 span,
    .tips_list .label .h3 {
        color: #3f3f3f !important;
        /*è¦æ”¹*/
        font-weight: bold;
    }

    .tips_list .label .h3 {
        font-size: 22px;
        margin-bottom: 7px;
    }

    .tips_list .label .h3 span {
        margin-right: 20px;
        font-size: 18px;
    }

    .tips_list .label {
        border-left: 2px #3f3f3f solid !important;
    }

    .precautions_table td .nutrition_table {
        width: 70% !important;
    }

    .precautions_table td .nutrition_table th {
        width: 44% !important;
    }

    .precautions_table td .nutrition_table td {
        width: 40% !important;
    }

    .precautions_table td .spec_list li.fig02 figure {
        width: 180px !important;
        display: flex;
    }

    .precautions_table td .spec_list li.fig02 figure div {
        text-align: left;
        margin-left: 10px;
    }

    .price_list .price_list_table caption {
        background: #3f3f3f !important;
    }

    .price_list .price_list_table td.number,
    .price_list .price_list_table td.price {
        color: #21385c !important;
    }

    .details .lead {
        color: #367b96 !important;
    }

    .tips_list .label .date {
        color: #727272 !important;
        font-weight: bold;
    }

    .targets .targets_list li {
        background-size:
            22px auto,
            auto !important;
        padding: 15px 20px 15px 50px !important;
        white-space: nowrap;
    }

    .targets .targets_list em {
        color: #21385c !important;
        letter-spacing: -1px;
    }

    .precautions_table td .spec_list li.usage {
        width: 24% !important;
        border-right: none;
        justify-content: flex-start;
    }

    .precautions_table td .spec_list li.form {
        width: 15% !important;
        border-bottom: none;
    }

    .precautions_table td .spec_list li.fig01 {
        width: auto !important;
        border-right: 1px #ddd solid;
        border-left: navy;
        border-bottom: none;
    }

    .precautions_table td .spec_list li.fig03 {
        width: auto !important;
        border-right: none;
        border-left: none;
        border-bottom: none;
    }

    label img {
        width: auto;
        right: 8px;
        bottom: 9px;
        left: inherit;
    }

    .radio_container {
        gap: 0;
    }

    .radio_container label:last-child {
        margin-top: 0 !important;
    }

    .purchase .one_time {
        flex-wrap: wrap;
        position: relative;
    }

    .contents_nav {
        gap: 15px;
    }

    .contents_nav li {
        flex: 1;
    }

    .contents_nav li a {
        border-top: 10px #3f3f3f solid !important;
    }

    .width1070 {
        width: 100%;
        max-width: 1070px;
        margin: auto;
        padding-bottom: 40px;
    }

    .width950 {
        width: 100%;
        max-width: 950px;
        margin: auto;
        padding-bottom: 40px;
    }

    .t_center {
        text-align: center !important;
    }

    .f26 {
        font-size: 26px !important;
        padding-bottom: 7px;
    }

    .brown1 {
        color: #c15010 !important;
        font-weight: bold;
    }

    .pt_100 {
        padding-top: 29px;
    }

    .pb_100 {
        padding-bottom: 100px;
    }

    .detail {
        font-size: 14px;
        padding-top: 0;
        width: 100%;
        margin-left: 0 !important;
        line-height: 7px;
        color: #3f3f3f;
    }

    .product_contents {
        flex: 1;
    }

    .w900 {
        max-width: 900px;
        margin: 0 auto;
        padding-bottom: 0;
    }

    .w600 {
        max-width: 480px;
        margin: 0 auto;
        padding-bottom: 0;
    }

    .w1160 {
        width: 1160px;
        margin: auto;
        position: relative;
        padding: 0 0 50px 0;
    }

    .bg_1 {
        padding: 0 0 40px 0;
    }

    .t_indent {
        text-indent: 0px !important;
    }

    .precautions_table td .spec_list {
        margin-top: 0 !important;
    }

    .bg_2 {
        padding-bottom: 60px;
    }

    .t_center_left {
        text-align: center;
    }

    .precautions_table td .spec_list li.form img {
        width: 50px;
        margin-left: 13px;
    }

    .purchase .btn_cart {
        margin: auto !important;
        padding: 0 0 0 140px !important;
    }

    .tips h2 {
        /* border: none !important; */
        margin-bottom: 20px !important;
        position: relative;
        font-size: 35px !important;
    }

    .contents01 h2 {
        font-size: 33px;
        line-height: normal;
        margin-bottom: 28px !important;
    }

    .w1070 {
        width: 100%;
        max-width: 1070px;
        margin: auto;
    }

    .contents07 {
        text-align: center;
    }

    .contents07 img {
        max-width: 1400px !important;
        width: 100%;
    }

    .width1070 {
        width: 100%;
        max-width: 1070px;
        margin: auto;
        padding-bottom: 40px;
    }

    .tips_list .comment {
        line-height: 20px !important;
    }

    .tips_list .text {
        flex: 1;
    }

    .blue_bg {
        background: none !important;
        /*            padding: 0 !important;*/
    }

    .lead1 {
        font-size: 21px;
        font-weight: 400;
        text-align: center;
    }

    .researcher {
        margin: 50px auto 0px auto;
        padding: 20px 40px;
        display: grid;
        grid-template-areas:
            "a b"
            "a c";
        column-gap: 40px;
        row-gap: 20px;
        background: #fff;
        align-items: center;
        grid-template-columns: auto 1fr;
        grid-template-rows: 1fr auto;
        justify-items: left;
    }

    .researcher_img {
        width: 220px;
        height: auto;
        overflow: hidden;
        margin: 0;
        grid-area: a;
    }

    .researcher_body {
        grid-area: b;
        text-align: left;
    }

    .researcher_body p:nth-child(1) {
        font-size: 18px;
        font-weight: bold;
        text-align: left;
    }

    .researcher_body p:nth-child(2) {
        font-size: 24px;
        font-weight: bold;
        text-align: left;
        line-height: 45px;
        padding: 0;
    }

    .researcher_body p {
        font-size: 16px;
    }

    .researcher_name {
        font-size: 16px;
        font-weight: 400;
        display: inline;
        padding-left: 6px;
        grid-area: c;
        text-align: left;
    }

    .tips .lead {
        margin-bottom: 15px !important;
        color: #21385c !important;
    }

    .tips .lead ~ p {
        color: #21385c;
        font-size: 14px;
    }

    .bg-1 {
        margin-top: 20px;
        padding: 0 !important;
    }

    .purchase .supply.red {
        color: #eb0000;
    }

    .radio_container label .label_group {
        gap: 15px;
        justify-content: inherit !important;
        align-items: inherit !important;
    }

    .radio_container label .label_group .select_div {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        flex-flow: column nowrap;
        width: 40%;
        justify-content: flex-end;
    }

    .radio_container label .label_group .img_div {
        position: relative;
        width: 30px;
        text-align: center;
        bottom: 0;
        left: 0;
    }

    .pro_select {
        height: 25px;
        font-size: 15px;
        border-color: #ccc;
        margin: 0 0 8px 0;
        width: 100%;
    }

    .purchase .price {
        display: flex;
        justify-content: flex-end;
        column-gap: 2px;
        align-items: center;
    }

    .purchase .regular .supply::before {
        display: none !important;
    }

    .purchase_contents .grid {
        display: flex !important;
    }

    .purchase_contents .grid .g1 {
        grid-area: b;
        text-align: left;
    }

    .ps {
        font-size: 13px;
        padding-bottom: 10px;
    }

    .w500 {
        width: 600px;
        margin: auto;
        display: flex;
        gap: 40px;
        padding: 10px 0 46px 0;
    }

    .w500 ul li {
        text-align: left;
        line-height: 30px;
        font-size: 21px;
        margin-left: 30px;
    }

    .w500 div {
        flex: 1;
        position: relative;
    }

    .w500 div::after {
        position: absolute;
        content: "";
        width: 40px;
        height: 40px;
        clip-path: polygon(
            10% 29%,
            39% 29%,
            39% 0,
            60% 0,
            60% 28%,
            90% 29%,
            90% 46%,
            61% 45%,
            61% 77%,
            40% 77%,
            40% 45%,
            10% 45%
        );
        background: #3f3a39;
        bottom: 50%;
        transform: translateY(82%);
        right: -38px;
    }

    .w500 div:last-child::after {
        position: relative;
    }

    .w500 div img {
        width: 100%;
    }

    .w700 {
        width: 700px;
        margin: auto;
    }

    .w880 {
        width: 880px;
        margin: auto;
    }

    .box2_div {
        display: flex;
        gap: 15px;
        margin-top: 70px;
        padding: 0;
    }

    .box2_div .box2 {
        flex: 1;
        background: #fff;
    }

    .box2_div .box2 .box2_body {
        padding: 15px 10px 25px 10px;
        text-align: center;
    }

    .box2_div .box2:nth-child(1) .box2_body img {
        margin-left: -41px;
    }

    .box2_div .box2 .box2_body .box2_txt {
        display: flex;
        justify-content: center;
        align-items: flex-end;
    }

    .box2_div .box2:first-child {
        border: #21385c solid 2px;
    }

    .box2_div .box2:first-child .box2_top {
        background: #21385c;
        color: #fff;
        font-size: 20px;
        padding: 8px 0;
        text-align: center;
        line-height: normal;
    }

    .box2_div .box2 .box2_body p:first-child {
        font-size: 20px;
        font-weight: bold;
    }

    .box2_div .box2:last-child .box2_body p:first-child {
        font-size: 20px;
        font-weight: bold;
        color: #747474;
    }

    .box2_div .box2:first-child .box2_body .box2_txt p:last-child,
    .box2_div .box2:last-child .box2_body .box2_txt p:last-child {
        line-height: normal;
        font-size: 16px;
        color: #222;
    }

    .box2_div .box2 .box2_body img {
        width: 220px;
        margin: 20px 0 10px 0;
    }

    .box2_div .box2:last-child {
        border: #747474 solid 2px;
    }

    .box2_div .box2:last-child .box2_top {
        background: #747474;
        color: #fff;
        font-size: 20px;
        padding: 8px 0;
        text-align: center;
        line-height: normal;
    }

    .box2_1_div {
        display: flex;
        /* gap: 15px; */
        margin-top: 40px;
        padding: 0;
    }

    .box2_1_div .left {
        width: 40%;
        display: flex;
        flex-direction: column;
        gap: 24px;
        padding-top: 16px;
    }

    .box2_1_div .left div .box2_1_top {
        background: #3f3f3f;
        color: #fff;
        font-size: 24px;
        padding: 8px 20px;
        text-align: center;
        margin-bottom: 15px;
        display: inline-block;
        font-weight: bold;
    }

    .box2_1_div .left div .box2_1_top span {
        font-size: 30px;
        color: #fff;
    }

    .box2_1_div .left div p:nth-child(2) {
        font-size: 18px;
        font-weight: bold;
        padding-bottom: 5px;
    }

    .box2_1_div .left div p:last-child {
        line-height: normal;
        font-size: 14px;
    }

    .box2_1_div .right {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 34px;
        padding: 0;
    }

    .box2_1_div .right div {
        position: relative;
        text-align: center;
    }

    .box2_1_div .right div:after {
        position: absolute;
        content: "";
        border-left: 25px solid transparent;
        border-right: 25px solid transparent;
        border-top: 24px solid #fff;
        bottom: -35px;
        left: 50%;
        transform: translateX(-50%);
    }

    .box2_1_div .right div:last-child::after {
        position: relative;
        content: none;
    }

    .box2_1_div .right div img {
        width: 214px;
    }

    .pro_3 {
        display: flex;
        flex-direction: column;
    }

    .pro_3 .flex_1 .word,
    .pro_3 .flex_2 .word,
    .pro_3 .flex_3 .word {
        width: 535px;
        height: auto;
        margin: auto;
        padding: 100px 15% 100px 0;
    }

    .pro_3 .flex_1 .word img,
    .pro_3 .flex_2 .word img,
    .pro_3 .flex_3 .word img {
        margin-bottom: 30px;
        /* width: 244px; */
    }

    .pro_3 .flex_1 .word p {
        color: #fff;
        line-height: 30px;
        font-size: 16px;
        white-space: nowrap;
    }

    .pro_3 .flex_2 .word p,
    .pro_3 .flex_3 .word p {
        color: #222;
        line-height: 30px;
        font-size: 16px;
        white-space: nowrap;
    }

    .step_div {
        background: url(/img/goods/varon_master/step_bg.webp);
        margin-bottom: 25px;
    }

    .step_div .step_div_in {
        width: 600px;
        margin: auto;
        display: flex;
        gap: 30px;
        padding: 37px 0px;
        align-items: center;
    }

    .step_div .step_div_in .step_1 {
        width: 55%;
        text-align: left;
    }

    .step_div .step_div_in .step_1 > img {
        width: 70%;
    }

    .step_div .step_div_in .step_1 p {
        font-size: 22px;
        font-weight: bold;
        line-height: 28px;
        padding: 20px 0 0 0;
    }

    .step_div .step_div_in .step_1 ul {
        margin-left: 0;
        padding-left: 28px;
    }

    .step_div .step_div_in .step_1 ul li {
        list-style-type: disc;
        line-height: normal;
        font-size: 18px;
        font-weight: bold;
    }

    .step_div .step_div_in div:nth-child(2) {
        flex: 1;
    }

    .step_div .step_div_in div:nth-child(2) img {
        width: 100%;
    }

    .pa_LR15 {
        padding: 0;
    }

    .user_bar {
        background: #d7d7d7;
        margin: 0;
    }

    .user_bar .txt_wrap {
        width: 920px;
        margin: auto;
        padding: 0;
        box-sizing: border-box;
        position: relative;
        display: grid;
        grid-template-areas:
            "a b"
            "a c";
        grid-template-rows: 1.5fr 1fr;
        column-gap: 40px;
        row-gap: 10px;
        align-items: center;
    }

    .user_bar .txt_wrap img {
        width: 170px;
        grid-area: a;
    }

    .user_bar .txt_wrap .tit {
        font-size: 25px;
        font-weight: bold;
        line-height: 1.3;
        text-align: left;
        grid-area: b;
        height: auto;
        padding-top: 24px;
    }

    .user_bar .txt_wrap .tit sup {
        vertical-align: 13px !important;
        padding: 0 2px;
    }

    .user_bar .txt_wrap .ps {
        grid-area: c;
        height: auto;
        font-size: 16px;
    }

    .t_indent ul {
        display: inline-block !important;
        margin-left: 24px !important;
    }

    .tit_flex {
        display: flex;
        flex-direction: row;
    }

    .tit_flex .left {
        padding-right: 25px;
        color: #eb0000;
    }

    .tit_flex .right {
        flex: 1;
        color: #eb0000;
        font-weight: bold;
    }

    .tit_flex .right small {
        color: #eb0000;
    }

    .red1 {
        color: #21385c !important;
    }

    .regular_grid {
        display: grid;
        grid-template-columns: 33px auto;
        row-gap: 10px;
        column-gap: 14px;
        align-items: center;
    }

    .regular_grid img {
        grid-row-start: 1;
        grid-row-end: 4;
        width: 100%;
        position: relative;
        left: 0;
        bottom: inherit;
    }

    .regular_grid > .title {
        grid-row-start: 1;
        grid-column-start: 2;
        grid-column-end: 4;
        display: flex;
        font-weight: bold;
        font-size: 17px;
        height: auto;
        align-items: inherit;
        margin-bottom: inherit;
        text-align: left;
    }

    .regular_grid > .title p {
        white-space: nowrap;
    }

    .regular_grid > .pro_name {
        grid-row-start: 2;
        grid-column-start: 2;
        height: 100%;
    }

    .regular_grid .select_grid {
        grid-column-start: 3;
        grid-row-start: 2;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        width: inherit;
    }

    .regular_grid .reverse {
        flex-direction: row-reverse;
        justify-content: flex-end;
        display: flex;
    }

    .pR_20 {
        padding-left: 20px;
    }

    /*20241227æ”¹*/

    .purchase .one_time {
        padding: 5px 6px 2px 14px;
        /* position: relative; */
    }

    .purchase .regular {
        padding: 35px 6px 2px 14px;
        position: relative;
    }

    .purchase .one_time h2,
    .purchase .regular h2 {
        margin: 0;
        position: absolute;
        z-index: 1;
        font-size: 20px;
        top: 12px;
        line-height: 20px;
    }

    .purchase .one_time h2 p,
    .purchase .regular h2 p {
        font-size: 12px;
        padding-bottom: 6px;
    }

    .radio_container_div {
        display: flex;
        align-items: flex-end;
        flex-direction: row;
        gap: 0;
        margin-bottom: 7px;
    }

    .radio_container_div .discount {
        width: 23%;
        margin-bottom: 0px;
        left: inherit;
        position: relative;
        top: inherit;
    }

    .radio_container_div .discount p {
        color: #ff5500;
        font-weight: bold;
        flex: 1;
    }

    .radio_container_div .discount img {
        width: auto;
        float: right;
    }

    .radio_container_div .discount img:first-child {
        display: block;
        position: relative;
    }

    .radio_container_div .discount img:last-child {
        display: none;
    }

    .radio_container {
        flex: 1;
    }

    .purchase_contents {
        padding: 5px 3px 2px 0px;
        flex: 1;
        width: auto;
        margin-top: 0;
    }

    .regular .purchase_contents .radio_container_div:nth-last-child(-n + 5) {
        display: none;
    }

    .radio_container label {
        padding: 7px 5px 10px 49px;
        flex: 1;
        width: auto;
        margin-top: 0;
        gap: 0;
    }

    .radio_container label .label_group {
        gap: 5px;
        display: flex;
        /* flex: 1 !important; */
        margin: 10px 0 10px 48px;
        flex-direction: column;
    }

    .radio_container label .label_group .title {
        flex: 1;
    }

    .radio_container label .label_group .title p:nth-child(1) {
        font-size: 16px;
        font-weight: bold;
    }

    .radio_container label .label_group .title p:nth-child(2) {
        font-size: 20px;
        font-weight: bold;
        display: flex;
        align-items: baseline;
        flex-direction: row;
    }

    .radio_container label .label_group .title p:nth-child(2) b {
        font-size: 15px;
        font-weight: normal;
    }

    .radio_container label .label_group .title p:nth-child(3) {
        font-size: 14px;
        font-weight: bold;
    }

    .one_time .radio_container label .label_group {
        gap: 5px;
        display: flex;
        align-items: flex-end;
        flex: 1 !important;
        flex-direction: row;
        margin: 0 0 0 48px;
    }

    .radio_container label img {
        height: 50px;
        width: auto;
        margin: 0 5px;
        position: relative;
        top: inherit;
        right: initial;
        transform: inherit;
        left: inherit;
        bottom: inherit;
    }

    .purchase .supply {
        flex: 1;
        font-size: 20px;
        line-height: 20px;
        text-align: left;
        display: flex !important;
        align-items: baseline;
        flex-direction: row;
        white-space: nowrap;
    }

    .purchase .notice {
        flex: 1;
        font-size: 20px;
        text-align: left;
        display: flex !important;
        flex-direction: row;
        white-space: nowrap;
    }

    .purchase .supply .notice_red,
    .purchase .notice .notice_red {
        display: block;
        font-size: 20px;
        margin-bottom: 0;
        padding-right: 20px;
        white-space: nowrap;
    }

    /* .purchase .supply .notice_red:before,
    .purchase .notice .notice_red:before {
        position: absolute;
        content: "-";
        right: 6px;
        font-size: 20px;
        top: inherit;
    } */

    .purchase .notice_second,
    .purchase .notice_second {
        color: #222;
        display: block;
        font-size: 14px;
        margin-top: 0;
        font-weight: bold;
        letter-spacing: normal;
    }

    .purchase .supply .detail,
    .purchase .notice .detail {
        margin-left: 5px;
        line-height: 15px;
        font-size: 15px;
        font-weight: normal;
        display: inline;
        margin-top: 0;
        letter-spacing: normal;
    }

    .purchase .price {
        margin: 0;
        font-size: 14px;
    }

    .purchase .price .number {
        font-size: 22px;
        line-height: 22px;
        font-weight: 700;
        font-family: "Noto Sans TC";
    }

    .radio_container label:nth-child(2) {
        margin: 0;
    }

    .regular_txt {
        display: flex;
        flex-direction: column;
        row-gap: 7px;
        flex: 1;
    }

    .radio_container .regular_txt p:nth-child(1) {
        font-size: 16px;
        line-height: 16px;
        font-weight: 600;
        white-space: nowrap;
        text-align: left;
    }

    .radio_container .regular_txt p:nth-child(2) {
        font-size: 20px;
        line-height: 20px;
        font-weight: 600;
        text-align: left;
    }

    .radio_container .regular_txt p:nth-child(2) b {
        font-size: 14px;
        line-height: 14px;
        font-weight: 400;
        display: inline;
    }

    .one_time .radio_container label {
        padding: 5px 5px 5px 0;
    }

    .radio_container {
        margin: 0;
        display: flex;
        justify-content: space-between;
        flex: 1;
        flex-direction: row;
    }

    .purchase .btn_modal {
        font-size: 14px;
        line-height: 1.4;
        width: 100%;
        display: flex;
        /* position: inherit; */
        /* top: inherit; */
        /* right: inherit; */
        z-index: 1;
        justify-content: flex-end;
    }

    .radio_container input:checked + label::before {
        top: 50%;
        transform: translateY(-50%);
        left: 12px;
    }

    .radio_container label::before {
        top: 50%;
        transform: translateY(-50%);
        left: 12px;
    }

    .regular_extra::after {
        bottom: -32px;
        left: -14px;
    }

    .purchase .link {
        position: absolute;
        right: 34px;
        font-size: 14px;
        line-height: 25px;
        z-index: 1;
    }

    .mb17 {
        margin-bottom: -17px;
    }

    .purchase_contents p {
        font-size: 12px;
        margin-bottom: 0;
        line-height: 12px;
    }

    .label_p {
        color: #353535;
        font-size: 15px;
        padding: 0;
    }

    .red_group,
    .red_group span,
    .red_group span.detail,
    .red_group p,
    .red_group p b {
        color: #eb0000 !important;
    }

    .btn_modal button {
        border: none;
        color: #0072ef;
        cursor: pointer;
        background: url(../../img/goods/common/icon_question.svg) no-repeat 0
            center;
        background-size: 15px 15px;
        padding: 7px 0px 7px 20px !important;
        font-size: 12px;
    }

    .main_visual .text .note dt {
        width: 5%;
    }

    .main_visual .text .note dd,
    .main_visual .text .note dt {
        font-size: 12px;
    }

    #other,
    #other2 {
        padding: 26px 0 22px 0;
        text-align: center;
        width: auto;
        margin-left: 0;
        cursor: pointer;
        display: none;
        position: relative;
    }

    #other p {
        padding-left: 0;
        text-align: inherit;
        color: #0072ef;
        font-size: 16px;
        line-height: 16px;
        font-weight: bold;
        margin-bottom: 5px;
        display: none;
        letter-spacing: -0.5px;
    }

    #other2 p {
        padding-left: 0;
        text-align: inherit;
        color: #0072ef;
        font-size: 16px;
        font-weight: bold;
        line-height: 16px;
        letter-spacing: -0.5px;
        margin-top: 5px;
    }

    #other.d_block p {
        display: block;
    }

    .d_block {
        display: block !important;
    }

    #other p.link1,
    #other2 p.link1 {
        display: block;
        margin-top: 3px;
    }

    #other.d_block b {
        width: 16px;
        height: 16px;
        display: inline-block;
        transform: rotate(-45deg);
        border-left: #0072ef solid 4px;
        border-bottom: #0072ef solid 4px;
        margin: 0;
    }

    #other2.d_block b {
        width: 16px;
        height: 16px;
        display: inline-block;
        transform: rotate(135deg);
        border-left: #0072ef solid 4px;
        border-bottom: #0072ef solid 4px;
        margin: 0;
    }

    .link1 {
        position: absolute;
        top: -12px;
        right: 0px;
    }

    .link1 a {
        text-decoration: none;
        font-size: 12px;
        line-height: 29px;
        background: url(../../img/goods/common/icon_question.svg) no-repeat 0
            center;
        background-size: 15px 15px;
        padding: 0px 0px 0px 23px !important;
    }

    .box_3 {
        display: flex;
        gap: 9px;
        margin-top: -40px;
    }

    .box_3 div {
        flex: 1;
        display: flex;
        flex-direction: column;
        border: #3d3d3d solid 1px;
        padding-bottom: 9px;
        gap: 8px;
        position: relative;
    }

    .box_3 div::before {
        position: absolute;
        content: "";
        width: 40px;
        height: 40px;
        background: url(/img/goods/varon_master/arrow.webp);
        right: -22px;
        bottom: 67px;
        background-size: auto 100%;
        z-index: 1;
    }

    .box_3 div:last-child::before {
        background: none;
    }

    .box_3 div p:nth-child(1) {
        width: fit-content;
        padding: 10px 10px;
        background: #21385c;
        color: #fff;
        font-size: 25px;
        font-weight: 700;
    }

    .box_3 div p:nth-child(1) b {
        color: #fff;
        font-size: 30px;
        font-weight: 700;
        padding-right: 2px;
    }

    .box_3 div p:last-child {
        text-align: center;
        font-size: 22px;
        font-weight: 700;
    }

    .h3_2 b {
        font-size: 110%;
    }

    .arrow_down {
        background: url(/img/goods/varon_master/arrow1.webp) no-repeat;
        background-size: 100% auto;
        width: 181px;
        height: 71px;
        margin: auto;
    }

    .box_2 {
        display: flex;
        align-items: center;
        width: fit-content;
        margin: -48px auto 0 auto;
        gap: 42px;
        width: 507px;
    }

    .box_2 img:nth-child(1) {
        width: 60%;
    }

    .box_2 img:nth-child(2) {
        width: 40%;
    }

    .h3_2 {
        text-align: center;
        margin: 47px auto 36px auto !important;
        font-size: 34px;
        font-weight: 700;
        color: #584030;
        position: relative;
        width: fit-content;
        padding: 0;
    }

    .h3_2:before {
        position: absolute;
        content: "";
        width: 255px;
        height: 1px;
        background: #584030;
        bottom: 19px;
        left: -270px;
    }

    .h3_2:after {
        position: absolute;
        content: "";
        width: 255px;
        height: 1px;
        background: #584030;
        bottom: 19px;
        right: -270px;
    }

    .h3_1 {
        font-size: 25px;
        font-weight: 700;
        color: #584a3f;
        position: relative;
    }

    .h3_1:before {
        position: absolute;
        content: "";
        width: 130px;
        height: 130px;
        background: url(/img/goods/varon_master/before.webp) no-repeat;
        top: 0;
        left: -114px;
    }

    .h3_1:after {
        position: absolute;
        content: "";
        width: 130px;
        height: 130px;
        background: url(/img/goods/varon_master/after.webp) no-repeat;
        top: 0;
        right: -135px;
    }

    .tips {
        background: none !important;
    }

    .modal_container_div {
        position: fixed;
        width: 960px;
        height: 82%;
        z-index: 10006;
        top: 80px;
        left: 50%;
        transform: translateX(-50%);
        display: none;
    }

    .modal_container_div.active {
        display: block;
    }

    .modal_container {
        height: 100%;
        overflow-y: auto;
    }

    .btn_close_x {
        z-index: 99999999999999;
        top: -29px !important;
        right: -25px !important;
        background: #ff6000 !important;
        width: 60px !important;
        height: 60px !important;
    }

    .btn_close_x:hover {
        background: #ff4000 !important;
    }

    .primary .text h1 {
        font-size: 26px !important;
        font-weight: 700;
        margin-bottom: 3vw !important;
    }

    .primary .text h2 {
        font-weight: 700 !important;
        line-height: 22px;
        font-size: 22px;
        margin-bottom: 13px;
    }

    .red_group,
    .red_group span,
    .red_group span.detail {
        color: #eb0000 !important;
    }
}
