﻿@charset "utf-8";

/*全体の設定	--------------------------------*/

html{ font-size: 62.5%; }

body {	
margin: 0px;	
padding: 0px;	
color: #666;
font-size: 1.5rem;
line-height: 1.8em;	
background: #fff; }


/*ヘッダー -----------------*/

.head_line {
width: 100%;
background: #4394d0;
height: 13px; }

header { 
height: 75px;
padding: 0; }  

.header_inner {	
max-width: 1000px;
margin: 0 auto;	
padding: 0 3%; }

.head_logo {	
float: left;
margin: 3px 0 2px;	
padding: 0;
border: 0; }

.head_logo_pc { display: block !important; } /*画面幅～371*/
.head_logo_sp { display: none !important; } /*画面幅～370*/

.header-dial {
float: right;
margin: 35px 10px 0 }   

.dial_info { 
color: #777;
font-size: 16px;
font-weight: bold; }


.dial { 
color: #0377a9; 
font-size: 28px;
margin-left: 0.5em;
background: url(../img/dial.png) no-repeat left center / 50px;
padding-left: 2em;
padding-top: 0; }


/*メインメニュー -------------------------------*/

#menubar {	
 clear: both;
 overflow: hidden;
 position: relative;z-index: 100;	
 background: #c4e6ff;
 box-shadow: 0px 3px 3px rgba(0,0,0,0.4); }

.menubar_inner {	
max-width: 1000px;
margin: 0 auto;	
padding: 0 3%; }

.menu {	
display:  block;
border: 7px solid #fff;
background: #4394d0;
margin: 15px auto;
border-radius: 12px; }        

.menu_inner {	
clear: both; 
overflow: hidden;
max-width: 1000px;
margin: 0 auto;	
padding: 0; }    

#menubar li {	
 float: left;	
 width: 16.66%;  
 border-radius: 5px; }            

#menubar li a {	
 display:  block;
 text-decoration: none;
 color: #fff;
 font-size: 15px;
 font-weight:bold; 
 padding: 15px;
 text-align: center;
 border-radius: 5px; }                    

#menubar li.menu_bg1 { background: url(../img/menu_bg1.png); }
#menubar li.menu_bg2 { background: url(../img/menu_bg2.png); }

/*マウスオン時メニューと、現在表示中(current)メニューの設定*/

#menubar li a:hover,#menubar li.current a { background: rgba(0,0,0,0.15); }

/*スマホ用メニューを表示させない*/

#menubar-s { display: none; }

/*３本バーアイコンを表示させない*/

#menubar_hdr { display: none; }




/*コンテンツ背景	---------------------------*/

