/* ----------------------
 レスポンシブ
-------------------------*/


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

body{
 margin: 0;
 padding: 0;
}
body.page{
}
#wrapper{
 height: 100%;
 position: relative;
 height:auto !important; /*IE6対策*/
 height: 100%; /*IE6対策*/
 min-height: 100%;
 }
.home #contents{
 width: 100%;
 overflow: hidden;
 padding: 0px 0 0px 0;
}

#contents.category{
 max-width: 1000px;
 margin-left: auto;
 margin-right: auto;
 padding: 40px 2% 70px 2%;
}
#contents.single{
 max-width: 900px;
 margin-left: auto;
 margin-right: auto;
 padding: 0px 0 30px 0;
}

#contents.page{
 width: 100%;
 float: left;
}

#header .inner{
 max-width: 1200px;
 margin-top: 10px;
 margin-left: auto;
 margin-right: auto;
 padding-left: 20px;
}
.bread{
 position: relative;
 z-index: 10;
 width: 100%;
 text-align: left;
 margin-bottom: 40px;
}
.bread.single{
 width: 100% !important;
}
.bread .inner{
 width: auto;
 float: right;
 margin-top: -100px;
 margin-right: 5%;
}
.content-inner{
 margin: 30px auto 30px auto;
}
#main{
 min-height: 220px;
}
.page .main{
 width: 100%;
 margin-top: 50px;
}

.page article{
 display: block;
 margin-left: auto;
 margin-right: auto;
}
.page article .inner{
 max-width: 1150px;
 padding-left: 1%;
 padding-right: 1%;
 display: block;
 margin-left: auto;
 margin-right: auto;
}

#contents .entry{
 padding-top: 50px;
 float: left;
 width: 100%;
}
.foot_group{
 float: left;
 width: 100%;
}
h3 small{
 font-size: 0.7em;
}
.pc_n,.pc_none{
 display: none !important;
}
    .g_map {
    position: relative;
    padding-bottom: 50%;
    height: 0;
    overflow: hidden;
    }
    .g_map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    }
}/* pc */


/* -----------------
 sp以下基本
-------------------- */
@media screen and (max-width: 768px) {/* sp */
html,
body{
 margin: 0;
 padding: 0;
 height: 100%;
}

#wrapper{
 position: relative;
 width: 100%;
 margin: 0 auto;
}
.home #contents{
 width: 100%;
 padding: 0px 0 0px 0;
}
#contents {
 width: 100%;
 margin: 0 auto;
 float: left;
}
#header {
 display: none;
}

.page #header {
 display: none;
}
.bread{
 width: 94%;
 margin-top: 25px;
 margin-bottom: 0;
 margin-left: auto;
 margin-right: auto;
}
article .inner{
 width: 94%;
 margin-left: auto;
 margin-right: auto;
}
.single-post .main{
 width: 94%;
 margin-left: auto;
 margin-right: auto;
}
#main{
 float: none;
 display: block;
 margin: 0 auto 15px auto;
}
.page .main{
 padding-top: 40px;
}
.page_main{
 background-color: #fff;
}
article.entry{
 padding-top: 7%;
 padding-left: 3%;
 padding-right: 3%;
 margin-left: auto;
 margin-right: auto;
}

.t_center{
 text-align: center;
}
.sp_n,
.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;
    }

}

/* ----------------------
ヘッダー
-------------------------*/
@media screen and (min-width: 769px) { /* pc */
#sp_header{
 display: none;
}
#header .logo{
 float: left;
 width: 270px;
 height: 84px;
 }
#header .logo img{
 height: 84px;
} 
#header h1 a{
 float: left;
 display: block;
 font-size: 150%;
 text-decoration: none;
 color: #333;
 height: 45px;
 font-weight: bold;
}
.page_head{
 z-index: 1;
 position: relative;
}

