@charset "UTF-8";

/*---------------------------------------------------------
							reset
---------------------------------------------------------*/

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video,input,textarea {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,ヒラギノ角ゴ ProN W3,Arial,メイリオ,Meiryo,sans-serif;
	box-sizing:border-box;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section {
	display: block;
}
ul {
	list-style: none;
}

a:hover img {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-moz-opacity: 0.8;
}

body {
	-webkit-text-size-adjust: none;
	font-size: 20px;
	color:#23485d;
	line-height: 1.5;
}

a {
	color: #fff;
	text-decoration: underline;
	outline: none;
}

a:hover {
	text-decoration: none;
}

.annotation_2{
    text-align: center;
}

img{
	width:82%%;
	height:auto;
	vertical-align:bottom;
	backface-visibility: hidden;
  /*  margin-left: -24px; */
}
.sp {
	display: none;
}
/*---------------------------------------------------------
common
---------------------------------------------------------*/
.container{
	max-width:1200px;
	width:96%;
	margin:auto;
	position:relative;
}
.container_s{
	max-width:1000px;
	width:96%;
	margin:auto;
	position:relative;
}

.container_ss{
	max-width:1000px;
	width:96%;
	margin:auto;
	position:relative;
    padding-top: 10px;
}


/*---------------------------------------------------------
main
---------------------------------------------------------*/
main{
	background:url("../img/main_bg.jpg") no-repeat top center / cover;
	padding:20px 0 65px;
}
.logo {
	display:flex;
	align-items:center;
	margin-bottom:32px;
}
.logo img{
	width:149px;
}
.logo figcaption{
	color:#fff;
	font-size:.65em;
	padding-left:1em;
}
.fbx{
	display:flex;
	justify-content:space-between;
}
.mainimg{
	max-width: 759px;
    width: 72%;
    box-sizing: border-box;
}
.inline{
	width: 100%;
}
.mainimg span{
	padding: 2px 10px;
	margin: 0 0 7px 0;
	background-image: -moz-linear-gradient( 0deg, rgb(255,174,0) 0%, rgb(255,246,0) 100%);
	background-image: -webkit-linear-gradient( 0deg, rgb(255,174,0) 0%, rgb(255,246,0) 100%);
	background-image: -ms-linear-gradient( 0deg, rgb(255,174,0) 0%, rgb(255,246,0) 100%);
	display:table;
	color:#006b65;
	font-size:22.5px;
	font-weight:600;
	line-height:1.3;
}
.mainimg span.l{
    font-size: 31px;
    margin: 15px 0 12px;
    line-height: 1.2;
    letter-spacing: -2px;
}
.mainimg span.l small{
	font-size:.6em;
	position: relative;
	top: -6px;
}
.mainimg .imgbox {
	position: relative;
}
.mainimg .imgbox .textbox {
	width: 80%;
	position: absolute;
	top: 37px;
	left: 0;
}

.mainimg .imgbox .textbox02 {
	width: 100%;
	position: absolute;
	top: 37px;
	left: 0;
    top: 10px;
}


.mainimg .imgbox .photo {
	text-align: right;
    margin-top: 54px;
}
.mainimg .imgbox .photo img {
	width: 52%;
    max-width: 468px;
}
@media screen and (min-width: 768px) {
.mainimg .imgbox .fmp img{
	position: absolute;
    top: 243px;
    max-width: 592px;
    margin-left: -32px;
    margin-top: -145px;
}
}
#form{
	background:rgba(255,255,255,0.85);
	border-radius:10px;
	width:36.6666666%;
	padding:40px;
}
#form p{
	font-size:13px;
	margin-top:1em;
}
.hbspt-form span{
	color:#23485d;
	font-size:18px;
	font-weight:bold;
}
fieldset{
	max-width:100%!important;
	margin-bottom:16px!important;
}
input{
	border-radius:4px;
	border:1px solid #c3c3c3;
	padding:0.5em 1em;
}
.form-columns-2 input{
	width:100%;
}
input[type="submit"] {
	width: 100%;
	background: url(../img/submit.png) no-repeat center top / contain;
	padding-top: 16.81%;
	border: 0;
	border-radius: 0;
	text-indent: -99999px;
}
@media all and (-ms-high-contrast:none) {
	.mainimg span {
		padding: 5px 10px 0;
	}
}
@media screen and (max-width: 1050px) {
	.mainimg span{
		font-size: calc(1.2rem + ((1vw - 7.68px)));
	}
	.mainimg span.l{
		font-size: calc(2.1rem + ((1vw - 7.68px)));
	}
	.mainimg span.l small {
		top: -5px;
	}
}
/*---------------------------------------------------------
question
---------------------------------------------------------*/
#q{
	background:#ececec url("../img/q_bg.png") no-repeat left top 20%;
	padding:120px 0 120px;
	overflow:hidden;
}
#q h2{
	display:table;
	background-image: -moz-linear-gradient( 0deg, rgb(0,148,185) 0%, rgb(0,94,174) 100%);
	background-image: -webkit-linear-gradient( 0deg, rgb(0,148,185) 0%, rgb(0,94,174) 100%);
	background-image: -ms-linear-gradient( 0deg, rgb(0,148,185) 0%, rgb(0,94,174) 100%);
	color:#fff;
	font-size:36px;
	font-weight:600;
	line-height:1.8;
	margin:auto;
	padding:0 20px;
	position:relative;
	z-index:2;
}
#q h2:after{
	content:"";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 18px 13.5px 0 13.5px;
	border-color: #007bb4 transparent transparent transparent;
	position:absolute;
	bottom:-18px;
	left:0;
	right:0;
	margin:auto;
}
#q ul{
	background:#fff;
	padding:7.5% 8.333333%;
	position:relative;
	top:-26px;
}
#q ul li{
	background:url("../img/check.png") no-repeat left center / contain;
	color:#23485d;
	font-size:26px;
	font-weight:600;
	padding-left:50px;
	margin-bottom:1em;
	position:relative;
	z-index:4;
}
#q ul li span{
	color:#e6692e;
}
#q .container figure{
	width:35.3333333%;
	position:absolute;
	right:-4.7%;
	bottom:-7%;
}
#q .ar{
	text-align:center;
	margin:0 auto 30px;
}
#q .ar img{
	width:auto;
}
#q p{
	color:#23485d;
	font-size:36px;
	font-weight:600;
	text-align:center;
}
#q p small{
	display:block;
	font-size:0.6666666em;
	margin:14px auto;
}
#q p small span{
	color:#e6692e;
}
#q p strong{
	display:inline-block;
	background: linear-gradient(transparent 80%,#ffd200 80%);
	font-size:1.5555555em;
	line-height:1;
	padding:0 8px;
	margin:0 auto 36px;
}
.btn {
	display:block;
	max-width:700px;
	margin:auto;
}
.btn figure{
	width:60.714285%;
	margin:0 auto 20px;
}
@media screen and (max-width: 1020px) {
	#q h2{
		font-size: calc(1.625rem + ((1vw - 7.68px) * 3.9683));
	}
}
@media screen and (max-width: 980px) {
	#q ul li{
		font-size: calc(1.25rem + ((1vw - 7.68px) * 2.381));
	}
	#q p{
		font-size: calc(1.75rem + ((1vw - 7.68px) * 3.7736));
	}
}
/*---------------------------------------------------------
section
---------------------------------------------------------*/
section{
	background:url("../img/blue.jpg") no-repeat center top / cover;
	padding:105px 0 120px;
}
#reason{
	margin-bottom:128px;
}
#reason h2{
	background:url("../img/reason_ttl.png") no-repeat center top;
	color:#fff;
	font-size:34px;
	font-weight:400;
	text-align:center;
	padding-top: 90px;
	margin-bottom:40px;
}
#reason h2 strong{
	font-size:48px;
	font-weight:600;
	color:#ffc000;
}
#reason ul{
	display:flex;
	justify-content:space-between;
}
#reason ul li{
	color:#fff;
	width:33%;
}
#reason ul li figure{
	text-align:center;
}
#reason ul li figure img{
	max-width:84.84848484%;
}
#reason ul li figcaption{
	font-size:19px;
	font-weight:300;
	margin-top:30px;
	white-space:nowrap;
}
#reason ul li span{
	color:#ffc000;
	font-weight:600;
	line-height:2;
}
#intro h2{
	background:url("../img/intro_ttl.png") no-repeat center top;
	color:#fff;
	font-size:56px;
	font-weight:400;
	line-height: 1;
	text-align:center;
	padding-top: 90px;
	margin-bottom:40px;
}
#intro ul{
	margin-bottom:80px;
}
#intro ul li{
	padding:70px 0 60px;
}
#intro ul li:not(:last-child){
	margin-bottom:30px;
}
#intro ul li .l{
	padding-left:8.333333333%;
}
#intro ul li .r{
	padding-left:47.08333333%;
}
#intro ul li:nth-child(1){
	background:#fff url("../img/intro1.png") no-repeat right bottom / contain;
}
#intro ul li:nth-child(2){
	background:#fff url("../img/intro2.png") no-repeat left 4.4% center / 39.9%;
}
#intro ul li:nth-child(3){
	background:#fff url("../img/intro3.png") no-repeat right 4.16% center / 39.25%;
}
#intro ul li:nth-child(4){
	background:#fff url("../img/intro4.png") no-repeat left 4.3% center / 39.3%;
}
#intro ul li strong{
	display:table;
	border-radius:16px;
	background:#e6692e;
	color:#fff;
	font-weight:100;
	line-height:32px;
	text-align:center;
	padding:0 1em;
}
#intro ul li h3{
	font-size:36px;
	font-weight:600;
	line-height:1;
	padding:.5em 0 .8em;
}
#intro ul li span{
	color:#e6692e;
	font-weight:600;
}
/*---------------------------------------------------------
ceo
---------------------------------------------------------*/
#ceo{
	background: url(../img/ceo_bg02.jpg) no-repeat right bottom,url(../img/q_bg.png) no-repeat left bottom 20%,url(../img/ceo_bg01.jpg) repeat left top;
	padding: 0 0 373px;
	overflow: hidden;
}
#ceo header{
	background:url("../img/ceo_hd.jpg") no-repeat top center;
	padding:130px 0 150px;
	position:relative;
}
#ceo header .innr{
	display:table;
	font-weight:600;
	letter-spacing:-1px;
	text-align:center;
	padding-left:45.16666%;
}
#ceo header .innr h3{
	font-size:56px;
	font-weight:300;
	line-height:1.2;
	margin-bottom: 20px;
}
#ceo header .innr h3 small{
	display:block;
	color:#31cdf5;
	font-size:14px;
	font-weight:600;
}
#ceo header .innr span {
	background-image: -moz-linear-gradient( 0deg, rgb(0,148,185) 0%, rgb(0,94,174) 100%);
	background-image: -webkit-linear-gradient( 0deg, rgb(0,148,185) 0%, rgb(0,94,174) 100%);
	background-image: -ms-linear-gradient( 0deg, rgb(0,148,185) 0%, rgb(0,94,174) 100%);
	display: table;
	color: #fff;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.3;
	padding: 0 10px;
	margin:0 auto 5px;
}
#ceo ul{
	background:#fff;
	display:flex;
	justify-content:space-between;
	padding:70px 6.5%;
	position:relative;
	top:-60px;
	margin-bottom:-60px;
}
#ceo ul li{
	width:47.4%;
	font-weight:300;
}
#ceo ul li span{
	color:#e6692e;
	font-weight:600;
}

