@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

body {
	-webkit-text-size-adjust: 100%;
	font-family: "Noto Sans JP", sans-serif;
	font-size:min(4.3vw,32px);
	text-align:center;
	color:#2C3E50;
	line-height:1.5;
}

a {
	color:#2C3E50;
	transition : opacity 0.4s;
	-webkit-transition : opacity 0.4s;
	opacity:1;
	outline:none;
}
a:hover {
	opacity: 0.8;
}

img{
	max-width:100%;
}

.only_smart,
.only_smart_i{
	display:none !important;
}
@media screen and (max-width:768px){
	.only_pc{
		display:none !important;
	}
	
	.only_smart{
		display:block !important;
	}
	.only_smart_i{
		display:inlie-block !important;
	}
}

#wrapper{
	max-width:750px;
	margin:auto;
	background-color:#fff;
	box-shadow:0 0 10px rgba(0,0,0,0.1);
}

.inner{
	width:min(90%,670px);
	margin:auto;
}


/* 色関係 */
.sky{
	color:#E0F0FF;
}
.bg_sky{
	background-color:#E0F0FF;
}
.red{
	color:#DE650B;
}
.white{
	color:#fff;
}



/* 書式 */
.bold{
	font-weight:bold;
}
.marker{
	background: linear-gradient(transparent 60%, #F1F128 60%);
}
.line{
	border-bottom:2px solid;
}



/* header */
header{
	padding-top:min(3%,30px);
	background:url(../images/head_bg.webp)no-repeat center top;
	background-size:100% auto;
}
header .lead{
	margin-top:min(1.5%,15px);
	text-align:left;
}

@media screen and (max-width:768px){
}


/* article */
article{
}
@media screen and (max-width:768px){
	article{
	}
}


/* .cta */
.cta{
	margin-top:min(5%,50px);
	padding:5%;
	background:#fff url(../images/cta_bg.png);
	background-size:min(3%,23px) auto;
	border:min(1vw,8px) solid;
	border-radius:0.3em;
}
.cta h2{
	font-weight:normal;
}
.cta .cta_banner{
	margin-top:min(3%,30px);
}
.cta .cta_banner dt{
	font-size:min(5.3vw,40px);
}



/* .animation */
.animation {
  visibility: visible !important;
  animation-fill-mode: both !important;
  -webkit-animation-fill-mode: both !important;
  -webkit-animation-iteration-count: infinite !important;
  animation-iteration-count: infinite !important;
  -webkit-animation: bounceBtn 1.8s;
  animation: bounceBtn 1.8s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
}

@-webkit-keyframes bounceBtn {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  25% {
    -webkit-transform: scale(1.015);
    transform: scale(1.015);
  }
  40% {
    -webkit-transform: scale(0.94);
    transform: scale(0.94);
  }
  50% {
    -webkit-transform: scale(1.015);
    transform: scale(1.015);
  }
  60% {
    -webkit-transform: scale(0.97);
    transform: scale(0.97);
  }
  70% {
    -webkit-transform: scale(1.01);
    transform: scale(1.01);
    opacity: 1;
  }
  80% {
    -webkit-transform: scale(0.98);
    transform: scale(0.98);
  }
  90% {
    -webkit-transform: scale(1.005);
    transform: scale(1.005);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes bounceBtn {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  25% {
    -webkit-transform: scale(1.015);
    transform: scale(1.015);
  }
  40% {
    -webkit-transform: scale(0.94);
    transform: scale(0.94);
  }
  50% {
    -webkit-transform: scale(1.015);
    transform: scale(1.015);
  }
  60% {
    -webkit-transform: scale(0.97);
    transform: scale(0.97);
  }
  70% {
    -webkit-transform: scale(1.01);
    transform: scale(1.01);
    opacity: 1;
  }
  80% {
    -webkit-transform: scale(0.98);
    transform: scale(0.98);
  }
  90% {
    -webkit-transform: scale(1.005);
    transform: scale(1.005);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}


/* .cont */
.cont{
	padding:min(7%,50px) 0 min(9%,70px);
}


/* 見出し */
.tit{
	font-size:min(5.6vw,44px);
}
.tit .en{
	line-height:0.2;
	display:block;
	font-size:min(10.2vw,80px);
}
.tit .large{
	display:block;
	font-size:min(7.8vw,60px);
}



/* #cont1 */
#cont1{
	padding-top:min(16%,120px);
}
#cont1 .sec{
	padding:0 5% 5%;
	border-radius:1em;
}
#cont1 .sec h2{
	display:inline-block;
	margin-top:-9%;
}
#cont1 .lead{
	margin-top:1.5em;
	text-align:left;
}
#cont1 .point{
	margin-top:min(9%,90px);
}
#cont1 .point li{
	margin-top:3%;
}
#cont1 .point li figure{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}
#cont1 .point li:nth-child(even) figure {
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
#cont1 .point li figure img{
	width:32%;
	margin-right:-2%;
}
#cont1 .point li:nth-child(even) figure img{
	width:32%;
	margin-right:0;
	margin-left:-2%;
}
#cont1 .point li figure figcaption{
	width:70%;
	padding:0.3em 0.8em;
	background-color:rgba(255,255,255,0.7);
	text-align:left;
	position:relative;
	white-space:nowrap;
}


