@charset "utf-8";
/* ================================================ */
/* === content_fv ================================= */
/* ================================================ */
/* SP時に表示 */
@media only screen and (max-width : 769px ){
.pc { display: none !important;}
.sp { display: block !important;}  
}

section#content_fv {
    width: 100%;
    max-width: 1200px;
    margin: 7rem auto 0rem auto;
}
.page_fv_cont {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 500px;
    padding-left: 60px;
}
.page_fv_cont.phimosis {
    background: url(../img/cont/bg_phimosis.jpg) no-repeat;
}
.page_fv_cont.longstem {
    background: url(../img/cont/bg_longstem.jpg) no-repeat;
}
.page_fv_cont.augmentation {
    background: url(../img/cont/bg_augmentation.jpg) no-repeat;
}
.page_fv_cont.earlyleakage {
    background: url(../img/cont/bg_earlyleakage.jpg) no-repeat;
}
.page_fv_cont.glansbumps {
    background: url(../img/cont/bg_glansbumps.jpg) no-repeat;
}
.page_fv_cont.siliconball {
    background: url(../img/cont/bg_siliconball.jpg) no-repeat;
}
.page_fv_cont.ed {
    background: url(../img/cont/bg_ed.jpg) no-repeat;
}
.page_fv_cont.online {
    background: url(../img/cont/bg_online.jpg) no-repeat;
}
.page_fv_cont.aga {
    background: url(../img/cont/bg_aga.jpg) no-repeat;
}
.page_fv_cont h1 {
    margin-bottom: 40px;
    font-size: 60px;
    color: #0D5284;
}
.treatment_price {
    background: #fff;
    width: 100%;
    max-width: 550px;
    margin-bottom: 30px;
    padding: 15px 25px 25px;
    border-radius: 10px;
    color: #0D5284;
    font-size: 40px;
    font-weight: bold;
    line-height: 1.2;
}
.treatment_price span {
    font-size: 24px;
}
span.loan {
    position: relative;
    bottom: 4px;
    background: #0D5284;
    margin-right: 5px;
    padding: 4px 10px 6px;
    color: #fff;
    font-size: 20px;
}
.page_fv_cont p {
    font-weight: 500;
    font-size: 20px;
    color: #0D5284;
    line-height: 1.5;
    text-shadow: 2px 2px 0 #e7eaf3, -2px -2px 0 #e7eaf3, -2px 2px 0 #e7eaf3, 2px -2px 0 #e7eaf3, 0px 2px 0 #e7eaf3, 0 -2px 0 #e7eaf3, -2px 0 0 #e7eaf3, 2px 0 0 #e7eaf3;
}
@media screen and (min-width: 1025px) and (max-width: 1180px) {
    section#content_fv {
        max-width: 1180px;
    }
}
@media screen and (min-width: 600px) and (max-width: 1024px) {
    section#content_fv {
        max-width: 92vw;
    }
    .page_fv_cont {
        justify-content: flex-start;
        height: 113vw;
        padding: 10px 5%;
    }
    .page_fv_cont.phimosis {
        background: url(../img/cont/sp_bg_phimosis.jpg) no-repeat;
        background-size: contain;
    }
    .page_fv_cont.longstem {
        background: url(../img/cont/sp_bg_longstem.jpg) no-repeat;
        background-size: contain;
    }
    .page_fv_cont.augmentation {
        background: url(../img/cont/sp_bg_augmentation.jpg) no-repeat;
        background-size: contain;
        height: 126.6vw;
    }
    .page_fv_cont.earlyleakage {
        background: url(../img/cont/sp_bg_earlyleakage.jpg) no-repeat;
        background-size: contain;
        height: 128.6vw;
    }
    .page_fv_cont.glansbumps {
        background: url(../img/cont/sp_bg_glansbumps.jpg) no-repeat;
        background-size: contain;
    }
    .page_fv_cont.siliconball {
        background: url(../img/cont/sp_bg_siliconball.jpg) no-repeat;
        background-size: contain;
        height: 104vw;
    }
    .page_fv_cont.ed {
        background: url(../img/cont/sp_bg_ed.jpg) no-repeat;
        background-size: contain;
        height: 114vw;
    }
    .page_fv_cont.online {
        background: url(../img/cont/sp_bg_online.jpg) no-repeat;
        background-size: contain;
        height: 95vw;
    }
    .page_fv_cont.aga {
        background: url(../img/cont/sp_bg_aga.jpg) no-repeat;
        background-size: contain;
        height: 90vw;
    }
    .page_fv_cont h1 {
        margin-bottom: 20px;
        font-size: 8vw;
    }
    .treatment_price {
        margin-bottom: 15px;
        padding: 5px 15px 10px;
        font-size: 6vw;
    }
    .treatment_price span {
        font-size: 4vw;
    }
    span.loan {
        bottom: 3px;
        padding: 2px 6px 4px;
        font-size: 3vw;
        font-weight: 500;
    }
    .page_fv_cont p {
        font-size: 3.2vw;
    }
}
@media screen and (max-width: 768px) {
    section#content_fv {
        max-width: 92vw;
		padding: 50px 0 0px 0;
    }
    .page_fv_cont {
        justify-content: flex-start;
        height: 113vw;
        padding: 10px 5%;
    }
    .page_fv_cont.phimosis {
        background: url(../img/cont/sp_bg_phimosis.jpg) no-repeat;
        background-size: contain;
    }
    .page_fv_cont.longstem {
        background: url(../img/cont/sp_bg_longstem.jpg) no-repeat;
        background-size: contain;
    }
    .page_fv_cont.augmentation {
        background: url(../img/cont/sp_bg_augmentation.jpg) no-repeat;
        background-size: contain;
        height: 126.6vw;
    }
    .page_fv_cont.earlyleakage {
        background: url(../img/cont/sp_bg_earlyleakage.jpg) no-repeat;
        background-size: contain;
        height: 128.6vw;
    }
    .page_fv_cont.glansbumps {
        background: url(../img/cont/sp_bg_glansbumps.jpg) no-repeat;
        background-size: contain;
    }
    .page_fv_cont.siliconball {
        background: url(../img/cont/sp_bg_siliconball.jpg) no-repeat;
        background-size: contain;
        height: 114vw;
    }
    .page_fv_cont.ed {
        background: url(../img/cont/sp_bg_ed.jpg) no-repeat;
        background-size: contain;
    }
    .page_fv_cont.online {
        background: url(../img/cont/sp_bg_online.jpg) no-repeat;
        background-size: contain;
        height: 95vw;
    }
    .page_fv_cont.aga {
        background: url(../img/cont/sp_bg_aga.jpg) no-repeat;
        background-size: contain;
        height: 90vw;
    }
    .page_fv_cont h1 {
        margin:30px 0 10px 10px;
        font-size: 2rem;
    }
    .treatment_price {
        margin-bottom: 15px;
        padding: 5px 15px 10px;
        font-size: 6vw;
    }
    .treatment_price span {
        font-size: 4vw;
    }
    span.loan {
        bottom: 3px;
        padding: 2px 6px 4px;
        font-size: 3vw;
        font-weight: 500;
    }
    .page_fv_cont p {
        font-size: 1rem;
		margin: -0.25rem auto 0 auto;
		padding: 0 0rem 0 0.75rem;
    }
}


/* ================================================ */
/* === worry ====================================== */
/* ================================================ */
section#worry {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}
.worry_cont {
    position: relative;
}
.worry_cont h2 {
    position: absolute;
    top: 50px;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 30px;
    text-align: center;
    color: #333;
}
@media screen and (min-width: 1025px) and (max-width: 1180px) {
    section#worry {
        max-width: 1180px;
    }
    .worry_cont img {
        width: 100%;
    }
}
@media screen and (min-width: 600px) and (max-width: 1024px) {
    section#worry {
        max-width: 92vw;
    }
    .worry_cont {
        position: relative;
    }
    .worry_cont h2 {
        top: 30px;
        font-size: 4.2vw;
        line-height: 1.4;
    }
    .worry_cont img {
        width: 100%;
    }
}
@media screen and (max-width: 768px) {
    section#worry {
        max-width: 92vw;
    }
    .worry_cont {
        position: relative;
    }
    .worry_cont h2 {
        top: 30px;
        font-size: 4.2vw;
        line-height: 1.4;
    }
    .worry_cont img {
        width: 100%;
    }
}


