/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Old+Mincho:wght@400;500;600;700&display=swap');

/*-----------------------------*/

body {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	/*word-break: keep-all;
	line-break: strict;
	word-wrap: break-word;
	overflow-wrap: break-word;
	font-feature-settings: "palt";*/
}

header {
	background: #000;
	border-bottom: 1px solid #FFF;
	padding: 6px 10px 6px 10px;
	height: 30px;
	overflow: hidden !important;
}
/*header img {
	max-width: 100%;
	width: 59px;
	height: auto;
}*/


a:hover {
	opacity: 0.8;
}

a {
	transition: opacity 0.3s ease-out;
}

#container img {
	max-width: 100%;
	width: auto;
	height: auto;
}

.posiRe01 {
	position: relative;
}

/*----------------------------------*/

.alc {
	text-align: center;
}

.alc > p {
	padding-bottom: 1em;
}

.alc > p:last-child {
	padding-bottom: 0;
}

.weightM {
	font-weight: 500;
}
.bold {
	font-weight: bold;
}

.leterSp-005 {
	letter-spacing: -0.05em;
}


.mb-5 {margin-bottom: 5px;}
.mb-10 {margin-bottom: 10px;}
.mb-15 {margin-bottom: 15px;}
.mb-20 {margin-bottom: 20px;}
.mb-30 {margin-bottom: 30px;}
.mb-40 {margin-bottom: 40px;}
.mb-50 {margin-bottom: 50px;}
.mb-60 {margin-bottom: 60px;}
.mb-70 {margin-bottom: 70px;}
.mb-80 {margin-bottom: 80px;}
.mb-90 {margin-bottom: 90px;}
.mb-100 {margin-bottom: 100px;}
.mb-110 {margin-bottom: 110px;}
.mb-120 {margin-bottom: 120px;}
.mb-130 {margin-bottom: 130px;}
.mb-140 {margin-bottom: 140px;}
.mb-150 {margin-bottom: 150px;}
.mb-160 {margin-bottom: 160px;}
.mb-170 {margin-bottom: 170px;}
.mb-180 {margin-bottom: 180px;}
.mb-190 {margin-bottom: 190px;}
.mb-200 {margin-bottom: 200px;}
.mb-250 {margin-bottom: 250px;}
.mb-270 {margin-bottom: 270px;}
.mb-280 {margin-bottom: 280px;}
.mb-300 {margin-bottom: 300px;}
.mb-360 {margin-bottom: 360px;}
.mb-390 {margin-bottom: 390px;}
.mb-410 {margin-bottom: 410px;}

.mt-80 {
	margin-top: 80px;
}

@media (max-width: 750px) {
	.mb-5 {margin-bottom: 0.66vw;}
	.mb-10 {margin-bottom: 1.33vw;}
	.mb-15 {margin-bottom: 2.0vw;}
    .mb-20 {margin-bottom: 2.67vw;}
    .mb-30 {margin-bottom: 4vw;}
    .mb-40 {margin-bottom: 5.33vw;}
    .mb-50 {margin-bottom: 6.67vw;}
    .mb-60 {margin-bottom: 8vw;}
    .mb-70 {margin-bottom: 9.33vw;}
    .mb-80 {margin-bottom: 10.67vw;}
    .mb-90 {margin-bottom: 12vw;}
    .mb-100 {margin-bottom: 13.33vw;}
    .mb-110 {margin-bottom: 14.67vw;}
    .mb-120 {margin-bottom: 16vw;}
    .mb-130 {margin-bottom: 17.33vw;}
    .mb-140 {margin-bottom: 18.67vw;}
    .mb-150 {margin-bottom: 20vw;}
    .mb-160 {margin-bottom: 21.33vw;}
    .mb-170 {margin-bottom: 22.67vw;}
    .mb-180 {margin-bottom: 24vw;}
    .mb-190 {margin-bottom: 25.33vw;}
    .mb-200 {margin-bottom: 26.67vw;}
	.mb-250 {margin-bottom: 33.34vw;}
	.mb-270 {margin-bottom: 36vw;}
	.mb-280 {margin-bottom: 37.34vw;}
	.mb-300 {margin-bottom: 40vw;}
	.mb-360 {margin-bottom: 48vw;}
	.mb-390 {margin-bottom: 52vw;}
	.mb-410 {margin-bottom: 54.67vw;}
.mt-80 {margin-top: 10.67vw;}
}


