/* ----------------------
 レスポンシブ
-------------------------*/
.ie #wrapper{
 z-index: 0;
 width:expression(this.width >= 1000? "1000px" : "auto");
}

@media screen and (min-width: 960px) {
#wrapper{
 width: 100%;
 margin: 0 auto;
}
}
@media screen and (min-width: 999px) {/*  */
.bread {
 max-width: 980px;
}
.page article{
 max-width: 980px;
 margin-left: auto;
 margin-right: auto;
}
}
@media screen and (max-width: 1000px) {/*  */
.f_navi .inner,
.bread,
.page article{
 width: 94%;
 margin-left: auto;
 margin-right: auto;
}
}

/* facebook */
.fb-like-box,
.fb-like-box span,
.fb-like-box iframe[style]{ width: 100%!important; }

/*-----------------
 PC基本
--------------------*/
@media screen and (min-width: 699px) {

body{
 margin: 0;
 padding: 0;
}

#wrapper{
 height: 100%;
 position: relative;
 height:auto !important; /*IE6対策*/
 height: 100%; /*IE6対策*/
 min-height: 100%;
 }
#contents{
 overflow: hidden;
 padding: 70px 0;
}
#contents.page{
 width: 100%;
 margin-left: auto;
 margin-right: auto;
 padding: 0px 0 170px 0;
 background: url(images/foot-bg-2.png) no-repeat center bottom; 
}

.home #header .inner{
 max-width: 1000px;
 margin-left: auto;
 margin-right: auto;
}

.page #header .inner{
 max-width: 1100px;
 margin-left: auto;
 margin-right: auto;
}
#main{
 margin-left: auto;
 margin-right: auto;
 min-height: 220px;
}
#main_wide{
 width: 100%;
}
.page article .inner{
 max-width: 1000px;
 display: block;
 margin-left: auto;
 margin-right: auto;
}
.foot_group{
 float: left;
 width: 100%;
}
h3 small{
 font-size: 0.7em;
}
.pc_none{
 display: none !important;
}
}

/* -----------------
 sp以下基本
-------------------- */
@media screen and (max-width: 698px) {/* sp */
html{
 margin-top: 0;
}
body{
 margin: 0;
 padding: 0;
}
.home #wrapper{
 position: relative;
 width: 100%;
 height: 100vh;
 margin: 0 auto;
}
.page #wrapper{
 position: relative;
 width: 100%;
 margin: 0 auto;
}
#contents {
 width: 100%;
 margin: 0 auto;
}
.page #contents{
}
#header {
 display: none;
}
.page #header {
 display: none;
}
.bread{
 width: 94%;
 margin-left: auto;
 margin-right: auto;
}

#side{
 display: none;
}

#main{
 float: none;
 display: block;
 margin: 0 auto 15px auto;
 width: 94%;
 padding-bottom: 30px;
}
#main_wide{
 padding-top: 40px; 
}
.page_main{
 background-color: #fff;
}
.t_center{
 text-align: center;
}
.sp_none{
 display: none !important;
}
/* google map */
    .g_map {
    position: relative;
    padding-bottom: 100%; 
    height: 0;
    overflow: hidden;
    }
    .g_map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    }

}

/* ----------------------
ヘッダー
-------------------------*/
#header h1{ 
 text-align: center;
 margin:0px;
 padding:0px;
 }

@media screen and (min-width: 699px) { /* pcまで */
#header .tel_group{
 float: right;
 margin-top: 20px;
 margin-right: 20px;
}
#header .tel_group li{
 font-weight: bold;
 font-size: 110%; 
}

.home #header{
 float: left;
 width: 100%;
}
#sp_header{
 display: none;
}

#header .logo{
 text-align: center;
 float: left;
 width: 250px;
 margin: 15px 0px 0 0; 
 }
#header h1 a{
 float: left;
 display: block;
}
#header h1 span{
 display: block;
 float: left;
 margin: 6px 0 0 30px;
}
.head_bg{
}
.page_head{
 z-index: 1;
 float: left;
 width: 100%;
 position: relative;
 overflow: hidden;
 padding-bottom: 25%;
 background: url(../images/common/page-head-bg.jpg) no-repeat right bottom;
 background-size: cover;
}
/* 
.home_head h1{
 position: absolute; 
 overflow: hidden;
 color: #fb0000;
 position: absolute;
top: 65%;
left: 50%;
-webkit-transform: translate(-50%,-50%);
-moz-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
-o-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
}
 */