/* ================================================ */
/* === examination ================================ */
/* ================================================ */
section#examination {
    width: 100%;
    max-width: 1200px;
    margin: 60px auto;
}
.examination_cont h2 {
    font-size: 30px;
    text-align: center;
    color: #333;
}
.examination_cont {
    background: url(../img/cont/bg_common_examination.png) no-repeat bottom right;
    padding: 20px 0;
}
.speech {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    width: 75%;
    margin: 60px 0 10px 0;
    background: #e7e9f3;
    border-radius: 15px;
}
.speech:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 100%;
    margin-top: 15px;
    margin-left: -20px;
    border: 15px solid transparent;
    border-left: 50px solid #e7e9f3;
    transform: rotate(-35deg);
}
.speech_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    margin: 20px;
    background: #fff;
    border-radius: 10px;
    width: 50%;
}
.speech_icon.phimosis {
    padding: 90px 30px;
}
.speech_icon.longstem {
    padding: 20px 0;
}
.speech_icon.augmentation {
    padding: 60px 0;
}
.speech_icon.glansbumps {
    padding: 50px 20px;
}
.speech_icon.siliconball {
    padding: 30px 40px;
}
.speech_icon.ed {
    padding: 80px 40px;
}
.speech_icon.aga {
    padding: 10px 10px;
}
.speech p {
    padding: 20px;
}
@media screen and (min-width: 1025px) and (max-width: 1180px) {
    section#examination {
        max-width: 1180px;
    }
}
@media screen and (min-width: 600px) and (max-width: 1024px) {
    section#examination {
        max-width: 92vw;
        margin: 30px auto;
    }
    .examination_cont h2 {
        font-size: 4.2vw;
        line-height: 1.4;
    }
    .examination_cont {
        background: none;
        padding: 0;
    }
    .speech {
        display: block;
        width: 100%;
        margin: 10px 0;
        background: url(../img/cont/bg_common_examination.png) no-repeat bottom -20px right 5px, #e7e9f3;
        background-size: 35vw;
        overflow: hidden;
    }
    .speech:before {
        content: none;
    }
    .speech_icon {
        width: 30vw;
        margin: 12px;
        float: left;
    }
    .speech_icon.phimosis {
        padding: 6px 20px;
    }
    .speech_icon.longstem {
        padding: 5px 5px;
    }
    .speech_icon.augmentation {
        padding: 10px 0;
    }
    .speech_icon.glansbumps {
        padding: 15px 0 0;
    }
    .speech_icon.siliconball {
        padding: 5px;
    }
    .speech_icon.ed {
        padding: 10px 20px;
    }
    .speech_icon.aga {
        padding: 5px 5px 0;
    }
    .speech_icon img {
        width: 100%;
    }
    .speech_icon.longstem img {
        width: 60%;
    }
    .speech_icon.augmentation img {
        width: 60%;
    }
    .speech_icon.glansbumps img {
        width: 55%;
    }
    .speech_icon.siliconball img {
        width: 70%;
    }
    .speech_icon.ed img {
        width: 70%;
    }
    .speech_icon.aga img {
        width: 70%;
    }
    .speech p {
        padding: 12px;
        font-size: 3.2vw;
        line-height: 1.6;
    }
}
@media screen and (max-width: 768px) {
    section#examination {
        max-width: 92vw;
        margin: 30px auto;
    }
    .examination_cont h2 {
        font-size: 4.2vw;
        line-height: 1.4;
    }
    .examination_cont p{
        background: none;
        padding: 0;
    } 
	.examination_cont {
        background: none;
        padding: 0;
    }
	
    .speech {
        display: block;
        width: 100%;
        margin: 10px 0;
        background: url(../img/cont/bg_common_examination.png) no-repeat bottom -20px right 5px, #e7e9f3;
        background-size: 35vw;
        overflow: hidden;
    }
    .speech:before {
        content: none;
    }
    .speech_icon {
        width: 30vw;
        margin: 12px;
        float: left;
    }
    .speech_icon.phimosis {
        padding: 6px 20px;
    }
    .speech_icon.longstem {
        padding: 5px 5px;
    }
    .speech_icon.augmentation {
        padding: 10px 0;
    }
    .speech_icon.glansbumps {
        padding: 15px 0 0;
    }
    .speech_icon.siliconball {
        padding: 5px;
    }
    .speech_icon.ed {
        padding: 5px;
    }
    .speech_icon.aga {
        padding: 5px 5px 0;
    }
    .speech_icon img {
        width: 100%;
    }
    .speech_icon.longstem img {
        width: 60%;
    }
    .speech_icon.augmentation img {
        width: 60%;
    }
    .speech_icon.glansbumps img {
        width: 55%;
    }
    .speech_icon.siliconball img {
        width: 70%;
    }
    .speech_icon.ed img {
        width: 80%;
    }
    .speech_icon.aga img {
        width: 70%;
    }
    .speech p {
        padding: 12px;
        font-size: 1rem;
        line-height: 1.5rem;
	text-align: justify;
    }
}


