
/*=========================
common
==========================*/
#contents .headLine01 {
    padding: 13px 0;
    font-size: 24px;
    line-height: 1.8;
}

@media screen and (max-width: 767px) {
    #contents .headLine01 {
        padding: 2.533vw 0;
        font-size: 3.467vw;
    }
}

.head_bk {
    padding: 13px 0;
    font-size: 24px;
    line-height: 1.8;
    background: #000;
    color: #FFF;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .head_bk {
        padding: 2.533vw 0;
        font-size: 3.467vw;
    }
}

p {
    font-size: 14px;
    line-height: 1.7;
}

.section_normal {
    margin-top: 57px;
}

.section_normal p {
    margin-top: 37px;
}

@media screen and (max-width: 767px) {
    .section_normal {
        margin-top: 7.6vw;
        padding: 0 7px;
    }
    .section_normal p {
        margin-top: 4.267vw;
    }
}

.btn_large a {
    display: block;
    width: 623px;
    margin: 0 auto;
    padding: 17px;
    font-size: 24px;
    font-weight: 600;
    text-align: center;
    background: #bba171;
    color: #FFF;
    border-radius: 9999px;
    text-decoration: none;
    border: 2px solid #bba171;
}

.btn_large.reverse a {
    background: #FFF;
    border: 2px solid #bba171;
    color: #bba171;
}

@media screen and (min-width: 768px){
    .btn_large {
        margin-top: 66px;
    }
    .btn_large a {
        transition: opacity 0.3s ease;
    }
    .btn_large a:hover {
        opacity: 0.5;
    }
}

@media screen and (max-width: 767px) {
    .btn_large {
        margin-top: 7.2vw;
    }
    .btn_large a {
        width: 83.067vw;
        padding: 2.267vw;
        font-size: 3.2vw;
    }
}

.table_notes {
    text-align: right;
    font-size: 15px;
}

.table_notes p {
    margin-top: 7px;
}

@media screen and (max-width: 767px) {
    .table_notes {
        font-size: 2.667vw;
    }
    .table_notes p {
        margin-top: 1.2vw;
        font-size: 2.4vw;
    }
}

.pcOnly_ib {
    display: inline-block;
}

.spOnly_ib {
    display: none;
}

@media screen and (max-width: 767px) {
    .pcOnly_ib {
        display: none;
    }
    .spOnly_ib {
        display: inline-block;
    }
}

@media screen and (max-width: 767px) {
    .boy_lead {
        padding: 0 7px;
    }
}

/*=========================
start
==========================*/
.boy_start {
    margin-top: 47px;
}

.boy_start .start_ttl {
    margin-bottom: 58px;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}

.boy_start .img {
    width: 100%;
    height: auto;
}

@media screen and (max-width: 767px) {
    .boy_start {
        margin-top: 4.267vw;
        padding: 0 7px;
    }
    .boy_start .start_ttl {
        margin-bottom: 8vw;
        font-size: 4.267vw;
    }
}

/*=========================
difference
==========================*/
.boy_difference .head_bk {
    margin-top: 65px;
}

.boy_difference_table {
    width: 100%;
    table-layout: fixed;
    margin-top: 39px;
    border-collapse: collapse;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
}

.boy_difference_table th,
.boy_difference_table td {
    padding: 16px 10px;
    border-top: 1px solid #000;
    border-left: 1px solid #000;
    font-size: 24px;
    font-weight: 600;
    text-align: center;
    line-height: 1.5;
}

.boy_difference_table thead th:first-of-type {
    border: none;
}

.boy_difference_table tr th:nth-of-type(2),
.boy_difference_table tr td:nth-of-type(1) {
    background: #E8E8E8;
}

@media screen and (max-width: 767px) {
    .boy_difference .head_bk {
        margin-top: 7.333vw;
    }
    .boy_difference_table {
        margin-top: 5.333vw;
    }
    .boy_difference_table th,
    .boy_difference_table td {
        padding: 3.333vw 2.667vw;
        font-size: 2.533vw;
    }
}

/*=========================
consider
==========================*/
.boy_consider .headLine01 + .img {
    margin-top: 40px;
}

@media screen and (max-width: 767px) {
    .boy_consider .headLine01 + .img {
        margin-top: 5.2vw;
    }
}


/*=========================
price
==========================*/
.boy_price .boy_price_box {
    margin-top: 60px;
}