.page_head h1{
 position: absolute; 
 overflow: hidden;
 color: #E3007B;
 position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%,-50%);
-moz-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
-o-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
}
.home_head h1,
.page_head h1{
 text-align: center;
 margin-left: auto;
 margin-right: auto;
 font-size: 250%;
 letter-spacing: 6px;
 font-weight: bold;
}
.page_head p{
 letter-spacing: 2px;
}

.slide_btn{
 display: none;
}
}
.bxslider img{
  width: 100% !important;
  height: auto !important;
}
@media screen and (max-width: 950px) { /* 以下 */
#header .logo{
 text-align: center;
 width: 250px;
 float: none;
 padding-top: 0px;
 margin: 20px auto 0 auto; 
 }
}

/* ---------------------------
 ヘッダー sp以下
------------------------------*/
@media screen and (max-width: 698px) {/* sp以下 */
.home #header{
 display: none;
}
#sp_header{
 width: 100%;
 float: left;
 position: relative;
 height: ;
}
.home_header{
 display: none; 
}
#header h1{
 text-align: center;
}

ul.head_navi li{
 float: left;
}
#sp_header .logo{
 text-align: left;
 width: 170px;
 margin: 10px 0 0px 10px;
 clear: both;
}
#sp_header .tel_group{
 margin-left: auto;
 margin-right: auto;
 margin-bottom: 10px; 
}
#sp_header .tel_group li{
 text-align: center;
 font-weight: bold;
 width: 50%;
 float: left;
 color: #fff;
 padding: 15px 0;
}
#sp_header .tel_group li a{
 color: #fff;
 font-size: 120%;
}
#sp_header .tel_group li.left{
 background-color: #6ec8e2;
}
#sp_header .tel_group li.right{
 background-color: #c6da47;
}


 
/* pagehead */
.head_bg{ 
}
.page_head{
 position: relative;
 overflow: hidden;
 padding-bottom: 50%;
 background: url(../images/common/page-head_sp.jpg) no-repeat center bottom;
 background-size: 100% auto;
}

.page_head h1{
 position: absolute; 
 overflow: hidden;
 color: #E3007B;
 position: absolute;
top: 48%;
left: 50%;
-webkit-transform: translate(-50%,-50%);
-moz-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
-o-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
}
.home_head h1{
 text-align: center;
 margin-left: auto;
 margin-right: auto;
 font-size: 130%;
 letter-spacing: 3px;
 font-weight: bold;
 position: absolute; 
 overflow: hidden;
 color: #fb0000;
 position: absolute;
top: 60%;
left: 5%;
right: 5%;

}
.page_head h1{
 width: 94%;
 text-align: center;
 margin-left: auto;
 margin-right: auto;
 font-size: 140%;
 letter-spacing: 3px;
 font-weight: bold;
 line-height: 1.3;
}
.page_head span{
 letter-spacing: 2px;
}
}/* sp */

@media screen and (max-width: 500px) {/*  */
}
@media screen and (max-width: 500px) {/* 500以下 */
}

/* ----------------------
 main menu pcまで
-------------------------*/
@media screen and (min-width: 699px) {

#sp_menu{
 display: none;
 height: 0;
}
#main_menu{
  display:inherit !important;
}
#main_menu{
 margin-bottom: 20px; 
 text-align: center; 
 width: 100%;
 }
#main_menu ul{
 width: 100%; 
 padding-top: 15px;
} 
#main_menu ul ul{
 display: none;
} 
#main_menu ul li{
 list-style: none;
 display: block;
 text-align: center;
 float: left;
 margin: 0 auto;
 position: relative;
 padding-left: 2.3%;
 padding-right: 2.3%;
 }
#main_menu ul li a{
 text-decoration: none;
 display: block;
 font-weight: bold;
 color: #231815;
 padding: 10px 0; 

	-webkit-transition:0.3s ease;
	-webkit-transition-property:opacity,border,color,background;

	-moz-transition:0.3s ease;
	-moz-transition-property:opacity,border,color,background;

	-o-transition:0.3s ease;
	-o-transition-property:opacity,border,color,background;
	
	transition:0.3s ease;
	transition-property:opacity,border,color,background;

 }
