@charset "utf-8";

/* Webフォント
======================================== */
@import url('https://fonts.googleapis.com/css2?family=Boldonse&family=Zen+Kaku+Gothic+Antique:wght@500;700&display=swap');

/*
* "Zen Kaku Gothic Antique" licensed under the Open Font License.
* https://fonts.google.com/specimen/Zen+Kaku+Gothic+Antique
* https://www.google.com/fonts/attribution
* https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL
*/
/*
* "Boldonse" licensed under the Open Font License.
* https://fonts.google.com/specimen/Boldonse
* https://www.google.com/fonts/attribution
* https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL
*/


/* ステラスreset
======================================== */
table {
	border-collapse: collapse;
}
dt, th {
	font-weight: normal !important;
}
em {
	font-style: normal;
	font-weight: bold;
}
html {
	font-size: 62.5%;
	}
	@media screen and (max-width: 320px) {
	html { font-size: 54.6875%; }
}
img {
	width: 100%;
}

/* サイト共通
======================================== */
body {
	font-size: 1.6rem;
	font-size: clamp(1.5rem, 2vw, 1.6rem);
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-weight: 500;
	font-style: normal;
	color: #000;
	background: #111;
	overflow: hidden;
}
body.nav-open {
	position: fixed;
}

/* ナビ
======================================== */
/* ハンバーガーメニュー */
.openbtn1 {
	display: block;
	position: fixed;
	cursor: pointer;
	top: 0;
	right: 0;
	width: 50px;
	height:50px;
	background: #111;
	z-index: 9999;
}
.openbtn1 span {
	display: inline-block;
	transition: all .4s;
	position: absolute;
	left: 14px;
	height: 2px;
	background: #fff;
	width: 22px;
}
.openbtn1 span:nth-of-type(1) {
	top:16px; 
}
.openbtn1 span:nth-of-type(2) {
	top:24px;
}
.openbtn1 span:nth-of-type(3) {
	top:32px;
}
.openbtn1.active span:nth-of-type(1) {
	top: 18px;
	left: 12px;
	transform: translateY(6px) rotate(-45deg);
	width: 26px;
}
.openbtn1.active span:nth-of-type(2) {
	opacity: 0;
}
.openbtn1.active span:nth-of-type(3){
	top: 30px;
	left: 12px;
	transform: translateY(-6px) rotate(45deg);
	width: 26px;
}

/* メニュー */
#g-nav {
	position: fixed;
	z-index: 999;
	top: 0;
	right: -120%;
	width: 100%;
	height: 100vh;
	background: #f9f4e4;
	transition: all 0.6s;
}
#g-nav.panelactive {
	right: 0;
	transition: all 0.6s;
}
#g-nav.panelactive #g-nav-list {
	position: fixed;
	z-index: 999; 
	width: 100%;
	height: 100vh;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
#g-nav #g-nav-list > ul {
	border-bottom: solid 1px #111;
}
#g-nav li a {
	display: block;
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
	border-top: solid 1px #111;
	padding: 18px 10px 20px;
}
#g-nav li:first-child a {
	border-top: none;
}
#g-nav li a span {
	display: block;
	font-family: "Boldonse", system-ui;
	font-size: 2.8rem;
	font-weight: 400;
	font-style: normal;
	color: rgba(0,0,0,.0);
	letter-spacing: 0.05em;
	margin-bottom: -30px;
}
#g-nav li:nth-of-type(1) a span {
	-webkit-text-stroke: 1px #b7dbff;
	text-stroke: 1px #b7dbff;
}
#g-nav li:nth-of-type(2) a span {
	-webkit-text-stroke: 1px #f5c1c8;
	text-stroke: 1px #f5c1c8;
}
#g-nav li:nth-of-type(3) a span {
	-webkit-text-stroke: 1px #cbcdf5;
	text-stroke: 1px #cbcdf5;
}
#g-nav li:nth-of-type(4) a span {
	-webkit-text-stroke: 1px #f2cba3;
	text-stroke: 1px #f2cba3;
}
#g-nav li:nth-of-type(5) a span {
	-webkit-text-stroke: 1px #b2edbd;
	text-stroke: 1px #b2edbd;
}
#g-nav li:nth-of-type(6) a span {
	-webkit-text-stroke: 1px #cad0f5;
	text-stroke: 1px #cad0f5;
}
#g-nav li:nth-of-type(7) a span {
	-webkit-text-stroke: 1px #d9d934;
	text-stroke: 1px #d9d934;
}
#g-nav li:nth-of-type(8) a span {
	-webkit-text-stroke: 1px #f3b1bb;
	text-stroke: 1px #f3b1bb;
}
#g-nav li:nth-of-type(9) a span {
	-webkit-text-stroke: 1px #b6e58f;
	text-stroke: 1px #b6e58f;
}
#g-nav li:nth-of-type(10) a span {
	-webkit-text-stroke: 1px #a0e9e7;
	text-stroke: 1px #a0e9e7;
}
#g-nav li:nth-of-type(11) a span {
	-webkit-text-stroke: 1px #f2be8a;
	text-stroke: 1px #f2be8a;
}
#g-nav li:nth-of-type(12) a span {
	-webkit-text-stroke: 1px #e0c2f3;
	text-stroke: 1px #e0c2f3;
}
#g-nav .sub-menu li a {
	font-size: 1.4rem;
	border-top: solid 1px rgba(0,0,0,0.1);
	padding: 14px;
}
#g-nav .entry {
	text-align: center;
	padding: 30px 15px 100px;
}
#g-nav .entry a {
	position: relative;
	display: inline-block;
	width: 300px;
	font-size: 2rem;
	font-weight: 700;
	border: solid 1px #000;
	border-radius: 100px;
	background: #f0a15e;
	box-shadow: 4px 4px 0px 0px rgba(0,0,0,1);
	padding: 18px;
}
#g-nav .entry a::before {
	position: absolute;
	content: '';
	display: inline-block;
	top: 0;
	bottom: 0;
	right: 24px;
	width: 12px;
	height: 8px;
	background-image: url("../cmn_images/arrow.svg");
	background-size: contain;
	vertical-align: middle;
	transform: rotate(-45deg); 
	margin: auto;
}
#g-nav .entry a::after {
	position: absolute;
	content: '';
	display: inline-block;
	top: 0;
	bottom: 0;
	right: 11px;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: solid 1px #000;
	margin: auto;
}

