@charset "utf-8";


@media screen and ( max-width: 1280px ){

}

@media screen and ( max-width: 1180px ){

}

@media screen and ( max-width: 1024px ){

}

@media screen and ( max-width: 768px ){

}

@media screen and ( max-width: 559px ){

}

/*-----------------------------------------------------------------------------*/

.zoom img{
	transform: scale(1);
	transition: .1.2s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
}

.zoom a:hover{
	opacity: 1;
}

.zoom a:hover img{
	transform: scale(1.1);
}

.zoom a img:hover{
	opacity: 0.6;
}

/*　画像のマスク　*/

.zoom{
	display: block;
	line-height: 0;/*行の高さを0にする*/
	overflow: hidden;/*拡大してはみ出る要素を隠す*/
}

/*-----------------------------------------------------------------------------*/

.contents_title{
	font-family: 'Noto Serif JP', serif;
	margin-bottom: 8rem;
}

.contents_title.center{
	text-align: center;
	display: flex;
	justify-content: center;
}

.contents_title .english{
	margin-bottom: 2rem;
}

.contents_title h3{
	font-size: 4rem;
	font-weight: 300;
	line-height: 1.8;
	letter-spacing: 0.2rem;
}

.contents_title h3.under_top{
	font-size: 6rem;
	position: relative;
}

.contents_title h3.under_top::after{
	content: url(../img/top_concept_bg.png);
	position: absolute;
	transform: scale(0.6);
	opacity: 1;
	bottom: -4rem;
	right: -12rem;
}

.contents_title h3.big{
	font-size: 6rem;
	line-height: 1.6;
}

.contents_title h3 strong{
	font-size: 4rem;
	margin-right: 0.5rem;
}

.contents_title h3.plan{
	display: flex;
	align-items: center;
}

.contents_title h3.plan strong{
	font-size: 6rem;
	margin-right: 0.5rem;
	line-height: 1;
	margin-top: -1rem;
}

@media screen and ( max-width: 1400px ){

	.contents_title{
		margin-bottom: 4rem;
	}

}

@media screen and ( max-width: 1024px ){

	.contents_title {
		margin-bottom: 4rem;
	}

	.contents_title h3{
		font-size: 3.5rem;
	}

	.contents_title h3.under_top{
		font-size: 5rem;
	}

	.contents_title h3.big{
		font-size: 5rem;
	}

}

@media screen and ( max-width: 768px ){

	.contents_title h3.big{
		font-size: 4rem;
	}

}

@media screen and ( max-width: 559px ){

	.contents_title {
		margin-bottom: 3rem;
	}

	.contents_title .english{
		font-size: 1.2rem;
		margin-bottom: 1rem;
	}

	.contents_title h3 {
		font-size: 2.4rem;
		letter-spacing: 0.1rem;
	}

	.contents_title h3.under_top {
		font-size: 3rem;
	}

	.contents_title h3.under_top::after{
		position: absolute;
		transform: scale(0.45);
		opacity: 1;
		/*right: -20%;*/
		right: -8rem;
		
	}

	.contents_title h3.big{
		font-size: 2.6rem;
	}
	
	.contents_title h3.plan strong{
		font-size: 4rem;
	}

}

/*-----------------------------------------------------------------------------*/

div.bt{
	display: flex;
}

div.bt.center{
	justify-content: center;
}

div.bt.left{
	justify-content: start;
}

div.bt.right{
	justify-content: flex-end;
}

div.bt a{
	font-family: 'Noto Serif JP', serif;
	font-size: 2.2rem;
	width: 20rem;
	color: #222;
	border-bottom: 0.1rem solid #222;
	display: flex;
	align-items: center;
	padding-bottom: 1rem;
	justify-content: space-between;
	
	position: relative;
}

div.bt a span{
	font-size: 4rem;
	width: 2.5rem;
}

div.bt.auto a{
	width: auto;
}

div.bt.auto a span{
	margin-left: 1rem;
}

div.bt a::after {
	content: '';
	/*絶対配置で線の位置を決める*/
	position: absolute;
	bottom: -0.1rem;
	left: 0;
	/*線の形状*/
	width: 100%;
	height: 0.1rem;
	background: #999;
	/*アニメーションの指定*/
	transition: all .3s;
	transform: scale(0, 1);/*X方向0、Y方向1*/
	transform-origin: left top;/*左上基点*/
}

div.bt a:hover::after {
	transform: scale(1, 1);/*X方向にスケール拡大*/
}

@media screen and ( max-width: 559px ){

	div.bt a{
		font-size: 1.6rem;
		width: auto;
	}

	div.bt a span {
		margin-left: 0;
		margin-top: 0.2rem;
	}

}

/*-----------------------------------------------------------------------------*/

header .logo{
	position: absolute;
	top: 3.6rem;
	left: 3.8rem;
	z-index: 1;
	max-width: 40.6rem;
	margin-bottom: 0;
}

.top_main{
	width: 100%;
	height: 80rem;
	background: url(../img/main.jpg) no-repeat;
	background-position: left;
	background-size: cover;
}

@media screen and ( max-width: 1600px ){

	.top_main{
		width: 100%;
		height: 55vw;
		background: url(../img/main-160.jpg) no-repeat;
		background-position: left top;
		background-size: cover;
	}

}

@media screen and ( max-width: 1024px ){

	.top_main{
		height: 60vw;
	}

}

@media screen and ( max-width: 768px ){

	.top_main{
		width: 100%;
		height: 65vw;
		background: url(../img/main-768.jpg) no-repeat;
		background-position: left top;
		background-size: cover;
	}

}

@media screen and ( max-width: 559px ){

	.top_main_sp {
		width: 100%;
		height: 175vw;
		background: url(../img/main_sp.jpg) no-repeat;
		background-position: center;
		background-size: 100%;
	}

}

.top_main .otodoke{
	position: absolute;
	top: 0;
	right: 0;
}

.top_main .service{
	margin-left: -14rem;
}

.top_main .service img{
	max-width: max-content;
	width: 100%;
}

@media screen and ( max-width: 559px ){

	header .logo{
		top: 1.6rem;
		left: 1rem;
		max-width: 27rem;
	}

}

/*-----------------------------------------------------------------------------*/

.main_image{
	margin-bottom: 24rem;
	position: relative;
	line-height: 0;
	overflow: hidden;
	width: 100%;
	height: 100vh;
	background: #ccc;
}

.main_image::after{
	content: "";
	display: block;
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/*background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.7) 50%);*/
	background: rgba(0, 0, 0, 0.4) 100%;
	/*background-size: 3px 3px;*/
	opacity: 0.6;
}

.main_image .text{
	color: #fff;
	font-family: 'Noto Serif JP', serif;
	position: absolute;
	top: 21rem;
	right: 0;
	z-index: 2;
	height: max-content;
	display: flex;
	flex-flow: row-reverse;
	margin-right: 14rem;
}

@media screen and ( max-width: 1024px ){

	.main_image video{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
	}

}

/*---------*/

