@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Henny+Penny&family=M+PLUS+1p:wght@400;500;700&display=swap');
html, body {
	font-family: 'M+PLUS+1p',sans-serif;
	font-size:  16px;
	color: #1a2c40;
	font-weight: 400;
	line-height: 1.75em;
	margin: 0;
	box-sizing: border-box;
}
*, *::before, *::after {
	box-sizing: border-box;
}
.container {
	text-align: center;
}
.contents {
	width: 1080px;
	display: inline-block;
}
@media screen and (max-width: 1080px) {
	html, body {	
		font-size: 1.8vw ; /*18px*/
	}
	.contents {
		width: 100%;
	}
} 
@media screen and (max-width: 600px) {
	html, body {	
		font-size: 4vw; /*15px*/
	}
	.contents {
		width: 100%;
	}
}

/*---------- 基本セット ----------*/
.mt10 { margin-top: 10px; }
.mt20 { margin-top: 20px; }
.mt30 { margin-top: 30px; }
.mt40 { margin-top: 40px; }
.mt50 { margin-top: 50px; }
.mt80 { margin-top: 80px; }
.mb10 { margin-bottom: 10px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb50 { margin-bottom: 50px; }
.mb80 { margin-bottom: 80px; }

@media screen and (max-width: 1080px){
	.mt10 { margin-top: 0.9259259259259258vw; }
	.mt20 { margin-top: 1.8518518518518516vw; }
	.mt30 { margin-top: 2.7777777777777777vw; }
	.mt40 { margin-top: 3.7037037037037033vw; }
	.mt50 { margin-top: 4.62962962962963vw; }
	.mt80 { margin-top: 7.4074074074074066vw; }
	.mb10 { margin-bottom: 0.9259259259259258vw; }
	.mb20 { margin-bottom: 1.8518518518518516vw; }
	.mb30 { margin-bottom: 2.7777777777777777vw; }
	.mb40 { margin-bottom: 3.7037037037037033vw; }
	.mb50 { margin-bottom: 4.62962962962963vw; }
	.mb80 { margin-bottom: 7.4074074074074066vw; }
}
@media screen and (max-width: 600px) {
	.mt10 { margin-top: 3.125vw; }
	.mt20 { margin-top: 6.250vw; }
	.mt30 { margin-top: 9.375vw; }
	.mt40 { margin-top: 12.500vw; }
	.mt50 { margin-top: 15.625vw; }
	.mb10 { margin-bottom: 3.125vw; }
	.mb20 { margin-bottom: 6.250vw; }
	.mb30 { margin-bottom: 9.375vw; }
	.mb40 { margin-bottom: 12.500vw; }
	.mb50 { margin-bottom: 15.625vw; }
	.spmt20 { margin-top: 6.250vw!important;}
	.spmt30 { margin-top: 9.375vw!important;}
	.spmt40 { margin-top: 12.500vw!important;}
	.spmb20 { margin-bottom: 6.250vw!important;}
}
.tal { text-align: left!important; }
.tac { text-align: center!important; }
.tar { text-align: right!important; }

.cyan {
	color: #5FA7C1;
}
.magenta {
	color: #D83D8A;
}
.green {
	color: #63AD59;
}
.yellow {
	color:#fdbb07;
}



a:link,
a:visited,
a:hover,
a:active {
	color: #1a2c40;
	text-decoration: none;
}



h2 {
	font-size: 32px;
	line-height: 1.75;
}
h3 {
	font-size: 24px;
	line-height: 1.75;
}
h4 { font-size: 20px;
	line-height: 1.75;
}
@media screen and (max-width: 1080px) {
	h2 {
		font-size: 2.976190476190476vw; /*30px*/
	}
	h3 {
		font-size: 2.4801587301587302vw; /*25px*/
	}
	h4 { font-size: 2.2817460317460316vw;/*23px*/
	}
}
@media screen and (max-width: 600px) {
	h2 {
		font-size: 6.5vw;
	}
	h3 {
		font-size: 5vw;
	}
	h4 { font-size: 4.5vw;
	}
}

/* ----- 改行 ----- */

br.pc {display:block;}
br.tab {display:none;}
br.sp {display:none;}

@media screen and (max-width: 1080px) {
	html {
		font-size: 56.25%;
	}
	br.pc {display:none;}
	br.tab {display:block;}
	br.sp {display:none;}
}

@media screen and (max-width: 600px) {
	br.pc {display:none;}
	br.tab {display:none;}
	br.sp {display:block;}
}


/* ----- 電話リンク ----- */
a.tel-link  {
	text-decoration: none;
	border-bottom: none;
	color: #1a2c40;
	font-weight: 400;
}


@media (min-width: 600px) {
a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	color:#1a2c40;
	font-weight:normal;
	border-bottom: none;
}
}
@media screen and (max-width: 600px) {
a.tel-link  {
	text-decoration: none;
	border-bottom: dotted 3px #D83D8A;
	color: #D83D8A;
	font-weight: 700;
}
}


.fade-in {
	opacity: 0;
	transition-duration: 1000ms;
	transition-property: opacity, transform;
}
.fade-in-up {
	transform: translate(0, 50px);
}
.fade-in-down {
	transform: translate(0, -50px);
}
.fade-in-left {
	transform: translate(-50px, 0);
}
.fade-in-right {
	transform: translate(50px, 0);
}
.scroll-in {
	opacity: 1;
	transform: translate(0, 0);
}


ul, li {
	list-style-type: none!important;
}
