@charset "UTF-8";

/*--------------------------------------------------------------------
=== [共通レイアウト] ====================================
 -------------------------------------------------------------------*/

body {
    font-family:   "Outfit","Zen Kaku Gothic New", sans-serif;
    line-height: 1.8;
    font-weight: 500;
    color: #333;
	background-image: url("../img/bg01.png");
	background-size: contain;
	background-repeat: no-repeat;	
}

img {
	width: 100%;
	}

a{
	transition: 0.3s;
	}

a:hover {
	opacity: 0.7;
	}

header {
	padding: 40px 50px;
	display: flex;
	justify-content: space-between;
	}
header .logo {
	flex-shrink: 0;
	}
header .headCta {
	display: flex;
	justify-content: space-between;	
	font-size: 13px;
	font-weight: bold;
	gap:14px;
	}


header .headCta li a {
	background-color: #FA7137;
	width: 210px;
	height: 50px;
	box-sizing: border-box;
	display: block;
	color: #fff;
	padding: 12px;
	text-align: center;
	border-radius: 5px;
	position: relative;
	box-shadow: 0px 6px 10px 0px rgba(0, 0, 0, 0.2);
	line-height: 1.4;
	}

header .headCta li a:after {
	content:"";
	background-image: url("../img/btn_arw01.svg");
	display: inline-block;
	background-size: contain;
	width: 21px;
	height: 15px;
	position: absolute;
	right: 12px;
	top: 0;
	bottom: 0;
	margin: auto;
}
header .headCta li:last-child a {
	background-color: #5F98FC;
	display: flex;
	align-items: center;
	justify-content: center;
	}

header .headCta li:last-child a:after {
	background-image: url("../img/btn_arw02.svg");
	width: 22px;
	}

header .headCta span {
	display: block;
	font-size: 8px;
	}


#mvArea  {
	margin-top: -70px;
	}
#mvArea .inner {
	background-color: #fff;
	padding: 100px 0 70px 100px;
	border-bottom-right-radius: 194px;
	border-top-right-radius: 194px;
	margin-right: 70px;
	}

#mvArea .mvTop {
	display: flex;
	justify-content: center;
	gap:10px;
	}

#mvArea .mvTop video {
	width: 630px;
	height: auto;
    background-color: #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0px 0px 18px 8px rgba(0, 0, 0, 0.08);
	}

#mvArea .mvTop .catch {
	width: 577px;
	}

#mvArea .mvCta ul {
	display: flex;
	justify-content:center;	
	font-size: 16px;
	font-weight: bold;
	gap:24px;
	margin: 60px 0;
	}


#mvArea .mvCta li a {
	background-color: #FA7137;
	width: 265px;
	height: 66px;
	box-sizing: border-box;
	display: block;
	color: #fff;
	padding: 15px;
	text-align: center;
	border-radius: 5px;
	position: relative;
	box-shadow: 0px 6px 10px 0px rgba(0, 0, 0, 0.2);
	line-height: 1.5;
	}

#mvArea .mvCta li a:after {
	content:"";
	background-image: url("../img/btn_arw01.svg");
	display: inline-block;
	background-size: contain;
	width: 27px;
	height: 18px;
	position: absolute;
	right: 15px;
	top: 0;
	bottom: 0;
	margin: auto;
	background-repeat: no-repeat;
}
#mvArea .mvCta li:last-child a {
	background-color: #5F98FC;
	display: flex;
	align-items: center;
	justify-content: center;
	}

#mvArea .mvCta li:last-child a:after {
	background-image: url("../img/btn_arw02.svg");
	}

#mvArea .mvCta span {
	display: block;
	font-size: 11px;
	}

.mvCtaSp.fixed {
	background-color: #ecf4fe;
	}

#mvArea .logoList {
	margin-top: -90px;
	background-image: url(../img/mv_logo.png);
	width: 100%;
	height: 52px;
	background-size: contain;
	background-repeat: repeat-x;
	}