.width-1600{
	max-width: 160rem;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

@media screen and ( max-width: 1680px ){

	.width-1600{
		margin-left: 4rem;
		margin-right: 4rem;
	}

}

@media screen and ( max-width: 559px ){

	.width-1600{
		margin-left: 2rem;
		margin-right: 2rem;
	}

}

/*---------*/

.width-1400{
	max-width: 140rem;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

@media screen and ( max-width: 1480px ){

	.width-1400{
		margin-left: 4rem;
		margin-right: 4rem;
	}

}

@media screen and ( max-width: 559px ){

	.width-1400{
		margin-left: 2rem;
		margin-right: 2rem;
	}

}

/*---------*/

.width-1200{
	max-width: 120rem;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

@media screen and ( max-width: 1280px ){

	.width-1200{
		margin-left: 4rem;
		margin-right: 4rem;
	}

}

@media screen and ( max-width: 559px ){

	.width-1200{
		margin-left: 2rem;
		margin-right: 2rem;
	}

}

/*---------*/

.main_image .text h2{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	
	font-size: 4.2rem;
	font-weight: 200;
	letter-spacing: 0.5rem;
	line-height: 2;
	margin-right: 0;
	margin-left: 3rem;
}

.main_image .text div{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	
	font-size: 2.1rem;
	font-weight: 200;
	letter-spacing: 0.5rem;
	line-height: 3;
}

/*-----------------------------------*/

.founding{
	position: absolute;
	top: 69rem;
	right: 16rem;
	z-index: 2;
}

.mark_main{
	position: absolute;
	top: 43rem;
	right: 8rem;
	z-index: 2;
}

.news_box{
	position: absolute;
	bottom: 20rem;
	left: 5rem;
	z-index: 2;
}

.news_box .tel{
	margin-bottom: 2rem;
}

@media screen and ( max-width: 1440px ){

	.main_image .text {
		top: 19rem;
	}

	.news_box {
		/*top: 55rem;*/
	}

	.founding {
		/*top: 62rem;*/
	}

}

@media screen and ( max-width: 1024px ){

	.main_image .text {
		margin-right: 0rem;
		top: 14rem;
		right: 10rem;
	}

	.main_image .text h2 {
		font-size: 3.4rem;
	}

	.news_box {
		/*top: 42rem;*/
		max-width: 40rem;
	}

	.mark_main {
		top: 37rem;
		right: 0rem;
	}

	.main_image .text div {
		font-size: 1.8rem;
	}

	.mark_main {
		top: 36rem;
		right: 0rem;
	}

	.founding {
		/*top: 47rem;*/
		right: 9rem;
	}

	.founding img{
		max-width: 10rem;
	}

}

@media screen and ( max-width: 768px ){

	.main_image .text {
		top: 20rem;
	}

	.news_box {
		/*top: 67rem;*/
	}

	.founding {
		/*top: 76rem;*/
	}

}

@media ( orientation: landscape ) and ( max-width: 896px ){

	.main_image {
		height: 250vh;
	}

}

@media screen and ( max-width: 559px ){

	.main_image {
		margin-bottom: 0;
		max-height: 70rem;
		height: auto;
		overflow: hidden;
	}

	.news_box.sp {
		position: relative;
		top: 0;
		left: 0;
		right: 0;
	}

	.main_image .text {
		margin-right: 0rem;
		top: 32rem;
		left: 1rem;
		right: auto;
	}

	.main_image .text h2 {
		font-size: 2.8rem;
		margin-left: 1.5rem;
		line-height: 1.6;
	}

	.main_image .text div {
		font-size:1.5rem;
		line-height: 2.3;
	}

	.founding {
		top: 19.5rem;
		left: 1rem;
		right: auto;
	}

	.founding img{
		max-width: 7rem;
	}

	.mark_main {
		top: 45rem;
		right: 10rem;
	}

	.mark_main img{
		max-width: 13rem;
	}

	.news_box .tel{
		margin-bottom: 3rem;
	}

	.main_image .carousel-item img{
		max-height: 70rem;
	}

	.news_box_sp{

	}

	.news_box_sp .tel{
		margin-bottom: 3rem;
	}

}

/*-----------------------------------------------------------------------------*/

/*====== 9-1-1 縦線が動いてスクロールを促す =======*/

/*スクロールダウン全体の場所*/
.scrolldown1{
	/*描画位置※位置は適宜調整してください*/
	position:absolute;
	right: 5rem;
	bottom: 6rem;
	/*全体の高さ*/
	height: 25rem;
	z-index: 10;
}

/*Scrollテキストの描写*/
.scrolldown1 span{
	font-family: 'Noto Serif JP', serif;
	/*描画位置*/
	position: absolute;
	left: 1.5rem;
	top: 0;
	/*テキストの形状*/
	color: #eee;
	font-size: 1.2rem;
	letter-spacing: 0.05em;

	/*縦書き設定*/
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

/* 線の描写 */
.scrolldown1::after{
	content: "";
	/*描画位置*/
	position: absolute;
	top: 0;
	/*線の形状*/
	width: 1px;
	height: 25rem;
	background: #eee;
	/*線の動き1.4秒かけて動く。永遠にループ*/
	animation: pathmove 1.4s ease-in-out infinite;
	opacity:0;
}

.scrolldown1::before{
	content: "";
	/*描画位置*/
	position: absolute;
	bottom: 0;
	right: -6px;
	/*矢印の形状*/
	width: 1px;
	height: 20px;
	background: #eee;
	transform: skewX(-31deg);
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
	0%{
		height: 10rem;
		top:0;
		opacity: 0;
	}
	30%{
		height: 10rem;
		opacity: 1;
	}
	100%{
		height: 0;
		top: 25rem;
		opacity: 0;
	}
}

@media screen and ( max-width: 1024px ){

	.scrolldown1 {
		right: 4rem;
		top: 45rem;
		height: 20rem;
	}

	.scrolldown1::after {
		height: 20rem;
	}

	@keyframes pathmove{
		0%{
			height: 10rem;
			top:0;
			opacity: 0;
		}
		30%{
			height: 10rem;
			opacity: 1;
		}
		100%{
			height: 0;
			top: 20rem;
			opacity: 0;
		}
	}
}


@media screen and ( max-width: 768px ){

	.scrolldown1 {
		top: 70rem;
	}

}

@media screen and ( max-width: 559px ){

	.scrolldown1 {
		top: 42rem;
	}

	.scrolldown1 {
		right: 3.5rem;
		top: 47rem;
		height: 15rem;
	}

	.scrolldown1::after {
		height: 15rem;
	}

	@keyframes pathmove{
		0%{
			height: 5rem;
			top: 0;
			opacity: 0;
		}
		30%{
			height: 5rem;
			opacity: 1;
		}
		100%{
			height: 0;
			top: 15rem;
			opacity: 0;
		}
	}




}

/*-----------------------------------------------------------------------------*/

.news_slide {
	margin: 0 auto;
	/*max-width: 128rem;*/
	width: 100%;
	z-index: 2;
	position: absolute !important;
}

.news_slide .slick-dots{
	bottom: -4rem;
}

.news_slide .slick-dots li{
	margin: 0 0.7rem;
}

.news_slide .slick-dots li button:before{
	content: '';
	width: 3rem;
	height: 0.3rem;
	background: #fff;
}

.top_hall_slide .slick-dots li.slick-active button:before {
	opacity: 1;
}

@media screen and ( max-width: 559px ){

	.campaign_slide {
		width: 100%;
	}

	.slider-img {
		margin: 0;
	}

}

/*-----------------------------------------------------------------------------*/

.top_concept{
	padding-bottom: 5rem;
	margin-bottom: 25rem;
	
	max-width: 90rem;
	margin-left: auto;
	margin-right: auto;
	background: url(../img/top_concept_bg.png) no-repeat right bottom 4rem;
}

.top_concept .area{
	/*height: 35rem;*/
	height: 50rem;
	
	margin-left: auto;
	margin-right: auto;
	
	display: flex;
	justify-content: center;
	flex-direction: row-reverse;
}

.top_concept .area .title{
	font-family: 'Noto Serif JP', serif;

	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.top_concept .area .title .english{

}

.top_concept .area .title h3{
	/*font-size: 3.6rem;*/
	font-size: 6rem;
	margin-right: 1.5rem;
	margin-left: 7rem;
}

.top_concept .area .text{
	font-family: 'Noto Serif JP', serif;

	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;

	/*font-size: 1.8rem;*/
	font-size: 2rem;
	line-height: 4;
	margin-top: 3rem;
	max-height: 40rem;
}

.top_concept .area .top_concept_bt{
	display: flex;
	align-items: end;
	position: relative;
	height: 100%;
}

.top_concept .area .top_concept_bt div{
	font-family: 'Noto Serif JP', serif;

	font-size: 2.2rem;
	line-height: 3;
	text-align: end;
	margin-right: 5rem;
}

.top_concept .area .top_concept_bt a{
	border-right: 0.1rem solid #222;
	color: #222;
	padding-right: 1rem;
	padding-bottom: 2rem;

	position: relative;
	
	display: flex;
	flex-wrap: wrap;
	width: 7rem;
}

.top_concept .area .top_concept_bt a p{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	line-height: 1;
}

.top_concept .area .top_concept_bt a::after {
	content: '';
	/*絶対配置で線の位置を決める*/
	position: absolute;
	top: 0;
	right: -0.1rem;
	/*線の形状*/
	width: 0.1rem;
	height: 100%;
	background: #999;
	/*アニメーションの指定*/
	transition: all .3s;
	transform: scale(1, 0);/*X方向0、Y方向1*/
	transform-origin: left top;/*左上基点*/
}

.top_concept .area .top_concept_bt a:hover::after {
	transform: scale(1, 1);/*X方向にスケール拡大*/
}


.top_concept .area .top_concept_bt span{
	/*position: absolute;*/
	left: 1.5rem;
	font-size: 4rem;
	height: 3rem;
	margin-left: 1.5rem;
}

@media screen and ( max-width: 1024px ){

	.top_concept .area .title h3 {
		font-size: 5rem;
	}

}

@media screen and ( max-width: 559px ){

	.top_concept{
		width: 100%;
		margin-bottom: 12rem;
		background: url(../img/top_concept_bg.png) no-repeat right 2rem top 0rem;
		background-size: 10rem;
		
		padding-left: 2rem;
		padding-right: 2rem;
		
		padding-bottom: 0;
	}

	.top_concept .area {
		height: auto;
		flex-wrap: wrap;
		justify-content: start;
	}

	.top_concept .area .title {
		font-family: 'Noto Serif JP', serif;
		-ms-writing-mode: inherit;
		writing-mode: inherit;
		margin-bottom: 4rem;
		width: 100%;
	}

	.top_concept .area .title .english {
		font-size: 1.2rem;
		margin-bottom: 2rem;
	}

	.top_concept .area .title h3{
		font-size: 2.4rem;
		margin-left: 0;
		margin-bottom: 0;
	}

	.top_concept .area .text {
		-ms-writing-mode: inherit;
		writing-mode: inherit;
		font-size: 1.6rem;
		line-height: 2.6;
		margin-bottom: 3rem;
	}
	
	.top_concept .area .top_concept_bt {
		width: 100%;
	}

	.top_concept .area .top_concept_bt div{
		-ms-writing-mode: inherit;
		writing-mode: inherit;
		margin-right: 0rem;
	}

	.top_concept .area .top_concept_bt span {
		position: relative;
		font-size: 4rem;
		height: 3rem;
		/*left: -2.5rem;*/
		top: -0.5rem;
	}

	.top_concept .area .top_concept_bt a {
		border-right: 0;
		border-bottom: 0.1rem solid #222;
		padding-right: 0;
		padding-bottom: 1rem;
		position: relative;
		display: flex;
		font-size: 1.6rem;
		width: auto;
		align-items: center;
	}

	.top_concept .area .top_concept_bt a::after {
		content: '';
		position: absolute;
		bottom: -0.1rem;
		left: 0;
		width: 100%;
		height: 0.1rem;
		background: #999;
		transition: all .3s;
		transform: scale(0, 1);
		transform-origin: left top;
		margin-top: 4rem;
	}

	.top_concept .area .top_concept_bt a p {
		-ms-writing-mode: inherit;
		writing-mode: inherit;
		line-height: 1;
		text-align: left;
	}

	.top_concept .area .bt {
		width: 100%;
	}

}


/*-----------------------------------------------------------------------------*/

.top_hall{
	/*display: flex;*/
	
	background: url(../img/map.png) no-repeat right bottom;
	/*background-size: 16%;*/
	background-size: 20%;

	width: 100%;
	/*max-width: 176rem;*/
	max-width: 182rem;
	/*padding-right: 10rem;*/
	padding-right: 15rem;
}

.top_hall_slide {
	/*max-width: 140rem;*/
	width: 100%;
	/*margin-right: 0;*/
}
/*
.top_hall_slide .slick-dots{
	bottom: -2rem;
	position: relative;
}

.top_hall_slide .slick-dots li{
	margin: 0 0.7rem;
}

.top_hall_slide .slick-dots li button{
	width: 3rem;
	height: 2rem;
}

.top_hall_slide .slick-dots li button:before{
	content: '';
	width: 3rem;
	height: 0.3rem;
	background: #000;
}

.top_hall_slide .slick-dots li.slick-active button:before {
	opacity: 1;
}
*/
/**/

.top_hall .top_hall_cover{
	display: flex;
	position: relative;
}

.top_hall .top_hall_cover .top_hall_slide_cover{
	position: relative;
	
	max-width: 100%;
	width: 100%;
	overflow: hidden;
	z-index: 2;
}

.top_hall .top_hall_cover .top_hall_slide_cover h3.big{
	font-family: 'Noto Serif JP', serif;
	font-size: 6rem;
	line-height: 1.6;
	font-weight: 300;

	position: absolute;
	z-index: 3;
	top: 17rem;
	right: -28%;
	color: #fff;
	width: 72rem;
}

@media screen and ( max-width: 559px ){

}

/*--------------------------*/

.slider-img {
	/*margin: 0 0.8rem;*/
	margin: 0;
}

.slider-img img {
	height: auto;
	width: 100%;
	max-width: 140rem;
}

/*--------------------------*/

.top_hall_slide .slider-img{
	display: flex !important;
}

.top_hall_slide .slider-img p{
	font-family: 'Noto Serif JP', serif;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	
	line-height: 1;
	text-align: right;
	/*margin-right: 1rem;*/
	margin-right: 0.5rem;
	margin-left: 2rem;
	margin-bottom: -0.5rem;

	letter-spacing: 0.5rem;
	font-size: 1.2rem;
	font-weight: 100;
	
	display: none;
}

.top_hall_slide .slider-img a:hover{
	opacity: 1;
}

.top_hall_slide .slider-img a img:hover{
	opacity: 1;
}

/*--------------------------*/

.top_hall .hall_text {
	margin: 0;
	width: 25%;
	
	z-index: 1;
}

.top_hall .hall_text .contents_title{
	/*margin-left: -39rem;*/
}

.top_hall .hall_text .contents_title h3.big{
	position: absolute;
	top: 17rem;
	right: -2.5%;
	z-index: 0;
	max-width: 72rem;
	letter-spacing: 0;
}

.top_hall .hall_text p{
	font-family: 'Noto Serif JP', serif;
	line-height: 3;
	margin-bottom: 5rem;
}

.top_hall .hall_text .bt{
	position: absolute;
	right: 0;
	top: 50rem;
}

@media screen and ( max-width: 1024px ){

	.top_hall {
		flex-wrap: wrap;

		background: url(../img/map.png) no-repeat right 10vw bottom;
		background-size: 20%;
		
		padding-right: 6rem;
	}

	.slick-dotted.slick-slider {
		width: 100%;
		margin-bottom: 8rem !important;
	}

	.top_hall .hall_text {
		width: 40%;
		margin-left: auto;
		margin-right: auto;
	}

	.top_hall .hall_text .bt{
		top: 25rem;
	}

	.top_hall .top_hall_cover .top_hall_slide_cover h3.big {
		font-size: 5rem;
		top: 2rem;
		right: -54.5%;
	}

	.top_hall .hall_text .contents_title h3.big {
		font-size: 5rem;
		top: 2rem;
		right: 2%;
	}

}

@media screen and ( max-width: 768px ){

	.top_hall {
		padding-left: 4rem;
		padding-right: 4rem;
		background: url(../img/map.png) no-repeat right 5vw bottom;
		background-size: 30%;
	}

	.top_hall .top_hall_cover {
		flex-wrap: wrap;
	}

	.top_hall .top_hall_cover .top_hall_slide_cover h3.big {
		display: none;
	}

	.top_hall .hall_text {
		width: 100%;
		position: relative;
	}

	.top_hall .hall_text .contents_title h3.big {
		position: inherit;
		font-size: 4rem;
		text-align: center;
	}

	.top_hall .hall_text .bt {
		position: unset;
		justify-content: center;
	}

}

@media screen and ( max-width: 559px ){

	.top_hall {
		background: url(../img/map.png) no-repeat right 2vw bottom;
		background-size: 37%;
		padding-left: 1rem;
		padding-right: 1rem;
		padding-bottom: 5rem;
		margin-bottom: 10rem;
	}

	.slick-dotted.slick-slider {
		width: 94%;
		margin-bottom: 4rem !important;
	}

	.top_hall_slide {
		margin-left: auto;
		margin-right: auto;
	}

	.slider-img {
		margin: 0;
	}

	.top_hall_slide .slider-img p {
		display: none;
	}
	
	.top_hall .hall_text .contents_title{
		text-align: center;
	}

	.top_hall .hall_text {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	.top_hall .hall_text .contents_title h3.big {
		font-size: 2.6rem;
	}

	.top_hall .hall_text p{
		line-height: 2.3;
		margin-bottom: 3rem;
	}

	.top_hall .hall_text div.bt{
		justify-content: center;
	}

}

/*--------------------------*/


.top_hall_slide_renew{

}

.top_hall_slide_renew .carousel-inner{
}

.top_hall_slide_renew .carousel-inner .carousel-item{

}

.top_hall_slide_renew .carousel-inner .carousel-item p{
	position: absolute;
	color: #fff;
	z-index: 3;
	left: 2.5rem;
	bottom: 2.5rem;
	
	font-family: 'Noto Serif JP', serif;
	font-size: 2rem;
}

.top_hall_slide_renew .carousel-inner .carousel-item .image::before{
	content: '';
	background: rgba( 0,0,0,.3);
	
	z-index: 2;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and ( max-width: 768px ){

	.top_hall .top_hall_cover .top_hall_slide_cover {
		margin-bottom: 6rem;
	}

}

@media screen and ( max-width: 559px ){

.top_hall_slide_renew .carousel-inner .carousel-item p{
	left: auto;
	right: 1.5rem;
	bottom: 1rem;
	font-size: 1.4rem;
}


}

/*-----------------------------------------------------------------------------*/

.top_plan_list{
	display: flex;
	margin-bottom: 8rem;
}

.top_plan_list li{
	border-left: 0.1rem solid #c1c1c1;

	width : -webkit-calc(100% / 3) ;
	width : calc(100% / 3) ;
	text-align: center;
	padding-left: 5rem;
	padding-right: 5rem;
}

.top_plan_list li:last-child{
	border-right: 0.1rem solid #c1c1c1;
}

.top_plan_list li .image{
	margin-bottom: 4rem;
}

.top_plan_list li .name{
	font-family: 'Noto Serif JP', serif;
	font-size: 2.5rem;
	margin-bottom: 2rem;
}

.top_plan_list li .name img{
	width: 2.4rem;
	margin-top: -0.2rem;
	margin-right: 1rem;
}

.top_plan_list li .name strong{
	font-family: 'Noto Serif JP', serif;
	font-size: 5rem;
	font-weight: 300;
	margin-left: 1rem;
}

.top_plan_list li hr{
	width: 6rem;
	height: 0.2rem;
	background: #5c554d;
	margin-bottom: 2rem;
}

.top_plan_list li .comment{
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	margin-bottom: 3rem;
}

.top_plan_list li .price{
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-weight: 500;
}

.top_plan_list li .price .up{
	display: flex;
	/*font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;*/
}

.top_plan_list li .price .up .tax{
	font-size: 4rem;
	font-weight: 400;
}

.top_plan_list li .price .up .yen{
	line-height: 1.1;
	margin-top: 0.5rem;
	margin-left: 0.5rem;
}

.top_plan_list li .price .up .yen small{
	font-size: 1.1rem;
	font-weight: 500;
}

.top_plan_list li .price .up .yen div{
	font-size: 2.5rem;
}

.top_plan_list li .price .down{
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	display: flex;
	justify-content: end;
	align-items: center;
}

.top_plan_list li .price .down small{
	margin-right: 1.5rem;
}

.top_plan_list li .price .down .tax{
	font-size: 2rem;
	margin-right: 0.5rem;
}

@media screen and ( max-width: 1024px ){

	.top_plan_list li {
		padding-left: 4rem;
		padding-right: 4rem;
	}

	.top_plan_list li .name {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	.top_plan_list li .name img {
		width: auto;
		height: 2.4rem;
		margin-top: 0.4rem;
		margin-right: 1rem;
	}

	.top_plan_list li .name strong {
		margin-left: 0;
		width: 100%;
	}

	.top_plan_list li .comment .pc{
		display: none;
	}

}

@media screen and ( max-width: 768px ){

	.top_plan_list li {
		padding-left: 2rem;
		padding-right: 2rem;
	}

	.top_plan_list li .name {
		font-size: 1.8rem;
	}

	.top_plan_list li .name img {
		width: auto;
		height: 1.8rem;
	}

	.top_plan_list li .comment {
		min-height: 10rem;
	}

}

@media screen and ( max-width: 559px ){

	.top_plan_list {
		flex-wrap: wrap;
		margin-bottom: 3rem;
	}

	.top_plan_list li {
		width: 100%;
	}

	.top_plan_list li .name {
		align-items: center;
	}

	.top_plan_list li .name img {
		height: 3rem;
		margin-top: 0rem;
	}

	.top_plan_list li .name strong {
		margin-top: -1.5rem;
	}

	.top_plan_list li .price_box {
		background: #5c554d;
		color: #fff;
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
	}

/*---*/

	.top_plan_list li {
		border-right: none;
		border-left: none;
		padding-top: 3rem;
	}

	.top_plan_list li:last-child {
		border-right: none;
	}
	
	.top_plan_list li .image {
		margin-bottom: 3rem;
		position: relative;
		padding-bottom: 2rem;
	}
	
	.top_plan_list li .image::after {
		content:'';
		background: #eee7e2;
		width: 100%;
		height: 8rem;
		bottom: 0;
		left: 0;
		position: absolute;
		z-index: -1;
	}

	.top_plan_list li .name {
		display: flex;
		flex-wrap: nowrap;
		justify-content: center;
		align-items: cnter;
		font-size: 2rem;
		line-height: 1;
	}

	.top_plan_list li .name strong {
		font-size: 6rem;
		font-weight: 300;
		margin-left: 1rem;
		width: auto;
	}

	.top_plan_list li .comment {
		min-height: auto;
	}

	.top_plan_list li .price .down {
		margin-top: -0.8rem;
	}

}

/* renew */

.top_plan_list_renew{
	font-family: 'Noto Serif JP', serif;
	margin-bottom: 15rem;
}

.top_plan_list_renew li{
	margin-bottom: 10rem;
}

.top_plan_list_renew li:last-child{
	margin-bottom: 0;
}

.top_plan_list_renew .plan{
	display: flex;
}

.top_plan_list_renew .plan .image{
	width: 50%;
	display: flex;
	justify-content: center;
}

.top_plan_list_renew .plan .name{
	width: 50%;
	display: flex;
	justify-content: center;
}

.top_plan_list_renew .plan .name h4{
	font-size: 3rem;
	display: flex;
	align-items: center;
	height: 28rem;
}

.top_plan_list_renew .plan .name h4 img{
	max-width: 3rem;
	margin-right: 1rem;
}

.top_plan_list_renew .plan .name h4 p{
	text-align: center;
	line-height: 1;
}

.top_plan_list_renew .plan .name h4 p small{
	font-size: 2rem;
}

.top_plan_list_renew .plan .name h4 strong{
	font-size: 12rem;
	margin-left: 2.5rem;
	font-weight: 400;
	margin-top: -2rem;
}

.top_plan_list_renew .band{
	background: #eee7e2;
	height: 13rem;
	
	display: flex;
	justify-content: flex-end;
	margin-top: -10rem;
}

.top_plan_list_renew .band .price{
	background: #5b554c;
	height: 13rem;
	width: 40rem;
	
	display: flex;
	justify-content: flex-end;
	align-items: center;
	color: #fff;
	padding-right: 5rem;
}

/**/

.top_plan_list_renew .band .price .up{
	display: flex;
}

.top_plan_list_renew .band .price .up .tax{
	font-size: 4.6rem;
	font-weight: 200;
}

.top_plan_list_renew .band .price .up .yen{
	line-height: 1.1;
	margin-top: 1.2rem;
	margin-left: 0.5rem;
}

.top_plan_list_renew .band .price .up .yen small{
	font-size: 1.1rem;
	font-weight: 500;
}

.top_plan_list_renew .band .price .up .yen div{
	font-size: 2.5rem;
}

.top_plan_list_renew .band .price .down{
	display: flex;
	justify-content: end;
	align-items: center;
}

.top_plan_list_renew .band .price .down small{
	margin-right: 1.5rem;
}

.top_plan_list_renew .band .price .down .tax{
	font-size: 2.3rem;
	margin-right: 0.5rem;
}

@media screen and ( max-width: 1024px ){

	.top_plan_list_renew .plan .name h4 {
		height: 18rem;
	}

	.top_plan_list_renew .plan .name h4 strong {
		font-size: 10rem;
	}
	
	.top_plan_list_renew .plan .image img{
		max-width: 38rem;
		height: fit-content;
	}

	.top_plan_list_renew .band .price {
		width: 35rem;
	}

}

@media screen and ( max-width: 768px ){

	.top_plan_list_renew .plan .image img {
		max-width: 30rem;
	}

	.top_plan_list_renew .plan .name h4 {
		height: 14rem;
	}

	.top_plan_list_renew .plan .name h4 strong {
		font-size: 9rem;
	}

	.top_plan_list_renew .band {
		height: 11rem;
		margin-top: -8rem;
	}

	.top_plan_list_renew .band .price{
		height: 11rem;
		width: 30rem;
		padding-right: 3rem;
	}

	.top_plan_list_renew .band .price .up {
		margin-top: -1rem;
	}

	.top_plan_list_renew .band .price .down {
		margin-top: -0.5rem;
	}

}


/*-----------------------------------------------------------------------------*/

.top_introduction{

}

.top_introduction .area{
	display: flex;
	justify-content: space-between;
	align-items: start;
}

.top_introduction .area .text{
	max-width: 30rem;
	margin-right: 4rem;
	
	z-index: 1;
}

.top_introduction .area .text p{
	font-family: 'Noto Serif JP', serif;
	line-height: 2.5;
}

.top_introduction .area .top_introduction_list{
	display: flex;
}

.top_introduction .area .top_introduction_list li{
	display: flex;
	margin-right: 2.5rem;
	width: 25%;
}

.top_introduction .area .top_introduction_list li:last-child{
	margin-right: 0rem;
}

.top_introduction .area .top_introduction_list li a{
	color: #222;
	position: relative;
}

.top_introduction .area .top_introduction_list li > a::after {
	content: '';
	/*絶対配置で線の位置を決める*/
	position: absolute;
	top: 0;
	right: 2.5rem;
	/*線の形状*/
	width: 0.1rem;
	height: 55%;
	background: #999;
	/*アニメーションの指定*/
	transition: all .4s;
	transform: scale(1, 0);/*X方向0、Y方向1*/
	transform-origin: left top;/*左上基点*/
}

.top_introduction .area .top_introduction_list li > a:hover::after {
	transform: scale(1, 1);/*X方向にスケール拡大*/
}



.top_introduction .area .top_introduction_list li .title{
	width: 3rem;
	
	height: 100%;
	position: relative;
	margin-right: 1rem;
}

.top_introduction .area .top_introduction_list li .title div{

}

.top_introduction .area .top_introduction_list li .title hr{
	border-left: 0.1rem solid #5c554d;
	
	border-top: none;
	max-height: 55%;
	height: 100%;
	justify-content: center;
	align-items: center;
	width: 0.1rem;
	margin-top: 0;
}

.top_introduction .area .top_introduction_list li .title div{
	width: 3rem;
	font-size: 2.2rem;
	font-family: 'Noto Serif JP', serif;

	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	
	display: flex;
	align-items: center;
}

.top_introduction .area .top_introduction_list li .title span{
	position: absolute;
	bottom: 0;
	left: -0.3rem;
	font-size: 4rem;
	height: 3rem;
}

.top_introduction .area .top_introduction_list li .image{
	max-width: 24rem;
	max-height: 57rem;
	/*background: #ccc;*/
}

@media screen and ( max-width: 1500px ){

	.top_introduction .area .text p .pc{
		display: none;
	}

}

@media screen and ( max-width: 1400px ){

	.top_introduction .area .top_introduction_list li .title hr{
		max-height: 45%;
	}

}

@media screen and ( max-width: 1280px ){

	.top_introduction .area .top_introduction_list li .title hr{
		max-height: 35%;
	}

}

@media screen and ( max-width: 1024px ){

	.top_introduction .area {
		/*flex-wrap: wrap;*/
	}

	.top_introduction .area .top_introduction_list li .title hr{
		max-height: 35%;
	}

	.top_introduction .area .text {
		/*max-width: 50%;*/
		max-width: 18rem;
		margin-bottom: 6rem;

		text-align: center;
		/*margin-left: auto;*/
		/*margin-right: auto;*/
	}

	.top_introduction .area .text p {
		text-align: left;
	}

	.top_introduction .area .text .pc{
		/*display: none;*/
	}

}

@media screen and ( max-width: 768px ){

	.top_introduction .area .text .pc{
		display: block;
	}

	.top_introduction .area .text {
		max-width: 100%;
		text-align: center;
	}

}

@media screen and ( max-width: 559px ){

	.top_introduction .area .text .pc{
		display: none;
	}

	.top_introduction .area .top_introduction_list {
		flex-wrap: wrap;
		justify-content: space-around;
	}

	.top_introduction .area .top_introduction_list li {
		width: 50%;
		margin-right: 0;
		margin-bottom: 3rem;
	}

	.top_introduction .area .text {
		max-width: 100%;
		margin-bottom: 0;
		margin-right: 0;
	}

	.top_introduction .area .top_introduction_list li .title {
		/*margin-left: 1rem;*/
		margin-left: 0rem;
	}

	.top_introduction .area .top_introduction_list li .title div {
		font-size: 1.6rem;
		display: flex;
		align-items: center;
	}

	.top_introduction .area .top_introduction_list li .image {
		margin-right: 1rem;
	}

	.top_introduction .area .text p {
		line-height: 2.3;
		margin-left: 2rem;
		margin-right: 2rem;
	}

}

/* 調整用 */

.top_introduction .space{
	display: flex;
	justify-content: end;
	padding-left: 4rem;
}

.top_introduction .area{
	position: relative;
	max-width: 176rem;
	min-height: 60rem;
}

.top_introduction .area .text {
	z-index: 1;
}

.top_introduction .area .text .contents_title {
	min-width: 50rem;
}

.top_introduction .area .text .bt_area{
	position: absolute;
	top: 35rem;
	left: 0;
}

.top_introduction .area .text .bt_area div{
	margin-bottom: 1rem;
}

.top_introduction .area .contents_title h3.big{
	position: absolute;
	top: 10rem;
	left: 0;
	text-align: left;
	letter-spacing: 0;
}

.top_introduction .area .movie{
	max-width: 150rem;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.top_introduction .area .movie h3.big{
	font-family: 'Noto Serif JP', serif;
	font-size: 6rem;
	line-height: 1.6;
	font-weight: 300;

	position: absolute;
	top: 10rem;
	left: -34rem;
	
	color: #fff;
	z-index: 2;
}

.top_introduction .area .movie video{
	width: 100%;
}


@media screen and ( max-width: 1024px ){

	.top_introduction .area{
		min-height: auto;
	}

	.top_introduction .area .text .bt_area{
		top: 18rem;
	}

	.top_introduction .area .movie {
		max-width: 75%;
	}

	.top_introduction .area .contents_title h3.big{
		top: 0rem;
		font-size: 5rem;
	}

	.top_introduction .area .movie h3.big {
		top: 0rem;
		font-size: 5rem;
		left: -25rem;
	}

}

@media screen and ( max-width: 768px ){

	.top_introduction .space {
		padding-right: 4rem;
	}

	.top_introduction .area {
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}

	.top_introduction .area .movie {
		max-width: 100%;
		margin-bottom: 6rem;
	}

	.top_introduction .area .movie h3.big {
		display: none;
	}

	.top_introduction .area .contents_title h3.big {
		font-size: 4rem;
		width: 100%;
		text-align: center;
		position: unset;
	}

	.top_introduction .area .contents_title h3.big br.pc{
		display: none;
	}

	.top_introduction .area .text {
		max-width: 100%;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 0;
	}

	.top_introduction .area .text .bt_area {
		position: unset;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}

	.top_introduction .area .text .bt_area div {
		margin-bottom: 3rem;
		width: 40%;
		display: flex;
		justify-content: center;
	}

	.top_introduction .area .text .bt_area div:nth-child(3),
	.top_introduction .area .text .bt_area div:nth-child(4) {
		margin-bottom: 0;
	}

	.top_introduction .area .text .contents_title {
		min-width: 100%;
	}

}

@media screen and ( max-width: 559px ){

	.top_introduction .space {
		padding-left: 0;
		padding-right: 0;
	}

	.top_introduction .area .contents_title h3.big {
		font-size: 2.6rem;
	}

	.top_introduction .area .text .bt_area {
		flex-wrap: wrap;
		justify-content: space-between;
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}

	.top_introduction .area .text .bt_area div {
		width: 45%;
	}

	.top_introduction .area .text .bt_area div a{
		width: 100%;
	}

}


/*-----------------------------------------------------------------------------*/

.member_banner{
	max-width: 100rem;
	height: 28rem;
	border: 0.5rem solid #f0f0f0;
	display: flex;
	margin-left: auto;
	margin-right: auto;
}

.member_banner > div{
	width: 50%;
}

.member_banner > div.image{
	background: url(../img/member_banner_bg.jpg) no-repeat;
	background-size: cover;
	background-position: center;
}

.member_banner > div.text{
	padding: 4rem 4.5rem;
	font-family: 'Noto Serif JP', serif;
	background: url(../img/member_banner_bg.png) no-repeat;
	background-position: bottom 4rem right 4rem;
}

.member_banner > div.text .title{
	margin-bottom: 2rem;
	font-size: 2.8rem;
	letter-spacing: 0.5rem;
}

.member_banner > div.text .title .tab{
	display: none;
}


.member_banner > div.text p{
	margin-bottom: 4rem;
	letter-spacing: 0.3rem;
}

.member_banner > div.text p .tab{
	display: none;
}


@media screen and ( max-width: 1024px ){

	.member_banner > div.text{
		padding: 3rem 3.5rem;
	}

}

@media screen and ( max-width: 768px ){

	.member_banner > div.text .title .tab{
		display: block;
	}

	.member_banner {
		height: auto;
	}

	.member_banner > div.text p .tab{
		display: block;
	}

}

@media screen and ( max-width: 559px ){

	.member_banner {
		height: 20rem;
		margin-bottom: 4rem;
	}

	.member_banner > div.text {
		padding: 1.5rem 2rem;
		background-size: 40%;
		background-position: bottom 2rem right 1rem;
		width: 65%;
	}

	.member_banner > div.text .title {
		font-size: 2rem;
		margin-bottom: 2rem;
	}

	.member_banner > div.text p {
		font-size: 1.4rem;
	}

	.member_banner > div.text p .tab{
		display: none;
	}


	.member_banner > div.image{
		background: url(../img/member_banner_bg_sp.jpg) no-repeat;
		background-size: cover;
		background-position: center;
	}

}

@media screen and ( max-width: 375px ){

	.member_banner > div.text {
		width: 70%;
	}


}

/*-----------------------------------*/

.bt.member {
	display: flex;
	justify-content: left;
}

/*-----------------------------------------------------------------------------*/

.top_news{

}

.top_news .area{
	display: flex;
}

.top_news .area > div{
	width: 50%;
	display: flex;
	flex-wrap: wrap;
}

.contents_title.news {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.contents_title.news h3{
	line-height: 1;
	margin-left: 0;
	margin-right: 1rem;
	/*font-size: 3rem;*/
}

.top_news .area .news{
	/*margin-right: 5rem;*/
	width: 15%;
	display: flex;
	align-items: end;
}

.top_news .area ul{
	font-family: 'Noto Serif JP', serif;
	width: 70%;
	margin-bottom: 4rem;
}

.top_news .area > div ul li{
	border-bottom: 0.1rem solid #e2e2e2;
	padding-bottom: 1rem;
	margin-bottom: 2rem;
}

.top_news .area > div ul li:last-child{
	margin-bottom: 0rem;
}

.top_news .area > div.news_left ul li{
	padding-bottom: 1.5rem;
	margin-bottom: 1.5rem;
}

.top_news .area > div.news_left ul li:nth-child(3){
	margin-bottom: 0;
}

.top_news .area > div ul li p{
	font-size: 1.2rem;
}

.top_news .area > div.event_right ul li p{
	display: flex;
	align-items: center;
	margin-bottom: 1.5rem;
}

.top_news .area > div.event_right ul li p span{
	border: 0.1rem solid #ccc;
	width: 8rem;
	height: 2.8rem;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: 1.5rem;
}

.top_news .area > div.event_right ul li p span.line01{
	border: 0.1rem solid #b19b7b;
	color: #b19b7b;
}

.top_news .area > div.event_right ul li p span.line02{
	border: 0.1rem solid #b17b96;
	color: #b17b96;
}

.top_news .area > div.event_right ul li p span.line03{
	border: 0.1rem solid #7bb19c;
	color: #7bb19c;
}

.top_news .area > div.event_right ul li p span.line04{
	border: 0.1rem solid #7b93b1;
	color: #7b93b1;
}

.top_news .area > div ul li div{

}

.top_news .area > div ul li div a{
	color: #222;
}

.top_news .area > div .bt_area{
	/*margin-left: 11.4rem;*/
	margin-left: 15%;
	display: flex;
}

.top_news .area > div .bt_area > div{
	
}

.top_news .area > div .bt_area > div:first-child{
	margin-right: 10%;
}

.top_news{

}

.top_news .image_box{
	width: 80%;
	margin-bottom: 5rem;
}

@media screen and ( max-width: 1400px ){

	.top_news .area > div .bt_area {
		flex-wrap: wrap;
		align-items: start;
	}
	
	.top_news .area > div .bt_area > div:first-child {
		margin-right: 0;
		margin-bottom: 2rem;
		width: 100%;
	}

}

@media screen and ( max-width: 1024px ){

	.top_news .area{
		display: flex;
		justify-content: space-between;
		width: 100%;
	}

	.top_news .image_box {
		width: 100%;
	}

	.top_news .area > div {
		width: 45%;
	}

	.top_news .area .news{
		/*margin-right: 3rem;*/
		width: 100%;
	}

	.contents_title.news {
		-ms-writing-mode: unset;
		writing-mode: unset;
	}

	.contents_title.news.site {
		-ms-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
	}

	.top_news .area > div .bt_area {
		/*margin-left: 9.4rem;*/
		margin-left: 0;
	}

}

@media screen and ( max-width: 768px ){

	.top_news .area {
		align-items: start;
		justify-content: space-between;
	}

	.top_news .area > div {
		width: 48%;
	}

	.contents_title.news {
		-ms-writing-mode: inherit;
		writing-mode: inherit;
	}

	.top_news .area ul {
		width: 100%;
	}

	.top_news .area > div .bt_area {
		margin-left: 0;
	}

}

@media screen and ( max-width: 559px ){

	.top_news .area ul {
		width: 100%;
		margin-bottom: 4rem;
	}

	.top_news .area > div ul li:nth-child(3){
		margin-bottom: 0;
	}

	.top_news .area > div ul li:nth-child(4){
		display: none;
	}

	.top_news .area > div ul li:nth-child(5){
		display: none;
	}

	.top_news .area > div ul li p{
		font-size: 1.4rem;
	}

	.top_news .area > div {
		flex-wrap: wrap;
		width: 100%;
	}

	.top_news .area > div.news_left {
		margin-bottom: 10rem;
	}

	.top_news .area {
		flex-wrap: wrap;
	}

	.top_news .area > div .bt_area > div:first-child {
		width: auto;
		margin-bottom: 0;
	}

	.top_news .area .news {
		margin-right: auto;
		margin-left: auto;
		text-align: center;
	}

	.contents_title.news {
		-ms-writing-mode: inherit;
		writing-mode: inherit;
	}

	.contents_title.news.site {
		-ms-writing-mode: unset;
		writing-mode: unset;
	}


	.top_news .area > div .bt_area {
		margin-left: 0;
		margin-right: 0;
		display: flex;
		justify-content: space-around;
		width: 100%;
	}

}


/*-----------------------------------*/

.bt.member.wide a{
	width: 23rem;
}

@media screen and ( max-width: 559px ){

	.bt.member.wide a {
		width: auto;
	}

}

/*-----------------------------------*/

.top_news .modal-title{
	font-size: 2.4rem;
}

.top_news .modal-body{

}

.top_news .modal-body .event_tbl{
	width: 100%;
}

.top_news .modal-body .event_tbl td{
	text-align: center;
	padding: 0.5rem;
}

.top_news .modal-body .event_tbl td a{
	display: flex;
	border: 0.1rem solid #ccc;
	justify-content: center;
	align-items: center;
	padding: 1rem;
	color: #222;
}

.top_news .modal-footer{

}

.top_news .modal-footer button{
	font-size: 1.6rem;
	padding: 0.5rem 1.5rem;
	transition: .5s;
}

.top_news .modal-footer button:hover{
	opacity: 0.6;
}

.top_news .modal-footer button.btn-primary{
	background: #222;
	border: 0.1rem solid #222;
}

.top_news .modal-footer button.btn-primary:not(:disabled):not(.disabled):active{
	background: #222;
	border: 0.1rem solid #222;
}

/*-----------------------------------------------------------------------------*/

.top_knowledge{
	
}

.top_knowledge .knowledge_area{
	display: flex;
}

.top_knowledge .knowledge_area .image{
	display: flex;
	justify-content: space-between;
	/*max-width: 110rem;*/
	width: 70%;
	margin-right: 4%;
}

.top_knowledge .knowledge_area .image > div.box{
	width: 48%;
}

.top_knowledge .knowledge_area .image > div.box .image_box{
	/*margin-bottom: 2rem;*/
	margin-bottom: 5rem;
}

.top_knowledge .knowledge_area .text{
	/*max-width: 40rem;*/
	width: 24%;
}

.top_knowledge .knowledge_area .text .contents_title{
	margin-bottom: 4rem;
}

.top_knowledge .knowledge_area .text .contents_title h3{
	margin-top: -2rem;
	margin-bottom: -1rem;
}

.top_knowledge .knowledge_area .text p{
	font-family: 'Noto Serif JP', serif;
	line-height: 3;
	letter-spacing: 0.3rem;
}

@media screen and ( max-width: 1024px ){

	.top_knowledge .knowledge_area {
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}

	.top_knowledge .knowledge_area .text {
		width: 50%;
		margin-bottom: 6rem;
		text-align: center;
		margin-left: auto;
		margin-right: auto;
	}

	.top_knowledge .knowledge_area .image {
		width: 100%;
		margin-right: 0;
	}

	.top_knowledge .knowledge_area .text p {
		text-align: left;
	}

}

@media screen and ( max-width: 768px ){

	.top_knowledge .knowledge_area .text {
		width: 70%;
	}

}

@media screen and ( max-width: 559px ){

	.top_knowledge .knowledge_area .text {
		width: 100%;
		text-align: center;
	}

	.top_knowledge .knowledge_area .text .contents_title h3{
		margin-top: 0rem;
		margin-bottom: 0rem;
	}

	.top_knowledge .knowledge_area .image {
		flex-wrap: wrap;
	}

	.top_knowledge .knowledge_area .image > div.box {
		flex-wrap: wrap;
		display: flex;
		justify-content: center;
		width: 100%;
	}

	.top_knowledge .knowledge_area .image > div.box:nth-child(1) {
		margin-bottom: 6rem;
	}

	.top_knowledge .knowledge_area .text p {
		line-height: 2.3;
		margin-left: 2rem;
		margin-right: 2rem;
	}

}

/*-----------------------------------------------------------------------------*/

.group_area{
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.group_area .contents_title{
	margin-bottom: 0;
	/*width: 6%;*/
}

.group_area ul.group_area_list{
	display: flex;
	flex-wrap: wrap;
	width: 92%;
}

.group_area ul.group_area_list li{
	margin-top: 1rem;
	margin-left: 1rem;
	margin-right: 1rem;
	margin-bottom: 1rem;
}

.group_area ul.group_area_list li:last-child{
	
}

@media screen and ( max-width: 1024px ){

	.group_area .contents_title{
		writing-mode: vertical-rl;
	}

	.group_area ul.group_area_list {
		width: 85%;
		flex-wrap: wrap;
	}

	.group_area ul.group_area_list li {
		width: 25%;
		margin-top: 0;
		margin-bottom: 2rem;
	}

	/*.group_area ul.group_area_list li:nth-child(4),*/
	.group_area ul.group_area_list li:nth-child(5),
	.group_area ul.group_area_list li:nth-child(6){
		margin-bottom: 0;
	}

}

@media screen and ( max-width: 559px ){

	.group_area {
		flex-wrap: wrap;
	}

	.group_area .contents_title{
		writing-mode: unset;
		margin-bottom: 4rem;
		text-align: center;
		margin-left: auto;
		margin-right: auto;
	}

	.group_area .contents_title h3{
		margin-right: 0;
	}

	.group_area ul.group_area_list {
		width: 100%;
		flex-wrap: wrap;
	}
	
	.group_area ul.group_area_list li {
		width: 47%;
		margin-top: 0;
		margin-left: 0.4rem;
		margin-right: 0.4rem;
		margin-bottom: 0.8rem;
	}

	.group_area ul.group_area_list li:nth-child(5){
		margin-bottom: 0.8rem;
	}


}

/*-----------------------------------------------------------------------------*/

.page_bottom_line{
	width: 100%;
	background: #5c554d;
	font-family: 'Noto Serif JP', serif;

	position: fixed;
	bottom: 0;
	/*z-index: 3;*/
	z-index: 100;
	
	opacity: 0;
	transform : translate(0, 10rem);
	transition : all 300ms;
}

.page_bottom_line.fixed{
	display: block;
	opacity: 1;
	
	transform : translate(0, 0);
}

.page_bottom_line .box{
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 10rem;
}

.page_bottom_line .box .logo{
	max-width: 20rem;
	margin-right: 3rem;
}

.page_bottom_line .box .tel{
	margin-right: 2rem;
}

.page_bottom_line .box .tel .title{
	color: #fff;
	font-weight: 100;
	font-size: 1.4rem;
}

.page_bottom_line .box .tel .dial{
	white-space: nowrap;
}

.page_bottom_line .box .tel .dial a{
	color: #fff;
	font-size: 4rem;
	font-weight: 100;
	line-height: 1;
}

.page_bottom_line .box .tel .dial a img{
	max-width: 5rem;
	margin-top: -0.5rem;
	margin-right: 1rem;
}

.page_bottom_line .box .point_list{
	display: flex;
	color: #fff;
	flex-wrap: wrap;
}

.page_bottom_line .box .point_list li{
	font-weight: 100;
	font-size: 1.4rem;
	border: 0.1rem solid #fff;
	
	border-radius: 0.4rem;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 17rem;
	height: 3rem;
	
	margin-top: 0.3rem;
	margin-bottom: 0.3rem;
}

.page_bottom_line .box .point_list li:nth-child(1){
	margin-right: 0.8rem;
}

.page_bottom_line .box .bt_list{
	display: flex;
	height: 6rem;
}

.page_bottom_line .box .bt_list li{

}

.page_bottom_line .box .bt_list li.request{
	border-left: 0.1rem solid #aeaaa6;
}

.page_bottom_line .box .bt_list li.consultation{
	border-left: 0.1rem solid #aeaaa6;
}

.page_bottom_line .box .bt_list li.hurry{

}

.page_bottom_line .box .bt_list li.hurry a{
	background: #bc426a;
}


.page_bottom_line .box .bt_list li a{
	color: #fff;
	font-weight: 100;
	display: flex;
	align-items: center;
	
	padding-left: 3rem;
	padding-right: 3rem;
	height: 6rem;
}

.page_bottom_line .box .bt_list li a span.material-symbols-outlined{
	font-size: 3rem;
	font-variation-settings:
		'FILL' 0,
		'wght' 100,
		'GRAD' 0,
		'opsz' 48
	;
	margin-right: 1rem;
}

.page_bottom_line .box .bt_list li .text{
	white-space: nowrap;
}

.page_bottom_line .box .bt_list li .text p{
	font-size: 2rem;
	line-height: 1;
}

.page_bottom_line .box .bt_list li .text small{
	font-size: 1.1rem;
}

@media screen and ( max-width: 1400px ){

	.page_bottom_line .box .point_list {
		display: none;
	}

}

@media screen and ( max-width: 1200px ){

	.page_bottom_line .box .logo {
			display: none;
	}

}

@media screen and ( max-width: 1024px ){

	.page_bottom_line .box {
		height: 8rem;
	}

	.page_bottom_line .box .tel .dial a {
		font-size: 3.5rem;
	}

	.page_bottom_line .box .tel .dial a img {
		max-width: 4.2rem;
	}

}

@media screen and ( max-width: 559px ){

	.page_bottom_line .box {
		margin-left: 0;
		margin-right: 0;
	}

	.page_bottom_line .box .bt_list li.request {
		border-left: none;
	}


}


.bt_list_sp{
	display: none;
}

@media screen and ( max-width: 768px ){

	.page_bottom_line .box .bt_list{
		display: none;
	}


	.page_bottom_line .box .bt_list_sp {
		display: flex;
		width: 100%;
		justify-content: end;
	}

	.page_bottom_line .box .bt_list_sp li {
		width: 25%;
		border-right: 0.1rem solid #aeaaa6;
		text-align: center;
	}

	.page_bottom_line .box .bt_list_sp li a{
		color: #fff;
	}

	.page_bottom_line .box .bt_list_sp li:last-child {
		border-right: none;
	}

}

/*-----------------------------------------------------------------------------*/

.side_banner{
	width: 5rem;
	font-family: 'Noto Serif JP', serif;

	position: fixed;
	top: 20%;
	right: 0;
	z-index: 3;

	opacity: 0;
	transform : translate(5rem , 0);
	transition : all 300ms;
}

.side_banner.fixed{
	display: block;
	opacity: 1;
	
	transform : translate(0, 0);
}


.side_banner ul{

}

.side_banner ul li{
	display: flex;
	transition: transform 1.2s ease 0s;
	width: 64rem;
	background: #fff;
}

.side_banner ul li:nth-child(1){
	margin-bottom: 2rem;
}

.side_banner ul li div{
	color: #fff;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	height: 22rem;
	background: #5c554d;
	font-weight: 100;
	align-items: center;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

.side_banner ul li:nth-child(1) div{
	background: #6c4ea5;
	width: 5rem;
}

.side_banner ul li:nth-child(2) div{
	background: #50733e;
	width: 5rem;
}

.side_banner ul li a:hover{
	opacity: 1;
}

.side_banner ul li p{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 2rem;
	letter-spacing: 0.2rem;
}

.side_banner ul li span{
	font-size: 3.5rem;
	font-weight: 100;
	margin-left: 0.2rem;
}

.side_banner ul li span.arrow{
	font-size: 4.5rem;
}

@media screen and ( max-width: 1024px ){

	.side_banner {
		width: 4.5rem;
		transform : translate( 4.5rem , 0);
	}

	.side_banner ul li span {
		font-size: 3rem;
	}

	.side_banner ul li p {
		font-size: 1.6rem;
		line-height: 1;
	}

	.side_banner ul li a {
		height: 18rem;
	}

}

@media screen and ( max-width: 768px ){

	.side_banner.fixed{
		display: none;
	}

}

@media screen and ( max-width: 559px ){

}

.side_banner ul li {
	left: calc(100% - 45px);
}
.side_banner ul li:hover {
	transform: translateX(-59rem);
	width: 64rem;
}

/*-----------------------------------------------------------------------------*/

#g-nav .area{
	display: flex;
	align-items: center;
}

#g-nav .area .image{
	width: 20%;
	margin-right: 10rem;
	height: 100vh;
	background: url(../img/g-nav_01.jpg) no-repeat;
	background-size: cover;
	background-position: center;
}

#g-nav .area .text{
	display: flex;
	color: #fff;
}

#g-nav .area .search{
	margin-right: 10rem;

	background: url(../img/mark_white.png) no-repeat;
	background-position: left bottom;
}

#g-nav .area .search .logo{
	margin-top: 2rem;
	margin-bottom: 3rem;
	max-width: 40.6rem;
}

#g-nav .area .search .tel{
	font-size: 3.6rem;
	font-family: 'Noto Serif JP', serif;
	display: flex;
	align-items: center;
	font-weight: 200;
	line-height: 1;
	margin-bottom: 5rem;
}

#g-nav .area .search .tel a{
	color: #fff;
}

#g-nav .area .search .tel img{
	max-width: 4rem;
	margin-top: -0.5rem;
	margin-right: 2rem;
}

#g-nav .area .search .site_search .title{
	font-size: 2rem;
	font-family: 'Noto Serif JP', serif;
	margin-bottom: 1rem;
}

#g-nav .area .search .site_search .form-control{
	height: 5rem;
	font-size: 1.6rem;
}

#g-nav .area .search .site_search .btn-success{
	font-family: 'Noto Serif JP', serif;

	color: #fff;
	background-color: #b9a698;
	border-color: #b9a698;
	font-size: 2rem;

	height: 5rem;
	width: 9.5rem;
}

#g-nav .area .search .site_search .btn-success:hover{
	background-color: #bc426a;
	border-color: #bc426a;
}

