@charset "UTF-8";
/* CSS Document */

/*------------------------------------------------------

	common css

------------------------------------------------------*/
*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
html { width: 100%; overflow: scroll; font-size: 10px; }
body { font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
/*font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", " 游ゴシック Medium", 游ゴシック体, "Yu Gothic Medium", YuGothic,メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; */color: #333; line-height: 1.5; background-color: #fff; overflow: hidden;}
.container { width: 100%; margin-left: auto; margin-right: auto; position: relative;}
ul { list-style: none; }
ol { list-style: decimal; }
img { vertical-align: bottom; width: auto; max-width: 100%; height: auto; }
/*a:link { color: #000; text-decoration: none; }
a:visited { color: #000; }*/
a.fade:hover { text-decoration: none; background-color: #fff; color: #333; -webkit-transition: all 400ms cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 400ms cubic-bezier(0.165, 0.84, 0.44, 1); }

.pc { display:block; }
.sp { display:none; }

main { display: block; margin-bottom: 50px; }

section { margin-bottom: 50px; }



@media (min-width: 768px) {
	body{ min-width: 1100px; }
	.container { max-width: 1100px; }

	a:hover { text-decoration: underline; }
	a img:hover { opacity: 0.8; -webkit-transition: all 400ms cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 400ms cubic-bezier(0.165, 0.84, 0.44, 1); }
}

@media screen and (min-width:768px) and ( max-width:1080px) {
    .container { width: -webkit-calc(100% - 40px); width: calc(100% - 40px);}
}

@media (max-width: 767px) {
	body{ }
	.container { margin-left: 15px; margin-right: 15px; width: auto; }
	.pc { display: none; }
	.sp { display: block; }

  /*.text { font-size: 1.6rem; line-height: 1.5; }*/
}


/*------------------------------------------------------

	flexbox

------------------------------------------------------*/
.colWrap { display: flex; display: -webkit-flex; flex-direction: row; -webkit-flex-direction: row; flex-wrap: wrap; -webkit-flex-wrap: wrap; justify-content: space-between; -webkit-justify-content: space-between; align-items: stretch; -webkit-align-items: stretch; align-content: stretch; -webkit-align-content: stretch; }

@media (min-width: 769px){
	.l_col-2 > *:nth-child(n+3) {
		margin-top: 0px; 
	}
	}
/*
.col2-1 { width: 50%; width: -webkit-calc(50% - 10px); width: calc(50% - 10px); }
.col3-1 { width: 33.3%; width: -webkit-calc(99.9% / 3 - 10px); width: calc(99.9% / 3 - 10px); }
.col4-1 { width: -webkit-calc( 25% - 10px ); width: calc( 25% - 10px ); }

.colWrap .img { text-align: center;}
.colWrap .img img { width: auto; max-width: 100%; }

.col3L1 ,
.col3R1 { width: 33.3%; width: -webkit-calc(99.9% / 3 - 10px); width: calc(99.9% / 3 - 10px); }
.col3L2 ,
.col3R2 { width: 66.6%; width: -webkit-calc( 99.9% * 0.666 - 10px ); width: calc( 99.9% * 0.666 - 10px ); }


@media (max-width: 767px) {

	.col2-1 { width: 100%; }
	.col3-1 { width: 50%; width: -webkit-calc(50% - 10px); width: calc(50% - 10px);}
	.col4-1 { width: 50%; width: -webkit-calc(50% - 10px); width: calc(50% - 10px); }

	.col3L1 ,
	.col3R1 ,
	.col3L2 ,
	.col3R2 { width: 100%; margin-bottom: 15px; }

	.col2-1:first-child { margin-bottom: 15px; }
}
*/


/*------------------------------------------------------

header

------------------------------------------------------*/

header { padding: 10px; border-bottom: 4px solid #003B00; max-width: 500px; margin: 0px auto;}

h1 { background-image: url(../img/head_logo.png); width: 200px; height: 40px; display: block; overflow: hidden;  max-width: 500px; background-size: cover;}

h1 span { position: absolute; top:-500px;  }

@media (min-width: 768px) {

}

@media (max-width: 767px) {

}

/*------------------------------------------------------

top

------------------------------------------------------*/

#top  { max-widht: 500px; margin: 0px auto; }
#top .mv { margin: 0px auto; display: block; text-align: center; }
#top .bg_red { background: #D4430D; padding: 20px 0px; margin-bottom: 10px;}
#top .l_col-3 { padding: 0px 16px; font-size: 1.6rem; max-width: 500px; margin: 0px auto; max-width: 375px;}
#top .l_col-3 li { width: 105px; text-align: center; background: #fff; margin-bottom: 0px; font-weight: bold; color: #D4430D;}

#top .tel { width: 255px; margin: auto; display: block; margin-bottom: 10px; }
#top .reception_time { width: 240px; margin: auto; display: block; margin-bottom: 10px; }

#top .nav_bg_gray { margin-bottom: 15px; }

#top .nav_bg_gray .l_col-2 { -webkit-justify-content: center; justify-content: center; }

.nav_bg_gray { background: #EEEEEE; padding: 10px 5px; }
.nav_bg_gray .l_col-2 { max-width: 375px; margin: 0px auto;  }
.nav_bg_gray li { margin-bottom: 0px; width: calc(50% - 2.5px); background: #fff;  font-size: 1.4rem; position: relative; text-align: right;}
/* .nav_bg_gray li { margin-bottom: 0px; width: 100%; background: #fff;  font-size: 1.4rem; position: relative; text-align: center; padding: 20px 0px 20px 70px;} */
.nav_bg_gray li a { color: #003B00; width: 100%; height: 100%; display: block; padding: 11px 10px 10px 0px; }

.nav_bg_gray .text_wrap { display: inline-block; margin-left: auto; text-align: left; font-weight: bold; letter-spacing: 0.2rem; line-height: 1.3;}

.nav_bg_gray .icon_tel:before { content: ''; background-image: url(../img/icon_tel.svg); display: block; width:42px; height: 42px; position: absolute;
top: 50%; left: 12px;  transform: translateY(-50%); -webkit-transform: translateY(-50%);
 -ms-transform: translateY(-50%);}

.nav_bg_gray .icon_mail:before {content: ''; background-image: url(../img/icon_mail.svg); display: block; width:36px; height: 25px;  position: absolute; top: 50%; left: 17px; transform: translateY(-50%); -webkit-transform: translateY(-50%);-ms-transform: translateY(-50%); }

.nav_bg_gray .text_wrap span { font-size: 2.2rem; }

/*------------------------------------------------------

nav

------------------------------------------------------*/

#global_nav { border-bottom: 1px solid #CCCCCC;  border-top: 1px solid #CCCCCC; background: #003B00; max-width: 500px; margin: 0px auto 25px auto; }

#global_nav li { width: 50%; margin: 0px; text-align: center;}
#global_nav li a { color: #fff; text-decoration: none; font-size: 1.6rem; width: 100%; height: 100%; padding:15px; display: block;}



#global_nav li:nth-child(2n+1) { border-right: 1px solid #fff;}

#global_nav li:nth-child(-n+4) { border-bottom: 1px solid #fff; }

/*------------------------------------------------------

service

------------------------------------------------------*/

h2 { padding: 12px 0px; font-size: 1.8rem; text-align: center; border-top: 4px solid #003B00; border-bottom: 1px solid #DDDDDD; margin-bottom: 20px;}

#service h2 {  }

h3 { text-align: center; background: #003B00; padding: 10px 0px; color: #fff; font-size: 1.3rem;}

#service { max-width: 500px; margin: 0px auto 40px auto; }

#service .service_nav { margin-bottom: 20px; }

#service .service_nav .l_col-2 li { width: 50%; margin-bottom: 0px; font-size: 1.3rem; height: 50px;  position: relative; }

#service .service_nav .houjin li:nth-child(2n+1) { border-right: 1px solid #CCCCCC; }

#service .service_nav .houjin li:nth-child(-n+6) { border-bottom: 1px solid #CCCCCC; }

#service .service_nav .l_col-2 li a { width: 100%; height: 100%; display: block; color: #003B00; font-weight: bold;}
#service .service_nav .l_col-2 li span { width:100%; display: block; position: absolute; top: 50%; left: 15px; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%);  }

#service .service_nav .kojin li:nth-child(2n+1) { border-right: 1px solid #CCCCCC; }

#service .service_nav .kojin li:nth-child(-n+2) { border-bottom: 1px solid #CCCCCC; }

#service .service_nav .l_col-2 { border-bottom: 1px solid #CCCCCC; border-top: 1px solid #CCCCCC;}

#service .service_nav .l_col-2 li::after { content: ''; background-image: url(../img/icon_arrow.svg); width: 8px; height: 12px; display: block; position: absolute; top: 50%; right: 5px; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); background-repeat: no-repeat; }

#service .nav_bg_gray li { text-align: center; }

#service .nav_bg_gray {  }

.nav_bg_gray .icon_ryoukin:before { content: ''; background-image: url(../img/icon_ryoukin.svg); display: block; width:28px; height: 32px;margin: 0px auto 10px auto;  }
	
.nav_bg_gray .icon_question:before {content: ''; background-image: url(../img/icon_question.svg); display: block; width:24px; height: 32px;  margin: 0px auto 10px auto;  }

/*------------------------------------------------------

news

------------------------------------------------------*/

#news { max-width: 500px; margin: 0px auto 60px auto; }
#news h2 { margin-bottom: 0px; }
#news .text p { margin-bottom: 0px; }
#news .text a { text-decoration: none; color:#333333; }
#news .text .info { font-size: 1.4rem; font-weight: bold; margin-bottom: 5px; }
#news .info .tag { background: #5F000A; padding: 6px 10px; color: #fff; display: inline-block; margin-left: 10px; line-height: 1.0rem; font-size: 1.2rem;}
#news .news_title { font-size: 1.4rem; }
#news li { border-bottom: 1px solid #DDDDDD; padding: 10px 15px; }

#news a:hover { text-decoration: underline; }


#news .cont_right { text-align: right; }
#news .morebtn { display: inline-block; font-size: 1.4rem; margin-top: 10px; position: relative; padding-right: 20px; color: #003B00; }

#news .morebtn::after { content: ''; background-image: url(../img/icon_arrow.svg); width: 8px; height: 12px; display: block; position: absolute; top: 50%; right: 5px; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); background-repeat: no-repeat; }


/*------------------------------------------------------

bnr_box

------------------------------------------------------*/

#bnr_box { text-align: center; max-width: 500px; margin: 0px auto 45px auto; max-width: 375px; }
#bnr_box .l_col-2 {margin: 0px auto; }
#bnr_box .l_col-2 div { width: 48%;  margin-bottom: 20px; }

#bnr_box div { margin-bottom: 5px; }

#bnr_box a { color: #333333; font-size: 1.4rem; }

/*------------------------------------------------------

media

------------------------------------------------------*/

#media { text-align: center; max-width: 500px; margin:0px auto; }
#media a { text-decoration: none; color: #000; font-size: 1.4rem;}
#media a p { max-width: 320px; margin: 0px auto; }
#media img { margin-bottom: 10px; }
#media .wrap { margin-bottom: 30px; }

#media h3 { margin-bottom: 15px; }

#media .l_col-2 { max-width: 345px; margin: 0px auto; }
#media .l_col-2 div { width: 48%; }
/*------------------------------------------------------

footer

------------------------------------------------------*/

footer .bg_green { background: #003B00; font-size: 1.2rem;  padding: 20px 0px 30px 0px; }
footer { color: #fff;}
footer .container { max-width: 500px;  }
footer .l_col-2 { margin-bottom: 20px; }
footer .l_col-2 li { width: 48.5%; font-size: 1.4rem; border: 1px solid #FFFFFF;}
footer .l_col-2 li a { color: #fff; text-decoration: none; padding: 6px 10px 4px 10px; display:block; position: relative;}
footer dl { margin-bottom: 20px; }
footer .l_col-2 li a::after { content: ''; background-image: url(../img/icon_arrow_white.svg); width: 8px; height: 12px; display: block; position: absolute; top: 50%; right: 5px; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); background-repeat: no-repeat; }

footer .foot_logo { padding: 0px 0px 10px 0px; width: 225px; background-size: cover;}
footer .copyright { color: #003B00; text-align: center; padding: 10px; }

/* 221014 中尾追記 コンテンツ順番整理 配置変更 */

.content_wrap-sp { text-align: center; padding: 0px 15px; max-width: 500px; margin: 0px auto; }

.content_wrap-sp > div { margin-bottom: 20px; } 
.content_wrap-sp .iframe_wrap {  position: relative; width: 100%; padding-top: 56.25%; }
.content_wrap-sp .iframe_wrap iframe { position: absolute; top: 0; right: 0; width: 100%; height: 100%; }

.content_wrap-sp .tvcm p { font-size: 16px; margin-top: 10px; }