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

.tb_none {
	display: none !important;
}

html {
	font-size: 50%;
}

.has_padding {
    padding-top: 70px;
}

.inner {
	padding: 0 30px;
	max-width: 1260px;
}

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

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

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

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

.gmap_size01 {
	height: 400px;
}

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

.breadcrumbs > span:before {
	top: calc(50% + 1px);
}

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

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

.header01 .header_r {
	float: right;
}

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

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

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

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
header02
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.header02 .header_main_home {
	width: 70px;
}
.header02 .header_info_other {
	width: 176px;
	height: 70px;
}

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

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

.header02 .header_info_other_mini a {
	display: block;
}

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

.header02 .header_info_second {
}

.header02 .header_info_big {
	margin-left: 1px;
	width: 105px;
}

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

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

.imgbg_wrap {
	height: 430px;
}

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

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

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

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

.vertical_img_box {
	width: 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
----------------------------------------
****************************************
*/


.has_parallax h3 {
	margin-bottom: 40px;
	font-size: 2.4rem;
}
.has_parallax h4 {
	margin-bottom: 25px;
	font-size: 2rem;
}
.has_parallax h5 {
	margin-bottom: 20px;
	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;
}

/*****************************
------------------------------
list
------------------------------
*****************************/
.basic_layout ul li:before {
	top: 9px;
}
/*****************************
------------------------------
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,
.no_parallax .title_set01 h2:before,
.has_parallax .title_set01 h3:before {
	bottom: -15px;
	width: 80px;
	height: 2px;
}

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

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

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

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

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

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

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

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

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

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

.title_set02_lv04:before,
.no_parallax .title_set02 h4:before,
.has_parallax .title_set02 h5:before {
	top: 3px;
	width: 14px;
	height: 14px;
	border: 4px solid #b3de99;
}

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

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

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

.title_set03_lv02,
.no_parallax .title_set03 h2,
.has_parallax .title_set03 h3 {
	padding: 10px 10px 10px 25px;
	margin-bottom: 30px;
}

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

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

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

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

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

.title_set01_lv05:before,
.no_parallax .title_set03 h5:before,
.has_parallax .title_set03 h6:before {
	width: 14px;
	height: 4px;
	top: 8px;
}
/*
****************************************
----------------------------------------
------- title_set04
----------------------------------------
****************************************
*/
.has_parallax div[class*="title_set04"] h4+h5 {
	margin-top: 35px;
}

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

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

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

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

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

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

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

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

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

.title_set05_lv02,
.no_parallax .title_set05 h2,
.has_parallax .title_set05 h3 {
	padding: 10px 15px 10px 15px;
	margin-bottom: 30px;
}

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

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

.title_set05_lv03,
.no_parallax .title_set05 h3,
.has_parallax .title_set05 h4 {
	padding: 0px 0 10px 30px;
	margin-bottom: 25px;
}

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

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

.title_set05_lv04,
.no_parallax .title_set05 h4,
.has_parallax .title_set05 h5 {
	padding: 0px 0 5px 25px;
	margin-bottom: 20px;
}

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

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

.title_set01_lv05:before,
.no_parallax .title_set05 h5:before,
.has_parallax .title_set05 h6:before {
	width: 14px;
	height: 4px;
	top: 8px;
}
/*
****************************************
----------------------------------------
------- title_set06
----------------------------------------
****************************************
*/
.has_parallax div[class*="title_set06"] h4+h5 {
	margin-top: 35px;
}

.title_set06_lv02,
.no_parallax .title_set06 h2,
.has_parallax .title_set06 h3 {
	padding: 0px 0 10px;
	margin-bottom: 25px;
}

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

.title_set06_lv03,
.no_parallax .title_set06 h3,
.has_parallax .title_set06 h4 {
	padding: 0 0 10px;
	margin-bottom: 25px;
}

.title_set06_lv04,
.no_parallax .title_set06 h4,
.has_parallax .title_set06 h5 {
    position: relative;
    padding: 3px 0 3px 25px;
    margin-bottom: 20px;
}

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

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

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ギャラリー一覧ページ
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_galleries_wrap {
	margin-top: 70px;
}

.m_galleries_wrap + .m_galleries_wrap {
	margin-top: 50px;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
template02
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.template02 .t_mv figure img {
	margin-right: -10%;
}

.template02 .t_mv_wrap .inner {padding: 0 0 0 15px;}

.template02 .big_box .img:before,
.template02 .big_box .img:after {
	width: 80px;
	height: 80px;
}

.template02 .big_box .img:before {
	top: -40px;
	left: -40px;
}

.template02 .big_box .img {
	padding: 10px;
}

.template02 .big_box .txt.basic_layout {
	margin-top: -50px;
}


.template02 .big_box .img:after {
	bottom: -40px;
	right: -40px;
}

.template02 .question_block .num_box {
	width: 170px;
}

/*++++++++++++++++++++++++++++
m_post
++++++++++++++++++++++++++++*/
.m_post_col02 .m_post {
	width: calc(100% + 20px);
	margin: 0 -10px;
}

.m_post_col03 .m_post {
	width: calc(100% + 20px);
	margin: 0 -10px;
}

.m_post_col04 .m_post {
	width: calc(100% + 20px);
	margin: 0 -10px;
}

.m_post_col05 .m_post {
	width: calc(100% + 20px);
	margin: 0 -10px;
}

.m_post_col02 .m_post_item {
	width: calc(50% - 20px);
	margin: 0 10px;
}

.m_post_col03 .m_post_item {
	width: calc(33.3333% - 20px);
	margin: 0 10px;
}

.m_post_col04 .m_post_item {
	width: calc(25% - 20px);
	margin: 0 10px;
}

.m_post_col05 .m_post_item {
	width: calc(20% - 20px);
	margin: 0 10px;
}