@media screen and ( max-width: 1024px ){

	#g-nav .area .search{
		margin-right: 6rem;
	}

	#g-nav .area .text {
		display: flex;
		color: #fff;
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}

	#g-nav .area .image {
		display: none;
	}

}

@media screen and ( max-width: 559px ){

	#g-nav {
		overflow: scroll;
		height: 100vh;
	}

	#g-nav .area {
		align-items: center;
		padding-top: 5rem;
		padding-bottom: 20rem;
	}

	#g-nav .area .text {
		width: 90%;
		/*padding-top: 43rem;*/
		flex-wrap: wrap;
	}

	#g-nav .area .search {
		margin-right: 0;
		background: none;
	}

	#g-nav .area .search .logo {
		margin-top: 0rem;
		margin-bottom: 5rem;
		margin-right: 10rem;
	}

	#g-nav .area .search .tel {
		white-space: nowrap;
		border: 0.1rem solid #73716f;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 1rem;
	}

	.order_banner.popup ul li p {
		font-size: 1.8rem;
	}

}

@media screen and ( max-width: 375px ){

	.order_banner.popup ul li p {
		font-size: 1.6rem;
	}

}


/*-----------------------------------------------------------------------------*/

.g-nav_list{
	font-family: 'Noto Serif JP', serif;
	max-width: 38rem;
	margin-bottom: 3rem;
}

