@charset "utf-8";
/*--------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
	tb
----------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------*/

html {
	font-size: 50%;
}

.inner {
	width: 100%;
	padding: 0 15px;
}

.parallax_title .h2box .inner {
	padding: 20px 15px;
}

.header03 + .underpage {
	/*headerの高さ*/
	margin-top: 54px;
	padding-top: 30px;
}

#menu > li {
	padding: 28px 2px;
}

.hasbg > .box {
	padding: 15px;
}

.arrowlist > li:before {
	top: 8px;
	left: 3px;
	width: 6px;
	height: 6px;
}

.arrowlist > li li:before {
	top: 9px;
	left: 3px;
}


.nblock ul li:before {
	content: '';
	position: absolute;
	top: 10px;
	left: 0;
	display: block;
	width: 4px;
	height: 4px;
	border-radius: 50%;
}

.cardlist_box ul li:before {
	top: 20px;
	left: 0.6em;
}

.gmap_size01 {
	height: 400px;
}

.table_scroll:before {
	content: '※横スクロールで全体を見ることができます。';
}

/*****************************
------------------------------
mv
------------------------------
*****************************/
.mv_trim picture {
	width: 100%;
}

.mv_trim picture img {
	width: 200%;
	margin-left: -50%;
}

/*****************************
------------------------------
layout
------------------------------
*****************************/

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
header01
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.header01 h1 {
	width: 244px;
	margin-right: 0;
}

.header01 .header_info {
	padding: 10px 0;
}

.header01 .header_r {
	float: right;
}

.header01 .h_bnr {
	width: 145px;
	margin-right: 11px;
}

.header01 .h_info {
	width: 303px;
	margin-right: 10px;
}

.header01 .nav_li > a {
	font-size: 1.3rem;
	padding: 20px 5px;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
header02
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.header02 .header_info_other {
	float: right;
	overflow: hidden;
}

.header02 .header_info_big {
	position: fixed;
	top: 0;
	right: 0;
}

.header02 .header_info_other_mini {
	float: left;
	margin-right: 161px;
}

.header02 .header_info_other_mini a {
	display: block;
}

.header02 .header_info_first {
	background: #003784;
	margin-bottom: 1px;
}

.header02 .header_info_second {
	background: #3476d3;
}

.header02 .header_info_big {
	background: #66b821;
	margin-left: 1px;
}

/*
****************************************
----------------------------------------
------- imgbg_block
----------------------------------------
****************************************
*/

.imgbg01:before {
	background-position: right -110px top;
	background-size: cover;
}

.imgbg_wrap {
	height: 430px;
}

/*
****************************************
----------------------------------------
mod_icon
----------------------------------------
****************************************
*/
.type_list.mod_icon.has_link li:before {
    top: 8px;
    width: 6px;
    height: 6px;
}

/*
****************************************
----------------------------------------
------- linkbox
----------------------------------------
****************************************
*/

.btn01:before,
.btn01:after {
	top: 17px;
	width: 6px;
	height: 6px;
}

.btn03:before {
	top: 14px;
	border-width: 4px 0 4px 6px;
}

.btn04:before {
	top: 15px;
	right: 10px;
	width: 6px;
	height: 6px;
}
/*****************************
------------------------------
vertical_img_block
------------------------------
*****************************/
.vertical_img_block {
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
}

.vertical_img_box {
	width: 50%;
	-webkit-flex: 1 1 50%;
	-ms-flex: 1 1 50%;
	flex: 1 1 50%;
}

.vertical_img span {
	font-size: 7.5rem;
}

.vertical_img span {
	right: -6px;
}

/*
****************************************
----------------------------------------
------- top_button
----------------------------------------
****************************************
*/

#top_button a {
	width: 40px;
	height: 40px;
}

#top_button a:before {
	top: 1.2em;
}

/*****************************
------------------------------
before_footer02
------------------------------
*****************************/

.before_footer_sitemap a:before {
	top: 6px;
	left: 3px;
	width: 6px;
	height: 6px;
}