/*---------------------------------------------------------
strong point
---------------------------------------------------------*/
#stp {
	background: #fff url(../img/r_dot.png) no-repeat right top;
	padding:120px 0;
	position: relative;
	z-index: 10;
}
#stp h2 {
	background: url(../img/ta_ttl.png) no-repeat center top;
	font-size: 56px;
	font-weight: 300;
	text-align: center;
	padding-top: 90px;
	margin-bottom: 40px;
}
#stp ul{
	display:flex;
	justify-content:center;
}
#stp ul li{
	width:32%;
	margin:0 0.5%;
}
#stp ul li figure {
	color:#0093b9;
	font-size:24px;
	font-weight:600;
	text-align:center;
}
#stp ul li figure img{
	width:72.92%;
}
#stp ul li figcaption{
	margin:1em auto;
}
#stp ul li p{
	display:block;
	font-weight:300;
	line-height:2;
	width:90%;
	margin:auto;
	word-break: break-all;
}
#stp ul li p span{
	color:#e6692e;
	font-weight:600;
}
/*---------------------------------------------------------
number
---------------------------------------------------------*/
#number{
	background:url("../img/number_bg.jpg") no-repeat center top / cover;
	padding:100px 0 120px;
}
#number h2{
	background: url(../img/number_ttl.png) no-repeat center top;
	color:#fff;
	font-size: 56px;
	font-weight: 300;
	text-align: center;
	padding-top: 90px;
	margin-bottom: 40px;
}
#number figure.main{
	margin-bottom:72px;
}
/*---------------------------------------------------------
company
---------------------------------------------------------*/
#company{
	background:url("../img/company_bg.jpg") no-repeat center top / cover;
	color:#fff;
	padding:100px 0;
	margin:auto;
}
#company h3{
	font-size:36px;
	font-weight:600;
}
#company ul{
	display:flex;
	justify-content:space-between;
	font-size:18px;
}
#company ul li{
	width:48%;
}
#company ul li div{
	display:flex;
	border-bottom:1px dashed #fff;
	padding:18px 0;
}
#company ul li div:first-child{
	padding-top:0;
}
#company ul li div span:first-child{
	font-weight:600;
	width:7em;
}
#company ul li div span:last-child{
	flex:1;
}
#company ul li a{
	display:block;
	background:url("../img/fd.png") no-repeat left center ;
	color:#fff;
	text-decoration:none;
	padding-left:30px;
}
/*---------------------------------------------------------
thanks
---------------------------------------------------------*/
#thanks header{
	padding:20px 0 185px;
}