section h2 {
	font-size: 38px;
	font-weight: bold;
	margin: 0 auto 60px;
	text-align: center;
	letter-spacing: 0.02em;
}
section h2 span{
	color: #3479F4;
}

#sec01 .inner,#sec02 .inner,#sec03 .inner,#sec04 .inner,#sec04 .inner,#sec06 .inner,#sec07 .inner,#sec08 .inner,#sec09 .inner {
	max-width: 1000px;
	margin:0 auto;
	}

#sec01 .inner {
	margin-top: 115px;
	padding-bottom: 130px;
	}

#sec01 .inner ul {
	display: flex;
	}

#sec02 {
/*	background-image: url("../img/bg02.png");
	background-size: cover;*/
  background-image: linear-gradient(90deg, rgba(245, 249, 255, 1), rgba(223, 231, 255, 1)), linear-gradient(270deg, rgba(194, 232, 251, 1), rgba(152, 190, 246, 1));	
	background-position: center -116vw;
	}
#sec02 .wrap {
	background-color: #fff;
	padding: 100px 0 120px 0;
	border-bottom-left-radius: 194px;
	}

#sec02 .txt {
	font-size: 18px;
	text-align: center;
	}

#sec03 {
	/*background-image: url("../img/bg02.png");*/
	background-image: linear-gradient(90deg, rgba(245, 249, 255, 1), rgba(223, 231, 255, 1)), linear-gradient(270deg, rgba(194, 232, 251, 1), rgba(152, 190, 246, 1));
	/*background-size: cover;
	background-color: #fff;*/
	padding: 100px 0 120px 0;
	}

#sec03 .func ul ,#sec03 .etc ul  {
	display: flex;
	gap:20px;
	}

#sec03 .func ul li,#sec03 .etc ul li {
	width: 33%;
	}

#sec03 figure {
	padding: 0 20px;
	}
#sec03 .func {
	margin-bottom: 70px;
	}
#sec03 .func ul li {
	background-image: url("../img/sec03_funcbg.png");
		background-size: cover;
	border-radius:38px;
	padding: 30px 20px 0;
	box-sizing: border-box;
	}

#sec03 .func ul li h3 {
	font-size: 20px;
	margin-bottom: 20px;
	font-weight: bold;
	text-align: center;
	}

#sec03 .func ul li .cont,#sec03 .etc ul li .cont {
	background-color: #fff;
	border-radius:30px;
	padding: 35px 15px 70px;
	margin-bottom: 20px;
	text-align: center;
}


#sec03 .func ul li h4,#sec03 .etc ul li h4 {
	text-align: center;
	font-size: 19px;
	display: inline-block;
	margin-bottom: 30px;
	position: relative;
	}

#sec03 .func ul li h4:after,#sec03 .etc ul li h4:after {
	content:"";
	height: 3px;
	display: inline-block;
	width: 100%;
  background-image: linear-gradient(90deg, rgba(54, 122, 240, 1), rgba(133, 206, 251, 1));
	bottom: -10px;
	position: absolute;
	left: 0;
	}
	

#sec03 .func ul li .txt,#sec03 .etc ul li .txt {
	font-size: 15px;
	margin-top: 20px;
	text-align: left;
	}
#sec03 .func ul li .txt span,#sec03 .etc ul li .txt span{
	color: #0415DB;
	}

#sec03 .etc .ttl {
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 40px;
	}


.cta ul {
	display: flex;
	justify-content:center;	
	font-size: 16px;
	font-weight: bold;
	gap:24px;
	margin: 60px 0;
	}


.cta li a {
	background-color: #FA7137;
	width: 265px;
	height: 66px;
	box-sizing: border-box;
	display: block;
	color: #fff;
	padding: 15px;
	text-align: center;
	border-radius: 5px;
	position: relative;
	box-shadow: 0px 6px 10px 0px rgba(0, 0, 0, 0.2);
	line-height: 1.5;
	}