.boy_price .boy_price_box:first-child {
    margin-top: 32px;
}

.boy_price .price_ttl {
    text-align: center;
    font-size: 30px;
    font-weight: normal;
    line-height: 1.4;
}


.boy_price .price_ttl + .img {
    margin-top: 18px;
    text-align: center;
}

.boy_price .price_ttl + .img picture img {
    margin-inline: auto;
}

@media screen and (max-width: 767px) {
    .boy_price .boy_price_box {
        margin-top: 7.2vw;
    }
    .boy_price .boy_price_box:first-child {
        margin-top: 4.267vw;
    }
    .boy_price .price_ttl {
        font-size: 4vw;
    }
}

.boy_price_table {
    width: 100%;
    table-layout: fixed;
    margin-top: 39px;
    border-collapse: collapse;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
}

.boy_price_table th,
.boy_price_table td {
    padding: 13.5px 10px;
    border-top: 1px solid #000;
    border-left: 1px solid #000;
    font-size: 24px;
    font-weight: 600;
    text-align: center;
    line-height: 1.5;
}

.boy_price_table thead th:first-of-type {
    border: none;
}

.boy_price_table thead tr th:nth-of-type(n+2) {
    background: #E8E8E8;
}

.boy_price_table tbody td {
    font-family: "din-2014",sans-serif;
    font-size: 28px;
}

@media screen and (max-width: 767px) {
    .boy_price_table {
        margin-top: 6.267vw;
    }
    .boy_price_table th,
    .boy_price_table td {
        padding: 2.133vw 2.667vw;
        font-size: 3.467vw;
    }
    .boy_price_table tbody td {
        font-family: "din-2014",sans-serif;
        font-size: 4.533vw;
    }
}

.boy_price_box .boy_price_parts {
    margin-top: 24px;
}

.boy_price_parts {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    gap: 20px;
}

.boy_price_parts > .item .img {
    background: #EAEAEA;
}

.boy_price_parts > .item .img img {
    width: 100%;
    height: auto;
}

.boy_price_parts > .item .label {
    padding: 8px 10px;
    text-align: center;
    font-size: 18px;
    line-height: 1.7;
    color: #FFF;
    background: #000;
}

.boy_price_parts > .item .price > .item {
    margin-top: 5px;
    display: grid;
    grid-template-columns: 55px 1fr;
    border: 1px solid #000;
}

.boy_price_parts > .item .price > .item .times {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    font-size: 17px;
    font-weight: 400;
    background: #000;
    color: #FFF;
    text-align: center;
}

.boy_price_parts > .item .price > .item .number {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    font-family: "din-2014",sans-serif;
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    padding-top: 0.1em;
    margin-bottom: -0.1em;
}

@media screen and (max-width: 767px) {
    .boy_price_box .boy_price_parts {
        margin-top: 3.867vw;
    }
    .boy_price_parts {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap:7.467vw 4.933vw;
    }
    .boy_price_parts > .item .label {
        padding: 2.267vw 2.667vw;
        font-size: 4.4vw;
    }
    .boy_price_parts > .item .price > .item {
        margin-top: 1.2vw;
        grid-template-columns: 13.733vw 1fr;
    }
    .boy_price_parts > .item .price > .item .times {
        height: 12vw;
        font-size: 4.133vw;
    }
    .boy_price_parts > .item .price > .item .number {
        height: 12vw;
        font-size: 6.933vw;
        padding-top: 0.05em;
        margin-bottom: -0.05em;
    }
}

/*=========================
clinic
==========================*/
.boy_clinic .boy_clinic_list {
    margin-top: 40px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.boy_clinic .boy_clinic_list li {
	width: 18%;
	margin-bottom: 10px;
}
.boy_clinic .boy_clinic_list li a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #CCBDA1;
    padding: 15px 20px 14px 20px;
    font-size: 1.8rem;
    font-weight: bold;
	color: #FFF;
	text-decoration: none;
	border-radius: 10px;
	line-height: 1;
}
.boy_clinic .boy_clinic_list li a.tx8em {
    font-size: 1.3rem;
    padding: 18px 24px 16px 16px;
}
.boy_clinic .boy_clinic_list li a::after{
	display: block;
	content: '';
	width: 6px;
	height: 6px;
	border: 0px;
	border-top: solid 2px #FFF;
	border-right: solid 2px #FFF;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: translate(0,-50%) rotate(45deg);
	position: absolute;
	top: 50%;
	right: 15px;
}
.boy_clinic .boy_clinic_list li a:hover {
	opacity: 0.8;
}
.boy_clinic .boy_clinic_list li.dummy {
	height: 0;
	overflow: hidden;
    margin-bottom: 0;
}

