/*
Theme Name: MECHA
*/

html{
	margin-top: 0 !important;
}
body{
	margin: 0 !important;
}
img{
	max-width: 100%;
	height: auto;
	width: 100%;
}
div, p, ul, li, span, a, section{
	box-sizing: border-box;
	margin: 0;
}
.yumin{
	font-family: "Zen Old Mincho", serif;
}
ul{
	list-style: none;
	padding: 0;
}
table{
	max-width: 1000px;
}
iframe{
	border: none;
}
.wpcf7-response-output{
	display: none !important;
}

.pc{
	display: block;
}
.mobile{
	display: none;
}
@media screen and (max-width: 768px) {
	.pc{
		display: none;
	}
	.mobile{
		display: block;
	}
}

.sidebar .banner div.reservation a.mobile{
	display: none !important;
}
@media screen and (max-width: 768px) {
	.sidebar .banner div.reservation a.mobile{
		display: flex !important;
	}
	.sidebar .banner div.reservation a.pc{
		display: none !important;
	}
}

.sidebar{
	/*     width: 100px; */
	width: 90px;
	position: fixed;
	right: 0;
	top: 0;
}
.contents{
	/*     width: calc(100% - 100px); */
	width: calc(100% - 90px);
	position: relative;
}
.contents.lower{
	width: 100%;
}
a{
	cursor: pointer !important;
	text-decoration: none;
	color: #000;
}
a:hover{
	opacity: 0.7;
}
p{
	letter-spacing: 1px;
}
.note{
	font-size: 14px;
}
@media screen and (max-width: 768px){
	.note{
		font-size: 12px;
	}
	.lower p{
		font-size: 14px;
	}
}


/* breadcrumbs パンくず */
.breadcrumbs{
	width: fit-content;
	margin-left: auto;
	margin-right: 120px;
	position: relative;
	z-index: 10;
}
.breadcrumbs ol{
	list-style: none;
	display: flex;
	margin-top: 25px;
}
.breadcrumbs ol li{
	font-size: 12px;
	color: #b5b5b6;
	margin-right: 30px;
}
.breadcrumbs ol li a{
	text-decoration: none;
	color: #000;
	position: relative;
}
.breadcrumbs ol li a:before{
	content: ">";
	position: absolute;
	top: 50%;
	transform: translatey(-50%);
	right: -18px;
}


/* footer */
footer{
	margin: 50px 0;
}
footer .container{
	text-align: center;
}
footer .text_gr{
	margin-top: 40px;
}
footer .text_gr p{
	font-size: 14px;
	color: #000;
	line-height: 2;
}
.copyright{
	font-size: 10px;
	color: #817f7f;
	margin-top: 30px;
}
footer img{
	width: 150px;
}
@media screen and (max-width: 768px){
	footer img{
		max-width: 90%;
		width: 100px;
	}
}
footer .tel{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 10px;
}
footer .icon{
	width: 13px;
	margin-right: 5px;
}


/* サイドバー sidebar */
.sidebar{
	z-index: 1000;
}
.sidebar > div{
	z-index: 1001;
	position: relative;
}
.sidebar .navi{
	position: relative;
	/*     width: 100px;
	height: 100px; */
	width: 90px;
	height: 90px;
	display: block;
	background-color: #000;
	z-index: inherit;
}
.sidebar .navi span{
	width: 30px;
	height: 2px;
	background-color: #fff;
	display: block;
	position: absolute;
	top: 45%;
	left: 50%;
	transform: translateX(-50%);
	transition: 0.3s;
}
.sidebar .navi span:nth-child(2){
	top: 55%;
}
.sidebar .banner div.guide{
	height: 170px;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	padding-top: 25px;
	cursor: pointer;
	position: relative;
}
.sidebar .banner div.guide:hover > p, .sidebar .banner div.guide:hover > img{
	opacity: 0.7;
}
.sidebar .banner div.reservation a{
	/*     height: 190px; */
	height: 170px;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	padding-top: 20px;
	color: #fff;
}
.sidebar .banner > div img{
	width: 40px;
	height: 22px;
	object-fit: contain;
}
.sidebar .banner > div.reservation a p{
	color: #fff;
	writing-mode: vertical-rl;
	height: 100%;
	display: flex;
	justify-content: center;
	letter-spacing: 3px;
	font-weight: 200;
	font-size: 14px;
}
.sidebar .banner > div > p{
	color: #fff;
	writing-mode: vertical-rl;
	height: 100%;
	display: flex;
	justify-content: center;
	letter-spacing: 3px;
	font-weight: 200;
	font-size: 14px;
}
.sidebar .banner .person{
	background-color: #FFD900;
}
.sidebar .banner .group{
	background-color: #ffffff;
}
.sidebar .banner .guide{
	background-color: #000000;
}
.sidebar .banner .group p, .sidebar .banner .person p{
	color: #000 !important;
}
.sidebar .vertical{
	width: 100%;
	writing-mode: vertical-rl;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: relative;
	letter-spacing: 5px;
	font-size: 10px;
	margin-top: 85px;
}
.sidebar .vertical::before{
	content: "";
	position: absolute;
	height: 100px;
	width: 1px;
	background-color: #000;
	top: 110%;
	/*     left: 49.5px; */
	left: 44.5px;
}

.sidebar .navi.active span:nth-child(1) {
	transform: translateX(-50%) rotate(45deg);
	top: 50%;
}
.sidebar .navi.active span:nth-child(2) {
	transform: translateX(-50%) rotate(-45deg);
	top: 50%;
}
.sidebar .menu-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: 0.3s ease-in-out;
}
.sidebar .menu-overlay ul {
	list-style: none;
	text-align: center;
	padding: 0;
}
.sidebar .menu-overlay > a{
	z-index: 20;
}
.sidebar .menu-overlay ul li a {
	color: white;
	font-size: 24px;
	text-decoration: none;
}
.sidebar .menu-overlay.show {
	opacity: 1;
	visibility: visible;
}
/* メニューが開いたときにスクロールを無効化 */
body.no-scroll {
	overflow: hidden;
}
.sidebar .menu-overlay img.logo{
	width: initial;
	height: auto;
	position: absolute;
	top:40px;
	left:35px;
	width:350px;
	z-index: 6000;
}
@media screen and (max-width: 768px){
	.sidebar .menu-overlay img.logo{
		width: 45vw;
		min-width: 100px;
		top: 25px;
		left: 20px;
	}
	.sidebar .vertical{
		display: none !important;
	}
}

/* menu */
.sidebar .menu_container{
	max-width: 1200px;
	width: calc(95% - 200px);
	margin: 0 auto;
	height: 100%;
	padding-top: 220px;
}
.sidebar .menu_container a{
	color: #fff;
}
.sidebar .menu_container .menu_main{
	margin-bottom: 110px;
}
.sidebar .menu_container .menu_main > div{
	display: flex;
	justify-content: space-between;
}
.sidebar .menu_container .menu_main > div.bottom{
	padding-top: 30px;
	border-top: solid 1px #333;
}
.sidebar .menu_container .menu_main a{
	font-family: "Zen Old Mincho", serif;
	font-size: 20px;
	position: relative;
}
.sidebar .menu_container .menu_main a::before{
	content: ">";
	position: absolute;
	top: 5px;
	left: -20px;
	scale: 0.3;
}
.sidebar .menu_container .menu_main ul{
	width: fit-content;
	padding-left: 15px;
}
.sidebar .menu_container .menu_main ul li{
	width: fit-content;
}
.sidebar .menu_container ul li{
	text-align: left;
	margin-bottom: 30px;
	position: relative;
}
.sidebar .menu_footer .bottom{
	display: flex;
	justify-content: space-between;
	padding-top: 35px;
	border-top: solid 1px #333;
}
.sidebar .menu_footer .top ul{
	display: flex;
	width: 100%;
	justify-content: flex-end;
}
.sidebar .menu_footer .top ul li{
	margin-left: 40px;
	margin-bottom: 20px;
	position: relative;
}
.sidebar .menu_footer .top a, .sidebar .menu_footer .right > a {
	/* 	font-family: "Zen Old Mincho", serif; */
	font-size: 16px;
}
.sidebar .menu_footer .top a::before{
	content: ">";
	position: absolute;
	left: -17px;
	scale: 0.4;
}
.sidebar .menu_footer .right > a:before{
	content: ">";
	position: absolute;
	left: -17px;
	scale: 0.4;
}
.sidebar .menu_footer p{
	color: #fff;
	font-size: 16px;
}
.sidebar .menu_footer .left{
	display: flex;
	align-items: center;
}
.sidebar .menu_footer .left a{
	color: #fff;
	text-decoration: none;
	font-size: 24px;
	display: flex;
	align-items: center;
	margin-left: 30px;
}
.sidebar .menu_footer .left a img{
	height: 35px;
	margin-right: 8px;
	object-fit: contain;
	width: fit-content;
}
.sidebar .menu_footer .right{
	display: flex;
	align-items: center;
}
.sidebar .sns_gr{
	display: flex;
	align-items: center;
	margin-left: 40px;
}
.sidebar .sns_gr a{
	margin: 0 10px;
	height: 40px;
}
.sidebar .sns_gr img{
	height: 40px;
	width: auto;
}

/* 各種ご案内 */
.sidebar .guide{
	position: relative;
}
.sidebar .guide .guide_menu{
	visibility: hidden;
	opacity: 0;
	transition: 0.3s;
	position: absolute;
	right: 0;
	top: 0;
	background-color: #fff;
	width: 400px;
	height: fit-content;
	z-index: 2001;
	transition: 0.3s;
	max-width: 95vw;
}
.sidebar .guide .guide_menu.show{
	visibility: visible;
	opacity: 1;
}
.sidebar .guide .guide_menu p{
	display: flex;
	align-items: center;
	background-color: #7A9AAF;
	color: #fff;
	padding: 20px;
	font-size: 20px;
}
.sidebar .guide .guide_menu p img{
	margin-right: 15px;
}
.sidebar .guide .guide_menu ul{
	list-style: none;
	padding: 20px 25px;
}
.sidebar .guide .guide_menu ul img{
	height: 30px;
	width: auto;
}
.sidebar .guide .guide_menu li{
	margin: 20px 0;
}
.sidebar .guide .guide_menu li a{
	display: flex;
	align-items: center;
	font-size: 18px;
	width: fit-content;
	color: #000;
	text-decoration: none;
}
.sidebar .guide .guide_menu li a img{
	margin-right: 10px;
}
.sidebar .guide .guide_menu li:first-child a img{
	height: 23px;
	width: 30px;
}
.sidebar .guide .bg{
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	position: fixed;
	background-color: rgba(0, 0, 0, 0.6);
	visibility: hidden;
	opacity: 0;
	z-index: 2000;
	transition: 0.3s;
	cursor: initial;
}
.sidebar .guide .show.bg{
	visibility: visible;
	opacity: 1;
}
.sidebar .guide .batu{
	position: absolute;
	width: 69px;
	height: 69px;
	right: 0;
	top: 0;
}
.sidebar .guide .batu span{
	width: 20px;
	height: 2px;
	background-color: #fff;
	display: block;
	position: absolute;
	top: 45%;
	left: 50%;
	transform: translateX(-50%);
	pointer-events: none;
}
.sidebar .guide .batu span:nth-child(1) {
	transform: translateX(-50%) rotate(45deg);
	top: 50%;
}
.sidebar .guide .batu span:nth-child(2) {
	transform: translateX(-50%) rotate(-45deg);
	top: 50%;
}
.sidebar .guide .batu, .sidebar .navi{
	cursor: pointer;
}
.sidebar .guide .guide_menu{
	cursor: initial;
}

@media screen and (max-width: 768px) {
	.contents {
		width: 100%;
	}
	.sidebar {
		width: 100%;
	}

	footer{
		margin-bottom: 100px;
	}

	.sidebar .navi{
		width: 60px;
		height: 60px;
	}
	.sidebar .navi span {
		width: 20px;
		height: 1px;
	}
	.sidebar .menu{
		position: fixed;
		top: 0;
		right: 0;
	}
	.sidebar .banner{
		position: fixed;
		display: flex;
		bottom: 0;
		left: 0;
		top: initial;
		right: initial;
		width: 100%;
	}
	.sidebar .banner > div{
		height: 80px;
		width: 100%;
	}
	.sidebar .banner div.guide{
		height: 80px;
		width: 100%;
		padding-top: 15px;
	}
	.sidebar .banner div.reservation a{
		height: 100%;
		padding-top: 15px;
	}
	.sidebar .banner > div > p{
		writing-mode: initial;
		margin-top: 12px;
	}
	.sidebar .banner div.reservation a p{
		writing-mode: initial;
		margin-top: 12px;
	}
	.sidebar .vertical{
		display: none;
	}
	.sidebar .guide .guide_menu{
		position: fixed;
		right: 50%;
		top: 50%;
		transform: translate(50%, -50%);
	}
	.sidebar .menu_container{
		width: 80%;
		margin: 0 auto;
		height: 100%;
		padding-top: 140px;
	}
	.sidebar .menu_container .menu_main{
		flex-direction: column;
	}
	.sidebar .menu_container ul{
		width: 100%;
		padding-left: 20px;
	}
	.sidebar .menu_container ul li{
		margin-bottom: 30px;
		font-size: 14px;
	}
	.sidebar .menu_container .menu_main{
		margin-bottom: 50px;
	}
	.sidebar .menu_footer{
		flex-direction: column;
		align-items: center;
		padding-bottom: 110px;
		padding-top: 20px;
	}
	.sidebar .menu_footer .left{
		flex-direction: column;
		align-items: center;
	}
	.sidebar .menu-overlay{
		overflow: auto;
	}
	.sidebar .menu_footer .left a{
		margin: 20px 0;
		font-size: 20px;
	}
	.sidebar .menu_footer .left a img{
		height: 28px;
		margin-right: 5px;
	}
	.sidebar .menu_container .menu_main a{
		font-size: 16px;
	}
	.sidebar .menu_footer .right > a{
		font-size: 16px;
	}
	.sidebar .menu_footer p{
		font-size: 14px;
	}
	.sidebar .menu_container .menu_main > div{
		flex-direction: column;
	}
	.sidebar .menu_container .menu_main > div.bottom{
		padding-top: 25px;
		height: 130px;
		flex-wrap: wrap;
		justify-content: center;
	}
	.sidebar .menu_container .menu_main > div.bottom ul{
		width: 50%;
	}
	.sidebar .menu_footer .top ul{
		padding: 0;
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: 20px;
	}
	.sidebar .menu_footer .top ul li{
		margin: 0;
	}
	.sidebar .menu_container .menu_main{
		margin-bottom: 0;
	}
	.sidebar .menu_footer .top a, .sidebar .menu_footer .right > a{
		font-size: 14px;
	}
	.sidebar .menu_footer .top{
		width: 190px;
		margin: 0 auto;
		margin-bottom: 20px;
	}
	.sidebar .menu_footer .top a::before{
		top: 1px;
		left: -13px;
	}
	.sidebar .menu_footer .bottom{
		flex-direction: column;
		align-items: center;
		border: none;
	}
	.sidebar .menu_footer p{
		font-size: 12px;
	}
	.sidebar .menu_container .menu_main > div.bottom{
		border-bottom: solid 1px #333;
	}
	.sidebar .menu_footer .right > a:before{
		left: -13px;
	}
	.sidebar .menu_footer .left{
		width: 100%;
	}
	.sidebar .menu_footer .left a{
		width: 100%;
		padding: 10px 0;
		margin: 10px 0;
		border: solid 1px #fff;
		justify-content: center;
	}
	.sidebar .menu_footer .top ul li:nth-child(2){
		margin-left: 10px;
	}
}