.cta li a:after {
	content:"";
	background-image: url("../img/btn_arw01.svg");
	display: inline-block;
	background-size: contain;
	width: 27px;
	height: 18px;
	position: absolute;
	right: 15px;
	top: 0;
	bottom: 0;
	margin: auto;
	background-repeat: no-repeat;
}
.cta li:last-child a {
	background-color: #5F98FC;
	display: flex;
	align-items: center;
	justify-content: center;
	}

.cta li:last-child a:after {
	background-image: url("../img/btn_arw02.svg");
	}

.cta span {
	display: block;
	font-size: 11px;
	}

#sec04{
	position: relative;
	}
#sec04 .wrap {
	/*background-image: url("../img/sec04_bg.png");*/
	background-size: cover;
	/*background-color: #fff;*/
	  background-image: linear-gradient(270deg, rgba(194, 232, 251, 1), rgba(152, 190, 246, 1));
	padding: 100px 0 120px 0;
	border-bottom-right-radius: 194px;
	}

/*#sec04:after {
	content:"";
	display: inline-block;
	background-image:  url("../img/sec04_bg_arw.png");
	background-size: contain;
	width: 430px;
	height: 92px;
	left: 0;
	right: 0;
	margin: auto;
	position: absolute;
	}*/
#sec04:after {
 content: "";
  position: absolute;
  height: 100px;
  width: 100%;
  clip-path: polygon(50% 100%, 40% 0, 60% 0%);
  background-image: linear-gradient(270deg, rgba(194, 232, 251, 1), rgba(152, 190, 246, 1));
  left: 0;
  right:0;
  margin: auto;
  bottom: -100px;
  z-index: 1;
}

#sec04 .ttl {
	text-align: center;
	}
#sec04 .ttl .bubble {
 position: relative;
  display: inline-block;
  padding: 10px 40px;
  color: #3479F4;
  font-size: 20px;
  background: #fff;
 font-weight: bold;
	border-radius:7px;
	margin-bottom: 20px;
}

#sec04 .ttl .bubble::after {
 content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 10px solid #fff;
}

#sec05 .inner {
	max-width: 1000px;
	background-color: #F8F9FA;
	border-radius:50px;
	margin: 70px auto 0;
	padding: 80px 40px 20px;
	}

#sec05 .inner figure {
	width: 512px;
	margin: 0 auto;
	}

#sec05 .inner .note {
	margin-top: 10px;
	font-size: 12px;
	text-align: right;
	}

#sec06 {
/*	background-image: url("../img/bg04.png");
	background-size: cover;*/
	background-image: linear-gradient(90deg, rgba(175, 219, 253, 1), rgba(165, 200, 248, 1)), linear-gradient(270deg, rgba(194, 232, 251, 1), rgba(152, 190, 246, 1));
	background-position: center -55vw;
	}
#sec06 .wrap {
	background-image: url("../img/bg03.png");
	padding: 100px 0 120px 0;
	border-bottom-left-radius: 194px;
	background-size: cover;
	}

#sec06 .caseList {
	display: flex;
	flex-wrap: wrap;
	gap:50px;
	}

#sec06 .caseList li {
	width: 475px;
	background-color: #fff;
	border-radius:38px;
	}

#sec06 .caseList li figure img {
	border-top-left-radius: 38px;	
	border-top-right-radius: 38px;
	}

#sec06 .caseList li .liWrap {
	padding:20px 24px 38px;}


#sec06 .name {
	font-size: 20px;
	color: #3479F4;
	margin-bottom: 10px;
	}

#sec06 .cap {
	font-size: 24px;
	font-weight: bold;
	}

#sec06 .data .line {
	display: flex;
	font-size: 16px;
	gap:10px;
	margin-top: 20px;	
	}

#sec06 .data .line span {
	font-size: 15px;
	color: #3479F4;
	border-radius:50px;
	border:1px solid #3479F4;
	width: 84px;
	text-align: center;
	line-height: 24px;
	font-weight: bold;
	height: 24px;
	flex-shrink: 0;
	}

#sec07 {
	padding: 90px 0 120px;