/* ================================================ */
/* === detail ===================================== */
/* ================================================ */
section#detail {
    width: 100%;
    max-width: 1040px;
    margin: 0 auto;
}
.detail_cont h2 {
    font-size: 30px;
    text-align: center;
    color: #333;
    line-height: 1.4;
}
.detail_cont h3 {
    font-size: 24px;
    color: #0D5284;
    border-top: 1px solid #0D5284;
    border-bottom: 1px solid #0D5284;
    padding: 20px 0;
    margin: 60px 0 30px;
    text-align: center;
}
.detail_cont .step_box {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.detail_cont .step_box img {
    width: 100%;
    max-width: 450px;
}
.detail_cont .step_box div {
    margin-left: 40px;
}
.detail_cont .step_box a.btn {
    width: 100%;
    max-width: 400px;
    margin: 30px 0 0 0;
    padding: 30px;
}

/** 個別 包茎 **/
.detail_cont.phimosis .type_box {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    margin: 60px 0;
}
.detail_cont.phimosis .type_box img {
    margin-bottom: 20px;
}
.detail_cont.phimosis .type_box a.btn {
    padding: 6px;
    font-size: 14px;
    line-height: 1.5;
}
.detail_cont.phimosis .check_box {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-evenly;
    padding: 60px 0;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    margin-bottom: 60px;
}
.detail_cont.phimosis .check_box > div {
    width: 100%;
    max-width: 400px;
}
.detail_cont.phimosis .check_box p {
    padding-bottom: 20px;
    font-size: 24px;
    font-weight: 500;
    text-align: center;
    line-height: 1.4;
}
.detail_cont.phimosis .check_box a.btn {
    width: 100%;
    max-width: 400px;
    padding: 20px;
    font-size: 20px;
    height: 80px;
    line-height: 1.4;
}
p.tain_text {
    padding: 0.5rem 1rem;
    font-size: 1rem;
    line-height: 1.5rem;
	text-align: justify;
    margin: 20px 0;
}
/** 個別 長茎 **/
.detail_cont.longstem {
    width: 100%;
    max-width: 950px;
    margin: 0 auto;
}
.detail_cont.longstem .type_box {
    width: 100%;
    max-width: 950px;
    margin: 60px auto 10px;
    background: #f2f4fa;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    flex-wrap: nowrap;
    padding: 20px 0 0;
}
/** 個別 増強 **/
.detail_cont.augmentation .type_box {
    background: #f2f4fa;
    text-align: center;
    padding: 80px 0;
}
.detail_cont.augmentation .type_box + p {
    padding-top: 15px;
}
.detail_cont.augmentation .step_box {
    margin-bottom: 60px;
}
/** 個別 早漏 **/
.detail_cont.earlyleakage {
    width: 100%;
    max-width: 950px;
    margin: 0 auto;
}
.detail_cont.earlyleakage .page_table {
    margin: 40px 0;
}
.detail_cont.earlyleakage  .page_table table {
    border: 1px solid #ccc;
	width: 100%;
}
.detail_cont.earlyleakage  .page_table thead th {
    background: #0D5284;
    color: #fff;
    padding: 18px;
}
.detail_cont.earlyleakage  .page_table tbody th {
    width: 200px;
    text-align: left;
    vertical-align: top;
    padding: 15px 20px;
    background: #e7e9f3;
    border: 1px solid #ccc;
	line-height: 1.5;
}
.detail_cont.earlyleakage  .page_table tbody td {
    text-align: left;
    vertical-align: top;
    padding: 15px 20px;
    border: 1px solid #ccc;
	line-height: 1.5;
}
/** 個別 亀頭 **/
.detail_cont.glansbumps .type_box {
    background: #f2f4fa;
    text-align: center;
    padding: 80px 0;
}
.detail_cont.glansbumps .type_box + p {
    padding-top: 15px;
}
.detail_cont.glansbumps a.btn {
    width: 100%;
    max-width: 440px;
    padding: 20px;
    font-size: 20px;
    height: 80px;
    line-height: 1.4;
    margin: 30px auto;
}
/** 個別 シリコン **/
.detail_cont.siliconball .type_box {
    background: #f2f4fa;
    text-align: center;
    padding: 80px 0;
}
.detail_cont.siliconball .type_box + p {
    padding-top: 15px;
}
/** 個別 ed **/
.detail_cont.ed {
    width: 100%;
    max-width: 950px;
    margin: 0 auto;
}
.detail_cont.ed .step_box {
    margin: 30px 0 60px;
    padding-bottom: 60px;
    border-bottom: 1px solid #eee;
}
.detail_cont.ed h2 + p{
    margin: 40px 0 0;
}
.detail_cont.ed .page_table {
    margin: 40px 0;
}
.detail_cont.ed  .page_table table {
    width: 100%;
	border: 1px solid #ccc;
}
.detail_cont.ed  .page_table thead th {
    background: #0D5284;
    color: #fff;
    padding: 10px;
    vertical-align: middle;
    line-height: 1.4;
    text-align: left;
	margin: 0 auto;
	border: 1px solid #ccc;
}
.detail_cont.ed  .page_table tbody th {
    width: 200px;
    text-align: center;
    vertical-align: top;
    padding: 15px 20px;
    background: #e7e9f3;
    line-height: 1.5;
	border: 1px solid #ccc;
}
.detail_cont.ed  .page_table tbody td {
    text-align: left;
    vertical-align: top;
    padding: 15px 20px;
	line-height: 1.5;
	border: 1px solid #ccc;
}
.detail_cont.ed a.btn {
    width: 100%;
    max-width: 440px;
    padding: 20px;
    font-size: 20px;
    height: 80px;
    line-height: 1.4;
    margin: 30px auto;
}
/** 個別 オンライン **/
.detail_cont.online {
    width: 100%;
    max-width: 950px;
    margin: 0 auto;
}
.detail_cont.online a.btn {
    width: 100%;
    max-width: 440px;
    padding: 20px;
    font-size: 20px;
    height: 80px;
    line-height: 1.4;
    margin: 60px auto;
}
/** 個別 AGA **/
.detail_cont.aga {
    width: 100%;
    max-width: 950px;
    margin: 0 auto;
}
.detail_cont.aga .type_box {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 30px auto;
}
.detail_cont.aga > p {
    text-align: center;
    font-size: 20px;
    font-weight: 600;
}
.detail_cont.aga a.btn {
    width: 100%;
    max-width: 440px;
    padding: 20px;
    font-size: 20px;
    height: 80px;
    line-height: 1.4;
    margin: 30px auto;
}
@media screen and (min-width: 1025px) and (max-width: 1180px) {
    section#detail {
        max-width: 950px;
    }
}
@media screen and (min-width: 600px) and (max-width: 1024px) {
    section#detail {
        max-width: 92vw;
        margin: 0 auto;
    }
    .detail_cont h2 {
        font-size: 4.2vw;
        line-height: 1.4;
    }
    .detail_cont h3 {
        font-size: 3.6vw;
        padding: 8px 0;
        margin: 30px 0 20px;
        line-height: 1.4;
    }
    .detail_cont .step_box {
        flex-direction: column;
    }
    .detail_cont .step_box img {
        max-width: 100%;
    }
    .detail_cont .step_box div {
        width: 100%;
        padding: 10px 0 0;
        margin-left: 0;
    }
    .detail_cont .step_box a.btn {
        width: 100%;
        max-width: 60vw;
        padding: 0;
        font-size: 3vw;
        height: 50px;
        margin: 20px auto 0;
    }
    /** 個別 包茎 **/
    .detail_cont.phimosis .type_box {
        flex-wrap: wrap;
        margin: 20px 0 0;
    }
    .detail_cont.phimosis .type_box > div {
        margin-bottom: 30px;
    }
    .detail_cont.phimosis .type_box img {
        width: 92vw;
        margin-bottom: 14px;
    }
    .detail_cont.phimosis .type_box a.btn {
        width: 60vw;
        font-size: 3vw;
    }
    .detail_cont.phimosis .check_box {
        flex-wrap: wrap;
        padding: 30px 0;
        margin-bottom: 30px;
    }
    .detail_cont.phimosis .check_box > div {
        position: relative;
        width: 100%;
        max-width: 100vw;
    }
    .detail_cont.phimosis .check_box > div + div {
        margin-top: 30px;
        padding-top: 30px;
    }
    .detail_cont.phimosis .check_box > div + div:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: 92vw;
        height: 1px;
        border-top: 1px solid #ccc;
    }
    .detail_cont.phimosis .check_box p {
        padding-bottom: 10px;
        font-size: 3.6vw;
    }
    .detail_cont.phimosis .check_box a.btn {
        max-width: 60vw;
        padding: 0;
        font-size: 3vw;
        height: 80px;
    }
    /** 個別 長茎 **/
    .detail_cont.longstem {
        max-width: 92vw;
    }
    .detail_cont.longstem .type_box {
        max-width: 92vw;
        margin: 30px auto 10px;
    }
    .detail_cont.longstem .type_box img {
        width: 84%;
    }
    /** 個別 増強 **/
    .detail_cont.augmentation .type_box {
        padding: 40px 0;
    }
    .detail_cont.augmentation .type_box img {
        width: 90%;
    }
    .detail_cont.augmentation .type_box + p {
        padding-top: 10px;
    }
    .detail_cont.augmentation .step_box {
        margin-bottom: 30px;
    }
    /** 個別 早漏 **/
    .detail_cont.earlyleakage {
        max-width: 92vw;
    }
    .detail_cont.earlyleakage .page_table {
        margin: 20px 0;
    }
    .detail_cont.earlyleakage .page_table table {
        width: 90vw;
    }
    .detail_cont.earlyleakage .page_table thead th {
        padding: 12px;
        font-size: 3vw;
        font-weight: normal;
    }
    .detail_cont.earlyleakage .page_table tbody th {
        width: 30vw;
        padding: 10px 10px;
        font-size: 3vw;
    }
    .detail_cont.earlyleakage .page_table tbody td {
        padding: 10px 10px;
        font-size: 3vw;
    }
    /** 個別 亀頭 **/
    .detail_cont.glansbumps .type_box {
        padding: 40px 0;
    }
    .detail_cont.glansbumps .type_box img {
        width: 90%;
    }
    .detail_cont.glansbumps .type_box + p {
        padding-top: 10px;
    }
    .detail_cont.glansbumps a.btn {
        width: 100%;
        max-width: 70vw;
        padding: 0;
        font-size: 3vw;
        height: 50px;
        margin: 20px auto 0;
    }
    /** 個別 シリコン **/
    .detail_cont.siliconball .type_box {
        padding: 40px 0;
    }
    .detail_cont.siliconball .type_box img {
        width: 90%;
    }
    .detail_cont.siliconball .type_box + p {
        padding-top: 10px;
    }
    /** 個別 ed **/
    .detail_cont.ed {
        max-width: 92vw;
    }
    .detail_cont.ed .step_box {
        margin: 20px 0 30px;
        padding-bottom: 30px;
    }
    .detail_cont.ed h2 + p{
        margin: 15px 0 0;
    }
    .detail_cont.ed .page_table {
        margin: 40px 0;
        overflow: scroll;
    }
    .detail_cont.ed .page_table table {
        width: 140vw;
    }
    .detail_cont.ed  .page_table thead th {
        padding: 12px;
        font-size: 16px;
    }
    .detail_cont.ed  .page_table tbody th {
        width: 25vw;
        padding: 10px 10px;
        font-size: 16px;
    }
    .detail_cont.ed  .page_table tbody td {
        padding: 10px 10px;
        font-size: 16px;
        line-height: 1.5;
    }
    .detail_cont.ed a.btn {
        width: 100%;
        max-width: 70vw;
        padding: 0;
        font-size: 16px;
        height: 50px;
        margin: 20px auto 0;
    }
    /** 個別 オンライン **/
    .detail_cont.online {
        max-width: 92vw;
    }
    .detail_cont.online a.btn {
        width: 100%;
        max-width: 70vw;
        padding: 0;
        font-size: 3vw;
        height: 50px;
        margin: 30px auto;
    }
    /** 個別 AGA **/
    .detail_cont.aga {
        max-width: 92vw;
    }
    .detail_cont.aga .type_box {
        justify-content: space-evenly;
        flex-wrap: wrap;
        margin: 20px auto;
    }
    .detail_cont.aga .type_box div {
        width: 43vw;
        margin-bottom: 20px;
    }
    .detail_cont.aga .type_box img {
        width: 100%;
    }
    .detail_cont.aga > p {
        font-size: 4vw;
    }
    .detail_cont.aga a.btn {
        width: 100%;
        max-width: 70vw;
        padding: 0;
        font-size: 3vw;
        height: 50px;
        margin: 10px auto 30px;
    }
}
@media screen and (max-width: 768px) {
    section#detail {
        max-width: 92vw;
        margin: 0 auto;
    }
    .detail_cont h2 {
        font-size: 4.2vw;
        line-height: 1.4;
    }
    .detail_cont h3 {
        font-size: 4.2vw;
        padding: 8px 0;
        margin: 30px 0 20px;
        line-height: 1.4;
    }
    .detail_cont .step_box {
        flex-direction: column;
    }
    .detail_cont .step_box img {
        max-width: 100%;
    }
    .detail_cont .step_box div {
        width: 100%;
        padding: 10px 0 0;
        margin-left: 0;
    }
    .detail_cont .step_box a.btn {
        width: 100%;
        max-width: 80vw;
        padding: 0;
        font-size: 4vw;
        height: 50px;
        margin: 20px auto 0;
    }
    /** 個別 包茎 **/
    .detail_cont.phimosis .type_box {
        flex-wrap: wrap;
        margin: 20px 0 0;
    }
    .detail_cont.phimosis .type_box > div {
        margin-bottom: 30px;
    }
    .detail_cont.phimosis .type_box img {
        width: 100%;
        margin-bottom: 14px;
    }
    .detail_cont.phimosis .type_box a.btn {
        width: 60vw;
        font-size: 4vw;
    }
    .detail_cont.phimosis .check_box {
        flex-wrap: wrap;
        padding: 30px 0;
        margin-bottom: 30px;
    }
    .detail_cont.phimosis .check_box > div {
        position: relative;
        width: 100%;
        max-width: 100vw;
    }
    .detail_cont.phimosis .check_box > div + div {
        margin-top: 30px;
        padding-top: 30px;
    }
    .detail_cont.phimosis .check_box > div + div:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: 92vw;
        height: 1px;
        border-top: 1px solid #ccc;
    }
    .detail_cont.phimosis .check_box p {
        padding-bottom: 10px;
        font-size: 3.6vw;
    }
    .detail_cont.phimosis .check_box a.btn {
        max-width: 60vw;
        padding: 0;
        font-size: 4vw;
        height: 50px;
    }
    /** 個別 長茎 **/
    .detail_cont.longstem {
        max-width: 92vw;
    }
    .detail_cont.longstem .type_box {
        max-width: 92vw;
        margin: 30px auto 10px;
    }
    .detail_cont.longstem .type_box img {
        width: 84%;
    }
    .detail_cont.longstem .step_box {
        flex-direction: column;
    }
    .detail_cont.longstem .step_box img {
        max-width: 100%;
    }
    .detail_cont.longstem .step_box div {
        width: 100%;
        padding: 10px 0 0;
        margin-left: 0;
    }
    .detail_cont.longstem .step_box a.btn {
        width: 100%;
        max-width: 60vw;
        padding: 0;
        font-size: 3vw;
        height: 50px;
        margin: 20px auto 0;
    }
    /** 個別 増強 **/
    .detail_cont.augmentation .type_box {
        padding: 40px 0;
    }
    .detail_cont.augmentation .type_box img {
        width: 90%;
    }
    .detail_cont.augmentation .type_box + p {
        padding-top: 10px;
    }
    .detail_cont.augmentation .step_box {
        margin-bottom: 30px;
    }
    /** 個別 早漏 **/
    .detail_cont.earlyleakage {
        max-width: 92vw;
    }
    .detail_cont.earlyleakage .page_table {
        margin: 20px 0;
    }
    .detail_cont.earlyleakage .page_table table {
        width: 90vw;
    }
    .detail_cont.earlyleakage .page_table thead th {
        padding: 12px;
        font-size: 3.8vw;
        font-weight: normal;
    }
    .detail_cont.earlyleakage .page_table tbody th {
        width: 30vw;
        padding: 10px 10px;
        font-size: 3.8vw;
    }
    .detail_cont.earlyleakage .page_table tbody td {
        padding: 10px 10px;
        font-size: 3.8vw;
    }

	
    /** 個別 亀頭 **/
    .detail_cont.glansbumps .type_box {
        padding: 40px 0;
    }
    .detail_cont.glansbumps .type_box img {
        width: 90%;
    }
    .detail_cont.glansbumps .type_box + p {
        padding-top: 10px;
    }
    .detail_cont.glansbumps a.btn {
        width: 100%;
        max-width: 90vw;
        padding: 0;
        font-size: 4vw;
        height: 50px;
        margin: 20px auto 0;
    }
    /** 個別 シリコン **/
    .detail_cont.siliconball .type_box {
        padding: 40px 0;
    }
    .detail_cont.siliconball .type_box img {
        width: 90%;
    }
    .detail_cont.siliconball .type_box + p {
        padding-top: 10px;
    }
    /** 個別 ed **/
    .detail_cont.ed {
        max-width: 92vw;
    }
    .detail_cont.ed .step_box {
        margin: 20px 0 30px;
        padding-bottom: 30px;
    }
