@charset "utf-8";

/* -----------------------------------------------------------
	price-area
-------------------------------------------------------------- */
.price-area {
    margin: 100px 0 0;
}
#price .price-area {
    margin: 50px 0 0;
}

#studio .price-area .title-area {
    display: flex;
    gap: 50px;
    align-items: center;
}
#price .price-area .title-area .en,
#price .price-area .title-area .jp{
    display: none;
}

.price-area .price-table {
    max-width: 1200px;
    margin: 50px auto 0;
}

.price-area .table-title {
    display: flex;
    align-items: baseline;
    gap: 16px;
}

.price-area .table-title p {
    font-size: 2.4rem;
    font-weight: 700;
    margin: 0;
    letter-spacing: 0.05em;
}

.price-area .table-title .sub {
    font-size: 1.4rem;
}

.price-area .columns {
    display: flex;
    gap: 80px;
    margin: 20px 0 0;
}

.price-area .column {
    flex: 1;
}

.price-area .column .row:first-of-type {
    border-top: 1px solid #EBE6DC;
}

.price-area .row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 18px 0;
    border-bottom: 1px solid #EBE6DC;
}

.price-area .row .label {
    font-size: 1.6rem;
    line-height: 1.8;
}

.price-area .row .label strong {
    font-weight: 500;
    margin-right: 8px;
}

.price-area .row .price {
    font-size: 1.5rem;
    line-height: 1.8;
    white-space: nowrap;
}

.price-area .basic-txt {
    margin: 50px 0 0;
    font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
    .price-area {
        margin: 50px 0 0;
    }
    #price .price-area {
        margin: 0;
    }
    
    #studio .price-area .title-area {
        gap: 30px;
        flex-wrap: wrap;
    }
    #studio .price-area .title-area .kome {
        width: 100%;
    }
    
    .price-area .price-table {
        width: 100%;
        margin: 30px auto 0;
    }

    .price-area .table-title {
        display: flex;
        align-items: baseline;
        gap: 16px;
    }

    .price-area .table-title p {
        font-size: 2.0rem;
    }

    .price-area .table-title .sub {
        font-size: 1.4rem;
    }

    .price-area .columns {
        display: flex;
        flex-direction: column;
        gap: 0;
        margin: 20px 0 0;
    }

    .price-area .column {
        flex: 1;
    }

    .price-area .column .row:first-of-type {
    }

    .price-area .column:nth-last-of-type(1) .row:first-of-type {
        border-top: none;
    }

    .price-area .row {
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        padding: 18px 0;
    }

    .price-area .row .label {
        font-size: 1.5rem;
        line-height: 1.6;
    }

    .price-area .row .label strong {
        margin-right: 6px;
    }

    .price-area .row .price {
        font-size: 1.4rem;
        line-height: 1.6;
        text-align: right;
        white-space: nowrap;
    }

    .price-area .row .price .kome {
        font-size: 1.2rem;
    }

    .price-area .basic-txt {
        margin: 30px 0 0;
    }
}

/* -----------------------------------------------------------
    precautions-area
-------------------------------------------------------------- */
.precautions-area {
	margin: 100px 0 0;
}
#precautions .title-area{
    display: none;
}

.precautions-area .section-catch {
	font-size: 2rem;
    margin: 60px 0 20px;
    padding: 0 0 15px;
	font-weight: 500;
	line-height: 1.5;
    border-bottom: 1px solid var(--grey);
}
.precautions-area .section-catch.t {
    margin: 0 0 20px;
}

.precautions-area .disc-list,
.precautions-area .num-list{
	margin: 20px 0 0;
}
.precautions-area .disc-list li,
.precautions-area .num-list li{
	color: #333;
}

.precautions-area .txt-box {
	margin: 20px 0 20px;
}

.precautions-area table {
	border: none;
	max-width: 800px;
	margin: 30px 0;
}

.precautions-area table tr {
	border: none;
}

.precautions-area table th,
.precautions-area table td {
	border: 1px solid #ddd;
	padding: 20px;
	text-align: center;
	width: 200px;
}

.precautions-area table th::before {
	display: none;
}

.precautions-area a{
	color: #333;
}


@media screen and (max-width: 768px){
	.precautions-area{
		margin: 50px 0;
	}
	.precautions-area .inner{
		width: 100%;
	}
	
	.precautions-area .section-catch {
		font-size: 1.8rem;
		margin: 40px 0 20px;
	}
	.precautions-area .section-catch.t {
		margin: 0 0 20px;
	}
	
	.precautions-area .disc-list,
	.precautions-area .num-list{
		margin: 15px 0 0;
	}
	
    .precautions-area .txt-box {
        margin: 30px 0 20px;
    }

    .precautions-area .txt-box .basic-txt {
        margin: 15px 0 0;
    }

    .precautions-area table {
        border: none;
        width: 100%;
        max-width: 800px;
        margin: 30px 0;
    }

    .precautions-area table tbody {
        display: flex;
    }

    .precautions-area table tr {
        border: none;
        width: 50%;
    }

    .precautions-area table th,
    .precautions-area table td {
        border: 1px solid #ddd;
        padding: 20px;
        text-align: center;
        width: 100%;
        height: 66px;
    }

    .precautions-area table th::before {
        display: none;
    }
}

/* -----------------------------------------------------------
    faq-area
-------------------------------------------------------------- */
.faq-area {
	position: relative;
	margin: 80px 0 0;
}

.faq-area .title-area {
	margin: 0 0 50px;
}

.faq-box {
	margin: 0 auto;
	width: 1200px;
}

.faq-box dl {
	border-bottom: 1px solid #ddd;
}

.faq-q {
	border-top: 1px solid #ddd;
	padding: 25px 35px 28px 60px;
    position: relative;
    cursor: pointer;
	border-bottom: none;
}

.faq-q h3 {
	font-size: 2rem;
	line-height: 1.5;
	font-weight: 500;
	padding: 0;
}

.faq-a {
	display: none;
	line-height: 1.8;
	position: relative;
	padding: 0 35px 30px 60px;
	background: none;
}

.faq-a .basic-txt {
	line-height: 1.8;
}

.faq-q::before,
.faq-a::before {
	display: block;
	position: absolute;
	left: 20px;
	font-size: 2.4rem;
	color: var(--main);
	font-family: var(--en);
}

.faq-q::before {
	content: 'Q';
	top: 28px;
}

.faq-a::before {
	content: 'A';
	top: -7px;
	left: 22px;
	color: var(--gold);
	/*color: rgba(247, 93, 139, 1);*/
}

.faq-box .accordion-icon {
	right: 0;
}

.faq-box .accordion-icon span {
	background-color: var(--main);
}

@media screen and (max-width: 768px){
	.faq-area {
		padding: 50px 20px;
	}

	.faq-area .title-area {
		margin: 0 0 20px;
	}

	.faq-box {
		width: auto;
	}

	.faq-q {
		padding: 20px 20px 20px 30px;
	}

	.faq-q h3 {
		font-size: 1.8rem;
	}

	.faq-a {
		padding: 0 20px 20px 30px;
	}

	.faq-q::before,
	.faq-a::before {
		left: 0;
		font-size: 2rem;
	}

	.faq-q::before {
		top: 22px;
	}

	.faq-a::before {
		top: 4px;
		left: 2px;
	}
}

