@charset "utf-8";

/*-------------------------
汎用css
---------------------------*/
.sp {
	display: none;
}
@media screen and (max-width: 640px) {
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	span.sp {
		display: inline;
	}
}
.ib {
	display: inline-block;
}

/* box size */
.box {
	width: 100%;
	margin: 0 auto;
}
.box-horizontal {
	padding-top: 90px;
	padding-bottom: 90px;
}
.box-side {
	padding-right: 20px;
	padding-left: 20px;
}
.size-460 {
	max-width: 460px;
}
.box-side.size-460 {
	max-width: 500px;
}
.size-660 {
	max-width: 660px;
}
.box-side.size-660 {
	max-width: 700px;
}
.size-700 {
	max-width: 700px;
}
.box-side.size-700 {
	max-width: 740px;
}
.size-750 {
	max-width: 750px;
}
.box-side.size-750 {
	max-width: 790px;
}
.size-780 {
	max-width: 780px;
}
.box-side.size-780 {
	max-width: 820px;
}
.size-880 {
	max-width: 880px;
}
.box-side.size-880 {
	max-width: 920px;
}
.size-1000 {
	max-width: 1000px;
}
.box-side.size-1000 {
	max-width: 1040px;
}
.size-1340 {
	max-width: 1340px;
}
.box-side.size-1340 {
	max-width: 1380px;
}
.size-1360 {
	max-width: 1360px;
}
.box-side.size-1360 {
	max-width: 1400px;
}
.size-1040 {
	max-width: 1040px;
}
.box-side.size-1040 {
	max-width: 1080px;
}
@media (max-width: 640px) {
	.box-horizontal {
		padding-top: 50px;
		padding-bottom: 50px;
	}
}

/* background */
.back-wave-blue {
	background-color: var(--color-blue);
}
.back-wave-pink {
	background-color: #ff4074;
}
.back-pattern-white {
	background: url("../img/bg_pattern_white.webp") center center;
	background-size: 18px;
}
.back-pattern-yellow {
	background: var(--color-yellow) url("../img/bg_wave_white.webp") repeat-x center bottom;
	background-size: 40px 10px;
}
.back-pattern-yellow.wave-none {
	background:  var(--color-yellow);
}
.c-wave {
	margin-bottom: 2.37vw;
	position: relative;
}
.c-wave::after {
	content: '';
	display: block;
	width: 100%;
	height: 2.37vw;
	background: url(../img/sec_wave_blue.webp) center / 101% 2.37vw no-repeat;
	position: absolute;
	inset: calc(100% - 1px) auto auto 50%;
	translate: -50% 0;
}
.c-wave--yellow::after {
	background-image: url(../img/sec_wave_yellow.webp);
}
.c-wave--pink::after {
	background-image: url(../img/sec_wave_pink.webp);
}
.c-bgStripe {
	background: url(../img/bg_stripe_yellow.webp) center / 40px 40px;
}

/* flex box */
.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex a,
.flex img {
	display: block;
	width: 100%;
}
.flex-center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.col-2-2-1 > * {
	width: 50%;
}
.col-4-2-2 > * {
	width: 25%;
}
.col-x-60-40-20 {
	margin-left: -60px;
}
.col-x-60-40-20 > * {
	padding-left: 60px;
}
.col-y-60 {
	margin-bottom: -60px;
}
.col-y-60 > * {
	padding-bottom: 60px;
}
@media screen and (max-width: 960px) {
	.col-4-2-2 > * {
		width: 50%;
	}
	.col-x-60-40-20 {
		margin-left: -40px;
	}
	.col-x-60-40-20 > * {
		padding-left: 40px;
	}
}
@media screen and (max-width: 640px) {
	.col-2-2-1 > * {
		width: 100%;
	}
	.col-x-60-40-20 {
		margin-left: -20px;
	}
	.col-x-60-40-20 > * {
		padding-left: 20px;
	}
}

/* d-list */
.d-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	font-size: var(--text-m);
	line-height: 1.4;
	margin-bottom: -10px;
}
.d-list dt {
	color: var(--color-blue);
	font-weight: bold;
	text-align: justify;
	text-align-last: justify;
	margin-bottom: 16px;
}
.d-list dd {
	text-align: left;
	padding-left: 1.5em;
	margin-bottom: 16px;
}
.d-theam5 dt {
	width: 4.5em;
}
.d-theam5 dd {
	width: calc(100% - 4.5em);
}
@media screen and (max-width: 640px) {
	.d-list dd {
		padding-left: 1em;
	}
}

/* text-align */
.text-c,
.text-c-l,
.text-c-j {
	text-align: center;
}
.text-l {
	text-align: left;
}
.text-r {
	text-align: right;
}
.text-j {
	text-align: justify;
}
@media screen and (max-width: 640px) {
	.text-c-l {
		text-align: left;
	}
	.text-c-j {
		text-align: justify;
	}
}

/* font-size */
.font-s {
	font-size: var(--text-s);
}
.font-m {
	font-size: var(--text-m);
}
.font-l {
	font-size: var(--text-l);
	line-height: 1.2;
}
.font-ll {
	font-size: var(--text-ll);
	line-height: 1.2;
}

/* text-weight */
.font-bold {
	font-weight: bold;
}

/* color */
.color-red {
	color: var(--color-red);
}
.color-blue {
	color: var(--color-blue);
}

/* */
.font-line {
	line-height: 1.3;
}

/* letter-spacing */
.font-ls-s {
	letter-spacing: -.05em;
}

/* image */
.img-c {
	display: block;
	width: 100%;
	margin: 0 auto;
}

/* margin */
.mt10 {
	margin-top: 10px!important;
}
.mt20 {
	margin-top: 20px !important;
}
.mt30 {
	margin-top: 30px !important;
}
.mt40,
.mt40-20 {
	margin-top: 40px !important;
}
@media screen and (max-width: 640px) {
	.mt40-20 {
		margin-top: 20px!important;
	}
}
.mt50 {
	margin-top: 50px !important;
}
.mt60 {
	margin-top: 60px !important;
}

.mb0 {
	margin-bottom: 0!important;
}
.mb40-20 {
	margin-bottom: 40px!important;
}
@media screen and (max-width: 640px) {
	.mb40-20 {
		margin-bottom: 20px!important;
	}
}

.ml-auto {
	margin-left: auto;
}

/* map */
.map {
	width: 100%;
	max-width: 1040px;
	height: 476px;
	padding-bottom: 90px;
	margin: 0 auto;
	-webkit-filter: grayscale(100);
	filter: grayscale(100);
	transition: .5s;
}
.map:hover {
	-webkit-filter: grayscale(0);
	filter: grayscale(0);
}
.map iframe {
	display: block;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 1040px) {
	.map {
		height: calc(100vw - 40px);
	}
}

/* animation */
.setAnime {
	transition-duration: .8s;
	transition-timing-function: ease-out;
}
.fade-in {
	opacity: .2;
	-webkit-filter: blur(20px);
	filter: blur(20px);
}
.fade-in.animated {
	opacity: 1;
	-webkit-filter: blur(0);
	filter: blur(0);
}
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
.pc { display: none !important; }
.sp { display: block !important; }
}
@media only screen and (max-width: 750px) {
img { max-width: 100%; }
}

/* width */
.w100 {
	width: 100px;
}