/* CSS Document */
/* -----------------------------------------
 *
 * Table of Contents:
 *
 * 0.0 - tags
 * 1.0 - Repeatable Patterns
 * 2.0 - Basic Layout
 * 3.0 - Page setting
 ----------------------------------------- */
/* -----------------------------------------

	0.0 - tags

-----------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..900;1,6..96,400..900&family=M+PLUS+1:wght@100..900&display=swap');


html {
	touch-action: manipulation;
}
body {
	-ms-content-zooming: none;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	color: #000;
	line-height: 1.6;
	font-family: 'Noto Sans JP', sans-serif;
	font-feature-settings: "palt";
}
#gHeaderBlank {
	background: #fff;
}
.en {
	font-family: 'IBM Plex Sans', sans-serif;
}
a {
	text-decoration: none;
	color: #000;
}
img {
	vertical-align: bottom;
}
a:hover img {
	opacity: 0.8;
}
a img {
	transition: opacity 0.3s ease-out;
}
hr.dash {
	border-top: 1px dashed #aaa;
}
.sp {
	display: none;
}
.pc {
	display: block;
}
@media (max-width: 750px) {
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
}
.mb-10 {
	margin-bottom: 10px;
}
.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;
}
@media (max-width: 640px) {
	.mb-10 {
		margin-bottom: 1.333333333vw;
	}
	.mb-20 {
		margin-bottom: 2.666666667vw;
	}
	.mb-30 {
		margin-bottom: 4vw;
	}
	.mb-40 {
		margin-bottom: 5.333333333vw;
	}
	.mb-50 {
		margin-bottom: 6.666666667vw;
	}
	.mb-60 {
		margin-bottom: 8vw;
	}
	.mb-70 {
		margin-bottom: 9.333333333vw;
	}
	.mb-80 {
		margin-bottom: 10.66666667vw;
	}
	.mb-90 {
		margin-bottom: 12vw;
	}
	.mb-100 {
		margin-bottom: 13.33333333vw;
	}
	.mb-110 {
		margin-bottom: 14.66666667vw;
	}
	.mb-120 {
		margin-bottom: 16vw;
	}
	.mb-130 {
		margin-bottom: 17.33333333vw;
	}
	.mb-140 {
		margin-bottom: 18.66666667vw;
	}
	.mb-150 {
		margin-bottom: 20vw;
	}
	.mb-160 {
		margin-bottom: 21.33333333vw;
	}
	.mb-170 {
		margin-bottom: 22.66666667vw;
	}
	.mb-180 {
		margin-bottom: 24vw;
	}
	.mb-190 {
		margin-bottom: 25.33333333vw;
	}
	.mb-200 {
		margin-bottom: 26.66666667vw;
	}
}
/* -----------------------------------------

	2.0 - Basic Layout

-----------------------------------------*/
#contents {
	margin: 0 auto;
	line-height: 1.6;
	font-size: 26px;
	max-width: 750px;
	font-family: 'Noto Sans JP', sans-serif;
	font-style: normal;
}
#contents * {
	box-sizing: border-box;
}
#contents img {
	width: 100%;
}
#contents .w-750 {
	max-width: 750px;
	margin: auto;
}
#contents img {
	width: 100%;
	height: auto;
}
#contents .w-750 {
	max-width: 750px;
	margin: auto;
}
li {
	list-style-type: none;
}
.fw-b {
	font-weight: 600;
}
.ta-c {
	text-align: center;
}
.mincho {
	font-family: 'Noto Serif JP', serif;
}
.attention-footer {
	font-size: 90%;
	margin: 0 0 6em;
}
.btn-top {
	text-align: center;
	font-weight: 500;
	margin-bottom: 3em;
}
.bodoni-moda {
	font-family: "Bodoni Moda", serif;
	font-optical-sizing: auto;
	font-style: normal;
}

.m-plus-1 {
	font-family: "M PLUS 1", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}
