
/*+++++++++++++++
root
++++++++++++++++*/

:root {
	--width-max:var(--flex-100);
	--width-full:var(--flex-90);
	--width-large:var(--flex-90);
	--width-medium:var(--flex-85);	
	--width-small:var(--flex-80);
	--sitebar: clamp(60px, 5.9701492537vw, 80px);
	/*font-family*/
	--gs:"Noto Sans JP", sans-serif;
	--mn:"Noto Serif JP", sans-serif;	
	--js:"Jost", sans-serif;
		
	/*color*/
	--white:#fff;
	--black:#111;
	--gray:#eee;
	--darkgray:#222;
	--lightgray:#f7f7f7;
	--gold:#947136;
	--aqua:#69c;
	--red:#d04e46;
	
	--important:#ce0600;
	
	/*opacity*/
	--opa-white01:rgba(255,255,255,0.05);
	--opa-white02:rgba(255,255,255,0.2);
	--opa-white05:rgba(255,255,255,0.5);
	--opa-white07:rgba(255,255,255,0.7);
	--opa-white09:rgba(255,255,255,0.9);
		
	--opa-black02:rgba(0,0,0,0.2);
	--opa-black05:rgba(0,0,0,0.5);	
	--opa-black08:rgba(0,0,0,0.8);
		
	/*fontsize*/
	--font-mc:clamp(0.7em, 2.5vw, 0.7em);
	--font-em:clamp(0.75em, 2.5vw, 0.85em);
	--font-h6:clamp(0.85em, 2.5vw, 0.9em);
	--font-h5:clamp(1em, 2.5vw, 1em);
	--font-h4:clamp(1.2em, 2.5vw, 1.3em);
	--font-h3:clamp(1.4em, 2.5vw, 1.5em);
	--font-h2:clamp(1.6em, 2.5vw, 1.7em);
	--font-h1:clamp(1.8em, 2.5vw, 1.9em);	
	/*margin*/
	--mg-lg:clamp(50px, 2.5vw, 100px);
	/*flex-basis*/
	--flex-10:10%;
	--flex-20:20%;
	--flex-25:25%;
	--flex-30:30%;
	--flex-35:35%;
	--flex-40:40%;
	--flex-45:45%;
	--flex-48:48%;
	--flex-50:50%;
	--flex-55:55%;
	--flex-60:60%;
	--flex-65:65%;
	--flex-70:70%;
	--flex-75:75%;
	--flex-80:80%;
	--flex-85:85%;
	--flex-88:86%;	
	--flex-90:90%;	
	--flex-92:92%;
	--flex-94:94%;	
	--flex-95:95%;
	--flex-96:96%;	
	--flex-100:100%;
		
		
	/*line height*/
	--lh-lg:2.5;
	--lh-md:2;
	--lh-sm:1.5;
	
	}
	[main-color="01"] {
	--main-color: var(--main-003);	
	}
	[opa-color="01"] {
	--opa-003: var(--opa);	
	}
	
	/*+++++++++++++++++*/
	.pc {display: none !important;}
	.sp {display: block !important;}
	.br {display: none !important;}
	.br2 {display: block !important;}
	
	body {
		background: var(--black);
		overflow-x: hidden;
	}

	
	#wrapper {
		margin: 0;
		max-width: var(--width-max);
		/* border-right: 1px solid var(--opa-white02); */
		z-index: 11;
		overflow: hidden;
	}

	#wrapper.frontpage {
		overflow: unset;
	
	}
	
	img {
	max-width: 100%;
	vertical-align: bottom;
	}
	
	.flex {
	display:block;
	justify-content: space-between;
	gap: 20px;	
	}
	
	.center {
	display: block;
	margin: auto;
	text-align: center;
	}
	
	::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 600;
	font-style: normal;	
	}
	
	
	.button {
		padding: 15px 15px 18px 15px;
		background: var(--darkgray);
		color: #fff;
		box-sizing: border-box;
		display: inline-block;
		font-size: var(--font-h6);
		font-family: var(--gs);
		width: 100%;
		text-align: center;
		transition: .3s;
		position: relative;
		max-width:360px;
		margin: 0;
		letter-spacing: 1px;
	}
	.button:hover {opacity: 0.6;}
	
	.button:before {
		content: "";
		position: absolute;
		right: 3%;
		top: 0;
		bottom: 0;
		margin: auto;
		display: flex;
		align-items: center;
		font-size: 10px;
		background: url(../../../assets/images/common/arrow_w.svg) no-repeat;
		width: 13px;
		height: 13px;
		color: #fff;
	}	
	
	/*RESERVE BUTTON*/
	.reserve_button {
		background: var(--red);
	}
	/*TEXT BUTTON*/
	.text_button {
		gap: 10px;
		display: flex;
		align-items: center;
		font-family: var(--mn);
	}
	
	.text_button i {
		margin: 6px 0 0;
	}
	/*TEL BUTTON*/
	.tel_button {
		font-family: var(--mn);
		font-size: var(--font-h3);
		letter-spacing: 0.5px;
		line-height: 1.1;
	}
	.tel_button i {
		font-size: var(--font-em);
		position: absolute;
		left: 7%;
		top: 0;
		bottom: 0;
		margin: auto;
		display: flex;
		align-items: center;
	}
	
	/*BORDER BUTTON*/
	.border_button {
		border: 1px solid var(--opa-white05);
		background: none;
	}
	.border_button:before {
		background: url(../../../assets/images/common/arrow.svg) no-repeat;
	}
	
	.pdf {
		border: 1px solid var(--black);
		padding: 15px 20px 18px 20px;
		background: var(--darkgray);
		color: #fff;
		box-sizing: border-box;
		display: inline-block;
		font-size: var(--font-h6);
		font-family: var(--mn);
		width: 100%;
		text-align: center;
		transition: .3s;
		position: relative;
		max-width: clamp(150px, 50vw, 350px);	
	}
	
	.pdf:before {
		content:"\f1c1";
		font-size: var(--font-h4);
		margin: 0 10px 0 0;
		transition: .3s;
		opacity: 1;
	}
	.pdf:hover {
		opacity:0.7;
		transition:.3s;
	}
	
	a {
	text-decoration:none;
	color: inherit;
	}
	
	p {
		font-family: var(--gs);
		line-height: 2;
		letter-spacing: 1px;
		font-size: var(--font-em);
		font-weight: 400;
		/* color: var(--white); */
	}
	
	.under {
		text-decoration: underline;
	}
	.under:hover {
		text-decoration: none;
	}
	
	.white{color: var(--white);}
	
	.mb {margin: 0 0 5px;}
	.mb1{margin: 0 0 10px;}
	.mb2{margin: 0 0 20px;}
	.mb3 {margin: 0 0 40px;}
	
	
	
	.box {
		padding: 120px 0 50px;
		margin: -120px 0 0;
	}

	.small {
		max-width: var(--width-small) !important;
	}
	.medium {
		max-width: var(--width-medium) !important;
	}
	
	
	/*+++++++++++++++
	list
	++++++++++++++++*/	
	
	ul.list li {
	font-family: var(--gs);
	font-size: var(--font-em);
	line-height: var(--lh-md);
	}
	
	/*+++++++++++++++
	table
	++++++++++++++++
	
	table,tr,th,td {
	display: block;
	width: 100%;
	}	
	table {
		width: 100%;
		table-layout: fixed;
		border: 1px solid transparent;
		font-size: var(--font-h6);
		border: 1px solid var(--gray);
		padding: 2px;
		border-collapse: separate;
	}
	tr {
	border-bottom: 1px solid var(--gray);
	}
	
	th {
		background: var(--lightgray);		
		width: 20%;
		border:none;
		font-weight: 700;
		padding: 12px 20px;
	}
	
	td {
		width: 80%;
		border:none;
		padding: 12px 20px;
		line-height: var(--lh-md);
	}
	td > a {
		color: var(--aqua);
		text-decoration: underline;
			margin: 0;
		}
	td > a:hover {
		text-decoration: none;
	}
	*/
	/*+++++++++++++++
	text
	++++++++++++++++*/
	h2,h3,h4,h5,h6 {font-family: var(--mn);line-height: 1.8;color: var(--white);}
	
	h6 {
		font-weight: 500 !important;
		border-bottom: 1px solid var(--opa-white02);
	   padding: 10px 0;
		margin: 0 0 15px !important;
		font-size: var(--font-h5);
		letter-spacing: 1px;
		/* border-top: 1px solid var(--opa-black02); */
		/* background: var(--lightgray);*/
	}
	
	h1 {
		font-family: var(--mn);
		font-size: var(--font-h3);
		font-weight: 700;
		letter-spacing: 3px;
		color: var(--white);
	}	
	
	h4 {
		font-size: var(--font-h5);
		padding: 0;
		font-family: var(--mn);
		margin: 0;
	}
	
	h2 {
		font-family: var(--mn);
		font-size: var(--font-h4);
		font-weight: 700;
		letter-spacing: 3px;
		margin: 0;
		position: relative;
		z-index: 1;
	}		
	h3 {
		font-family: var(--mn);
		font-size: var(--font-h4);
		font-weight: 700;
		letter-spacing: 3px;
		margin: auto;
	}			
	
	h5 {
	font-size: var(--font-h5);
	font-family: var(--mn);
	
	}	
	/*+++++++++++++++
	inner
	++++++++++++++++*/
	.inner {
	max-width:var(--width-full);
	margin: auto;
	box-sizing: border-box;
	}
	
	.icon-title {
	text-align: center;
	font-size: var(--font-h4);
	letter-spacing: 2px;
	position: relative;
	padding: 35px 0 0;
	font-family: var(--mn);
	}
	
	.icon-title:before {
	content:"";
	background: url("../../../assets/images/common/icon.png") no-repeat;
	width: 22px;
	height: 22px;
	position: absolute;
	top: 6px;
	left: 0;
	right: 0;
	background-size: 22px;
	margin: auto;
	}
	.icon-title.flex {
	text-align: left;
	padding: 0 0 0 33px;
	margin: 0 0 20px;
	}	
	.icon-title.flex:before {
	content:"";
	background: url("../../../assets/images/common/icon.png") no-repeat;
	width: 22px;
	height: 22px;
	position: absolute;
	top: 3px;
	left: 0;
	right: inherit;
	background-size: 22px;
	margin: auto;
	}	
	
	#plan .icon-title:before,
	#media .icon-title:before,
	#access .icon-title:before,
	#reserve .icon-title:before{
		background: url("../../../assets/images/common/icon_b.png") no-repeat;
		background-size: 22px;
	}
	/*+++++++++++++++
	post title
	++++++++++++++++*/
	.post-title {
	font-weight: 600;
	letter-spacing: 3px;
	font-size:var(--font-h4);
	line-height: var(--lh-md);
	font-family: var(--mn);
	}
	/*+++++++++++++++
	button
	++++++++++++++++*/
	a.button {
	/* display: inline-block !important; */
	}
	/*+++++++++++++++
	column
	++++++++++++++++*/
	.block-columns {
		display: block;
		justify-content: space-between;
		column-gap: 30px;
		align-items: flex-start;
	}
	.block-column {
		/* width: 100%; */
		position: relative;
	}	
	
	.block-column a {
	display: block;
	
	}
	
	.swiper-pagination {
		bottom: -8% !important;
	}
	.swiper-pagination-bullet {
		background: var(--lightgray);
	}
	.swiper-container {
		position: relative;
	}
	
	/*+++++++++++++++
	information
	++++++++++++++++*/		
	#information {
	}		
	#information .button {
		text-align:center;
		display: block;
		margin:auto;
	}
	#information .block-columns {
	margin: 0 0 40px;
	}
	#information .block-columns .block-column {
	margin: 0 0 20px;
	width: 100%;
	display: block;	
	}	
	#information .block-columns .block-column a {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
		border-bottom: 1px dotted var(--gray);
		padding: 0 0 15px;
	}
	#information .block-columns .block-column:last-child a {
		border:none;
	}
	#information .block-columns .block-column figure {
		flex-basis: var(--flex-30);
		/* min-height: 150px; */
		display: flex;
		align-items: center;
		background: var(--opa-white02);
		height: var(--flex-100);
	}
	#information .block-columns .block-column figure img {
		aspect-ratio: 3/2;
		object-fit: cover;
	}

	#information .block-columns .block-column dl {
		flex-basis: var(--flex-65);
	}
	#information .block-column dt {
		display:flex;
		align-items:center;
		gap:10px;
		margin: 0 0 10px;
	}
	#information .date {
		font-size: var(--font-h6);
		font-family: var(--js);
		letter-spacing: 1px;
	}
	
	#information .cate {
		font-family: var(--mn);
		background: var(--opa-white02);
		font-size: var(--font-em);
		padding: 3px 10px;
		color: var(--opa-white09);
		letter-spacing: 1px;
	}
	
	#information .block-columns p {
		font-size:var(--font-em);
		font-family: var(--mn););
	}	

	/*先頭固定表示*/
	#information .sticky .date,
	#information .sticky dd p{
		color: var(--important);
	}	

	
	/*+++++++++++++++
	reserve
	++++++++++++++++*/	
	#reserve {
		margin: auto;
		background: var(--opa-black08);
		padding: 0;
	}
	#reserve .block-columns p {
		color:var(--black);
	}
    #reserve .button {
		max-width:var(--flex-100);
	}
	#reserve .inner {
		/* border: 1px solid var(--opa-white02); */
		padding: 0;
	
		max-width: var(--width-max);
		background: #fff;
	}	
	#reserve .block-columns {
	align-items: center;
	}
	#reserve .block-column:last-child {
		padding: 30px;
		box-sizing: border-box;
	}
	
	.block-column a.button {
		/* var(--width-max);*/
		margin: 0 0 10px;
	}	
	
	
	p {
		font-size:var(--font-em);
		justify-content: left;
	}	
	
	p > a {
		font-size: inherit !important;
		color: var(--aqua);
	}
	
	#reserve-sitebar {
	position: fixed;
	bottom: 4%;
	left: 2%;
	margin: 0;
	width:100%;
	max-width: 200px;
	z-index: 9;
	}
		
	#reserve-sitebar a {
	background: var(--black);
	padding: 30px 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: var(--mn);
	letter-spacing: 1px;
	box-sizing: border-box;
	color: var(--white);
	}
	
	/*+++++++++++++++
	swiper
	++++++++++++++++*/	
	.swiper-button-prev {
	position: absolute;
	right: 4%;
	top: 0;
	bottom: 0;
	margin: auto;
	display: flex;
	align-items: center;
	font-size: var(--font-em);
	transform: rotate(-180deg);
	width: var(--swiper-navigation-size) !important;
	height: var(--swiper-navigation-size) !important;
	}
	.swiper-button-prev:before {
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	font-weight: 600;
	font-style: normal;
	}
	.swiper-button-prev:after {
	display: none !important;
	}
	
	.swiper-button-next {
	position: absolute;
	right: 4%;
	top: 0;
	bottom: 0;
	margin: auto;
	display: flex;
	align-items: center;
	font-size: var(--font-em);	
	width: var(--swiper-navigation-size) !important;
	height: var(--swiper-navigation-size) !important;
	}
	.swiper-button-next:before {
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	font-weight: 600;
	font-style: normal;
	}
	.swiper-button-next:after {
	display: none !important;
	}
	
	/*+++++++++++++++
	mainttl
	++++++++++++++++*/		
	#mainttl {
		float: none;
		margin: 50px auto;
		height: auto;
		/* overflow: hidden; */
		position: relative;
		/* border-bottom: 1px solid var(--opa-white02); */
		padding: 0;
		margin: 130px auto 40px;
		max-width: var(--width-medium);
		text-align: center;
	}		
	#mainttl figure {
		overflow: hidden;
		position: relative;
		height: 100%;
	}
	#mainttl figure img {
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 100%;
	}
	#mainttl h1:before {
		content:"";
		position: absolute;
		bottom: -2px;
		width:var(--flex-100);
		left: 0;
		height: 2px;
		/* background: var(--black); */
		animation: framein 1s;
		animation-delay: .8s;
	}	
	
	@keyframes framein {
	  from {
		width:0;
		transform: translateX(0);
	  }
	
	  to {
		width: 100%;  
			transform: scaleX(1);
	  }
	}
	
	/**/
	.fade {
		opacity: 0;
		transition: .8s;
		transition-delay:0.8s;
	}
	.fadeout {
		opacity: 0;
		-webkit-transform: scale(1.05);
		transform: scale(1.05);
		transition: .8s;
		transition-delay:0.8s;	
	}
	
	.mv-fade {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	.mv-fadeout {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1);
		
	}
	/**/
	/*+++++++++++++++
	tab 
	++++++++++++++++*/	
	.tab {
		clear: both;
		border-top: 1px solid var(--opa-white0);
		/* overflow-x: scroll; */
		margin: 0 auto 50px;
		max-width: var(--width-max);
	}
	.tab ul {
		display: grid;
		gap: 12px;
		justify-content: center;
		max-width: var(--flex-100);
		margin: auto !important;
		grid-template-columns: 1fr 1fr;
	}
	.tab li {
		padding: 0 0 0 0 !important;
		display: block;
		margin: 0;
	}
	.tab li:last-child {
		border:none
	}
	.tab li a {
		font-size: var(--font-h6);
		color: var(--white);
		position: relative;
		display: block;
		padding: 12px 30px 14px 30px;
		margin: 0;
		border: 1px solid var(--opa-white02);
		letter-spacing: 1px;
		align-items: center;
		box-sizing: border-box;
		width: 100%;
		text-align: left;
		max-width: var(--flex-100);
	}
	.tab li a:before {
		transform: rotate(90deg);
		content: "";
		position: absolute;
		right: 4%;
		top: 3px;
		bottom: 0;
		margin: auto;
		display: flex;
		align-items: center;
		font-size: 10px;
		background: url(../../../assets/images/common/arrow.svg) no-repeat;
		width: 13px;
		height: 14px;
		color: #fff;
		}
		
	iframe {
		width: var(--flex-100);
		height: 450px;
	}
	
	/*+++++++++++++++
	breadcrumb
	++++++++++++++++*/
	.breadcrumb.inner {
		max-width: var(--width-large) !important;
		padding: 10px 0 20px;
		color: var(--opa-white02);
		margin: 0 auto 0;
	}
	.breadcrumb ul {
		justify-content:left;
		align-items: center;
		display: flex;
	}
	
	.breadcrumb li {
		position:relative;
		padding: 3px 20px 0 0 !important;
		font-weight: 400;
		display: flex;
		align-items: center;	
	}
	.breadcrumb li:before {
		content: "\f054";
		font-family: "Font Awesome 5 Free";
		font-weight: 600;
		font-size: 8px;
		position: absolute;
		top: 0;
		right: 8px;
		bottom: 0;
		margin: auto;
		line-height: 1;
		height: 3px;
	}
	
	.breadcrumb li:last-child:before {
		display:none;
	}
	.breadcrumb li, .breadcrumb li:last-child{
		font-size: var(--font-mc);
	}
	.breadcrumb.inner i {
		font-size: 11px;
		margin: 2px 0 0;
		display: block;
	}


	/*++++++++++++++++
	arrow
	+++++++++++++++++*/

	.icon-arrow {
		width: 40px;
		height: 40px;
		background-color: rgba(0, 0, 0, 0.4);
		border-radius: 100%;
		position: absolute;
		bottom: 0;
		z-index: 100;
		right: 0;
		margin: 30px;
	}
	.icon-arrow span {
	display: block;
	width: 15px;
	height: 15px;
	position: relative;
	overflow: hidden;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	}
	.icon-arrow span::before, .icon-arrow span::after {
	display: block;
	content: "\f061";
	width: 100%;
	height: 100%;
	position: absolute;
	transition:.3s;		
	top: 0;
	left: 0;
	font-family: "Font Awesome 6 Free";
	font-weight: 600;
	font-size: 13px;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--white);
	}

