@charset "utf-8";
/*! destyle.css v3.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*,::before,::after{box-sizing:border-box;border-style:solid;border-width:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0}main{display:block}p,table,blockquote,address,pre,iframe,form,figure,dl{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}ul,ol{margin:0;padding:0;list-style:none}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}svg,img,embed,object,iframe{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}[type="checkbox"]{-webkit-appearance:checkbox;appearance:checkbox}[type="radio"]{-webkit-appearance:radio;appearance:radio}button,[type="button"],[type="reset"],[type="submit"]{cursor:pointer}button:disabled,[type="button"]:disabled,[type="reset"]:disabled,[type="submit"]:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}option{padding:0}fieldset{margin:0;padding:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}table{border-color:inherit}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:700}
/* ======================================
	base
====================================== */
html {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 62.5%;
	font-weight: 500;
	color: #000;
	background-color: #e5e5e5;

	max-width: 1536px;
	width: 100%;
	margin: 0 auto;
}
@media all and (-ms-high-contrast:none) {
	html {
		font-family: "メイリオ", Meiryo, Verdana, sans-serif;
	}
}
body {
	font-size: 1.5rem;
	line-height: 1.6;
}
*{
	box-sizing: border-box;
}
img {
	max-width: 100%;
	height: auto;
}
main {
	overflow: hidden;
}
section {
	padding: 3em 0;
	background: #fff;
}
@media screen and (min-width: 600px){
	
}
@media screen and (min-width: 1024px) {
	body {
		font-size: 1.6rem;
	}
	a {
		-webkit-transition: all .3s;
		transition: all .3s;
	}
	a:hover {
		opacity: .7;
	}
	section {
		padding: 3.5em 0 4em;
	}
}
/* ======================================
	common
====================================== */
.sp, .tb, .pc {
	display: none;
}
@media screen and (max-width: 599px){
	.sp{
		display: inherit;
	}
}
@media screen and (min-width: 600px) {
	.tb {
		display: inherit;
	}
}
@media screen and (min-width: 1024px) {
	.tb {
		display: none;
	}
	.pc {
		display: inherit;
	}
}
.fontEn{
	font-family: 'Montserrat', sans-serif;
}
.inner {
	max-width: 1000px;
	width: 100%;
	padding: 0 24px;
	margin: 0 auto;
}

.secTtl{
	position: relative;
	text-align: center;
	color: #142F71;
	font-size: 2.4rem;
	padding-bottom: 15px;
}
.secTtl::after{
	position: absolute;
	content: "";
	width: 58px;
	height: 3px;
	background: #142F71;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.secTtl-lead{
	font-size: 500px;
	line-height: 1.8;
	font-size: 1.4rem;
	margin-top: 15px;
	text-align: center;
}

@media screen and (min-width: 600px) {
	.inner{
		width: 96%;
		padding: 0;
	}
	.secTtl{
		font-size: 2.6rem;
	}
	.secTtl-lead{
		font-size: 1.6rem;
		line-height: 1.6;
	}
}
@media screen and (min-width: 1024px) {
	.secTtl{
		font-size: 3.2rem;
	}
	.secTtl-lead{
		font-size: 1.8rem;
	}
}

/* ======================================
	cta
====================================== */
.btn{
	position: relative;
	display: block;
	background: #FF5A00;
	color: #fff;
	font-weight: bold;
	font-size: 1.6rem;
	border-radius: 50px;
	max-width: 432px;
	width: 100%;
	border: 2px solid #fff;
	box-shadow: 0 0 4px rgba(0,0,0,.25);
	height: 60px;
	padding: 14px 0;
}
.btn::after{
	position: absolute;
	content: '';
	width: 9px;
	height: 9px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	right: 22px;
	top: 42%;
	transform: rotate(45deg);
}
.btn .--small{
	font-size: .7em;
}
.btn-dl{
	border: 2px solid #FF5A00;
	color: #FF5A00;
	background: #fff;
}
.btn-dl::after{
	border-top: 2px solid #FF5A00;
	border-right: 2px solid #FF5A00;
}
@media screen and (min-width: 600px) {
	.btn{
		font-size: 1.8rem;
		height: 64px;
		padding: 15px 0;
	}
}
@media screen and (min-width: 1024px) {
	.btn{
		padding: 11px 0;
		font-size: 2.2rem;
	}
	.btn::after{
		top: 40%;
	}
}

