@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Roboto:700&display=swap');

/*reset*/
body, h1, h2, h3, h4, h5, h6, h7,
div, p, dl, dt, dd, ol, ul, li, table, th, td, fieldset,
form, input[type="radio"], input[type="checkbox"] {
	margin: 0;
	padding: 0;
}
h1, h2, h3, h4, h5, h6, dt, dd, th, td, em, address, label {
	font-weight: normal;
	font-style: normal;
	font-size: inherit;
}
ol, ul, ol li {
	list-style-type: none !important;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input, select, textarea {
}
input[type="text"], textarea {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
figure {
	padding: 0;
	margin: 0;
}
picture {
	display: block;
}

/**********************************

 common

***********************************/
#contents {
	color: #333;
	font-family: "YakuHanJP", 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 3.75vw;
	/*font-size: 12px;*/
	letter-spacing: .025em !important;
	font-feature-settings : "palt";
	line-height: 1.8 !important;
}

.mincho {
	font-family: "Times New Roman", Georgia, YuMincho, '游明朝', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho ProN','メイリオ',"HGS明朝E", 'MS P 明朝', 'MS PMincho', serif;
}
.define_wrap {
	padding: 0 4.6875%;
}
.define_wrap_noPadding_sp {
	padding: 0;
}

.define_inner {
	max-width: 100%;
	width: 980px;
	margin: 0 auto;
}

.clear {
	clear: both;
}
.clearfix {
	zoom: 100%;
}
.clearfix:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

.ov {
	transition: all 600ms cubic-bezier(0.165, 0.84, 0.44, 1);
}
.ov:hover {
	opacity:0.7;
	filter: alpha(opacity=70);        /* ie lt 8 */
	-ms-filter: "alpha(opacity=70)";  /* ie 8 */
	-moz-opacity:0.7;                 /* FF lt 1.5, Netscape */
	-khtml-opacity: 0.7;              /* Safari 1.x */
}
a {
	color: #1f5fac;
}
.roboto {
	font-family: 'Roboto', sans-serif;
}
.bold {
	font-weight: bold;
}

.c-title01 {
	padding-top: 3.5%;
	padding-bottom: 3.5%;
	background-color: #1f5fac;
}

.c-title01__ttl {
	color: #fff;
	font-size: 5vw;
	line-height: 1.8;
	font-weight: 600;
	text-align: center;
}

.l-pageTop {
	/*display: none;*/
	width: 10.9375%;
	position: fixed;
	bottom: 4.6875%;
	right: 4.6875%;
	z-index: 5;
	opacity: 0;
}


/**********************************

 heroSec

***********************************/
.heroSec {
	position: relative;
}

.heroSec ul.discraimer {
	position: absolute;
	width: 100%;
	top: 48%;
	left: 0;
	padding: 0 7%;
	font-size: 3.5vw;
	color: #666;
	box-sizing: border-box;
}

.heroSec__btn {
	width: 71.875%;
	margin: 45% 0 0 0;
	font-size: 2.8125vw;
	font-weight: bold;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

.heroSec__btn a {
	display: block;
	padding: 3.5% 2%;
	color: #333;
	text-align: center;
	border-radius: 3px;
	box-shadow:0px 2px 0px 0px #888888;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#fefefe+0,dedede+100 */
	background: rgb(254,254,254); /* Old browsers */
	background: -moz-linear-gradient(top, rgba(254,254,254,1) 0%, rgba(222,222,222,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(254,254,254,1) 0%,rgba(222,222,222,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(254,254,254,1) 0%,rgba(222,222,222,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fefefe', endColorstr='#dedede',GradientType=0 ); /* IE6-9 */
}

.heroSec__btn a span {
	display: inline-block;
	padding-right: 8%;
	position: relative;
}

.heroSec__btn a span::before {
	content: "";
	display: block;
	width: 1.11111111em;
	height: 0.33333333em;
	background: url(../image_sp/icon_arr01.png) no-repeat left top;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);

}

#contents img {
	width: 100%;
}

/**********************************

 contactSec

***********************************/
.contactSec {
	background: #333;
}

.contactSec__inner {
	padding: 5% 0;
}

.contactSec__inner__ttl {
	margin-bottom: 6vw;
	text-align: center;
    color: #FFF;
    font-size: 5vw;
    font-weight: bold;
}

.contactSec__inner__ttl span {
    display: block;
    width: 40vw;
    padding: 0.6vw 4vw;
    margin: 0 auto 4vw;
    color: #FFAE00;
    border-top: 1px solid #FFAE00;
    border-bottom: 1px solid #FFAE00;
}

.contactSec__inner__box {

}

.contactSec__inner__box__ttl {
	padding: 1% 0;
	background-color: #de2414;
	border-radius: 3px 3px 0 0;
}

.contactSec__inner__box__ttl span {
	display: block;
	width: 17.9310344%;
	margin: 0 auto;
}

.contactSec__inner__box__ttl span img {
	display: block;
}

.contactSec__inner__box__tel {
	background-color: #fff;
}

.contactSec__inner__box__tel a {
	display: block;
	color: #de2414;
	font-size: 10vw;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
}

.contactSec__inner__box__tel a span {
	display: inline-block;
	padding-left: 10%;
	position: relative;
}

.contactSec__inner__box__tel a span::before {
	content: "";
	display: block;
	width: 0.75em;
	height: 0.75em;
	background: url(../image_sp/icon_tel01.png) no-repeat left top;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.contactSec__inner__box__time {
	padding: 1% 0;
	font-size: 2.8125vw;
	text-align: center;
	background-color: #eeeeee;
	border-radius: 0 0 3px 3px;
}

.contactSec a.btnMail {
	display: block;
	margin-top: 10px;
	padding: 15px 10px;
	color: #FFF;
	text-align: center;
	font-size: 6vw;
	font-weight: bold;
	background: #de2414;
	background: -moz-linear-gradient(top, #de2414 0%, #c11313 100%);
	background: -webkit-linear-gradient(top, #de2414 0%,#c11313 100%);
	background: linear-gradient(to bottom, #de2414 0%,#c11313 100%);
	border-radius: 3px;
}

/**********************************

 serviceSec

***********************************/
.serviceSec {
	background-color: #f8f3ed;
}

.serviceSec__inner {
	padding-top: 7.8125%;
	padding-bottom: 7.8125%;

}

.serviceSec__inner__list {
	margin-bottom: 6.89655172%;
}

.serviceSec__inner__list__item {
	margin-bottom: 6.89655172%;
}

.serviceSec__inner__list__item:last-child {
	margin-bottom: 0;
}

.serviceSec__inner__list__item__head {
	display: table;
	width: 100%;
	margin-bottom: 3px;
	position: relative;
}

.serviceSec__inner__list__item__head::before {
	content: "";
	display: block;
	width: 3px;
	height: 100%;
	background-color: #000;
	position: absolute;
	top: 0;
	right: 0;
}

.serviceSec__inner__list__item__head::after {
	content: "";
	display: block;
	width: calc(100% - 3px);
	height: 3px;
	background-color: #000;
	position: absolute;
	bottom: -3px;
	right: 0;
}

.serviceSec__inner__list__item__head .num {
	display: table-cell;
	width: 8.62068966%;
	color: #fff;
	font-size: 5.625vw;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	background-color: #1f5fac;
	text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.7);
}

.serviceSec__inner__list__item__head .ttl {
	display: table-cell;
	padding: 3% 3% 3% 4%;
	color: #1f5fac;
	font-size: 4.0625vw;
	font-weight: bold;
	vertical-align: middle;
	line-height: 1.5;
	background-color: #fff;
}

.serviceSec__inner__list__item__body p{
	letter-spacing: .03em;
}

.serviceSec__inner__list__item__body .pic {
	margin-bottom: 4%;
}

.serviceSec__inner__target {

}

.serviceSec__inner__target__ttl {
	padding: 2% 3%;
	color: #fff;
	font-size: 4.375vw;
	font-weight: 600;
	text-align: center;
	background-color: #1f5fac;
}

.serviceSec__inner__target__content {
	padding: 5.17241379%;
	margin-bottom: 1em;
	background-color: #fff;
	border-bottom: 2px solid #000;
}

.serviceSec__inner__target__content p {
	margin-bottom: 1em;
}

.serviceSec__inner__target__content ul {
}

.serviceSec__inner__target__content ul li {
	padding: 2.5% 3% 2.5% 5%;
	margin-bottom: 1em;
	font-weight: bold;
	line-height: 1.5;
	position: relative;
	border-top: 2px solid #dddddd;
	border-right: 2px solid #dddddd;
	border-bottom: 2px solid #dddddd;
	letter-spacing: .03em;
}

.serviceSec__inner__target__content ul li::before {
	content: "";
	display: block;
	width: 3px;
	height: calc(100% + 4px);
	background-color: #1f5fac;
	position: absolute;
	top: -2px;
	left: 0;
}

.serviceSec__inner__target__note {
	margin-left: 1em;
}

/**********************************

 safeSec

***********************************/
.safeSec {
	background: url(../image_sp/safe_bg.jpg) no-repeat center;
	background-size: cover;
	padding-top: 7.8125%;
	padding-bottom: 7.8125%;
}

.safeSec__inner {
	background-size: cover;
}

.safeSec__inner__sec {
	margin-bottom: 6.89655172%;
}

.safeSec__inner__sec:last-child {
	margin-bottom: 0;
}

.safeSec__inner__sec__head {
	padding: 1.37931034%;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,9fbadc+100 */
	background: rgb(255,255,255); /* Old browsers */
	background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(159,186,220,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(159,186,220,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(159,186,220,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#9fbadc',GradientType=0 ); /* IE6-9 */
}

.safeSec__inner__sec__head__inner {
	padding: 3% 3%;
	background-color: #1f5fac;
}

.safeSec__inner__sec__head__inner .num {
	margin-bottom: 2%;
	color: #fff;
	font-size: 5vw;
	text-align: center;
	text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.7);
}

.safeSec__inner__sec__head__inner .ttl {
	color: #fff;
	font-size: 4.6875vw;
	font-weight: 600;
	text-align: center;
}

.safeSec__inner__sec__head__inner .ttl span,
.safeSec__inner__sec__head__inner p.discraimer {
	font-size: 3vw;
	color: #FFF;
	text-align: center;
}

.safeSec__inner__sec__body {
	padding: 5.17241379%;
	background-color: #fff;
}

.safeSec__inner__sec__body p{
	letter-spacing: .03em;
}

/**********************************

 flowSec

***********************************/
.flowSec {
	background-color: #f8f3ed;
}

.flowSec__inner {
	padding-top: 7.8125%;
	padding-bottom: 7.8125%;
}

.flowSec__inner__list {
	margin-bottom: 1em;
}

.flowSec__inner__list ol {
}

.flowSec__inner__list ol li {
	margin-bottom: 13.7931034%;
	border-bottom: 5px solid #000;
	position: relative;
}

.flowSec__inner__list ol li:last-child {
	margin-bottom: 0;
}

.flowSec__inner__list ol li::before {
	content: "";
	display: block;
	width: 3.33333333em;
	height: 1.70833333em;
	margin-bottom: -12%;
	background: url(../image_sp/icon_arr02.png) no-repeat left top;
	background-size: contain;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

.flowSec__inner__list ol li:last-child::before {
	display: none;
}

.flowSec__inner__list ol li .pic {
}

.flowSec__inner__list ol li .ttl {
	padding: 4% 3%;
	color: #fff;
	font-size: 4.375vw;
	font-weight: bold;
	text-align: center;
	background-color: #1f5fac;
}

.flowSec__inner__note {
	letter-spacing: .03em;
}

/**********************************

 faqSec

***********************************/
.faqSec {
	background-color: #f8f3ed;
}

.faqSec__inner {
	padding-top: 7.8125%;
	padding-bottom: 7.8125%;

}

.faqSec__inner dl {
	margin-bottom: 6.89655172%;
}

.faqSec__inner dl:last-child {
	margin-bottom: 0;
}

.faqSec__inner dl dt {
	display: flex;
	align-items: flex-start;
	margin-bottom: 3.44827586%;
}

.faqSec__inner dl dt .icon {
	display: block;
	width: 13.7931%;
	position: relative;
}

.faqSec__inner dl dt .icon::before {
	content: "";
	display: block;
	width: 100%;
	padding-top: 100%;
	background-color: #1f5fac;
}

.faqSec__inner dl dt .icon::after {
	content: "Q";
	display: block;
	color: #fff;
	font-size: 5.625vw;
	font-weight: bold;
	text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.7);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

.faqSec__inner dl dt .txt {
	flex: 1 1 0;
	display: block;
	margin-left: 3.44828%;
	padding: 3%;
	min-height: 13.7931034%;
	letter-spacing: 0.03em;
	color: #1f5fac;
	font-weight: bold;
	background-color: #fff;
	box-sizing: border-box;
}

.faqSec__inner dl dd {
	display: flex;
	align-items: flex-start;
}

.faqSec__inner dl dd .icon {
	display: block;
	width: 13.7931034%;
	position: relative;
}

.faqSec__inner dl dd .icon::before {
	content: "";
	display: block;
	width: 100%;
	padding-top: 100%;
	background-color: #000000;
}

.faqSec__inner dl dd .icon::after {
	content: "A";
	display: block;
	color: #fff;
	font-size: 5.625vw;
	font-weight: bold;
	text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.7);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

.faqSec__inner dl dd .txt {
	flex: 1;
	display: block;
	margin-left: 3.44827586%;
	padding: 3% 3%;
	min-height: 13.7931034%;
	font-weight: bold;
	letter-spacing: .03em;
	background-color: #fff;
	box-sizing: border-box;
}

/**********************************

 useSec

***********************************/
.useSec {
	background: url(../image_sp/use_bg.png) no-repeat center;
	background-size: cover;
}

.useSec__inner {
	padding-top: 7.8125%;
	padding-bottom: 7.8125%;
}

.useSec__inner__txt01 {
	margin-bottom: 1em;
	font-size: 4.375vw;
	font-weight: 600;
}

.useSec__inner__txt01 span {
	color: #1f5fac;
}

.useSec__inner__content {
	padding: 4.70383275%;
	border: 3px solid #1f5fac;
	background-color: #ebf2fc;
	border-radius: 3px;
}

.useSec__inner__content__ttl {
	margin-bottom: 5.76923077%;
}

.useSec__inner__content__telArea {
	margin-bottom: 6.92307692%;
	box-shadow:0px 3px 0px 0px #487cbc;
	border-radius: 0 0 3px 3px;
}

.useSec__inner__content__telArea .ttl {
	padding: 1% 0;
	text-align: center;
	background-color: #1f5fac;
	border-radius: 3px 3px 0 0;
}

.useSec__inner__content__telArea .ttl span {
	display: block;
	width: 20%;
	margin: 0 auto;
}

.useSec__inner__content__telArea .ttl span img {
	display: block;
}

.useSec__inner__content__telArea .tel {
	text-align: center;
	background-color: #fff;
	line-height: 1.3;
}

.useSec__inner__content__telArea .tel a {
	display: block;
	color: #1f5fac;
	font-size: 10vw;
	font-weight: bold;
	letter-spacing: -.025em;
	text-decoration: none;
	text-align: center;
}

.useSec__inner__content__telArea .tel a span {
	display: inline-block;
	padding-left: 12%;
	position: relative;
}

.useSec__inner__content__telArea .tel a span::before {
	content: "";
	display: block;
	width: 0.75em;
	height: 0.75em;
	background: url(../image_sp/icon_tel02.png) no-repeat left top;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.useSec__inner__content__telArea .time {
	padding: 1% 0;
	text-align: center;
	color: #1f5fac;
	font-size: 2.8125vw;
	font-weight: bold;
	background-color: #dae8f8;
	border-radius: 0 0 3px 3px;
}

.useSec__inner__content__message {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 3% 4%;
	background-color: #fff;
	border-radius: 3px;
}

.useSec__inner__content__message .pic {
	width: 17.36%;
	margin-right: 4%;
}

.useSec__inner__content__message p {
	flex: 1;
	font-weight: bold;
	letter-spacing: -.025em;
}

.useSec__inner__content__message p span {
	color: #de2413;
}