@charset "utf-8";
.pc{display:none !important;}

html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	vertical-align:baseline;
	background:transparent;
	list-style-type:none;
	font-size: 14px;
	color: #333;
	font-family:"Noto Serif JP","Noto Sans JP","源ノ角ゴシック","ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 游ゴシック体, "Yu Gothic", YuGothic, "Open Sans", "Helvetica Neue", "sans-serif", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.6;
	outline:none;
	letter-spacing:0.08em;
}


a{text-decoration:none;}

html{
  scroll-behavior: smooth;
}

:root {
  --main-color: #40c2c9;
  --dark-color: #223751;
}

img{
	display:block;
	width:100%;
}

.fit_img{
	width:100%;
	margin:0 auto;
}

.fit_img img{
	width:100%;
	height:100%;
	object-fit:cover;
}

section{
	margin:0 auto;
}

.inner{
	width:96%;
	margin:0 auto;
}

h2{
	font-size:160%;
	text-align:center;
}

/*header*/
header{
	position:fixed;
	width:100%;
	top:0;
	border-bottom:1px solid rgba(0,0,0,0.2);
	background:rgba(0,171,212,0.7);
	z-index:999;
}

header .inner{
	width:98%;
	margin:0 auto;
	display:flex;
	align-items:center;
	justify-content:space-between;
	height:70px;
}

header .inner h1{
	color:#fff;
	font-size:110%;
	margin:0 2%;
	font-weight:500;
	width:56%;
}

header .inner h1 span{
	color:#fff;
	font-size:80%;
	display:block;
	margin-right:10px;
}

header .inner ul{
	width:40%;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10%;
}

header .inner ul li{
	width:100%;
}

header .inner ul li:first-child{
	display:none;
}

header .inner ul li a{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:3%;
	width:100%;
	padding:10px 0;
	font-size:90%;
	color:#0f2540;
	font-weight:bold;
	border:1px solid #0f2540;
	box-sizing:border-box;
	border-radius:50px;
	line-height:1;
}

header .inner ul li.mail a{
	background:#fff;
}

header .inner ul li.mail a:before{
	content:"";
	display:block;
	height:20px;
	width:20px;
	background:URL("../img/head_mail.png") no-repeat center;
	background-size:contain;
}

header .inner ul li.line a{
	background:#8fff79;
}

header .inner ul li.line a:before{
	content:"";
	display:block;
	height:20px;
	width:20px;
	background:URL("../img/head_line.png") no-repeat center;
	background-size:contain;
}

main .fv{
	background:URL("../img/fv_bk.png") no-repeat center;
	background-size:cover;
	padding:70px 0 0;
	overflow:hidden;
}

main .fv .inner{
	width:90%;
	margin:20px auto;
	background:URL("../img/fv_img.png")no-repeat;
	background-size: contain;
	background-position:0 80px;
	box-sizing:border-box;
}

main .fv .inner h2{
	width:100%;
	color:#fff;
	font-size:190%;
	font-weight:bold;
	text-align:left;
    letter-spacing: 0.02em;
}

main .fv .inner h2 span{
	display:block;
	text-align:right;
	color:#fff;
	font-size:45%;
	margin:55vw auto 40px;
	font-weight:normal;
}

main .fv .inner .head_cta{
	width:100%;
	margin:0 0 20px;
}

main .fv .inner .head_cta p{
	color:#fff;
	margin:0 auto 10px;
	font-size:125%;
	font-weight:bold;
}

main .fv .inner .head_cta a{
	display:block;
	background:#8fff79;
	color:#0f2540;
	text-align:center;
	padding:20px 0;
	border-radius:50px;
	box-sizing:border-box;
	box-shadow: 0 4px 0 #0f2540;
	font-weight:bold;
}

main .fv .inner p.notes{
	color:#fff;
	font-size:80%;
}

/*fv*/


/*lead*/

section.lead{
	background:#2fa3c6;
	padding:50px 0 10px;
}

section.lead h2,
section.lead p{
	color:#fff;
}

section.lead h2{
	width:fit-content;
	margin:0 auto 20px;
	padding:0 0 10px 0;
	border-bottom:solid 1px #fff;
	background: linear-gradient(
		135deg,
		#fff 40%,
		#e3ff1a 70%
	);

	-webkit-background-clip: text;
	background-clip: text;

	-webkit-text-fill-color: transparent;
	color: transparent;
}