/* -----------------------------------------
contents
-----------------------------------------*/

#container {
	font-family: "Noto Sans JP", serif;
	margin: auto;
	width: 100%;
	max-width: 750px;
	overflow: hidden;
	color: #000000;
}

.fontZenOldMincho {
	font-family: "Zen Old Mincho", serif;
}

.pagetopBtn01 {
	width: 58px;
	position: fixed;
	right: 10px;
	bottom: 80px;
}

/*-------------------------*/

.mainBlock01 {
	padding: 66px 0px 0px;
}
.contPd50 {
	padding: 0px 50px;
}
.mainUl01 {
	text-align: center;
}
.mainUl01 li {
	font-size: 28px;
	line-height: 1.45em;
	font-weight: bold;
}
.contLine01 {
	text-align: center;
}
.contLine01 img {
	width: 555px !important;
	height: auto;
}

.text24_178_n {
	font-size: 24px;
	line-height: 1.78em;
}

.textBox01 {
	text-align: center;
	color: #ba0d2f;
	font-size: 29px;
	line-height: 1.5em;
	font-weight: bold;
}
.textBox01 .p01 {
}
.textBox01 .p01 .s01 {
	display: inline-block;
	background-color: #ba0d2f;
	padding: 2px 10px 4px;
	color: #ffffff;
}

.contH201 {
	text-align: center;
	margin-bottom: 7px;
}
.contH201 img {
	width: 221px !important;
	height: auto;
}

.contBox01 {
	text-align: center;
	border: 1px solid #24b45b;
box-shadow: 6px 6px 0px 0px #24b45b ;
-webkit-box-shadow: 6px 6px 0px 0px #24b45b ;
-moz-box-shadow: 6px 6px 0px 0px #24b45b ;
-o-box-shadow: 6px 6px 0px 0px #24b45b ;
-ms-box-shadow: 6px 6px 0px 0px #24b45b ;
	padding: 55px 20px 90px;
	font-size: 23px;
	letter-spacing: -0.05em;
}
.contBox01 .s01 {
	background-color: #24b45b;
	color: #ffffff;
	/*display: inline-block;
	padding: 0px 6px;*/
}

.bottomTextWrap01 {
	margin: 50px 34px 40px 34px;
	font-size: 23px;
	line-height: 2.1em;
}

@media (max-width: 750px) {

	.pagetopBtn01 {
		width: 7.73vw;
		right: 1.33vw;
		bottom: 10.66vw;
	}

	/*-------------------------*/

	.mainBlock01 {
		padding: 8.8vw 0px 0px;
	}
	.contPd50 {
		padding: 0px 6.66vw;
	}
	.mainUl01 li {
		font-size: 3.73vw;
	}
	.contLine01 img {
		width: 74vw !important;
	}

	.text24_178_n {
		font-size: 3.2vw;
	}

	.textBox01 {
		font-size: 3.86vw;
	}

	.textBox01 .p01 .s01 {
		padding: 0.26vw 1.33vw 0.53vw;
	}

	.contH201 {
		margin-bottom: 0.93vw;
	}
	.contH201 img {
		width: 29.46vw !important;
	}

	.contBox01 {
		padding: 7.33vw 2.66vw 12vw;
		font-size: 3.06vw;
	}

	.bottomTextWrap01 {
		margin: 6.66vw 4.53vw 5.33vw 4.53vw;
		font-size: 3.06vw;
	}

}


/*-----------------------------------
	2025/05/09
------------------------------------*/

.contTextBox01 {
	width: 550px;
	margin-right: auto;
	margin-left: auto;
}

.contFlex01 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 28px 0px;
}
.contFlex01 a {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 5px 10px;
	width: 256px;
	height: 52px;
	color: #ffffff;
	font-size: 28px;
	line-height: 1.3em;
}
.contFlex01 a.store-sale {
	font-size: 20px;
}
.contFlex01 a::after {
	content: "";
	display: inline-block;
	background-image: url("../img/250708/cont_btn_ar01.webp");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 21px auto;
	width: 21px;
	height: 18px;
	margin-top: 3px;
}

