@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-YH */
/* clearfix */
.clearfix::after {
	content: '';
	display: block;
	clear: both;
}
/* flex */
.flex, .flexA, .flexB, .flexC {
	display: flex;
	flex-wrap: wrap;
}
.flexA {
	justify-content: space-around;
}
.flexB {
	justify-content: space-between;
}
.flexC {
	justify-content: center;
}
/* fonts */
.serif {
	font-family: "Noto Serif JP", serif;
}
.roboto {
	font-family: "Roboto", sans-serif;
}
.josefin {
	font-family: "Josefin Sans", sans-serif;
}
.allura {
	font-family: "Allura", cursive;
}
/*------------------------------------------------------------
	fixBar
------------------------------------------------------------*/
.fixBar {
	padding: 0.5rem 0.7rem;
	width: 100%;
	display: flex;
	justify-content: space-between;
	position: sticky;
	left: 0;
	bottom: 0;
	background: #000;
	z-index: 90;
}
.fixBar a {
	width: calc(50% - 0.3rem);
	padding: 1rem;
	display: block;
	text-align: center;
	color: #fff;
	font-weight: 700;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	border-radius: 0.3rem;
	background: linear-gradient(180deg, rgba(19, 62, 150, 0.8) 0%, rgba(133, 194, 217, 0.8) 81.78%, rgba(195, 190, 175, 0.8) 100%);
}
.fixBar .btn02 {
	background: linear-gradient(180deg, rgba(0, 110, 90, 1) 0.8%, rgba(5, 190, 85, 0.8) 10.25%, rgba(17, 213, 77, 0.8) 81.78%, rgba(195, 223, 215, 0.8) 100%);
}
@media all and (min-width: 897px) {
	.fixBar a:hover {
		opacity: 0.7;
	}
}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	margin-bottom: 3.3rem;
}
.headLine01 .sm {
	margin-bottom: 2rem;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2rem;
	text-align: center;
	font-weight: 300;
	font-size: 1.4rem;
	letter-spacing: 0.075em;
}
.headLine01 .sm::before,
.headLine01 .sm::after {
	margin-top: 0.1rem;
	width: auto;
	height: 0.1rem;
	display: block;
	flex: 1;
	background: #000;
	content: '';
}
.headLine01 .lg {
	margin: 0 auto;
	padding-bottom: 0.1rem;
	width: fit-content;
	display: block;
	font-weight: 400;
	font-size: 2.9rem;
	letter-spacing: 0.11em;
	background: linear-gradient(#DCD297, #DCD297) no-repeat left bottom;
	background-size: 100% 1.6rem;
}
/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
	margin-bottom: 2.7rem;
}
.headLine02 .en {
	margin-bottom: 2.4rem;
	display: block;
	position: relative;
	font-weight: 500;
	font-size: 2.4rem;
	letter-spacing: 0.15em;
}
.headLine02 .en::after {
	width: 5rem;
	height: 0.1rem;
	position: absolute;
	left: 0;
	bottom: -1rem;
	background: currentColor;
	content: '';
}
.headLine02 .jp {
	display: block;
	letter-spacing: 0.09em;
	font-weight: 300;
}
.headLine02 .jp .lg {
	display: inline-block;
	font-size: 2.1rem;
	line-height: 1;
	letter-spacing: 0.3em;
}
.headLine02 .jp .lg span {
	font-size: 3.5rem;
}
.headLine02.center {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.headLine02.center .en::after {
	left: 50%;
	transform: translateX(-50%);
}
/*------------------------------------------------------------
	headLine03
------------------------------------------------------------*/
.headLine03 {
	margin-bottom: 2.9rem;
	text-align: center;
	font-weight: 300;
	font-size: 1.7rem;
	letter-spacing: 0.11em;
	line-height: 1.96;
}
.headLine03 .bold {
	font-weight: 700;
	font-size: 1.9rem;
	letter-spacing: 0.22em;
}
.headLine03 .lg {
	font-size: 1.9rem;
	font-weight: 500;
	letter-spacing: 0.14em;
}
/*------------------------------------------------------------
	headLine04
------------------------------------------------------------*/
.headLine04 {
	margin-bottom: 5.3rem;
	text-align: center;
	letter-spacing: 0.15em;
	font-weight: 300;
}
.headLine04 .en {
	margin-bottom: 0.9rem;
	display: block;
	font-size: 1.9rem;
	font-weight: 500;
	letter-spacing: 0.15em;
}
/*------------------------------------------------------------
	headLine05
------------------------------------------------------------*/
.headLine05 {
	margin-bottom: 1.2rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 1.2rem;
}
.headLine05 .en {
	display: block;
	font-size: 1.9rem;
	font-weight: 500;
	letter-spacing: 0.15em;
}
.headLine05 .jp {
	margin-bottom: 0.5rem;
	display: block;
	font-weight: 300;
	letter-spacing: 0.075em;
}
/*------------------------------------------------------------
	comBtn
------------------------------------------------------------*/
.comBtn {
	margin: 0 auto;
	width: 26rem;
}
.comBtn a {
	padding: 1.4rem 2rem 1.2rem;
	display: block;
	text-align: center;
	letter-spacing: 0.2em;
	border-radius: 5rem;
	border: 0.1rem solid #000;
}
.comBtn a[target="_blank"] {
	padding-right: 4rem;
	background: url(../img/common/icon05.png) no-repeat right 1.8rem center / 1.6rem;
}
@media all and (min-width: 897px) {
	.comBtn a:hover {
		opacity: 0.7;
	}
}
/*------------------------------------------------------------
	fade
------------------------------------------------------------*/
.fadeIn {
	opacity: 0;
	transform: translate(0, 2rem);
	transition: all ease-in-out 0.8s;
}
.fadeIn.on {
	opacity: 1;
	transform: translate(0, 0);
}
/*------------------------------------------------------------
	sideBox
------------------------------------------------------------*/
.sideBox {

}
.sideBox .sideImg {
	padding: 1rem;
	width: calc(50% - 18.8rem);
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
}
.sideBox .left {
	left: 0;
}
.sideBox .left img {
	width: 19.4rem;
}
.sideBox .right {
	padding-left: 1.7rem;
	padding-top: 1.9rem;
	right: 0;
}
.sideBox .right img {
	width: 14.872rem;
}
.sideBox img {
	max-height: 100%;
	object-fit: contain;
}