#main_menu ul li.current a,
#main_menu ul li a:hover{
 color: #e3007b;
}
#main_menu ul li._1{
 border-left: none !important;
}
#main_menu ul li._1 a{
}
#main_menu ul{
 float: left;
}
#main_menu ul.first{

}

#main_menu ul.first li{
 border-left: dotted 2px #ccc;
}
#main_menu ul.entry{
 padding-top: 55px;
 padding-bottom: ;
 background: #fb0000 url(../images/common/m-entry.png) no-repeat center 20px; 
}
#main_menu ul.entry li a{
 color: #fff;
}
ul.sub-menu {
 border-top: 4px solid #fb0000;
 margin-top: 20px !important;
 display: none;
 padding-top: 0px !important;
 text-align: left;
 width: 172px !important;
 z-index: 600 !important;
 position: absolute; top: 32px; left: -2px;
 } 

* html ul.sub-menu { line-height: 0; } 

ul.sub-menu li{
 padding: 0 !important;
 margin: 0 !important;
 border-left: none !important;
}

ul.sub-menu li a {
 width: 170px;
 display: inline;
 font-size: 13px !important;
 border-left: none;
 background-color:#f9f9f9 !important;
 margin: 0;
 padding: 10px 0 !important;
 display: block; 
 border-bottom: 1px dotted #ccc; 
 zoom: 1;
 color: #555 !important; 
 line-height: 1.5;
}
ul.sub-menu li.current a,
ul.sub-menu li a:hover {
 color: #fff !important;
 background-color: #666 !important;
} 

}
@media screen and (max-width: 950px) { /* 以下 */
#main_menu{
 margin-top: 10px;
 width: 94%;
 margin: 0px auto 10px auto; 
 text-align: center; 
 float: none;
 }
}

/* ---------------------------
 main_manu toggle menu 700以下
------------------------------ */
@media screen and (max-width: 698px) {/* sp以下 */
#modal-menu {
 z-index: 10;
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: rgba(50, 47, 45, 0.9);
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity .2s ease-out;
  pointer-events: none;
  overflow: scroll;
 -webkit-overflow-scrolling: touch;
 padding-bottom: 60px;
}
body.is-menu-open #modal-menu {
  opacity: 1;
  pointer-events: auto;
}
body.is-menu-open #content {
  pointer-events: none;
  transition: all .2s ease-out;
  -webkit-filter: blur(8px);
     -moz-filter: blur(8px);
      -ms-filter: blur(8px);
          filter: blur(8px);
}
body.is-menu-open .sp_menu {
  transform: translateY(0);
}

.menu-open-btn{
 position: absolute;
 top: 0px;
 right: 0px;
 display: block;
 height: 60px;
 width: 60px;
 background:#e3007b url(../images/common/nav-01.png) no-repeat center center;
 background-size: 60% auto;
}
.menu-close-btn{
 position: absolute;
 top: 0px;
 right: 0px;
 display: block;
 height: 60px;
 width: 60px;
 background: url(../images/common/nav-02.png) no-repeat center center;
 background-size: 60% auto;
}

li.menu-close-btn-2{
 color: #fff !important;
 background-color: #322f2d !important;
 background: url(../images/common/nav-02.png) no-repeat 98% center;
 background-size: 30px auto;
}

li.menu-close-btn-2 a{
 color: #fff !important; 
}

.slide_btn.act{
 background:#fb0000 url(../images/common/nav-02.png) no-repeat center center;
 background-size: 60% auto;
}
.toggle_menu_title{
 text-shadow: 1px 1px 0px #000;
 font-weight: bold;
 color: #fff;
 line-height: 60px;
 font-size: 110%; 
 margin-left: 15px;
 float: left;
}
.slide_btn:hover{
 cursor:pointer;
}
.nav_icon{
 cursor:pointer;
 margin: 0;
 height: 25px;
 width: 25px;
}

#main_menu{
 display: none;
}

#overlay{
        display: none;
        width: 100%;
        height:100%;
        text-align: center;
        position: fixed;
        top: 80px;
        z-index: 10;
        background: rgba(0,0,0,0.6);
    }