.contFlex01 a.anc01 {
	background-color: #00B050;
}
.contFlex01 a.anc02 {
	background-color: #FF99CC;
}
.contFlex01 a.anc03 {
	background-color: #FFC000;
}
.contFlex01 a.anc04 {
	background-color: #5B9BD5;
}
.contFlex01 a.anc05 {
	background-color: #941743;
}
.contFlex01 a.anc06 {
	background-color: #ED7D31;
}
.contFlex01 a.anc00 {
	background-color: #24b45b;
}

.text26_16_n {
	font-size: 26px;
	line-height: 1.6em;
}
.contH202 {
	font-size: 36px;
	line-height: 1.4em;
	font-weight: bold;
	text-align: center;
}
.colRed01 {
	color: #ec0203;
}

.contLine02 {
	line-height: 0px;
	margin: 20px auto;
}
.contLine02 img {
	width: 400px;
	height: auto;
}
.bgColRed01 {
	background-color: #ec0203;
	color: #ffffff;
	font-weight: bold;
}
.text16_16_n {
	font-size: 16px;
	line-height: 1.6em;
}

.contUl01 {}
.contUl01 li {
	line-height: 1.45em;
	margin-bottom: 10px;
}

/*---------------------*/

.contH301 {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	box-sizing: border-box;
	padding: 25px 5px 28px;
	height: auto;
	border-radius: 300px;
	color: #ffffff;
	font-size: 26px;
	line-height: 1.65em;
}
.contH301 .s01 {
	display: block;
	color: #ff0072;
	font-weight: bold;
}
.contH301 .s02 {
	display: block;
	font-weight: bold;
}
.contH301 .s03 {
	display: block;
	font-size: 24px;
	letter-spacing: -0.05em;
	font-weight: normal;
}

/*----------------*/

.contBlock01 {
	background-color: #00B050;
	padding: 50px 30px 50px;
}
.contBlock01 .contH301 {
	background-color: #00B050;
}

.contBlock02 {
	background-color: #FF99CC;
	padding: 50px 30px 50px;
}
.contBlock02 .contH301 {
	background-color: #FF99CC;
}

.contBlock03 {
	background-color: #FFC000;
	padding: 50px 30px 50px;
}
.contBlock03 .contH301 {
	background-color: #FFC000;
}

.contBlock04 {
	background-color: #5B9BD5;
	padding: 50px 30px 50px;
}
.contBlock04 .contH301 {
	background-color: #5B9BD5;
}

.contBlock05 {
	background-color: #941743;
	padding: 50px 30px 50px;
}
.contBlock05 .contH301 {
	background-color: #941743;
}

.contBlock06 {
	background-color: #ED7D31;
	padding: 50px 30px 50px;
}
.contBlock06 .contH301 {
	background-color: #ED7D31;
}
.contBlock01 .contH301 .s01,
.contBlock02 .contH301 .s01,
.contBlock04 .contH301 .s01,
.contBlock05 .contH301 .s01,
.contBlock06 .contH301 .s01 {
	color: #ffff00;
}

/*-----------*/

.contH203 {
	text-align: center;
	color: #ffffff;
	font-size: 36px;
	line-height: 1.28em;
	font-weight: bold;
	margin-bottom: 60px;
}
.contBox02 {
	background-color: #ffffff;
	padding: 70px 20px 20px;
}