/*****************************
------------------------------
table
------------------------------
*****************************/
.eigyou01 th,
.eigyou01 td {
    font-size: 1.3rem;
	padding: 10px 5px;
	letter-spacing: 0px;
}
.eigyou01 thead th:nth-of-type(2),
.eigyou01 thead th:nth-of-type(3),
.eigyou01 thead th:nth-of-type(4),
.eigyou01 thead th:nth-of-type(5),
.eigyou01 thead th:nth-of-type(6),
.eigyou01 thead th:nth-of-type(7) {width: 9.2%;}

.eigyou01 thead th:nth-of-type(8) {width: 14.8%;}

/*
****************************************
----------------------------------------
------- title common
----------------------------------------
****************************************
*/
h2 {
	margin-bottom: 20px;
	font-size: 2.4rem;
}
h3 {
	margin-bottom: 20px;
	font-size: 2rem;
}
h4 {
	margin-bottom: 14px;
	font-size: 1.8rem;
}
h5 {
	margin-bottom: 14px;
	font-size: 1.8rem;
}

.has_parallax h3 {
	margin-bottom: 40px;
	font-size: 2.4rem;
}
.has_parallax h4 {
	margin-bottom: 20px;
	font-size: 2rem;
}
.has_parallax h5 {
	margin-bottom: 14px;
	font-size: 1.8rem;
}
.has_parallax h6 {
	margin-bottom: 14px;
	font-size: 1.8rem;
}

.basic_layout.no_parallax div[class*="title_set"] h2+h3, 
.basic_layout.no_parallax div[class*="title_set"] h3+h4, 
.basic_layout.no_parallax div[class*="title_set"] h4+h5 {
	margin-top: -5px;
}

.basic_layout.has_parallax h3, .basic_layout.has_parallax h4, .basic_layout.has_parallax h5 {
    margin-top: 40px;
}


/*****************************
------------------------------
ttl_top
------------------------------
*****************************/

.ttl_top_lv03:before {
    bottom: -11px;
}

/*****************************
------------------------------
parallax_title
------------------------------
*****************************/
.parallax_title {
	position: relative;
	min-height: 300px;
	margin-bottom: 30px;
}

.parallax_title .h2box {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}

.parallax_title .h2box .inner {
	padding: 15px 15px;
}

.parallax_title .h2box h2 {
	font-size: 3rem;
	margin-bottom: 0;
	padding: 0;
	background: transparent;
}

.parallax_title .h2box .inner p {
	margin-top: 0;
}

/*****************************
------------------------------
mod_stripe
------------------------------
*****************************/
.mod_stripe .stripe_box {
	width: 100%;
	float: none;
	overflow: hidden;
	padding: 50px 0;
}

.mod_stripe .stripe_inner {
    width: 100%;
    float: none;
    padding: 0 30px;
    margin: 0 auto;
}

.mod_stripe .stripe_ttl {
	font-size: 3.4vw;
}

.mod_stripe .stripe_txt p {
	font-size: 1.9rem;
}

.mod_stripe .stripe_box:nth-of-type(2n) .stripe_inner {
	float: none;
}

