@charset "UTF-8";

@import url("normalize.css");
/* @import url("font-awesome.css"); */
@import url("general.css");
@import url("style.css");
@import url("contents.css");


.sp,
.spimage,
img[src*="_sp."],
.hidden {
	display: none !important;
}

/*
@media (min-width: 980px) {
	div.container {
		width: 980px;
	}
}
*/
/*
.slidemenu {
	display: none;
}
*/

a[href^="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
}

div.container {
	width: 100%;
	max-width: 1080px;
}

section p,
section ul li,
section ol li,
section dl dt,
section dl dd {
	color: #333333;
	/* color: #3d290e; */
	/* 	font-size: 1.1em; */
	font-size: 16px;
	line-height: 2em;
	text-align: justify;
	text-justify: distribute;
}

main {
	transform: none!important;
}





/* ▼ヘッダー */
/* ----------------------------------------------------- */
header {
	display: none;
}





/* ▼slidemenu */
/* ----------------------------------------------------- */
section#slidemenu {
	display: none;
}





/* ▼#keyvisual */
/* ----------------------------------------------------- */
section#keyvisual {
	clear: both;
	margin: 0;
	padding: 0;
	background-color: #f8f8f8;
	background-image:  url(../img/common_bg_pc.svg), url(../img/keyvisual_bg_pc.svg);
	background-repeat: repeat, no-repeat;
	background-position: top, top;
	margin: 0;
}
section#keyvisual div.container {
	position: relative;
	padding: 1px 0 1px 0;
	margin: 0 auto;
}
section#keyvisual h1 {
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 250px;
}
section#keyvisual figure {
	margin: 0;
	text-align: center;
	mix-blend-mode: multiply;
}