section.lead p{
	font-size:100%;
	text-align:center;
	margin:0 auto 45px;
	line-height:2;
}

section.lead ol li{
	width:100%;
	background: linear-gradient(135deg,#e7f7ff 30%,#a1c4fd 100%);
	border-radius:30px 0 30px 0;
	margin:0 auto 20px;
	padding:15px 0;
	box-sizing:border-box;
	display:flex;
	align-items:center;
}

section.lead ol li .fit_img{
	width:25%;
}

section.lead ol li .fit_img img{
	width:50%;
	margin:0 auto;
}

section.lead ol li .text_wrap{
	width:75%;
}

section.lead ol li .text_wrap h3{
	background:var(--dark-color);
	padding:5px 5%;
	color:#fff;
	font-size:125%;
	box-sizing:border-box;
	margin:0 auto 10px;
}

section.lead ol li .text_wrap p{
	width:93%;
	color:var(--dark-color);
	text-align:left;
	font-size:100%;
	margin:0;
	line-height:1.6;
}

/*google_ad_grants*/

section.google_ad_grants{
	background: linear-gradient(135deg,#e0edff 0%,#fff 60%,#e2dffd 100%);
	padding:80px 0;
	position: relative;
}

section.google_ad_grants::before {
	content: "";
	position: absolute;
	left: 50%;
	top:0;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 50vw solid transparent;
	border-right: 50vw solid transparent;
	border-top: 50px solid #2fa3c6;
}

section.google_ad_grants:after{
	content:;
}

section.google_ad_grants h2{
	border-bottom:solid 1px #000;
	width:fit-content;
	margin:0 auto 25px;
	padding:10px 0;
}

section.google_ad_grants h2 span{
	display:block;
	font-size:70%;
	font-weight:normal;
	margin:0 auto 10px;
}

section.google_ad_grants h3{
	text-align:center;
	font-size:200%;
	letter-spacing:0;
	font-weight:900;
	margin:0 auto 30px;
	background: linear-gradient(
		135deg,
		#2871fa 40%,
		#6717cd 60%
	);

	-webkit-background-clip: text;
	background-clip: text;

	-webkit-text-fill-color: transparent;
	color: transparent;
}

section.google_ad_grants h3 span{
	font-size:70%;
	color:#484848;
	-webkit-text-fill-color: #484848;
	font-weight:bold;
	margin-left:5px;
}

section.google_ad_grants .what_is{
	background:#fff;
	padding:30px 5%;
	border-radius:70px 0 70px 0;
	box-sizing:border-box;
	box-shadow: 0 10px 30px rgba(15, 37, 64, 0.12);
}

section.google_ad_grants .what_is .box_01{
	margin:0 auto 10px;
}

section.google_ad_grants .what_is .box_01 .fit_img{
	width:32%;
	margin:0 auto 10px;
}

section.google_ad_grants .what_is .box_01 h4{
	width:100%;
	letter-spacing:0.02em;
	font-size:120%;
}

section.google_ad_grants .what_is .box_01 h4 span{
	display:block;
	font-size:150%;
	letter-spacing:0.02em;
	line-height:1.4;
	margin:10px auto;
	background: linear-gradient(
		135deg,
		#2871fa 40%,
		#6717cd 60%
	);

	-webkit-background-clip: text;
	background-clip: text;

	-webkit-text-fill-color: transparent;
	color: transparent;
}

section.google_ad_grants .what_is .box_02{
	display:flex;
	flex-direction: column-reverse;
}

section.google_ad_grants .what_is .box_02 .text_wrap{
	width:100%;
}

section.google_ad_grants .what_is .box_02 .text_wrap p{
	font-weight:600;
	font-size:125%;
}

section.google_ad_grants .what_is .box_02 .text_wrap p span{
	display:block;
	margin:20px auto;
	font-weight:normal;
	font-size:80%;
}

section.google_ad_grants .what_is .box_02 .fit_img{
	width:100%;
}

/* merit */
section.merit{
	position:relative;
	background:URL("../img/merit_bk.png") no-repeat;
	background-size:cover;
	overflow:hidden;
}

section.merit:after{
    content: "";
    position: absolute;
    left: 50%;
    top: 100px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 50vw solid transparent;
    border-right: 50vw solid transparent;
    border-top: 50px solid #162d50;
	z-index:1;
}

section.merit:before{
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 100%;
    height: 100px;
	background:#162d50;
	z-index:2;
}

section.merit .inner{
	position:relative;
}

section.merit .before{
	width:100%;
	padding-top:60px;
}

section.merit .before:before{
	position:absolute;
	top:-10px;
	left:0;
	content:URL("../img/merit_before.png");
	z-index:1;
}

section.merit .after{
	width:100%;
}

section.merit .after:after{
	position:absolute;
	bottom:-10px;
	right:0;
	content:URL("../img/merit_after.png");
	z-index:1;
}

section.merit h2{
	position:relative;
	background:#163750;
	padding:20px 0;
	font-size:140%;
	background: linear-gradient(
		135deg,
		#c2e9fb 40%,
		#a1c4fd 70%
	);

	-webkit-background-clip: text;
	background-clip: text;

	-webkit-text-fill-color: transparent;
	color: transparent;
	z-index:2;
	margin:0 auto;
}

section.merit .inner p{
	color:#FFF;
}

section.merit .inner p.laed_text{
	width:95%;
	font-size:110%;
	margin:0 auto 40px;
	line-height:2;
	font-weight:bold;
	text-align:center;
	position:relative;
	z-index:2;
}

section.merit .inner p.laed_text span{
	text-align:center;
	font-size:80%;
	display:block;
	color:#fff;
	margin:20px auto;
	font-weight:normal;
}

section.merit .merit_flex{
	position:relative;
	margin:0 auto 40px;
	display: flex;
    flex-direction: column-reverse;
}

section.merit .merit_flex .fit_img{
	width:100%;
	height:40vw;
	top:0;
	left:0;
}

section.merit .merit_flex ul{
	width:96%;
	margin:0 auto 20px;
	box-sizing:border-box;
}

section.merit .merit_flex ul li{
	background:#45aac3;
	border:1px solid #fff;
	border-radius:40px 0 40px 0;
	width:100%;
	margin:0 auto 20px;
	box-shadow: 0 10px 10px rgba(15, 37, 64, 0.12);
}

section.merit .merit_flex ul li *{
	color:#fff;
}

section.merit .merit_flex ul li h4{
	position:relative;
	font-size:150%;
	width:95%;
	border-bottom:1px solid #fff;
	margin:0 auto 10px 0;
	display:flex;
	height:50px;
	align-items:center;
	padding:0 5%;
	box-sizing:border-box;
}

section.merit .merit_flex ul li h4:after{
	position:absolute;
	right:0;
	top:0;
	content:"";height:50px;width:100px;
}

section.merit .merit_flex ul li:nth-child(1) h4:after{
	background:URL("../img/merit_num_1.png")no-repeat right;
	background-size:contain;
}

section.merit .merit_flex ul li:nth-child(2) h4:after{
	background:URL("../img/merit_num_2.png")no-repeat right;
	background-size:contain;
}

section.merit .merit_flex ul li:nth-child(3) h4:after{
	background:URL("../img/merit_num_3.png")no-repeat right;
	background-size:contain;
}

section.merit .merit_flex ul li p{
	width:100%;
	font-size:120%;
	margin:0 0 25px;
	padding:0 5%;
	box-sizing:border-box;
}

section.merit .inner p.after_text{
	font-size:100%;
	margin:0 auto;
	padding-bottom:40px;
	line-height:2;
	font-weight:bold;
	text-align:center;
	position:relative;
	z-index:2;
}

section.merit .inner p.after_text span{
	text-align:center;
	font-size:120%;
	display:block;
	color:#fff;
	margin:40px auto;
}

section.merit .inner p.after_text span strong{
	font-size:100%;
	color:#91ff7f;
}

section.difference{
    background: linear-gradient(135deg, #e0edff 0%, #fff 60%, #e2dffd 100%);
	padding:40px 0;
}

section.difference .inner h2{
	margin:0 auto 30px;
	font-size:120%;
	color:#484848;
}

section.difference .inner h2 span{
	font-size:150%;
	color:#484848;
}

section.difference .inner h2 strong{
	display:block;
	text-align:center;
	font-size:150%;
	letter-spacing:0;
	font-weight:900;
	background: linear-gradient(
		135deg,
		#2871fa 40%,
		#6717cd 60%
	);

	-webkit-background-clip: text;
	background-clip: text;

	-webkit-text-fill-color: transparent;
	color: transparent;
}


section.difference .inner img{
	margin:0 auto 10px;
}

p.caution{
	color:#484848;
	width:95%;
	margin:0 auto;
	font-size:90%;
}

/* tools */
section.tools{
	background:#f7fdfd;
	padding:60px 0;
}

section.tools .inner h2{
	color:var(--dark-color);
	margin:0 auto 20px;
	line-height:1.6;
}

section.tools .inner > p.lead{
	text-align:left;
	width:100%;
	margin:0 auto 35px;
}

section.tools .inner > p.lead .emphasis{
	text-decoration:underline;
	text-underline-offset:3px;
	font-weight:500;
}

section.tools .inner ul{
	display:flex;
	flex-direction:column;
	gap:15px;
	margin:0 auto 30px;
}

section.tools .inner ul li{
	width:100%;
	background:#fff;
	border-radius:20px 0 20px 0;
	box-sizing:border-box;
	padding:25px 6%;
	box-shadow: 0 6px 10px rgba(15, 37, 64, 0.15);
}

section.tools .inner ul li h3{
	font-size:115%;
	margin:0 auto 10px;
}

section.tools .inner ul li p.discount{
	display:inline-block;
	background:var(--main-color);
	color:#fff;
	font-size:80%;
	font-weight:500;
	padding:4px 14px;
	border-radius:20px;
	margin:0 auto 12px;
}

section.tools .inner ul li p:last-child{
	font-size:90%;
	line-height:1.7;
}

section.tools .inner p.notes{
	font-size:75%;
	color:#484848;
	text-align:left;
	width:100%;
	margin:0 auto;
}

section.qa{
	background-image:URL("../img/qa_bk.png");
	background-repeat:no-repeat;
	background-color:#44c5cd;
	padding:20px 0 40px;
}

section.qa h2{
	color:#fff;
	font-family:League Gothic;
	font-size:625%;
	font-weight:normal;
	margin:0 auto 20px;
}

section.qa h2 span{
	color:#fff;
	font-family:League Gothic;
	font-size:60%;
	font-weight:normal;
}

section.qa dl{
	margin:0 auto 15px;
}

section.qa dl dt{
	background:#eaf8fb;
	padding: 0 2%;
	box-sizing:border-box;
	border-radius:10px;
	display:flex;
	justify-content:flex-start;
	align-items:center;
	gap:2%;
	position:relative;
	transition:border-radius 0.3s ease;
}

section.qa dl dt.open{
	border-radius:10px 10px 0 0;
}

section.qa dl dt::after{
	content:"";
	display:block;
	width:20px;
	height:20px;
	background-color:#45c2c8;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M11 17 L20 26 L29 17' fill='none' stroke='%23fff' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:center;
	background-size:20px 40px;
	border-radius:50%;
	position:absolute;
	top:0;
	bottom:0;
	margin:auto;
	right:2%;
	transform:rotate(0deg);
	transition:transform 0.3s ease;
}

section.qa dl dt.open::after{
	transform:rotate(180deg);
}

section.qa dl dt span.q_number{
	font-size:200%;
	color:#43c5cc;
	font-family:League Gothic;
	line-height:1.5;
	text-align:center;
	letter-spacing:0.02em;
	width:10%;
}

section.qa dl dt span.text{
	font-size:110%;
	line-height:1.2;
	font-weight:bold;
	width:85%;
	padding:20px 8% 20px 0;
}

section.qa dl dd{
	background:#fff;
	border-radius:0 0 10px 10px;
	margin:0 auto 15px;
	padding:20px 4.5%;
	box-sizing:border-box;
	font-size:110%;
	font-weight:500;
}

section.cta{
    background: linear-gradient(135deg, #e0edff 0%, #fff 60%, #e2dffd 100%) no-repeat;
	overflow:hidden;
	position:relative;
}

section.cta:after{
	content:"";
	display:block;
	width:100%;
	height:100px;
	background:#fff;
	position:absolute;
	top:0;
}

section.cta .inner{
	display:flex;
	flex-direction: column-reverse;
	margin:30px auto;
	position:relative;
	z-index:2;
}

section.cta .inner .left{
	width:90%;
	margin:20px auto 40px;
}

section.cta .inner .left h3{
	text-align:left;
	font-size:130%;
	font-weight:600;
	letter-spacing:0.02em;
	margin:0 auto 30px;
}

section.cta .inner .left h3 span{
	font-size:90%;
	display:block;
	margin:0 auto 30px;
	font-weight:normal;
}

section.cta .inner .right{
	width:60%;
	margin:0 auto;
}

section.cta .inner a{
	display: block;
	width:100%;
	margin:0;
	background: #8fff79;
	color: #0f2540;
	text-align: center;
	padding: 20px 0;
	border-radius: 50px;
	box-sizing: border-box;
	box-shadow: 0 4px 0 #0f2540;
	font-weight: bold;
}

section.overview{
	background: URL("../img/merit_bk.png") no-repeat;
    background-size: cover;
}

section.overview .inner{
	width:100%;
	padding:40px 0;
	position:relative;
	overflow:hidden;
}

section.overview .inner:before{
	position:absolute;
	top:-10px;
	left:0;
	content:URL("../img/merit_before.png");
	z-index:1;
}

section.overview .inner:after{
	position:absolute;
	bottom:-10px;
	right:0;
	content:URL("../img/merit_after.png");
	z-index:1;
}

section.overview .inner h2{
	color:#fff;
	font-size:200%;
	margin:0 auto 30px;
    position: relative;
    z-index: 2;
}

section.overview table{
	border-collapse:separate;
	border-spacing:0 10px;
	width:90%;
	margin:0 auto;
	position:relative;
	z-index:2;
}

section.overview table th{
	background:#d7eff1;
	margin:0 auto;
	width:100%;
	display:block;
	padding:10px 0;
	font-size:120%;
}

section.overview table td{
	width:100%;
	display:block;
	padding:20px 4%;
	box-sizing:border-box;
	background:#fff;
	font-size:100%;
	font-weight:500;
	text-align:center;
	letter-spacing:0.05em;
}

section.overview table tr:last-child td{
	text-align:left;
}

/* point */
section.point{
	background:URL("../img/point_bk.png") no-repeat;
	background-size:cover;
	overflow:hidden;
	padding-top:60px;
}

section.point .inner h2 span{
	display:block;
	margin:0 auto 20px;
	font-weight:500;
	font-size:80%;
}

section.point .inner h2{
	font-size:130%;
	display:block;
	margin:0 auto 30px;
	line-height:2.2;
}

section.point .inner h2 strong{
	display:block;
	font-size:100%;
	background:rgba(255,255,255,0.9);
	padding:10px 1.5%;
	border-radius:10px;
	box-sizing:border-box;
	box-shadow: 0 6px 10px rgba(15, 37, 64, 0.3);
}

section.point .inner ol{
	width:95%;
	margin:0 auto 40px;
}

section.point .inner ol > li{
	width:100%;
	background:#ecf9fa;
	border-radius:50px 0 50px 0;
	margin:0 auto 20px;
	box-sizing:border-box;
	box-shadow: 0 6px 10px rgba(15, 37, 64, 0.3);
	position:relative;
	overflow: hidden;
}

section.point .inner ol > li::after{
	content:"";
	display:block;
	width:128px;
	height:128px;
	background:URL("../img/point_icon01.png") no-repeat center;
	background-size:contain;
	position:absolute;
	bottom:-15px;
	right:-1.5%;
}

section.point .inner ol > li:nth-child(2)::after{
	background:URL("../img/point_icon02.png") no-repeat center;
}

section.point .inner ol > li:nth-child(3)::after{
	background:URL("../img/point_icon03.png") no-repeat center;
}

section.point .inner ol > li:last-child::after{
	background:URL("../img/point_icon04.png") no-repeat center;
}

section.point .inner ol > li h3{
	background:#0f2540;
	color:#fff;
	font-size:140%;
	letter-spacing:0;
	border:solid 2px #fff;
	box-sizing:border-box;
	border-radius:50px 0 0 0;
	box-shadow: 0 6px 10px rgba(15, 37, 64, 0.3);
	position: relative;
    margin: 0 auto 10px 0;
    display: flex;
    height: 70px;
    align-items: center;
    padding: 0 5%;
}

section.point .inner ol > li h3::after{
	content:"";
	display:block;
	position: absolute;
    right: 0;
    top: 0;
    content: "";
    height: 66px;
    width: 100px;
}

section.point .inner ol > li:nth-child(1) h3::after{
	background:URL("../img/case_01.png") no-repeat center;
	background-size:contain;
}

section.point .inner ol > li:nth-child(2) h3::after{
	background:URL("../img/case_02.png") no-repeat center;
	background-size:contain;
}

section.point .inner ol > li:nth-child(3) h3::after{
	background:URL("../img/case_03.png") no-repeat center;
	background-size:contain;
}

section.point .inner ol > li:last-child h3::after{
	background:URL("../img/case_04.png") no-repeat center;
	background-size:contain;
}


section.point .inner ol > li  .text_wrap{
	width:85%;
	margin:0 auto 20px;
}

section.point .inner ol > li .text_wrap h4{
	font-size:130%;
	border-bottom:solid 4px #0f2540;
	letter-spacing: normal;
	margin:0 auto 15px;
	padding-bottom:10px;
}

section.point .inner ol > li .text_wrap ul li{
	font-size:100%;
	letter-spacing:0;
	font-weight: 500;
	margin:0 auto 10px;
}

section.point .inner .last_text{
	font-size:150%;
	text-align:center;
	font-weight:bold;
	margin:0 auto 5px;
	display:flex;
	justify-content:center;
	align-items:center;
}

section.point .inner .last_text::before,
section.point .inner .last_text::after{
	content: "";
	display:block;
	width: 30px;
	height: 1.5px;
	background-color: #0f2540;
}

section.point .inner .last_text::before{
	transform: rotate(60deg);
}

section.point .inner .last_text::after{
	transform: rotate(-60deg);
}

section.point img.sample{
	width:96%;
	margin:200px auto 0;
}

/* perspective */
section.perspective{
	overflow:hidden;
    background: linear-gradient(135deg, #e0edff 0%, #fff 60%, #e2dffd 100%);
	position:relative;
}

section.perspective:after{
	content:"";
	display:block;
	height:10vw;
	width:100%;
	background:#53c8ce;
	position:absolute;
	bottom:0;
}

section.perspective img,sample{
	width:96%;
	margin:0 auto 80px;
	z-index:2;
	position:relative;
	z-index:2;
}

/* assessment */
section.assessment{
	overflow:hidden;
	position:relative;
	background: linear-gradient(135deg,#e0edff 0%,#fff 60%,#e2dffd 100%);
	padding-top:80px;
}

section.assessment:after{
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 50vw solid transparent;
    border-right: 50vw solid transparent;
    border-top: 50px solid #53c8ce;
    z-index: 1;
}

section.assessment img.sample{
	width:96%;
	margin:150px auto 40px;
}

section.assessment .inner h2,
section.assessment .inner h2 span,{
	color:#484848;
}

section.assessment .inner h2{
	font-size:175%;
	letter-spacing:0;
	color:#484848;
	margin:0 auto 35px ;
}

section.assessment .inner h2 span{
	font-size:75%;
	letter-spacing:0;
	color:#484848;
}

section.assessment .inner h2 strong{
	display:block;
	font-size:115%;
	background: linear-gradient(
		135deg,
		#2871fa 40%,
		#6717cd 60%
	);

	-webkit-background-clip: text;
	background-clip: text;

	-webkit-text-fill-color: transparent;
	color: transparent;
	letter-spacing:0;
}

section.assessment .inner p.lead{
	color:#0f2540;
	font-size:120%;
	text-align:center;
	margin:0 auto 30px;
}

section.assessment .inner ol{
	margin:0 auto 20px;
	width:95%;
}

section.assessment .inner ol li{
	width:100%;
	margin:0 auto 40px;
	background:#fff;
	padding-bottom:15px;
	border-radius:15px;
	box-shadow: 0 6px 10px rgba(15, 37, 64, 0.3);
	position:relative;
}

section.assessment .inner ol li:not(:last-child)::after{
	content: "";
	position: absolute;
	bottom:-40px;
	left:0;
	right:0;
	margin:auto;
	transform: translateY(-50%);
	transform:rotate(90deg);
	width:0;
	height:0;
	border-style: solid;
	border-width: 18px 0 18px 24px;
	border-color: transparent transparent transparent #2F67D8;
}

section.assessment .inner ol li h3{
	background:#3174e5;
	color:#fff;
	font-size:125%;
	border-radius:15px 15px 0 0;
	padding:0 4.5%;
	margin:0 auto 15px;
	box-sizing:border-box;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	box-shadow: 0 6px 10px rgba(15, 37, 64, 0.3);
}

section.assessment .inner ol li h3 span{
	color:#fff;
	font-size:250%;
	font-family:League Gothic;
	font-weight:normal;
	line-height:1.3;
}

section.assessment .inner ol li .fit_img{
	width:auto;
	height:30vw;
	margin:0 auto 20px;
}

section.assessment .inner ol li .fit_img img{
	width:100%;
	object-fit:contain;
}

section.assessment .inner ol li p{
	font-size:100%;
	font-weight:500;
	width:90%;
	margin:0 auto;
	letter-spacing:0.02em;
}

section.assessment .inner p.cta_text{
	width:95.5%;
	margin:0 auto 20px;
	text-align:center;
	color:#484848;
	font-size:140%;
	letter-spacing:0;
}

section.assessment a{
	display: block;
	width:90%;
	margin:0 auto 80px;
	background: #8fff79;
	color: #0f2540;
	text-align: center;
	padding: 20px 0;
	border-radius: 50px;
	box-sizing: border-box;
	box-shadow: 0 4px 0 #0f2540;
	font-weight: bold;
}

/* support */
section.support{
	overflow:hidden;
	position: relative;
    background: URL("../img/merit_bk.png") no-repeat;
    background-size: cover;
}

section.support .inner{
	width:100%;
	position: relative;
	padding:70px 0;
}

section.support .inner:before{
	position:absolute;
	top:-10px;
	left:0;
	content:URL("../img/merit_before.png");
}

section.support .inner:after{
	position:absolute;
	bottom:-10px;
	right:0;
	content:URL("../img/merit_after.png");
}

section.support .inner{
	z-index:1;
}

section.support .inner .content{
	width:96%;
	margin:0 auto;
	position:relative;
	z-index:2;
}

section.support .inner h2{
	color:#fff;
	font-size:150%;
	border-bottom:solid 1px #fff;
	padding-bottom:15px;
	margin:0 auto 20px;
}

section.support .inner .support_wrap{
	background:#fff;
	width:98%;
	margin:0 auto 0;
	padding:20px 0;
	border-radius:0 0 50px 0;
	position:relative;
	box-shadow: 0 6px 10px rgba(15, 37, 64, 0.3);
}

section.support .inner .support_wrap img{
	width:60%;
	height:auto;
	margin:0 auto;
}

section.support .inner .support_wrap .text_wrap{
	width:90%;
	margin:0 auto;
	box-sizing:border-box;
}

section.support .inner .support_wrap .text_wrap h3{
	font-weight:500;
	margin:0 auto 15px;
	text-align:center;
}

section.support .inner .support_wrap .text_wrap p.name{
	margin:0 auto 15px;
	text-align:center;
}

section.support .inner .support_wrap .text_wrap p.name strong{
	font-size:160%;
	margin:0 0 0 2%;
}

section.support .inner .support_wrap .text_wrap p.lead{
	margin:0 auto 35px;
	font-weight:500;
	letter-spacing:0;
}

section.support .inner .support_wrap .text_wrap p.lead:last-child{
	margin:0 auto;
}

section.support .inner .support_wrap .text_wrap ul{
	margin:0 auto 35px;
}

section.support .inner .support_wrap .text_wrap ul li{
	font-weight:500;
	margin:0 auto 10px;
	display:flex;
	align-items:center;
	gap:1%;
}

section.support .inner .support_wrap .text_wrap ul li::before{
	content:"";
	display:block;
	width:15px;
	height:15px;
	background:var(--main-color);
	border-radius:50%;
}


section.support img.sample{
	width:90%;
	margin:200px auto 150px;
	position:relative;
	z-index:2;
}

/* flow */
section.flow{
	overflow:hidden;
	padding:40px 0;
    background: linear-gradient(135deg, #e0edff 0%, #fff 60%, #e2dffd 100%);
}

section.flow img.sample{
	width:96%;
	margin:100px auto 150px;
}

section.flow .inner h2{
	color:#484848;
	font-size:150%;
	letter-spacing:0.1em;
	margin:0 auto 25px;
	padding-bottom:5px;
	border-bottom:solid 1px #000;
	padding:0 0 20px;
}

section.flow .inner h2 strong{
	font-size:120%;
	display:block;
	background: linear-gradient(
		135deg,
		#2871fa 40%,
		#6717cd 60% 
	);

	-webkit-background-clip: text;
	background-clip: text;

	-webkit-text-fill-color: transparent;
	color: transparent;
	letter-spacing:0;
}

section.flow .inner p.lead{
	font-size:110%;
	text-align:center;
	margin:0 auto 30px;
	line-height:2;
}

section.flow .inner ol li{
	display:flex;
	background:#fff;
	border:solid 2px #1b65e2;
	box-sizing:border-box;
	border-radius:20px;
	margin:0 auto 40px;
	box-shadow: 0 6px 10px rgba(15, 37, 64, 0.3);
	position:relative;
	align-items: center;
	gap:4%;
}

section.flow .inner ol li:nth-child(5) .step_number{
	padding:48px 0;
}

section.flow .inner ol li:last-child{
	margin:0 auto 35px;
}


section.flow .inner ol li:not(:last-child)::after{
	content: "";
	position: absolute;
	bottom:-35px;
	left:0;
	right:0;
	margin:auto;
	width:0;
	height:0;
	border-style: solid;
	border-width: 24px 18px 0 18px;
	border-color: #2F67D8 transparent transparent transparent;
}


section.flow .inner ol li p.step_number{
	background:#1b65e2;
	color:#fff;
	text-align:center;
	font-size:435%;
	font-family:League Gothic;
	line-height:1;
	width:20%;
	padding:24px 0;
	box-sizing:border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	letter-spacing:0;
    box-shadow: 0 6px 10px rgba(15, 37, 64, 0.3);
	border-radius: 15px 0 0 15px;
}

section.flow .inner ol li p.step_number span{
	color:#fff;
	display:block;
	font-family:League Gothic;
	font-size:57%;
	line-height:1;
	letter-spacing:0;
}

section.flow .inner ol li .text_wrap{
	width:86%;
	box-sizing:border-box;
	padding-right:3%;
}

section.flow .inner ol li .text_wrap h3{
	font-size:140%;
	line-height:1.2;
	color:#1b65e2;
	margin:0 auto 15px;
	display:flex;
	align-items:center;
	gap:3%;
}

section.flow .inner ol li .text_wrap h3::before{
	content:"";
	display:block;
	width:30px;
	height:30px;
	background:URL("../img/flow_01.png") no-repeat center;
	background-size:contain;
}

section.flow .inner ol li:nth-child(2) .text_wrap h3::before{
	background:URL("../img/flow_02.png") no-repeat center;
	background-size:contain;
}

section.flow .inner ol li:nth-child(3) .text_wrap h3::before{
	background:URL("../img/flow_03.png") no-repeat center;
	background-size:contain;
}

section.flow .inner ol li:nth-child(4) .text_wrap h3::before{
	background:URL("../img/flow_04.png") no-repeat center;
	background-size:contain;
}

section.flow .inner ol li:nth-child(5) .text_wrap h3::before{
	background:URL("../img/flow_05.png") no-repeat center;
	background-size:contain;
}

section.flow .inner ol li:last-child .text_wrap h3::before{
	background:URL("../img/flow_06.png") no-repeat center;
	background-size:contain;
}

section.flow .inner ol li .text_wrap p{
	font-size:100%;
	letter-spacing:normal;
}

section.flow .inner p.precautions{
	color:#484848;
	font-weight:300;
	font-size:90%;
}

address{
	font-style:normal;
	text-align:center;
	padding:10px 0;
	color:#fff;
	background:var(--main-color);
	font-size:65%;
}