section.fv{
	padding: 0 !important;
}
/* top */
.top .fv{
	height: 900px;
	width: 100%;
	position: relative;
	background-color: #000;
}
.top .fv::before{
	width: 100%;
	height: 100%;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background: linear-gradient(to bottom right, 
		rgba(0, 0, 0, 0.4) 0%,
		rgba(0, 0, 0, 0.1) 20%,
		rgba(0, 0, 0, 0) 30%,
		transparent 100%
	);
}
.top .fv img.fv_back{
	object-fit: cover;
	height: 100%;
	width: 100%;
	opacity: 0.6;
}
.top .fv img.logo{
	width: initial;
	height: auto;
	position: absolute;
	z-index: 20;
	top:40px;
	left:35px;
	width:350px;
}
.fv_flex{
	display: flex;
	align-items: center;
	position: absolute;
	top: 35%;
	left: 50%;
	transform: translatex(-50%);
	justify-content: space-between;
	width: 90%;
}
.fv_flex img{
	width: 600px;
	width: 35vw;
	max-width: 600px;
}
.top .fv .fv_flex p{
	text-align: left;
	font-size: clamp(16px, 2vw, 38px);
	margin-left: 15px;
	line-height: 1.8;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.9);
	font-family: "Noto Sans JP", sans-serif;
	font-style: italic;
	color: #fff;
	font-weight: 200;
}
.top .fv .fv_flex p.big{
	font-size: clamp(20px, 2.7vw, 44px);
	margin-bottom: 40px;
	line-height: 1.7;
	font-weight: 700;
}
.top .fv .fv_flex p span{
	font-weight: 800;
	font-style: italic;
	font-family: "Noto Sans JP", sans-serif;
}
.top .fv .fv_flex p span.en-w{
	font-size: 40px;
}
.top .fv .fv_flex p span.en-y{
	font-size: 50px;
	color: #ffe103;
}
@media screen and (max-width: 768px) {
	.top .fv img.logo{
		width: 45vw;
		min-width: 100px;
		top: 25px;
		left: 20px;
	}
	.top .fv img.fv_text{
		width: 80%;
		max-width: 510px;
	}
	.top .fv{
		height: 80vh;
		height: 80dvh;
	}

	.fv_flex{
		top: 30%;
		width: 100%;
		flex-direction: column;
		left: 0;
		transform: initial;
		gap: 60px;
	}
	.top .fv .fv_flex p span.en-w{
		font-size: 22px;
	}
	.top .fv .fv_flex p span.en-y{
		font-size: 30px;
	}
	.top .fv .fv_flex .right{
		width: 100%;
	}
}

/* to other */
.top .to_other{
	width: 65%;
	position: absolute;
	right: 0;
	top: 800px;
	max-width: 900px;
}
.top .to_other ul{
	list-style: none;
	display: flex;
	width: 100%;
	padding: 0;
	margin: 0;
}
.top .to_other ul li{
	width: 300px;
	height: 500px;
	position: relative;
	overflow: hidden;
	background-color: #000;
}
.top .to_other ul li a{
	display: flex;
	color: #fff;
	font-size: 20px;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	background-color: rgba(0, 0, 0, 0.4);
	position: relative;
	border: solid 1px #fff;
	border-right: none;
	text-align: center;
}
.top .to_other ul li:last-child a{
	border-right: solid 1px #fff;
}
.top .to_other ul li:before{
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	background-size: cover;
	transition: .3s ease;
}
.top .to_other ul li:hover:before{
	transform: scale(1.1);
	opacity: 0.5;
}
.top .to_other ul li a::before{
	width: 20px;
	height: 1px;
	background-color: #fff;
	content: "";
	position: absolute;
	top: 44%;
	left: 50%;
	transform: translateX(-50%);
}
.top .to_other ul li a:hover{
	opacity: initial;
}
.top .to_other li{
	background-repeat: no-repeat;
	background-size: cover;
}
.top .to_other li.user_guide:before{
	background-image: url("./img/user_guide.jpg");
	background-position: 9% 18%;
}
.top .to_other li.special_offer:before{
	background-image: url("./img/special_offer.jpg");
	background-position: 18% 60%;
}
.top .to_other li.course:before{
	background-image: url("./img/course.jpg");
	background-position: 47% 66%;
}
@media screen and (max-width: 1280px) {
	.top .to_other ul li{
		height: 450px;
	}
}
@media screen and (max-width: 1000px) {
	.top .to_other ul li{
		height: 400px;
	}
	.top .fv .fv_text{
		width: 500px;
	}
	.top .to_other ul li a::before{
		top: 42%;
	}
}
@media screen and (max-width: 960px) {
	.top .to_other{
		position: relative;
		width: 100%;
		top: 0;
	}
	.top .to_other ul {
		width: 95%;
		max-width: 650px;
		margin: 50px auto;
		flex-direction: column;
	}
	.top .to_other ul li{
		width: 100%;
		height: auto;
		aspect-ratio: 65 / 25;
	}
	.top .to_other ul li a{
		font-size: 26px;
	}
	.top .to_other ul li a::before{
		width: 40px;
		height: 2px;
		top: 10vw;
	}
	.top .info {
		width: 95%;
		padding: 0;
		margin: 100px auto 100px;
		max-width: 650px;
	}
}



/* information */
.top .info{
	width: 35%;
	min-height: 400px;
	padding: 0 20px 0 50px;
	margin-top: 40px;
}
.top .info h2{
	margin: 0;
	font-size: 22px;
}
.top .info .info_header{
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: solid 1px #000;
}
.top .info .navi{
	position: relative;
	width: 50px;
	height: 50px;
	display: block;
}
.top .info .navi span{
	width: 20px;
	height: 1px;
	background-color: #000;
	display: block;
	position: absolute;
	top: 42%;
	left: 50%;
	transform: translateX(-50%);
}
.top .info .navi span:nth-child(2){
	top: 58%;
}
.top .info ul{
	list-style: none;
	padding: 0;
}
.top .info ul li{
	padding: 25px 0;
	border-bottom: solid 1px #cccccc;
}
.top .info ul li .meta{
	display: flex;
	align-items: center;
}
.top .info ul li .meta time{
	font-size: 14px;
	color: #a3a3a3;
	margin-left: 10px;
}
.top .info ul li .meta span{
	display: block;
	background-color: #000;
	color: #eee;
	width: 70px;
	padding: 5px 10px;
	font-size: 12px;
	text-align: center;
}
.top .info ul li p{
	margin-top: 10px;
}
@media screen and (max-width: 960px) {
	.top .info {
		width: 95%;
		padding: 0;
		margin: 100px auto 100px;
		max-width: 650px;
	}
}
@media screen and (max-width: 768px) {
	.top .info {
		width: 95%;
		padding: 0;
		margin: 100px auto 100px;
		max-width: 650px;
	}
}

/* lower */
.lower .fv{
	height: 350px;
	width: 100%;
	position: relative;
}
.lower .fv:before{
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to top, 
		rgba(255, 255, 255, 0.4) 0%, 
		rgba(255, 255, 255, 0.2) 10%, 
		rgba(255, 255, 255, 0) 25%);
}
.lower .fv img{
	object-fit: cover;
	object-position: 0 50%;
	height: 100%;
	width: 100%;
	display: block;
}
.lower .fv img.logo{
	width: initial;
	height: auto;
	position: absolute;
	top: 40px;
	left: 35px;
	width: 350px;
}
.lower .container{
	max-width: 1600px;
	width: calc(100% - 200px);
	margin: 0 auto;
}
.lower section{
	padding: 80px 0;
}
@media screen and (max-width: 768px) {
	.lower .fv img{
		object-position: top;
	}
	.lower .breadcrumbs{
		display: none;
	}
	.lower .container{
		width: 85%;
	}
	.lower .fv img.logo{
		top: 25px;
		left: 20px;
		width: 45vw;
	}
	.lower .fv img.fv_text{
		width: 80%;
		max-width: 510px;
		right: 50%;
		top: 50%;
		transform: translate(50%, -50%);
	}
	.lower .fv{
		width: 100%;
		height: auto;
		aspect-ratio: 750 / 315;
	}
	.lower section{
		padding: 40px 0;
	}
}


/* guide　ご利用ガイド */
.lower .intro{
	padding-top: 0;
}
.lower .intro p{
	line-height: 2.5;
}
.lower .intro .title_gr{
	margin-top: -96px;
	padding-bottom: 70px;
	position: relative;
}
.lower .intro .title_gr:before{
	content: "";
	position: absolute;
	width: 40px;
	height: 5px;
	background-color: #000;
	bottom: 0;
	left: 0;
}
.lower .intro .title_gr h1{
	font-size: 65px;
	font-weight: 200;
}
.lower .intro .title_gr span{
	letter-spacing: 8px;
	font-size: 18px;
	margin-top: 30px;
	display: block;
}
.lower .intro .p-h2{
	margin-top: 55px;
	margin-bottom: 45px;
	font-size: 34px;
	font-weight: 100;
	line-height: 1.9;
}
@media screen and (max-width: 768px){
	.lower .intro .title_gr{
		margin-top: -30px;
	}
	.lower .intro .title_gr h1{
		font-size: 38px;
	}
	.lower .intro .title_gr span{
		letter-spacing: 6px;
		margin-top: 20px;
	}
	.lower .intro .title_gr{
		padding-bottom: 50px;
	}
	.lower .intro .title_gr:before{
		width: 30px;
		height: 3px;
	}
	.lower .intro .p-h2{
		font-size: 31px;
		line-height: 1.7;
		margin-top: 20px;
		margin-bottom: 20px;
	}
	.lower .intro p{
		line-height: 2;
		font-size: 14px;
	}
}

/* step */
.lower.guide .step{
	background-color: #f7f7f7;
}
.lower.guide .step ul{
	display: grid;
	grid-template-columns: repeat(2, auto); /* 2列にする */
	gap: 10px 20px; /* 行と列の間隔（任意） */
}

.lower.guide .step ul li:nth-child(1) { grid-column: 1; grid-row: 1; }
.lower.guide .step ul li:nth-child(2) { grid-column: 1; grid-row: 2; }
.lower.guide .step ul li:nth-child(3) { grid-column: 1; grid-row: 3; }
.lower.guide .step ul li:nth-child(4) { grid-column: 2; grid-row: 1; }
.lower.guide .step ul li:nth-child(5) { grid-column: 2; grid-row: 2; }
.lower.guide .step ul li:nth-child(6) { grid-column: 2; grid-row: 3; }

.lower.guide .step ul li{
	padding-right: 50px;
	position: relative;
	display: flex;
	margin-bottom: 90px;
	align-items: flex-start;
}
.lower.guide .step ul li .left{
	width: 45%;
	opacity: 0.8;
}
.lower.guide .step ul li .right{
	width: 55%;
	padding-left: 25px;
}
.lower.guide .step .step_num{
	position: absolute;
	top: -23px;
	left: -7px;
	z-index: 10;
	font-size: 20px;
	font-weight: 100;
	letter-spacing: 2px;
}
.lower.guide .step .step_num:before{
	content: "";
	position: absolute;
	top: -8px;
	right: -3px;
	width: 25px;
	height: 1px;
	background-color: #000;
}
.lower.guide .step .step_num span{
	font-size: 30px;
}
.lower.guide .step ul li p{
	line-height: 2.2;
}
.lower.guide .step ul li .g-title{
	font-size: 24px;
	font-weight: 200;
	line-height: 1;
	margin-bottom: 25px;
}
.lower.guide .step ul li:nth-child(1),
.lower.guide .step ul li:nth-child(4){
	margin-top: 31px;
}
.lower.guide .step ul li:nth-child(3),
.lower.guide .step ul li:nth-child(6){
	margin-bottom: 0;
}
.lower.guide .step .pc.carousel{
	overflow: initial;
}
@media screen and (max-width: 768px){
	.lower.guide .step .step_num{
		left: 0;
		font-size: 23px;
		top: 2px;
	}
	.lower.guide .step ul{
		gap: 0;
	}
	.lower.guide .step ul li{
		width: 100%;
		padding: 0;
		display: block;
		margin-bottom: 0;
		padding-top: 25px;
		margin-top: 0 !important;
	}
	.lower.guide .step ul li .left,
	.lower.guide .step ul li .right{
		width: 100%;
	}
	.lower.guide .step ul li .left img{
		width: 100%;
		height: auto;
		aspect-ratio: 622 / 305;
		object-fit: cover;
	}
	.lower.guide .step ul li .right{
		padding: 0;
	}
	.lower.guide .step ul li .g-title{
		text-align: center;
		margin: 20px 0;
		font-size: 28px;
	}
}

/* カフェバナー */
.lower.guide .to_cafe{
	padding: 100px 0 50px;
}
.lower.guide .to_cafe .content{
	width: 100%;
	padding: 60px 90px;
	position: relative;
}
.lower.guide .to_cafe .content img{
	position: absolute;
	height: 100%;
	width: 60%;
	object-fit: cover;
	object-position: 0 10%;
	right: 0;
	top: 0;
}
.lower.guide .to_cafe .content .text_gr:before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, 
		#f6f6f6 0%, 
		#f6f6f6 42%, 
		rgba(246, 246, 246, 0) 56%);
}
.lower.guide .to_cafe .content .text_gr{
	width: 45%;
	position: initial;
}
.lower.guide .to_cafe .content .text_gr p{
	line-height: 2.2;
	position: relative;
	font-size: 18px;
}
.lower.guide .to_cafe .content .text_gr .g-title{
	font-size: 36px;
	font-weight: 200;
	margin-bottom: 40px;
	line-height: 1;
}
.lower.guide .to_cafe .content .text_gr a{
	position: relative;
	margin-top: 15px;
	width: fit-content;
	margin-left: auto;
	letter-spacing: 1px;
	display: block;
	font-size: 18px;
	margin-bottom: 10px;
}
.lower.guide .to_cafe .content .text_gr a:before{
	content: "";
	width: 60px;
	height: 1px;
	left: -20px;
	bottom: 0;
	position: absolute;
	transform: translatex(-100%);
	background-color: #94b231;
}
@media screen and (max-width: 768px){
	.lower.guide .to_cafe{
		padding: 50px 0 60px;
	}
	.lower.guide .to_cafe .content{
		padding: 0;
	}
	.lower.guide .to_cafe .content img{
		position: relative;
		width: 100%;
		/* height: ; */
	}
	.lower.guide .to_cafe .content .text_gr{
		width: 100%;
		margin-top: -20px;
		padding: 0 25px 25px;
	}
	.lower.guide .to_cafe .content .text_gr:before{
		background: linear-gradient(to top, 
			#f6f6f6 0%, 
			#f6f6f6 56%, 
			rgba(246, 246, 246, 0) 82%);
	}
	.lower.guide .to_cafe .content .text_gr .g-title{
		margin-bottom: 30px;
	}
	.lower.guide .to_cafe .content .text_gr p{
		line-height: 2;
		font-size: 16px;
	}
	.lower.guide .to_cafe .content .text_gr a{
		font-size: 18px;
		margin-top: 30px;
	}
	.lower.guide .to_cafe .content .text_gr a:before{
		width: 40px;
		left: -10px;
	}
}

/* course */
.lower .wicker .flex_gr{
	display: flex;
	padding: 5px 5px 20px;
	border: solid 1px #000;
}
@media screen and (max-width: 768px){
	.lower .wicker .flex_gr{
		flex-direction: column;
		padding: 5px 5px 20px;
	}
	.lower .wicker .flex_gr p{
		line-height: 2;
		font-size: 16px;
		padding: 0 20px;
	}
	.lower .wicker .flex_gr p.g-title{
		font-size: 25px;
		text-align: center;
		margin-top: 10px;
		margin-bottom: 10px;
	}
}