/* スライダー
======================================== */
.slider {
	position: relative;
	width: 100%;
	height: auto;
	margin: 0;
	overflow: hidden;
}
/* iPhone SE（縦向き）のときだけ適用 */
@media screen and (max-height: 570px) {
	.slider {
		width: 85%!important;
		margin: 0 auto!important;
	}
}
.slider li {
	position: relative;
}

/* 矢印 */
.slider .slick-prev,
.slider .slick-next {
	position: absolute;
	cursor: pointer;
	display: block!important;
	content: "";
	top: 50%;
	width: 50px;
	height: 80px;
	appearance: none;
	border: none;
	outline: none;
	text-indent: -9999px;
	padding: 0;
	margin-top: -40px;
	z-index: 1;
}
.slider .slick-prev {
	left: 0;
}
.slider .slick-next {
	right: 0;
}

.slider .slick-prev::before,
.slider .slick-next::before {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	width: 25px;
	height: 40px;
	background: rgba(0,0,0,0.3);
	margin: auto;
}
.slider .slick-prev::before {
	left: 0;
	border-top-right-radius: 100px;
	border-bottom-right-radius: 100px;
}
.slider .slick-next::before {
	right: 0;
	border-top-left-radius: 100px;
	border-bottom-left-radius: 100px;
}

.slider .slick-prev::after,
.slider .slick-next::after {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 8px;
	height: 8px;
	transform: rotate(45deg);
	margin: auto;
}
.slider .slick-prev::after {
	left: -27px;
	border-bottom: 2px solid #fff;
	border-left: 2px solid #fff;
}
.slider .slick-next::after {
	right: -25px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}
.slider .slick-disabled {
	display: none!important;
}

/* Dots */
.slick-dots {
	position: absolute;
	display: flex;
	justify-content: center;
	bottom: 50px;
	width: 100%;
}
.slick-dots li {
	display: block;
	width: 20px;
	height: 3px;
	background: #111;
	text-indent: -9999px;
	margin: 0 2px;
	opacity: 0.8;
	cursor: pointer;
}
.slick-dots li.slick-active {
	background: #ff6699;
}

/* 画面切り替え
======================================== */
/* スマホ横画面 */
@media (orientation: landscape) and (max-width: 1024px) {
	.guide_sp_yoko {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100svh;
		color: #fff;
		background: #222;
	}
	.guide_sp_yoko .inner {
		margin: auto;
	}
	.guide_sp_yoko .icon {
		display: block;
		width: 60px;
		text-align: center;
		opacity: 0.3;
		margin: 0 auto 15px;
	}
	.guide_sp_yoko .logo {
		text-align: center;
		margin: 40px 0 0;
	}
	.guide_sp_yoko .logo img {
		width: 70px;
	}
	#contentsArea {
		display: none;
	}
}

/* スマホ縦画面 */
@media screen and (orientation: portrait) and (max-width: 1024px) {
	.guide_sp_yoko,
	.guide_pc_tb {
		display: none;
	}
	#contentsArea {
		display: block;
	}
}

/* PC・タブレット */
.pc .guide_sp_yoko,
.tb .guide_sp_yoko,
.pc #contentsArea,
.tb #contentsArea {
	display: none;
}
.pc .guide_pc_tb,
.tb .guide_pc_tb {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100svh;
	color: #fff;
	background: #222;
}
.guide_pc_tb .icon {
	display: block;
	width: 60px;
	opacity: 0.3;
	text-align: center;
	margin: 0 auto 15px;
}
.guide_pc_tb .logo {
	text-align: center;
	margin: 60px 0 0;
}
.guide_pc_tb .logo img {
	width: 85px;
}

/* モーダル
======================================== */
#cboxContent {
	margin-top: 50px;
}
#cboxClose {
	position:absolute;
	top:0;
	right:0;
	display:block;
	width: 40px;
	height: 40px;
	text-indent:-9999px;
	background-color: #000;
	border-radius: 50%;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}
#cboxClose::before,
#cboxClose::after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 20px;
	height: 2px;
	background: #fff;
	z-index: 1000;
}
#cboxClose:before {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#cboxClose:after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#cboxClose {
	top: -45px;
	right: 0;
	z-index: 100;
}
iframe { width:100%; }

/* 枚数表示 */
#cboxCurrent {
	visibility: hidden;
}

/* モーダルエリアを初期非表示 */
.modal_wrap {
	display: none;
}


/* SNSボタン
======================================== */
p[class^="icon_lnk_"] {
	position: absolute;
	width: 13%;
	top: 47%;
}
.icon_lnk_x {
	left: 7%;
}
.icon_lnk_youtube {
	left: 23%;
}
.icon_lnk_tiktok {
	left: 39%;
}
.icon_lnk_entry {
	left: 55%;
}


/* for appear
================================================================= */
/* エリア */
#contentsArea {
	opacity: 0;
}