.g-nav_list li{
	font-size: 2rem;
	border-bottom: 0.1rem solid #73716f;
	position: relative;
}

.g-nav_list li::after {
	content: '';
	/*絶対配置で線の位置を決める*/
	position: absolute;
	bottom: -0.1rem;
	left: 0;
	/*線の形状*/
	width: 100%;
	height: 0.1rem;
	background: #fff;
	/*アニメーションの指定*/
	transition: all .3s;
	transform: scale(0, 1);/*X方向0、Y方向1*/
	transform-origin: left top;/*左上基点*/
}

/*現在地とhoverの設定*/
.g-nav_list li:hover::after {
	transform: scale(1, 1);/*X方向にスケール拡大*/
}


.g-nav_list li a{
	color: #fff;

	display: flex;
	align-items: center;
	justify-content: space-between;
}

.g-nav_list li a::after{
	font-family: 'Material Symbols Outlined';
	content: '\e5cc';
	color: #73716f;
	font-size: 4rem;
	
	font-variation-settings:
	'FILL' 1,
	'wght' 200,
	'GRAD' 200,
	'opsz' 48;
	transition: all .2s;
}

.g-nav_list li a:hover::after{
	margin-right: 0rem;
	color: #fff;
}

.g-nav_list_small{
	max-width: 72rem;
	
	display: flex;
	flex-wrap: wrap;
	font-family: 'Noto Serif JP', serif;
}

