@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');

html {
	font-size: 62.5%;
	-webkit-font-smoothing: antialiased;
}
body {
	color: #221815;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1;
	background-color: #ffffff;
	-webkit-text-size-adjust: 100%;
	word-wrap: break-word;
	overflow-wrap: break-word;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
* {
	-webkit-tap-highlight-color: transparent;
}
a {
	color: inherit;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
p, dt, dd, li {
	word-break: break-word;
	word-wrap: normal;
}
span {
	line-height: inherit;
	font-weight: inherit;
}
img {
	width: 100%;
	max-width: 100%;
	vertical-align: top;
}
button {
	cursor: pointer;
}
.ib {
	display: inline-block;
	line-height: inherit;
	font-weight: inherit;
}
@media screen and (min-width: 769px) {
	.mover {
		transition: opacity 0.2s ease-out;
		backface-visibility: hidden;
		zoom: 1;
	}
	.mover:hover {
		opacity: 0.8;
	}
	.moverContent > * {
		transition: opacity 0.2s ease-out;
		backface-visibility: hidden;
		zoom: 1;
	}
	.moverContent:hover > * {
		opacity: 0.8;
	}
}
.mode_pc,
.mode_pc_ib {
	display: none;
}
.mode_tb {
	display: none;
}
.mode_sp {
	display: block;
}
.mode_pctb {
	display: none;
}
.mode_pctb_ib {
	display: none;
}
.mode_tbsp {
	display: block;
}
.mode_tbsp_ib {
	display: inline-block;
}
@media screen and (min-width: 641px) {
	.mode_pc,
	.mode_pc_ib {
		display: none;
	}
	.mode_tb {
		display: block;
	}
	.mode_sp {
		display: none;
	}
	.mode_pctb {
		display: block;
	}
	.mode_pctb_ib {
		display: inline-block;
	}
	.mode_tbsp {
		display: block;
	}
	.mode_tbsp_ib {
		display: inline-block;
	}
}
@media screen and (min-width: 769px) {
	.mode_pc {
		display: block;
	}
	.mode_pc_ib {
		display: inline-block;
	}
	.mode_tb {
		display: none;
	}
	.mode_sp {
		display: none;
	}
	.mode_pctb {
		display: block;
	}
	.mode_pctb_ib {
		display: inline-block;
	}
	.mode_tbsp {
		display: none;
	}
	.mode_tbsp_ib {
		display: none;
	}
}

.content {
	position: relative;
}
.contentInner {
	width: calc(712 / 768 * 100%);
	margin: auto;
}
.fadeContent {
	opacity: 0;
	transition: opacity 0.4s ease-out;
}
.fadeContent.current {
	opacity: 1;
}
@media screen and (min-width: 769px) {
	.wrapper {
		min-width: 960px;
	}
	.content {
	}
	.contentInner {
		position: relative;
		width: calc(1061 / 1280 * 100%);
		max-width: 1061px;
	}
	.fadeContent {
		transition: opacity 0.8s ease-out;
	}
}

/*----------------------
 modal
----------------------*/
.modalLink,
.modalLink2,
.arrowButton,
.thunmButton {
	cursor: pointer;
}
#modalArea .modalContentWrap {
	display: none;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1000;
}
#modalArea .bg {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(33, 0, 1, 0.9);
}
#modalArea .modalContentWrap.close .bg {
	display: none;
}
#modalArea .modalContentWrap .modalContent {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
#modalArea .closeBtn {
	position: absolute;
	bottom: calc(100% + 15px);
	right: -4px;
	z-index: 1000;
}
#modalArea .closeBtn .buttonArea {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	cursor: pointer;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 1000;
	width: 27px;
	height: 27px;
	box-sizing: border-box;
}
#modalArea .closeBtn .buttonArea .wrap {
	position: relative;
	width: 100%;
	margin: auto;
}
#modalArea .closeBtn .buttonArea .wrap span {
	position: absolute;
	left: 0;
	right: 0;
	height: 1px;
	background-color: #ffffff;
	margin: auto;
	transition: all 0.2s;
}
#modalArea .closeBtn .buttonArea .wrap span:nth-of-type(1) {
	top: 0;
	bottom: 0;
	left: 0;
	transform: translateY(50%) translateY(-1px) rotate(-45deg);
}
#modalArea .closeBtn .buttonArea .wrap span:nth-of-type(2) {
	top: 0;
	bottom: 0;
	left: 0;
	transform: translateY(-50%) translateY(1px) rotate(45deg);
}
/* modal1,modal2 */
#modalArea #modal1 .modalContent,
#modalArea #modal2 .modalContent {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
#modalArea #modal1 .image,
#modalArea #modal2 .image {
	position: relative;
	width: calc(688 / 768 * 100%);
	max-width: 900px;
}
@media screen and (min-width:769px) {
	#modalArea #modal1 .image img,
	#modalArea #modal2 .image img {
		max-height: 80vh;
	}
	#modalArea .closeBtn .buttonArea {
		width: 48px;
		height: 48px;
	}
}