#sp_menu{
 position: absolute;
 top: 60px;
 left: 0;
 z-index: 300;
 text-align: center; 
 width: 100%;
 margin: 0 auto;
 border-top: 1px solid #ccc;
 }
#sp_menu ul{

} 
#sp_menu ul li{
 float: left;
 background-color: #fff;
 width: 100%;
 }
#sp_menu li{
 list-style: none;
}
#sp_menu ul li a{
 text-align: center;
 float: none;
 list-style: none;
 display: block;
}

#sp_menu ul li a {
 font-size: 120%;
 padding: 15px 0 15px 0;
 display: block;
 font-weight: bold;
 text-decoration: none;
 margin: 0 auto;
 color: #333;
 border-bottom: 1px solid #ccc; 
 }

#sp_menu ul li.current a{
 display: block;
 color: #fff;
 background-color: #fb0000;
}
 
#sp_menu ul li span{
 display: block;
 font-size: 90%;
 font-weight: normal;
}
#sp_menu li a:hover{
 display: block;
}
 
.b_none_sp a{
 border-bottom: none !important;
}

#main_menu ul .li_end{
 display: none;
}

/* sp_sub */
ul.sub_menu_sp{
 display: none;
}

.sub_menu_sp li._1 {
 font-size: 120%;
 height: 50px;
 padding: 10px 0 10px 0;
 display: block;
 font-weight: normal;
 text-decoration: none;
 margin: 0 auto;
 color: #333;
 border-bottom: 1px solid #ccc; 
 }
ul.sub_menu_sp li{
 width: 100% !important;
 display: inline;
 clear: left;
 margin: 0 !important;
 background-color: #efefef !important;
}
#sp_menu li.slide_sp a{
 cursor: pointer;
}
#sp_menu li.slide_sp a.first{
 background:#fff url(../images/common/sp-slide-1.png) no-repeat 93% center;
}
#sp_menu li.slide_sp a.first.act{
 background:#fff url(../images/common/sp-slide-2.png) no-repeat 93% center;
}

}

                
/* ----------------------
 * footer 
 *-----------------------*/
#footer{
 border-top: 2px solid #3eb271;
}
#footer .logo{
 max-width: 300px;
 margin-left: auto;
 margin-right: auto;
 margin-bottom: 40px;
}

@media screen and (min-width: 699px) {/* pc */
#footer{
 padding-top: 70px;
 padding-bottom: 0px;
}
#footer .inner{
 max-width: 1000px;
 margin-left: auto;
 margin-right: auto;
}
#footer .copy p{
 padding-top: 10px;
}
}/* 700end */
@media screen and (max-width: 950px) {/* 900以下 */
}

/* -----------------
 foot sp以下
-------------------- */
@media screen and (max-width: 698px) {/* sp */
#back-top{
 float: left;
 margin-bottom: 0;
 width: 96%;
 margin-left: 2%;
}
.foot_group{
 float: left;
 width: 100%;
}
#footer .inner{
 padding-top: 50px;
}
#footer .logo{
 padding-left: 3%;
 padding-right: 3%;
}
.copy{
 display: block;
 margin-top: 0;
 font-size: 70%; 
 text-align: center;
 padding-bottom: 10px;
}
.copy p{
 line-height: 1.5;
 padding-top: 8px;
 margin-left: auto;
 margin-right: auto;
 text-align: center;
}
}

@media screen and (max-width: 400px) {/* 400以下 */
p {
 line-height: 1.7;
}
body{
 font-size: 90%;
}

.cycloneslider-template-default .cycloneslider-caption-title {
 font-size: 13px !important;
 line-height: 1;
 margin-bottom: 0;
 padding: 5px;
 }
}

/* -----------------
 カテゴリーページ
-------------------- */
.post .entry p{
 margin-bottom: 20px;
 line-height: 1.7;
}
.post .entry br{
 width: 100%;
 clear: both;
}
.post .entry ul{
 margin: 20px 0 30px 20px;
}
.post .entry ol{
 margin: 20px 0 30px 24px;
}
.post .entry ol li{
 list-style-type: decimal;
 margin-bottom: 4px;
}
.post .entry ul li{
 list-style-type: disc;
 margin-bottom: 4px;
}
.post .entry a{
 text-decoration: underline !important;
 color: #0054a5;
}