.page_head h1{
 max-width: 555px;
 max-width: 30%;
 display: inline;
 line-height: 0.7;
 text-align: center;
 position: absolute;
 top: 28vw; 
 left: 10%; 
 z-index: 10;
 font-size: 300%;
 letter-spacing: 8px;
 font-weight: bold;
}
.page_head h1 span{
 font-size: 60%;
 color: #333;
 display: block;
 margin-top: 20px;
}
.slide_btn{
 display: none;
}

}/* pc end */
.bxslider img{
  width: 100% !important;
  height: auto !important;
}
@media screen and (max-width: 1160px) {/* 以下 */
#header .logo{
 float: none !important;
}
#main_menu{
 float: none !important;
}
#main_menu ul{
 display: table;
 margin-left: auto !important;
 margin-right: auto !important;
}

}
/* ---------------------------
 ヘッダー sp
------------------------------*/
@media screen and (max-width: 768px) {/* sp */
.home #header{
 display: none;
}
#sp_header{
 height: 77px;
}
.home_header{
 display: none;
}
#sp_header h1 a{
 text-align: center;
 float: left;
 display: block;
 font-size: 150%;
 text-decoration: none;
 color: #333;
 font-weight: bold;
}

ul.head_navi li{
 float: left;
}
.logo{
 float: left;
 max-width: 200px;
 margin-left: 10%;
 margin-top: 13px;
 margin-bottom: 0px;
 clear: both;
}
/* pagehead */
.page_head{
 width: 100%;
 position: relative;
}
.page_head h1{
 text-align: center;
  position: absolute;
 top: 40vw;  
  left: 5%;
  padding: 5%;
  height: auto;
  z-index: 10;
  line-height: 1.5;
  font-size: 8vw;
  letter-spacing: 1px;
  font-weight: bold;
  max-width: 80%;
-moz-text-shadow: 1px 2px 5px rgba(255, 255, 255, 1);
-webkit-text-shadow: 1px 2px 5px rgba(255, 255, 255, 1);
-ms-text-shadow: 1px 2px 5px rgba(255, 255, 255, 1);
text-shadow: 1px 2px 5px rgba(255, 255, 255, 1);
}
.page_head h1 span{
 display: block;
 font-size: 40%;
 color: #333;
 text-align: center;
}
}

@media screen and (max-width: 500px) {/* 500以下 */
.logo img{
 height: 50px;
}
.logo{
 float: left;
 margin-left: 8%;
 margin-top: 18px;
 margin-bottom: 0px;
 clear: both;
}
}

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

#sp_menu{
 display: none;
 height: 0;
}
#main_menu{
 position: relative;
}
#main_menu{
 margin-top: 15px;
 text-align: center;
 float: right;
 margin-bottom: 0px;
}
#main_menu ul > li{
 list-style: none;
 display: block;
 text-align: center;
 float: left;
 margin: 0 auto;
 }
#main_menu li{
 height: 51px;
}
#main_menu li:last-child{
 background: none;
}

#main_menu ul li a{
 text-decoration: none;
 color: #333;
 display: block;
 line-height: 1.6;
 font-weight: bold;
 padding: 15px 20px;
 height: 51px;
 }
.home #main_menu ul li a{}
 
#main_menu ul li.current a,
#main_menu ul li a:hover{
 opacity: 1;
 color: #5292f7;
}

#main_menu ul li a {
  position: relative;
  display: block;
  text-decoration: none;
}

#main_menu .contact{
 float: left;
}
#main_menu .contact a{
 float: left;
 display: block;
 padding: 20px 20px;
 color: #fff;
 font-weight: bold;
 text-decoration: none;
 background-color: #20aa55;
}
/* メニューのサブタイトル表示 */
#main_menu span{
 display: block;
 font-size: 80%;
 font-weight: normal;
}
/* 検索用スイッチ */
#main_menu .search-btn{
 float: left;
 margin-top: 20px;
 margin-left: 15px;
 background: url(images/common/search.png) no-repeat center center;
 width: 30px;
 height: 30px;
 background-size: cover;
 cursor: pointer;
}
#main_menu > li.single {
    position: relative;
}
ul.drop li{
 float: left;
 background: none;
}