.lower .course{
	padding-top: 0;
}
.lower .course img{
	display: block;
	max-width: 1200px;
	margin: 0 auto;
}
.lower .course p{
	font-size: 28px;
	margin-top: 30px;
	margin-bottom: 10px;
}
.lower .course p.note{
	font-size: 10px;
	margin-top: 10px;
}
.lower .course table {
	border-collapse: collapse;
	width: 100%;
	font-size: 9px;
}
.lower .course th{
	padding: 3px;
	text-align: center;
}
.lower .course thead th{
	border: solid 1px #000;
}
.lower .course th:first-child{
	border: 1px solid #000;
	border-right: 1px solid #fff;
}
.lower .course td {
	padding: 5px;
	text-align: center;
	border-bottom: 1px solid #000;
}
.lower .course td:first-child{
	border: 1px solid #000;
}
.lower .course td:last-child{
	border-right: 1px solid #000;
}
.lower .course th {
	background-color: #000;
	color: #fff;
}
.lower .course .total th{
	background-color: #fff;
	color: #000;
	border-right-color: #000;
}

@media screen and (max-width: 768px){
	.lower .course td {
		padding: 3px;
	}
}
table .black{
	background-color: #000 !important;
	color: #fff !important;
}
table .blue{
	background-color: #00bfff !important;
	color: #000 !important;
}
table .white{
	background-color: #fff !important;
	color: #000 !important;
}
table .red{
	background-color: #ff4d4d !important;
	color: #fff !important;
}
table .pink{
	background-color: #ff99cc !important;
	color: #000 !important;
}
.course-rate {
	background-color: #000;
	color: #fff;
	font-weight: bold;
}
.total th, .total td{
	border: 1px solid #000;
}
.lower .course .total table{
	table-layout: fixed;
}

.lower .course_list{
	padding: 8px 0;
	position: sticky;
	top: 0;
	z-index: 500;
}
.lower .course_list .container{
	padding: 10px;
	border: solid 1px #000;
	display: flex;
	align-items: center;
	background-color: #fff;
}
.lower .course_list .container div.menu{
	width: 40px;
	height: 30px;
}
.lower .course_list .menu span{
	position: absolute;
	height: 1px;
	width: 15px;
	background-color: #000;
	left: 50%;
	transform: translatex(-50%);
}
.lower .course_list .menu span:first-child{
	top: 40%;
}
.lower .course_list .menu span:last-child{
	top: 60%;
}

.lower.course .hole .container > ul > li{
	margin-bottom: 90px;
	position: relative;
	scroll-margin-top: 100px;
}
.lower.course .hole .text_gr{
	z-index: 5;
}
.lower.course .hole .text_gr img{
	width: 12%;
	padding: 20px;
	background-color: #fff;
	/* 	transform: translatey(-50%); */
	margin-top: -22%;
}
.lower.course .hole .flex_gr{
	display: flex;
	align-items: flex-end;
}
.lower.course .hole .circle_gr{
	display: flex;
	align-items: center;
}
.lower.course .hole .text_gr .title_gr .g-title{
	font-size: 20px;
	letter-spacing: 2px;
	line-height: 2.5;
	margin-left: 10px;
}
.lower.course .hole .text_gr .title_gr .g-title span{
	font-size: 16px;
	letter-spacing: 2px;
}
.lower.course .hole .circle_gr{
	margin-left: 10px;
}
.lower.course .hole .circle_gr li{
	font-size: 14px;
	margin-left: 10px;
	margin-right: 10px;
	position: relative;
}
.lower.course .hole .circle_gr li:before{
	content: "";
	position: absolute;
	border-radius: 50%;
	width: 12px;
	height: 12px;
	top: 50%;
	left: 0;
	transform: translate(-115%, -50%);
}
.lower.course .hole .circle_gr li.black:before{
	background-color: #000;
}
.lower.course .hole .circle_gr li.blue:before{
	background-color: #0b52ac;
}
.lower.course .hole .circle_gr li.white:before{
	background-color: #fff;
	border: solid 1px #000;
	width: 10px;
	height: 10px;
}
.lower.course .hole .circle_gr li.red:before{
	background-color: #f80000;
}
.lower.course .hole .circle_gr li.pink:before{
	background-color: #fe7cb8;
}
.lower.course .hole .text_gr > p{
	width: 85%;
	margin: 0 auto;
	line-height: 2;
	margin-top: 10px;
}
.lower .step_num{
	position: absolute;
	top: -23px;
	left: -7px;
	z-index: 10;
	font-size: 20px;
	font-weight: 100;
	letter-spacing: 2px;
}
.lower .step_num:before{
	content: "";
	position: absolute;
	top: -8px;
	right: -3px;
	width: 25px;
	height: 1px;
	background-color: #000;
}
.lower .step_num span{
	font-size: 30px;
}
.lower.course .step_num:before{
	display: none;
}
@media screen and (max-width: 768px){
	.lower .step_num{
		left: 0;
		font-size: 26px;
	}
	.lower.course .step_num{
		width: 85%;
		left: 7.5%;
		top: -21px;
	}
	.lower.course .hole .container{
		width: 100%;
	}
	.lower .course_list .container{
		margin-right: 70px;
		margin-left: 7.5%;
		width: auto;
	}
	.lower.course .hole .container > ul > li{
		margin-bottom: 60px;
	}
	.lower.course .hole .flex_gr{
		height: 67px;
	}
}
@media screen and (min-width: 769px){
	.lower .course table{
		font-size: 14px;
	}
	.lower.course .hole .img_gr li img{
		width: 100%;
	}
	.lower.course .hole .flex_gr{
		display: block;
		margin-left: 11vw;
		position: initial;
	}
	.lower.course .hole .flex_gr .title_gr{
		display: flex;
	}
	.lower.course .hole .circle_gr{
		margin-bottom: -7px;
	}
	.lower.course .hole .text_gr .ab_gr{
		position: absolute;
		bottom: 0;
		left: 0;
		width: 11%;
		padding: 20px;
		background-color: #fff;
		padding-bottom: 0;
		height: 210px;
	}
	.lower.course .hole .text_gr .ab_gr img{
		width: 100%;
		padding: 0px;
		background-color: initial;
		transform: initial;
		margin-top: 0;
		height: 190px;
		object-fit: contain;
	}
	.lower.course .step_num {
		position: absolute;
		top: -32px;
		left: 50%;
		transform: translateX(-50%);
		z-index: 10;
		font-size: 26px;
		font-weight: 100;
		letter-spacing: 2px;
	}
	.lower.course .step_num span{
		font-size: 40px;
	}
	.lower .course .flex_gr{
		display: flex;
		gap: 50px;
	}
	.lower .course .flex_gr > div{
		width: 100%;
	}
	.total table{
		max-width: 2000px;
	}
	.lower .course p.note{
		font-size: 14px;
	}
	.lower.course .hole .text_gr .title_gr .g-title{
		font-size: 24px;
		margin-left: 0;
	}
	.lower.course .hole .circle_gr{
		margin-left: 40px;
		margin-bottom: -10px;
	}
}
@media screen and (min-width: 1800px){
	.lower.course .hole .flex_gr{
		margin-left: 195px;
	}
	.lower.course .hole .text_gr .ab_gr{
		height: 250px;
	}
	.lower.course .hole .text_gr .ab_gr img{
		height: 230px;
	}
}

@media screen and (max-width: 768px){
	.lower.course .hole .text_gr img{
		width: 6%;
		padding: 15px;
	}
}
@media screen and (max-width: 425px){
	.lower.course .hole .text_gr img{
		width: 8%;
		padding: 15px;
	}
}
.lower.course .bg{
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	position: fixed;
	background-color: rgba(0, 0, 0, 0.8);
	visibility: hidden;
	opacity: 0;
	z-index: 2000;
	transition: 0.3s;
	cursor: initial;
}
.lower.course .show.course_list .bg{
	visibility: visible;
	opacity: 1;
}
.lower.course .course_list.show{
	z-index: 5000;
}
.lower.course .all_course{
	position: fixed;
	width: 100vw;
	max-width: 1600px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 5001;
	visibility: hidden;
	opacity: 0;
}
.lower.course .all_course ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
}
.lower.course .all_course ul li{
	width: 33.33%;
	height: 60px;
	border: solid 1px #fff;
	border-right: none;
}
.lower.course .all_course ul li a{
	display: flex;
	align-items: center;
	line-height: 1;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 14px;
	background-color: rgba(0,0,0,0.6);
}
.lower.course .all_course ul li:nth-child(3n){
	border-right: solid 1px #fff;
}
.lower.course .all_course ul li a span{
	font-size: 22px;
}
.lower.course .show.course_list .all_course{
	visibility: visible;
	opacity: 1;
}
.lower.course .all_course a, .lower.course .all_course p{
	color: #fff;
}
.lower.course .all_course .g-title{
	font-size: 22px;
	padding: 15px 10px;
	max-width: 1000px;
	margin: 0 auto;
}
.lower.course .all_course .g-title span{
	font-size: 14px;
}
.lower.course .all_course .bottom{
	margin-top: 40px;
}
.lower.course .all_course .course_batu{
	right: -10px;
	top: -40px;
	position: absolute;
	visibility: hidden;
	opacity: 0;
	width: 40px;
	height: 40px;
}
.lower.course .all_course .course_batu span{
	width: 20px;
	height: 1px;
	background-color: #fff;
	display: block;
	position: absolute;
	top: 45%;
	left: 50%;
	transform: translateX(-50%);
	transition: 0.3s;
}
.lower.course .all_course .course_batu span:nth-child(1) {
	transform: translateX(-50%) rotate(45deg);
	top: 50%;
}
.lower.course .all_course .course_batu span:nth-child(2) {
	transform: translateX(-50%) rotate(-45deg);
	top: 50%;
}
.lower.course .course_list.show .all_course .course_batu{
	visibility: visible;
	opacity: 1;
}
.lower.course .all_course .course_batu{
	cursor: pointer;
}
.lower.course .all_course a{
	cursor: pointer;
}