/*	background-image: url("../img/bg04.png");
	background-size: cover;*/
	background-image: linear-gradient(90deg, rgba(175, 219, 253, 1), rgba(165, 200, 248, 1)), linear-gradient(270deg, rgba(194, 232, 251, 1), rgba(152, 190, 246, 1));
	}


#sec07 .inner {
	max-width: 1000px;
	background-color: #fff;
	border-radius:50px;
	padding: 80px 40px 40px;
	}

#sec07 .inner h2 {
	margin-bottom: 40px;
	}

#sec08 {
	padding: 90px 0 120px;

	}

#sec08 .ttl {
	text-align: center;
	}
#sec08 .ttl .bubble {
 position: relative;
  display: inline-block;
  padding: 10px 40px;
  color: #fff;
  font-size: 20px;
  background: #3479F4;
 font-weight: bold;
	border-radius:7px;
	margin-bottom: 20px;
}

#sec08 .ttl .bubble::after {
 content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 10px solid #3479F4;
}

#sec08 .supportList {
	display: flex;
	gap:20px;
	}

#sec08 .supportList li {
	background-color: #fff;
	padding: 20px 30px 30px;
	border-radius:38px;
	 box-shadow: 0px 2px 18px 0px rgba(48, 96, 181, 0.17);
	text-align: center;
	}

#sec08 .supportList li figure {
	margin:  0 50px;
	}
#sec08 .supportList li h3 {
	font-size: 20px;
	font-weight: bold;
	margin: 10px 0;
	}

#sec08 ul li .txt {
	text-align: left;
	font-size: 15px;
	}

#sec09 {
	padding: 90px 0 120px;
	background-image: url("../img/bg04.png");
	background-size: cover;
	}


#sec09 .qaList li {
	background-color: #fff;
	border-radius:50px;
	padding: 50px 65px;
	margin-bottom: 30px;
	}

#sec09 .qaList li:last-child{
	margin-bottom: 0;
	}

#sec09 .qaList li dt {
	border-bottom:1px solid #D6D6D6;
	padding-bottom: 28px;
	margin-bottom: 28px;
	font-size: 28px;
	font-weight: bold;
	display: flex;
	align-items: center;
	}

#sec09 .qaList li dt:before {
	content:"";
	display: inline-block;
	background-size: contain;
	background-image: url("../img/sec09_q.png");
	width: 48px;
	height: 48px;
	margin-right: 18px;
	}

#sec09 .qaList li dd {
	font-size: 15px;
	position: relative;
	padding-left: 40px;
	}

#sec09 .qaList li dd:before {
	content:"";
	display: inline-block;
	background-size: contain;
	background-image: url("../img/sec09_a.png");
	width: 21px;
	height: 23px;
	position: absolute;
	left: 0;
	top: 0;
	}



/*--------------------------------------------------------------------
=== [SP] ====================================
 -------------------------------------------------------------------*/


.pcHide {
display: none;
}

.spHide {
display: block;
}

@media (max-width: 750px){
	
.pcHide {
display: block;
}

.spHide {
display: none!important;
}
	
body {
		background-size:contain;
		background-image: url("../img/bg01_sp.png");

		}

#wrapper {
	 overflow: hidden;
	 }
	
header {
    padding: 5.33vw;
}	
	
header .logo {
	width: 27.73vw;
	}
	
#mvArea {
    margin-top: 0;
}
	
#mvArea .inner {
	padding: 8vw 5.33vw 26.66vw;
	border-bottom-right-radius: 26.66vw;
	border-top-right-radius: 26.66vw;
	margin-right: 2.66vw;
	}	
	
#mvArea .mvTop {
    display: block;
	}
	
#mvArea .mvTop video {
    width: 100%;
		}
	


.mvCtaSp ul,.cta ul {
	display: flex;
	justify-content:center;	
	font-size: 13px;
	font-weight: bold;
	gap:12px;
	margin: 2.66vw 0;
	}