.step_box p {/*---20250711追加--------------*/
text-align: justify;
}	

    .detail_cont.ed h2 + p{
        margin: 15px 0 0;
    }
    .detail_cont.ed .page_table {
        margin: 40px 0;
        overflow: scroll;
    }
    .detail_cont.ed .page_table table {
        width: 160vw;
    }
    .detail_cont.ed  .page_table thead th {
        padding: 12px;
        font-size: 3.8vw;
    }
    .detail_cont.ed  .page_table tbody th {
        width: 30vw;
        padding: 10px 10px;
        font-size: 3.8vw;
    }
    .detail_cont.ed  .page_table tbody td {
        padding: 10px 10px;
        font-size: 3.8vw;
        line-height: 1.5;
    }
    .detail_cont.ed a.btn {
        width: 100%;
        max-width: 70vw;
        padding: 0;
        font-size: 3.8vw;
        height: 50px;
        margin: 20px auto 0;
    }
    /** 個別 オンライン **/
    .detail_cont.online {
        max-width: 92vw;
    }
    .detail_cont.online a.btn {
        width: 100%;
        max-width: 70vw;
        padding: 0;
        font-size: 3vw;
        height: 50px;
        margin: 30px auto;
    }
    /** 個別 オンライン **/
    .detail_cont.online {
        max-width: 92vw;
    }
    .detail_cont.online a.btn {
        width: 100%;
        max-width: 85vw;
        padding: 0;
        font-size: 4vw;
        height: 50px;
        margin: 30px auto;
    }
    /** 個別 AGA **/
    .detail_cont.aga {
        max-width: 92vw;
    }
    .detail_cont.aga .type_box {
        justify-content: space-evenly;
        flex-wrap: wrap;
        margin: 20px auto;
    }
    .detail_cont.aga .type_box div {
        width: 43vw;
        margin-bottom: 20px;
    }
    .detail_cont.aga .type_box img {
        width: 100%;
    }
    .detail_cont.aga > p {
        font-size: 4vw;
    }
    .detail_cont.aga a.btn {
        width: 100%;
        max-width: 70vw;
        padding: 0;
        font-size: 4vw;
        height: 50px;
        margin: 10px auto 30px;
    }
}