.lower.course .all_course ul li{
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.lower.course .all_course .top ul li:nth-child(1){
	background-image: url("./img/all_hole1.jpg");
}
.lower.course .all_course .top ul li:nth-child(2){
	background-image: url("./img/all_hole2.jpg");
}
.lower.course .all_course .top ul li:nth-child(3){
	background-image: url("./img/all_hole3.jpg");
}
.lower.course .all_course .top ul li:nth-child(4){
	background-image: url("./img/all_hole4.jpg");
}
.lower.course .all_course .top ul li:nth-child(5){
	background-image: url("./img/all_hole5.jpg");
}
.lower.course .all_course .top ul li:nth-child(6){
	background-image: url("./img/all_hole6.jpg");
}
.lower.course .all_course .top ul li:nth-child(7){
	background-image: url("./img/all_hole7.jpg");
}
.lower.course .all_course .top ul li:nth-child(8){
	background-image: url("./img/all_hole8.jpg");
}
.lower.course .all_course .top ul li:nth-child(9){
	background-image: url("./img/all_hole9.jpg");
}
.lower.course .all_course .bottom ul li:nth-child(1){
	background-image: url("./img/all_hole10.jpg");
}
.lower.course .all_course .bottom ul li:nth-child(2){
	background-image: url("./img/all_hole11.jpg");
}
.lower.course .all_course .bottom ul li:nth-child(3){
	background-image: url("./img/all_hole12.jpg");
}
.lower.course .all_course .bottom ul li:nth-child(4){
	background-image: url("./img/all_hole13.jpg");
}
.lower.course .all_course .bottom ul li:nth-child(5){
	background-image: url("./img/all_hole14.jpg");
}
.lower.course .all_course .bottom ul li:nth-child(6){
	background-image: url("./img/all_hole15.jpg");
}
.lower.course .all_course .bottom ul li:nth-child(7){
	background-image: url("./img/all_hole16.jpg");
}
.lower.course .all_course .bottom ul li:nth-child(8){
	background-image: url("./img/all_hole17.jpg");
}
.lower.course .all_course .bottom ul li:nth-child(9){
	background-image: url("./img/all_hole18.jpg");
}


/* fee */
.fee.lower table {
	border-collapse: collapse;
	width: 100%;
	max-width: 1200px;
	table-layout: fixed;
}
.fee.lower table span{
	font-family: initial;
	font-size: 10px;
}

.fee.lower th, .fee.lower td {
	border: 1px solid #000;
	padding: 8px;
	text-align: center;
	font-weight: 200;
}
.fee.lower table tr > :first-child{
	width: 20%;
	min-width: 65px;
}
.fee.lower th {
	background-color: #efefef;
}
.fee.lower .sub-header:first-child {
	background-color: #dcdddd;
}
.fee.lower .sub-header:last-child {
	background-color: #efefef;
}
.fee.lower .price {
	font-size: 18px;
}
.fee.lower .tax {
	font-size: 12px;
	font-family: initial;
	margin-top: 10px;
}
.bottomnone td{
	border-bottom:none;
}
.fee.lower .plan h2{
	padding-left: 10px;
	border-left: solid 3px #94b231;
	font-weight: 200;
	font-size: 22px;
	margin-bottom: 15px;
}
.fee.lower .plan p{
	margin: 10px 0;
	line-height: 1.8;
}
.fee.lower .note_gr{
	background-color: #f2f2f2;
}
.fee.lower .note_gr a{
	text-decoration: underline;
}
.fee.lower .note_gr p{
	margin: 0;
	font-size: 14px;
	line-height: 1.8;
}
.fee.lower .special p{
	text-align: center;
}
.lower .special .g-title{
	font-size: 36px;
	line-height: 1;
	margin-bottom: 40px;
}
.fee.lower .special p.jp-title{
	font-size: 16px;
	margin: 20px 0 10px;
}
.lower .special a{
	position: relative;
	margin-top: 15px;
	width: fit-content;
	margin-left: auto;
	letter-spacing: 1px;
	display: block;
	font-size: 18px;
	margin-bottom: 10px;
}
.lower .special a:before {
	content: "";
	width: 60px;
	height: 1px;
	left: -20px;
	bottom: 0;
	position: absolute;
	transform: translatex(-100%);
	background-color: #94b231;
}
.lower .special .content{
	background-color: #f7f7f7;
}
.lower .special .text_gr{
	padding-bottom:30px;
}
.fee.lower .intro a {
	display: block;
	text-decoration: underline;
	font-size: 16px;
	margin-top: 30px;
}
@media screen and (min-width: 769px){
	.fee.lower .plan{
		padding-top: 0;
	}
	.fee.lower .plan .content{
		margin-bottom: 60px;
	}
}
@media screen and (min-width: 1200px){
	.lower .special .content{
		display: flex;
		align-items: center;
	}
	.lower .special .content img{
		width: 35%;
	}
	.lower .special .container{
		max-width: 1400px;
	}
	.lower .special .content .text_gr{
		width: 65%;
		padding-left: 80px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding-bottom: 0;
	}
	.lower .special .content .text_gr p{
		text-align: initial;
	}
	.lower .special a{
		position: absolute;
		right: 50px;
		bottom: -20px;
	}
	.fee.lower .plan table{
		margin: 10px 0;
	}
}
@media screen and (max-width: 768px){
	.scroller{
		overflow: auto;

		&:where(.container *){
			margin-inline: -8.823529411764707%;
			padding-inline: 8.823529411764707%;
		}
	}
	.scroller table{
		min-width: 187.5%;
	}
	.lower.fee .intro .p-h2{
		font-size: 24px;
	}
	.fee.lower .fv img{
		object-fit: cover;
	}
	.fee.lower .plan .content{
		margin-bottom: 50px;
	}
	.fee.lower .plan h2{
		font-size: 20px;
	}
	.fee.lower p{
		font-size: 14px;
	}
	.fee.lower .intro a{
		font-size: 14px;
		margin-top: 20px;
	}
	.fee.lower .note{
		font-size: .625em;
	}
	.fee.lower .note_gr p{
		margin: 0;
		font-size: 12px;
	}
	.fee.lower .special{
		padding: 70px 0;
	}
	.lower .special .g-title{
		font-size: 30px;
	}
	.lower .special a {
		font-size: 14px;
		margin-top: 30px;
		margin-right: auto;
		/*         transform: translateX(30px); */
	}
	.lower .special a:before {
		width: 40px;
		left: -10px;
	}
	.fee.lower .sub-header{
		font-size: 13px;
		padding: 8px 0;
	}
	.fee.lower th.date{
		font-size: 13px;
	}
}

/* fee > custom */
.scroller table.tbl2{
	min-width: auto;
}
.fee.lower .tbl2{
	/* table-layout: auto; */
}
@media screen and (max-width: 768px) {
	.fee.lower .tbl2{
		font-size: .75em;
		table-layout: auto;
	}
	.fee.lower .tbl2 col{
		width: auto;
	}
	.fee.lower .tbl2 col:first-of-type{
		width: 48px;
	}
}
.fee.lower .tbl2 :is(th, td){
	width: auto;
}
.fee.lower .tbl2 thead{
	background: #efefef;
}
/* .fee.lower .tbl2 th{
background: none;
}
.fee.lower .tbl2 thead th{
background: black;
color: white;
} */
.fee.lower table.tbl2 tr > :first-child{
	width: auto;
	min-width: auto;
}
@media screen and (max-width: 768px) {
	.fee.lower .tbl2 span{
		font-size: .625em;
	}
}
.price2{
	font-size: 1.25em;
}
.price-table-notice{
	list-style-type: "※";
	line-height: 1.5;
	font-size: 14px;
	font-family: initial;
	margin-block: 1em;
	margin-left: 1.25em;
}
@media screen and (max-width: 768px) {
	.price-table-notice{
		font-size: .625em;
	}
	.price-table-notice p{
		font-size: inherit !important;
		letter-spacing: 0;
	}
}

/* cafe */
.cafe_dining.lower .slider_gr{
	border-bottom: solid 1px #cccccc;
}
.cafe_dining.lower .intro2{
	padding-top: 50px;
}


@media screen and (max-width: 768px){
	.lower.cafe_dining .intro .title_gr {
		margin-top: -24px;
	}
	.cafe_dining.lower .intro .title_gr h1{
		font-size: 32px;
	}
	.lower .intro .p-h2 {
		font-size: 26px;
	}
	.cafe_dining.lower .slider_gr{
		padding-bottom: 50px;
		padding-top: 0;
	}
	.cafe_dining.lower .intro2{
		padding-top: 30px;
	}
}
@media screen and (min-width: 769px){
	.cafe_dining .intro{
		padding-bottom: 40px;
	}
	.cafe_dining .slider_gr{
		padding-top: 40px;
	}
	.cafe_dining.lower .intro2{
		padding-top: 120px;
	}
	.cafe_dining .slider_gr > div{
		max-width: 750px;
		width: calc(100% - 200px);
		margin: 0 auto;
	}		
}


/* card */
.lower .fv_card{
	position: absolute;
	top: 50%;
	left: 50%;
	height: 60%;
	width: auto;
	transform: translate(-50%, -50%);
}
.lower .get li{
	position: relative;
	margin-top: 50px;
}
.lower .get .step_num{
	position: relative;
	top: 0;
	width: fit-content;
	font-size: 22px;
	margin-bottom: 10px;
}
.lower .get li p{
	line-height: 2;
}
.lower .get li p.bold{
	font-weight: bold;
}
.lower .get ul{
	position: relative;
}
.lower .get ul img{
	position: absolute;
	height: calc(100% + 40px);
	top: 0;
	left: 0;
	width: auto;
}
.lower .get ul li{
	padding-left: 15px;
}
@media screen and (min-width: 769px){
	.lower .get ul li{
		display: flex;
		align-items: center;
	}
	.lower .get .step_num{
		margin-right: 60px;
		margin-bottom: 0;
	}
	.lower .get .step_num:before{
		width: 1px;
		height: 180%;
		left: initial;
		top: 50%;
		right: -29.5px;
		transform: translatey(-50%);
	}
	.lower .get .box {
		position: absolute;
		height: calc(100% + 40px);
		width: 150px;
		top: 0;
		left: 0;
		background-color: #ededed;
	}
	.lower .get .arrow {
		position: absolute;
		bottom: -30px; /* 矢印をボックスの下に配置 */
		left: 50%;
		transform: translateX(-50%);
		width: 0;
		height: 0;
		border-left: 75px solid transparent;
		border-right: 75px solid transparent;
		border-top: 30px solid #ededed; /* ←下向き矢印に見せるためには「border-top」 */
	}
	.lower .get ul li{
		padding-left: 100px;
	}
	.lower .get{
		padding-bottom: 150px;
	}
}

.lower .get{
	margin-top: 40px;
}
.lower .benefit{
	margin-top: 90px;
	background-color: #f7f7f7;
}
.lower .benefit .p-h2{
	margin-bottom: 30px;
}
.benefit li{
	margin-bottom: 60px;
}
.lower .benefit li:last-child{
	margin-bottom: 0;
}
.lower .benefit li p{
	line-height: 1.8;
	margin-top: 5px;
}
.lower .benefit li a span{
	font-weight: bold;
	text-decoration: underline;
}
@media screen and (max-width: 768px){
	.lower .benefit li{
		margin-bottom: 40px;
	}
	.lower .benefit li:last-child{
		margin-bottom: 40px;
	}
}
@media screen and (min-width: 769px){
	.lower .benefit ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.lower .benefit ul li{
		/* 		width: 23%; */
		width: 48%;
		display: flex;
		margin-left: 10px;
		margin-right: 10px;
	}
	.lower .benefit ul.top li{
		margin: 40px 10px 50px;
	}
	.lower .benefit ul.top li:last-child{
		margin-top: 0;
		margin-bottom: 50px;
	}
	.lower .benefit ul.top li p{
		text-align: left;
	}
	.lower .benefit ul li a{
		display: flex;
	}
	.lower .benefit ul li img{
		flex: 0 0 48%;
		width: 48%;
		height: fit-content;
		object-fit: contain;
	}
	.lower .benefit ul li p{
		padding: 15px;
		padding-top: 0;
	}
}


/* アクセス　access */
.lower.access .googlemap{
	overflow: hidden;
}
.lower.access .googlemap iframe{
	width: 100%;
}
.lower.access .map .address{
	text-align: right;
	margin-top: 20px;
	line-height: 2.2;
}
.lower.access .map .phone{
	margin-top: 40px;
}
.lower.access .map .phone a{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 0;
	border: solid 1px #000;
	font-size: 26px;
}
.lower.access .map .phone a img{
	width: 40px;
	height: auto;
}
.lower.access .map{
	border-bottom: solid 1px #ccc;
	padding-top: 0;
}
.lower.access .bycar h2{
	padding-left: 10px;
	border-left: solid 3px #94b231;
	font-weight: 200;
	font-size: 22px;
	margin-bottom: 15px;
}
.lower.access .bycar .car_course{
	margin-top: 30px;
}
.lower.access .bycar .car_course > p{
	margin-bottom: 15px;
	font-size: 16px;
}
.lower.access .bycar .car_course li{
	width: 100%;
	padding: 20px 0;
	background-color: #000;
	margin-bottom: 60px;
	color: #fff;
	text-align: center;
	position: relative;
	font-size: 14px;
}
.lower.access .bycar .car_course li:before{
	position: absolute;
	content: "";
	width: 1px;
	height: 65px;
	bottom: 1px;
	left: 50%;
	transform: translate(-50%, 100%);
	background-color: #000;
}
.lower.access .bycar .car_course li:last-child:before{
	display: none;
}
.lower.access .bycar .car_course ul p{
	position: absolute;
	margin-top: -37px;
	left: 53%;
}
.lower.access .bycar .car_course3 ul p.p3{
	margin-top: -73px;
}
.lower.access .bycar .car_course ul p.left{
	right: 53%;
	left: initial;
	white-space: nowrap;
}
.lower.access .bycar .car_course2 li:last-child{
	margin-bottom: 0;
}
.contents.lower.access .intro .p-h2 span{
	font-size: 16px;
}
.lower.access .fv img{
	object-position: center;
}
@media screen and (min-width: 769px){
	.lower.access .map{
		max-width: 1600px;
		width: calc(100% - 200px);
		margin: 0 auto;
		padding-right: 50px;
	}
	.lower.access .map .container{
		width: 100%;
	}
	.lower.access .map .phone{
		text-align: right;
		margin: 0;
		line-height: 2.2;
	}
	.lower.access .bycar{
		padding-right: 50px;
	}
	.lower.access .bycar .flex_gr{
		display: flex;
		justify-content: space-between;
		gap: 50px;
	}
	.lower.access .bycar .car_course{
		width: 100%;
	}
	.lower.access .bycar .car_course li{
		font-size: 16px;
		padding: 30px 0;
	}
	.lower.access .bycar .car_course > p{
		font-size: 18px;
	}
	.lower.access .bycar .car_course3 li:first-child{
		margin-bottom: 93px;
	}
	.lower.access .bycar .car_course3 li:first-child:before{
		height: 110px;
	}
	.lower.access .bycar .car_course li:last-child{
		margin-bottom: 0;
	}
}
@media screen and (max-width: 768px){
	.lower.access .map div.phone a{
		font-size: 20px;
	}
	.lower.access .map div.phone a img{
		width: 20px;
		margin-right: 5px;
	}
	.contents.lower.access .intro .p-h2{
		font-size: 24px;
	}
	.lower.access .bycar .car_course3 li:first-child{
		margin-bottom: 93px;
	}
	.lower.access .bycar .car_course3 li:first-child:before{
		height: 110px;
	}
}


/* banner */
.lower .banner{
	padding: 0;
}
.lower .banner .container{
	display: flex;
	justify-content: space-between;
}
.lower .banner .container > div{
	width: 48%;
	position: relative;
	overflow: hidden;
	background-color: #000;
}
.lower .banner .container > div:hover:before{
	transform: scale(1.1);
	opacity: 0.5;
}
.lower .banner .container > div:before{
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	background-size: cover;
	transition: .3s ease;
}
.lower .banner .container > div.course:before{
	background-image: url(./img/fv-guide-course.jpg);
	background-position: 0 72%;
	background-repeat: no-repeat;
	background-size: cover;
}
.lower .banner .container > div.fee:before{
	background-image: url(./img/special_offer.jpg);
	background-position: 0 64%;
	background-repeat: no-repeat;
	background-size: cover;
}
.lower .banner .container > div.guide:before{
	background-image: url(./img/fv-guide.jpg);
	background-position: 0 72%;
	background-repeat: no-repeat;
	background-size: cover;
}
.lower .banner .container > div a{
	color: #fff;
	width: 100%;
	height: 150px;
	display: block;
	background-color: rgba(0,0,0,0.5);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	font-weight: 100;
	padding-top: 10px;
	position: relative;
	font-family: "Gantari", sans-serif !important;
    font-style: italic !important;
    font-weight: 600 !important;
}
.lower .banner .container > div a:before{
	content: "";
	position: absolute;
	width: 25px;
	height: 2px;
	transform: translatex(-50%);
	left: 50%;
	top: 50px;
	background-color: #fff;
}
.lower .banner .container > div a:hover{
	opacity: initial;
}
@media screen and (max-width: 768px){
	.lower .banner .container{
		width: 100%;
		display: block;
	}
	.lower .banner .container > div{
		width: 100%;
		margin-bottom: 2px;
	}
}
@media screen and (min-width: 769px){
	.lower section.wicker{
		padding-top: 0;
	}
	.lower .wicker .flex_gr{
		padding: 20px;
		margin: 0 auto;
		width: fit-content;
	}
	.lower .wicker .flex_gr img{
		width: 400px;
		height: 200px;
		object-fit: cover;
	}
	.lower .wicker .text_gr{
		padding-left: 40px;
	}
	.lower .wicker .text_gr p{
		line-height: 1.8;
	}
	.lower .wicker .text_gr .g-title{
		font-size: 36px;
		margin: 10px 0 20px;
		line-height: 2;
	}
	.lower .wicker .text_gr .g-text{
		font-size: 18px;
	}
}


/* private */
.lower.private .fv:before{
	width: 100%;
	height: 100%;
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	background: linear-gradient(to top, 
		rgba(255, 255, 255, 0.4) 0%, 
		rgba(255, 255, 255, 0.1) 20%, 
		rgba(255, 255, 255, 0) 30%);
}
.lower.private h2{
	padding-left: 10px;
	border-left: solid 3px #94b231;
	font-weight: 200;
	font-size: 22px;
	margin-bottom: 15px;
}
.lower.private .intro .title_gr:before{
	display: none;
}
.lower.private .entry{
	padding-top: 0;
	padding-bottom: 20px;
}
.lower.private .entry p{
	font-size: 20px;
	line-height: 1.8;
}
.lower.private .party .mobile li{
	margin-bottom: 50px;
}
.lower.private .party .mobile .g-title{
	font-size: 20px;
	line-height: 2;
}
.lower.private .party .mobile li p{
	line-height: 1.8;
	text-align: center;
}
.lower.private .party .mobile li p.price{
	font-size: 16px;
}
.lower.private .party .mobile li p.price span{
	font-size: 12px;
}
.lower.private .party .note{
	line-height: 2;
}
.lower.private .party .note_gr{
	margin-top: 50px;
}
.lower.private .party .pc .flex_gr ul{
	display: flex;
	justify-content: space-between;
	gap: 55px;
}
.lower.private .party .pc .flex_gr ul li{
	width: 100%;
}
.lower.private .party .pc .flex_gr ul p{
	font-size: 18px;
	margin-top: 10px;
	text-align: center;
}
.lower.private .party .pc .flex_gr ul p.g-title{
	font-size: 22px;
}
.lower.private .contact{
	background-color: #f7f7f7;
}
.lower.private .contact .g-title{
	font-size: 18px;
	text-align: center;
}
.lower.private .contact .phone{
	font-size: 23px;
	align-items: center;
	justify-content: center;
	margin: 20px 0;
}
.lower.private .contact .phone img{
	width: 20px;
	height: auto;
	margin-right: 10px;
}
.lower.private .contact a{
	display: block;
	border: solid 1px #000;
	padding: 20px 0;
	text-align: center;
}
@media screen and (min-width: 769px){
	.lower.private .contact .phone.mobile{
		display: none;
	}
	.lower.private .contact .g-title{
		font-size: 24px;
	}
	.lower.private .contact .flex_gr{
		display: flex;
		align-items: center;
		justify-content: center;
		margin-top: 30px;
		gap: 50px;
	}
	.lower.private .contact .flex_gr p{
		font-size: 26px;
		display: flex;
		align-items: center;
	}
	.lower.private .contact .phone.pc img{
		width: 30px;
	}
	.lower.private .contact a{
		font-size: 22px;
		padding: 20px 50px;
	}
	.lower.private .party .pc table {
		width: 100%;
		border-collapse: collapse;
		border: 1px solid #ccc;
		max-width: 1600px;
		margin: 30px 0 0px;
	}
	.lower.private .party .pc th, .lower.private .party .pc td {
		border: 1px solid #ccc;
		padding: 20px 0;
		text-align: center;
		font-size: 18px;
	}
	.lower.private .party .pc .flex_gr{
		margin-top: 50px;
	}
	.lower.private .party .pc th {
		background-color: #e5e5e5;
		font-weight: bold;
	}
	.lower.private .party .pc td {
		background-color: #fff;
	}
	.lower.private .party .pc td:nth-child(3) {
		text-align: right;
		font-weight: bold;
	}
}
@media screen and (max-width: 768px){
	.lower.private .entry p{
		font-size: 18px;
	}
	.lower.private .contact .phone.mobile{
		display: flex !important;
		padding: 0;
		border: none;
	}
}

/* offer スペシャルオファー */
/* .lower.offer .contents{
max-width: 600px;
} */
.lower.offer .contents ul{
	display: grid;
	grid-template-columns: 1fr 1fr;;
	gap: 10px 50px;
	width: 100%;
	margin: 0 auto;
}
.lower.offer .contents li{
	margin-bottom: 50px;
}
.lower.offer .contents li time{
	font-size: 12px;
	line-height: 1.8;
	color: #c3c3c3;
}
.lower.offer .contents li{
	line-height: 1.8;
}
.lower.offer .contents li div.img_gr{
	overflow: hidden;
	display: block;
	background-color: #000;
}
.lower.offer .contents li img{
	transition: .3s ease;
	width: 100%;
	height: 100%;
	display: block;
	background-color: #000;
}
.lower.offer .contents li:hover img{
	transform: scale(1.1);
	opacity: 0.5;
}
.lower.offer .contents li.no-link:hover img{
	transform: initial;
	opacity: initial;
}
.no-link a {
	pointer-events: none;
	cursor: initial;
}
.lower.offer .contents li:hover a{
	opacity: 1;
}
.lower.offer .contents li .g-title{
	text-align: center;
	font-size: 22px;
	margin: 5px 0;
}
.lower.offer .contents li .point{
	font-size: 18px;
	text-align: center;
}
.lower.offer .contents li .text{
	font-size: 14px;
	font-weight: 200;
}
.lower.offer{
	border-bottom: solid 1px #ccc;
}
.lower.offer .pagination{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: fit-content;
	margin: auto;
}
.lower.offer .pagination:before{
	content: ">";
	right: 0;
	transform: translatex(150%);
	position: absolute;
	font-size: 20px;
}
.lower.offer .pagination a{
	display: flex;
	font-size: 16px;
	align-items: center;
	justify-content: center;
	background-color: #b5b5b6;
	color: #fff;
	width: 30px;
	height: 30px;
}
.lower.offer .pagination p{
	background-color: #000;
	color: #fff;
	display: flex;
	font-size: 16px;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
}
.lower.offer .intro .title_gr:before{
	display: none;
}
.lower.offer .intro{
	padding: 0;
}
.lower.offer section{
	padding-top: 0;
}
.lower.offer section.banner{
	padding-bottom: 80px;
}

@media screen and (max-width: 768px){
	.lower.offer .contents ul{
		display: block;
	}
}
@media screen and (min-width: 769px){
	.lower.offer .contents li .point{
		font-size: 14px;
	}
	.lower.offer .contents li .text{
		text-align: center;
	}
	.lower.offer .contents li a{
		display: flex;
	}
	.lower.offer .contents li div.img_gr{
		width: 48%;
		height: fit-content;
	}
	.lower.offer .contents li div.img_gr img{
		object-fit: contain;
	}
	.lower.offer .contents li div.text_gr{
		padding: 15px;
		padding-top: 0;
		width: 55%;
	}
	.lower.offer .contents li div.text_gr p{
		text-align: left;
	}
	.lower.offer .contents li .point{
		margin-bottom: 8px;
		font-size: 16px;
	}
}


/* news */
.lower.news ul{
	list-style: none;
	padding: 0;
}
.lower.news ul li{
	padding: 25px 0;
	border-bottom: solid 1px #cccccc;
}
.lower.news ul li .meta{
	display: flex;
	align-items: center;
}
.lower.news ul li .meta time{
	font-size: 14px;
	color: #a3a3a3;
	margin-left: 10px;
}
.lower.news ul li .meta span{
	display: block;
	background-color: #000;
	color: #eee;
	width: 70px;
	padding: 5px 10px;
	font-size: 12px;
	text-align: center;
}
.lower.news ul li p{
	margin-top: 10px;
}
.contents.news .title_gr:before{
	display: none;
}
.contents.news .meta{
	display: flex;
	align-items: center;
}
.contents.news .article-main .meta time{
	font-size: 14px;
	color: #a3a3a3;
	margin-left: 10px;
}
.contents.news .article-main .meta span{
	display: block;
	background-color: #000;
	color: #eee;
	width: fit-content;
	padding: 5px 10px;
	font-size: 12px;
	text-align: center;
	color: #fff;
}
.contents.news .article-main .meta span a{
	color: #fff;
}
.contents.news .article-main .title{
	margin-top: 10px;
	font-size: 18px;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: solid 1px #ccc;
}
.lower.news .intro{
	padding: 0;
}
.lower.news section{
	padding-top: 0;
}
.article-main p{
	line-height: 1.8;
}
.article-main img{
	width: 100%;
	margin: 20px 0;
}
.single.lower .intro .title_gr{
	margin-top: -42px;
}
.single figure{
	text-align: center;
}
.single.lower{
	padding-bottom: 80px;
}
.single .back{
	display: block;
	margin: 0 auto;
	width: fit-content;
	margin-top: 40px;
}

.news_list .contents .container{
	max-width: 1200px;
}
.news_list .year-select{
	max-width: 600px;
	margin: 0 auto;
	margin-bottom: 50px;
}
.news_list select{
	appearance: none;
	-webkit-appearance: none;
}
.news_list div.year-select::after {
	content: '>';
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%) rotate(90deg);
	pointer-events: none;
	font-size: 14px;
	color: #333;
}