/* ▼.cta */
/* ----------------------------------------------------- */
div.cta {
	width: 82.87%;
	background: #ffffff;
	margin: 2em auto 0 auto;
	border-radius: 10px;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.2));
	padding: 30px 0 30px 0;
	position: relative;
	z-index: 1;
}
section#keyvisual div.cta {
	margin: 2em auto -150px auto;
		position: relative;

}
div.cta div.wrap {
	width: 91.39%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
div.cta h2 {
	font-size: 26px;
	font-weight: bold;
	text-align: center;
	margin: 0 0 0.3em 0;
}
div.cta h2 span {
	color: #15a4be;
}
div.cta h2:before {
	content: "＼";
	margin: 0 0.5em 0 0;
}
div.cta h2:after {
	content: "／";
}
div.cta p.note {
	font-size: 16px;
	text-align: center;
	margin: 0 0 1em 0;
}
div.cta div.wrap div.box {
	width: 31.66%;
	border-radius: 10px;
	background: #021f53;
	padding: 1em 1em 1em 1em;
	box-sizing: border-box;
	text-align: center;
	position: relative;
	z-index: 1;
}
div.cta div.wrap div.box p {
	color: #ffffff;
	font-size: 13px;
	text-align: center;
	margin: 0;
}
div.cta div.wrap div.box p span {
	font-size: 18px;
}
div.cta div.wrap div.box p.ttl {
	font-size: 22px;
	font-weight: bold;
	margin: 0 0 0.5em 0;
	position: relative;
	z-index: 1;
	padding: 0 0 0 2em;
	box-sizing: border-box;
	display: inline-block;
}
div.cta div.wrap div.box p.ttl:before {
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
div.cta div.wrap div.box p.doc:before {
	background-image: url(../img/cta_icon_doc.svg);
}
div.cta div.wrap div.box p.mail:before {
	background-image: url(../img/cta_icon_mail.svg);
}
div.cta div.wrap div.box p.tel:before {
	background-image: url(../img/cta_icon_tel.svg);
}
div.cta div.wrap div.box a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-indent:-999px;
	z-index: 2;
}





/* ▼共通 */
/* ----------------------------------------------------- */
section.blue {
	background: #15a4be url(../img/common_bg_pc.svg) repeat;
}
section.glay {
	background: #f8f8f8 url(../img/common_bg_pc.svg) repeat;
}
img.gsj {
	width: 306px!important;
	padding: 0 0.3em 5px 0;
}
img.glocal {
	width: 280px!important;
	mix-blend-mode: multiply;
	padding: 0 0 5px 0;
}
figure.people {
	width: 385px;
	margin: 0 auto 3em auto;
}





/* ▼#about */
/* ----------------------------------------------------- */
section#about {
	position: relative;
	z-index: 0;
	margin: 0;
}
section#about div.container {
	padding: 250px 0 70px 0;
}
section#about h2 {
	font-size: 47px;
	font-weight: 500;
	text-align: center;
	color: #ffffff;
	margin: 0 0 2em 0;
}
section#about div.wrap {
	width: 87.22%;
	margin: 0 auto 8em auto;
	display: flex;
	justify-content: space-between;
}
section#about div.wrap figure {
	width: 37.19%;
}
section#about div.wrap div.tex {
	flex: 1;
	padding: 0 6em 0 0;
}
section#about div.wrap div.tex p {
	font-size: 18px;
	color: #ffffff;
}
section#about div.wrap div.tex p.ttl {
	font-size: 28px;
	color: #15a4be;
	margin: 0 0 2em 0;
}
section#about div.wrap div.tex p.ttl span {
	background: #ffffff;
}
section#about div.recommend {
	width: 617px;
	margin: 0 auto;
	background: #ffffff;
	border-radius: 10px;
	padding: 2em 4.53% 2em 4.53%;
	box-sizing: border-box;
}
section#about div.recommend p.ttl {
	font-size: 28px;
	font-weight: 500;
	text-align: center;
	color: #15a4be;
	border-bottom: 1px solid #15a4be;
	margin: 0 0 1.5em 0;
	padding: 0 0 0.5em 0;
}
section#about div.recommend ul {
	margin: 0;
	padding: 0 0.5em 0 0.5em;
}
section#about div.recommend ul li {
	font-size: 18px;
	font-weight: 500;
	position: relative;
	z-index: 1;
	padding: 0 0 0 2em;
	box-sizing: border-box;
	margin: 0 0 1em 0;
	line-height: 1.7;
}
section#about div.recommend ul li:before {
	content: '';
	display: inline-block;
	width: 24px;
	height: 24px;
	background-image: url(../img/about_check.svg);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	position: absolute;
	left: 0;
	top: 0;
	margin: auto;
}

section#about div.arrow {
	width: 100%;
	margin: 0;
}




/* ▼#evidence */
/* ----------------------------------------------------- */
section#evidence div.container {
	padding: 50px 0 50px 0;
}
section#evidence p {
	font-size: 18px;
	text-align: center;
}
section#evidence p span {
	font-weight: bold;
	color: #15a4be;
}





/* ▼#reason */
/* ----------------------------------------------------- */
section#reason div.container {
	padding: 50px 0 50px 0;
}
section#reason h2 {
	font-size: 47px;
	font-weight: 500;
	text-align: center;
}
section#reason h2 span {
	font-size: 30px;
	display: block;
	margin: 0 0 0.5em 0;
}
section#reason h2 img.num-3 {
	width: 19px!important;
	margin: 0 0.5em 0 0.5em;
	padding: 0 0 0.3em 0;
}
section#reason h2 img.num-98 {
	width: 42px!important;
	margin: 0 0.3em 0 0.3em;
	padding: 0 0 0.3em 0;
}
section#reason div.tex {
	width: 73.33%;
	margin: 0 auto 3em auto;
}
section#reason div.tex p {
	font-size: 18px;
	text-align: center;
}





