@charset "UTF-8";
main{
overflow: clip;
}

section {
	margin: 0 auto;
	padding-bottom: 3%;
}

figure {position: relative;}
figure figcaption {
    position: absolute;
    bottom: 2px;
    right: 2px;
    font-size: 10px;
}
.sec01 {padding-bottom: 0;}
.sec02 {margin-bottom: 14%;}
.bg-02-2 {margin-bottom: 20%;}

/*fonts
---------------------------*/
.planlist h2 {
    margin: 12% auto 6.5%;
    font-size: min(9.5vw,2.5rem);
    letter-spacing: .08rem;
    padding-top: 10%;
}

.planlist h2 span {
    display: block;
    width: 80%;
    margin: -1% auto auto;
    border-top: 1px solid #000;
    text-align: center;
    font-size: 54%;
    padding: 4% 0 4%;
    line-height: 1.7;
}

h3 {
    max-width: 84px;
    margin: 19% auto 4%;
    padding: 0 1px;
    font-size: .8rem;
    letter-spacing: 0;
    border-radius: 20px;
}

h4 {
    font-size: min(12vw,2.3rem);
    letter-spacing: 0;
    margin: 0 auto 3%;
    line-height: 1.2;
}

h4 span {
    display: block;
    width: 80%;
    font-size: 44%;
    margin: 0 auto;
    color: #000;
}

.sec03 h4 {
    font-size: min(4.2vw,1.5rem);
    line-height: 1.6;
    letter-spacing: .05rem;
    padding: 9% 0 3%;
}

h6 {
	display: block;
	width: 86%;
	margin: 0 auto 3%;
	text-align: center;
}

h8 {
    display: block;
    width: 86%;
    margin: 0 auto 11%;
    font-size: min(5.5vw,1.4rem);
    padding: 1.5%;
    background: #84774f;
    color: #fff;
    text-align: center;
}

.h-01 {
    display: block;
    width: 100%;
    margin: 0 auto 5%;
    font-size: min(5.5vw,1.4rem);
    padding: 4.5% 0;
    background: #84774f;
    color: #fff;
    text-align: center;
}

.h-01 p {
    width: 80%;
    max-width: 550px;
    margin: auto;
}

.h-02 {
    max-width: 460px;
    width: 84%;
    margin: 0 auto 3%;
}

.t-01 {
    font-size: min(3.3vw,1.0rem);
    text-align: left;
    margin: 6% auto;
}

.mb_5 {margin-bottom: 5%!important;}
.mb_8 {margin-bottom: 8%!important;}
.mb_10 {margin-bottom: 10%!important;}
.mb_15 {margin-bottom: 15%!important;}
.mb_20 {margin-bottom: 20%!important;}