.mvCtaSp li a ,.cta li a{
	background-color: #FA7137;
	width: 42.66vw;
	height: 66px;
	box-sizing: border-box;
	display: block;
	color: #fff;
	padding: 15px;
	text-align: center;
	border-radius: 5px;
	position: relative;
	box-shadow: 0px 6px 10px 0px rgba(0, 0, 0, 0.2);
	line-height: 1.5;
	}

.mvCtaSp li a:after,.cta li a:after {
	content:"";
	background-image: url("../img/btn_arw01.svg");
	display: inline-block;
	background-size: contain;
	width: 20px;
	height: 13px;
	position: absolute;
	right: 5px;
	top: 0;
	bottom: 0;
	margin: auto;
	background-repeat: no-repeat;
}
.mvCtaSp li:last-child a,.cta li:last-child a {
	background-color: #5F98FC;
	display: flex;
	align-items: center;
	justify-content: center;
	}

.mvCtaSp li:last-child a:after,.cta li:last-child a:after {
	background-image: url("../img/btn_arw02.svg");
	}

.mvCtaSp span,.cta span {
	display: block;
	font-size: 10px;
	}
	
.cta em {
	display: none;
	}

	#mvArea .logoList {
	margin-top: -19vw;
	width: 100%;
	height: 42px;
	background-size: cover;
	}
	
#sec01 .inner,#sec02 .inner,#sec03 .inner,#sec04 .inner,#sec04 .inner,#sec06 .inner,#sec07 .inner,#sec08 .inner,#sec09 .inner {
	margin:0 2.66vw;
	}
section h2 {
	font-size: 26px;
	margin: 0 auto 8vw;
	line-height: 1.5em;
}	
	
#sec01 .inner {
    margin-top: 16vw;
    padding-bottom: 13.33vw;
}	
	
#sec01 .inner ul {
    display: block;
	margin-top: -5vw;
}	
	
#sec02 .wrap {
    background-color: #fff;
    padding: 13.33vw 0 13.33vw 0;
    border-bottom-left-radius:  26.66vw;
}	
	
#sec02 .txt {
    font-size: 15px;
}	
#sec02 {
    background-position: center -198vw;
}	
#sec03 {
    background-size: contain;
    background-color: #fff;
    padding: 13.33vw 0 13.33vw 0;
}
	
#sec03 .func ul, #sec03 .etc ul {
    display: block}
	
#sec03 .func ul li, #sec03 .etc ul li {
    width: 100%;
}	
	
#sec03 .func ul li {
    border-radius:10.1vw;
    padding: 8vw 5.33vw 5.33vw;
    width: 100%;
	margin-bottom: 5.33vw;	
}	
	
#sec03 figure {
	padding: 0 5.33vw;
	}
#sec03 .func {
	margin-bottom: 8vw;
	}


#sec03 .func ul li h3 {
	font-size: 18px;
	margin-bottom: 5.33vw;
	}

#sec03 .func ul li .cont,#sec03 .etc ul li .cont {
	background-color: #fff;
	border-radius:8vw;
	padding: 8vw 5.33vw;
}


#sec03 .func ul li h4,#sec03 .etc ul li h4 {
	font-size: 17px;
	margin-bottom: 8vw;
	}



#sec03 .func ul li .txt,#sec03 .etc ul li .txt {
	font-size: 14px;
	margin-top: 5.33vw;
	}

#sec03 .etc .ttl {
	font-size: 22px;
	margin-bottom: 8vw;
	}


#sec04 .wrap {
/*	background-image: url("../img/sec04_bg.png");
	background-size: cover;*/
	background-color: #fff;
	padding: 10.66vw 0 16vw 0;
	border-bottom-right-radius: 26.66vw;
	}

#sec04:after {
		width: 100%;
        height: 10.66vw;
        background-repeat: no-repeat;
        bottom: -10.66vw;
		clip-path: polygon(50% 100%, 30% 0, 70% 0%);	
	}


#sec04 .ttl .bubble {
	width: 100%;
  padding: 10px;
  color: #3479F4;
  font-size: 18px;
	margin-bottom: 5.33vw;
}