#thanks_ac header{
	padding:20px 0 100px;
}

#thanks .logo {
	display: flex;
	align-items: center;
	margin-bottom: 85px;
}
#thanks .logo figcaption {
	color: #333;
}
#thanks header h2{
	font-size:36px;
	font-weight:600;
	text-align:center;
}

#thanks_ac header h2{
	font-size:36px;
	font-weight:600;
	text-align:center;
}

#so{
	padding-bottom:100px;
	background: url(../img/so_bg.jpg) no-repeat center top;
	background-size: cover;
}
#so h3{
	position:relative;
	top:-90px;
	margin-bottom:-60px;
}
#so p{
	color:#fff;
	margin-bottom:32px;
}
#so p span{
	color:#ffc000;
	font-weight:500;
}
#so figure{
	margin-bottom:60px;
}
#thanks .btn{
	max-width:600px;
}
#flow{
	background:#ececec;
	padding:100px 0;
}
#flow h3{
	color:#23485d;
	font-size:46px;
	text-align:center;
	margin-bottom:40px;
}
#report{
	padding:100px 0 40px;
	background: url(../img/report_bg.jpg) no-repeat center top;
	background-size: cover;
}
#report h3{
	color:#fff;
	font-size:46px;
	text-align:center;
	margin-bottom:40px;
}
#report img{
	margin-bottom:60px;
}
#ac{
	background-image: -moz-linear-gradient( 0deg, rgb(16,56,109) 0%, rgb(0,100,149) 100%);
	background-image: -webkit-linear-gradient( 0deg, rgb(16,56,109) 0%, rgb(0,100,149) 100%);
	background-image: -ms-linear-gradient( 0deg, rgb(16,56,109) 0%, rgb(0,100,149) 100%);
	padding-bottom:100px;

}
#ac .form{
	background: rgba(200,213,228,0.85);
	border-radius: 10px;
	width: 100%;
	padding: 40px;
	position:relative;
	top:-90px;
	margin:0 auto -90px;
}
#ac p{
	color:#fff;
	font-weight:600;
	text-align:center;
	margin-top:2em;
}
#ac input[type="submit"] {
	width: 100%;
	background: url(../img/send.png) no-repeat center top / contain;
	padding-top: 16.81%;
	border: 0;
	border-radius: 0;
	text-indent: -99999px;
	max-width: 360px;
	margin: auto;
	display: table;
}
/*---------------------------------------------------------
footer
---------------------------------------------------------*/
#page-top {
	position: fixed;
	width: 54px;
	z-index:999;
}
footer {
	background:#23485d;
	width: 100%;
	margin: auto;
	color:#fff;
	font-size: 12px;
	font-weight: 300;
	text-align: center;
	padding:32px 0;
}