.g-nav_list_small li {
	margin-right: 3rem;
}

.g-nav_list_small li a{
	color: #fff;
	display: flex;
	align-items: center;
}

.g-nav_list_small li a::before{
	font-family: 'Material Symbols Outlined';
	content: '\eaaa';
	color: #fff;
	font-size: 3rem;
	margin-right: 0.5rem;
}

@media screen and ( max-width: 559px ){

	.g-nav_list li {
		font-size: 1.8rem;
	}

	.g-nav_list_small li {
		width: 100%;
		margin-right: 0;
	}

	.order_banner.popup ul {
		margin-left: 0;
		margin-right: 0;
	}
	
	#g-nav .site_search{
		margin-bottom: 2rem;
	}

	.g-nav_list li a{
		justify-content: space-between;
		white-space: nowrap;
	}

	.g-nav_list li a small{
		width: 100%;
	}


}

/*-----------------------------------------------------------------------------*/

/*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
.openbtn{
	/*ボタン内側の基点となるためrelativeを指定。
	追従するナビゲーションの場合はfixed＋top、rightといった位置をセットで指定*/
	position: fixed;
	/*background: #D54884;*/
	cursor: pointer;
	width: 6rem;
	height: 7rem;
	/*border-radius: 5px;*/
	
	top: 4rem;
	right: 5rem;
	/*z-index: 2000;*/
	z-index: 1001;
	mix-blend-mode: difference;
}