.news_list .pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-top: 40px;
	flex-wrap: wrap;
}
.news_list .pagination .arrow-area,
.news_list .pagination .numbers-area {
	display: flex;
	align-items: center;
}
.news_list .pagination .numbers-area{
	gap: 10px;
}
.news_list .pagination img{
	height: 80%;
	object-fit: contain;
}
.news_list .pagination .page-numbers {
	display: inline-block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	background-color: #b5b4b6;
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	transition: background-color 0.3s ease;
}
.news_list .pagination .next, .news_list .pagination .prev{
	display: flex;
	align-items: center;
}
.news_list .pagination .page-numbers.current {
	background-color: #000;
	color: #fff;
}
.news_list .pagination .page-numbers:hover {
	background-color: #555;
}
.news_list .pagination .page-numbers.prev,
.news_list .pagination .page-numbers.next {
	background-color: transparent;
	color: #333;
	font-weight: normal;
}
.pagination .dummy-arrow {
	visibility: hidden;
	width: 40px;
}
@media screen and (max-width: 768px){
	.news_list .pagination{
		justify-content: center;
	}
}



/* FAQ */
.qa .container{
	max-width: 1200px;
}
.faq .fv{
	background-color: #e5e5e5;
}
.faq .content a{
	text-decoration: underline;
}
.faq .content{
	border-bottom:solid 1px #9f9f9f;
	position:relative;
	cursor:pointer;
}
.faq .content .question{
	font-size:1.2rem;
	position: relative;
	padding: 2rem 0;
	padding-right: 10px;
	padding-left: 20px;
}
.faq .content .question span{
	/*     margin-right: 10px; */
	position: absolute;
	left: 0;
	transform: translate(0, -1px);
}
.faq .content p{
	line-height: 1.8;
}
.faq .content .question:before{
	content:"";
	position:absolute;
	right:9px;
	top:50%;
	transform: rotate(0) translate(0%, -50%);
	width:2px;
	height:15px;
	background-color:#000;
}
.faq .content .question.open:before{
	transform: rotate(-90deg) translate(0%, -50%);
	opacity:0;
}
.faq .content .question:after{
	content:"";
	position:absolute;
	right:10px;
	top:50%;
	transform: rotate(0) translate(50%, -50%);
	width:15px;
	height:2px;
	background-color:#000;
}
.faq .content .answer{
	display:none;
	font-size:0.9rem;
	padding: 20px;
	background-color: #f2f2f2;
}
.faq .content .answer.open{
	display:block;
}
.faq .qa{
	padding-top: 0;
	padding-bottom: 80px;
}
.faq h2{
	padding-left: 10px;
	border-left: solid 3px #94b231;
	font-weight: 200;
	font-size: 22px;
	margin-bottom: 40px;
}
.contents.faq .title_gr:before{
	display: none;
}


/* page-container 固定ページ */
.page-container p{
	line-height: 1.8;
}
.page-container .lower .intro .title_gr {
	margin-top: -42px;
	padding-bottom: 20px;
}
.page-container h2{
	padding-left: 10px;
	border-left: solid 3px #94b231;
	font-weight: 200;
	font-size: 22px;
	margin-bottom: 15px;
	margin-top: 60px;
	font-weight: bold;
	line-height: 1.7;
}
.page-container h3{
	margin-top: 30px;
	margin-bottom: 15px;
	line-height: 1.7;
}
.page-container p{
	margin: 10px 0;
}
.lower.policy a{
	text-decoration: underline;
}
@media screen and (max-width: 768px){
	.page-container h2{
		font-size: 18px;
		margin-top: 40px;
	}
	.page-container .lower .intro .title_gr{
		margin-top: -16px;
	}
	.page-container .lower.policy .intro .title_gr{
		margin-top: -28px;
	}
	.lower.page .intro .title_gr h1{
		font-size: 26px;
	}
}

/* スケジュール */
.lower.schedule .contents p.meta_qualification{
	line-height: 1.15;
	text-align: center;
	text-wrap: balance;
}
.lower.schedule .series{
	display: flex;
	gap: 50px;
}
.lower.schedule .series > div{
	display: flex;
}
.lower.schedule .series > div p{
	padding: 10px 40px;
}
.lower.schedule .series .seriously{
	border: solid 1px #000;
}
.lower.schedule .series .seriously p:first-child{
	color: #fff;
	background-color: #000;
}
.lower.schedule .series .enjoy{
	border: solid 1px #0097db;
}
.lower.schedule .series .enjoy p:first-child{
	color: #fff;
	background-color: #0097db;
}
.lower.schedule .series .enjoy p:last-child{
	color: #0097db;
}

.lower.schedule .qualification{
	display: flex;
	margin-top: 50px;
}
.lower.schedule .pc p{
	font-size: 18px;
}
.lower.schedule .qualification span{
	width: 100px;
	height: 40px;
	display: flex;
	border: solid 1px #000;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	margin-right: 10px;
}
.lower.schedule .qualification .text_gr p{
	display: flex;
	align-items: center;
}
.lower.schedule .qualification span img{
	object-fit: contain;
	width: 90%;
	height: 80%;
}
.lower.schedule .fee{
	display: flex;
	align-items: center;
	margin-top: 20px;
}
.lower.schedule .fee span{
	font-weight: bold;
}

.lower.schedule .contents .month ul{
	display: flex;
	justify-content: space-around;
}
.lower.schedule .contents .month ul li{
	font-size: 24px;
	letter-spacing: 2px;
}
.lower.schedule .contents .month ul li span{
	display: initial;
	margin-left: 5px;
}
.lower.schedule .contents .content{
	margin-top: 40px;
}
.lower.schedule .contents .content li.bordertop{
	border-top: solid 1px #999;
}
.lower.schedule .contents .content li{
	display: flex;
	justify-content: space-between;
	padding: 20px;
	border-bottom: solid 1px #999999;
}
.lower.schedule .contents .content li > div{
	display: flex;
	align-items: center;
}
.lower.schedule .contents .content li > div .gray{
	display: flex;
	align-items: center;
}
.lower.schedule .contents .content li > div .cat{
	display: flex;
	align-items: center;
}
.lower.schedule .contents .content li a{
	display: flex;
	align-items: center;
}
.lower.schedule .contents .content li a span{
	font-size: 8px;
	margin: 0 5px;
}

.lower.schedule .contents p{
	line-height: 1.8;
}
.lower.schedule .contents .content li .text_gr{
	cursor: pointer;
}
.lower.schedule .contents .content li .text_gr time{
	margin-right: 15px;
	color: #a8a8a8;
}
.lower.schedule .contents .content li .text_gr p.day{
	margin-right: 15px;
	color: #a8a8a8;
}
.lower.schedule .contents .content li .text_gr p{
	margin-right: 15px;
}
.lower.schedule .contents .content li .text_gr p.g-title{
	text-decoration: underline;
	max-width: 550px;
}
.lower.schedule .contents .content li .meta_gr a{
	margin-left: 20px;
}
.lower.schedule .contents .content li .meta_gr p{
	overflow: visible;
	margin-right: 10px;
	width: 130px;
	height: 35px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: solid 1px #000;
	line-height: 1;
}
.lower.schedule .contents .content li .meta_gr p img{
	height: 90%;
	object-fit: contain;
}
.lower.schedule .contents .content li .meta_gr .enjoy{
	color: #fff;
	background-color: #0097db;
}
.lower.schedule .contents .content li .meta_gr .seriously{
	color: #fff;
	background-color: #000;
}
.lower.schedule .contents .content li .meta_gr .meta_qualification{
	border: solid 1px #000;
}
.lower.schedule .contents .content li .none{
	opacity: 0.5;
	pointer-events: none;
}

.lower.schedule .contents .content li .pop{
	position: fixed;
	max-width: 1200px;
	height: 85vh;
	height: 85dvh;
	width: 80%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: block;
	visibility: hidden;
	opacity: 0;
	transition: 0.3s;
	z-index: 4000;
	padding: 50px 100px;
	background-color: #fff;
	overflow-y: auto;
}