/* ================================================ */
/* === price ====================================== */
/* ================================================ */
section#price {
    width: 100%;
    max-width: 1200px;
    margin: 60px auto;
    background: #e7e9f3;
}
.price_cont {
    width: 100%;
    max-width: 950px;
    margin: 0 auto;
    padding: 60px 0;
}
.price_cont h2 {
    font-size: 30px;
    text-align: center;
    color: #333;
    line-height: 1.4;
    margin-bottom: 30px;
}
p.price_tbl_ttl {
    position: relative;
    font-size: 20px;
    font-weight: 600;
    color: #123b86;
    padding-bottom: 15px;
    width: 100%;
}
p.price_tbl_ttl:before {
    content: "■";
    padding-right: 5px;
}
.price_cont .price_table {
    margin: 30px 0;
}
.price_cont dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin: 0;
    border-bottom: 1px solid #0D5284;
}
.price_cont dt, .price_cont dd {
    padding: 20px;
    color: #0D5284;
    font-size: 20px;
    font-weight: 600;
    flex-grow: 1;
}
.price_cont dd {
    text-align: right;
}
.price_cont dd span {
    font-size: 16px;
}

p.caution_text {
    font-size: 14px;
}
.caution_text {
	padding: 0rem 0rem 0rem 0rem;
	margin: 0.5rem 0rem 0rem 0rem;
}
.caution_text li{
    font-size: 12px;
	list-style: none;
	padding: 0rem 1rem 0rem 1rem;
	margin: 0rem 0rem 0.25rem 0.5rem;
	text-align: justify;
	text-indent: -0.8rem;
	line-height: 1.1rem;
}

