/*------------------------------------------------------------
	Single //Plan
-------------------------------------------------------------*/
#gmap {
	width: 100%;
	height: 400px;
}
.plan-icon-area {
    margin: 0 0 20px 0;
    display: grid;
    gap: 5px;

    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr) 80px 70px;
}
@media screen and (min-width: 436px) {
    .plan-icon-area {
        min-height: 140px;
        margin: 20px 0;
        display: block;
        display: grid;
        gap: 5px;

        grid-template-columns: repeat(3, 1fr) 232px;
        grid-template-rows: repeat(2, 70px);
        align-items: center;
    }
}
	.plan-icon-area div.icon-box {
		position: relative;
		text-align: center;
	}
    .plan-icon-area div.icon-box:nth-child(1) {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
    }
    .plan-icon-area div.icon-box:nth-child(2) {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
    }
    .plan-icon-area div.icon-box:nth-child(3) {
        grid-column: 3 / 4;
        grid-row: 1 / 2;
    }
    .plan-icon-area div.icon-holding {
        grid-column: 1 / 4;
        grid-row: 2 / 3;
        position: relative;
        width: 100%;
        /* height: 60px; */
        display: flex;
        justify-content: flex-start;
    }
@media screen and (min-width: 436px) {
    .plan-icon-area div.icon-box {
        display: flex;
        margin-top: 0;
		margin-bottom: 0;
    }

        .plan-icon-area div.icon-box:nth-child(1) {
            grid-column: 1 / 2;
            grid-row: 1 / 2;
        }
        .plan-icon-area div.icon-box:nth-child(2) {
            grid-column: 2 / 3;
            grid-row: 1 / 2;
        }
        .plan-icon-area div.icon-box:nth-child(3) {
            grid-column: 3 / 4;
            grid-row: 1 / 2;
        }
        .plan-icon-area div.icon-holding {
            grid-column: 1 / 4;
            grid-row: 2 / 3;
        }
}
		.plan-icon-area div.icon-box i {
            display: block;
            width: 75px;
            margin-left: auto;
            margin-right: auto;
			margin-bottom: 10px;
            font-size: 250%;
		}
@media screen and (min-width:436px) {
    .plan-icon-area div.icon-box i {
        display: block;
        width: auto;
        margin-left: 0;
        margin-right: 10px;
    }
}
        .plan-icon-area div.icon-box div {
			display: flex;
			flex-wrap: wrap;
			flex-direction: column;
			align-content: center;
		}
		.plan-icon-area div.icon-holding i {
			height: 100%;
			margin-right: 10px;
			text-align: left;
            font-size: 250%;
		}
		.plan-icon-area div.icon-box span.icon-head {
			font-size: 90%;
			text-align: center;
			margin: 0 0 0 0;
		}
		.plan-icon-area div.icon-holding  span.icon-head {
			font-size: 100%;
		}
		.plan-icon-area div.icon-box span.icon-txt,
		.plan-icon-area div.icon-holding span.icon-txt {
			width: 100%;
			font-size: 130%;
			text-align: center;
		}
		.plan-icon-area div.icon-holding p {
			max-width: 100%;
			line-height: 1.5;
			margin-bottom: 0;
			margin-top: 0;
		}
	.plan-icon-area .icon-price {
		font-size: 150%;
		text-align: right;
	}
    .plan-icon-area .icon-price .intax {
        display: inline-block;
    }

    .plan-icon-area .icon-price {
        grid-column: 1 / 4;
        grid-row: 3 / 4;
        text-align: right;
        line-height: 1.0;
    }
		a.plan-reserv-scroll {
            grid-column: 1 / 4;
            grid-row: 4 / 5;
			display: block;
			width: 100%;
			padding: 15px 20px;
			margin: 0;
			color: #fff;
			text-align: center;
			border: 2px solid #f98e81;
			background: #f98e81;
		}
            a.plan-reserv-scroll:hover {
                color: #f98e81;
                text-align: center;
                border: 2px solid #f98e81;
                background: #fff;
            }

