@charset "UTF-8";
/*-----------------------------------

	mainvisual_lower_block

-----------------------------------*/
#mainvisual_lower_block {
	background: url(../img/kodawari/img_mv.jpg) no-repeat center / cover;
}
@media screen and (max-width: 640px) {
	#mainvisual_lower_block {
		background: url(../img/kodawari/sp/img_mv.jpg) no-repeat center / cover;
		margin-bottom: 8px;
	}
	#mainvisual_lower_block p {
		text-orientation: upright;
	}
}
/*-----------------------------------

	mainvisual_btm_block

-----------------------------------*/
html[lang="en"] #mainvisual_btm_block .text_box h3 > font:first-of-type,
html[lang="en"] #mainvisual_btm_block .text_box h3 br {
	display: none;
}
/*-----------------------------------

	kodawari_block

-----------------------------------*/
.kodawari_block {
	position: relative;
}
.kodawari_block.bk::after {
	content: '';
	display: block;
	background: #000000;
	width: 100vw;
	height: calc(100% - min(27.3vw, 349px));
	margin: auto;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
}
.kodawari_block .contents_inner {
	max-width: 1164px;
}
.kodawari_block .img_area {
	position: relative;
}
.kodawari_block .img_area_ttl {
	writing-mode: vertical-rl;
	white-space: nowrap;
	font-size: min(2.74vw, 35px);
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0.02em;
	background: #ffffff;
	padding: min(4.15vw, 53px) min(1.72vw, 22px) min(4.3vw, 55px);
	position: absolute;
	z-index: 1;
}
html[lang="en"] .kodawari_block .img_area_ttl {
	font-size: min(2.4375vw, 34px);
	white-space: normal;
	text-orientation: upright;
	max-height: 487px;
}
.kodawari_block .kodawari_wrap {
	align-items: center;
}
.kodawari_block.bk .kodawari_wrap {
	color: #ffffff;
}
.kodawari_block .kodawari_wrap .text_box {
	width: 53.9%;
	padding-left: 45px;
}
.kodawari_block .kodawari_wrap h4 {
	font-size: 48px;
	font-weight: 400;
	line-height: 1.36;
	margin-bottom: 16px;
}
.kodawari_block .kodawari_wrap p {
	font-size: 18px;
	font-weight: 400;
	line-height: 2;
}
@media screen and (max-width: 640px) {
	.kodawari_block .img_area_ttl {
		font-size: 24px;
		padding: 33.5px 14.5px 35.5px;
	}
	html[lang="en"] .kodawari_block .img_area_ttl {
		font-size: 14px;
	}
	.kodawari_block .kodawari_wrap {
		flex-direction: column-reverse;
	}
	.kodawari_block .kodawari_wrap .text_box {
		width: 100%;
		padding-left: 0;
	}
	.kodawari_block .kodawari_wrap h4 {
		font-size: 18px;
		line-height: 1.67;
		margin-bottom: 5px;
	}
	.kodawari_block .kodawari_wrap p {
		font-size: 11.5px;
	}
}
/*-----------------------------------

	kodawari01_block

-----------------------------------*/
#kodawari01_block {
	padding-bottom: 113px;
	margin-top: 142px;
}
#kodawari01_block .img_area {
	margin-bottom: 111px;
}
#kodawari01_block .img_area_ttl {
	left: min(13.3vw, 170px);
	bottom: max(-7.97vw, -102px);
}
#kodawari01_block .kodawari_wrap .img_box {
	width: 29.5%;
	margin-right: 75px;
}
@media screen and (max-width: 640px) {
	#kodawari01_block {
		padding-bottom: 120px;
		margin-top: 6px;
	}
	#kodawari01_block .img_area {
		margin-bottom: 54px;
	}
	#kodawari01_block .img_area_ttl {
		left: 20px;
		bottom: -220px;
	}
	#kodawari01_block .kodawari_wrap .img_box {
		width: 45.5%;
		margin-left: auto;
		margin-right: 30px;
		margin-bottom: 29px;
	}
}
/*-----------------------------------

	kodawari02_block

-----------------------------------*/
#kodawari02_block {
	padding-bottom: 180px;
}
#kodawari02_block .img_area {
	margin-bottom: 192px;
}
#kodawari02_block .img_area_ttl {
	right: min(15.55vw, 199px);
	bottom: max(-0.24vw, -3px);
}
#kodawari02_block .kodawari_wrap {
	position: relative;
}
#kodawari02_block .kodawari_wrap .img_box {
	width: 51.9%;
	height: max-content;
	margin: auto;
	position: absolute;
	top: 0;
	right: -64px;
	bottom: 0;
}
@media screen and (max-width: 640px) {
	#kodawari02_block {
		padding-bottom: 48px;
		margin-top: -83px;
	}
	#kodawari02_block .img_area {
		margin-bottom: 47px;
	}
	#kodawari02_block .img_area_ttl {
		right: 25px;
		bottom: -147px;
	}
	#kodawari02_block .kodawari_wrap .img_box {
		width: 68.2%;
		margin-left: 0;
		margin-bottom: 34px;
		position: static;
	}
}
/*-----------------------------------

	kodawari03_block

-----------------------------------*/
#kodawari03_block {
	padding-bottom: 159px;
}
#kodawari03_block::after {
    height: calc(100% - min(4.61vw, 59px));
	bottom: max(-20.5vw, -262px);
}
#kodawari03_block .img_area {
	margin-bottom: 180px;
}
#kodawari03_block .img_area_ttl {
	left: min(13.2vw, 169px);
	bottom: max(-6.18vw, -79px);
}
#kodawari03_block .kodawari_wrap .img_box {
	width: 27.52%;
	margin-right: 110px;
}
@media screen and (max-width: 640px) {
	#kodawari03_block {
		padding-bottom: 51px;
	}
	#kodawari03_block .img_area {
		margin-bottom: 79.5px;
	}
	#kodawari03_block .img_area_ttl {
		top: auto;
		left: 20px;
		bottom: -193px;
	}
	#kodawari03_block .kodawari_wrap .img_box {
		width: 42.52%;
		margin-left: auto;
		margin-right: 35px;
		margin-bottom: 27px;
	}
}
/*-----------------------------------

	kodawari04_block

-----------------------------------*/
#kodawari04_block .img_area {
	margin-bottom: 153px;
}
#kodawari04_block .img_area_ttl {
	padding-top: 53px;
	padding-bottom: 31px;
	right: min(16.1vw, 205px);
	bottom: max(-0.16vw, -2px);
}
#kodawari04_block .kodawari_wrap {
	align-items: flex-start;
}
#kodawari04_block .kodawari_wrap .text_box {
	padding-top: 71px;
}
#kodawari04_block .kodawari_wrap .img_box {
	width: 29.85%;
	margin-right: 75px;
}
@media screen and (max-width: 640px) {
	#kodawari04_block .img_area {
		margin-bottom: 38px;
	}
	#kodawari04_block .img_area_ttl {
		padding-top: 30px;
		padding-bottom: 29px;
		right: 30px;
		bottom: -158px;
	}
	#kodawari04_block .kodawari_wrap .img_box {
		width: 32.5%;
		margin-left: 57px;
		margin-right: auto;
	}
	#kodawari04_block .kodawari_wrap .text_box {
		padding-top: 39px;
	}
}
/*-----------------------------------

	menu_block

-----------------------------------*/
#shopmap_block {
	margin-top: -139px;
}
#shopmap_block h2 {
	margin-left: 30px;
}
@media screen and (max-width: 1024px) {
	#shopmap_block {
		margin-top: 140px;
	}
	#shopmap_block h2 {
		margin-left: auto;
	}
}
@media screen and (max-width: 640px) {
	#shopmap_block {
		margin-top: 47px;
	}
}