.openbtn.fixed{
	mix-blend-mode: difference;
}

/*ボタン内側*/
.openbtn span{
	display: inline-block;
	transition: all .4s;/*アニメーションの設定*/
	position: absolute;
	left: 0;
	height: 0.2rem;
	/*border-radius: 5px;*/
	background: #fff;
	width: 100%;
}

.openbtn span:nth-of-type(1) {
	top: 0;	
}

.openbtn span:nth-of-type(2) {
	top: 1.8rem;
}

.openbtn span:nth-of-type(3) {
	top: 3.6rem;
}

.openbtn::after {
	content:"Menu";/*3つ目の要素のafterにMenu表示を指定*/
	position: absolute;
	bottom: 0;
	left: 0.1rem;
	color: #fff;
	font-size: 1.6rem;
	text-transform: uppercase;
	font-family: 'Noto Serif JP', serif;
	
	display: flex;
	width: 100%;
	justify-content: center;
	letter-spacing: 0.3rem;
	font-weight: 100;
}

/*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/

.openbtn.active span:nth-of-type(1) {
	top: 1rem;
	left: 0;
	transform: translateY(6px) rotate(-225deg);
	width: 100%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
	top: 2rem;
	left: 0;
	transform: translateY(-6px) rotate(225deg);
	width: 100%;
}

.openbtn.active::after {
	content:"Close";/*3つ目の要素のafterにClose表示を指定*/
	/*transform: translateY(0) rotate(-45deg);*/
	bottom: 0;
	left: 0;
}

@media screen and ( max-width: 559px ){

	.openbtn {
		width: 4.5rem;
		top: 1.5rem;
		right: 2rem;
		height: 5.5rem;
	}

	.openbtn span:nth-of-type(1) {
		top: 0;	
	}

	.openbtn span:nth-of-type(2) {
		top: 1.5rem;
	}

	.openbtn span:nth-of-type(3) {
		top: 3rem;
	}

	.openbtn::after {
		font-size: 1.1rem;
	}

}

/*-------------------------------------------*/

.site_search .btn-success:focus{
	box-shadow: 0 0 0 0.2rem rgba(180,159,72,.5);
}

.site_search .form-control:focus{
	border-color: #c0b19d;
}

/*-------------------------------------------*/

#g-nav{
	/*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
	position:fixed;
	z-index: -1;
	opacity: 0;/*はじめは透過0*/
	/*ナビの位置と形状*/
	top:0;
	width:100%;
	height: 100vh;/*ナビの高さ*/
	background:#373431;
	/*動き*/
	transition: all 0.3s;
/*
	z-index: 999;
	opacity: 1;
*/
}

/*アクティブクラスがついたら透過なしにして最前面へ*/
#g-nav.panelactive{
	opacity: 1;
	z-index:999;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
	/*ナビの数が増えた場合縦スクロール*/
	position: fixed;
	z-index: 999; 
	width: 100%;
	height: 100vh;/*表示する高さ*/
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

/*
#g-nav {
	overflow-x: hidden;
}
*/
#g-nav .area .text .link {
	/*padding-top: 5rem;*/
	/*padding-bottom: 5rem;*/
	/*height: 68rem;*/
	height: 72vh;

	overflow-x: hidden;
}

@media screen and ( max-width: 1024px ){

	#g-nav {
		overflow-x: hidden;
	}

	#g-nav .area {
		align-items: flex-start;
	}

	#g-nav .area .text {
		padding-top: 5rem;
		padding-bottom: 5rem;
		height: auto;
		overflow-x: auto;
	}

	#g-nav .area .text .link {
		height: 80vh;
	}

	.g-nav_list_small li {
		font-size: 1.5rem;
	}

}