@media screen and (min-width: 436px) {
    .plan-icon-area .icon-price {
        grid-column: 4 / 5;
        grid-row: 2 / 3;
        text-align: right;
        line-height: 1.0;
    }
    a.plan-reserv-scroll {
        grid-column: 4 / 5;
        grid-row: 3 / 4;
    }
}
.plan-description-area {
	position: relative;
	min-height: 150px;
	margin: 50px 15px 20px 15px;
	padding: 0 0 20px 0;
}
dl.plan-access-area {
	width: 100%;
	margin: 0 0 20px 0;
	border-top: 1px solid #777;
	border-left: 1px solid #777;

	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
	dl.plan-access-area dt {
		width: 23%;
		margin: 0;
		padding: 20px 10px;
		background: #eee;
		border-right: 1px solid #777;
		border-bottom: 1px solid #777;
	}
	dl.plan-access-area dd {
		width: 77%;
		margin: 0;
		padding: 20px 10px;
		border-right: 1px solid #777;
		border-bottom: 1px solid #777;
	}
@media screen and (min-width: 436px) {
	dl.plan-access-area dt {
		width: 20%;
    }
    dl.plan-access-area dd {
		width: 80%;
    }
}
	dl.plan-price-area,
	dl.plan-active-area,
	dl.plan-weather-area,
	dl.plan-deadline-area,
	dl.plan-quali-area,
	dl.plan-have-ready-area,
	dl.plan-inq-area {
		width: 100%;
		margin: 0 0 20px 0;
		border-top: none;
		border-left: none;
		display: block;
	}
		dl.plan-price-area dt,
		dl.plan-active-area dt,
		dl.plan-weather-area dt,
		dl.plan-deadline-area dt,
		dl.plan-quali-area dt,
		dl.plan-have-ready-area dt,
		dl.plan-inq-area dt {
			width: 100%;
			margin: 0;
			padding: 10px 10px;
			text-align: center;
			background: #eee;
			border-right: none;
			border-bottom: none;
		}
		dl.plan-price-area dd,
		dl.plan-active-area dd,
		dl.plan-weather-area dd,
		dl.plan-deadline-area dd,
		dl.plan-quali-area dd,
		dl.plan-have-ready-area dd,
		dl.plan-inq-area dd {
			width: 100%;
			margin: 0;
			padding: 20px 10px;
			border-right: none;
			border-bottom: none;
		}
/* SELECT TYPEが翻訳されないのでボタン表示のみ */
.reserv-form-area {
	display: none;
}
.reserv-form-button {
	display: block;
	width: 100%;
    margin-bottom: 2.5em;
	text-align: center;
}

/*------------------------------------------------------------
	Accordion
-------------------------------------------------------------*/
.ac-box {
	margin: 2em 0;
	padding: 0;
	width: 100%;
}
	.ac-box label {
		position: relative;
		display: block;
		margin: 1.5px 0;
		padding: 15px 15px;
		color: #684736;
		cursor: pointer;
		transition: all 0.5s;
		border-top: 1px solid #5bc0d7;
		border-bottom: 1px solid #5bc0d7;
	}
	.ac-box label h4 {
		display: inline;
		max-width: 100%;
	}
	.ac-box label:after {
		position: absolute;
		right: 0;
		display: inline-block;
		content: '\f078';
		font-family: 'Font Awesome 5 Free';
		font-weight: 900;
		padding: 5px 20px;
	}
	.ac-box label:hover {
		background: #e6f6f9;
	}
	.ac-box input {
		display: none;
	}

	.ac-box .show-item {
		height: 0;
		padding: 0;
		overflow: hidden;
		opacity: 0;
		transition: 0.8s;
	}
	.cssacc:checked + label + .show-item {
		height: auto;
		padding: 5px;
		opacity: 1;
	}

.accbox .show-item p {
    margin: 15px 10px;
}

/*アイコンを入れ替える*/
.cssacc:checked + label:after {
    display: inline;
	content: '\f077';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	padding: 5px 20px;
}

@media screen and (min-width: 436px) {
    #gmap {
        width: 100%;
        height: 400px;
    }
    .plan-cat-area {
        width: 100%;

        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
    }
        .plan-cat-area p {
            display: inline-block;
            margin: 0 10px 0 0;
            padding: 5px 10px;
        }
        .plan-cat-area span {
            display: inline-block;
            margin: 0 10px 0 0;
            padding: 5px 20px;
            color: #0d9dbd;
            border: 1px solid #5bc0d7;
        }
    .plan-btn-area {
        width: 100%;
        margin: 20px 0 0 0;
        padding: 10px 0;
        font-size: 120%;

        border-bottom: 1px solid #ddd;
    }
        .plan-btn-area span {
            display: inline-block;
            margin: 0 10px 0 0;
            padding: 10px 10px 5px 10px;
            border-top: 4px solid #fff;
        }
        .plan-btn-area span:link,
        .plan-btn-area span:active,
        .plan-btn-area span:hover {
            border-top: 4px solid #5bc0d7;
        }
    .plan-description-area {
        position: relative;
        width: 100%;
        min-height: 150px;
        margin: 0 0 20px 0;
        padding: 0 0 20px 0;
    }
        .grad-btn {
            position: absolute;
            bottom: 0;
            z-index: 99;
          /*.grad-btnのCSSは表示/非表示の動作には関係ないので、ご自由にどうぞ*/
            color: #684736;
            height: 20px;
            width: 100%;
            text-align: center;
        }
        .grad-btn::before {
            content: '続きを見る <i class="fas fa-chevron-down"></i>';
        }
        .grad-item {
            position: relative;
            overflow: hidden;
            height: 150px; /*隠した状態の高さ*/
        }
        .grad-item::before {
            display: block;
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 100px; /*グラデーションで隠す高さ*/
            background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
        }
        .grad-trigger {
            display: none; /*チェックボックスは常に非表示*/
        }
        .grad-trigger:checked ~ .grad-btn::before {
            content: '閉じる <i class="fas fa-angle-up"></i>'; /*チェックされていたら、文言を変更する*/
        }
        .grad-trigger:checked ~ .grad-item {
            height: auto; /*チェックされていたら、高さを戻す*/
        }
        .grad-trigger:checked ~ .grad-item::before {
            display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
        }
        .single-area-left p {
            margin: 0 0 0 0;
            padding: 0;
            line-height: 1.5;
        }
        .single-area-left h4,
        .single-area-right h4 {
            width: 100%;
            margin: 0 0 10px 0;
            padding: 0;

        }
    .reserv-form-area {
        display: block;
        width: 100%;
    }
    .reserv-form-button {
        display: none;
        width: 0;
        text-align:justify;
    }
    /*------------------------------------------------------------
        Accordion//PC表示は全てOPEN
    -------------------------------------------------------------*/
    .ac-box {
        margin: 2em 0;
        padding: 0;
        width: 100%;
    }
@media screen and (min-width: 436px) {
    .ac-box {
        margin: 0 0 2em 0;
    }
}
        .ac-box label {
            position: relative;
            display: block;
            margin: 1.5px 0;
            padding: 15px 15px;
            color: #684736;
            cursor: auto;
            transition: unset;
            border-top: none;
            border-bottom: none;
        }
        .ac-box label h4 {
            display: inline;
            max-width: 100%;
        }
        .ac-box label:after {
            position: absolute;
            right: 0;
            display: inline-block;
            content: '';
            font-family: '';
            padding: 0;
        }
        .ac-box label:hover {
            background: #fff;
        }
        .ac-box input {
            display: none;
        }

        .ac-box .show-item {
            height: auto;
            padding: 5px;
            overflow: auto;
            opacity: 1;
            transition:none;
            word-wrap: break-word;
        }
        .cssacc:checked + label + .show-item {
            height: auto;
            padding: 5px;
            opacity: 1;
        }

    .accbox .show-item p {
        margin: 15px 10px;
    }

    /*アイコンを入れ替える*/
    .cssacc:checked + label:after {
        display: inline;
        content: '';
        font-family: '';
        padding: 0;
    }
    /*------------------------------------------------------------
        Plan Table
    -------------------------------------------------------------*/
    dl.plan-access-area,
    dl.plan-price-area,
    dl.plan-active-area,
    dl.plan-weather-area,
    dl.plan-deadline-area,
    dl.plan-quali-area,
    dl.plan-have-ready-area,
    dl.plan-inq-area {
        width: 100%;
        margin: 0 0 20px 0;
        border-top: 1px solid #777;
        border-left: 1px solid #777;

        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
        dl.plan-access-area dt,
        dl.plan-price-area dt,
        dl.plan-active-area dt,
        dl.plan-weather-area dt,
        dl.plan-deadline-area dt,
        dl.plan-quali-area dt,
        dl.plan-have-ready-area dt,
        dl.plan-inq-area dt {
            width: 20%;
            margin: 0;
            padding: 20px 10px;
            background: #eee;
            border-right: 1px solid #777;
            border-bottom: 1px solid #777;
        }
        dl.plan-access-area dd,
        dl.plan-price-area dd,
        dl.plan-active-area dd,
        dl.plan-weather-area dd,
        dl.plan-deadline-area dd,
        dl.plan-quali-area dd,
        dl.plan-have-ready-area dd,
        dl.plan-inq-area dd {
            width: 80%;
            margin: 0;
            padding: 20px 10px;
            border-right: 1px solid #777;
            border-bottom: 1px solid #777;
        }
    .reserv-form-area {
        width: 100%;
        min-height: 100%;
        margin: 0 0 30px 0;
        padding: 0;
    }
}