/* ▼#feature */
/* ----------------------------------------------------- */
section#feature div.container {
	padding: 50px 0 100px 0;
}
section#feature h2 {
	font-size: 47px;
	font-weight: 500;
	text-align: center;
	color: #ffffff;
}
section#feature h2 span {
	font-size: 26px;
}
section#feature h2 span span {
	color: #fbc000;
}
section#feature h2 img.num {
	width: 25px!important;
	margin: 0 0.3em 0 0.3em;
	padding: 0 0 10px 0;
}
section#feature div.box {
	width: 82.96%;
	margin: 0 auto 3em auto;
	padding: 3em 4.44% 3em 4.44%;
	box-sizing: border-box;
	background: #ffffff;
	border-radius: 10px;
	position: relative;
}
section#feature div.box figure {
	width: 34.82%;
	position: absolute;
	z-index: 0;
	top: 3em;
	right: 4.44%;
}
section#feature div.box div.tex {
	position: relative;
	z-index: 1;
}
section#feature div.box div.tex p.num {
	width: 20px;
	margin: 0;
}
section#feature div.box div.tex p.ttl {
	font-size: 27px;
	font-weight: 500;
	line-height: 1.7;
	margin: 0.5em 0 0.5em 0;
}
section#feature div.box div.tex div.note {
	width: 56.10%;
}





/* ▼#voice */
/* ----------------------------------------------------- */
section#voice div.container {
	padding: 50px 0 50px 0;
}
section#voice h2 {
	font-size: 47px;
	font-weight: bold;
	text-align: center;
}
section#voice div.box {
	width: 82.96%;
	margin: 0 auto 3em auto;
	padding: 2em 6.11% 3em 6.11%;
	box-sizing: border-box;
	background: #ffffff;
	border-radius: 10px;
	display: flex;
	justify-content: space-between;
}
section#voice div.box figure {
	width: 110px;
	margin: 0;
}
section#voice div.box div.tex {
	flex: 1;
	padding: 0 0 0 2em;
}
section#voice div.box div.tex p {
	font-size: 14px;
}
section#voice div.box div.tex p.ttl {
	font-size: 25px;
	color: #15a4be;
	margin: 0.5em 0 0.5em 0;
}
section#voice div.box div.tex p.name {
	font-size: 12px;
	font-weight: 900;
}





/* ▼#flow */
/* ----------------------------------------------------- */
section#flow {
	background-color: #15a4be;
	background-image:  url(../img/common_bg_pc.svg), url(../img/flow_bg_pc.svg);
	background-repeat: repeat, no-repeat;
	background-position: top, bottom;
}
section#flow div.container {
	padding: 50px 0 90px 0;
}
section#flow div.container > h2 {
	font-size: 47px;
	font-weight: 500;
	color: #ffffff;
	text-align: center;
}
section#flow div.container > h2 span {
	font-size: 30px;
	display: block;
	margin: 0 0 0.5em 0;
}
section#flow div.container > h2 img.num {
	width: 19px!important;
	margin: 0 0.5em 0 0.5em;
	padding: 0 0 0.3em 0;
}
section#flow ul {
	display: flex;
	justify-content: space-between;
	padding: 0;
}
section#flow ul li {
	width: 23.33%;
}
section#flow p.first {
	font-size: 47px;
	text-align: center;
	color: #ffffff;
}





/* ▼#company */
/* ----------------------------------------------------- */
section#company {
	background: #e6e6e6;
}
section#company div.container {
	padding: 30px 0 30px 0;
}
section#company h2 {
	font-size: 14px;
	font-weight: normal;
}
section#company table {
	margin: 0;
}
section#company table tr th,
section#company table tr td {
	font-size: 14px;
	font-weight: normal;
	text-align: left;
	padding: 0.3em 1em 0.3em 0;
}
section#company table tr th {
	width: 5em;
	text-align: justify;
	text-align-last: justify;
	text-justify: inter-character;
}





/* ▼footer */
/* ----------------------------------------------------- */
footer div.container {
	padding: 10px 0 10px 0;
}
footer figure {
	width: 250px;
}





/* ▼optin */
/* ----------------------------------------------------- */
section#optin div.container {
	padding: 50px 0 50px 0;
}
section#optin div.wrap {
	padding: 2em 3.15% 3em 3.15%;
	box-sizing: border-box;
	background: #ffffff;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.3));
}
section#optin h1,
section#optin h2 {
	font-size: 47px;
	font-weight: 500;
	text-align: center;
	margin: 0 0 1em 0;
}