footer a{
	display:block;
	color:#fff;
	font-size:16px;
	text-decoration:underline;
}
#page-top {
	position: fixed;
	right: 30px;
}
@media screen and (max-width: 1200px) {
	#ceo header .innr h3,#intro h2,#stp h2,#number h2{
		font-size: calc(2.5rem + ((1vw - 7.68px) * 3.7037));
	}
	#ceo header .innr span{
		font-size: calc(1.125rem + ((1vw - 7.68px) * 2.3148));
	}
}
@media screen and (max-width: 1100px) {
	#intro ul li p{
		font-size: calc(0.8125rem + ((1vw - 7.68px) * 2.1084));
	}
}
@media screen and (max-width: 1000px) {
	#intro ul li h3{
		font-size: calc(1.625rem + ((1vw - 7.68px) * 4.3103));
	}
	#intro ul li strong{
		font-size: calc(1rem + ((1vw - 7.68px) * 1.7241));
	}
	#ceo ul li,#stp ul li p{
		font-size: calc(1rem + ((1vw - 7.68px) * 1.7241));
	}
	#stp ul li figure{
		font-size: calc(1.125rem + ((1vw - 7.68px) * 2.5862));
	}
}
@media screen and (max-width: 900px) {
	#reason ul li figcaption{
		font-size: calc(0.9375rem + ((1vw - 7.68px) * 3.0303));
	}
}
/*---------------------------------------------------------
Smart Phone
---------------------------------------------------------*/