@media screen and (min-width: 699px) {/* pc */
.post .entry h1{
 font-size: 180%;
 text-align: center;
 display: block;
 font-weight: bold;
 color: #0054a6;
 padding-bottom: 10px;
 margin-bottom: 40px;
 letter-spacing: 2px;
 background: url(images/menu-bg.jpg) no-repeat bottom center;  
}
.post .entry h3{
 font-size: 160%;
 text-align: left;
 display: block;
 font-weight: bold;
 color: #0054a6;
 margin-bottom: 20px;
 letter-spacing: 2px;  
}
.post .entry strong{
 display: block;
 font-size: 130%;
 margin: 20px 0;
}
}
@media screen and (max-width: 698px) {/* sp */
.post .entry h1{
 font-size: 160%;
 text-align: center;
 display: block;
 font-weight: bold;
 color: #0054a6;
 padding-bottom: 10px;
 margin-bottom: 40px;
 letter-spacing: 2px;
 background: url(images/menu-bg.jpg) no-repeat bottom center;  
}
.post .entry h3{
 font-size: 150%;
 text-align: left;
 display: block;
 font-weight: bold;
 color: #0054a6;
 margin-bottom: 20px;
 letter-spacing: 2px;  
}
.post .entry strong{
 display: block;
 font-size: 130%;
 margin: 20px 0;
}
}

@media screen and (min-width: 501px) {/* ページ設定500まで */

}

@media screen and (max-width: 500px) {/* ページ設定500以下 */

/* 投稿画像センター寄せ */
.img-center,
.center-img{
 float: none !important;
 display: table !important;
 margin-left: auto !important;
 margin-right: auto !important;
 margin-bottom: 10px !important;
 clear: both;
}

.t_left{
 float: left;
 text-align: left !important;
}
}
/* ----------------------
 table
------------------------- */
table.base{
 width: 100%;
 margin-bottom: 40px;
}
table.base th{
 border-bottom: 2px solid #fff;
 border-right: 2px solid #fff;
 padding: 1.5%;
 background-color: #e1eef6;
 font-weight: bold;
}
table.base td{
 padding: 1.5%;
 background-color: #f2f2f2;
 border-bottom: 2px solid #fff;
}

table.style-1,
table.base_2{
 width: 100%;
 margin-bottom: 40px;
}

table.style-1 th,
table.base_2 th{
 vertical-align: top;
 border-bottom: 1px dotted #B0B0B0;
 padding: 15px 1.5% 15px 1.5%;
 font-weight: bold;
}

table.style-1 td,
table.base_2 td{
 padding: 15px 1.5% 15px 1.5%;
 border-bottom: 1px dotted #B0B0B0;
}
/* ----------------------------------------------- */
table.sub td{
 padding: 0 0 0% 0 !important;
}

@media screen and (min-width: 700px) {/* 700まで */
table.sub{
 width: 90%;
}
 }
/* ----------------------------------------------- */

@media screen and (max-width: 699px) {/* 700以下 */
table.sub{
 width: 100%;
}

table.responsive tr{
 display: block;
}

table.responsive td{
 display: block;
 width: 97%; 
}
table.responsive th{
 display: block;
 width: 97%;
 font-weight: bold;
 padding-bottom: 0 !important; 
}
.mgb20_sp{
 margin-bottom: 20px;
}

}

/* ----------------- */
table.style-2{
 width: 100%;
 margin-bottom: 90px;
 margin-top: 15px;
}

table.style-2 th{
 background-color: #efefef;  
}
table.style-2 th{
padding: 6px;
text-align: center;
vertical-align: middle;
border: 1px solid #4d4d4d;
}
table.style-2 td{
padding: 6px;
background-color: #fff;
border: 1px solid #4d4d4d;
}

table.style-3{
 width: 100%;
 margin: 50px auto 60px auto;
}
table.style-3 td,
table.style-3 th{
 padding: 13px 2% 13px 2%;
}

tr.gray{
 background-color: #f6f7f7;
}
tr.blue th,
tr.blue td{

}
table.style-3 span.rei{
 margin-left: 20px;
}

@media screen and (max-width: 500px) {/* 500以下 */
table.style-3 span.rei{
 margin-top: 10px;
 margin-left: 5px;
 display: block;
 width: 95%;
}
.wpcf7-textarea{
 width: 95%;
} 

}