.bg_gold {background:#786a3e!important;}
.bg_w {background:#fff!important;}
.txt_gold {color: #786a3e!important;}
.txt_bk {color: #000!important;}
.txt_w {color: #fff!important;}
.txt_ct {text-align: center!important;}
.txt_s {font-size: 70%;}
@media screen and (min-width: 767.9px) {
.w100_pc{ width: 100%;}
}

/*カラムレイアウト
---------------------------*/
.wrap_col {box-sizing: border-box;}

.col_box {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 10%;
}

.col_box > * {
    max-width: 400px;
    margin: 1% auto;
}

.col_box .cap {
    text-align: center;
    font-size: min(3.5vw,1rem);
    color: #333;
    font-weight: 600;
}

.col-01 {
    display: flex;
    align-items: center;
}

.col-01 figure {
	width: 40%;
	margin-left: -5%;
}

.col-01 p {
    display: block;
    text-align: left;
    padding: 0 0 0 4%;
    font-size: 1rem;
    color: #786a3e;
    line-height: 2;
}

.col-01.rev {
	flex-flow: row-reverse;
}

.col-01.rev figure {margin-right:-5%;}

.col-01.rev p {
    text-align: right;
    padding: 0 9% 0 0;
}

.planlist {padding-bottom: 0%;}
.planlist ul {
	width: 80%;
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

.planlist li {
    margin: 0 0 10%;
}


/* 頁共通
----------------------------*/
.caption-box {
  text-align: center;
  font-size: 0.75rem;
  margin-top: 0.5rem;
  color: #786a3e;
}

.cap-01 p {
    line-height: 1.3;
    color: #333;
    text-align: justify;
	font-feature-settings: "palt";
    padding: 3% 0;
}

.maxw484 {max-width: 484px;}

.z-cap {
    display: block;
    width: 92%;
    max-width: 1000px;
    font-size: 9px;
    color: #333;
    text-align: right;
    margin: -7% auto 11%;
}

/*ボタン
--------------------------------*/
.btnaria {
    max-width: 600px;
    margin: 3% auto;
    padding-bottom: 10%;
}

.btnaria .btn {
    width: 70%;
    background: #786a3e;
    margin: 0 auto 7%;
    color: #fff;
	border: 1px solid #fff;
	transition: .2s all;
}

.btnaria .btn:hover {
	background: #fff;
	color: #786a3e;
	border: 1px solid #786a3e;
}

.btnaria .btn a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 96%;
    margin: 0 auto;
    padding: 5% 1%;
    border-left: 1.5px solid #fff;
    border-right: 1.5px solid #fff;
    text-align: center;
	color: inherit;
    font-size: min(4vw,1.3rem);
	transition: .2s all;
}

.btnaria .btn:hover a {
    border-left: 1.5px solid #786a3e;
    border-right: 1.5px solid #786a3e;
}

.btnaria .btn a:after {
    position: absolute;
    display: block;
    content: '';
    background-image: url(../img/plan/arrow.svg);
    background-size: contain;
    width: 11px;
    height: 17px;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 2%;
	transition: .2s all;
}

.btnaria .btn:hover a:after {
    background-image: url(../img/plan/arrow_r.svg);
}

@media screen and (max-width: 767.9px) {
	.child-mv__text{
    width: 134px !important;
  }
	.-sp400{
		width: 60%;
		margin:0 auto 20px;
	}

}

@media screen and (min-width: 767.9px) {

.h-01 {
    width: 100%;
    padding: 1.5% 0;
    margin: 0 auto 4%;
}
.h-02 {margin: 0 auto 1%;}
.bg-02-2 {margin-bottom: 3%;}

.mb_5 {margin-bottom: 3%!important;}
.mb_8 {margin-bottom: 4%!important;}
.mb_10 {margin-bottom: 2%!important;}
.mb_15 {margin-bottom: 5rem!important;}
.mb_20 {margin-bottom: 4%!important;}

.p_4 {padding: 1% 4%;}
.pb_3 {padding-bottom: 2%;}
.pb_6 {padding-bottom: 1%;}
.pb_10 {padding-bottom: 0;}
.pb_20 {padding-bottom: 10%;}

.maxw600 {max-width: 600px!important;}
.maxw700 {max-width: 700px!important;}


/*fonts
---------------------------*/
.planlist h2 span {
    padding: 3% 0 0;
    width: 92%;
    font-size: 70%;
}

h3 {
    max-width: 120px;
    margin: 5% auto 2%;
    font-size: 1.2rem;
}

h4 {
    font-size: min(12vw,3.2rem);
    margin: 6% auto 1%;
}

.sec03 h4 {
    font-size: min(4.2vw,1.6rem);
    padding: 0 0 1%;
}

h8 {
    font-size: min(5.5vw,1.4rem);
    padding: 0.5%;
    margin-bottom: 4%;
}

/* カラムレイアウト
---------------------------*/
.planlist {padding: 2% 0;}
.planlist ul {width: 96%;}
.wrap_col {
    justify-content: center;
    align-items: flex-start;
}
.wrapper100 {margin-bottom: 4%;}

.col_box_pc {
	display: flex;
	flex-wrap: wrap;
}

.col_box_pc > * {
	width: 48%;
	margin: 1%;
}

.col_box {margin: 0 auto 4%;}
.col_box > * {
	width: 46%;
	max-width: 450px;
}

.col-01, .col-01.rev {
    flex-flow: column;
    width: 21%;
    margin-top: 0;
}

.col-01 figure, .col-01.rev figure {
    width: 80%;
    margin: auto;
}

.col-01.rev figure {
    margin-top: 60%;
}

.col-01 p, .col-01.rev p {
    text-align: center;
    padding: 2% 0;
}

.child-mv__text{
  width: 180px;
}

.planlist li {
    margin: 0 0 5%;
    width: 46%;
}

.btnaria {
    max-width: 900px;
    display: flex;
    justify-content: space-between;
    padding-bottom: 5%;
}
.btnaria .btn {width: 46%;}

/*全頁共通
-----------------------------*/
section {
    padding-bottom: 1%;
    margin-bottom: -6%;
}

.h-01 p {
    width: 100%;
    max-width: 1100px;
}
.t-01 {
    text-align: center!important;
    margin: 3% auto;
}

.z-cap {margin: -2% auto 7%;}

/*セクション
------------------------*/
.sec01 {margin: 0 auto; padding-bottom: 0;}

.sec02 {margin-bottom: 4%;}
.planlist h2 {
    margin: 0 auto 3.5%;
    padding: 3% 0 0;
}

.wrap_ttl01 {width: 100%; margin-bottom: 50px;}
}

/* サムネイルリンク
-----------------------------------------*/
.thum_col {
		display: flex;
		width: 100%;
		max-width: 486px;
		background: #fff;
		transition: all .15s;
	}
	.thum_col:hover{
		opacity: 0.7;
	}
.thum_col dl {
    width: 67%;
    background: #786a3e;
    padding: 2% 4%;
    display: flex;
    flex-flow: column;
    justify-content: center;
}

.thum_col dt {
    color: #fff;
    border-bottom: 1px solid #fff;
    text-align: center;
    padding-bottom: 1%;
    font-size: min(9vw,3.5rem);
    line-height: 1.1;
    display: flex;
    justify-content: center;
    align-items: baseline;
}

.thum_col dd {
    color: #fff;
    text-align: center;
    font-size: 5.1vw;
    line-height: 1.15;
    padding: 0% 0 5.5%;
}
.thum_col dl span {display: inline;}


.thum_col figure {
    width: 33%;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 10px;

}

.thum_col .txt-01 {
    font-size: 100%;
    padding-right: .6rem;
}
.thum_col .txt-02 {
    font-size: 50%;
    letter-spacing: .15rem;
}
.thum_col .txt-03 {font-size: 160%;}
.thum_col .txt-04 {font-size: 85%;letter-spacing: .1rem;}
.thum_col .txt-05 {
    font-size: 45%;
    letter-spacing: .05rem;
}
.thum_col .txt-06 {
    font-size: 110%;
    padding-left: 0.5rem;
    vertical-align: bottom;
}
.thum_col .txt-07 {
    font-size: 70%;
    vertical-align: bottom;
    display: inline-block;
    margin-top: 7px;
}
.thum_col .txt-08 {font-size: 70%;}

@media screen and (min-width: 767.9px) {
	.planlist {padding: 3% 0 2%;}
.thum_col dt {
    font-size: min(5vw,3.5rem);
}
.thum_col dd {
    font-size: min(3.1vw,2rem);
}
}

@media screen and (min-width: 479.9px) {
.thum_col dt {
    font-size: min(6vw,3.5rem);
}
.thum_col dd {
    font-size: min(2.9vw,2rem);
}
}

/*250625 add*/
.add-01 {
    width: 80%;
    margin: 18% auto 0;
}

.add-01 p {
    display: block;
    border-top: 1px solid #786a3e;
    border-bottom: 1px solid #786a3e;
    padding: 4% 7%;
    text-align: center;
    margin-bottom: 4%;
}

.add-01 dl {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.add-01 dt {
	width: 43%;
}

.add-01 dd {
    width: 52%;
    padding: 0 0 1% 1%;
    margin: 0;
    font-size: min(3.2vw,1.0rem);
	text-align: justify!important;
}

@media screen and (min-width: 767.9px) {

.add-01 {
    margin: 6% auto 0;
    display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
}
.add-01 p {
	width: 40%;
	margin-bottom: 0;
}

.add-01 dl {
	width: 56%;
}
}

html{
	scroll-padding:80px;
}
@media screen and (max-width: 767.9px) {
	html{
		scroll-padding:40px;
	}
}