.payment_cont {
    background: #fff;
    padding: 40px;
    margin: 20px 0 10px;
}
.payment_cont h3 {
    font-size: 2rem;
    color: #0D5284;
    border-bottom: 1px solid #0D5284;
    padding-bottom: 20px;
    margin-bottom: 100px;
text-align: center;
	margin: 3rem 0 2rem 0;
}
.payment_cont p  {
text-align: center;
line-height: 1.4;
	margin: 1rem 0 0 0;	
}
.payment_cont p span {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    background: linear-gradient(transparent 80%, #ffe63e 80%);
}

.center-img {
    width: 100%;
    max-width: 492px;
    margin: 2rem auto  1rem auto;
}
.center-img img {
    max-width: 492px;
}

/* AGA */
.price_cont .price_table.aga dt, .price_cont .price_table.aga dd {
    line-height: 1.4;
}
.price_table.aga p.price_tbl_ttl {
    padding: 20px 0 0px;
}
.price_cont dd span.underline {
    font-size: 20px;
    background: linear-gradient(transparent 20%, #ffe63e 20%);
}
.price_table.aga p.caution_text {
    font-size: 14px;
    font-weight: 600;
    color: #123b86;
    padding: 10px 20px;
}
@media screen and (min-width: 1025px) and (max-width: 1180px) {
    section#price {
        max-width: 1180px;
    }
}
@media screen and (min-width: 600px) and (max-width: 1024px) {
    section#price {
        max-width: 100vw;
        margin: 30px auto;
    }
    .price_cont {
        max-width: 92vw;
        padding: 30px 0;
    }
    .price_cont h2 {
        font-size: 4.2vw;
        line-height: 1.4;
        margin-bottom: 20px;
    }
    .price_cont p {
        font-size: 3.2vw;
    }
    .price_cont .price_table {
        margin: 30px 0;
    }
    .price_cont dl {
        margin: 0;
    }
    .price_cont dt, .price_cont dd {
        padding: 16px 8px;
        font-size: 3.4vw;
    }
    .price_cont dt:first-of-type, .price_cont dd:first-of-type {
        border-top: none;
    }
    .price_cont dt {
/*        width: 40%;*/
    }
    .price_cont dd {
/*        width: 60%;*/
        text-align: right;
    }
    .price_cont dd span {
        font-size: 2.8vw;
    }
    p.caution_text {
        font-size: 2.6vw;
        line-height: 1.5;
    }
    .payment_cont {
        background: #fff;
        margin: 20px 0;
        padding: 20px 25px;
    }
    .payment_cont h3 {
        font-size: 3.6vw;
        padding-bottom: 10px;
        margin-bottom: 10px;
    }
	
.payment_cont p  {
text-align: left;
text-align: justify;	
line-height: 1.4;
}	
    .payment_cont p span {
        font-size: 4vw;

    }
    .payment_cont img {
        max-width: 75vw;
        margin: 15px 0 0;
    }
    /* AGA */
    .price_cont .price_table.aga dl {
        align-items: flex-end;
    }
    .price_cont .price_table.aga dt, .price_cont .price_table.aga dd {
        line-height: 1.4;
    }
    .price_table.aga p.price_tbl_ttl {
        padding: 20px 0 0px;
    }
    .price_cont dd span.underline {
        font-size: 3.4vw;
        background: linear-gradient(transparent 20%, #ffe63e 20%);
    }
    .price_table.aga p.caution_text {
        font-size: 3vw;
        font-weight: 600;
        color: #123b86;
        padding: 10px 0;
    }
}
@media screen and (max-width: 768px) {
    section#price {
        max-width: 100vw;
        margin: 30px auto;
    }
    .price_cont {
        max-width: 92vw;
        padding: 30px 0;
    }
    .price_cont h2 {
        font-size: 4.2vw;
        line-height: 1.4;
        margin-bottom: 20px;
    }
    .price_cont p {
        font-size: 4vw;
    }
    p.price_tbl_ttl {
        padding-bottom: 10px;
        font-size: 4vw;
    }
    .price_cont .price_table {
        margin: 20px 0;
    }
    .price_cont dl {
        margin: 0;
    }
    .price_cont dt, .price_cont dd {
        padding: 16px 8px;
        font-size: 4vw;
    }
    .price_cont dt:first-of-type, .price_cont dd:first-of-type {
        border-top: none;
    }
    .price_cont dt {
/*        width: 40%;*/
    }
    .price_cont dd {
/*        width: 60%;*/
        text-align: right;
    }
    .price_cont dd span {
        font-size: 2.8vw;
    }
    p.caution_text {
        font-size: 3.2vw;
        line-height: 1.5;
    }
    .payment_cont {
        background: #fff;
        margin: 20px 0;
        padding: 20px 25px;
    }
    .payment_cont h3 {
        font-size:6.5vw;
        padding-bottom: 10px;
        margin-bottom: 30px;
        margin-bottom: 10px;
    }
	
.payment_cont p  {
text-align: left;
text-align: justify;	
line-height: 1.4;
font-size: 1rem;	
}   
	.payment_cont p span {
        font-size: 4vw;
		        text-align: left;
    }
    .payment_cont img {
        max-width: 75vw;
        margin: 15px 0 0;
    }
    /* AGA */
    .price_cont .price_table.aga dl {
        align-items: flex-end;
    }
    .price_cont .price_table.aga dt, .price_cont .price_table.aga dd {
        line-height: 1.4;
    }
    .price_table.aga p.price_tbl_ttl {
        padding: 20px 0 0px;
    }
    .price_cont dd span.underline {
        font-size: 3.4vw;
        background: linear-gradient(transparent 20%, #ffe63e 20%);
    }
    .price_table.aga p.caution_text {
        font-size: 3vw;
        font-weight: 600;
        color: #123b86;
        padding: 10px 0;
    }
}


/* ================================================ */
/* === explanation ================================ */
/* ================================================ */
section#explanation {
    width: 100%;
    max-width: 1200px;
    margin: 60px auto;
    background: #e7e9f3;
}
.explanation_cont {
    width: 100%;
    max-width: 950px;
    margin: 0 auto;
    padding: 60px 0 20px;
}
.explanation_cont h2 {
    font-size: 30px;
    text-align: center;
    color: #333;
    line-height: 1.4;
    margin-bottom: 30px;
}
.explanation_cont h3 {
    font-size: 24px;
    color: #0D5284;
    border-top: 1px solid #0D5284;
    border-bottom: 1px solid #0D5284;
    padding: 20px 0;
    margin: 60px 0 30px;
    text-align: center;
}
p.explanation_blk_ttl {
    position: relative;
    font-size: 20px;
    font-weight: 600;
    color: #123b86;
    padding-bottom: 0.5rem;
}
p.explanation_blk_ttl:before {
    content: "■";
    padding-right: 5px;
}
.doctor_comment {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
}
.doctor_comment img {
    width: 100%;
    max-width: 360px;
}
.doctor_comment p {
    padding-left: 20px;
}
.explanation_icon {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-evenly;
    margin-bottom: 30px;
}
.explanation_icon img {
    box-shadow: 0px 0px 10px 1px rgb(0 0 0 / 10%);
}
.explanation_relief {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-evenly;
    margin: 30px 0;
}
.explanation_blk_flex {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
}
.explanation_blk_flex + .explanation_blk_flex {
    margin-top: 20px;
}
.explanation_blk_flex p {
    padding-right: 50px;
}
.explanation_blk_flex > div {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
}
.explanation_blk_flex > div img {
    position: relative;
    bottom: 34px;
}
/* 増大 */
.explanation_blk_flex.augmentation > div img {
    bottom: 0;
    width: 100%;
    max-width: 450px;
}
.explanation_blk_flex.augmentation p {
    padding-left: 40px;
    padding-right: 0;
}
/* 早漏 */
p.explanation_blk_ttl.earlyleakage {
    padding: 40px 0 10px;
}
.explanation_earlyleakage_blk {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 20px 0 0;
}
.explanation_earlyleakage_blk + .explanation_earlyleakage_blk {
    margin: 40px 0 0;
}
.explanation_earlyleakage_blk img {
    width: 100%;
    max-width: 220px;
}
.explanation_earlyleakage_blk p {
    padding-left: 40px;
}
.explanation_care {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-evenly;
    margin: 30px 0;
}
.explanation_btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    margin: 30px auto;
    width: 100%;
    max-width: 860px;
}
.explanation_btn a.btn {
    width: 100%;
    max-width: 400px;
    height: 80px;
    font-size: 20px;
    margin: 0 0 20px;
}
.explanation_btn a.btn:nth-child(even) {
    margin-left: 40px;
}
/* AGA */
.explanation_cont.aga {
    padding: 40px 0;
}
.explanation_cont.aga .page_table {
    margin: 40px 0 10px;
}
.explanation_cont.aga .page_table table {
    width: 100%;
}
.explanation_cont.aga .page_table thead th {
    background: #0D5284;
    color: #fff;
    padding: 18px;
    vertical-align: middle;
    line-height: 1.4;
    text-align: left;
}
.explanation_cont.aga .page_table tbody th {
    width: 200px;
    text-align: center;
    vertical-align: middle;
    padding: 15px 20px;
    background: #d8dcf0;
    border-bottom: 1px solid #0D5284;
    line-height: 1.5;
    color: #0D5284;
    font-size: 24px;
}
.explanation_cont.aga .page_table tbody td {
    text-align: left;
    vertical-align: top;
    padding: 15px 20px;
    border-bottom: 1px solid #0D5284;
    line-height: 1.5;
    background: #fff;
}
.explanation_cont.aga .page_table tbody  td:last-child {
    border-left: 1px solid #0D5284;
}
.explanation_cont.aga p.explanation_caution {
    font-size: 12px;
}
.explanation_column1_blk div {
    text-align: center;
    padding: 20px 0;
    background: #fff;
}
.explanation_column1_blk div.black {
    background: #000;
}
.explanation_blk_flex.aga_left > div img {
    bottom: 0;
}
.explanation_blk_flex.aga_left p {
    padding-right: 0;
    padding-left: 50px;
}
.explanation_blk_flex.aga_right > div img {
    bottom: 0;
}
.explanation_blk_flex.aga_right p {
    padding-right: 50px;
    padding-left: 0;
}
p.addition_text {
    padding: 10px 0;
}
.explanation_blk_detail {
    border: 1px solid #0D5284;
    background: #fff;
    margin: 20px 0;
    padding: 20px;
}