/* -----------------------------------------
page Layout
-----------------------------------------*/
#contents {
	padding-bottom: 86px;
	background: #B2500F;
	background: linear-gradient(90deg, rgba(178, 80, 15, 1) 0%, rgba(200, 141, 21, 1) 100%);
	color: #fff;
}
#contents .blackout {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	opacity: 0;
	pointer-events: none;
	z-index: 9999;
	transition: opacity .75s ease;
}
#contents .fade-out {
	opacity: 1;
	pointer-events: auto;
}
#contents > .inner01 {
	padding: 0;
}
#sns-footer {
	margin-top: 0;
}


.js_fadeIn01 {
	opacity: 0;
}
.js_fadeIn01.is_show {
	animation: fadeup 2s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

@keyframes fadeup {
	0% {
		opacity: 0;
	}
	80% {
		opacity: 1;
	}
	100% {
		opacity: 1;
	}
}



.introArea {
	position: relative;
	padding: 28px 42px 0;
}
.introArea::before {
	position: absolute;
	content: "";
	top: -24.5px;
	left: 50%;
	translate: -50% 0;
	width: 74%;
	height: 1px;
	background-color: #311305;
}

.introArea .tx01 {
	color: #311305;
	font-family: "M PLUS 1", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 36.4px;
	line-height: 1.38;
	text-align: center;
}
.introArea .tx01 > .font01 {
	font-size: 23.8px;
}

.introArea .tx02 {
	margin-top: 49px;
	color: #311305;
	font-family: "M PLUS 1", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 30.8px;
	line-height: 1.52;
	letter-spacing: -0.02em;
	text-align: center;
}

.introArea .tx03 {
	margin-top: 28px;
	color: #311305;
	font-family: "M PLUS 1", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 25.2px;
	line-height: 1.36;
	text-align: center;
}


.tabWrap ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 90px;
	column-gap: 5%;
}
.tabWrap ul li {
	position: relative;
	width: 26.66%;
	aspect-ratio: 577 / 238;
	cursor: pointer;
}
.tabWrap ul li span {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: block;
}
.tabWrap ul li.tab01 {
	background: url("../img/20250804/tab_btn01.png") no-repeat center center / 100%;
}
.tabWrap ul li.tab02 {
	background: url("../img/20250804/tab_btn02.png") no-repeat center center / 100%;
}
.tabWrap ul li.tab03 {
	background: url("../img/20250804/tab_btn03.png") no-repeat center center / 100%;
}

.tabWrap ul li.tab01.current, .tabWrap ul li.tab01:hover {
	background-image: url("../img/20250804/tab_btn01on.png");
}
.tabWrap ul li.tab02.current, .tabWrap ul li.tab02:hover {
	background-image: url("../img/20250804/tab_btn02on.png");
}
.tabWrap ul li.tab03.current, .tabWrap ul li.tab03:hover {
	background-image: url("../img/20250804/tab_btn03on.png");
}

@media (any-hover: hover) {
	.tabWrap ul li:hover {
	}
}

.tabContents {
	display: none;
	margin: 98px 52.5px 0;
}
.tabContents.current {
	display: block;
}

.tabContents > .title01 {
	margin: 0 auto;
	max-width: 532px;
}

.section01 {
	margin-top: 91px;
}
.section01 + .section01 {
	margin-top: 133px;
}

.ttlImg01 {
	position: relative;
	z-index: 2;
	margin-left: auto;
	margin-bottom: -1px;
	height: 41.3px !important;
	text-align: right;
	font-size: 0;
}
.ttlImg01.type02 {
	margin-bottom: -11px;
	height: 53.2px !important;
}
.ttlImg01.type03 {
	height: 91.7px !important;
}
.ttlImg01.type04 {
	height: 94.5px !important;
}
.ttlImg01.type05 {
	height: 37.1px !important;
}
.ttlImg01 img {
	width: auto !important;
	height: 100% !important;
}

.tabContents .text01 {
	margin-top: 20px;
	font-family: "M PLUS 1", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 26.6px;
	text-align: justify;
	line-height: 1.42;
}
.tabContents .text01:first-child {
	margin-top: 0;
}

.tabContents .text01 > .font01 {
	font-size: 22.4px;
}
.tabContents .text01 > .font02 {
	font-size: 23.8px;
	letter-spacing: -0.075em;
}
.tabContents .text01 > .font03 {
	font-size: 21px;
	letter-spacing: -0.045em;
}
.tabContents .text01 > .line01 {
	text-decoration: underline;
}