ul.drop {
 z-index: 3;
 position: absolute;
 width: auto;
 background: #5292f7;
 padding: 0;
}
ul.drop li:first-child a{
 background-image: none !important;
}
ul.drop li a:hover{
 text-decoration: underline !important;
}
ul.drop a{
 float: left;
 display: block;
 height: 51px;
 color: #fff !important;
}
li.single:hover ul.drop {
 top: 51px;
}
li.single:hover ul.drop_3 {
 right: 0;
}
li.single ul.drop_3 {
 right: 0;
}

}/* pc end */

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

/* ---------------------------
 main_manu toggle menu 700以下
------------------------------ */
@media screen and (max-width: 768px) {/* sp */
#modal-menu {
 z-index: 200;
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: #5393f7;
  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: url(images/nav-03.png) no-repeat center 20px;
 background-size: 60% auto;
 text-decoration: none !important;
}
.home .menu-open-btn{
 position: absolute;
 top: 0px;
 right: 0px;
 display: block;
 height: 60px;
 width: 60px;
 background: url(images/nav-03.png) no-repeat center 20px;
 background-size: 60% auto;
 text-decoration: none !important;
}

.menu-close-btn{
 position: absolute;
 top: 0px;
 right: 0px;
 display: block;
 height: 60px;
 width: 60px;
 color: #fff;
 font-weight: bold;
 background: url(images/nav-02.png) no-repeat center center;
 background-size: 60% auto;
 text-decoration: none !important;
}
.menu-open-btn span{
 margin-top: 40px;
 text-align: center;
 display: block;
 font-size: 80%;
 color: #5393f7;
 font-weight: bold;
}
.home .menu-open-btn span{
 margin-top: 40px;
 text-align: center;
 display: block;
 font-size: 80%;
 color: #5393f7;
 font-weight: bold;
}
.menu-close-btn span{
 margin-top: 45px;
 text-align: center;
 display: block;
 font-size: 80%;
 font-weight: bold;
}


li.menu-close-btn-2{
 color: #fff !important;
 background-color: #322f2d !important;
 background: url(images/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;
}
#sp_menu{
 z-index: 300;
 text-align: center;
 width: 90%;
 margin: 60px auto 0 auto;
 overflow: auto;
 }
#sp_menu ul{

}
#sp_menu ul li{
 width: 100%;
 }
#sp_menu li{
 position: relative;
 list-style: none;
}
#sp_menu ul li a{
 text-align: left;
 float: none;
 list-style: none;
 display: block;
}

#sp_menu ul li a {
 font-size: 120%;
 padding: 15px 0 15px 10px;
 font-weight: bold;
 text-decoration: none;
 color: #fff;
 border-bottom: 1px solid #fff;
 background: url(images/common/arrow-1.png) no-repeat 99% center;
 background-size: 20px auto;
 }

#sp_menu ul li.current a{
}
#sp_menu ul li span{
}
#sp_menu li a:hover{
 display: block;
}

#sp_menu .toggle a{
 background: none;
}
#sp_menu .toggle span{
 position: absolute;
 width: 30px;
 height: 57px;
 right: 0;
 top: 0;
 cursor: pointer;
 background: url(images/common/plus-i.png) no-repeat center center;
 background-size: 20px auto;
}
#sp_menu .toggle span.selected{
 cursor: pointer;
 background: url(images/common/minus-i.png) no-repeat center center;
 background-size: 20px auto;
}
.submenu li a{
 display: block;
 padding-left: 30px !important;
 border-bottom: 1px solid rgba(255,255,255,0.4) !important;
}


}/* sp end */

/* ----------------------
 * footer
 *-----------------------*/