@media screen and (min-width: 1025px) and (max-width: 1180px) {
    section#explanation {
        max-width: 1180px;
    }
}
@media screen and (min-width: 600px) and (max-width: 1024px) {
    section#explanation {
        max-width: 100vw;
        margin: 30px auto;
    }
    .explanation_cont {
        max-width: 92vw;
        padding: 30px 0 10px;
    }
    .explanation_cont h2 {
        font-size: 4.2vw;
        line-height: 1.4;
        margin-bottom: 20px;
    }
    .explanation_cont h3 {
        font-size: 3.6vw;
        padding: 8px 0;
        margin: 30px 0 20px;
    }
    p.explanation_blk_ttl {
        font-size: 3.6vw;
        padding-bottom: 6px;
    }
    .explanation_blk p {
        font-size: 3.2vw;
        line-height: 1.5;
    }
    .doctor_comment {
        flex-direction: column;
    }
    .doctor_comment img {
        max-width: 100%;
    }
    .doctor_comment p {
        padding: 5px 0;
        font-size: 3.2vw;
        line-height: 1.5;
    }
    .explanation_icon {
        flex-wrap: wrap;
        justify-content: space-evenly;
        margin-bottom: 0;
    }
    .explanation_icon img {
        width: 32vw;
        box-shadow: 0px 0px 10px 1px rgb(0 0 0 / 10%);
        margin-bottom: 20px;
    }
    .explanation_relief {
        flex-wrap: wrap;
        justify-content: flex-start;
        margin: 20px 0 0;
    }
    .explanation_relief img {
        width: 43vw;
    }
    .explanation_relief img:nth-child(even) {
        margin-left: 6vw;
    }
    .explanation_relief img:not(:last-child) {
        margin-bottom: 20px;
    }
    .explanation_blk_flex {
        display: flex;
        flex-wrap: nowrap;
        align-items: flex-start;
        justify-content: space-between;
    }
    .explanation_blk_flex + .explanation_blk_flex {
        margin-top: 20px;
    }
    .explanation_blk_flex p {
        padding-right: 0;
        font-size: 3.2vw;
        line-height: 1.5;
    }
    .explanation_blk_flex p.explanation_blk_ttl {
        font-size: 3.6vw;
        padding-bottom: 6px;
    }
    .explanation_blk_flex > div {
        display: block;
    }
    .explanation_blk_flex > div img {
        float: right;
        width: 40vw;
        bottom: 0;
        margin-left: 5px;
    }
    /* 増大 */
    .explanation_blk_flex.augmentation > div img {
        max-width: 100%;
        margin: 0;
    }
    .explanation_blk_flex.augmentation p {
        padding-left: 0;
        padding-right: 0;
    }
    /* 早漏 */
    p.explanation_blk_ttl.earlyleakage {
        padding: 20px 0 10px;
    }
    .explanation_earlyleakage_blk {
        margin: 10px 0 0;
    }
    .explanation_earlyleakage_blk + .explanation_earlyleakage_blk {
        margin: 10px 0 0;
    }
    .explanation_earlyleakage_blk img {
        max-width: 30vw;
    }
    .explanation_earlyleakage_blk p {
        padding-left: 10px;
    }
    .explanation_care {
        flex-wrap: wrap;
        justify-content: flex-start;
        margin: 20px 0 0;
    }
    .explanation_care img {
        width: 43vw;
    }
    .explanation_care img:nth-child(even) {
        margin-left: 6vw;
    }
    .explanation_care img:not(:last-child) {
        margin-bottom: 20px;
    }
    .explanation_btn {
        margin: 20px 0 0;
    }
    .explanation_btn a.btn {
        max-width: 42vw;
        height: auto;
        font-size: 3vw;
        margin-bottom: 16px;
        padding: 16px 0;
    }
    /* AGA */
    .explanation_cont.aga {
        padding: 40px 0;
    }
    .explanation_cont.aga .page_table {
        margin: 20px 0;
        overflow: scroll;
    }
    .explanation_cont.aga .page_table table {
        width: 140vw;
    }
    .explanation_cont.aga .page_table thead th {
        padding: 12px;
        font-size: 3.4vw;
        font-weight: 500;
    }
    .explanation_cont.aga .page_table tbody th {
        width: 30vw;
        padding: 10px 10px;
        font-size: 4vw;
    }
    .explanation_cont.aga .page_table tbody td {
        padding: 8px 8px;
        font-size: 3.6vw;
        line-height: 1.5;
    }
    .explanation_cont.aga .page_table tbody  td:last-child {
        border-left: 1px solid #0D5284;
    }
    .explanation_cont.aga p.explanation_caution {
        font-size: 3vw;
    }
    .explanation_column1_blk div {
        text-align: center;
        padding: 20px 0;
        background: #fff;
    }
    .explanation_column1_blk div img {
        width: 100%;
    }
    .explanation_column1_blk div.black {
        background: #000;
    }
    .explanation_blk_flex.aga_left div img, .explanation_blk_flex.aga_right div img {
        float: none;
        width: 100%;
    }
    .explanation_blk_flex.aga_left p {
        padding-right: 0;
        padding-left: 0;
    }
    .explanation_blk_flex.aga_right p {
        padding-right: 0;
        padding-left: 0;
    }
    p.addition_text {
        padding: 10px 0;
        font-size: 3vw;
    }
    .explanation_blk_detail {
        margin: 10px 0;
        padding: 10px 20px;
    }
    .explanation_blk_detail p {
        font-size: 3vw;
    }
}
@media screen and (max-width: 768px) {
    section#explanation {
        max-width: 100vw;
        margin: 30px auto;
    }
    .explanation_cont {
        max-width: 92vw;
        padding: 30px 0 10px;
    }
    .explanation_cont h2 {
        font-size: 4.2vw;
        line-height: 1.4;
        margin-bottom: 20px;
		text-align: left;
		text-align: justify;
		padding:0 10px;
    }
    .explanation_cont h3 {
        font-size: 4.2vw;
        padding: 8px 0;
        margin: 30px 0 20px;
    }
    p.explanation_blk_ttl {
        font-size: 3.6vw;
        padding-bottom: 6px;
    }
    .explanation_blk p {
        padding: 0.5rem 1rem;
        font-size: 1rem;
        line-height: 1.5rem;
        text-align: justify;
    }
    .doctor_comment {
        flex-direction: column;
    }
    .doctor_comment img {
        max-width: 100%;
    }
    .doctor_comment p {
        padding: 0.5rem 1rem;
        font-size: 1rem;
        line-height: 1.5rem;
		text-align: justify;
    }
    .explanation_icon {
        flex-wrap: wrap;
        justify-content: space-evenly;
        margin-bottom: 0;
    }
    .explanation_icon img {
        width: 32vw;
        box-shadow: 0px 0px 10px 1px rgb(0 0 0 / 10%);
        margin-bottom: 20px;
    }
    .explanation_relief {
        flex-wrap: wrap;
        justify-content: flex-start;
        margin: 20px 0 0;
    }
    .explanation_relief img {
        width: 40%;
		margin: 0 auto;
    }
    .explanation_relief img:nth-child(even) {
        margin-left: 6vw;
    }
    .explanation_relief img:not(:last-child) {
        margin-bottom: 20px;
    }
    .explanation_blk_flex {
        display: flex;
        flex-wrap: nowrap;
        align-items: flex-start;
        justify-content: space-between;
    }
    .explanation_blk_flex + .explanation_blk_flex {
        margin-top: 20px;
    }
    .explanation_blk_flex p {
        padding: 0rem 1rem;
        font-size: 1rem;
        line-height: 1.5rem;
	text-align: justify;
    }
    .explanation_blk_flex p.explanation_blk_ttl {
        font-size: 3.6vw;
        padding-bottom: 6px;
    }
    .explanation_blk_flex > div {
        display: block;
    }
    .explanation_blk_flex > div img {
        position: relative;
        bottom: 34px;
    }
    /* 増大 */
    .explanation_blk_flex.augmentation > div img {
        max-width: 100%;
        margin: 0;
    }
    .explanation_blk_flex.augmentation p {
        padding-left: 0;
        padding-right: 0;
    }
    /* 早漏 */
    p.explanation_blk_ttl.earlyleakage {
        padding: 20px 0 10px;
    }
    .explanation_earlyleakage_blk {
        margin: 10px 0 0;
    }
    .explanation_earlyleakage_blk + .explanation_earlyleakage_blk {
        margin: 10px 0 0;
    }
    .explanation_earlyleakage_blk img {
        max-width: 30vw;
    }
    .explanation_earlyleakage_blk p {
        padding-left: 10px;
    }
    .explanation_blk_flex > div img {
        float: right;
        width: 30vw;
        bottom: 0;
        margin-left: 5px;
		padding: 1rem 1rem 0rem 1rem;
    }
    .explanation_care {
        flex-wrap: wrap;
        justify-content: flex-start;
        margin: 20px 0 0;
    }
    .explanation_care img {
        width: 40vw;
		margin: 0 auto;
    }
    .explanation_care img:nth-child(even) {
        margin-left: 6vw;
    }
    .explanation_care img:not(:last-child) {
        margin-bottom: 20px;
    }
    .explanation_btn {
        margin: 20px auto 0 auto;
		width: 90%;
    }
    .explanation_btn a.btn {
        max-width: 100%;
        height: auto;
        font-size: 4.2vw;
        margin-bottom: 16px;
        padding: 16px 0;
    }
    .explanation_btn a.btn:nth-child(even) {
        margin-left: 0;
    }
    /* AGA */
    .explanation_cont.aga {
        padding: 40px 0;
    }
    .explanation_cont.aga .page_table {
        margin: 20px 0;
        overflow: scroll;
    }
    .explanation_cont.aga .page_table table {
        width: 140vw;
    }
    .explanation_cont.aga .page_table thead th {
        padding: 12px;
        font-size: 3.8vw;
        font-weight: 500;
    }
    .explanation_cont.aga .page_table tbody th {
        width: 30vw;
        padding: 10px 10px;
        font-size: 4vw;
    }
    .explanation_cont.aga .page_table tbody td {
        padding: 8px 8px;
        font-size: 3.8vw;
        line-height: 1.5;
    }
    .explanation_cont.aga .page_table tbody  td:last-child {
        border-left: 1px solid #0D5284;
    }
    .explanation_cont.aga p.explanation_caution {
        font-size: 12px;
    }
    .explanation_column1_blk div {
        text-align: center;
        padding: 20px 0;
        background: #fff;
    }
    .explanation_column1_blk div img {
        width: 100%;
    }
    .explanation_column1_blk div.black {
        background: #000;
    }
    .explanation_blk_flex.aga_left div img, .explanation_blk_flex.aga_right div img {
        float: none;
        width: 100%;
    }
    .explanation_blk_flex.aga_left p {
        padding-right: 0;
        padding-left: 0;
    }
    .explanation_blk_flex.aga_right p {
        padding-right: 0;
        padding-left: 0;
    }
    p.addition_text {
        padding: 10px 0;
    }
    .explanation_blk_detail {
        margin: 10px 0;
        padding: 10px 20px;
    }
}


