@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
@keyframes shine {
	20% {
		left: 150%;
	}
	100% {
		left: 150%;
	}
}
.fixBox {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}
.lBox {
	background: url(../img/index/bg01.png) no-repeat left top / min(50%,28.11svh),url(../img/index/bg02.png) no-repeat left bottom / min(12.5rem,18.74svh);
}
.rBox {
	background: url(../img/index/bg03.png) no-repeat right top / min(50%,28.11svh),url(../img/index/bg04.png) no-repeat right bottom / min(22.5rem,33.73svh);
}
.rBox .img {
	display: none;
}
.wrap {
	position: relative;
	z-index: 50;
}
#main {
	margin-bottom: 3.5rem;
}
#main .mainVisual {
	margin-bottom: 2.8rem;
	padding: 5.7rem 0 4.2rem;
}
#main .mainVisual h2 {
	margin: 0 auto 1.9rem;
	padding-left: 1.1rem;
	width: 21.9rem;
	box-sizing: content-box;
}
#main .mainVisual .btnList {
	margin: 0 auto 3rem;
	padding-top: 4.3rem;
	max-width: 37.5rem;
	gap: 0 7.6rem;
	background: url(../img/index/mv_bg01.png) no-repeat left calc(50% - 0.3rem) top / 10.7rem;
}
#main .mainVisual .btnList li {
	width: 14rem;
	position: relative;
}
#main .mainVisual .btnList li .subCover {
	padding: 1.2rem 0;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	color: #fff;
	font-size: 1.3rem;
	font-weight: 500;
	line-height: 1.22;
	text-align: center;
	border-radius: 50%;
	background: rgba(0,0,0,.4);
	content: "";
}
#main .mainVisual .btnList li a {
	aspect-ratio: 1 / 1;
	display: block;
	position: relative;
	color: #6B512A;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	border: 1px solid #6B512A;
	border-radius: 50%;
	background: #fff url(../img/common/icon01.png) no-repeat center bottom 1.1rem / 2.2rem;
	overflow: hidden;
	opacity: 1;
}
#main .mainVisual .btnList li a::after {
	animation: 4s 0s shine linear infinite;
	background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.4) 100%);
	content: '';
	height: 100%;
	left: -100%;
	position: absolute;
	top: 0;
	transform: skewX(-25deg);
	width: 50%;
}
#main .mainVisual .btnList li a span {
	margin: 1.4rem auto;
	width: 5.3rem;
	display: block;
	position: relative;
}
#main .mainVisual .btnList li a span img {
	transition: .3s;
}
#main .mainVisual .btnList li a span .img01 {
	position: absolute;
	left: 0;
	top: 0;
}
#main .mainVisual .btnList li a span .img02 {
	opacity: 0 !important;
}
#main .mainVisual .btnList li:first-child a {
	letter-spacing: 0.1rem;
}
#main .mainVisual .btnList li:nth-child(2) a span {
	margin: 1.4rem auto 0.3rem;
	width: 7.1rem;
	transform: translateX(0.3rem);
}
#main .mainVisual .btnList li:last-child {
	margin-top: -2.8rem;
}
#main .mainVisual .btnList li:last-child a span {
	margin: 1.2rem auto 0.2rem;
	width: 6.9rem;
}
#main .mainVisual .btnList li.noLink {
	pointer-events: none;
}
#main .mainVisual .btnList li.noLink a {
	background: #fff;
}
#main .mainVisual .btnList li.noLink a::after {
	display: none;
}
#main .mainVisual .banner {
	margin: 0 auto;
	width: 26.5rem;
}
#main .mainVisual .banner a {
	position: relative;
	display: block;
	opacity: 1 !important;
}
#main .mainVisual .banner a::before {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	border: 1px solid #6B512A;
	border-radius: 0;
	content: "";
}
#main .mainVisual .banner a img {
	border-radius: 0.5rem;
}
.mfp-container {
	padding: 2rem;
	overflow-y: auto;
	position: fixed;
}
.mfp-fade.mfp-bg {
	opacity: 0;
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
	opacity: 0.8;
}
.mfp-fade.mfp-bg.mfp-removing {
	opacity: 0;
}
.mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
}
.popBox {
	margin: 0 auto;
	width: 33.5rem;
	padding: 5rem 3.5rem 2.8rem;
	position: relative;
	background: #fff;
}
.popBox .close01 {
	position: absolute;
	right: 1rem;
	top: 0.6rem;
	font-size: 2rem;
}
.popBox .slideBox {
	margin: 0 -3.5rem 0.7rem;
	position: relative;
}
.popBox .slideBox .slider li {
	margin: 0 1rem !important;
	width: 21.5rem !important;
	vertical-align: top;
}
.popBox .slideBox .arrow li {
	margin-top: 1rem;
	width: 2.9rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	transition: .3s;
	cursor: pointer;
}
.popBox .slideBox .arrow li.prev {
	margin-left: -10.8rem;
}
.popBox .slideBox .arrow li.next {
	margin-left: 10.6rem;
}
.popBox .textDl {
	margin: -1.1rem 0 2.5rem;
}
.popBox .textDl dt {
	margin-bottom: 0.8rem;
	padding: 0 0 0.8rem 2.4rem;
	font-size: 1.6rem;
	font-weight: 700;
	border-bottom: 1px solid #333;
	background: url(../img/common/icon02.png) no-repeat left 0.3rem top 0.8rem / 1.4rem;
}
.popBox .textDl dd:not(:last-child) {
	margin-bottom: 2rem;
}
.popBox .textDl dd .noteUl {
	margin-top: 0.8rem;
}
.popBox .textDl dd .noteUl li {
	padding-left: 1em;
	font-size: 1.2rem;
	text-indent: -1em;
}
.popBox .note {
	margin-bottom: 2.7rem;
	padding-left: 1em;
	font-size: 1.2rem;
	font-weight: 500;
	text-indent: -1em;
}
.popBox .note.center {
	padding-left: 0;
	text-indent: 0;
	text-align: center;
}
.popBox .btn {
	margin: 0 auto 2.5rem;
	width: 26.5rem;
}
.popBox .btn a {
	height: 6.2rem;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	border-radius: 0.5rem;
	background: #6B512A;
	overflow: hidden;
}
.popBox .btn a::after {
	animation: 4s 0s shine linear infinite;
	background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.4) 100%);
	content: '';
	height: 100%;
	left: -100%;
	position: absolute;
	top: 0;
	transform: skewX(-25deg);
	width: 50%;
}
.popBox .close02 {
	font-weight: 600;
	text-align: center;
}
.popBox .close02 span {
	display: inline-block;
	vertical-align: 0.1rem;
	font-size: 0.9rem;
}
@media all and (min-width: 1241px) {
	.rBox .img {
		display: block !important;
	}
}
@media all and (min-width: 897px) {
	.fixBox {
		width: 50%;
	}
	.lBox {
		right: auto;
		background-image: url(../img/index/bg01_pc.png),url(../img/index/bg02_pc.png);
		background-size: min(435px,45.789svh),min(370px,38.947svh);
	}
	.lBox .linkBox {
		position: absolute;
		left: min(50px,5.3svh);
		bottom: min(50px,5.3svh);
	}
	.lBox .headLine01 {
		margin-bottom: min(10px, 1.25svh);
		font-size: min(14px, 1.75svh);
		font-weight: 500;
	}	
	.lBox .comLinkUl {
		margin-bottom: min(40px, 5svh);
		width: min(245px, 30.63svh);
	}	
	.lBox .comLinkUl:last-of-type {
		margin-bottom: 0;
	}	
	.lBox .comLinkUl li:not(:last-child) {
		margin-bottom: min(10px, 1.25svh);
	}	
	.lBox .comLinkUl li a {
		padding: min(3px, 0.38svh) min(5px, 0.63svh);
		min-height: min(50px, 6.25svh);
		font-size: min(15px, 1.88svh);
		border-radius: min(4px, 0.5svh);
	}	
	.lBox .comLinkUl li.sm a {
		font-size: min(14px, 1.75svh);
	}	
	.rBox {
		left: auto;
		background-image: url(../img/index/bg03_pc.png),url(../img/index/bg04_pc.png);
		background-size: min(427px,44.947svh),min(461px,48.526svh);
	}
	.rBox .img {
		width: min(346px, 43.25svh);
		position: absolute;
		right: min(17px, 2.125svh);
		top: min(32px, 4svh);
	}
	.rBox .comSnsList {
		display: block;
		position: absolute;
		right: min(25px, 3.13svh);
		bottom: min(50px, 6.25svh);
	}	
	.rBox .comSnsList li {
		width: min(50px, 6.25svh);
	}	
	.rBox .comSnsList li:not(:last-child) {
		margin-bottom: min(20px, 2.5svh);
	}	
	.rBox .comSnsList li a img {
		width: min(24px, 3svh);
	}	
	.rBox .comSnsList li:nth-child(2) a img {
		width: min(20px, 2.5svh);
	}	
	.rBox .comSnsList li:nth-child(4) a img {
		width: min(28px, 3.5svh);
	}	
	.rBox .comSnsList li:last-child a img {
		width: min(26px, 3.25svh);
	}	
	.wrap {
		margin: 0 auto;
		width: 536px;
	}
	#main .mainVisual .btnList li a:hover span .img01 {
		opacity: 0 !important;
	}
	#main .mainVisual .btnList li a:hover span .img02 {
		opacity: 1 !important;
	}
	#main .mainVisual .btnList li a:hover {
		background-color: #FAF79E;
	}
	#main .mainVisual .btnList li:nth-child(2) a:hover {
		background-color: #C4E7FA;
	}
	#main .mainVisual .btnList li:last-child a:hover {
		background-color: #C8E6C5;
	}
	.popBox .slideBox .arrow li:hover {
		opacity: 0.7;
	}
	.popBox a:hover {
		opacity: 0.7;
	}
}