.lower.schedule .contents .content li .pop a{
	text-decoration: underline;
	display: initial;
}
.lower.schedule .bg{
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	position: fixed;
	background-color: rgba(0, 0, 0, 0.6);
	visibility: hidden;
	opacity: 0;
	z-index: 2000;
	transition: 0.3s;
	cursor: initial;
}
.lower.schedule .content li .bg.show{
	visibility: visible;
	opacity: 1;
}
.lower.schedule .content li .pop.show{
	visibility: visible;
	overflow: visible;
	opacity: 1;
}
.lower.schedule .content li .pop .overflow{
	overflow-y: auto;
	height: 100%;
}
.lower.schedule .content li .pop .course_batu{
	right: -10px;
	top: -50px;
	position: absolute;
	width: 50px;
	height: 50px;
	pointer-events: none;
}
.lower.schedule .content li .pop .course_batu span{
	width: 30px;
	height: 2px;
	background-color: #fff;
	display: block;
	position: absolute;
	top: 45%;
	left: 50%;
	transform: translateX(-50%);
	transition: 0.3s;
}
.lower.schedule .content li .pop .course_batu span:nth-child(1) {
	transform: translateX(-50%) rotate(45deg);
	top: 50%;
}
.lower.schedule .content li .pop .course_batu span:nth-child(2) {
	transform: translateX(-50%) rotate(-45deg);
	top: 50%;
}
.lower.schedule .content li .pop .course_batu{
	visibility: visible;
	opacity: 1;
}
.lower.schedule .content li .pop .course_batu{
	cursor: pointer;
}
.lower.schedule .contents .content li .pop li{
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.lower.schedule .contents .content li .pop li .left{
	width: 30%;
	max-width: 300px;
}
.lower.schedule .contents .content li .pop li .right{
	width: 69%;
}
.lower.schedule .contents .content li .pop .g-title{
	font-size: 26px;
	margin-bottom: 20px;
}
.lower.schedule .contents .month ul li{
	position: relative;
}
.lower.schedule .contents .month ul li.active:before{
	position: absolute;
	content: "";
	bottom: -2px;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #000;
}
.lower.schedule .contents .month ul li:hover:before{
	position: absolute;
	content: "";
	bottom: -2px;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #000;
}
.lower.schedule .contents .month ul li{
	cursor: pointer;
}
.lower.schedule .contents .content > ul > li > .text_gr .g-title{
	text-decoration: underline;
}
@media screen and (max-width: 768px){
	.lower.schedule .contents .content li .pop{
		height: 75vh;
		height: 75dvh;
	}
	.lower.schedule .series{
		gap: 20px;
		flex-direction: column;
	}
	.lower.schedule .series > div p:first-child{
		padding: 0;
		width: 115px !important;
		height: 52px;
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 2px;
	}
	.lower.schedule .series > div p{
		display: flex;
		height: 52px;
		justify-content: center;
		align-items: center;
		padding: 0;
		letter-spacing: 0;
	}
	.lower.schedule .series > div p:last-child{
		width: calc(100% - 115px);
		text-align: center;
	}
	.lower.schedule .intro .mobile > div{
		flex-direction: column;
		gap: 10px;
	}
	.lower.schedule .intro .mobile > div > p:first-child{
		font-size: 18px;
		width: fit-content;
		text-align: initial;
	}
	.lower.schedule .intro .mobile > div > p:first-child:after{
		content: "";
		position: absolute;
		width: 100%;
		height: 2px;
		background-color: #000;
		bottom: 0;
		left: 0;
	}
	.lower.schedule .intro .mobile > div > p:first-child:before{
		content: "";
		position: absolute;
		width: 85vw;
		height: 1px;
		background-color: #9e9e9e;
		bottom: 0;
		left: 0;
	}
	.lower.schedule .intro .mobile .qualification .text_gr p{
		margin-top: 10px;
	}
	.lower.schedule .qualification, .lower.schedule .fee{
		margin-top: 30px;
	}
	.lower.schedule .fee{
		align-items: flex-start;
	}
	.lower.schedule .contents .month ul li span{
		display: none;
	}
	.lower.schedule .contents .month ul{
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
		justify-items: center;
	}
	.lower.schedule .contents .month ul li{
		width: 40px;
		height: 40px;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-bottom: 10px;
		font-size: 16px;
	}
	.lower.schedule .contents .month ul li.active{
		color: #fff;
		background-color: #000;
	}
	.lower.schedule .contents .content .month_title{
		font-size: 24px;
		text-align: center;
	}
	.lower.schedule .contents .content > ul > li{
		flex-direction: column;
		padding: 25px 0;
	}
	.lower.schedule .contents .content > ul > li > div{
		flex-direction: column;
		align-items: flex-start;
	}
	.lower.schedule .contents .content > ul > li > .meta_gr{
		margin-top: 10px;
	}
	.lower.schedule .contents .content li .meta_gr a{
		margin: 0;
		margin-top: 15px;
	}
	.lower.schedule .contents .content > ul > li > .text_gr .g-title{
		font-size: 16px;
		margin-right: 0;
	}
	.lower.schedule .contents .content li .meta_gr p{
		width: 85px;
		font-size: 10px;
		height: 25px;
		margin-right: 5px;
	}

	.lower.schedule .contents .content li .pop{
		padding: 20px;
	}
	.lower.schedule .contents .content li .pop .g-title{
		font-size: 16px;
		border-bottom: solid 1px #000;
		margin-bottom: 20px;
		padding-bottom: 5px;
	}
	.lower.schedule .contents .content li .pop li{
		border: none;
		padding: 10px 0;
		display: flex;
		justify-content: flex-start;
		flex-direction: column;
	}
	.lower.schedule .contents .content li .pop li .left{
		width: 100%;
		border-bottom: solid 1px #999;
		padding-bottom: 5px;
		margin-bottom: 5px;
	}
	.lower.schedule .contents .content li .pop li .right{
		line-height: 1.7;
	}
	.lower.schedule .contents .content li .text_gr time{
		font-size: 14px;
	}
}


/* レッスン */
.lesson section{
	padding-top: 0;
}
.lesson .pro{
	padding-top: 0;
}
.lesson .pro ul{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(350px, 100%), 1fr));
	gap: 20px;
}
.lesson .pro ul li a{
	display: flex;
	padding: 5px;
	border: solid 1px #000;
	width: 100%;
	gap: 20px;
}
.lesson .pro ul li p.underline{
	display: block;
	margin-left: auto;
	width: fit-content;
	position: relative;
	margin-top: 10px;
}
.lesson .pro ul li p.underline:before{
	content: "";
	position: absolute;
	bottom: 0;
	left: -5px;
	width: 40px;
	height: 1px;
	background-color: #000;
	transform: translatex(-100%);
}
.lesson .pro ul li img{
	width:120px;
}
.lesson .pro ul li .text_gr{
	padding: 10px;
	width: 100%;
}
.lesson .pro ul li .text_gr .name{
	font-size: 24px;
	line-height: 2.2;
}
.lesson .pro ul li .text_gr .name span{
	font-size: 16px;
}
.lower.lesson .intro{
	padding-bottom: 50px;
}
.lower.lesson .intro .title_gr:before{
	display: none;
}
.lower.lesson .p-h2{
	margin-top: 55px;
	margin-bottom: 45px;
	font-size: 34px;
	font-weight: 100;
	line-height: 1;
}
.lower.lesson .calender{
	padding-top: 40px;
}
.lower.lesson .p-h2:before{
	content: "";
	position: absolute;
	width: 40px;
	height: 5px;
	background-color: #000;
	top: -55px;
	left: 0;
}

@media screen and (max-width: 768px){
	.lower.lesson .p-h2{
		font-size: 28px;
		line-height: 1.5;
		margin-top: 20px;
		margin-bottom: 20px;
	}
	.lower.lesson .p-h2:before{
		content: "";
		position: absolute;
		width: 40px;
		height: 5px;
		background-color: #000;
		top: -30px;
		left: 0;
	}
}

.lower.lesson .contact{
	background-color: #f7f7f7;
}
.lower.lesson .contact .g-title{
	font-size: 18px;
	text-align: center;
}
.lower.lesson .contact .phone{
	font-size: 23px;
	align-items: center;
	justify-content: center;
	margin: 20px 0;
}
.lower.lesson .contact .phone img{
	width: 20px;
	height: auto;
	margin-right: 10px;
}
.lower.lesson .contact a{
	display: block;
	border: solid 1px #000;
	padding: 20px 0;
	text-align: center;
}
.lower.lesson .calender p{
	line-height: 1.7;
	margin-left: 3rem;
}
.lower.lesson .contact .container > p{
	text-align: center;
}
@media screen and (min-width: 769px){
	.lower.lesson .contact .phone.mobile{
		display: none;
	}
	.lower.lesson .contact .g-title{
		font-size: 24px;
	}
	.lower.lesson .contact .flex_gr{
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 50px;
	}
	.lower.lesson .contact .flex_gr p{
		font-size: 32px;
		margin: 30px 0;
	}
	.lower.lesson .contact a{
		font-size: 22px;
		padding: 20px 50px;
	}
	.lower.lesson .contact{
		padding-top: 80px;
	}
	.lower.lesson .contact .flex_gr p{
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.lower.lesson .contact .phone img{
		width: 30px;
	}
}
@media screen and (max-width: 768px){
	.lower.lesson .contact .phone.mobile{
		display: flex !important;
		padding: 0;
		border: none;
	}
	.lower.lesson .contact{
		padding-top: 40px;
	}
	.lower.lesson .intro{
		padding-bottom: 0;
	}
}
@media screen and (max-width: 1600px){
	.lesson .pro ul{
		flex-direction: column;
	}
	.lesson .pro ul li a{
		font-size: 12px;
	}
	.lesson .pro ul li p{
		font-size: 13px;
	}
	.lesson .pro ul li{
		min-width: initial;
		max-width: 100%;
		width: 100%;
		gap: 10px;
	}
	.lesson .pro ul li .text_gr .name{
		font-size: 18px;
	}
	.lesson .pro ul li img{
		width: 100px;
		object-fit: cover;
	}
	.lesson .pro ul li .text_gr .name span{
		font-size: 13px;
	}
}
@media screen and (max-width: 425px){
	.lesson .pro ul li a{
		gap: 10px;
	}
	.lesson .pro ul li:nth-child(2) .text_gr .name{
		font-size: 16px;
	}
}
@media screen and (max-width: 360px){
	.lesson .pro ul li a{
		gap: 5px;
	}
	.lesson .pro ul li:nth-child(2) .text_gr .name{
		font-size: 13px;
	}
	.lesson .pro ul li .text_gr{
		padding-right: 3px;
	}
}
@media screen and (max-width: 360px){
	.lesson .pro ul li a{
		gap: 3px;
	}
	.lesson .pro ul li:nth-child(2) .text_gr .name{
		font-size: 12px;
	}
	.lesson .pro ul li .text_gr .name span{
		font-size: 9px;
	}
}

/*2025.08.25 カレンダー変更 Event Organiser導入*/
.lesson .eo-fullcalendar{
	font-family: "Zen Old Mincho", serif;

}
.lesson .schedule-page .container{
	width: 90%;
}
.lesson .schedule-page .fc-basic-view tbody .fc-row{
	min-height: 7em;
}
.lesson .schedule-page .eo-fullcalendar-reset div{
	text-align: center;
}
.lesson .schedule-page .fc-ltr .fc-basic-view .fc-day-number{
	text-align: center;
}
.lesson .schedule-page .eo-fullcalendar .fc-row{
	padding: 0.5rem 0;
}
.calendar-note {
	display: none;

}
.fc-today-button {
	display: none !important;
}

.lesson .eo-fullcalendar .fc-toolbar .fc-left select.eo-fc-filter-category{
	width: auto !important;
}

@media (max-width: 768px) {
	.calendar-note{
		display: block;
		font-size: 14px;
		color: #666;
		margin-bottom: 1rem;
	}
	.lesson .calender .container {
		width: 96%;
	}
	/* スマホ用：カレンダーを横スクロール可能に */
	.eo-fullcalendar {
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
	}
	/* 横スクロールさせたい幅 */
	.eo-fullcalendar .fc-view-container {
		min-width: 920px; 
	}

	.lesson .schedule-page .eo-fullcalendar-reset .fc-toolbar{
		display: flex;
		flex-direction: row-reverse;
		position: relative;
		justify-content: space-between;
		align-items: center;
	}
	.lower.lesson .calender p {
		margin-left: 0.5rem;
	}
	.lesson .schedule-page .fc-basic-view tbody .fc-row {
		min-height: 3em;
	}
	.lesson .eo-fullcalendar .fc-button{
		padding: 4px 2px;
	}
	.lesson .eo-fullcalendar .fc-center h2{
		font-size: 1.3rem;
	}
	.lesson .eo-fullcalendar .fc-day-number{
		justify-content: center;
	}
	.lesson .eo-fullcalendar .fc-toolbar .fc-left {
		width: 35% !important;
		font-size: 0.8rem !important;
	}
	.lesson .eo-fullcalendar .fc-toolbar .fc-left .eo-fc-filter{
		padding: 0.5rem 0 !important;
		text-align: center;
	}
	.lesson .eo-fullcalendar .fc-toolbar .fc-right .fc button .fc-icon{
		font-size: 1rem !important;
	}
}




/* ヘッダー全体 */
.eo-fullcalendar .fc-toolbar {
	margin-bottom: 20px;
	text-align: center;
}

/* タイトル（例: 2025年8月） */
.eo-fullcalendar .fc-center h2 {
	font-size: 2rem;
	font-weight: bold;
	color: #333;
}

/* ナビゲーションボタン */
.eo-fullcalendar .fc-button {
	border: none;
	padding: 6px 12px;
	margin: 0 2px;
	cursor: pointer;
}
.eo-fullcalendar .fc-button:hover {
	background: #000;
	color:#fff;
}
.eo-fullcalendar .fc-button.fc-today-button:hover {
	background: #000;
	color:#fff;
}
/* 土日の背景色変更 */
.eo-fullcalendar .fc-day.fc-sat{
	background: #f3f7ff;
}
.eo-fullcalendar .fc-day.fc-sun {
	background: #ffeded;
}
/* 日曜日の日付数字 */
.eo-fullcalendar .fc-daygrid-day.fc-day-sun .fc-daygrid-day-number {
	color: #e53935;
}

/* 土曜日の日付数字 */
.eo-fullcalendar .fc-daygrid-day.fc-day-sat .fc-daygrid-day-number {
	color: #1e88e5;
}

.lesson .pro .container ul li:first-child a {
	background: #ffeaf4;
}
.lesson .pro .container ul li:nth-child(2) a {
	background: #eaffff;
}
.lesson .pro .container ul li:last-child a {
	background: #ffffea;
}




/* ポリシー */
.policy table{
	min-width: 1000px;
}
.policy h3{
	padding-left: 20px;
}
.policy p{
	padding-left: 50px;
}
.policy .wp-block-list{
	padding-left: 60px;
}
.policy .wp-block-list li{
	line-height: 1.8;
	margin: 10px 0;
}
@media screen and (max-width: 768px){
	.policy h3{
		padding-left: 20px;
	}
	.policy p{
		padding-left: 40px;
	}
}


.form-group{
	display: flex;
}
.form-group p{
	margin: 0;
}
.form-group > p:first-child{
	background: #f2f4f6;
	width: 25%;
	max-width: 300px;
	display: flex;
	align-items: center;
	padding: 1.625rem 1.5rem;
	box-sizing: border-box;
}
.form-group p:last-child{
	width: 75%;
	display: flex;
	align-items: center;
	padding: 1.625rem 1.5rem;
	box-sizing: border-box;
	/* 	flex-direction: row-reverse; */

	justify-content: flex-start;
}
.people p:last-child .wpcf7-form-control-wrap{
	width: 33.33%;
}
.people p:last-child .wave{
	width: fit-content;
	margin: auto 10px;
}
.people p:last-child{
	flex-direction: row;
	justify-content: flex-start;
}
.people p:last-child select{
	width: 100% !important;
	min-width: 250px;
	padding-right: 5px;
}
.compe .people .wpcf7-form-control-wrap::after{
	right: 2% !important;
}
@media screen and (max-width: 768px){
	.people p:last-child{
		align-items: flex-start;
	}
	.people p:last-child .wpcf7-form-control-wrap{
		width: calc(50% - 17.5px) !important;
		min-width: 50px;
	}
	.people p:last-child select{
		width: 100% !important;
		min-width: 50px;
	}
	form select{
		font-size: 14px !important;
	}
}

.form-group{
	border-bottom: 1px solid #ccc;
}
.form-group.top {
	border-top: 1px solid #ccc;
}
.form-group span{
	width: 100%;
}
textarea, input, select{
	width: 100%;
	box-sizing: border-box;
	line-height: 1.75;
	padding: 10px 0 10px 1em;
	border: solid 1px #ccc;
}
textarea{
	padding: 10px;
}
form a{
	text-decoration: underline;
}
form .privacy{
	text-align: center;
	margin-top: 50px;
}
.wpcf7-radio{
	display: flex;
	align-items: center;
}
.wpcf7-radio .wpcf7-list-item{
	display: flex;
	width: fit-content;
	align-items: center;
	margin: 0;
}
.wpcf7-radio .wpcf7-list-item input{
	width: 20px;
}
form {
	margin-bottom: 120px;
}
form .privacy .wpcf7-list-item{
	display: flex;
	align-items: center;
	justify-content: center;
}
form .privacy .wpcf7-list-item input{
	width: 20px;
	height: 20px;
	margin-right: 10px;
}
.submit-bt input{
	border: solid 1px #000;
	padding: 20px 0;
	border-radius: 5px;
	max-width: 350px;
	background-color: #fff;
	transition: 0.4s ease;
}
.submit-bt p{
	text-align: center;
	margin: 0 auto;
	margin-top: 40px;
	position: relative;
	overflow: hidden;
	display: inline-block;
	width: 100%;
	max-width: 350px;
	border-radius: 5px;
	display: block;
}
.submit-bt p::before {
	content: "";
	position: absolute;
	top: 100%;
	left: -100%;
	width: 350px;
	height: 500px;
	background-color: #000;
	transform: rotate(45deg);
	z-index: 0;
	transition: top 1s ease, left 1s ease;
}
.submit-bt p.active::before {
	top: -292%;
	left: -1%;
}
.submit-bt p input[type="submit"] {
	position: relative;
	z-index: 1;
	background-color: rgba(0,0,0,0);
	color: #000;
	padding: 20px 0;
	width: 100% !important;
	border: 1px solid #000;
	border-radius: 5px;
	transition: color 0.4s ease;
}
.submit-bt p.active input[type="submit"] {
	color: #fff;
}
.submit-bt input:hover{
	opacity: 0.6;
}
.select-plan {
	color: #000; /* 初期状態はプレースホルダー色 */
}
.select-plan.selected {
	color: #000; /* 選択後の色 */
}
form .required{
	color: #dc3232;
}
.wpcf7-spinner{
	position: absolute !important;
}
.confirmation.submit-bt p input[type="submit"] {
	margin-top: 20px;
	color: #fff;
	background-color: #000;
} 
@media screen and (max-width: 768px){
	.form-group {
		flex-direction: column;
	}
	.form-group p{
		width: 100% !important;
		max-width: 1000px !important;
	}
	.form-group p:last-child{
		padding-bottom: 50px;
		padding-left: 0;
		padding-right: 0;
	}
	form {
		margin-bottom: 50px;
	}
}
@media screen and (min-width: 769px){
	.wpcf7-radio .wpcf7-list-item{
		margin-right: 20px;
	}
	.confirmation.submit-bt p{
		display: flex;
		max-width: 500px !important;
	}
	.confirmation.submit-bt p input{
		margin: 0 10px;
	}
	.confirmation.submit-bt p input[type="submit"] {
		margin-top: 0px;
	}
	.compe input, .compe select{
		width: 33.33% !important;
	}
	.compe .mail input{
		width: 50% !important;
	}
	.compe .select .wpcf7-form-control-wrap::after{
		right: 68%;
	}
	.compe .select-group .select .wpcf7-form-control-wrap::after{
		right: 5px;
	}
}
.radio-group, .select-group{
	width: fit-content;
}
.radio-group p, .select-group p{
	width: fit-content !important;
	height: 100%;
}
.radio-group .wpcf7-list-item, .select-group .wpcf7-list-item{
	margin-right: 10px;
}
.radio-group .wpcf7-list-item .wpcf7-list-item-label, .select-group .wpcf7-list-item .wpcf7-list-item-label{
	margin-left: 5px;
}
.select-group select{
	padding: 10px 20px;
}
@media screen and (max-width: 768px){
	.radio-group p{
		padding: 0 !important;
		padding-top: 25px !important;
	}
	.start_time .flex_gr{
		display: flex;
		align-items: center;
		padding: 1.625rem 0 50px;
	}
	.start_time .flex_gr p{
		padding: 0 !important;
	}
	.start_time .flex_gr .radio-group{
		margin-right: 10px;
	}
	.confirmation .start_time .flex_gr .radio-group{
		margin-right: 20px;
	}
	.confirmation .start_time .select-group .hour, .confirmation .start_time .select-group .min{
		margin: 0 5px;
	}
	.contact_radio .wpcf7-radio{
		display: flex;
		align-items: flex-start;
		flex-direction: column;
	}
}

.wpcf7-form-control-wrap {
	position: relative;
	display: inline-block;
	width: 100%;
}
.wpcf7-form-control-wrap select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 100%;
	padding: 10px;
	padding-right: 30px; /* 矢印の分だけ右にスペース */
	border: 1px solid #ccc;
	border-radius: 0;
	background-color: #fff;
	font-size: 16px;
	position: relative;
}
/* 擬似要素で > を下向きに回転 */
.select .wpcf7-form-control-wrap::after {
	content: '>';
	position: absolute;
	right: 15px; /* 内側の位置調整 */
	top: 50%;
	transform: translateY(-50%) rotate(90deg); /* ←ここで下向きに */
	pointer-events: none;
	font-size: 14px;
	color: #333;
}
input{
	padding-right: 10px;
}

