@charset "utf-8";

/* =============================================================
汎用クラスを定義
============================================================= */

/* Tool
---------------------------------------------------------- */

/* display */
.is-block {display: block;}
.is-ilblock {display: inline-block;}
.is-block-center {display: block ;margin: 0 auto;}

/* text-align */
.taC {text-align: center;}
.taL {text-align: left;}
.taR {text-align: right;}

/* font */
.en {
	font-family: 'Ubuntu', sans-serif;
	font-weight: 500;
}

.min{
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
	font-style: normal;
}

.meiryo{
	font-family: 'メイリオ', Meiryo,sans-serif;
}

/* font-weight */
.is-normal {font-weight: normal;}
.is-bold {font-weight: bold;}

/* color */
.is-red {color: #A1281E;}
.is-yellow {color: #FFF080;}
.is-green {color: #43ADAC;}
.is-white {color: #FFF;}

/* pattern */
.pat-01{
	background:url(../img/common/pat_01.png) repeat #F6F6F6;
}

/* other */
@media screen and (min-width:768px) {
  .pcNone {
  	display: none !important;
  }
}
@media screen and (max-width:767px) {
	.spNone {display: none !important;}
}



/* Title
---------------------------------------------------------- */

/*ttl-01*/

.ttl-01 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	text-align: center;
	font-size: 3.0rem;
	font-weight: bold;
}

.ttl-01 .ico {
	margin-right:0.5em;
	line-height: 1;
}


/*ttl-02*/

.ttl-02 {
	text-align: center;
	font-size: 2.6rem;
	font-weight: bold;
}


/*ttl-03*/

.ttl-03 {
	text-align: center;
	font-size: 2.6rem;
	font-weight: bold;
}


/*ttl-04*/

.ttl-04_sub{
	display:block;
	font-size:1.8rem;
	font-weight:bold;
	margin-bottom: 1.38em;
	line-height:1.66;
}

.ttl-04_main{
	font-size:4.0rem;
	padding-bottom:0.325em;
	border-bottom:3px solid #43ADAC;
	letter-spacing:0.05em;
}

.ttl-04_main .is-sm{
	font-size: 0.8em;
}


/*ttl-05*/

.ttl-05{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	font-size:2.0rem;
	font-weight:bold;
	width:100%;
}

.ttl-05 .is-lg{
	line-height: 1;
	font-size:2.3em;
	margin:0 3px;
}


/*ttl-06*/

.ttl-06{
	position: relative;
	z-index:0;
	font-size:2.4rem;
	font-weight:bold;
	letter-spacing: 0.05em;
}

.ttl-06:before{
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top: 50%;
	left:-30px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 15px;
	height: 15px;
	background:#43ADAC;
	border-radius:50%;
}


/*ttl-07*/

.ttl-07 {
    font-size: 2.9rem;
    line-height: 1.58;
    letter-spacing: 0.05em;
}


/*ttl-08*/

.ttl-08 {
    font-size: 2.4rem;
	font-weight:bold;
	margin-bottom: 22px;
}



@media screen and (max-width:767px) {
	.ttl-01 {
		font-size: calc(24 / 375 * 100vw);
		line-height: 1.5;
	}
	.ttl-02 {
		font-size: calc(24 / 375 * 100vw);
	}
	.ttl-03 {
		font-size: calc(24 / 375 * 100vw);
	}
	.ttl-04_sub{
		font-size:1.2rem;
	}
	.ttl-04_main{
		font-size: calc(26 / 375 * 100vw);
	}
	.ttl-06{
		font-size: calc(20 / 375 * 100vw);
		padding-left:1em;
	}
	.ttl-06:before{
		left:0;
	}
	.ttl-07{
		font-size: calc(20 / 375 * 100vw);
	}
	.ttl-08 {
		font-size: calc(20 / 375 * 100vw);
	}
}

@media screen and (max-width:320px) {
	.ttl-01 {
		font-size:1.9rem;
	}
}



/* Text
------------------------------------------------------- */

.p-text {
	font-size: 1.6rem;
	line-height: 2.25;
}

.text_inner{
	width:100%;
	max-width:725px;
	margin:0 auto;
}


@media screen and (max-width:767px) {
	.p-text {
		font-size: 1.5rem;
		line-height: 2;
	}
}



/* Btn
---------------------------------------------------------- */

.btn-01,.btn-02,.btn-03,.btn-04,.btn-05,.btn-06,.btn-07,.btn-08{
	cursor: pointer;
	text-decoration: none;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}


/*btn-01*/

.btn-01 {
	display: block;
	position: relative;
	z-index:0;
	font-size: 1.6rem;
	font-weight:bold;
	width: 120px;
	padding-right:30px;
	background:#FFF;
}

.btn-01:after{
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 23px;
	height: 12px;
	background: url(../img/common/ico_arw_right_02_red.svg) no-repeat;
	background-size: contain;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}


/*btn-02*/

.btn-02 {
	display: block;
	text-align: center;
	font-size: 1.4rem;
	font-weight:bold;
	width: 220px;
	line-height: 33px;
	background:#FFF;
	border-radius: 20px;
}

.btn-02 .ico{
	position: relative;
	z-index:0;
	padding-left:23px;
}

.btn-02 .ico:after {
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	margin-top: 1px;
	width: 17px;
	height: 14px;
	background: url(../img/common/ico_contact_01_bk.svg) no-repeat;
}

.btn-02:hover {
	opacity: 0.7;
}


/*btn-03*/

.btn-03 {
	display: inline-block;
	position: relative;
	z-index:0;
	font-size: 1.6rem;
	font-weight:bold;
	width: 110px;
	padding-right:24px;
	background:#FFF;
}

.btn-03:after{
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 18px;
	height: 8px;
	background: url(../img/common/ico_arw_right_02_gr.svg) no-repeat;
	background-size: contain;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.btn-03:hover:after {
	right:-5px;
}


/*btn-04*/

.btn-04 {
	display:block;
	text-align: center;
	position: relative;
	z-index:0;
	font-size: 1.6rem;
	font-weight:bold;
	width: 194px;
	line-height: 44px;
	background:#FFF;
	border:2px solid #CECECE;
	box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
}

.btn-04 .ico{
	position: relative;
	z-index:0;
	padding-right:23px;
}

.btn-04 .ico:after{
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 11px;
	height: 15px;
}

.btn-04 .ico.ico-green:after{
	background: url(../img/common/ico_arw_right_04_gr.svg) no-repeat;
	background-size: contain;
}

.btn-04 .ico.ico-brown:after{
	background: url(../img/common/ico_arw_right_04_br.svg) no-repeat;
	background-size: contain;
}

.btn-04 .ico.ico-red:after{
	background: url(../img/common/ico_arw_right_04_red.svg) no-repeat;
	background-size: contain;
}

.btn-04:hover {
	opacity: 0.7;
}

.btn-04.is-lg{width:240px;}
.btn-04.is-xlg{width:300px;}


/*btn-05*/

.btn-05 {
	display: block;
	text-align: center;
	font-size: 1.6rem;
	font-weight:bold;
	width:100%;
	line-height: 44px;
	background:#E8E8E8;
}

.btn-05 .ico{
	position: relative;
	z-index:0;
	padding-right:30px;
}

.btn-05 .ico:after{
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 23px;
	height: 12px;
	background: url(../img/common/ico_arw_right_02_red.svg) no-repeat;
	background-size: contain;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.btn-05:hover .ico:after {
	right:-5px;
}


/*btn-06*/

.btn-06 {
	display: inline-block;
	position: relative;
	z-index:0;
	font-size: 1.8rem;
	font-weight:bold;
	padding-left:33px;
	letter-spacing: 0.05em;
	text-decoration:none;
}

.btn-06:before{
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%) rotateY(180deg);
	transform: translateY(-50%) rotateY(180deg);
	width: 23px;
	height: 12px;
	background: url(../img/common/ico_arw_right_02_gr.svg) no-repeat;
	background-size: contain;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.btn-06:hover {
	opacity: 0.7;
}


.btn-07 {
	display: inline-block;
	position: relative;
	z-index:0;
	font-size: 1.6rem;
	font-weight:bold;
	text-decoration: none;
	line-height: 1.6;
}

.btn-07:after{
	content: "";
	display: inline-block;
	width: 23px;
	height: 12px;
	background: url(../img/common/ico_arw_right_02_red.svg) no-repeat;
	background-size: 100%;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}


/*btn-08*/

.btn-08 {
	display: inline-block;
	position: relative;
	z-index:0;
	font-size: 1.6rem;
	font-weight:bold;
	width: 120px;
	padding-right:30px;
	background:#FFF;
}

.btn-08:after{
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 23px;
	height: 9px;
	background: url(../img/common/ico_arw_right_02_gld.svg) no-repeat;
	background-size: contain;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.btn-08:hover{
	opacity:0.7;
}


/*btn-09*/

.btn-09 {
	display: inline-block;
	position: relative;
	z-index:0;
	font-size: 1.5rem;
	font-weight:bold;
	padding-left:33px;
	letter-spacing: 0.05em;
	text-decoration:none;
}

.btn-09:before{
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%) rotateY(180deg);
	transform: translateY(-50%) rotateY(180deg);
	width: 23px;
	height: 9px;
	background: url(../img/common/ico_arw_right_02_gld.svg) no-repeat;
	background-size: contain;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.btn-09:hover {
	opacity: 0.7;
}


.list-unit-btn {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
}

.list-unit-btn li {
	margin: 10px;
}


@media screen and (max-width:767px) {
	.btn-02 {
		font-size: calc(16 / 375 * 100vw);
	}
	.btn-04,
	.btn-04.is-xlg{
		width:100%;
	}
	.btn-06 {
		font-size: 1.4rem;
		padding-left:30px;
	}
}



/* table
---------------------------------------------------------- */

/*tbl-01*/

.tbl-01 {
	text-align: left;
	width: 100%;
	font-size:1.6rem;
	border:none;
	line-height: 2;
}

.tbl-01 th {
	font-weight: bold;
	white-space: nowrap;
	padding:13px 25px 13px 0;
}

.tbl-01 td {
	padding:13px 0;
}


/*tbl-02*/

.tbl-02 {
	text-align: left;
	width: 100%;
	font-size:1.6rem;
	border-collapse: separate;
	border-top: 1px solid #CCC;
	border-right:1px solid #CCC;
	line-height: 1.5;
}

.tbl-02 th {
	font-weight: bold;
	padding:16px 16px;
	background:#F7F7F7;
	border-bottom: 1px solid #CCC;
	border-left:1px solid #CCC;
	border-right:1px solid #CCC;
	vertical-align: top;
}

.tbl-02 td {
	padding:16px 26px;
	border-bottom: 1px solid #CCC;
}


@media screen and (max-width:767px) {
	.tbl-01,
	.tbl-01 tbody,
	.tbl-01 tr,
	.tbl-01 th,
	.tbl-01 td {
		width: 100%;
		display: block;
		font-size:1.5rem;
	}
	.tbl-01 thead {
		display: none;
	}
	.tbl-01 th{
		padding:0;
	}
	.tbl-01 td {
		padding:0 0 15px;
	}
	.tbl-02{
		border-right:none;
	}
	.tbl-02,
	.tbl-02 tbody,
	.tbl-02 tr,
	.tbl-02 th,
	.tbl-02 td {
		width: 100%;
		display: block;
		font-size:1.5rem;
	}
	.tbl-02 thead {
		display: none;
	}
	.tbl-02 th{
		border-left:none;
		border-right:none;
		padding:10px 12px;
	}
	.tbl-02 td {
		padding:10px 12px;
	}
}



/* margin
------------------------------------------------------------------- */

.mt-05{margin-top:5px;}
.mt-10{margin-top:10px;}
.mt-15{margin-top:15px;}
.mt-20{margin-top:20px;}
.mt-25{margin-top:25px;}
.mt-30{margin-top:30px;}
.mt-35{margin-top:35px;}
.mt-40{margin-top:40px;}
.mt-45{margin-top:45px;}
.mt-50{margin-top:50px;}
.mt-55{margin-top:55px;}

.mb-05{margin-bottom:5px;}
.mb-10{margin-bottom:10px;}
.mb-15{margin-bottom:15px;}
.mb-20{margin-bottom:20px;}
.mb-25{margin-bottom:25px;}
.mb-30{margin-bottom:30px;}
.mb-35{margin-bottom:35px;}
.mb-40{margin-bottom:40px;}
.mb-45{margin-bottom:45px;}
.mb-50{margin-bottom:50px;}
.mb-55{margin-bottom:55px;}

.mr-05{margin-right:5px;}
.mr-10{margin-right:10px;}
.mr-15{margin-right:15px;}
.mr-20{margin-right:20px;}
.mr-25{margin-right:25px;}
.mr-30{margin-right:30px;}
.mr-35{margin-right:35px;}
.mr-40{margin-right:40px;}
.mr-45{margin-right:45px;}
.mr-50{margin-right:50px;}
.mr-55{margin-right:55px;}

.ml-05{margin-left:5px;}
.ml-10{margin-left:10px;}
.ml-15{margin-left:15px;}
.ml-20{margin-left:20px;}
.ml-25{margin-left:25px;}
.ml-30{margin-left:30px;}
.ml-35{margin-left:35px;}
.ml-40{margin-left:40px;}
.ml-45{margin-left:45px;}
.ml-50{margin-left:50px;}
.ml-55{margin-left:55px;}



/* padding
------------------------------------------------------------------- */

.pt-05{padding-top:5px;}
.pt-10{padding-top:10px;}
.pt-15{padding-top:15px;}
.pt-20{padding-top:20px;}
.pt-25{padding-top:25px;}
.pt-30{padding-top:30px;}
.pt-35{padding-top:35px;}
.pt-40{padding-top:40px;}
.pt-45{padding-top:45px;}
.pt-50{padding-top:50px;}

.pb-05{padding-bottom:5px;}
.pb-10{padding-bottom:10px;}
.pb-15{padding-bottom:15px;}
.pb-20{padding-bottom:20px;}
.pb-25{padding-bottom:25px;}
.pb-30{padding-bottom:30px;}
.pb-35{padding-bottom:35px;}
.pb-40{padding-bottom:40px;}
.pb-45{padding-bottom:45px;}
.pb-50{padding-bottom:50px;}