/* google map レスポンシブ*/
#footer .g_map {
position: relative;
padding-top: 200px;
height: 0;
overflow: hidden;
}

#footer .g_map iframe,
#footer .g_map object,
#footer .g_map embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

#footer{
 width: 100%;
 background-color: #fff;
 padding-top: 0px;
}
#footer.current{
 
}

@media screen and (min-width: 769px) {/* pc */
#footer .linkbox ul li{
 text-align: left;
 margin-bottom: 8px;
 font-size: 95%;
 float: left;
}
#footer .linkbox ul{
 margin-left: auto;
 margin-right: auto;
 display: table;
}
#footer .linkbox li a{
 color: #fff;
 text-align: left;
 padding:0 10px;
 text-decoration: none;
}
#footer .linkbox li a:hover{
 text-decoration: underline;
}
#footer .linkbox{
 text-align: left;
 float: left;
 width: 100%;
}

#footer .inner{
 max-width: 1100px;
 margin-left: auto;
 margin-right: auto;
 padding: 90px 1% 0 1%;
}
#footer .foot_logo{
 margin-top: 30px;
}
#footer .add_group{
 float: left;
 width: 300px;
 margin: 0;
 text-align: left;
 line-height: 1.8;
 color: #333;
}
#footer .add_group .f-logo{
}
#footer .add_group strong{
}
#footer .copy p{
 padding-top: 10px;
}
.foot_link_group{
 width: 400px;
 float: right;
}
.foot_link_group ul{
 float: left;
}
.foot_link_group ul._1{
 width: 100px;
 margin-right: 0;
}
.foot_link_group ul._2{
 width: 100px;
 margin-right: 0;
}
.foot_link_group ul._3{
 width: 200px;
}
.foot_link_group ul .icon a{
 display: inline-block;
 background: url(images/common/foot-icon.png) no-repeat right center;
 padding-right: 25px;
}

.foot_link_group ul li{
 text-align: left;
}
.foot_link_group ul li a{
 text-align: left;
 color: #333;
 display: block;
 text-decoration: none;
 margin-bottom: 8px;
}
.foot_link_group ul li a:hover{
 text-decoration: underline;
}
.foot_link_group ul .bold a{
 font-weight: bold;
 font-size: 108%;
}
.foot_link_group ul .small a{
 margin-bottom: 0;
}

#footer .copyright{
 color: #fff;
 font-size: 80%;
 margin-top: 80px;
 padding: 10px 0;
 background-color: #4a83dc;
}
#footer .copyright .inner{
max-width: 1100px;
margin-left: auto;
margin-right: auto;
padding: 0px 1% 0 1%;
text-align: left;
}

#footer .btn-inqu a{
 margin-top: 30px;
 display: block;
 float: right;
 width: 240px;
 padding: 20px 0 20px 0; 
 transition: .3s;
 color: #fff;
 background:#cc2223 url(images/common/mail-i.png) no-repeat 10% center;
 background-size: 22px auto;
}
#footer .btn-inqu a:hover{
 background:#ed4243 url(images/common/mail-i.png) no-repeat 10% center;
 background-size: 22px auto;
}

#footer .y-tube{
 margin-top: 10px;
 width: 130px;
}


}/* pc end */
@media screen and (max-width: 950px) {/* 900以下 */
#footer .linkbox ul li{
 font-size: 75%;
}
 }

/* -----------------
 foot sp以下
-------------------- */
@media screen and (max-width: 768px) {/* sp */
#back-top{
 margin-bottom: 0;
 width: 96%;
 margin-left: 2%;
}
.foot_group{
 width: 100%;
 float: left;
}
#footer .inner{
 padding-top: 0;
 padding-bottom: 0;
}
#footer .linkbox{
 display: none;
}
#footer .add_group{
 color: #333;
 padding: 35px 0 30px 0;
}