section#optin form table {
	width: 82.87%;
	margin: 0 auto;
	border: none;
	border-radius: 10px;
	border-spacing: 0;
	border-collapse: separate;
	border: 1px solid #aaa;
}

section#optin form table th,
section#optin form table td {
	padding: 0.8em 0.5em;
/*	border: 1px solid #c1c1c1; */
}

section#optin form table th {
	width: 25.284%;
	padding-left: 4em;
/*	font-size: 0.7em; */
	vertical-align: middle;
	background: #e6e6e6;
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
}
section#optin form table td {
	background: #ffffff;
	border-bottom: 1px solid #ccc;
	padding: 10px 20px;
}
section#optin form table tr:first-child th {
	border-radius: 10px 0 0 0;
}
section#optin form table tr:first-child td {
	border-radius: 0 10px 0 0;
}
section#optin form table tr:last-child th {
	border-bottom: none;
	border-radius: 0 0 0 10px;
}
section#optin form table tr:last-child td {
	border-bottom: none;
	border-radius: 0 0 10px 0;
}

section#optin form table th i {
	font-size: 0.786em;
}
section#optin form table td span.small {
	font-size: 0.786em;
}

section#optin form table th span {
	top: 47%;
	left: 0.5em;
	padding: 0.3em 0.5em 0.4em 0.5em;
	/* transform */
	-webkit-transform: translate(0,-50%);
	-moz-transform: translate(0,-50%);
	-ms-transform: translate(0,-50%);
	-o-transform: translate(0,-50%);
	transform: translate(0,-50%);
}

section#optin form table td input.namefield,
section#optin form table td input#postcode,
section#optin form table td input#paycid,
section#optin form table td input#zip {
	width: 30%;
}

section#optin form table td input#firstname,
section#optin form table td input#firstkana {
	margin: 0 1.5em;
}

section#optin form table td select {
	width: auto;
}


section#optin form table td input#telephone {
	width: 40%;
}

section#optin form table td p {
	margin: 1em 0 0 0;
/*	font-size: 0.7em; */
	line-height: 1.5;
}



section#optin form p#submit,
section#optin form p#return,
section#optin form p#gohome {
	font-size: 1.25em;
}

section#optin form p#submit button,
section#optin form p#return button,
section#optin form p#gohome button {
	width: 63.918%;
	padding: 1em;
}

section#optin form p#submit button::after,
section#optin form p#return button::before,
section#optin form p#gohome button::before {
	margin: 0.3em 0 0 0;
	width: 1em;
	height: 1em;
}

section#optin form > p.alignCenter,
section#optin form > p.memo {
	text-align: center;
}

section#optin form p#submit button span {
	font-size: 14px;
	font-weight: normal;
}





/* ▼ページトップ */
/* ----------------------------------------------------- */
div#pagetop {
	position: fixed;
	bottom: 30px;
	right: 0;
	z-index: 100;
}
div#pagetop a {
	display: block;
	width: 30px;
	margin: 0;
	padding: 15px 0;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	background: #666666;
	background: rgba(0, 0, 0, 0.7);
	/* border-radius */
	-moz-border-radius: 2px 0 0 2px;
	-webkit-border-radius: 2px 0 0 2px;
	-o-border-radius: 2px 0 0 2px;
	-ms-border-radius: 2px 0 0 2px;
	border-radius: 2px 0 0 2px;
	/* transition */
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;
}
div#pagetop a:before {
	font-family: "Font Awesome 5 Free";
	content: "\f106";
	font-weight: bold;
	color: #ffffff;
}
div#pagetop a:hover,
div#pagetop a:active {
	-moz-opacity: 0.6;
	opacity: 0.6;
	filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60);  /* For IE 5-7 */
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; /* For IE 8 */
}
div#pagetop a span {
	display: none;
}

            