.bg_head {
position:relative; 
background: linear-gradient(to bottom, #FFF 50%, #F6F6F6);}

.bg_mid {
overflow: hidden;
background: #F6F6F6;
padding-bottom: 60px;
border-bottom: 1px solid #c9c9c9; }


/*コンテンツ	---------------------------*/

.contents {	
display: table;
table-layout: fixed;
width: 1000px;
margin: 0 auto;	
padding: 0; }  



/*左右分割	---------------------------*/

.cont_area {
display: table-cell;
vertical-align: bottom;
width: 100%; }

.side_menu {
display: table-cell;
width: 250px; }

.align_bottom { vertical-align: bottom; }

.align_top { vertical-align: top; }


/*bg_head内	---------------------------*/

.cont_ttl {
margin: 30px 15px 0 0;
padding: 0.4em 0 0.4em 3em;
border: 1px solid #ccc;
border-top: 6px solid #3498db; 
border-bottom: 1px dashed #ccc;
border-radius: 6px 6px 0 0;
background: linear-gradient(to bottom, #fff 0%, #ECF6FF 100%);}

	.cont_ttl h1 {
	clear: both;font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
	font-size: 2.3rem;
	letter-spacing: 0; }

.side_menu_ttl {
width: 250px;
height: 85px;
margin: 20px auto 0;
color: #FFF;
text-align: center;
border: 1px solid #256490;
border-radius: 6px 6px 0 0; 
background: linear-gradient(to bottom, #378DCA 0%, #256490 100%);}

	.side_menu_ttl h2 {
	clear: both;
	font-size: 2.0rem; 
	margin: 1.5em 0;}


/*bg_mid内	---------------------------*/

/*h2コンテンツエリア*/

.cont_body {
margin: 0 15px 0 0;
padding: 10px 45px 30px;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
background: #FFF; }

.cont_body_sec {
margin: 0 15px 0 0;
padding: 30px 45px 30px;
border-top: 1px dashed #ccc;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
background: #FFF; }

.cont_body_sec_bg {
margin: 0 15px 0 0;
padding: 30px 45px 30px;
border-top: 1px dashed #ccc;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
background: #F3F3F3; }

	.sec_ttl {
	border-left: 4px solid #2D80AC;
	margin: 20px 0 30px;
	padding: 3px 16px; }

	.sec_ttl h2 {
	clear: both;
	font-size: 2rem;
	color: #2D80AC;
	letter-spacing: 1px; }


/*h3コンテンツエリア*/

.cont_body_sec_sub {
margin: 0 15px 0 0;
padding: 10px 45px 30px;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
background: #FFF; }

.cont_body_sec_sub_bg {
margin: 0 15px 0 0;
padding: 10px 45px 30px;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
background: #F3F3F3; }

	.sec_sub_ttl {
	border-bottom: 1px solid #CCC;
	margin: 0 0 30px;
	padding: 0;}

	.sec_sub_ttl h3 {
	clear: both;
	position: relative;
	padding-left: 1.5em;
	font-size: 1.9rem;
	line-height: 1.8em;
	color: #2D80AC;
	letter-spacing: 1px; }

	.sec_sub_ttl h3::after {
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -1px;
	transform:translateY(-50%);
	content: '';
	width:  12px;
	height: 12px;
	border: solid 4px #2D80AC;
	border-radius:100%; }


/*ボトムエリア*/

.cont_bottom {
margin: 0 15px 0 0;
height: 10px;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
border-bottom: 1px solid #ccc;
border-radius: 0 0 6px 6px;
background: #FFF; }



/*段落	---------------------------*/

.cont_body p {	
margin: 0;
padding: 0 18px 1.8em; }

.cont_body_sec p {	
margin: 0;
padding: 0 18px 1.8em; }

.cont_body_sec_bg p {	
margin: 0;
padding: 0 18px 1.8em; }

.cont_body_sec_sub p {	
margin: 0;
padding: 0 25px 1.8em; }

.cont_body_sec_sub_bg p {	
margin: 0;
padding: 0 25px 1.8em; }

.notes p {	
margin: 0;
padding: 0 0 0.6em; }


/*サイドメニュー	---------------------------*/

.side_menu_body_ttl {
display:  none;
width: 96%;
margin: 30px auto 0;
height: 65px;
border: 1px solid #256490;
color: #FFF;
border-radius: 6px 6px 0 0; 
background: linear-gradient(to bottom, #378DCA 0%, #256490 100%);}

.side_menu_body_ttl h2 {
clear: both;
font-size: 18px; 
margin: 1em 1.8em;}

.side_menu_body {
width: 250px;
margin: 0 auto;
border: 1px solid #ccc;
border-top: 1px solid #256490;
border-radius: 0 0 6px 6px; 
background: #FFF; }

#side_menubar ul{ 
margin: 0 0 10px; 
padding: 0; }

#side_menubar li{ 
padding: 0; 
margin: 0 10px; 
background: #FFF;
border-bottom: 1px dashed #ccc; }

#side_menubar li:last-child { border-bottom: none; }

#side_menubar li a{
display: block; 
padding: 1em 1.5em;
margin: 1px 0px; }

#side_menubar li a:hover{ background-color: #FFF3CF; }


/*フッター -----------*/

footer {	
clear: both;	
font-size: 14px;
background: #e9eaec;
border-top: 1px solid #fff; }

.footer_inner {	
max-width: 1000px;
margin: 0 auto;	
padding: 0 3%; }

footer a {	
color: #8d8d8d;
text-decoration: none; }

footer a:hover { color: #c0c0c0; }


/*フッターメニュー ---------------------*/

#footermenu {	
overflow: hidden;	
margin: 5px auto 10px;
padding: 8px 2%;
border-bottom: 1px solid rgba(0,0,0,0.1);
box-shadow: 0 1px 0 rgba(255,255,255,1); }

#footermenu li {
 float: left;
 padding-right: 1.8%;
 padding-left: 1.8%; }


/*左info ---------------------*/

.footer_info {
float: left;
padding-top: 5px;
width: 55%;    }   

.footer_dial { 
color: #0377a9; 
font-size: 30px;
font-weight: bold; 
margin: 12px 0;
margin-left: 7px;
background: url(../img/footer_dial.png) no-repeat left center / 41px;
padding-top: 3px;
padding-left: 52px;
padding-right: 30px;}

.footer_dial_info {
clear: both;	
color: #777;
font-size: 15px;
font-weight: bold;
margin: 0px 7px; }   

.footer_ad { 
clear: both;
padding: 5px 100px 10px 7px; }

.sp_link {
display: none;}

/*右ボタン ---------------------*/

.footer_req {
float: right;
overflow: hidden;	
width: 38%;  
padding: 20px; }

#nav_req a { 	
position: relative;	
float: right;
text-align: center;
border: 2px solid transparent;
background: #038eca;
color: #fff !important;
border-radius: 6px;
padding: 15px 30px;
margin-top: 10px;
font-size:15px;
font-weight: bold; }

#nav_req a:hover { 
border: 2px solid #038eca;	
background: #fff;
color: #038eca !important; }

/*ボタン -------------------------*/

.btn_container {
text-align: center;
margin: 30px auto 80px; }

.btn_req {
display: inline-block;
text-align: center;
border: 2px solid transparent;
background: #038eca;
color: #FFF !important;
border-radius: 6px;
font-size: 15px;
font-weight: bold;
padding: 15px 4em;
transition: .4s; }

.btn_req:hover {
background: #FFF;
color: #038eca !important; 
border: 2px solid #038eca; }

.btn_pc { display: inline; }

/*コピーライト -------------------------*/

#copyright {	
clear: both;
margin-bottom: 0;
text-align: center;	
background: #333;
font-size: 10px;
color: #fff;
background: #4394d0; }


/*PAGE TOP（↑）設定----------------------*/

@keyframes scroll {
0% {opacity: 0;} 
100% {opacity: 1;} 
}

/*デフォルトでは非表示に*/
body .nav-fix-pos-pagetop a {display: none;}

/*ボタンの設定*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a {	
display: block;text-decoration: none;
text-align: center;z-index: 100;
position: fixed;	
width: 60px;
line-height: 60px;
border-radius: 50%;
bottom: 30px;
right: 3%;
background: #000;
background: rgba(0,0,0,0.6);
color: #fff;
border: 1px solid #fff;
animation-name: scroll;
animation-duration: 1S;
animation-fill-mode: forwards; }


/*マウスオン時*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a:hover { background: #999; } 







/*画面幅1000px以下の設定----------------*/

@media screen and (max-width:1000px){

#menubar { padding: 0;}

#menubar li a {	
 font-size: 15px;
 padding: 15px 5px; }    

.header_inner {	
width: 96%;
margin: 0 auto;	
padding: 0 3%; }

.menubar_inner {	
width: 96%;
margin: 0 auto;	
padding: 0 2%; }

.footer_inner {	
width: 96%;
margin: 0 auto;	
padding: 0 2%; }


.bg_mid {
padding-bottom: 30px; }

.contents {	
display: block;
width: 100%;}  

.cont_area {
display: block;
width: 96%;
margin: 0 auto; }

.cont_body, .cont_body_sec, .cont_body_sec_bg {
margin: 0;
padding: 10px 75px 30px; }

.cont_body_sec_sub, .cont_body_sec_sub_bg {
	margin: 0;
	padding: 10px 90px 30px; }



.cont_bottom {
margin: 0; }

.cont_ttl { 
margin: 30px 0 0 0;
padding: 0.4em 0 0.4em 5em; }

.side_menu {
display: block;
width: 100%; }

.side_menu_ttl { display: none; }

.side_menu_body_ttl { display: block; }

.side_menu_body {
width: 96%;
margin: 0 auto; }


}



/*画面幅950px以下の設定----------------*/

@media screen and (max-width:950px){

.cont_ttl {
padding: 0.4em 0 0.4em 6%; }

.cont_body {
padding: 10px 6% 30px; }

.cont_body_sec {
padding: 10px 6% 30px; }

.cont_body_sec_bg {
padding: 10px 6% 30px; }


	/*h3コンテンツエリア*/

	.cont_body_sec_sub {
	padding: 10px 8% 30px; }

	.cont_body_sec_sub_bg {
	padding: 10px 8% 30px; }

}




/*画面幅900px以下の設定----------------*/

@media screen and (max-width:900px){

.header_inner {	
width: 90%;
margin-left: 0;	
padding: 0 2%; }

.dial_info { font-size: 15px; }

.dial { 
font-size: 24px;
background: url(../img/dial.png) no-repeat left center / 40px;
padding-left: 1.7em; }

/*スマホ用メニューブロック*/

#menubar-s {	
display: block;
overflow: hidden;	
position: absolute;	
top: 90px;
border-top: 1px solid #fff;
width: 100%;
z-index: 10;
animation-name: menu1;
animation-duration: 0.5S;
animation-fill-mode: both; }                    

/*メニュー１個あたりの設定*/

#menubar-s li a {	
display: block;
text-decoration: none;	
height: 40px;	
padding-top: 20px;
padding-left: 25px;
border-bottom: 1px solid #fff;
font-size: 18px;
color: #fff; }                    

#menubar-s li  {background: rgba(0,0,0,0.8) ;}

/*PC用メニューを非表示にする*/
#menubar { display: none; }

/*３本バーブロック*/
#menubar_hdr {
display: block;
position: absolute;
top: 25px;
right: 2%;	
border: 1px solid #CCC; }

/*アイコン共通設定*/
#menubar_hdr.close,#menubar_hdr.open {
width: 50px;	
height: 50px;}

/*三本バーアイコン*/
#menubar_hdr.close { 
background: #fff url(../img/icon_menu.png) no-repeat center top/50px; }

/*閉じるアイコン*/
#menubar_hdr.open { 
background: #fff url(../img/icon_menu.png) no-repeat center bottom/50px; }

body.is-fixed-menu .contents:first-of-type,
body.is-fixed .contents:first-of-type { margin-top: 0px; }
body.s-n #sub,body.s-n #side,body.s-n #footermenu {display: none;}
.sh { display:block; }
.pc { display:none; }
.link {margin-top: 0;padding-top: 0;} 

.cont_ttl { 
margin: 10px 0 0 0; }

}                    





/*画面幅860px以下の設定----------------*/

@media screen and (max-width:860px){

.header_inner {	
width: 88%; 
padding: 0 2%; }

.header-dial {
margin: 10px 0; } 

.dial_info { 
display:block;
font-size: 15px; }

.dial {
display:block;
font-size: 26px;
line-height: 1.2em;
margin-left: 0;
background: url(../img/dial.png) no-repeat left center / 43px; }

	#footermenu li {
	width: 8em;
	padding-right: 1.5em;
	padding-left: 1.5em; }


}

/*画面幅751px以上の設定----------------*/

@media screen and (min-width: 751px){

.tel_link {
color: #0377a9; 
pointer-events: none;  }

}



/*画面幅750px以下の設定----------------*/

@media screen and (max-width:750px){

	.sec_sub_ttl h3 {
	font-size: 1.8rem; }

.tel_link {
color: #0377a9; }

}


/*画面幅700px以下の設定----------------*/

@media screen and (max-width:700px){

.header_inner {	
width: 85%; 
padding: 0 2%; }

.dial_info { display:none; }

.dial {
font-size: 24px;
line-height: 1em;
margin-top: 25px;
background: url(../img/dial.png) no-repeat left center / 40px; }


}


/*画面幅670px以下の設定----------------*/

@media screen and (max-width:670px){

.footer_info {
float: none;
width: 90%;
margin: 0 auto;    }   

.footer_req {
float: none;
width: 90%;
text-align: center;
margin: 0 auto; 
padding: 20px 0; }

#nav_req a { 	
float: none;
padding: 15px 50px; }

.footer_info { text-align: center; }   

.footer_ad {
text-align: center;
padding: 5px 20px 10px; }

}


/*画面幅660px以下の設定----------------*/

@media screen and (max-width:660px){

.header-dial {display:none; } 

.cont_ttl h1 {
font-size: 2.1rem; }

}


/*画面幅600px以下の設定----------------*/

@media screen and (max-width:600px){

.footer_info { text-align: center; }   

.footer_dial_info { margin: 0 0 15px; }   

}


/*画面幅580px以下の設定----------------*/

@media screen and (max-width:580px){


}

/*画面幅530px以下の設定----------------*/

@media screen and (max-width:530px){

.cont_ttl h1 {
font-size: 2rem;  }

.sec_ttl h2 {
font-size: 1.9rem; }

	.sec_sub_ttl h3 {
	font-size: 1.7rem; }

	.sec_sub_ttl h3::after {
	margin-top: -2px;
 	width:  10px;
	height: 10px; }

.sp_link {
display: block;}

.pc_link {
display: none;}

.footer_ad {
padding-left: 3em; }

.btn_req { padding: 15px 2em; }

.btn_pc { display: none; }


}


/*画面幅460px以下の設定----------------*/

@media screen and (max-width:460px){

.bg_head { 
background: #FFF;}

.bg_mid {
background: #F6F6F6;
padding-bottom: 60px;
border-bottom: 1px solid #c9c9c9; }

.cont_area {
width: 100%;
margin: 0 auto; }

.cont_ttl {
width: 90%;
margin: 10px auto 0;
padding-left: 1em;
border: 1px solid #ccc;
border-top: 6px solid #3498db; 
border-radius: 6px 6px 6px 6px; }

.cont_ttl h1 {
font-size: 1.9rem; }

.sec_ttl h2 {
font-size: 1.8rem; }

	.sec_sub_ttl h3 {
	font-size: 1.6rem; 
	line-height: 1.5em;}

	.sec_sub_ttl h3::after {
	margin-top: -2px;
 	width:  8px;
	height: 8px; }

.cont_body {
border-left: none;
border-right: none;
background: #FFF; }

.cont_body_sec {
border-top: 1px solid #ccc;
border-left: none;
border-right: none;
background: #FFF; }

.cont_body_sec_bg {
border-top: 1px solid #ccc;
border-left: none;
border-right: none; }

	.cont_body_sec_sub {
	border-left: none;
	border-right: none; }

	.cont_body_sec_sub_bg {
	border-left: none;
	border-right: none; }


.cont_body_sec_sub p {
padding: 0 20px 1.8em; }

.cont_body_sec_sub_bg p {	
padding: 0 20px 1.8em; }


.cont_bottom {
height: 0;
border-left: none;
border-right: none;
border-bottom: none; }

.side_menu {
background: linear-gradient(to bottom, #FFF 50%, #F6F6F6); }

.side_menu_body_ttl { 
width: 90%;
margin: 0 auto; }

.side_menu_body {
width: 90%;
margin: 0 auto; }

#nav_req a {
padding: 15px 30px; 
font-size:14px; }

}


/*画面幅420px以下の設定----------------*/

@media screen and (max-width:420px){

body {	
font-size: 1.4rem;
line-height: 1.8em; }

.bg_mid {
padding-bottom: 30px; }

.cont_ttl h1 {
 font-size: 1.8rem; }

#footermenu li {
width: 8em;
padding-right: 2.4em;
padding-left: 2.7em; }

.footer_ad { padding: 10px 1em 15px 0; }

.btn_req { font-size: 14px; }


}


/*画面幅400px以下の設定----------------*/

@media screen and (max-width:400px){

#nav_req a {
float: right;
margin-top: -10px;
padding: 10px 50px;  }


#footermenu li {
padding-right: 1em;
padding-left: 2em; }

}




/*画面幅375px以下の設定----------------*/

@media screen and (max-width:375px){

.cont_ttl h1 {
 font-size: 1.7rem; }

.sec_ttl {
border-left: 3px solid #2D80AC;
padding: 2px 16px; }

.sec_ttl h2 {
font-size: 1.7rem; }

#footermenu li {
font-size: 1.3rem; }


}



/*画面幅370px以下の設定----------------*/

@media screen and (max-width:370px){

.footer_dial { 
font-size: 26px;
font-weight: bold; 
margin: 12px 0;
margin-left: 0;
background: url(../img/footer_dial.png) no-repeat left center / 36px;
padding-top: 3px;
padding-left: 46px;
padding-right: 10px;}


.head_logo_pc { display: none !important; } /*画面幅～371*/
.head_logo_sp { display: block !important; } /*画面幅～370*/

}


/*画面幅340px以下の設定----------------*/

@media screen and (max-width:340px){

#footermenu li {
padding-right: 1em;
padding-left: 1.5em; }

}