@media screen and ( max-width: 768px ){

	#g-nav .area .text {
		flex-wrap: wrap;
	}

	#g-nav .area .text .link {
		height: 57vh;
	}

	#g-nav .area .search {
		margin-bottom: 4rem;
		background-position: right center;
		background-size: 9rem;
	}

}

@media screen and ( max-width: 559px ){

	#g-nav .area .text {
		padding-top: 0;
		padding-bottom: 0;
	}

	#g-nav .area .text .link {
		height: auto;
		overflow-x: auto;
	}

}

/*-----------------------------------------------------------------------------*/

/*ナビゲーション*/
/*
#g-nav ul {
	display: none;

	position: absolute;
	z-index: 999;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
}

#g-nav.panelactive ul {
	display: block;
}
*/
/*リストのレイアウト設定*/
/*
#g-nav li{
	list-style: none;
	text-align: center; 
}

#g-nav li a{
	color: #fff;
	text-decoration: none;
	padding:10px;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: bold;
}
*/

/*-----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------*/


/*-----------------------------------------------------------------------------*/

.footer{
	/*background: url(../img/footer_bg.png) repeat;*/
	background: #373431;
	padding-top: 9rem;
	padding-bottom: 16rem;
	
	font-family:"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic","ヒラギノ角ゴ Pro W2", Hiragino Kaku Gothic Pro, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.footer_logo{
	text-align: center;
}


.footer_logo img{
	width: 19.3rem;
}


@media screen and ( max-width: 559px ){

	.footer{
		padding-top: 4.5rem;
		padding-bottom: 12rem;
	}

	.footer_logo{
		margin-bottom: 4rem;
		margin-left: -2rem;
	}

	.footer_logo img{
		width: 14rem;
	}

}

/*----------------------*/

.globalnavi{
	display: flex;
	justify-content: center;
}

.globalnavi > li{
	margin-right: 10rem;
}

.globalnavi > li:last-child{
	margin-right: 0;
}

.globalnavi a{
	color: #fff;
}

.globalnavi .line{
	margin-bottom: 4rem;
}

.globalnavi .line > li{
	margin-bottom: 2.5rem;
	position: relative;
}

.globalnavi .line .sub{
	font-size: 1.4rem;
}

.globalnavi .line .sub li{
	margin-bottom: 1.5rem;
}

.globalnavi .line .sub li:last-child{
	margin-bottom: 0rem;
}

.globalnavi .line .sub a::before{
	content: '・';
}

.copyright{
	text-align: center;
	color: #fff;
	font-size: 1.2rem;
}


@media screen and ( max-width: 1024px ){

	.globalnavi > li{
		margin-right: 5rem;
	}

}

@media screen and ( max-width: 768px ){

	.globalnavi {
		flex-wrap: wrap;
	}

	.globalnavi > li {
		margin-right: 0rem;
		width: 50%;
	}

}

@media screen and ( max-width: 559px ){

	.globalnavi{
		flex-wrap: wrap;
		font-size: 1.3rem;
	}
	
	.globalnavi .line {
		margin-bottom: 2rem;
	}

	.globalnavi > li{
		width: 50%;
		margin-right: 0;
	}

	.globalnavi .line > li{
		margin-bottom: 2rem;
	}

	.globalnavi .line .sub {
		font-size: 1.3rem;
	}

}


/*-----------------------------------------------------------------------------*/


[id^="more_pc"].collapse{
	display: none;
}

[id^="more_pc"].collapse.show{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

h4.more_pc {
	display: flex;
	margin-left: auto;
	margin-right: auto;
}

h4.more_pc a{
	width: 25rem;
	height: 5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 0.1rem solid #5c554d;
	border-radius: 0.4rem;
	color: #5c554d;
	margin-left: auto;
	margin-right: auto;
	margin-top: 2rem;
	margin-bottom: 2rem;
	font-size: 1.6rem;
}

h4.more_pc a[aria-expanded="false"]::after{
	content: 'もっと見る▼';
}

h4.more_pc a[aria-expanded="true"]::after{
	content: '閉じる▲';
}

#more_pc.collapse{
	display: none;
}

#more_pc.collapse.show{
	display: block;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

@media screen and ( max-width: 559px ){

	h4.more_pc a{
		display: none;
	}

	#more_pc.collapse{
		display: block;
	}

	#more_pc.collapse.show{
		display: block;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

}


/*-----------------------------------------------------------------------------*/

@media screen and ( max-width: 559px ){

	[id^="more_list"].collapse{
		display: none;
	}

	[id^="more_list"].collapse.show{
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	h4.more {
		display: flex;
		margin-left: auto;
		margin-right: auto;
	}

	h4.more a{
		width: 25rem;
		height: 5rem;
		display: flex;
		justify-content: center;
		align-items: center;
		border: 0.1rem solid #5c554d;
		border-radius: 0.4rem;
		color: #5c554d;
		margin-left: auto;
		margin-right: auto;
		margin-top: 2rem;
		margin-bottom: 2rem;
		font-size: 1.6rem;
	}

	h4.more a[aria-expanded="false"]::after{
		content: 'もっと見る▼';
	}

	h4.more a[aria-expanded="true"]::after{
		content: '閉じる▲';
	}

}

/*-----------------------------------------------------------------------------*/

@media screen and ( max-width: 559px ){

	[id^="open_list"].collapse{
		display: none;
	}

	[id^="open_list"].collapse.show{
		/*display: flex;*/

		display: flex;
		flex-wrap: wrap;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	h4.open {
		display: flex;
		margin-left: auto;
		margin-right: auto;
	}

	h4.open a{
		width: 25rem;
		height: 5rem;
		display: flex;
		justify-content: center;
		align-items: center;
		border: 0.1rem solid #5c554d;
		border-radius: 0.4rem;
		color: #5c554d;
		margin-left: auto;
		margin-right: auto;
		margin-top: 2rem;
		margin-bottom: 2rem;
		font-size: 1.6rem;
	}

	h4.open a[aria-expanded="false"]::after{
		content: '詳細を見る▼';
	}

	h4.open a[aria-expanded="true"]::after{
		content: '閉じる▲';
	}

}

/*-----------------------------------------------------------------------------*/

.modal-dialog {
	max-width: 80rem;
	margin: 1.75rem auto;
}

.modal-header {
	padding: 2rem;
}

.modal-header .close{
	font-size: 3rem;
}

.top_news .modal-body {
	padding: 2rem;
}

.top_news .modal-footer {
	padding: 2rem;
}

.top_news .modal-body .event_tbl td a {
	padding: 2rem 1rem;
}

@media screen and ( max-width: 559px ){

	.top_news .modal-body {
		padding: 1rem;
	}

}

/*-----------------------------------------------------------------------------*/

#more_list01.collapse,
#more_list02.collapse,
#more_list03.collapse,
#more_list04.collapse,
#more_list05.collapse,
#more_list06.collapse,
#more_list07.collapse,
#more_list08.collapse,
#more_list09.collapse,
#more_list10.collapse{
	display: block;
}

#open_list01.collapse,
#open_list02.collapse,
#open_list03.collapse,
#open_list04.collapse,
#open_list05.collapse,
#open_list06.collapse,
#open_list07.collapse,
#open_list08.collapse,
#open_list09.collapse,
#open_list10.collapse{
	display: block;
}

@media screen and ( max-width: 559px ){

	#more_list01.collapse,
	#more_list02.collapse,
	#more_list03.collapse,
	#more_list04.collapse,
	#more_list05.collapse,
	#more_list06.collapse,
	#more_list07.collapse,
	#more_list08.collapse,
	#more_list09.collapse,
	#more_list10.collapse{
		display: none;
	}

	#more_list01.collapse.show,
	#more_list02.collapse.show,
	#more_list03.collapse.show,
	#more_list04.collapse.show,
	#more_list05.collapse.show,
	#more_list06.collapse.show,
	#more_list07.collapse.show,
	#more_list08.collapse.show,
	#more_list09.collapse.show,
	#more_list10.collapse.show{
		display: block;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	.more_list a{
		width: 100%;
		display: flex;
		justify-content: space-between;
	}

	/**/
	
	#open_list01.collapse,
	#open_list02.collapse,
	#open_list03.collapse,
	#open_list04.collapse,
	#open_list05.collapse,
	#open_list06.collapse,
	#open_list07.collapse,
	#open_list08.collapse,
	#open_list09.collapse,
	#open_list10.collapse{
		display: none;
	}

	#open_list01.collapse.show,
	#open_list02.collapse.show,
	#open_list03.collapse.show,
	#open_list04.collapse.show,
	#open_list05.collapse.show,
	#open_list06.collapse.show,
	#open_list07.collapse.show,
	#open_list08.collapse.show,
	#open_list09.collapse.show,
	#open_list10.collapse.show{
		display: block;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	.open_list a{
		width: 100%;
		display: flex;
		justify-content: space-between;
	}

	.globalnavi a.arrow[aria-expanded="false"]::after{
		content: '＋';

		font-size: 2rem;
		position: absolute;
		top: -0.5rem;
		right: 0;
	}

	.globalnavi a.arrow[aria-expanded="true"]::after{
		content: '－';

		font-size: 2rem;
		position: absolute;
		top: -0.5rem;
		right: 0;
	}

}

/*-----------------------------------------------------------------------------*/

.splash.loaded {
	opacity: 0;
	visibility: hidden;
}

.splash_logo{

	position: absolute;
	z-index: 2;
	opacity: 0;
	
	top: 40%;
	left: 0;
	right: 0;
	animation: logo 2.8s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
	animation-delay: 3.6s;
}

@keyframes logo {
	0% {
		transform: translateY(-2rem);
		opacity: 0;
	}
	70% {
		transform: translateX(0);
		opacity: 1;
	}
	80% {
		transform: translateY(0);
		opacity: 1;
	}
	100% {
		transform: translateY(0);
		opacity: 0;
	}
}


.splash_logo img{
	max-width: 18rem;
}

.loading_text{

	position: absolute;
	z-index: 1000;
	opacity: 0;

	top: 50%;
	left: 0;
	right: 0;
	animation: text 2.8s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
	animation-delay: 3.6s;
}

@keyframes text {
	0% {
		transform: translateY(-2rem);
		opacity: 0;
	}
	70% {
		transform: translateX(0);
		opacity: 1;
	}
	80% {
		transform: translateX(0);
		opacity: 1;
	}
	100% {
		transform: translateX(0);
		opacity: 0;
	}
}

.loading_text img{
	max-width: 50rem;
}

.progressbar-text{
	display: none !important;

	font-family: 'Noto Serif JP', serif;
	color: #9a9a9a !important;
	font-size: 2.5rem !important;
	margin: 17rem 0 0 !important;
	/*border: 0.1rem solid #fff;*/

	border-radius: 50%;
	width: 12rem;
	height: 12rem;
	display: flex;
	justify-content: center;
	align-items: center;
/*
	background: rgb(83,79,75);
	background: linear-gradient(0deg, rgba(83,79,75,1) 0%, rgba(108,105,101,1) 100%);
*/
}

@media screen and ( max-width: 559px ){

	.splash_logo{
		top: 42%;
	}

	.splash_logo img {
		max-width: 35%;
	}

	.loading_text img {
		max-width: 80%;
	}

	.progressbar-text {
		font-size: 2rem !important;
		width: 10rem;
		height: 10rem;
	}

}

/*-----------------------------------------------------------------------------*/

/*========= LoadingのためのCSS ===============*/

/* Loading背景画面設定　*/
#splash {
	/*fixedで全面に固定*/
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 10001;
	text-align:center;
	color:#fff;
}

/* Loading画像中央配置　*/
#splash_text {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 999;
	transform: translate(-50%, -50%);
	color: #fff;
	width: 100%;
}