.mod_stripe .stripe_box:nth-of-type(2),
.mod_stripe .stripe_box:nth-of-type(4) {
	background: repeating-linear-gradient(90deg, #ffebf3, #ffebf3 12px, #fff3f8 0, #fff3f8 24px);
}

.mod_stripe .stripe_box:nth-of-type(2) .btn03,
.mod_stripe .stripe_box:nth-of-type(4) .btn03 {
	border: 1px solid #3d9cc9;
	color: #3d9cc9;
}

.mod_stripe .stripe_box:nth-of-type(2) .btn03:before,
.mod_stripe .stripe_box:nth-of-type(4) .btn03:before {
	border-color: transparent transparent transparent #3d9cc9;
}

.mod_stripe .stripe_box:nth-of-type(2) .stripe_ttl,
.mod_stripe .stripe_box:nth-of-type(4) .stripe_ttl {
	color: #3d9cc9;
}

.mod_stripe .stripe_box:nth-of-type(2) .stripe_ttl:after,
.mod_stripe .stripe_box:nth-of-type(4) .stripe_ttl:after {
    background-image: linear-gradient(to right, #3d9cc9, #3d9cc9 2px, transparent 2px, transparent 4px);
}

.mod_stripe .stripe_box:nth-of-type(1),
.mod_stripe .stripe_box:nth-of-type(3) {
	background: repeating-linear-gradient(90deg, #ebf9ff, #ebf9ff 12px, #f3fbff 0, #f3fbff 24px);
}

.mod_stripe .stripe_box:nth-of-type(1) .stripe_ttl,
.mod_stripe .stripe_box:nth-of-type(3) .stripe_ttl {
	color: #43af69;
}

.mod_stripe .stripe_box:nth-of-type(1) .stripe_ttl:after,
.mod_stripe .stripe_box:nth-of-type(3) .stripe_ttl:after {
    background-image: linear-gradient(to right, #009fe8, #009fe8 2px, transparent 2px, transparent 4px);
}

/*
****************************************
----------------------------------------
------- title_set01
----------------------------------------
****************************************
*/
.title_set01_lv02:before,
.basic_layout.no_parallax .title_set01 h2:before,
.basic_layout.has_parallax .title_set01 h3:before {
	bottom: -15px;
	width: 80px;
	height: 2px;
}

.title_set01_lv03,
.basic_layout.no_parallax .title_set01 h3
.basic_layout.has_parallax .title_set01 h4 {
	margin-top: 40px;
	padding: 8px 10px 8px 25px;
	border-bottom: 4px solid #abcddd;
}

.title_set01_lv04,
.basic_layout.no_parallax .title_set01 h4,
.basic_layout.has_parallax .title_set01 h5 {
	padding: 10px 10px 10px 25px;
	border-bottom: 1px solid #c3c3c3;
}

.title_set01_lv04:before,
.basic_layout.no_parallax .title_set01 h4:before,
.basic_layout.has_parallax .title_set01 h5:before {
	top: 13px;
	width: 14px;
	height: 14px;
}

.title_set01_lv05,
.basic_layout.no_parallax .title_set01 h5,
.basic_layout.has_parallax .title_set01 h6 {
	padding: 10px 10px 0 25px;
}

.title_set01_lv05:before,
.basic_layout.no_parallax .title_set01 h5:before,
.basic_layout.has_parallax .title_set01 h6:before {
	width: 14px;
	height: 4px;
	top: 18px;
}

/*
****************************************
----------------------------------------
------- title_set02
----------------------------------------
****************************************
*/
.title_set02_lv02,
.basic_layout.no_parallax .title_set02 h2,
.basic_layout.has_parallax .title_set02 h3 {
	padding: 10px 10px 12px;
	margin-top: 40px;
}

.title_set02_lv02:before,
.basic_layout.no_parallax .title_set02 h2:before,
.basic_layout.has_parallax .title_set02 h3:before {
	bottom: 5px;
}

.title_set02_lv03,
.basic_layout.no_parallax .title_set02 h3,
.basic_layout.has_parallax .title_set02 h4 {
	margin-top: 40px;
	padding: 10px 25px 10px 10px;
	border-top: 3px solid #66b821;
	border-bottom: 1px solid #c3c3c3;
}

.title_set02_lv04,
.basic_layout.no_parallax .title_set02 h4,
.basic_layout.has_parallax .title_set02 h5 {
	padding: 10px 10px 0 25px;
}

.title_set02_lv04:before,
.basic_layout.no_parallax .title_set02 h4:before,
.basic_layout.has_parallax .title_set02 h5:before {
	top: 13px;
	width: 14px;
	height: 14px;
	border: 4px solid #66b821;
}

.title_set01_lv05,
.basic_layout.no_parallax .title_set02 h5,
.basic_layout.has_parallax .title_set02 h6 {
	padding: 10px 10px 0 25px;
}

.title_set01_lv05:before,
.basic_layout.no_parallax .title_set02 h5:before,
.basic_layout.has_parallax .title_set02 h6:before {
	width: 14px;
	height: 4px;
	top: 18px;
}

/*
****************************************
----------------------------------------
------- title_set03
----------------------------------------
****************************************
*/

.title_set03_lv02,
.basic_layout.no_parallax .title_set03 h2,
.basic_layout.has_parallax .title_set03 h3 {
	padding: 10px 10px 10px 25px;
}

.title_set03_lv02:before,
.basic_layout.no_parallax .title_set03 h2:before,
.basic_layout.has_parallax .title_set03 h3:before {
	width: 6px;
}

.title_set03_lv03,
.basic_layout.no_parallax .title_set03 h3,
.basic_layout.has_parallax .title_set03 h4 {
	padding: 10px 0 5px;
}

.title_set03_lv03:before,
.title_set03_lv03:after,
.basic_layout.no_parallax .title_set03 h3:before,
.basic_layout.no_parallax .title_set03 h3:after,
.basic_layout.has_parallax .title_set03 h4:before,
.basic_layout.has_parallax .title_set03 h4:after {
	bottom: -4px;
	height: 4px;
}

.title_set03_lv04,
.basic_layout.no_parallax .title_set03 h4,
.basic_layout.has_parallax .title_set03 h5 {
	padding: 10px 0 5px;
}

.title_set01_lv05,
.basic_layout.no_parallax .title_set03 h5,
.basic_layout.has_parallax .title_set03 h6 {
	padding: 10px 10px 0 25px;
}

.title_set01_lv05:before,
.basic_layout.no_parallax .title_set03 h5:before,
.basic_layout.has_parallax .title_set03 h6:before {
	width: 14px;
	height: 4px;
	top: 18px;
}
/*
****************************************
----------------------------------------
------- title_set04
----------------------------------------
****************************************
*/

.title_set04_lv02,
.basic_layout.no_parallax .title_set04 h2,
.basic_layout.has_parallax .title_set04 h3 {
	padding: 10px 10px 10px 25px;
}

.title_set04_lv02:before,
.basic_layout.no_parallax .title_set04 h2:before,
.basic_layout.has_parallax .title_set04 h3:before {
	height: 3px;
}

.title_set04_lv03,
.basic_layout.no_parallax .title_set04 h3,
.basic_layout.has_parallax .title_set04 h4 {
	padding: 10px 0;
}

.title_set04_lv03:before,
.title_set04_lv03:after,
.basic_layout.no_parallax .title_set04 h3:before,
.basic_layout.no_parallax .title_set04 h3:after,
.basic_layout.has_parallax .title_set04 h4:before,
.basic_layout.has_parallax .title_set04 h4:after {
	bottom: -2px;
	height: 2px;
}

.title_set04_lv04,
.basic_layout.no_parallax .title_set04 h4,
.basic_layout.has_parallax .title_set04 h5 {
	margin-top: 40px;
	padding: 8px 10px 8px 25px;
}

.title_set04_lv04:before,
.basic_layout.no_parallax .title_set04 h4:before,
.basic_layout.has_parallax .title_set04 h5:before {
	width: 5px;
}

.title_set01_lv05,
.basic_layout.no_parallax .title_set04 h5,
.basic_layout.has_parallax .title_set04 h6 {
	padding: 10px 10px 0 25px;
}

.title_set01_lv05:before,
.basic_layout.no_parallax .title_set04 h5:before,
.basic_layout.has_parallax .title_set04 h6:before {
	width: 14px;
	height: 4px;
	top: 18px;
}

/*
****************************************
----------------------------------------
------- title_set05
----------------------------------------
****************************************
*/

.title_set05_lv02,
.basic_layout.no_parallax .title_set05 h2,
.basic_layout.has_parallax .title_set05 h3 {
	padding: 10px 10px 10px 25px;
}

.title_set05_lv02:before,
.basic_layout.no_parallax .title_set05 h2:before,
.basic_layout.has_parallax .title_set05 h3:before{
	top:3px;
}

.title_set05_lv02:after,
.basic_layout.no_parallax .title_set05 h2:after,
.basic_layout.has_parallax .title_set05 h3:after{
	bottom:3px;
}

.title_set05_lv03,
.basic_layout.no_parallax .title_set05 h3,
.basic_layout.has_parallax .title_set05 h4 {
	padding: 10px 10px 10px 30px;
}

.title_set05_lv03:before,
.basic_layout.no_parallax .title_set05 h3:before,
.basic_layout.has_parallax .title_set05 h4:before {
	top: 12px;
	left: 0;
	width: 14px;
	height: 14px;
}

.title_set05_lv03:after,
.basic_layout.no_parallax .title_set05 h3:after,
.basic_layout.has_parallax .title_set05 h4:after {
	top: 24px;
	left: 12px;
	width: 8px;
	height: 8px;
}

.title_set05_lv04,
.basic_layout.no_parallax .title_set05 h4,
.basic_layout.has_parallax .title_set05 h5 {
	padding: 10px 10px 5px 25px;
}

.title_set05_lv04:after,
.basic_layout.no_parallax .title_set05 h4:after,
.basic_layout.has_parallax .title_set05 h5:after {
	top: 15px;
	left: 2px;
	width: 10px;
	height: 10px;
}

.title_set01_lv05,
.basic_layout.no_parallax .title_set05 h5,
.basic_layout.has_parallax .title_set05 h6 {
	padding: 10px 10px 0 25px;
}

.title_set01_lv05:before,
.basic_layout.no_parallax .title_set05 h5:before,
.basic_layout.has_parallax .title_set05 h6:before {
	width: 14px;
	height: 4px;
	top: 18px;
}
/*
****************************************
----------------------------------------
------- title_set06
----------------------------------------
****************************************
*/
.title_set06_lv02,
.basic_layout.no_parallax .title_set06 h2,
.basic_layout.has_parallax .title_set06 h3 {
	padding: 10px 0;
}

.title_set06_lv02:before,
.title_set06_lv02:after,
.basic_layout.no_parallax .title_set06 h2:before,
.basic_layout.no_parallax .title_set06 h2:after,
.basic_layout.has_parallax .title_set06 h3:before,
.basic_layout.has_parallax .title_set06 h3:after {
	bottom: -2px;
	height: 2px;
}

.title_set06_lv03,
.basic_layout.no_parallax .title_set06 h3,
.basic_layout.has_parallax .title_set06 h4 {
	padding: 10px 0 5px;
}

.title_set06_lv04,
.basic_layout.no_parallax .title_set06 h4,
.basic_layout.has_parallax .title_set06 h5 {
    position: relative;
    padding: 3px 10px 3px 25px;
}

.title_set01_lv05,
.basic_layout.no_parallax .title_set06 h5,
.basic_layout.has_parallax .title_set06 h6 {
	padding: 10px 10px 0 25px;
}

.title_set01_lv05:before,
.basic_layout.no_parallax .title_set06 h5:before,
.basic_layout.has_parallax .title_set06 h6:before {
	width: 14px;
	height: 4px;
	top: 18px;
}


/*****************************
------------------------------
title_set01
------------------------------
*****************************/
.basic_layout.has_parallax .title_set01 h3 {
	margin-bottom: 50px;
}

/*****************************
------------------------------
title_set02
------------------------------
*****************************/
.basic_layout.has_parallax div[class*="title_set02"] h3+h4 {
	margin-top: 40px;
}


/*****************************
------------------------------
title_set03
------------------------------
*****************************/
.basic_layout.has_parallax .title_set03 h3 {
	margin-bottom: 20px;
}

/*****************************
------------------------------
title_set04
------------------------------
*****************************/
.basic_layout.has_parallax div[class*="title_set04"] h4+h5 {
	margin-top: 35px;
}

/*****************************
------------------------------
title_set05
------------------------------
*****************************/
.basic_layout.has_parallax .title_set05 h3 {
	margin-bottom: 20px;
}

/*****************************
------------------------------
title_set06
------------------------------
*****************************/
.basic_layout.has_parallax .title_set06 h3 {
	margin-bottom: 20px;
}

.basic_layout.has_parallax div[class*="title_set06"] h4+h5 {
	margin-top: 35px;
}