.tabContents .text02 {
	margin-top: 35px;
	text-align: justify;
	font-family: "M PLUS 1", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 23.8px;
	line-height: 1.41;
	letter-spacing: -0.1em;
}

.tabContents .text03 {
	margin-top: 63px;
	text-align: justify;
	font-family: "M PLUS 1", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-size: 38.5px;
	line-height: 1.41;
	letter-spacing: -0.1em;
}
.tabContents .text03:first-child {
	margin-top: 0;
}

.swiper-pagination-images a:hover,
.swiper-pagination-images a:hover img {
	opacity: 1.0;
}

.swiper-button-wrap {
	display: flex;
	justify-content: space-between;
}
.swiper-button-prev-sub,
.swiper-button-next-sub,
.swiper-button-prev-main,
.swiper-button-next-main,
.swiper-button-prev,
.swiper-button-next {
	display: block;
	position: relative;
	top: auto;
	bottom: auto;
	left: auto;
	right: auto;
	margin: 0;
	width: 93px;
	height: 78px;
	cursor: pointer;
}
.swiper-button-prev-sub,
.swiper-button-prev-main,
.swiper-button-prev {
	background: url("../img/20250804/icon_arrow01.svg") no-repeat 0 50% / 43px;
}
.swiper-button-next-sub,
.swiper-button-next-main,
.swiper-button-next {
	background: url("../img/20250804/icon_arrow02.svg") no-repeat 100% 50% / 43px;
}
.swiper-button-prev-sub.swiper-button-disabled,
.swiper-button-prev-main.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
	visibility: hidden;
}
.swiper-button-next-sub.swiper-button-disabled,
.swiper-button-next-main.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
	visibility: hidden;
}
.swiper-button-next:after, .swiper-button-prev:after {
	content: normal;
}

.swiper-main {
	margin-top: 20.5px;
}

.swiper-sub {
	margin-bottom: 42px;
}

.swiper-slide > .icon01 {
	position: absolute;
	left: 0;
	bottom: 0;
	padding: 10.5px;
	background-color: #4D4D4D;
	font-family: "M PLUS 1", sans-serif;
	font-optical-sizing: auto;
	font-size: 24.27px;
	font-weight: 500;
	line-height: 1.0;
}

.contactArea01 {
	margin-top: 86.8px;
	padding-top: 86.8px;
	border-top: 1px solid #fff;
	font-family: "M PLUS 1", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}

.contactArea01 > .text01 {
	font-size: 49px;
	text-align: center;
}

.list01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 42px;
	column-gap: 56px;
}

.list01 > li > a {
	display: block;
	padding: 21px;
	min-width: 142px;
	background-color: #fff;
	border-radius: 10px;
	color: #000;
	font-size: 46.2px;
	text-align: center;
	text-decoration: none;
	line-height: 1.0;
}

.btn01 {
	margin-top: 77px;
}
.btn01:first-child {
	margin-top: 0;
}
.btn01 > a {
	display: block;
	padding: 40px 0;
	background-color: #fff;
	color: #000;
	font-size: 41.3px;
	font-weight: 400;
	line-height: 1.4;
	text-decoration: none;
	text-align: center;
	border-radius: 20px;
}

.btn02 {
	margin-top: 30px;
}
.btn02:first-child {
	margin-top: 0;
}
.btn02 > a {
	display: inline-block;
	padding: 14px 17.5px;
	background-color: #fff;
	color: #000;
	font-size: 25.06px;
	font-weight: 500;
	line-height: 1.0;
	text-decoration: none;
	text-align: center;
	border-radius: 10px;
}


.telLink01 {
	margin-top: 63px;
	text-align: center;
}

.telLink01 > a {
	pointer-events: none;
	color: #fff;
	font-size: 39.2px;
	font-weight: 400;
	text-decoration: underline;
	text-underline-offset: 10px;
	text-align: center;
}

.snsList01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 56px;
}
.frameArea02 .snsList01 {
	margin-top: 35px;
}

.snsList01 > li {
	margin: 0 31.5px;
	width: 80px;
}