/*IE11対策用バーの線の高さ※対応しなければ削除してください*/
#splash_text svg{
	height: 2px;
}

/*割れる画面のアニメーション*/
.loader_cover {
	width: 100%;
	height: 50%;
	background-color: #373431;
	transition: all .2s cubic-bezier(.04, .435, .315, .9);
	transform: scaleY(1);
}
/*上の画面*/
.loader_cover-up {
	transform-origin: center top;
}

/*下の画面*/
.loader_cover-down {
	position: absolute;
	bottom: 0;
	transform-origin: center bottom;
}
/*クラス名がついたらY軸方向に0*/
.coveranime {
	transform: scaleY(0);
}

/*-----------------------------------------------------------------------------*/
/*IEハック*/

_:-ms-lang(x)::-ms-backdrop, #splash{
	animation: splash 3s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
	animation-delay: 3.9s;
}

@keyframes splash {
	0% {

	}

	99% {
		height: 100%;
	}

	100% {
		height: 0;
	}
}

_:-ms-lang(x)::-ms-backdrop, #splash_text svg{
	height: 0;
}

_:-ms-lang(x)::-ms-backdrop, .loader_cover-up{
	animation: up 3s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
	animation-delay: 3.8s;
}

@keyframes up {
	0% {
		opacity: 1;
	}

	10% {
		opacity: 1;
	}

	20% {
		opacity: 1;
	}
	
	90% {
		opacity: 1;
		height: 50%;
	}
	100% {
		opacity: 1;
		height: 0;
	}
}

_:-ms-lang(x)::-ms-backdrop, .loader_cover-down{
	animation: down 3s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
	animation-delay: 3.8s;
}

@keyframes down {
	0% {
		opacity: 1;
	}

	10% {
		opacity: 1;
	}

	20% {
		opacity: 1;
	}
	
	90% {
		opacity: 1;
		height: 50%;
	}
	100% {
		opacity: 1;
		height: 0;
	}
}

/*-----------------------------------------------------------------------------*/

.loading_mark{
	position: absolute;
	z-index: 1000;
	opacity: 0;

	top: 38%;
	left: 0;
	right: 0;
	animation: mark 3s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
	animation-delay: 0.5s;
	
}

@keyframes mark {
	0% {
		opacity: 0;
	}

	10% {
		opacity: 0;
	}

	20% {
		opacity: 1;
	}
	
	90% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

.loading_mark svg{
	max-width: 17rem;
}

/*=============== SVGアニメーション内の指定 =================*/

.loading_mark{
	/*opacity: 0;*/
}

/*アニメーション前の指定*/
#mask path {
	fill-opacity: 0;/*最初は透過0で見えない状態*/
	transition: fill-opacity .5s;/*カラーがつく際のアニメーション0.5秒で変化*/
	fill: none;/*塗りがない状態*/
	stroke: #8d867f;/*線の色*/
}

/*アニメーション後に.doneというクラス名がで付与された時の指定*/
/*
#mask.done path{
	fill: #fff;
	fill-opacity: 1;
	stroke: none;
}
*/
@media screen and ( max-width: 559px ){

	.loading_mark{
		top: 40%;
	}

	.loading_mark svg{
		max-width: 10rem;
	}

}

/*-----------------------------------------------------------------------------*/

.order_banner{
	margin-top: 20rem;
	margin-bottom: 6rem;
}

.order_banner ul{
	display: flex;
	justify-content: space-around;
}

.order_banner ul li{

}

.order_banner ul li a{
	color: #fff;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	height: 20rem;
	background: #5c554d;
	font-weight: 100;
	align-items: center;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

.order_banner ul li:nth-child(1) a{
	background: #6c4ea5;
}

.order_banner ul li:nth-child(2) a{
	background: #50733e;
}

.order_banner ul li p{
	font-size: 2rem;
}

.order_banner ul li span{
	font-size: 3.5rem;
	font-weight: 100;
}

.order_banner ul li span.icon{
	margin-top: -0.3rem;
}

.order_banner ul li span.arrow{
	font-size: 4.5rem;
}

.news_slide .slick-dots li button{
	width: 3rem;
	height: 2rem;
}


@media screen and ( max-width: 1024px ){

}

@media screen and ( max-width: 559px ){

	.order_banner{
		margin-top: 24rem;
	}

	.order_banner ul li a{
		color: #fff;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		height: 6rem;
		align-items: center;
		padding-top: 0;
		padding-bottom: 0;
		padding-left: 0.5rem;
		padding-right: 0.5rem;
	}

	.news_slide{
		max-width: 90%;
		margin-left: 5%;
		margin-right: 5%;
	}
	
	.news_slide .slick-dots li button:before {
		content: '';
		width: 3rem;
		height: 0.3rem;
		background: #b9a698;
	}

	.order_banner ul {
		justify-content: space-between;
		margin-left: 2rem;
		margin-right: 2rem;
	}

	.order_banner ul li span.arrow {
		margin-right: -1rem;
	}

	.order_banner ul li p {
		font-family: 'Noto Serif JP', serif;
		font-size: 1.8rem;
		line-height: 1;
		margin-top: -0.2rem;
	}

}

/*250819追加分*/
@media screen and ( max-width: 392px ){

	.order_banner ul li span.arrow {
        margin-right: -0.5rem;
        width: 3.0rem;
        display: flex;
        justify-content: center;
	}

}

@media screen and ( max-width: 375px ){

	.order_banner ul li p {
		font-size: 1.6rem;
	}

}

/*-----------------------------------------------------------------------------*/

.plan_tab{

}

.plan_tab .nav-tabs{
	border-bottom: 0.5rem solid #5c554d;
}

.plan_tab .nav-tabs li{
	width : -webkit-calc(100% / 3) ;
	width : calc(100% / 3) ;
	background: #b9a698;
}

.plan_tab .nav-tabs li a.active{
	background: #5c554d;
}

.plan_tab .nav-tabs li a{
	color: #fff;
	padding: 0.5rem 0rem;
}

.plan_tab .nav-tabs li h3{
	font-size: 1.4rem;
	font-family: 'Noto Serif JP', serif;
	text-align: center;
	color: #fff;
	margin-top: 0.5rem;
	margin-bottom: 0;
}

.plan_tab .nav-tabs li h3 strong{
	font-size: 3.6rem;
	font-weight: 100;
}


/*------------------------------------*/

.order_banner.popup {
	margin-top: 0;
	margin-bottom: 3rem;
}

/*-----------------------------------------------------------------------------*/

#g-nav .carousel-item{
	height: 100vh;
}

#g-nav .g-nav_01{
	background: url(../img/g-nav_01.jpg) no-repeat;
	background-size: cover;
	background-position: center;
}

#g-nav .g-nav_02{
	background: url(../img/g-nav_02.jpg) no-repeat;
	background-size: cover;
	background-position: center;
}

#g-nav .g-nav_03{
	background: url(../img/g-nav_03.jpg) no-repeat;
	background-size: cover;
	background-position: center;
}

#g-nav .g-nav_04{
	background: url(../img/g-nav_04.jpg) no-repeat;
	background-size: cover;
	background-position: center;
}

#g-nav .g-nav_05{
	background: url(../img/g-nav_05.jpg) no-repeat;
	background-size: cover;
	background-position: center;
}

#g-nav .g-nav_06{
	background: url(../img/g-nav_06.jpg) no-repeat;
	background-size: cover;
	background-position: center;
}

#g-nav .g-nav_07{
	background: url(../img/g-nav_07.jpg) no-repeat;
	background-size: cover;
	background-position: center;
}

/*-----------------------------------------------------------------------------*/

/*infoエリアをはじめは非表示*/
#info{
  display: none;
}

/*モーダルの横幅を変更したい場合*/
.modaal-container{
	max-width: 600px;
}

/*モーダルのボタンの色を変更したい場合*/
.modaal-close:after, 
.modaal-close:before{
		background:#ccc;  
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before{
  background:#666;
}

/**/

.modal{
	display: none;
	height: 100vh;
	position: fixed;
	top: 0;
	width: 100%;
}

.covid{
	display: none;
}

.covid.fixed{
	background: rgba(0,0,0,0.8);
	height: 100vh;
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 100;

	display: block;
}

.modal__content{
	background: #fff;
	left: 50%;
	padding: 40px;
	position: absolute;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 60%;
}

/**/

#popup{
	height: 100vh;
	position: fixed;
	top: 0;
	width: 100%;
	background: rgba(0,0,0,0.8);
	display: none;
	z-index: 10000;
}

#popup .area{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100vh;
	flex-wrap: wrap;
}

#popup .area .image{
	margin-top: -4rem;
}

#popup .area .image img{
	max-width: 72rem;
	max-height: 55rem;
	height: 70vh;
}

#popup .area .image .button{
	display: flex;
	justify-content: flex-end;
}


#popup .area .image .button a.close_btn{
	border: none;
	background: none;
	color: #fff;
	margin-bottom: 1rem;

	display: flex;
	align-items: center;
	justify-content: end;
	font-size: 2rem;
}

#popup .area .image .button a.close_btn span{
	/*font-size: 3rem;*/
	line-height: 1;
	margin-right: 0.5rem;
	font-size: 2.5rem;
}

#popup .area .image .link_button{

}

#popup .area .image .link_button a{
	border: 0.2rem solid #fff;
	background: none;
	color: #fff;
	margin-top: 1rem;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30rem;
	height: 6rem;
	border-radius: 0.5rem;
	margin-top: 2rem;
	font-size: 2rem;
}

@media screen and ( max-width: 559px ){

	#popup .area .image {
		padding-left: 2rem;
		padding-right: 2rem;
	}

	#popup .area .image img{
		max-width: 100%;
		max-height: none;
		height: auto;
	}

	#popup .area .image .link_button a {
		width: 25rem;
		height: 5rem;
		font-size: 1.8rem;
	}

}

/*-----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------*/

*:focus {
	outline: none !important;
	box-shadow:none !important;
}

/*-----------------------------------------------------------------------------*/
/*IEハック*/
_:-ms-lang(x)::-ms-backdrop, .top_concept{ max-width: 70rem; }
_:-ms-lang(x)::-ms-backdrop, .top_concept .area{ padding-left: 17rem; }

_:-ms-lang(x)::-ms-backdrop, .top_concept .area .top_concept_bt{ position: absolute; left: 0; top: 12rem;}
_:-ms-lang(x)::-ms-backdrop, .top_concept .area .top_concept_bt a{ width: 4rem; }
_:-ms-lang(x)::-ms-backdrop, .top_concept .area .top_concept_bt span{ margin-left: -0.7rem; }

_:-ms-lang(x)::-ms-backdrop, .top_plan_list li .price .up{ justify-content: center; }

_:-ms-lang(x)::-ms-backdrop, .top_plan_list li .price{ width: 50%; }
_:-ms-lang(x)::-ms-backdrop, .top_plan_list li .price .up{ justify-content: flex-end; }
_:-ms-lang(x)::-ms-backdrop, .top_plan_list li .price .down{  justify-content: flex-end; }


_:-ms-lang(x)::-ms-backdrop, .top_introduction .area .top_introduction_list li .title hr{ max-height: 62%; }
_:-ms-lang(x)::-ms-backdrop, .top_introduction .area .top_introduction_list li .title{ height: 57rem; }




/*-----------------------------------------------------------------------------*/
/*Safariハック*/
_::-webkit-full-page-media, _:future, :root .xxxxx { xxxxxx }

@media screen and ( max-width: 559px ){
/*	_::-webkit-full-page-media, _:future, :root #main_slide_sp .carousel-indicators li { width: 2.5rem; height: 2.5rem; }*/
}