/*Media Queries*/

@media screen and (max-width: 767px) {
	body, html {
		min-width: 100%;
		font-family: -apple-system,BlinkMacSystemFont,Helvetica Neue,Segoe UI,Hiragino Kaku Gothic ProN,Hiragino Sans,ヒラギノ角ゴ ProN W3,Arial,メイリオ,Meiryo,sans-serif;
	}
	body {
		font-size: 14px;
	}
	img {
		max-width: 100%;
	}
	#main,footer {
		width: 100%;
	}
    	#main,footer01 {
		width: 100%;
	}
	img.sp {
		width: 100%;
	}
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	.container,
	.container_s{
		padding-left:4%;
		padding-right:4%;
		width:100%;
	}
	main {
		background: url(../img/main_bgs.jpg) no-repeat top center / cover;
		padding: 10px 0 30px;
	}
	.logo {
		margin-bottom: 20px;
	}
	.logo img {
		width: 75px;
	}
	.fbx{
		display:block;
	}
	.mainimg {
		margin: 0 auto;
		padding: 0 20px;
		width: 100%;
	}
	.inline {
		width: 100%;
		margin-bottom: 12px;
	}
	.inline img {
		margin: 0 auto;
		max-width: 480px;
	}
	.mainimg span {
		margin: 0 auto 5px;
		padding: 1px 3px;
		font-size:10px;
	}
	.mainimg span.l {
		font-size: 19.3px;
		margin: -2px auto 0;
		padding: 1px 8px;
	}
    	.mainimg span.l01 {
		font-size: 22.3px;
		margin: -2px auto 0;
		padding: 1px 8px;
        margin-top: 3px;
	}
	.mainimg span.l small{
		top:-3px;
	}
	.mainimg .imgbox .textbox {
		margin-bottom: 4px;
		width: auto;
		position: relative;
		top: auto;
		left: auto;
		text-align: center;
	}
	.mainimg .imgbox .photo img {
		margin:-9px auto;
		width: 76%;
        margin-top: -64px;
        
	}
    .mainimg .imgbox .fmp img{
    width: auto;
    text-align: center;
    margin-left: 3px;
    margin-top: -15px;
    }
	#form {
		border-radius: 5px;
		width: 100%;
		padding: 30px 20px;
		margin-top:18px;
	}
	#form p{
		font-size:10px;
		margin-top:1em;
	}
	#q {
		background: #ececec url(../img/q_bg.png) no-repeat left top 2% / 45%;
		padding: 60px 0;
	}
	#q h2{
		font-size:21px;
		line-height:1.2;
		padding:10px;
		text-align:center;
	}
	#q h2:after {
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 11px 8px 0 8px;
		border-color: #007bb4 transparent transparent transparent;
		position: absolute;
		bottom: -11px;
		left: 0;
		right: 0;
		margin: auto;
	}
	#q ul {
		background: #fff;
		padding: 56px 20px 170px;
		position: relative;
		top: -16px;
	}
	#q ul li {
		background: url(../img/check.png) no-repeat left center / 27px;
		font-size: 18px;
		padding-left: 35px;
	}
	#q .container figure {
		width: 56.534%;
		position: absolute;
		right: 0;
		left:0;
		bottom: 0;
		margin:auto;
	}
	#q .ar{
		margin:20px auto;
		width: 36px;
	}
	#q p{
		font-size:23px;
	}
	#q p small span {
		display:inline;
		margin-bottom:0;
	}
	#q p span{
		display: block;
		margin-bottom:30px;
	}
	#q p strong{
		margin-bottom:0;
	}
	.btn{
		margin:0 4%;
	}
	.btn figure{
		width:73.914%;
		margin-bottom:9px;
	}
	section {
		background: url(../img/blues.jpg) no-repeat center top / cover;
		padding: 50px 0 60px;
	}
	#reason {
		margin-bottom: 75px;
	}
	#reason h2 {
		background: url(../img/reason_ttls.png) no-repeat center top / 106px;
		font-size: 20px;
		line-height: 1.2;
		text-align: center;
		padding-top: 55px;
		margin-bottom: 25px;
	}
	#reason h2 strong{
		font-size:32px;
	}
	#reason ul {
		display: flex;
		justify-content: center;
		flex-wrap:wrap;
	}
	#reason ul li {
		width:48%;
	}
	#reason ul li figcaption{
		font-size: 15px;
		width: 92%;
		display: block;
		margin: 10px auto 0;
		text-align: center;
		white-space: normal;
	}
	#reason ul li span{
		line-height:1;
	}
	#reason ul li:last-child{
		margin-top:18px;
		width:100%;
	}
	#reason ul li figure img{
		width:140px;
	}
	#reason ul li:last-child figcaption{
		width:100%;
	}
	#intro h2 {
		background: url(../img/intro_ttls.png) no-repeat center top / 62px;
		font-size: 33px;
		line-height: 1.2;
		text-align: center;
		padding-top: 55px;
		margin-bottom: 25px;
	}
	#intro ul {
		margin-bottom: 40px;
	}
	#intro ul li:not(:last-child) {
		margin-bottom: 14px;
	}
	#intro ul li {
		padding: 35px 20px 0;
	}
	#intro ul li:nth-child(1){
		padding-bottom:270px;
	}
	#intro ul li:nth-child(2){
		background:#fff url("../img/intro2.png") no-repeat center bottom 9% / 68%;
		padding-bottom:204px;
	}
	#intro ul li:nth-child(3){
		background:#fff url("../img/intro3.png") no-repeat center bottom 9% / 68%;
		padding-bottom:204px;
	}
	#intro ul li:nth-child(4){
		background:#fff url("../img/intro4.png") no-repeat center bottom 9% / 68%;
		padding-bottom:210px;
	}
	#intro ul li .l,#intro ul li .r{
		padding:0;
	}
	#intro ul li strong{
		font-size:15px;
		line-height:25px;
	}
	#intro ul li h3{
		font-size:21px;
		line-height:1.2;
	}
	#intro ul li p{
		font-size:15px;
	}
	#ceo {
		background: url(../img/sp_ceo_bg02.png) no-repeat left bottom,url(../img/sp_ceo_bg03.png) no-repeat right bottom,url(../img/ceo_bg01.jpg) repeat left top;
		padding: 0 0 229px;
		background-size: 139px auto,375px auto,9px auto;
		overflow: hidden;
	}
	#ceo header {
		background: url(../img/ceo_hds.jpg) no-repeat top center / cover;
		padding: 40px 0 55px;
		position: relative;
	}
	#ceo header .innr {
		display: table;
		font-size: 15px;
		letter-spacing: -1px;
		text-align: right;
		padding-left: 33%;
	}
	#ceo header .innr h3 {
		font-size: 33px;
		font-weight: 300;
		line-height: 1.2;
		margin-bottom: 10px;
	}
	#ceo header .innr h3 small{
		font-size:9px;
		font-weight:300;
	}
	#ceo header .innr span {
		background-image: -moz-linear-gradient( 0deg, rgb(0,148,185) 0%, rgb(0,94,174) 100%);
		background-image: -webkit-linear-gradient( 0deg, rgb(0,148,185) 0%, rgb(0,94,174) 100%);
		background-image: -ms-linear-gradient( 0deg, rgb(0,148,185) 0%, rgb(0,94,174) 100%);
		font-size: 14px;
		line-height: 1.3;
		padding: 0 5px;
		margin: 0 0 5px auto;
	}
	#ceo ul {
		background: #fff;
		display: block;
		padding: 20px;
		width:92%;
		position: relative;
		top: -30px;
		margin:0 auto -30px;
	}
	#ceo ul li {
		width: 100%;
		font-size:15px;
	}
	#ceo ul li:first-child{
		margin-bottom:1em;
	}
	#stp {
		background: #fff url(../img/r_dot.png) no-repeat right top / 40%;
		padding: 50px 0 60px;
	}
	#stp h2 {
		background: url(../img/stp_ttls.png) no-repeat center top / 63px;
		font-size: 33px;
		line-height: 1.2;
		text-align: center;
		padding-top: 55px;
		margin-bottom: 25px;
	}
	#stp ul {
		display: flex;
		justify-content: center;
		flex-wrap:wrap;
	}
	#stp ul li{
		width:49%;
		margin:0;
	}
	#stp ul li:last-child{
		width:100%;
		margin-top:1em;
	}
	#stp ul li figure{
		font-size:18px;
	}
	#stp ul li figure img {
		width: 140px;
	}
	#stp ul li p{
		font-size:14px;
		line-height:1.4;
	}
	#number {
		background: url(../img/number_bgs.jpg) no-repeat center top / cover;
		padding: 40px 0 60px;
	}
	#number h2 {
		background: url(../img/number_ttls.png) no-repeat center top / 72px;
		font-size: 33px;
		line-height: 1.2;
		text-align: center;
		padding-top: 55px;
		margin-bottom: 25px;
	}
	#number figure.main {
		margin-bottom: 40px;
	}
	#company {
		background: url(../img/company_bgs.jpg) no-repeat center top / cover;
		padding: 55px 0 30px;
	}
	#company ul {
		display: flex;
		flex-direction:column-reverse;
		font-size: 15px;
	}
	#company ul li {
		width: 100%;
	}
	#company h3{
		font-size:23px;
	}
	#company ul li div span:first-child {
		width: 5em;
	}
	#company ul li img{
		display:block;
		margin:30px auto 0;
		width:226px;
	}
	footer{
		font-size:10px;
		text-align:left;
		padding:30px 4%;
	}
	footer a {
		font-size: 15px;
		margin-bottom:10px;
	}
	#page-top {
		position: fixed;
		width:33px;
		right: 4%;
	}
	#thanks header h2{
		font-size:23px;
	}
	#so{
		padding-bottom:50px;
		background-image: url(../img/sp_so_bg.jpg);
	}
	#so p {
		font-size: 15px;
	}
	#so figure {
		margin-bottom: 30px;
	}
	#thanks .btn{
		margin:auto;
	}
	#report {
		background-image: url(../img/sp_report_bg.jpg);
	}
	#flow,#report{
		padding:50px 0;
	}
	#flow h3,#report h3{
		font-size:23px;
		margin-bottom:1em;
	}
	#report img {
		margin-bottom: 30px;
	}
}
/*---------------------------------------------------------
Smart Phone ~320px
---------------------------------------------------------*/
@media screen and (max-width: 348px) {
	#q h2{font-size:19px;}
	#q ul li{font-size:14px;}
	#q p {font-size: 20px;}
	#reason h2,#intro h2 {font-size:30px;}
	#intro ul li h3{font-size:18px;}
	#intro ul li p{font-size:14px;}
	#ceo header .innr h3 {font-size: 28px;}
}