/* ================================================ */
/* === flow ======================================= */
/* ================================================ */
section#flow {
    padding: 50px 0 60px;
    margin: 60px 0 0;
}
section#flow h3 {
    text-align: center;
    font-size: 30px;
    line-height: 46px;
}
.flow_box {
    width: 100%;
    max-width: 1200px;
    margin: 60px auto 40px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.flow_cont {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 620px;
}
.flow_block {
    display: flex;
    align-items: flex-start;
    margin-bottom: 40px;
}
.flow_block .number {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #0D5284;
    color: #fff;
    width: 40px;
    height: 40px;
    padding: 16px 16px;
    margin-right: 20px;
}
.flow_block .number p {
    font-size: 24px;
}
.flow_block .text p:first-child {
    font-size: 20px;
    font-weight: bold;
    color: #0D5284;
    padding: 8px 0;
}
.flow_img {
    position: relative;
    width: 580px;
}
.flow_img img {
    width: 38vw;
    max-width: 720px;
    min-width: 600px;
    position: absolute;
    top: 0;
    left: 0;
}
section#flow > p {
    text-align: center;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 20px;
}
.flow_cont > p {
    margin-bottom: 100px;
}
@media screen and (min-width: 1025px) and (max-width: 1180px) {
    .flow_img img {
        width: 38vw;
        max-width: 720px;
        min-width: 600px;
        position: absolute;
        top: 0;
        left: auto;
        right: 0;
    }
}
@media screen and (min-width: 600px) and (max-width: 1024px) {
    section#flow {
        padding: 30px 0 10px;
        margin: 20px 0 0;
    }
    section#flow h3 {
        text-align: center;
        font-size: 30px;
        line-height: 42px;
    }
    .flow_box {
        width: 100%;
        max-width: 100%;
        margin: 20px auto 0;
        flex-direction: column;
    }
    .flow_block {
        width: 92vw;
        margin: 0 auto 20px;
    }
    .flow_cont {
        width: 84vw;
        order: 2;
        margin: 20px auto 0;
    }
    .flow_block {
        width: 84vw;
        margin: 0 auto 24px;
    }
    .flow_block .number {
        width: 30px;
        height: 30px;
        padding: 13px 12px 11px;
        margin-right: 10px;
    }
    .flow_block .number p {
        font-size: 24px;
    }
    .flow_block .text p:first-child {
        font-size: 20px;
        padding: 0 0 10px;
    }
    .flow_block .text p:last-child {
        font-size: 16px;
        line-height: 1.6;
    }
    .flow_img {
        position: relative;
        width: 100%;
        order: 1;
    }
    .flow_box img {
        position: relative;
        width: 100vw;
        min-width: 100vw;
    }
    section#flow > p {
        font-size: 3.8vw;
        margin-bottom: 10px;
    }
    #flow a.btn.for_cont {
        width: 60vw;
        font-size: 3vw;
    }
    .flow_cont > p {
        margin: 0 auto 40px;
        width: 92vw;
    }
}
@media screen and (max-width: 768px) {
    section#flow {
        padding: 30px 0 10px;
        margin: 20px 0 0;
    }
    section#flow h3 {
        text-align: center;
        font-size: 5.5vw;
        line-height: 7vw;
    }
    .flow_box {
        width: 100%;
        max-width: 100%;
        margin: 20px auto 0;
        flex-direction: column;
    }
    .flow_block {
        width: 92vw;
        margin: 0 auto 20px;
    }
    .flow_cont {
        width: 100vw;
        order: 2;
        margin: 20px 0 0;
    }
    .flow_block {
        width: 92vw;
        margin: 0 auto 24px;
    }
    .flow_block .number {
        margin-right: 10px;
	width: 20px;
    height: 20px;
    padding: 14px 16px;
    }
    .flow_block .number p {
        font-size: 1.5rem;
		font-weight: 600;
		color: #fff;
    }
    .flow_block .text p:first-child {
        font-size: 4.2vw;
        padding: 0 0 10px;

    }
    .flow_block .text p:last-child {
        font-size: 1rem;
        line-height: 1.6rem;
		padding: 0 1rem 0 0rem;
    }
    .flow_img {
        position: relative;
        width: 100%;
        order: 1;
    }
    .flow_box img {
        position: relative;
        min-width: 100%;
		margin: 0 0;
    }
    section#flow > p {
        font-size: 3.8vw;
        margin-bottom: 10px;
    }
    #flow a.btn.for_cont {
        width: 60vw;
        font-size: 4vw;
    }
    .flow_cont > p {
        margin: 0 auto 40px;
        width: 92vw;
    }
}
/* === covid-19 ====================== */
#covid-19_text {
    width: 100%;
    max-width: 1200px;
    margin: 60px auto;
    text-align: center;
}
#covid-19_text h3 {
    position: relative;
    color: #dd0000;
    font-size: 20px;
    font-weight: normal;
    text-align: center;
    display: inline-block;
    margin-bottom: 20px;
    cursor: pointer;
}
#covid-19_text h3:after {
    position: absolute;
    top: 3px;
    bottom: 0px;
    right: -40px;
    margin: auto;
    content: "";
    vertical-align: middle;
    box-sizing: border-box;
    width: 7px;
    height: 8px;
    border: 7px solid transparent;
    border-top: 8px solid #dd0000;
}
#covid-19_text p {
    display: none;
    width: 900px;
    margin: 0 auto;
    line-height: 1.6;
    padding: 30px;
    background: #f5f5f5;
}
    #covid-19_text a {
        width: 90vw;
        padding: 10px;
        font-size: 1vw;
        line-height: 1.7;
        text-align: justify;
        font-feature-settings: "palt";
		color: #007AAD;
    }	
@media screen and (min-width: 600px) and (max-width: 1024px) {
    #covid-19_text {
        width: 90vw;
        margin: 40px auto;
        text-align: left;
    }
    #covid-19_text h3 {
        font-size: 18px;
        text-align: left;
        width: 90vw;
        margin-bottom: 10px;
    }
    #covid-19_text h3:after {
        right: 0;
    }
    #covid-19_text p {
        width: 90vw;
        padding: 20px;
        font-size: 14px;
    }
    #covid-19_text a {
        width: 90vw;
        padding: 10px;
        font-size: 3vw;
        line-height: 1.7;
        text-align: justify;
        font-feature-settings: "palt";
		color: #007AAD;
    }	
}
@media screen and (max-width: 768px) {
    #covid-19_text {
        width: 90vw;
        margin: 40px auto;
        text-align: left;
    }
    #covid-19_text h3 {
        font-size: 5vw;
        text-align: left;
        width: 90vw;
        margin-bottom: 10px;
    }
    #covid-19_text h3:after {
        right: 0;
    }
    #covid-19_text p {
        width: 90vw;
        padding: 10px;
        font-size: 4.2vw;
        line-height: 1.7;
        text-align: justify;
        font-feature-settings: "palt";
    }
    #covid-19_text a {
        width: 90vw;
        padding: 10px;
        font-size: 3vw;
        line-height: 1.7;
        text-align: justify;
        font-feature-settings: "palt";
		color: #007AAD;
    }	
}
.glansbumps h1{
	line-height: 110%;
}