/* #cont2 */
#cont2{
	padding-bottom:min(12%,120px);
}
#cont2 .dash{
	padding:0.3em;
	border:1px dashed;
}
#cont2  .dash .sec{
	padding:5% 0;
	background-color:#EEECEC;
}
#cont2 .dash .sec figure{
	width:40%;
	margin:3% auto 0;
}
#cont2  .dash .sec ul{
	margin-top:5%;
	padding:0 3%;
}
#cont2  .dash .sec ul li{
	padding-left:2em;
	text-align:left;
	background:url(../images/cont2_check.png)no-repeat left center;
	background-size:1.6em auto;
}
#cont2  .dash .sec ul li p{
	padding:0.3em 0;
}
#cont2  .dash .sec ul li:nth-child(n+2) p{
	border-top:1px dashed;
}
#cont2 .bottom{
	font-size:min(5.3vw,40px);
}
#cont2 .bottom:before{
	content:'';
	display:block;
	width:min(36%,240px);
	margin:-3% auto 3%;
	aspect-ratio:240 / 80;
	background-color:#A6A6A6;
	clip-path:polygon(0 0, 100% 0, 50% 100%);
}
#cont2 .bottom img{
	display:block;
	margin:min(3%,30px) 0 min(1.5%,15px);
}




/* #cont3 */
#cont3{
}

#cont3 .point{
	margin-top:min(5%,50px);
}
#cont3 .point li{
	margin-top:min(9%,90px);
}
#cont3 .point li figure img{
	position:relative;
	z-index:1;
}
#cont3 .point li figure figcaption{
	margin-top:-3%;
	padding:9% 0;
	font-size:min(5.8vw,44px);
	font-weight:bold;
	background-color:#fff;
	border-radius:1.2em;
	box-shadow:0 min(1.3vw,10px) min(1.3vw,10px) rgba(0,0,0,0.16);
}
#cont3 .point li:nth-child(2) figure figcaption{
	margin-top:-7%;
}



/* #cont4 */
#cont4{
	padding-top:min(9%,70px);
}
#cont4 .tit .en{
	line-height:0.45;
	font-size:min(13.3vw,100px);
}
#cont4 .case li{
	margin-top:min(8%,60px);
}
#cont4 .case li .sec{
	padding:5%;
	box-shadow:0 3px 6px rgba(0,0,0,0.16);
	border-radius:0 0 2em 2em;
	text-align:left;
}
#cont4 .case li .sec h3 .small{
	display:block;
}
#cont4 .case li .sec h3 .small img{
	width:2em;
	vertical-align:-0.2em;
}
#cont4 .case li .sec h3 .middle{
	display:block;
	font-size:min(5.3vw,40px);
}
#cont4 .case li .sec h3 .large{
	font-size:min(8vw,60px);
}
#cont4 .case li .sec p{
	margin-top:0.5em;
	line-height:2;
	background-image: linear-gradient(180deg, #E0F0FF min(0.5vw,4px), transparent min(0.5vw,4px));
	background-size: 100% 2em;
	background-repeat:repeat-y;
	padding-bottom: min(0.5vw,4px);
}


/* #cont5 */
#cont5{
	padding-top:min(9%,70px);
}
#cont5 .tit .en{
	line-height:0.4;
}
#cont5 .flow{
	width:min(81%,610px);
	margin-top:min(12%,90px);
	position:relative;
}
#cont5 .flow:before{
	content:'';
	display:block;
	width:min(2.1vw,16px);
	height:90%;
	background-color:#fff;
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
}
#cont5 .flow li{
	margin-top:5%;
	background-color:#fff;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: cflex-start;
	position:relative;
}
#cont5 .flow li .step{
	width:20%;
	transform:translate(-25%,-25%);
}
#cont5 .flow li section{
	padding:5% 3% 5% 0;
	flex:1;
	text-align:left;
}
#cont5 .flow li section h3{
	font-size:min(5.3vw,40px);
}
#cont5 .flow li section p{
	margin-top:0.5em;
}
#cont5 .flow li .icon{
	width:25%;
	position:absolute;
	right:1%;
	top:0;
	transform:translateY(-30%);
}


/* #cont6 */
#cont6{
	padding-bottom:min(4%,30px)
}
#cont6 .tit .en{
	line-height:0.45;
	font-size:min(13.3vw,100px);
}
#cont6 .faq{
	text-align:left;
}
#cont6 .faq dt{
	min-height:3.6em;
	margin:1em 0 0 0.5em;
	padding-left:3.2em;
	font-size:min(5.2vw,40px);
	font-weight:bold;
	background:url(../images/cont6_q.png)no-repeat left center;
	background-size:2.6em auto;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}
#cont6 .faq dd{
	margin-top:0.3em;
	padding:1.8em 1.2em;
	border-radius:1.5em;
}


/* footer */
footer{
	padding:min(12%,90px) 0 min(45%,300px);
}
footer dl dt{
	font-size:min(5.3vw,40px);
	font-weight:bold;
	color:#78A7D9;
}
footer dl dd{
	margin-top:2em;
}
footer dl dd img{
	width:56%;
}



/* top_top */
#topbtn{
	width:50px;
	line-height:50px;
	font-size:21px;
	border-radius:50%;
	color:#fff;
	background-color:rgba(0,0,0,0.5);
	position:fixed;
	z-index:102;
	right:20px;
	bottom:-150px;
	-webkit-transition: bottom 0.8s;
	-moz-transition: bottom 0.8s;
	-ms-transition: bottom 0.8s;
	transition: bottom 0.8s;
}
@media screen and (max-width:768px){
	#topbtn{
		width:40px;
		line-height:40px;
		font-size:18px;
		right:15px;
	}
}


/* #bottom_banner */
#bottom_banner{
	width:100%;
	padding:15px 0;
	background-color:rgba(120,167,217,0.9);
	position:fixed;
	bottom:-300px;
	left:0;
	z-index:99;
	-webkit-transition: bottom 0.8s;
	transition: bottom 0.8s;
}
#bottom_banner .cta_banner{
	width:min(90%,590px);
	margin:auto;
}