/* ======================================
	cta-float
====================================== */
.cta-float{
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	opacity: 0;
	visibility: hidden;
	transition: all .3s;
}
.cta-float.active{
	opacity: 1;
	visibility: visible;
}
.cta-float-inner{
	background: rgb(20 47 113 / .9);
	padding: 12px;
	max-width: 1536px;
	width: 100%;
	margin: 0 auto;
	position: relative;
}
.cta-float .cta-item:first-child{
	margin-bottom: 12px;
}
@media screen and (max-width: 599px) {
	.cta-float-inner{
		padding: 0;
		background: #fff;
	}
	.cta-float .cta-list{
		display: flex;
	}
	.cta-float .cta-item{
		width: 50%;
	}
	.cta-float .cta-item:first-child{
		margin: 0;
	}
	.cta-float .btn{
		border-radius: 0;
		border: none;
		line-height: 1.2;
		padding: 12px 0;
		height: 63px;
	}
	.cta-float .btn span{
		padding-right: 16px;
	}
	.cta-float .btn::after{
		right: 15px;
	}
}
@media screen and (min-width: 600px){
	.cta-float .cta-list{
		margin: 0 auto;
		max-width: 350px;
	}
	.cta-float .cta-item .btn{
		font-size: 1.6rem;
		padding: 10px 0;
	}
	.cta-float .cta-item .btn::after{
		right: 16px;
		top: 41%;
		width: 10px;
		height: 10px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
	}
	.cta-float .cta-item .btn-dl::after{
		border-top: 2px solid #FF5A00;
    border-right: 2px solid #FF5A00;
	}
}
@media screen and (min-width: 1024px) {
	.cta-float .cta-list{
		max-width: 100%;
	}
	.cta-float .cta-item{
		width: 350px;
	}
	.cta-float .cta-item:first-child{
		margin: 0 15px 0 0;
	}
	.cta-float .cta-item .btn{
		font-size: 1.8rem;
		padding: 8px 0;
	}
}

/* ======================================
	header
====================================== */
.header {
	padding: 8px 0;
	width: 100%;
	background: #fff;
	height: 56px;
	border-bottom: 1px solid rgba(0,0,0,.25);
}
.header .inner{
	max-width: 1100px;
	height: 100%;
}
.header-inner{
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	align-items: center;
	height: 100%;
}
.header-left{
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	width: 100%;
}
.header-left-link{
	width: 160px;
	margin-right: 10px;
}
.header-left-txt{
	font-size: 1.3rem;
  line-height: 1.2;
}
.header-right{
	display: none;
}

@media screen and (max-width: 599px){
	.header .inner{
		padding: 0 12px;
	}
}
@media screen and (min-width: 600px) {
	.header-inner{
		padding: 0 10px;
	}
	.header-left{
		width: auto;
	}
	.header-left-link{
		width: 180px;
		margin-right: 20px;
	}
}
@media screen and (min-width: 1024px) {
	.header{
		height: 70px;
	}

	.header-right{
		display: -webkit-box;
		display: flex;
		-webkit-box-align: center;
		align-items: center;
	}
	.header-right .tel{
		color: #142F71;
		line-height: 1.15;
		background: url(../img/icn_tel_blue.png) no-repeat left center / 36px;
	}
	.header-right .tel .num{
		font-family: "Roboto", sans-serif;
		font-size: 2.4rem;
		padding-left: 43px;
	}
	.header-right .tel .txt{
		display: block;
		font-weight: 400;
		font-size: 1.2rem;
		padding-left: 43px;
	}
	.header-right .btn{
		font-size: 1.4rem;
		width: 260px;
		height: 48px;
		margin-left: .5em;
		padding: 9px 0 9px 25px;
	}
}
@media screen and (min-width: 1024px) and (max-width: 1199px){
	.header-right .btn::after{
		right: 15px;
    top: 38%;
	}
}
@media screen and (min-width: 1200px){
	.header-left-link{
		width: 256px;
	}
	.header-left-txt{
		font-size: 1.4rem;
	}
	.header-right .btn{
		font-size: 1.6rem;
		width: 305px;
	}
}

/*----------------------------------------
  footer
----------------------------------------*/
.footer {
	position: relative;
	background-color: #fff;
	padding: 30px 0 0;
}
.footer-left {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	margin-bottom: 30px;
}
.footer-left-link {
	width: 55px;
}
.footer-privacy {
	padding-left: 15px;
}
.footer-privacy-text {
	font-size: 1.1rem;
	font-weight: 700;
}
a.footer-privacy-link {
	display: inline-block;
	color: #202020;
	font-size: 1.1rem;
	text-decoration: underline;
}
.footer-privacy-link .sp {
	display: none;
}
.footer-int-link {
	display: block;
	width: 190px;
	margin: 0 auto;
}
.footer-copyright {
	color: #202020;
	text-align: center;
	font-size: 1rem;
	padding: 15px 0;
}
@media screen and (min-width: 600px) {
	.footer{
		padding: 30px 0 15px;
	}
	.footer-left{
		margin-bottom: 0;
	}
	.footer-row {
		display: -webkit-box;
		display: flex;
		-webkit-box-pack: justify;
		justify-content: space-between;
	}
	.footer-col {
		width: 50%;
	}
	.footer-int-link{
		margin: 0 0 0 auto;
	}
}

/* ======================================
	pageTop
====================================== */
#toTopBtn {
	position: absolute;
	width: 42px;
	height: 42px;
	right: 0;
	bottom: 58px;
	background-color: #142F71;
	-webkit-transition: all .3s;
	transition: all .3s;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	z-index: 999;
}
#toTopBtn.active {
	opacity: 1;
	visibility: visible;
}
#toTopBtn::after{
	position: absolute;
	content: '';
	width: 18px;
	height: 18px;
	border-left: 2px solid #fff;
	border-top: 2px solid #fff;
	top: 60%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
}
@media screen and (min-width: 600px) {
	#toTopBtn{
		width: 65px;
		height: 65px;
		bottom: 134px;
	}
}
@media screen and (min-width: 1024px){
	#toTopBtn{
		bottom: 72px;
	}
}