@charset "utf-8";
/*------------------------------------------------------------
	15thanniversary
------------------------------------------------------------*/
#container {
	overflow: clip;
}
#gHeader {
	background-color: #fff;
	position: fixed;
	width: 100%;
	z-index: 100;
}
#pagePath {
	margin-bottom: 0;
	padding: 76px 0 1px;
	background: #000;
}
@media screen and (min-width:768px) and (max-width:1100px) {
	#gHeader h1 {
		margin-left: 20px;
	}
}
@media screen and (max-width: 767px) {
	#gHeader {
		background-color: transparent;
	}
	#pagePath {
		display: none;
	}
}
.wrapBox {
	width: 1200px;
	position: relative;
	margin: 0 auto;
}
#main {
	margin-bottom: 0;
	font-feature-settings: "palt";
}
#main .sec01 {
	padding: 78px 0 98px;
	text-align: center;
	background: url(../img/index/sec01_bg.jpg) no-repeat center top / 2000px;
}
#main .sec01 h2 {
	margin: 0 4px 187px 0;
}
#main .sec01 h2 img {
	width: 450px;
}
#main .sec01 .img {
	margin-right: 4px;
}
#main .sec01 .img img {
	width: 438px;
}
#main .sec02 {
	padding: 79px 0 98px;
	background: url(../img/index/sec02_bg.jpg) no-repeat center top / cover;
}
#main .sec02 h2 {
	margin-bottom: 20px;
	text-align: center;
}
#main .sec02 h2 img {
	width: 1112px;
}
#main .sec02 .imgBox {
	margin: 0 auto;
	width: 980px;
	display: flex;
	justify-content: space-between;
}
#main .sec02 .imgBox .photoBox {
	width: 555px;
	order: 1;
}
#main .sec02 .imgBox .textBox {
	margin: 19px 0 0 94px;
	width: 280px;
}
#main .sec02 .imgBox .textBox p {
	margin-bottom: 58px;
	font-size: 1.3rem;
	line-height: 2.3;
}
#main .sec02 .imgBox .textBox .sml {
	margin-bottom: 0;
	font-size: 1rem;
	line-height: 1.9;
	letter-spacing: 0.1em;
}
#main .sec02 .imgtext {
	margin-top: -26px;
	text-align: center;
}
#main .sec02 .imgtext img {
	width: 501px;
}
#main .sec03 {
	padding: 98px 0 37px;
	background: url(../img/index/sec03_bg.jpg) no-repeat center top / cover;
}
#main .sec03 h2 {
	margin-bottom: 97px;
	text-align: center;
}
#main .sec03 h2 img {
	width: 624px;
}
#main .sec03 .imgBox {
	margin: 0 auto 46px;
	width: 790px;
	display: flex;
	justify-content: space-between;
	gap: 17px;
}
#main .sec03 .imgBox .textBox {
	margin-right: 10px;
	width: 388px;
	order: 1;
	flex-shrink: 0;
	position: relative;
}
#main .sec03 .imgBox .textBox h3 {
	margin-bottom: 12px;
	padding-bottom: 19px;
	border-bottom: 1px solid #000;
	position: relative;
	z-index: 1;
}
#main .sec03 .imgBox .textBox h3 img {
	width: auto;
	height: 63px;
}
#main .sec03 .imgBox .textBox p {
	margin-bottom: 6px;
	font-size: 1.3rem;
	line-height: 2.3;
	position: relative;
	z-index: 1;
}
#main .sec03 .imgBox .textBox p:last-child {
	margin-bottom: 0 !important;
}
#main .sec03 .imgBox .textBox p sup {
	font-size: 60%;
}
#main .sec03 .imgBox .textBox .note {
	font-size: 1.2rem;
}
#main .sec03 .imgBox .photoBox {
	width: 380px;
}
#main .sec03 .banner {
	margin-left: 33px;
	text-align: center;
}
#main .sec03 .banner img {
	width: 904px;
}
#main .sec04 {
	padding: 61px 0 60px;
	text-align: center;
	background: url(../img/index/sec04_bg.jpg) no-repeat center top / 2000px;
}
#main .sec04 h2 {
	margin: 0 0 51px 37px;
}
#main .sec04 h2 img {
	width: 640px;
}
#main .sec04 .img01 {
	margin: 0 9px 309px 0;
}
#main .sec04 .img01 img {
	width: 492px;
}
#main .sec04 .img02 {
	margin: 0 10px 35px 0;
}
#main .sec04 .img02 img {
	width: 436px;
}
#main .sec04 .btn {
	margin: 0 auto;
	width: 290px;
}
#main .sec04 .btn a {
	display: block;
}
#main .sec04 .btn a:hover {
	opacity: 0.7;
}
@media all and (min-width: 768px) {
	#main .sec03 .imgBox .photoBox .photo01 {
		margin: -139px 0 0 -439px;
	}
	#main .sec03 .imgBox01 {
		margin-bottom: 94px;
	}
	#main .sec03 .imgBox01 .textBox {
		margin-right: 0;
		width: 323px;
		order: 0;
	}
	#main .sec03 .imgBox01 .photoBox {
		width: 397px;
	}
	#main .sec03 .imgBox .photoBox .photo02 {
		margin: -190px -310px 0 0;
	}
	#main .sec03 .imgBox .photoBox .photo03 {
		margin: 0 3px 0 1px;
	}
	#main .sec03 .imgBox02 {
		margin-bottom: 78px;
	}
	#main .sec03 .imgBox02 .textBox .img {
		width: 245px;
		right: -46px;
		top: -76px;
		position: absolute;
		user-select: none;
		z-index: 2;
	}
	#main .sec03 .imgBox03 .textBox {
		margin: 19px 0 0;
		width: 325px;
		order: 0;
	}
	#main .sec03 .imgBox03 .photoBox {
		width: 396px;
	}
	#main .sec03 .imgBox03 {
		margin-bottom: 82px;
	}
}
@media all and (max-width: 767px) {
	.wrapBox {
		width: auto;
	}
	#main .sec01 {
		padding: 0;
		position: relative;
		background: none;
	}
	#main .sec01 h2 {
		margin: 0;
	}
	#main .sec01 h2 img {
		width: 100%;
	}
	#main .sec01 .img {
		margin: 0;
		position: absolute;
		left: 0;
		bottom: 5.9%;
		width: 100%;
	}
	#main .sec01 .img img {
		margin: 0 auto;
		width: 89.6vw;
	}
	#main .sec02 {
		padding: 9.867vw 0 4.267vw;
		background-image: url(../img/index/sec02_bg_sp.jpg);
		background-size: 100%;
	}
	#main .sec02 h2 {
		margin-bottom: 10.4vw;
	}
	#main .sec02 h2 img {
		margin: 0 auto;
		width: 90.667vw;
	}
	#main .sec02 .imgBox {
		margin: 0 0 12vw;
		width: auto;
		display: block;
	}
	#main .sec02 .imgBox .photoBox {
		margin: 0 0 -64vw;
		width: auto;
		position: relative;
		z-index: 2;
		user-select: none;
		pointer-events: none;
	}
	#main .sec02 .imgBox .textBox {
		margin: 0 6.667vw;
		width: auto;
		position: relative;
	}
	#main .sec02 .imgBox .textBox::after {
		content: '';
		width: calc(100% + 2.933vw);
		height: 100%;
		position: absolute;
		left: 0.8vw;
		top: 4.267vw;
		background: rgba(227, 143, 140, 0.2);
		filter: blur(3px);
	}
	#main .sec02 .imgBox .textBox .innerBox {
		padding: 14.95vw 20px 36px;
		background: #fff;
		position: relative;
		z-index: 1;
	}
	#main .sec02 .imgBox .textBox p {
		margin-bottom: 0;
		text-align: justify;
		font-size: 4.267vw;
		line-height: 1.875;
		letter-spacing: 0.06em;
	}
	#main .sec02 .imgtext {
		margin: 0 0 0 2.667vw;
	}
	#main .sec02 .imgtext img {
		width: 76vw;
		margin: 0 auto;
	}
	#main .sec03 {
		padding: 0;
		background: none;
	}
	#main .sec03 h2 {
		margin-bottom: 0.267vw;
	}
	#main .sec03 h2 img {
		width: 100%;
	}
	#main .sec03 .imgBox {
		margin: 0;
		width: auto;
		display: block;
		position: relative;
	}
	#main .sec03 .imgBox .textBox {
		margin: 0;
		width: 100%;
		position: absolute;
		left: 0;
		top: 11vw;
		padding: 0 11vw;
		box-sizing: border-box;
		z-index: 1;
	}
	#main .sec03 .imgBox .textBox h3 {
		margin-bottom: 4.8vw;
		padding-bottom: 6.133vw;
	}
	#main .sec03 .imgBox .textBox h3 img {
		width: 100%;
		height: auto;
	}
	#main .sec03 .imgBox .textBox p {
		margin-bottom: 1.867vw;
		text-align: justify;
		font-size: 4.267vw;
		line-height: 1.875;
		letter-spacing: 0.05em;
	}
	#main .sec03 .imgBox .textBox .note {
		font-size: 2vw;
	}
	#main .sec03 .imgBox .photoBox {
		width: auto;
		transform: translateY(0);
	}
	#main .sec03 .imgBox .photoBox img {
		width: 100%;
	}
	#main .sec03 .imgBox01 .textBox {
		top: 13.7vw;
	}
	#main .sec03 .imgBox .textBox p sup {
		font-size: 55%;
		vertical-align: 0.4em;
	}
	#main .sec03 .imgBox02 .textBox {
		top: 12.5vw;
	}
	#main .sec03 .imgBox03 .textBox {
		top: 12.1vw;
	}
	#main .sec03 .banner {
		margin-left: 0;
		background: url(../img/index/bnr_bg_sp.png) no-repeat center center / cover;
	}
	#main .sec03 .banner img {
		width: 100%;
	}
	#main .sec04 {
		padding: 9.5vw 0 14.933vw;
		background: url(../img/index/sec04_bg_sp.png) no-repeat center top / 100%;
	}
	#main .sec04 h2 {
		margin: 0 0 -5.9vw;
		position: relative;
		z-index: 1;
	}
	#main .sec04 h2 img {
		width: 100%;
	}
	#main .sec04 .imgBox {
		margin-bottom: 9.333vw;
		position: relative;
	}
	#main .sec04 .img01 {
		margin: 0;
	}
	#main .sec04 .img01 img {
		width: 100%;
	}
	#main .sec04 .img02 {
		margin: 0;
		width: 100%;
		position: absolute;
		left: 0;
		bottom: 6.3%;
	}
	#main .sec04 .img02 img {
		margin: 0 auto;
		width: 89.6vw;
	}
	#main .sec04 .btn {
		width: 90.667vw;
	}
	#foot_bnr {
		width: 100%;
		text-align: center;
		box-sizing: border-box;
	}
}