p, table, blockquote, address, pre, iframe, form, figure, dl { margin: 0; }


.inner { 
	width: 100%; 
	margin: auto; 
	max-width: 1200px; 	 
font-family: '游明朝 Medium','Yu Mincho Medium',YuMincho,'Hiragino Mincho Pro',serif;}




.plan-detail-contents .inner {
    max-width:1200px;
    display:grid;
    grid-template-columns:0.698fr 1fr;
    column-gap:4.5rem
}
.plan-detail-contents .plan-detail-header {
    grid-column:span 2;
    order:1;
    color:#fff;
    background-image: linear-gradient(197deg, #004c3c, #3b8c7b 46%, #004c3c);
    text-align:center;
    padding:1rem 0;
	margin-bottom: 2rem;
}
.plan-detail-contents .plan-detail-header .plan-name {
    font-family:"Cinzel", serif;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:2rem;
    line-height:1
}
.plan-detail-contents .plan-detail-header .plan-name .title {
    font-size:1.2rem;
/*	margin-bottom: 0.5rem;*/
}
.plan-detail-contents .plan-detail-header .plan-name .type {
    font-size:3.5rem;
    display:flex;
    align-items:center;
    letter-spacing:0.5rem;
    gap:1rem
}
.plan-detail-contents .plan-detail-header .plan-name .type .name {
    font-size:120%
}

.plan-detail-contents .plan-detail-header .layout {
    font-size:2.5rem;
    border-top:1px solid #ffffff;
    line-height:1;
    padding:1rem 1rem 0
}

.plan-detail-contents .scale {
    grid-column:span 2;
    order:2;
/*    margin-top:2rem;*/
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    align-items:center;
    gap:3rem 2rem;
}

.plan-detail-contents .scale .main {
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    align-items:flex-end;
	margin-top: 1rem;
}

.plan-detail-contents .scale .main .title,
.plan-detail-contents .scale .main .tsubo {
    font-size:1.2rem;
    line-height:2;
    margin-right: 0.5rem;
}
.plan-detail-contents .scale .main .title {
    margin-right:0.5rem;
}
.plan-detail-contents .scale .main .size {
    color:#004c3c;
    font-size:2rem;
    line-height:1;
}
.plan-detail-contents .scale .main .size .large {
    font-size:186%;

}

@media screen and (max-width: 1000px) {
    .plan-detail-contents .inner {
        grid-template-columns:1fr;
    }

    .plan-detail-contents .plan-detail-header,.plan-detail-contents .scale,.plan-detail-contents .features,.plan-detail-contents .other-appeal,.plan-detail-contents .back-to-list {
        grid-column:span 1;
		margin-bottom: 0rem;
    }
    .plan-detail-contents .scale {
        flex-direction:column
    }
 
}
@media screen and (max-width: 768px) {
	
.plan-detail-contents .plan-detail-header .layout {
    font-size:2rem;
}
	
    .plan-detail-contents .plan-detail-header .plan-name {
        flex-direction:column;
        gap:0;
        padding:1rem 0;
    }
   
    .plan-detail-contents .scale .main {
/*        row-gap:0.5rem;*/
    }
    .plan-detail-contents .scale .main .title {
/*        width:100%;*/
		font-size:1rem;
        text-align:center;
		margin-top: 2rem;
    }
	
.plan-detail-contents .scale .main .size .large {
    font-size:160%;

}

}


/* ==========================================
   セクション共通タイトル
   ========================================== */
.section-title {
    text-align: center;
    font-size: 1.5rem;
    font-weight: 600;
    color:#004c3c;
    margin-bottom: 45px;
    position: relative;
    letter-spacing: 0.1em;
}

.section-title span {
    background-color: #ffffff;
    padding: 0 25px;
    position: relative;
    z-index: 1;
}

.section-title::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
	background-color: #e0e0d5;
    z-index: 0;
}

/* ==========================================
   ポイントセクション
   ========================================== */
.points-section {
	margin-top:1rem; 
    margin-bottom: 70px;
}

.points-grid {
max-width: 1300px;
	margin: 0 auto;
}

.point-card {
    background-color: #ffffff;
    border-top: 3px solid #004c3c;
    padding: 35px 25px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.03);
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.point-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.06);
}

.point-num {
    font-size: 2.2rem;
    font-weight: 700;
    color: #b28247;
    line-height: 1;
    margin-bottom: 18px;
}

.point-content h4 {
    font-size: 1.2rem;
    color: #595757;
    margin-bottom: 14px;
    font-weight: 700;
    letter-spacing: 0.03em;
}

.point-content p {
    font-size: 0.9rem;
    color: #444;
    text-align: justify;
}


@media screen and (min-width: 1024px) {

.points-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;

}
	
.point-content h4 {
    font-size: 1rem;
 
}
	
}