.form_explanation{
	margin-bottom: 50px !important;
}
.form_explanation .red{
	color: #dc3232;
}
.form .container{
	max-width: 1200px;
}
.form .intro .container{
	max-width: 1600px;
}
@media screen and (min-width: 769px){
	input, select, textarea{
		width: 50% !important;
	}
	.select .wpcf7-form-control-wrap::after{
		right: 51%;
	}
	.privacy input, .wpcf7-list-item input{
		width: initial !important;
		margin-right: 10px;
	}
	.select-group select{
		width: 100% !important;
	}
	.start_time .flex_gr{
		display: flex;
	}
}

.start_time .select-group select{
	width: 50px !important;
}
.start_time .select-group .wpcf7-form-control-wrap::after{
	right: 5px;
}
.start_time .select-group .wpcf7-form-control-wrap select{
	padding-right: 10px;
}
.start_time .select-group .hour, .start_time .select-group .min{
	margin: 0 10px;
}



/* アニメーション */
.fade-in {
	opacity: 0;
	transform: translateY(30px);
	transition: all 0.6s ease-out;
}
.fade-in.visible {
	opacity: 1;
	transform: translateY(0);
}


.page .fv{
	background-color: #ccc;
}
.page .intro .title_gr:before{
	display: none;
}

@media screen and (max-width: 660px) {
	.carousel-prev, .carousel-next {
		top: 49vw !important;
	}
}
@media screen and (max-width: 620px) {
	.carousel-prev, .carousel-next {
		top: 49vw !important;
	}
}
@media screen and (max-width: 550px) {
	.carousel-prev, .carousel-next {
		top: 50vw !important;
	}
}
@media screen and (max-width: 500px) {
	.carousel-prev, .carousel-next {
		top: 51vw !important;
	}
}
@media screen and (max-width: 450px) {
	.carousel-prev, .carousel-next {
		top: 52vw !important;
	}
}
@media screen and (max-width: 400px) {
	.carousel-prev, .carousel-next {
		top: 53vw !important;
	}
}
@media screen and (max-width: 390px) {
	.carousel-prev, .carousel-next {
		top: 53.5vw !important;
	}
}
@media screen and (max-width: 375px) {
	.carousel-prev, .carousel-next {
		top: 54vw !important;
	}
}
@media screen and (max-width: 340px) {
	.carousel-prev, .carousel-next {
		top: 55vw !important;
	}
}
@media screen and (max-width: 320px) {
	.carousel-prev, .carousel-next {
		top: 56vw !important;
	}
}


.thanks{
	padding-bottom: 80px;
}
article.thanks{
	width: 100vw;
	display: flex;
	align-items: center;
	justify-content: center;
}
article.thanks{
	text-align: center;
	padding-top: 100px;
	padding-bottom: 80px;
}
.thanks h2{
	font-size: 30px;
	font-weight: 300;
	margin-bottom: 40px;
}
.thanks .container p, .thanks h2, .thanks .container a{
	line-height: 1.8;
	text-align: center;
}
.thanks .container p, .thanks .container a{
	font-size: 16px;
}
.thanks .container a{
	width: 350px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	margin-top: 50px;
	border: solid 1px #000;
	border-radius: 5px;
	background-color: #fff;
}
@media screen and (max-width: 768px) {
	article.thanks{
		width: 85%;
		margin: 0 auto;
	}
	.thanks .container a{
		margin-top: 30px;
		width: 200px;
		height: 50px;
	}
	.thanks .container p, .thanks .container a{
		font-size: 14px;
	}
	.thanks h2{
		font-size: 24px;
		font-weight: 300;
		margin-bottom: 20px;
	}
}

.gameschedule-list > li{
	transform: none !important;
}
.guide.lower .special .g-title{
	margin-bottom: 25px;
}
.guide.lower .special .text{
	line-height: 1.7;
	margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
	.guide.lower .special .g-title{
		margin-top: 20px;
		text-align: center;
	}
	.guide.lower .special .text{
		padding: 0 15px;
	}
}

.single .container img{
	max-width: 600px;
}

.page-container .lower.form .intro .title_gr{
	margin-top: -100px;
}
@media screen and (max-width: 768px) {
	.page-container .lower.form .intro .title_gr {
		margin-top: -16px;
	}
}

.grecaptcha-badge{
	right: 110px !important;
}
@media screen and (max-width: 768px) {
	.grecaptcha-badge{
		right: -186px !important;
		bottom: 100px !important;
	}
}


.submit-overlay-wrapper {
	position: relative;
}

.submit-overlay-wrapper .wpcf7-submit:disabled {
	pointer-events: none; /* ボタン自体は反応させない */
}

.submit-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	cursor: pointer;
}

.wpcf7-submit {
	cursor: pointer;
}

.news_list select{
	width: 100% !important;
}

.confirmation.submit-bt p input{
	width: 100% !important;
}

.year-selector-area form select{
	text-align: center;
	-webkit-appearance: none;
	appearance: none;
	width: 100% !important;
	padding: 10px 30px 10px 17px;
}
.select_wrapper {
	position: relative;
	width: fit-content;
	margin: 0 auto;
}
.select_wrapper::after {
	pointer-events: none;
}

.select_wrapper::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 50%;
	transform: translate(36px, -50%);
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
	border-top: 5px solid #555;
	border-bottom: 0;
}
@media screen and (max-width: 768px){
	.year-selector-area form .select_wrapper{
		width: 100% !important;
	}
}




/* =========================
PROFILE page only
========================= */
.lower.profile .intro{ padding-top: 0; }
.lower.profile .profile-lead{ margin-top: 25px; }
.lower.profile .profile-lead .dash,
.lower.profile .section-head .dash{
	display:block;
	font-size: 18px;
	line-height: 1;
	margin-bottom: 18px;
}
.lower.profile .profile-lead .lead{
	font-size: 22px;
	line-height: 2.0;
	letter-spacing: 2px;
}
.lower.profile .profile-lead .desc{
	margin-top: 18px;
	color: #444;
	line-height: 2.2;
}

/* カード：左写真 / 右情報（枠線） */
.lower.profile .profile-card{
	margin-top: 35px;
	border: 1px solid #000;
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	min-height: 260px;
}
.lower.profile .profile-card .photo img{
	height: 100%;
	object-fit: cover;
}
.lower.profile .profile-card .info{
	border-left: 1px solid #000;
	padding: 25px 28px;
	display:flex;
	flex-direction: column;
	justify-content: center;
}
.lower.profile .profile-card .info-head .mark{
	width: 70px;
	height: auto;
	margin-bottom: 10px;
}
.lower.profile .profile-card .info-head .name{
	font-size: 18px;
	letter-spacing: 2px;
	margin-bottom: 6px;
}
.lower.profile .profile-card .info-head .tel{
	font-family: initial;
	font-size: 18px;
	letter-spacing: 1px;
	margin-bottom: 18px;
}
.lower.profile .profile-card .meta{
	margin:0;
}
.lower.profile .profile-card .meta > div{
	display:flex;
	gap: 18px;
	padding: 8px 0;
	border-top: 1px solid #e5e5e5;
}
.lower.profile .profile-card .meta dt{
	width: 70px;
	color:#666;
	font-size: 12px;
	letter-spacing: 1px;
}
.lower.profile .profile-card .meta dd{
	margin:0;
	font-family: initial;
	font-size: 13px;
}

/* 本文 */
.lower.profile .profile-body{
	margin-top: 25px;
}
.lower.profile .profile-body p{
	margin-top: 16px;
	line-height: 2.4;
}

/* 写真グリッド */
.lower.profile .profile-photos{
	margin-top: 30px;
	display:grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 22px;
}
.lower.profile .profile-photos.small{
	margin-top: 18px;
	gap: 18px;
}
.lower.profile .profile-photos li img{
	border: 1px solid #ddd;
}
.lower.profile .profile-photos .cap{
	margin-top: 10px;
	font-size: 12px;
	color:#555;
	line-height: 1.8;
}

/* INTERVIEW見出し */
.lower.profile .interview{ padding-top: 40px; }
.lower.profile .section-head .jp{
	font-size: 14px;
	color:#333;
	letter-spacing: 2px;
}
.lower.profile .section-head h2{
	margin-top: 12px;
	font-size: 22px;
	font-weight: 200;
	letter-spacing: 2px;
}
.lower.profile .section-head .note{
	margin-top: 10px;
	color:#555;
	line-height: 2.1;
}
.lower.profile .interview-logo{
	margin: 35px 0 10px;
}
.lower.profile .interview-logo img{
	width: 260px;
	height: auto;
}

/* Q&A：details/summaryでアコーディオン */
.lower.profile .qa{
	margin-top: 20px;
	border-top: 1px solid #ddd;
}
.lower.profile .qa-item{
	border-bottom: 1px solid #ddd;
}
.lower.profile .qa-item summary{
	list-style: none;
	cursor: pointer;
	display:flex;
	align-items: center;
	gap: 14px;
	padding: 18px 0;
}
.lower.profile .qa-item summary::-webkit-details-marker{ display:none; }

.lower.profile .qa-item .q{
	font-family: initial;
	font-size: 18px;
	width: 22px;
}
.lower.profile .qa-item .t{
	flex: 1;
	font-size: 14px;
	line-height: 1.9;
	letter-spacing: 1px;
}
.lower.profile .qa-item .ic{
	width: 18px;
	height: 18px;
	position: relative;
	flex: 0 0 18px;
}
.lower.profile .qa-item .ic::before,
.lower.profile .qa-item .ic::after{
	content:"";
	position:absolute;
	left:50%;
	top:50%;
	width: 16px;
	height: 1px;
	background:#000;
	transform: translate(-50%, -50%);
}
.lower.profile .qa-item .ic::after{
	transform: translate(-50%, -50%) rotate(90deg);
}
.lower.profile details[open] .ic::after{
	transform: translate(-50%, -50%) rotate(0deg);
}
.lower.profile .qa-item .a{
	padding: 0 0 18px 36px;
}
.lower.profile .qa-item .a p{
	margin-top: 10px;
	line-height: 2.2;
	color:#333;
}

/* インタビュー人物カード */
.lower.profile .person{
	margin-top: 40px;
	display:grid;
	grid-template-columns: 240px 1fr;
	gap: 24px;
	background:#f7f7f7;
	padding: 22px;
}
.lower.profile .person .p-photo img{
	height: 100%;
	object-fit: cover;
}
.lower.profile .person .label{
	color:#666;
	font-size: 12px;
	letter-spacing: 2px;
}
.lower.profile .person .name{
	margin-top: 6px;
	font-size: 18px;
	letter-spacing: 2px;
}
.lower.profile .person .bio{
	margin-top: 10px;
	line-height: 2.0;
	color:#333;
}

/* SP */
@media screen and (max-width: 768px){
	.lower.profile .profile-lead .lead{ font-size: 18px; }
	.lower.profile .profile-card{
		grid-template-columns: 1fr;
	}
	.lower.profile .profile-card .info{
		border-left: none;
		border-top: 1px solid #000;
	}
	.lower.profile .profile-photos{
		grid-template-columns: 1fr;
	}
	.lower.profile .person{
		grid-template-columns: 1fr;
	}
}




/* ========================================
PROFILE PAGE
======================================== */

.contents.lower.card.profile img{
	max-width: 100%;
	height: auto;
	display: block;
}

/* ========================================
FV
======================================== */
.contents.lower.card.profile .fv{
	position: relative;
	overflow: hidden;
}

.contents.lower.card.profile .fv > img:not(.logo){
	width: 100%;
	height: 360px;
	object-fit: cover;
}

.contents.lower.card.profile .fv .logo{
	position: absolute;
	top:40px;
	left:35px;
	width:350px;
	z-index: 2;
}



/* ========================================
COMMON
======================================== */
.contents.lower.card.profile .profile_head{
	margin-bottom: 34px;
}

.contents.lower.card.profile .profile_head .p-h2{
	margin: 0;
	font-size: clamp(22px, 2.6vw, 38px);
	font-weight: 400;
	line-height: 1.9;
	letter-spacing: 0.08em;
	color: #222;
	margin-top: 30px;
}

.contents.lower.card.profile .profile_lead{
	margin-bottom: 52px;
}

.contents.lower.card.profile .profile_lead p{
	margin: 0 0 10px;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.05em;
	color: #3d3d3d;
}