@media (max-width: 750px) {

	.contTextBox01 {
		width: 73.33vw;
	}

	.contFlex01 {
		gap: 3.73vw 0px;
	}
	.contFlex01 a {
		padding: 0.66vw 1.33vw;
		width: 34.13vw;
		height: 6.93vw;
		font-size: 3.73vw;
	}
	.contFlex01 a.store-sale {
		font-size: 3vw;
	}
	.contFlex01 a::after {
		background-size: 2.8vw auto;
		width: 2.8vw;
		height: 2.4vw;
		margin-top: 0.4vw;
	}

	.text26_16_n {
		font-size: 3.46vw;
	}
	.contH202 {
		font-size: 4.8vw;
	}

	.contLine02 {
		margin: 2.66vw auto;
	}
	.contLine02 img {
		width: 53.33vw !important;
	}
	.text16_16_n {
		font-size: 2.13vw;
	}

	.contUl01 li {
		margin-bottom: 1.33vw;
	}

	/*---------------------*/

	.contH301 {
		padding: 3.33vw 0.66vw 3.73vw;
		border-radius: 40vw;
		font-size: 3.46vw;
	}
	.contH301 .s03 {
		font-size: 3.2vw;
	}

	/*----------------*/

	.contBlock01 {
		padding: 6.66vw 4vw 6.66vw;
	}

	.contBlock02 {
		padding: 6.66vw 4vw 6.66vw;
	}

	.contBlock03 {
		padding: 6.66vw 4vw 6.66vw;
	}

	.contBlock04 {
		padding: 6.66vw 4vw 6.66vw;
	}

	.contBlock05 {
		padding: 6.66vw 4vw 6.66vw;
	}

	.contBlock06 {
		padding: 6.66vw 4vw 6.66vw;
	}

	/*-----------*/

	.contH203 {
		font-size: 4.8vw;
		margin-bottom: 8vw;
	}
	.contBox02 {
		padding: 9.33vw 2.66vw 2.66vw;
	}




}


/**/


.menuBtn01 {
	width: 80px;
	height: 80px;
	border-radius: 100px;
	background-color: #000000;
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 50px;
	left: 50%;
	margin-left: 280px;
	z-index: 100000;
}

/*-------------------------*/

.menu_btn {
	position: relative;
	background: none;
	border: none;
	appearance: none;
	cursor: pointer;
	width: 44px;
	height: 20px; /* ★高さを変更 (例: 14px -> 20px) これで線間のスペースが広がります */
	transition: all 1s;
}

.menu_btn span {
	display: inline-block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px; /* 線の太さ (変更なし) */
	background-color: #ffffff;
	transition: all .4s;
}

/* 1本目の線の初期位置 (一番上) */
.menu_btn span:nth-of-type(1) {
	top: 0;
}

/* 2本目の線の初期位置 (中央) */
/* 新しい高さに合わせて中央位置を再計算: (新しい高さ - 線の太さ) / 2 */
/* (20px - 2px) / 2 = 9px */
.menu_btn span:nth-of-type(2) {
	top: 9px; /* ★中央線の位置を調整 */
}

/* 3本目の線の初期位置 (一番下) */
.menu_btn span:nth-of-type(3) {
	bottom: 0; /* または top: 18px; (20px - 2px) */
}

/* --- アクティブ時 (例: .active クラスが付与された場合) --- */

/* 1本目の線: バツ印の上部を形成 */
.active .menu_btn span:nth-of-type(1) {
	/* 移動量を新しい中央線の位置に合わせる */
	transform: translateY(9px) rotate(45deg); /* ★translateYの値を調整 */
}

/* 2本目の線: 非表示にする */
.active .menu_btn span:nth-of-type(2) {
	opacity: 0;
}

/* 3本目の線: バツ印の下部を形成 */
.active .menu_btn span:nth-of-type(3) {
	/* 移動量を新しい中央線の位置に合わせる */
	transform: translateY(-9px) rotate(-45deg); /* ★translateYの値を調整 */
}

.headerMenuWrap01 {
	/*display: none;*/
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 99999;
	visibility: hidden;
	opacity: 1;
	/*transition-duration: 0.6s;*/
	transition: all 0.6s;
}
.headerMenuWrap01.contOpen {
  visibility: visible;
  opacity: 1;
  /*transition-duration: 0.2s;*/
	transition: all 0.6s;
}

.headerMenuBox01 {
	background-color: #ffffff;
	border: 1px solid #000000;
	width: 590px;
	margin: auto 0px auto auto;
	padding: 40px;
}

.headerMenuBg01 {
	width: 110vw;
	height: 100%;
	background-color: #ffffff;
	filter: alpha(opacity=50);
	-moz-opacity:0.5;
	opacity:0.5;
	position: fixed;
	top: 0px;
	left: 0px;
}
.headerMenu01 {
	overflow: hidden;
	width: 100%;
	position: relative;
	top: 0px;
	/*left: -110vw;*/
	right: -110vw;
	transition: all 0.6s;
	padding-top: 43px;
	color: #000000;
}
.contOpen .headerMenu01 {
	width: 100%;
	transition: all 0.6s;
	/*left: 0px;*/
	right: 0px;
}