@media screen and (max-width: 750px) {
	#contents {
		padding-bottom: 11.47vw;
	}

	.introArea {
		position: relative;
		padding: 4.16vw 4.5vw 0;
	}
	.introArea::before {
		top: -3.7vw;
	}

	.introArea .tx01 {
		font-size: 4.86vw;
	}
	.introArea .tx01 > .font01 {
		font-size: 3.17vw;
	}

	.introArea .tx02 {
		margin-top: 6.48vw;
		font-size: 4.12vw;
	}

	.introArea .tx03 {
		margin-top: 3.24vw;
		font-size: 3.33vw;
	}

	.tabWrap ul {
		margin-top: 12.9vw;
		column-gap: 5%;
	}
	.tabContents {
		margin: 12.5vw 5vw 0;
	}

	.tabContents > .title01 {
		width: 70.46vw;
	}

	.section01 {
		margin-top: 13.8vw;
	}
	.section01 + .section01 {
		margin-top: 12vw;
	}

	.ttlImg01 {
		height: 5.7vw !important;
		margin-bottom: -0.1vw;
	}
	.ttlImg01.type02 {
		margin-bottom: -1.4vw;
		height: 7vw !important;
	}
	.ttlImg01.type03 {
		height: 12.1vw !important;
	}
	.ttlImg01.type04 {
		height: 12.5vw !important;
	}
	.ttlImg01.type05 {
		height: 5vw !important;
	}
	.tabContents .text01 {
		margin-top: 5.5vw;
		font-size: 3.51vw;
	}
	.tabContents .text01 > .font01 {
		font-size: 2.96vw;
	}
	.tabContents .text01 > .font02 {
		font-size: 3.1vw;
	}
	.tabContents .text01 > .font03 {
		font-size: 2.7vw;
	}

	.tabContents .text02 {
		margin-top: 4.6vw;
		font-size: 3.1vw;
	}
	.tabContents .text03 {
		margin-top: 8.3vw;
		font-size: 5vw;
	}

	.swiper-button-wrap {
		margin-top: 2.3vw;
	}
	.swiper-button-prev-sub,
	.swiper-button-next-sub,
	.swiper-button-prev-main,
	.swiper-button-next-main,
	.swiper-button-prev,
	.swiper-button-next {
		width: 8.4vw;
		height: auto;
		aspect-ratio: 60 / 31;
	}
	.swiper-button-prev-sub,
	.swiper-button-prev-main,
	.swiper-button-prev {
		background: url("../img/20250804/icon_arrow01.svg") no-repeat 0 50% / cover;
	}
	.swiper-button-next-sub,
	.swiper-button-next-main,
	.swiper-button-next {
		background: url("../img/20250804/icon_arrow02.svg") no-repeat 100% 50% / cover;
	}

	.swiper-main {
		margin-top: 5.5vw;
	}
	.swiper-sub {
		margin-bottom: 5.5vw;
	}

	.swiper-slide > .icon01 {
		padding: 1.3vw;
		font-size: 3.21vw;
	}

	.contactArea01 {
		margin-top: 11.57vw;
		padding-top: 11.57vw;
	}

	.contactArea01 > .text01 {
		font-size: 6.48vw;
	}

	.list01 {
		margin-top: 5.5vw;
		column-gap: 7.4vw;
	}

	.list01 > li > a {
		padding: 2.7vw;
		min-width: 18.3vw;
		font-size: 6.1vw;
		border-radius: 5px;
	}

	.btn01 {
		margin: 10.1vw 5.5vw 0;
	}
	.btn01 > a {
		padding: 5vw 0;
		font-size: 5.4vw;
		border-radius: 10px;
	}
	.btn02 {
		margin-top: 3.7vw;
	}
	.btn02 > a {
		padding: 1.8vw 2.7vw;
		border-radius: 5px;
		font-size: 3.333vw;
	}

	.telLink01 {
		margin-top: 8.3vw;
	}

	.telLink01 > a {
		pointer-events: all;
		font-size: 5.1vw;
	}

	.snsList01 {
		margin-top: 8.0vw;
	}
	.frameArea02 .snsList01 {
		margin-top: 4.6vw;
	}
	.snsList01 > li {
		margin: 0 4.1vw;
		width: 10.64vw;
	}


}