.contents.lower.card.profile .profile_text{
	margin-top: 42px;
}

.contents.lower.card.profile .profile_text p{
	margin: 0 0 24px;
	line-height: 2.35;
	letter-spacing: 0.04em;
	color: #444;
}

/* ========================================
PROFILE INFO BOX
======================================== */
.contents.lower.card.profile .profile_box{
	display: grid;
	grid-template-columns: 1fr 1fr;
	border: 1px solid #8e8e8e;
	margin-top: 18px;
}

.contents.lower.card.profile .profile_box .image{
	width: 100%;
}
.contents.lower.card.profile .profile_box .image img{
	width: 100%;
	height: 100%;
	min-height: 320px;
	object-fit: cover;
}

.contents.lower.card.profile .profile_box .text{
	width: 500px;
	margin: 52px auto 38px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.contents.lower.card.profile .profile_box .name{
	display: flex;
	align-items: center;
	gap: 14px;
	padding-bottom: -10px;
}

.contents.lower.card.profile .profile_box .name img{
	width: 78px;
	flex-shrink: 0;
}

.contents.lower.card.profile .profile_box .name h2{
	margin: 0;
	font-size: 30px;
	font-weight: 800;
	line-height: 1.4;
	color: #222;
}

.contents.lower.card.profile .profile_box .tel{
	margin: 0 0 30px;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.5;
	color: #222;
	display: flex;
	align-items: center;
}
.contents.lower.card.profile .profile_box .tel img{
	width: 30px;
	margin-bottom: -4px;
	margin-right: 5px;
}

.contents.lower.card.profile .profile_box .table{
	border-top: 1px solid #b8b8b8;
	padding-top: 22px;
}

.contents.lower.card.profile .profile_box .table dl{
	display: grid;
	grid-template-columns: 78px 1fr;
	gap: 8px;
	margin: 0 0 10px;
}

.contents.lower.card.profile .profile_box .table dt,
.contents.lower.card.profile .profile_box .table dd{
	margin: 0;
	font-size: 14px;
	line-height: 2;
	color: #444;
}

.contents.lower.card.profile .profile_box .table dt{
	color: #666;
}

/* ========================================
HISTORY IMAGES
======================================== */
.contents.lower.card.profile .profile_history{
	display: flex;
	flex-wrap: wrap;
	gap: 50px;
	margin: 42px 0 0;
	padding: 0;
	list-style: none;
}

.contents.lower.card.profile .profile_history li{
	width: 460px;
}

.contents.lower.card.profile .profile_history li img{
	width: 100%;
	aspect-ratio: 250 / 152;
	object-fit: cover;
}

.contents.lower.card.profile .profile_history li p{
	margin: 10px 0 0;
	font-size: 16px;
	line-height: 1.9;
	letter-spacing: 0.04em;
	color: #555;
}

.contents.lower.card.profile .profile_history.bottom{
	margin-top: 34px;
	padding-bottom: 90px;
	border-bottom: 1px solid #d8d8d8;
}

/* ========================================
LOGO SECTION
======================================== */
.contents.lower.card.profile .profile_logo{
	padding: 0px 0 100px;
}

.contents.lower.card.profile .logo_box{
	margin: 54px 0 58px;
}

.contents.lower.card.profile .logo_box img{
	width: min(430px, 100%);
}
@media screen and (max-width: 900px){
	.contents.lower.card.profile .logo_box img{
		width: 80%;
		max-width: 280px;
	}
}


/* ========================================
Q&A
======================================== */
.contents.lower.card.profile .qa_wrap{
	margin-top: 10px;
	border-top: 1px solid #a9a9a9;
}

.contents.lower.card.profile .qa_item{
	border-bottom: 1px solid #a9a9a9;
}

.contents.lower.card.profile .qa_q{
	width: 100%;
	display: grid;
	grid-template-columns: 10px 1fr 26px;
	align-items: center;
	gap: 12px;
	padding: 22px 0;
	border: 0;
	background: transparent;
	text-align: left;
	cursor: pointer;
	appearance: none;
}

.contents.lower.card.profile .qa_q .q{
	font-size: 1.2rem;
	line-height: 1;
	font-family: serif;
	color: #222;
}

.contents.lower.card.profile .qa_q .text{
	font-size: 1.2rem;
	position: relative;
	padding: 2rem 0;
	line-height: 1.9;
	letter-spacing: 0.04em;
	color: #222;
}

.contents.lower.card.profile .qa_q .icon{
	position: relative;
	width: 20px;
	height: 20px;
	margin-left: auto;
}

.contents.lower.card.profile .qa_q .icon::before,
.contents.lower.card.profile .qa_q .icon::after{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 1px;
	background: #333;
	transform: translate(-50%, -50%);
	transition: transform .25s ease, opacity .25s ease;
}

.contents.lower.card.profile .qa_q .icon::after{
	transform: translate(-50%, -50%) rotate(90deg);
}

.contents.lower.card.profile .qa_item.open .qa_q .icon::after{
	opacity: 0;
}

.contents.lower.card.profile .qa_a{
	display: none;
}

.contents.lower.card.profile .qa_item.open .qa_a{
	display: block;
}

.contents.lower.card.profile .qa_a_in{
	font-size: 0.9rem;
	padding: 20px;
	background-color: #f2f2f2;
}

.contents.lower.card.profile .qa_a_in p{
	line-height: 2.1;
}

.contents.lower.card.profile .qa_a_in p:last-child{
	margin-bottom: 0;
}

/* ========================================
DESIGNER
======================================== */
.contents.lower.card.profile .designer_box{
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 34px;
	align-items: start;
	background: #f5f5f5;
	margin-top: 46px;
}
.contents.lower.card.profile .designer_box .text{
	padding: 28px 34px;
}

.contents.lower.card.profile .designer_box .image{
	height: 100%;
	width: auto;
}
.contents.lower.card.profile .designer_box .image img{
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.contents.lower.card.profile .designer_box .text .sub{
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
	font-size: 12px;
	line-height: 1;
	color: #666;
}

.contents.lower.card.profile .designer_box .text .sub::after{
	content: "";
	display: block;
	width: 58px;
	height: 1px;
	background: #777;
}

.contents.lower.card.profile .designer_box .text h3{
	margin: 0 0 18px;
	font-size: 34px;
	font-weight: 400;
	line-height: 1.4;
	color: #222;
}

.contents.lower.card.profile .designer_box .text p{
	margin: 0 0 8px;
	font-size: 14px;
	line-height: 2.1;
	letter-spacing: 0.04em;
	color: #444;
}


/* ========================================
RESPONSIVE
======================================== */
@media screen and (max-width: 1200px){
	.contents.lower.card.profile .container,
	.contents.lower.card.profile .breadcrumbs nav{
		width: calc(100% - 48px);
	}
	.contents.lower.card.profile .profile_box{
		display: flex;
		flex-direction: column;
	}

	.contents.lower.card.profile .profile_box .text{
		padding: 36px 28px;
	}

	.contents.lower.card.profile .profile_box .name h2{
		font-size: 28px;
	}

	.contents.lower.card.profile .designer_box{
		grid-template-columns: 220px 1fr;
	}
}

@media screen and (max-width: 900px){
	.contents.lower.card.profile .fv > img:not(.logo){
		height: 240px;
	}

	.contents.lower.card.profile .fv .logo{
		top: 25px;
		left: 20px;
		width: 45vw;
	}

	.contents.lower.card.profile .profile_head{
		margin-bottom: 24px;
	}

	.contents.lower.card.profile .profile_head .p-h2{
		line-height: 1.7;
	}

	.contents.lower.card.profile .profile_lead{
		margin-bottom: 34px;
	}

	.contents.lower.card.profile .profile_box{
		grid-template-columns: 1fr;
	}

	.contents.lower.card.profile .profile_box .image img{
		min-height: auto;
		aspect-ratio: 16 / 9;
	}

	.contents.lower.card.profile .profile_box .text{
		padding: 26px 22px;
		width: 100%;
		box-sizing: border-box;
	}

	.contents.lower.card.profile .profile_box .name{
		align-items: center;
	}

	.contents.lower.card.profile .profile_box .name img{
		width: 64px;
	}

	.contents.lower.card.profile .profile_box .name h2{
		font-size: 24px;
	}

	.contents.lower.card.profile .profile_box .tel{
		font-size: 18px;
		margin-bottom: 22px;
	}

	.contents.lower.card.profile .profile_box .table dl{
		grid-template-columns: 72px 1fr;
	}

	.contents.lower.card.profile .profile_text{
		margin-top: 28px;
	}

	.contents.lower.card.profile .profile_text p{
		font-size: 14px;
		line-height: 2.1;
		margin-bottom: 18px;
	}
	.contents.lower.card.profile .profile_lead p{
		font-size: 14px;
	}

	.contents.lower.card.profile .profile_history{
		gap: 20px;
		margin-top: 28px;
	}

	.contents.lower.card.profile .profile_history li{
		width: calc(50% - 10px);
	}

	.contents.lower.card.profile .profile_history.bottom{
		padding-bottom: 60px;
	}

	.contents.lower.card.profile .profile_logo{
		padding: 62px 0 70px;
	}

	.contents.lower.card.profile .logo_box{
		margin: 34px 0 36px;
	}

	.contents.lower.card.profile .qa_q{
		grid-template-columns: 10px 1fr 24px;
		padding: 0px 0;
	}

	.contents.lower.card.profile .qa_q .text{
		font-size: 0.9rem;
		line-height: 1.8;
	}

	.contents.lower.card.profile .qa_a_in{
		padding: 22px 18px;
	}

	.contents.lower.card.profile .qa_a_in p{
		font-size: 0.9rem;
		line-height: 2;
	}

	.contents.lower.card.profile .designer_box{
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.contents.lower.card.profile .designer_box .image img{
		aspect-ratio: 16 / 10;
	}

	.contents.lower.card.profile .designer_box .text h3{
		font-size: 28px;
	}
	.contents.lower.card.profile .profile_history li p{
		font-size: 14px;
	}
}


/* profile side slide */
.side_slide_gr {
	position: relative;
	--fade-progress: 0;
}
.side_slide_gr::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 20;
	background:
		linear-gradient(
			to bottom,
			rgba(255, 255, 255, calc(var(--fade-progress) * 0.15)) 0%,
			rgba(255, 255, 255, calc(var(--fade-progress) * 0.45)) 35%,
			rgba(255, 255, 255, calc(var(--fade-progress) * 0.75)) 70%,
			rgba(255, 255, 255, var(--fade-progress)) 100%
		),
		rgba(255, 255, 255, calc(var(--fade-progress) * var(--fade-progress)));
}
.side_slide {
	position: sticky;
	top: 0;
	height: 100vh;
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 0;
	box-sizing: border-box;
	will-change: transform;
}
.side_slide-item {
	flex: 0 0 100vw;
	height: 80vh;
	margin: auto 0;
	margin-top: 150px;
}
.side_slide-item img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	display: block;
}
html,
body {
	overflow-x: hidden;
}
@supports (overflow: clip) {
	html,
	body {
		overflow-x: clip;
	}
}


.side_text_marquee {
	position: absolute;
	left: 50%;
	top: 7vh;
	transform: translate(-50%, -50%);
	z-index: 10;
	width: 100vw;
	overflow: hidden;
	pointer-events: none;
	white-space: nowrap;
	box-sizing: border-box;
	margin: 0;
	color: #000;
}
.side_text_marquee.is-fixed {
	position: fixed;
	left: 50%;
	top: 7vh;
	transform: translate(-50%, -50%);
	width: 100vw;
}
.side_text_marquee.is-ended {
	position: absolute;
	left: 50%;
	top: var(--marquee-end-top, 20vh);
	transform: translate(-50%, -50%);
	width: 100vw;
}
.side_text_marquee-inner {
	display: flex;
	width: max-content;
	will-change: transform;
	animation: sideTextLoop 25s linear infinite;
}
.side_text_marquee-track {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	white-space: nowrap;
}
.side_text_marquee-track span {
	flex: 0 0 auto;
	display: inline-block;
	padding-right: 3rem;
	font-size: clamp(40px, 8vw, 120px);
	line-height: 1;
	font-weight: 700;
}
@keyframes sideTextLoop {
	0% {
		transform: translate3d(0, 0, 0);
	}
	100% {
		transform: translate3d(-50%, 0, 0);
	}
}


.side_slide-text{
	position: absolute;
	top: 13%;
	color: #fff;
	left: 30px;
}
.side_slide-text h3{
	font-size: 2.5rem;
	font-weight: 400;
	margin-bottom: 30px;
}
.side_slide-text p{
	line-height: 2;
}
/* .side_slide-item2 .side_slide-text{
color: #000;
} */
.side_slide-item:before{
	width: 100%;
	height: 100%;
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	background-color: rgba(0,0,0,0.3);
}

.contents.lower.card.profile .profile_logo .container{
	margin-top: 100px;
}



.en{
	font-family: "Gantari", sans-serif;
	font-style: italic;
}
h1.en{
	font-weight: 700 !important;
}
.top .to_other ul li a.en{
	font-weight: 600 !important;
}



/* ジュニアサポート */
.lower.junior .fv img{
	object-position: 50% 73%;
}
.junior_content{
	padding-top: 0 !important;
}
.junior_content .item{
	padding-bottom: 50px;
}
.junior_content .item.get{
	padding-bottom: 120px;
}
.junior_content .item h2{
	font-size: 30px;
	font-weight: 100;
	padding-bottom: 10px;
	border-bottom: solid 1px #000;
}
.junior_content .item p{
	margin: 20px 0;
	line-height: 1.9;
}
.junior_content .item3 > ul >li{
	list-style: disc;
	padding: 25px 0;
}
.junior_content .item3 > ul{
	padding-left: 20px;
}
.junior_content .item3 li p{
	margin: 0;
}
.junior_content .item3 li{
	line-height: 1.9;
}
@media screen and (max-width: 768px) {
	.junior_content .item h2{
		font-size: 24px;
	}
	.junior_content .item{
		padding-bottom: 30px;
	}
	.junior_content .item3 > ul >li{
		list-style: disc;
		padding: 20px 0;
	}
}


.hdcp_content h2.center{
	margin-bottom: 50px;
	font-size: 1.7rem;
}
.hdcp_content{
	padding-top: 0;
}
.hdcp_content .flex_gr h3{
	font-size: 20px;
	font-weight: 100;
	margin: 20px 0 10px;
}
.hdcp_content .flex_gr p{
	line-height: 1.5;
}
.hdcp_content .flex_gr div{
	margin-bottom: 50px;
}
.lower section.hdcp_content1{
	padding: 10px 0;
}

.hdcp_content2 .get .text_gr{
	padding: 15px 0;
}

@media screen and (min-width: 769px) {
	.lower .hdcp_content2 .get ul li.first{
		align-items: flex-start;
	}
	.hdcp_content2 .get li.first{
		padding-top: 20px;
	}
	.hdcp_content2 .get .step_num:before{
		display: none;
	}
	.hdcp_content2 .get .step_num{
		margin-right: 30px;
	}
	.hdcp_content2 .get .flex_direction,
	.hdcp_content2 .get .text{
		padding-left: 30px;
		border-left: solid 1px #000;
	}
	.hdcp_content2 .get .text{
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.hdcp_content2 .get .text_gr{
		padding: 30px 0;
	}
	.hdcp_content2 .get .text_gr:first-child{
		padding-top: 10px 0;
	}
	.hdcp_content2 .get .text_gr:last-child{
		padding-bottom: 10px 0;
	}
}

@media screen and (max-width: 768px) {
	.hdcp_content .flex_gr {
		flex-direction: column;
	}
	.hdcp_content h2.center{
		font-size: 1.5rem;
	}
	.hdcp_content .flex_gr h3{
		font-size: 18px;
	}
}