@media screen and (max-width: 767px) {
    .boy_clinic .boy_clinic_list {
        margin-top: 5.2vw;
        padding: 0 2.133vw;
    }
	.boy_clinic .boy_clinic_list li {
		width: 32%;
		margin-bottom: 3.067vw;
	}
	.boy_clinic .boy_clinic_list li a {
		font-size: 1.5rem;
        border-radius: 1.333vw;
	}
	.boy_clinic .boy_clinic_list li a.tx8em {
		font-size: 1rem;
		padding: 18px 24px 16px 16px;
	}
}

@media screen and (max-width: 430px) {
	.boy_clinic .boy_clinic_list li {
		width: 48%;
		margin-bottom: 10px;
	}
}

/*=========================
inami
==========================*/
.boy_doctor .boy_doctor_wrap {
    margin-top: 36px;
}

@media screen and (min-width: 768px) {
    .boy_doctor .boy_doctor_wrap {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

@media screen and (max-width: 767px) {
    .boy_doctor .boy_doctor_wrap {
        margin-top: 5.2vw;
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 2.533vw;
    }
    .boy_doctor .boy_doctor_wrap .img {
        order: 1;
    }
    .boy_doctor .boy_doctor_wrap .profile {
        order: 2;
    }
}

.boy_doctor .boy_doctor_wrap .profile .name {
    display: flex;
    align-items: center;
    column-gap: 0.5em;
    font-size: 16px;
    line-height: 1.75;
}

.boy_doctor .boy_doctor_wrap .profile .name span {
    font-size: 28px;
    line-height: 1;
}

@media screen and (max-width: 767px) {
    .boy_doctor .boy_doctor_wrap .profile .name {
        font-size: 3.2vw;
    }
    .boy_doctor .boy_doctor_wrap .profile .name span {
        font-size: 5.333vw;
    }
}

.boy_doctor .boy_doctor_wrap .profile .boy_profile_history {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px 0;
    margin-top: 15px;
}

.boy_doctor .boy_doctor_wrap .profile .boy_profile_history .ttl {
    margin-left: -0.5em;
    font-size: 20px;
    line-height: 1.4;
}

.boy_doctor .boy_doctor_wrap .profile .boy_profile_history .boy_profile_table th,
.boy_doctor .boy_doctor_wrap .profile .boy_profile_history .boy_profile_table td {
    font-size: 16px;
    line-height: 1.75;
    vertical-align: top;
}

.boy_doctor .boy_doctor_wrap .profile .boy_profile_history .boy_profile_table th {
    font-weight: normal;
}

.boy_doctor .boy_doctor_wrap .profile .boy_profile_history .boy_profile_table td {
    padding-left: 0.5em;
}

.boy_doctor .boy_doctor_wrap .profile .boy_profile_history p {
    margin-top: 2px;
    font-size: 16px;
    line-height: 1.75;
}

@media screen and (max-width: 767px) {
    .boy_doctor .boy_doctor_wrap .profile .boy_profile_history {
        display: grid;
        grid-template-columns: 1fr 35.6vw;
        gap: 0 0;
        margin-top: 2.533vw;
    }
    .boy_doctor .boy_doctor_wrap .profile .boy_profile_history .ttl {
        margin-left: -0.5em;
        font-size: 4.267vw;
    }
    .boy_doctor .boy_doctor_wrap .profile .boy_profile_history .boy_profile_table th,
    .boy_doctor .boy_doctor_wrap .profile .boy_profile_history .boy_profile_table td {
        font-size: 3.2vw;
    }
    .boy_doctor .boy_doctor_wrap .profile .boy_profile_history .boy_profile_table td {
        padding-left: 0.533vw;
    }
    .boy_doctor .boy_doctor_wrap .profile .boy_profile_history p {
        margin-top: 0;
        font-size: 3.2vw;
    }
    .boy_doctor .message p {
        border-top: 2px solid #000;
        padding-top: 3.067vw;
    }
}