#footer .add_group strong{
 max-width: 90%;
 margin-left: auto;
 margin-right: auto;
 display: block;
 font-size: 125%;
 letter-spacing: 1px;
}
#footer .add_group .tel{
 text-align: center;
 margin-left: auto;
 margin-right: auto;
}
#footer .copyright{
 text-align: center;
 color: #fff;
 font-size: 80%;
 padding: 10px 0;
 background-color: #4a83dc;
}
#footer .f-logo{
 max-width: 80%;
 margin-left: auto;
 margin-right: auto;
 margin-bottom: 10px;
}
#footer .btn-inqu a{
 margin: 30px auto 0 auto;
 display: block;
 float: none;
 width: 240px;
 padding: 20px 0 20px 0; 
 transition: .3s;
 color: #fff;
 background:#cc2223 url(images/common/mail-i.png) no-repeat 10% center;
 background-size: 22px auto;
}

#footer .y-tube{
 margin: 10px auto 0 auto;
 width: 180px;
}

}

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

/* ---------------------------
 カテゴリーページ 更新記事
------------------------------ */
.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{
 margin-bottom: 4px;
}
.post .entry a{
 text-decoration: underline !important;
 color: #0058bc;
}

@media screen and (min-width: 769px) {/* pc */
.post .entry strong{
 display: block;
 font-size: 130%;
 margin: 20px 0;
}
.single-post h2.ttl-2{
 line-height: 1.5;
 font-size: 190% !important;
 text-align: center;
 color: #333;
 letter-spacing: 2px;
 padding: 20px 0 18px 0px;
 margin-bottom: 30px;
 border-bottom: none;
}
.single-post .entry h1{
 font-size: 160%;
 border-bottom: 2px solid #38632f;
 font-weight: bold;
 letter-spacing: 2px;
 margin-bottom: 25px;
}
.single-post .entry h2{
 font-size: 160%;
 color: #38632f;
 font-weight: bold;
 letter-spacing: 2px !important;
 margin-bottom: 25px !important;
 padding-left: 0 !important;
 background: none !important;
}
.single-post .entry h3{
 background-color: #ddd;
 padding: 15px;
 margin-bottom: 25px;
 font-size: 130%;
 font-weight: bold;
}
.single-post .entry h4{
 font-weight: bold;
 font-size: 130%;
 padding: 5px 0 0px 15px;
 background: url(images/common/h2-bg.jpg) no-repeat left center;
 background-size: 4px auto;
 margin-bottom: 25px;
}
.single-post .entry h6,
.single-post .entry h5{
 font-size: 1.2em;
 font-weight: bold;
 margin-bottom: 25px;
}
.single-post .entry p{
 margin: 1.5em 0;
 line-height: 2;
}
.single-post .entry ol{
 margin:1.5em 0 1.5em 20px;
}
.single-post .entry ul{
 margin:1.5em 0 1.5em 17px;
}
.single-post .entry ul li{
 list-style-type: disc;
 margin-bottom: 5px;
}
.single-post .entry ol li{
 list-style-type: decimal;
 margin-bottom: 5px;
}
.single-post .entry table{
 width: 100%;
 margin: 1.5em 0;
 border: 1px solid #ccc;
}
.single-post .entry table th{
 font-weight: bold;
 padding: 15px 15px 15px 15px;
 border-right: 1px solid #ccc;
 border-bottom: 1px solid #ccc;
}
.single-post .entry table td{
 padding: 15px 15px 15px 15px;
 border-right: 1px solid #ccc;
 border-bottom: 1px solid #ccc;
}
}
@media screen and (max-width: 768px) {/* sp */
.post .entry strong{
 display: block;
 font-size: 130%;
 margin: 20px 0;
}
.single-post h2.ttl-2{
 font-size: 160%;
 line-height: 1.6;
 letter-spacing: 2px;
 padding: 10px 0 10px 0px;
 margin-bottom: 20px;
 background-size: auto 50px;
 font-weight: normal;
 text-align: center;
 color: #333;
 letter-spacing: 2px;
 border-bottom: none;
}
.single-post .entry h1{
 font-size: 140%;
 border-bottom: 2px solid #22a853;
 font-weight: bold;
 letter-spacing: 2px;
 margin-bottom: 25px;
}
.single-post .entry h2{
 font-size: 140%;
 color: #0181c6;
 font-weight: bold;
 letter-spacing: 2px !important;
 margin-bottom: 25px !important;
 padding-left: 0 !important;
 background: none !important;
}
.single-post .entry h3{
 background-color: #ddd;
 padding: 10px;
 margin-bottom: 25px;
 font-size: 130%;
 font-weight: bold;
}
.single-post .entry h4{
 font-size: 120%;
 padding: 5px 0 0px 15px;
 background: url(images/common/h2-bg.jpg) no-repeat left center;
 background-size: 4px auto;
 margin-bottom: 25px;
}
.single-post .entry h6,
.single-post .entry h5{
 font-size: 1.2em;
 font-weight: bold;
 margin-bottom: 25px;
}
.single-post .entry p{
 margin: 1.5em 0;
 line-height: 2;
}
.single-post .entry ol{
 margin:1.5em 0 1.5em 20px;
}
.single-post .entry ul{
 margin:1.5em 0 1.5em 17px;
}
.single-post .entry ul li{
 list-style-type: disc;
 margin-bottom: 5px;
}
.single-post .entry ol li{
 list-style-type: decimal;
 margin-bottom: 5px;
}
.single-post .entry table{
 width: 100%;
 margin: 1.5em 0;
 border: 1px solid #ccc;
}
.single-post .entry table th{
 font-weight: bold;
 padding: 15px 15px 15px 15px;
 border-right: 1px solid #ccc;
 border-bottom: 1px solid #ccc;
}
.single-post .entry table td{
 padding: 15px 15px 15px 15px;
 border-right: 1px solid #ccc;
 border-bottom: 1px solid #ccc;
}

}
/* ---------------------------------
 ドロワーハンバーガー
------------------------------------ */
  .drawer-hamburger {
    width: 3rem !important;
    padding: 35px 2rem 0px !important;
    font-family: 'Montserrat', sans-serif;
    color: #20aa55;
    font-size: 1.2rem; }
  .drawer-hamburger-icon {
    width: 100%;
    height: 4px;
    -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    background-color: transparent !important;
    display: table !important; }
  .drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
    width: 100%;
    height: 4px !important;
    -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    background-color: #20aa55 !important; }
  .drawer-hamburger-icon::before {
    top: -20px !important; }
  .drawer-hamburger-icon::after {
    top: -8px !important; }
  .drawer--top .drawer-nav {
    height: 0 !important;
    width: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    margin: auto;
    background-color: #20aa55 !important;
    -webkit-transition: top 0.6s cubic-bezier(1, -0.2, 0, 1) !important;
    transition: top 1s cubic-bezier(1, -0.2, 0, 1) !important;
    top: 0 !important; }
    .drawer--top .drawer-nav .drawer-menu {
      display: table-cell;
      vertical-align: middle; }
      .drawer--top .drawer-nav .drawer-menu li {
        display: table;
        margin: auto; }
        .drawer--top .drawer-nav .drawer-menu li .drawer-menu-item {
          font-size: 2.0rem;
          margin: 1rem;
          color: #fff; }
  .drawer--top.drawer-open .drawer-hamburger {
    width: 3rem !important;
    padding: 35px 2rem 0px !important;
    font-family: 'Montserrat', sans-serif;
    color: #fff;
    font-size: 1.2rem; }
  .drawer--top.drawer-open .drawer-hamburger-icon:after, .drawer--top.drawer-open .drawer-hamburger-icon:before {
    background-color: #fff !important; }
  .drawer--top.drawer-open .drawer-hamburger-icon::after {
    top: -19px !important; }
  .drawer--top.drawer-open .drawer-nav {
    height: 100vh !important;
    width: 100vw !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    margin: auto;
    background-color: #20aa55 !important;
    -webkit-transition: top 0.6s cubic-bezier(1, -0.2, 0, 1) !important;
    transition: top 1s cubic-bezier(1, -0.2, 0, 1) !important;
    top: 0 !important;
    display: table; }


@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
------------------------- */
@media screen and (min-width: 769px) {/* pcまで */

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: #e9f6ef;
 font-weight: bold;
 text-align: center;
}
table.base td{
 padding: 1.5%;
 background-color: #f2f2f2;
 border-bottom: 2px solid #fff;
 border-right: 2px solid #fff;
}
table.base-1{
 width: 100%;
 border-top: 1px dotted #909090;
}
table.base-1 th{
 padding: 15px;
 border-bottom: 1px dotted #909090;
}
table.base-1 td{
 padding: 15px;
 border-bottom: 1px dotted #909090;
}

table.base-2{
 width: 100%;
 margin-bottom: 40px;
 border-top: 1px solid #a8a8a8;
}
table.base-2 th{
 padding: 15px;
 border-bottom: 1px solid #a8a8a8;
}
table.base-2 td{
 padding: 15px;
 border-bottom: 1px solid #a8a8a8;
}
}
/* ----------------------------------------------- */

@media screen and (max-width: 768px) {/* sp以下 */
table.base-1{
 width: 100%;
 margin-bottom: 20px;
 border-top: 1px solid #909090;
}
table.base-1 th{
 padding: 5px 10px 5px 10px;
 display: block;
 font-weight: bold;
 font-size: 110%;
}
table.base-1 td{
 display: block;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px dotted #909090;
}

table.base-2{
 width: 100%;
 margin-bottom: 20px;
 border-top: 1px solid #a8a8a8;
}
table.base-2 th{
 padding: 10px 10px 0 10px;
 display: block;
 font-weight: bold;
 font-size: 110%;
}
table.base-2 td{
 display: block;
 padding: 0px 10px 10px 10px;
 border-bottom: 1px solid #a8a8a8;
}
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.base th.small{
 width: 25px;
 writing-mode: vertical-lr;
 position: relative;
 line-height: 1;
}

table th.small span{
}

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: #e9f6ef;
 font-weight: bold;
 text-align: center;
 font-size: 80%;
}
table.base td{
 padding: 1.5%;
 background-color: #f2f2f2;
 border-bottom: 2px solid #fff;
 border-right: 2px solid #fff;
 font-size: 80%;
}
table.base tr{
 border-bottom: 2px solid #fff;
}

table.base.sp th{
 display: block;
 border-bottom: 2px solid #fff;
 padding: 1.8%;
 background-color: #e1eef6;
 font-weight: bold;
 border-right: 0;
}
table.base.sp td{
 display: block;
 padding: 1.8%;
 background-color: #f2f2f2;
 border-bottom: 2px solid #fff;
 margin-bottom: 15px;
}
table td.w30{
 width: 30%;
 float: left;
 padding-left: 0;
 padding-right: 0;
 border-top: none !important;
 text-align: center;
}
table td.w35{
 width: 35%;
 float: left;
 padding-left: 0;
 padding-right: 0;
 border-top: none !important;
}

table td.w5{
 width: 5%;
 float: left;
 padding-left: 0;
 padding-right: 0;
 border-top: none !important;
}
table td.w20{
 width: 20%;
 float: left;
 padding-left: 0;
 padding-right: 0;
 border-top: none !important;
}
table td.w25{
 width: 25%;
 float: left;
 padding-left: 0;
 padding-right: 0;
 border-top: none !important;
}
td.sp-border-bn{
 border-bottom: none !important;
}
table td.pl10{
 padding-left: 10px;
}


}/* sp */

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

@media screen and (max-width: 500px) {/* 500以下 */
.wpcf7-textarea{
 width: 95%;
}
}