.icon-arrow span::before {
  transform: translate(-150%, 0);
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.icon-arrow span::after {
  transform: translate(0, 0);
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}

a:hover .icon-arrow span::before {
    transform: translate(0, 0);
  }
a:hover .icon-arrow span::after {
    transform: translate(150%, 0);
  }

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

	
	:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 600;
	font-style: normal;	
	}
	
	.button {
		/* font-size: var(--font-em); */
		/* font-family: var(--mn); */
	}
	.button:hover {
	opacity: 0.6;
	}
	
	.button:before {
	}	
	
	.small {
	font-size: var(--font-em);
	}
	
	.flex {
		display: flex;
	}	
		
	/*+++++++++++++++
	list
	++++++++++++++++*/	
	ul.list {
	}
	ul.list li {
	font-family: var(--gs);
	font-size: var(--font-em);
	line-height: var(--lh-md);
	}
	ul.list li:before {
		content:"";
	}	
	
	
	/*+++++++++++++++
	text
	++++++++++++++++*/
	h2,h3,h4,h5,h6 {line-height: 1.8;}
	h6 {
	font-size:var(--font-h6);
	letter-spacing: 1px;
	}
	h1 {
	font-family: var(--mn);
	font-size: var(--font-h1);
	font-weight: 700;
	letter-spacing: 3px;
	}	
	h4 {}
	/*+++++++++++++++
	inner
	++++++++++++++++*/
	.inner {
	margin: auto;
	box-sizing: border-box;
	max-width: var(--width-full);	
	}
	
	.icon-title {
	text-align: center;
	font-size: var(--font-h5);
	letter-spacing: 2px;
	position: relative;
	padding: 35px 0 0;
	font-family: var(--mn);
	}
	
	.icon-title:before {}
	.icon-title.flex {
	text-align: left;
	padding: 0 0 0 33px;
	justify-content: left !important;
	}	
	.icon-title.flex:before {}	
	
	/*+++++++++++++++
	post title
	++++++++++++++++*/

	/*+++++++++++++++
	button
	++++++++++++++++*/
	a.button {
        padding: 15px 40px 18px 40px;	
	}
	/*+++++++++++++++
	table
	++++++++++++++++
	table {
		width: 100%;
		table-layout: fixed;
		font-size: var(--font-h6);
	}
	th {
	width: 20%;
	border:none;
	font-weight: 700;
	padding: 12px 20px;
	}
	td {
	width: 80%;
	border:none;
	padding: 12px 20px;
	line-height: var(--lh-md);
	}
	*/
	/*+++++++++++++++
	column
	++++++++++++++++*/
	
	.block-column {
	}	
	.block-column a {
	display: block;
	margin: 0 0 10px;
	
	}
	
	/*+++++++++++++++
	information
	++++++++++++++++*/		

	#information .block-columns {
	margin: 0 0 30px;
	}
	#information .block-columns .block-column {
	margin: 0;

	}	
	#information .block-columns .block-column a {margin: 0 0 15px;}
	
		
	
	/*+++++++++++++++
	reserve
	++++++++++++++++*/	
	
	#reserve.inner {
		padding:0;
	}	
	#reserve .block-columns {
		align-items: center;
	}
	
	#reserve .block-columns .block-column a.button {
	margin: 0;
	}	
	
	#reserve .block-columns .flex {
	}
	#reserve .block-columns .logo {
	width: var(--flex-40);
	}
	
	#reserve .block-columns p {
	font-size:var(--font-em);
	justify-content: left;
	}	
	
	#reserve-sitebar {
	position: fixed;
	bottom: 4%;
	left: 2%;
	margin: 0;
	width:100%;
	max-width: 200px;
	z-index: 9;
	}
	#reserve-sitebar a {
	background: var(--black);
	padding: 30px 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: var(--mn);
	letter-spacing: 1px;
	box-sizing: border-box;
	color: var(--white);
	}
		
	
	
	/*+++++++++++++++
	swiper
	++++++++++++++++*/	

	/*+++++++++++++++
	tab
	++++++++++++++++*/	
	.tab ul {
		display: grid !important;
	}
	
	
	}
	@media screen and (min-width: 1024px) {
	.pc {display: block !important;}
	.sp {display: none !important;}

		.br {display: block !important;}
	.br2 {display: none !important;}	
	
	.box {
		padding: 150px 0 0;
		margin: -100px 0 50px;
	}
		
	.scale {transition:.3s; transform: scale(1.0);}
		.scale:hover {transition: .3s; transform: scale(1.05);}
		
	:root {
		--width-max: var(--flex-100);
		--width-full:var(--flex-95);
		--width-large: var(--flex-90);
		--sitebar: clamp(60px, 5.9701492537vw, 80px);
	}
		
	
			
		
	#wrapper {
		margin: 0;
		position: relative;
		max-width: var(--flex-94);
	}
	
	.flex {
	display: flex;
	justify-content: space-between;
	}
	
	
	::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 600;
	font-style: normal;	
	}
		
	.medium {
		max-width: var(--width-medium); 
		margin: auto;
		}
	
	
	.button {
		 padding: 18px 50px 18px;
		 font-size: var(--font-h5);
		 box-sizing: border-box;
	}
	.button:last-child {
		margin: 0;
	}
	.button:hover {
	opacity: 0.6;
	}
	
	/*TEL BUTTON*/
	.tel_button {
		font-family: var(--mn);
		font-size: var(--font-h3);
		letter-spacing: 0.5px;
		line-height: 1.1;
	}
		
	p {
	font-size: var(--font-h6);
	}
	
	p.small {
	font-size: var(--font-em);
	}
	
	.mb {margin: 0 0 10px;}
	.mb1{margin: 0 0 30px;}
	.mb2{margin: 0 0 50px;}
	.mb3 {margin: 0 0 80px;}
	
	/*+++++++++++++++
	list
	++++++++++++++++*/	
	ul.list {
	}
	ul.list li {
	font-family: var(--gs);
	font-size: var(--font-em);
	line-height: var(--lh-md);
	}
	ul.list:before {
		content:"";
	}	
	
	/*+++++++++++++++
	text
	++++++++++++++++*/
	h2,h3,h4,h5,h6 {
	line-height: 1.8;
	letter-spacing: 1px;
	margin: 10px 0;
	font-weight: 600;
	}
	h6 {
	font-size:var(--font-h6);
	letter-spacing: 1px;
	}
	h1 {
		font-family: var(--mn);
		font-size: var(--font-h1);
		font-weight: 700;
		letter-spacing: 3px;
		margin: 0;
		text-align: center;
		position: relative;
		}	
		
	
	h2 {
	font-family: var(--mn);
	font-size: var(--font-h2);
	font-weight: 700;
	letter-spacing: 3px;
	margin: 0;
	}		
	h3 {
	font-family: var(--mn);
	font-size: var(--font-h3);
	font-weight: 700;
	letter-spacing: 3px;
	margin: 0 0 10px;	
	}			
	h4 {
	font-size: var(--font-h4);
	font-family: var(--mn);
	margin: 0;
	}
	h5 {
	font-size: var(--font-h5);
	font-family: var(--mn);
	
	}	
	/*+++++++++++++++
	inner
	++++++++++++++++*/
	.inner {
	margin: auto;
	box-sizing: border-box;
	}
	
	.icon-title {
	font-size: var(--font-h4);
	}
	
	.icon-title.flex {
	text-align: left;
	padding: 0 0 0 33px;
	}	
	
	/*+++++++++++++++
	post title
	++++++++++++++++*/
	.post-title {
		font-weight: 500;
		letter-spacing: 3px;
		font-size:var(--font-h2);
		line-height: var(--lh-md);
		font-family: var(--mn);
	}
	/*+++++++++++++++
	button
	++++++++++++++++*/
	a.button {
		text-decoration: none !important;
	}
	/*+++++++++++++++
	table
	++++++++++++++++
	.wp-block-table {
	}
	table,tr,th,td {
	display: revert-layer;
	width: 100%;
	}		
	table {
		width: 100%;
		table-layout: fixed;
		font-size: var(--font-h6);
	}
	
	th {
		width: var(--flex-30);
		border: none !important;
		font-weight: 700;
		padding: 12px 20px !important;
	}
	td {
		width:var(--flex-70);
		border: none !important;
		padding: 12px 20px !important;
		line-height: var(--lh-md);
	}
	
		
	*/
		
	/*+++++++++++++++
	column
	++++++++++++++++*/
	.block-columns {
		display: grid;
		justify-content: space-between;
		align-items: flex-start;
		grid-template-columns: 20% 80%;
		overflow: hidden;
	}
	.block-column {/* width: 100%; */}	
	.block-column a {
	display: block;
	
	}
	.columns-1 {
		display: block;
	}
	.columns-2 {
		display: grid;
		gap:30px; 
		grid-template-columns: 1fr 1fr;
		justify-content: space-between;
	}
	
	.columns-3 {
		display: grid;
		gap:30px; 
		grid-template-columns: 1fr 1fr 1fr;
		justify-content: space-between;
	}
	/*+++++++++++++++
	information
	++++++++++++++++*/		
	#information {
	}		
	#information .button {
		margin: 0;
	}
	#information .block-columns {
	display: block;
	}
	
	#information .block-column {
	width: 100%;	
	margin: 0;
	flex-basis: var(--flex-65);
	}
	#information .block-column a {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin: 0 0 20px;
	}
	#information .block-column figure {
	flex-basis: var(--flex-30);
	}
	
		
	#information .date {
		font-size: var(--font-h6);
	}
	#information .cate {
		
	}
	#information .block-column p {font-size: var(--font-h5);}
	
	
	/*+++++++++++++++
	reserve
	++++++++++++++++*/	
		#reserve {
			padding: 80px 0 0;
		}
	#reserve  .inner {
		max-width: var(--width-full);
	}	
	#reserve .block-columns {
		align-items: center;
	}
	#reserve .block-column figure img {
		aspect-ratio: 3 / 2;
		object-fit: cover;
	}
	#reserve .block-column:last-child {
		padding: 40px 40px 40px 0;
	}
	#reserve a.button {
		margin: 0 0 20px;
		max-width: var(--flex-100) !important;
	}	
	
	
	#reserve .flex {
		display: grid;
		gap: 10px;
		grid-template-columns: 1fr 1fr;
		justify-content: space-between;
	}
	#reserve  .logo {
	width: var(--flex-40);
	}
	
	#reserve p {
		font-size:var(--font-h6);
	}	
	
	
	#reserve-sitebar {
	position: fixed;
	bottom: 4%;
	left: 2%;
	margin: 0;
	width:100%;
	max-width: 200px;
	}
	#reserve-sitebar a {
	background: var(--black);
	padding: 30px 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: var(--mn);
	letter-spacing: 1px;
	box-sizing: border-box;
	color: var(--white);
	}
	
	
	/*+++++++++++++++
	swiper
	++++++++++++++++*/	
	.swiper-button-prev {
	position: absolute;
	right: 4%;
	top: 0;
	bottom: 0;
	margin: auto;
	display: flex;
	align-items: center;
	font-size: var(--font-em);
	
	
	&::after {
	display: none !important;
	}
	transform: rotate(-180deg);
	width: var(--swiper-navigation-size) !important;
	height: var(--swiper-navigation-size) !important;
	}
	.swiper-button-next {
	position: absolute;
	right: 4%;
	top: 0;
	bottom: 0;
	margin: auto;
	display: flex;
	align-items: center;
	font-size: var(--font-em);	
	
	&::after {
	display: none !important;
	}
	
	}
		
	/*+++++++++++++++
	mainttl
	++++++++++++++++*/		
	#mainttl {
		float: none;
		margin: 50px auto;
		height: auto;
		/* overflow: hidden; */
		position: relative;
		/* border-bottom: 1px solid var(--opa-white02); */
		padding: 0;
		margin: 200px auto 90px;
		max-width: var(--width-medium);
	}
	#mainttl figure {
	
		overflow: hidden;
		position: relative;
		height: 100%;
	}
	#mainttl img {
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 100%;
	}	
		
	/**/
	/*+++++++++++++++
	tab 
	++++++++++++++++*/	
	.tab {
		clear: both;
		border-top: 1px solid var(--opa-white0);
	}
	.tab ul {
		display: flex !important;
		gap: 12px;
		justify-content: center;
	}
	.tab li {
		padding: 0 0 0 0 !important;
		display: block;
		margin: 0;
	}
	.tab li:last-child {
		border:none
	}
	.tab li a {
		font-size: var(--font-h6);
		color: var(--white);
		position: relative;
		display: flex;
		padding:12px 50px 14px;
		margin: 0;
		border: 1px solid var(--opa-white02);
		letter-spacing: 1px;
		align-items: center;
	}
	.tab li a:before {
		transform: rotate(90deg);
		content: "";
		position: absolute;
		right: 8%;
		top: 3px;
		bottom: 0;
		margin: auto;
		display: flex;
		align-items: center;
		font-size: 10px;
		background: url(../../../assets/images/common/arrow.svg) no-repeat;
		width: 13px;
		height: 14px;
		color: #fff;
		}	

	/*+++++++++++++
	arrow
	++++++++++++++*/
	.icon-arrow {
		width: 60px;
		height: 60px;
		margin: 30px 40px;
	}	
		
	}
	@media screen and (min-width: 1200px) {
	:root {
		--width-max: var(--flex-100);
		--width-full: 1400px;
		--width-large: 1200px;
		--width-medium: 1000px;
		--width-small: 800px;
		--sitebar: clamp(60px, 5.9701492537vw, 80px);
	}
	
	
	#wrapper {
		max-width: var(--flex-95);
	}	
	/*+++++++++++++++
	reserve
	++++++++++++++++*/	
	#reserve .inner {
	
	}		
	
	
	}