.headerMenuIn01 {
	box-sizing: border-box;
	/*background-color: #ffffff;*/
	width: 750px;
	/*height: 746px;*/
	/*height: auto;*/
	height: calc( 100vh - 132px );
	overflow: auto;
	text-align: left;
	/*padding: 120px 20px 50px 80px;*/
	/*padding: 80px 34px 64px 34px;*/
	position: relative;
	margin: auto;
}
.headerMenuClose01 {
	position: absolute;
	top: 14px;
	right: 22px;
}
.headerMenuClose01 img {
	width: 22px;
	height: auto;
}
.headerMenuClose01 img:hover {
	cursor: pointer;
}

.headerMenuBox01 .contFlex01 {
    flex-flow: column;
}

.headerMenuBox01 .contFlex01 a {
    width: 100%;
}

.headerMenuBox01 h3 {
    font-size: 30px;
    text-align: center;
}

.headerMenuBox01 .contFlex01 a {
    position: relative;
}

.headerMenuBox01 .contFlex01 a::after {
    position: absolute;
    right: 15px;
}

@media screen and (max-width: 750px) {
    .headerMenuIn01 {
		width: 100%;
		height: calc( 100vh - 42px - 11.6vw );
		/*padding: 10.6vw 4.5vw 8.5vw 4.5vw;*/
		margin: auto;
	}
    
    .menuBtn01 {
		width: 10.66vw;
		height: 10.66vw;
		border-radius: 13.33vw;
		/*top: 12vw;*/
		top: 12vw;
		margin-left: 37.33vw;
	}

.menu_btn {
	position: relative;
	background: none;
	border: none;
	appearance: none;
	cursor: pointer;
	width: 1.6em;
	height: 0.8em; /* ★高さを変更 (例: 14px -> 20px) これで線間のスペースが広がります */
	transition: all 1s;
}

.menu_btn span {
	display: inline-block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 0.025em; /* 線の太さ (変更なし) */
	background-color: #ffffff;
	transition: all .4s;
}

/* 1本目の線の初期位置 (一番上) */
.menu_btn span:nth-of-type(1) {
	top: 0;
}

/* 2本目の線の初期位置 (中央) */
/* 新しい高さに合わせて中央位置を再計算: (新しい高さ - 線の太さ) / 2 */
/* (20px - 2px) / 2 = 9px */
.menu_btn span:nth-of-type(2) {
	top: 0.4em; /* ★中央線の位置を調整 */
}

/* 3本目の線の初期位置 (一番下) */
.menu_btn span:nth-of-type(3) {
	bottom: 0; /* または top: 18px; (20px - 2px) */
}

/* --- アクティブ時 (例: .active クラスが付与された場合) --- */

/* 1本目の線: バツ印の上部を形成 */
.active .menu_btn span:nth-of-type(1) {
	/* 移動量を新しい中央線の位置に合わせる */
	transform: translateY(0.4em) rotate(45deg); /* ★translateYの値を調整 */
}

/* 2本目の線: 非表示にする */
.active .menu_btn span:nth-of-type(2) {
	opacity: 0;
}

/* 3本目の線: バツ印の下部を形成 */
.active .menu_btn span:nth-of-type(3) {
	/* 移動量を新しい中央線の位置に合わせる */
	transform: translateY(-0.4em) rotate(-45deg); /* ★translateYの値を調整 */
}

    .headerMenuBox01 {
		width: 78.66vw;
		padding: 5.33vw;
	}
    .headerMenuBox01 h3 {
        font-size: 4.2vw;;
        text-align: center;
    }
    .headerMenuBox01 .contFlex01 a::after {
        right: 2vw;
    }
}


.entrance h2 {
	background-color: black;
	color: #fff;
	padding: 20px 0;
}

.entrance p,
.entrance ul li {
	font-size: 0.94em;
}
.entrance ul li {
	margin-left: 1em;
	text-indent: -1em;
}
@media (max-width: 750px) {
	.entrance p,
	.entrance ul li {
		font-size: 3vw;
	}
}