#medium-110b47d4-4bed-4523-b1f4-b7f27e579ab3{
	height:50px;
    background-color: #fff;
}

 select {
    font-size: 16px
}

/* #case */
#case {
	margin-bottom: -133px;
	padding: 0 20px;
	background: url(../img/case_bg.jpg) no-repeat center top;
	background-size: cover;
}
#case .innerbox {
	margin: 0 auto;
	top: -253px;
	max-width: 1200px;
	position: relative;
}
#case h2 {
	margin-bottom: 49px;
	font-size: 56px;
	text-align: center;
	line-height: 1;
}
#case h2 img {
	width: 116px;
}
#case h2 span {
	margin-top: 17px;
	display: block;
}
#case .innerbox .imgbox {
	padding: 79px 100px 63px;
	display: flex;
	justify-content: space-between;
	background-color: #fff;
}
#case .innerbox .photo {
	margin: 79px 0 0 20px;
	width: 302px;
}
#case .innerbox .textbox {
	width: 620px;
}
#case .innerbox .textbox p {
	font-size: 18px;
	line-height: 1.77;
}
#case .innerbox .textbox h3 {
	margin: 0 0 22px -2px;
	font-size: 36px;
	font-weight: bold;
}
#case .innerbox .textbox p + h3 {
	margin-top: 59px;
}
#case .innerbox .textbox h3 img {
	margin: -22px 23px 0 0;
	width: 81px;
	display: inline-block;
	vertical-align: middle;
}
@media screen and (max-width: 1200px) {
	#case h2 {
		font-size: calc(2.5rem + ((1vw - 7.68px) * 3.7037));
	}
	#case .innerbox .imgbox {
		padding: 40px 40px 30px;
	}
	#case .innerbox .textbox p {
		font-size: calc(1rem + ((1vw - 7.68px) * 1.7241));
	}
	#case .innerbox .textbox h3 {
		font-size: 3vw;
	}
}
@media screen and (max-width: 767px) {
	#case .innerbox .imgbox {
		padding: 29px 21px 48px;
		display: block;
	}
	#case .innerbox .textbox {
		margin-bottom: 27px;
		width: auto;
	}
	#case .innerbox .photo {
		margin: 0;
		width: auto;
	}
	#case .innerbox .photo img {
		margin: 0 auto;
		max-width: 280px;
	}
	#case .innerbox .textbox p {
		font-size: 15px;
		line-height: 1.4;
		letter-spacing: 0.5px;
	}
	#case .innerbox .textbox h3 {
		margin-bottom: 10px;
		font-size: 23px;
	}
	#case h2 {
		margin: 0 -15px 20px;
		font-size: 33px;
		line-height: 1.2;
	}
	#case h2 img {
		width: 74px;
	}
	#case .innerbox {
		top: -180px;
	}
	#case h2 span {
		margin-top: 6px;
	}
	#case {
		padding: 0 15px;
		background-image: url(../img/sp_case_bg.jpg) ;
	}
	#case .innerbox .textbox h3 img {
		margin: -16px 10px 0 0;
		width: 53px;
	}
	#case .innerbox .textbox p + h3 {
		margin-top: 40px;
	}
}
@media screen and (max-width: 374px) {
	#case h2 {
		font-size: 28px;
	}
}

@media screen and (min-width: 767px) {
.form-columns-1 .hs-field-desc{
    font-size: 13px;
}
}