#sec05 .inner {
    background-color: #F8F9FA;
    border-radius: 10.13vw;
    margin: 5.33vw 5.33vw;
    padding: 8vw 5.33vw 5.33vw;
}	
#sec05 .inner figure {
    width: 100%;
    margin: 0 auto;
}	
	
/*#sec06 {
    background-image: url(../img/bg04.png);
    background-size: contain;
    background-position: center -71vw;
}	
	*/
#sec06 .wrap {
    background-image: url(../img/bg03.png);
    padding: 13.33vw 0 13.33vw 0;
    border-bottom-left-radius: 26.66vw;
}	
	
#sec06 .caseList li {
	width: 100%;
	border-radius:10.13vw;	
	}	
	
#sec06 .slick-dots li {
	width: auto;
	background-color: inherit;
	}
#sec06 .slick-dots li button:before {
    font-size: 12px!important;
    opacity: 1!important;
    color: #ADC9ED!important;
	}
	
#sec06 .slick-dots li.slick-active button:before
{
    opacity:1!important;
    color: #005CB9!important;
}
	

.slick-next:before, .slick-prev:before {
    color: #000!important;
	}
	
.slick-next, .slick-prev {
	z-index: 9999!important;
	     width: 60px !important;
        height: 66px !important;
	}
	
 .slick-prev {
	 left: -20px!important;
	 }
	
.slick-next {
	right: -20px!important;
	}
	
.slick-arrow:before{
    content:""!important;
     width: 60px !important;
        height: 66px !important;
    position: absolute;
    top: 0;
    left: 0;
}

	
.slick-next:before{
    background: url(../img/slide_next.png)!important;
    background-size: contain!important;
	opacity: 1!important;
}

.slick-prev:before{
    background: url(../img/slide_prev.png)!important;
    background-size: contain!important;
	opacity: 1!important;	
}	

#sec06 .caseList li figure img {
	border-top-left-radius: 10.13vw;	
	border-top-right-radius: 10.13vw;	
	}

#sec06 .caseList li .liWrap {
	padding:20px 24px 38px;}


#sec06 .name {
	font-size: 17px;
	}

#sec06 .cap {
	font-size: 19px;
	line-height: 1.5;
	}

#sec06 .data .line {
	font-size: 14px;
	}

#sec06 .data .line span {
	font-size: 13px;
	width: 70px;
	line-height: 20px;
	height: 20px;
	}	
	

#sec07 {
    padding:13.33vw 0 13.33vw;
	}
	
#sec07 .inner {
    border-radius: 10.13vw;
    padding:8vw 5.33vw;
}	
	
#sec08 {
    padding:13.33vw 0 13.33vw;
}	
	
#sec08 .supportList {
    display: block;
	}
	


#sec08 .ttl .bubble {
	width: 100%;
  padding: 10px;
  font-size: 18px;
	margin-bottom: 5.33vw;
}	
	
#sec08 .supportList li {
    padding:5.33vw 5.33vw 6.66vw;
    border-radius: 10.13vw;
   margin-bottom: 5.33vw;
}	
#sec08 .supportList li h3 {
    font-size: 18px;
	}
	
#sec08 ul li .txt {
    font-size: 14px;
}	
	
#sec09 {
    padding:13.33vw 0 25vw;
}	
#sec09 .qaList li {
    border-radius: 10.13vw;
    padding: 6.66vw 5.33vw;
    margin-bottom: 5.33vw;
}
	
#sec09 .qaList li dt {
    padding-bottom: 12px;
    margin-bottom: 12px;
    font-size: 16px;
	}
	
#sec09 .qaList li dt:before {
    width: 8.53vw;
    height: 8.53vw;
    margin-right:2.66vw;
	background-repeat: no-repeat;
}	
	
#sec09 .qaList li dd:before {
    width: 4.26vw;
    height: 4.53vw;
	left: 2vw;
}	
	
#sec09 .qaList li dd {
    font-size: 14px;
    padding-left: 10.66vw;
}
	
    .mvCtaSp.fixed {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 1000;
    }	
    
}