@charset "UTF-8";

/**************************************************************************************
　　customize
**************************************************************************************/




a.anchor{
    display: block !important;
    padding-top: 120px !important;
    margin-top: -120px !important;
}


.link_anc {
position: relative;
top: -60px;
display: block;
}


body{
  color: #383c3c !important;
}


a {
  text-decoration: none;
  color: #c53d43;
}

/**************************************************************************************
　　レイアウト関係
**************************************************************************************/


.section_st1{
  width: 100%;
  padding: 0;
  margin: 6em 0;
}

.section_st2{
  width: 100%;
  background-color: #000;
  padding: 0;
  margin: 6em 0;
}

.section_st3{
  width: 100%;
  background-color: #ddd;
  padding: 0;
  margin: 6em 0;
}

.section_fw{
  margin: 0 calc(50% - 50VW);
}





.row_st1{
  width: 100%;
  display: flex;
  flex-direction: row; 
   /* flex-wrap: wrap;  */
  padding: 0;
  margin: 0 auto;
}


.row_st2{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 0 auto;
}

.row_wst1{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 0 auto;
}



@media (max-width: 580px) {
.row_st1{
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 0;
  margin: 0 auto;
}
  
.row_st2{
  width: 100% !important;
  display: flex;
  flex-wrap: wrap-reverse;
  padding: 0;
  margin: 0 auto;
}
  
.row_wst1{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 0 auto;
}
}


.box_st1{
  width: 100%;
  padding: 0;
  margin: 0 auto;
}



.column_lead1{
  width: 90%;
  max-width:680px;
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 0 auto;
}

/**************************************************************************************
　　コンテンツ関係
**************************************************************************************/

.col_20{
  width : 25% ; 
  padding: 16px;
  margin: 0 0 2em 0;
	box-sizing: border-box !important;
}
.col_ico_st1 img{
	width:80% !important;
}

 /*  イメージ画像　*/
.col_20_1{
  width : 25% ; 
  padding: 0;
  margin: 0;
	box-sizing: border-box !important;
}

@media (max-width: 580px) {
.col_20_1{
  width : 50% ; 
  padding: 0;
  margin: 0;
	box-sizing: border-box !important;
}


}

.col_30{
  width : 33.33333% ; 
  width : -webkit-calc(100% / 3) ;
  width : calc(100% / 3) ;
  padding: 16px;
  margin: 0 0 2em 0;
	box-sizing: border-box !important;
}
.col_40{
    width : 40% ;
    padding: 16px;
    margin: 0 0 2em 0;
	box-sizing: border-box !important;
}
.col_50{
    width : 50% ;
    padding: 16px;
    margin: 0 0 2em 0;
	box-sizing: border-box !important;
}
.col_60{
    width : 60% ;
    padding: 16px;
    margin: 0 0 2em 0;
	box-sizing: border-box !important;
 }
 .col_70{
    width : 70% ;
    padding: 16px;
    margin: 0 0 2em 0;
	 box-sizing: border-box !important;
 }

.col_80{
  width : 80% ; 
  padding: 16px;
  margin: 0 0 2em 0;
	box-sizing: border-box !important;
}

.col_full{
  width : 100% ; 
  padding: 16px;
  margin: 0 0 2em 0;
	box-sizing: border-box !important;
}

 .col_30c{
    width : 33.33333% ; 
    width : -webkit-calc(100% / 3) ;
    width : calc(100% / 3) ;
    align-self: center;
    padding: 16px;
    margin: 0 0 2em 0;
    box-sizing: border-box !important;
  }
  .col_40c{
    width : 40% ;
    align-self: center;
    padding: 16px;
    margin: 0 0 2em 0;
    box-sizing: border-box !important;
  }
  .col_50c{
    width : 50% ;
    align-self: center;
    padding: 16px;
    margin: 0 0 2em 0;
    box-sizing: border-box !important;
  }
  .col_60c{
    width : 60% ;
    align-self: center;
    padding: 16px;
    margin: 0 0 2em 0;
    box-sizing: border-box !important;
   }
   .col_70c{
    width : 70% ;
    align-self: center;
    padding: 16px;
    margin: 0 0 2em 0;
    box-sizing: border-box !important;
   }

.col_80c{
    width : 80% ;
    align-self: center;
    padding: 16px;
    margin: 0 0 2em 0;
    box-sizing: border-box !important;
   }


.col_30i{
    width : 33.33333% ; 
    width : -webkit-calc(100% / 3) ;
    width : calc(100% / 3) ;
    padding: 16px;
    margin: 0 0 2em 0;
    box-sizing: border-box !important;
}
.col_40i{
    width : 40% ;
    padding: 16px;
    margin: 0 0 2em 0;
    box-sizing: border-box !important;
}
.col_50i{
    width : 50% ;
    padding: 16px;
    margin: 0 0 2em 0;
    box-sizing: border-box !important;
}
.col_60i{
    width : 60% ;
    padding: 16px;
    margin: 0 0 2em 0;
    box-sizing: border-box !important;
   }
.col_70i{
    width : 70% ;
    padding: 16px;
    margin: 0 0 2em 0;
    box-sizing: border-box !important;
}

 
.col_50_btn{
    width : 50% ;
    padding: 16px;
    margin: 0 0 2em 0;
    box-sizing: border-box !important;
    text-align: center;
    font-size: 70%;
}
.col_50_btn p {
  width: 80%;
  margin:  0 auto;
}

 .col_30_btn{
    width : 33.33333% ; 
    width : -webkit-calc(100% / 3) ;
    width : calc(100% / 3) ;
    align-self: center;
    padding: 16px;
    margin: 0 0 2em 0;
    box-sizing: border-box !important;
  }


@media (max-width: 580px) {
.col_20,
.col_30,
.col_30c,
.col_40,
.col_40c,
.col_50,
.col_50c,
.col_60,
.col_60c,
.col_70,
.col_70c,
.col_80{
   width: 100% !important;
}
   
}

@media (max-width: 580px) {

    .col_30i,
    .col_40i,
    .col_50i,
    .col_60i,
    .col_70i,
    .col_50_btn{
        width : 100% ; 
        padding: 0;
        margin: 0 0 2em 0;
    }
}


@media (max-width: 880px) {
 .col_30_btn{
    width : 100% ; 
    align-self: center;
    padding: 16px;
    margin: 0;
    box-sizing: border-box !important;
  }

}

/* 検索ボタンの表示 */
.search-menu-button{
  display: none !important;
}

/* デバイスの表示 */

.for_desktop{
  display: block !important;
}
.for_mobile{
  display: none !important;
}
@media (max-width: 580px) {
.for_desktop{
  display: none !important;
}
.for_mobile{
  display: block !important;
}
}


/*FAQ*/

.text_question{
  font-size: 110 !important;
  font-weight: 600;
  margin-bottom: 24px;
  border-bottom: 1px solid #a5a5a5 ;
}

.text_answer{
  margin: 0 0 38px 2em !important;
}

.box_top1{
  width: 80%;
  max-width: 800px;
  text-align: center;
  margin: 0 auto 68px auto;
}

.box_top1 p {
  text-align: left !important;
}


.box_top2{
  width: 80%;
  max-width: 800px;
  text-align: center;
  margin: 0 auto 68px auto;
}

.box_top2 h2 {
  text-align: left !important;
}
.box_top2 p {
  text-align: left !important;
}


.mt_1{margin-top: 1em !important;}
.mt_2{margin-top: 2em !important;}
.mt_3{margin-top: 3em !important;}
.mt_4{margin-top: 4em !important;}
.mt_5{margin-top: 5em !important;}
.mt_6{margin-top: 6em !important;}
.mt_7{margin-top: 7em !important;}
.mt_8{margin-top: 8em !important;}
.mt_9{margin-top: 9em !important;}
.mt_10{margin-top: 10em !important;}

.mb_1{margin-bottom: 1em !important;}
.mb_2{margin-bottom: 2em !important;}
.mb_3{margin-bottom: 3em !important;}
.mb_4{margin-bottom: 4em !important;}
.mb_5{margin-bottom: 5em !important;}
.mb_6{margin-bottom: 6em !important;}
.mb_7{margin-bottom: 7em !important;}
.mb_8{margin-bottom: 8em !important;}
.mb_9{margin-bottom: 9em !important;}
.mb_10{margin-bottom: 10em !important;}

/**************************************************************************************
　　フォント関係
**************************************************************************************/

.article h2 {
  background-color: #fff !important;
  padding: 0 !important;
}

.title_st1{
 font-family: "Sawarabi Gothic"; 
 font-size: 130% !important;
 font-weight: bold !important;
 color: #59b9c6;
 background-color: #fff;
 letter-spacing: 0.2em;
}

.title_st2{
 font-family: "Sawarabi Gothic"; 
 font-size: 120% !important;
 font-weight: bold !important;
 color: #59b9c6;
 background-color: #fff;
}

.title_st3{
 font-family: "Sawarabi Gothic"; 
 font-size: 130% !important;
 background-color: #fff;
 border-left: 18px solid #59b9c6;
 text-indent: 18px;
 padding: 6px 0 !important;
 line-height: 1.6em !important;
 border-radius: 0% !important;
}

h3{ /*reset*/
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.title_st3_s{
 font-family: "Sawarabi Gothic"; 
 font-size: 110% !important;
 background-color: #fff;
 border-left: 8px solid #59b9c6 !important;
 text-indent: 18px;
 padding: 6px 0 !important;
 line-height: 1.2em !important;
 border-radius: 0% !important;
}


.column_title{
  text-align: center;
  margin: 1.5em auto 2em auto;
}

.text_contents1 {
    color: #59b9c6 !important;
    position: relative;
    display: inline-block;
    margin-bottom: 48px !important;
    line-height: 1;
    letter-spacing: 0.2em;
}



.text_contents1:before {
  content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 60px;
  height: 2px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #59b9c6;
  border-radius: 2px;
}
.text_area{
  font-size: 12px;
  width: 80%;
  margin: 12px 10% !important;
}

.text_area h2{
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 8px !important;
}



.att1{
  text-indent: -2em;
  padding-left: 2em;
}

.font_50{font-size: 50%;}
.font_60{font-size: 60%;}
.font_70{font-size: 70%;}
.font_80{font-size: 80%;}
.font_90{font-size: 90%;}
.font_110{font-size: 110%;}
.font_120{font-size: 120%;}
.font_130{font-size: 130%;}
.font_140{font-size: 140%;}
.font_150{font-size: 150%;}


/**************************************************************************************
　　テーブル関係
**************************************************************************************/

.column_teble{
  width: 80%;
  max-width: 680px;
  margin: 0 auto;
}


.tbl_st1{
  border: 1px solid #59b9c6;
  padding: none !important;
}

.tbl_st1 th {
  width: 28%;
  background: #59b9c6;
  /*border: 1px solid #59b9c6; */
  border-top: 1px solid #59b9c6;
  border-right: 1px solid #59b9c6;
    border-bottom: 1px solid #fff;
  border-left: 1px solid #59b9c6;
  color: #fff;
  padding: 10px;
}
.tbl_st1 td {
  border: 1px solid #59b9c6;
  padding: 10px;

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

  .tbl_st1{
  border: none !important;
  }

.tbl_st1 th{
     width: 100% !important;
       background: #59b9c6;
  border-bottom: none;
display: inline-block;
margin: 0 !important;
box-sizing: border-box;
  display: inline-block;
}
.tbl_st1 td {
     width: 100% !important;
       background: #fff;
  border-top: none !important;
  border-right: none !important;
    border-bottom: none !important;
  border-left: none !important;
  box-sizing: border-box;
    display: inline-block;
}
}


/**************************************************************************************
　　ボタン関係
**************************************************************************************/

.btn1 {
  margin-top: 30px;
  text-align: center;
}
.btn1 a {
  background-color: #59b9c6;
  border: 1px solid #59b9c6;
  border-radius: 12px;
  color: #fff;
  display: inline-block;
  font-size: 20px;
  padding: 10px;
  position: relative;
  text-decoration: none;
  width: 300px;
}
/* 通常の矢印 */
.btn1 a::before {
  border-right: 3px solid #fff;
  border-top: 3px solid #fff;
  bottom: 0;
  content: "";
  height: 10px;
  margin: auto;
  position: absolute;
  right: 40px;
  top: 0;
  transform: rotate(45deg);
  width: 10px;
}

/* 小さめのボタン */
.btn2 {
  margin-top: 30px;
  text-align: center;
}
.btn2 a {
  background-color: #59b9c6;
  border: 1px solid #59b9c6;
  border-radius: 12px;
  color: #fff;
  display: inline-block;
  font-size: 16px;
  padding: 6px 10px;
  position: relative;
  text-decoration: none;
  width: 60%;
}
/* 通常の矢印 */
.btn2 a::before {
  border-right: 3px solid #fff;
  border-top: 3px solid #fff;
  bottom: 0;
  content: "";
  height: 10px;
  margin: auto;
  position: absolute;
  right: 40px;
  top: 0;
  transform: rotate(45deg);
  width: 10px;
}

/**************************************************************************************
　　GoogleMap
**************************************************************************************/
.map{
  filter: grayscale(100%);
}


/**************************************************************************************
　　お問合せ
**************************************************************************************/

.column_contact{
  width: 90%;
  max-width: 580px;
  border: 2px solid #59b9c6;
  border-radius: 18px;
  text-align: center;
  margin: 88px auto;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
  clear: both;
}

.contact_title{
  width: 100%;
  background-color: #59b9c6;
  color: #fff;
  font-size: 140%;
  font-weight: 800;
  padding: 12px auto;
  margin: 0 0 24px 0;
  border-radius: 16px 16px 0 0;
}

.contact_text1{
  font-size: 170%;
  font-weight: 800;
  color: #59b9c6;
  margin: 12px auto;
}

.contact_text1 span{
  font-size: 60%;
  font-weight: 800;
  color: #59b9c6;
  margin: 12px auto;
}


.contact_text2{
  font-size: 100%;
  font-weight: 600;
  color: #59b9c6;
  margin: 12px auto;
}

.contact_text2 span{
  font-size: 90%;
  font-weight: 600;  
  color: #c0c6c9;
  margin: 0 auto 12px auto;
}

/**************************************************************************************
　　header 追記
**************************************************************************************/

.appeal-content{
  background-color: transparent;
  color: #fff;
  text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.59);
}

.appeal-title {
    font-size: 180% !important;
    font-weight: bold;
}


/**************************************************************************************
　　新着情報
**************************************************************************************/


.column_topic{
  width: 90%;
  max-width: 580px;
  margin:0 auto;
  padding: 0;
}

.column_topic h2{
  margin-bottom: 0 !important;
  text-align: center;
  margin: 0 auto !important;
}

#npcatch{
  margin: 0 !important;
  padding:  0 !important;
}

#npcatch li{
    overflow:hidden;
    clear:both;
    vertical-align:top;
    border-bottom: 1px dotted #666666;
    padding-bottom: 12px;
}

#npcatch li:first-child{
    overflow:hidden;
    clear:both;
    vertical-align:top;
    border-top: 1px dotted #666666;
    border-bottom: 1px dotted #666666;
    padding-bottom: 12px;
}

#npcatch img{
    float:left;
    padding:5px 10px 0 0;
}
#npcatch .title a{
    font-weight: 700;
    text-decoration: none;
}
#npcatch .date {
    font-size: small;
    font-weight: 600;
    display:block;
    color: #adb5bf;
    margin-bottom: 5px;
}
#npcatch li:hover{}
#npcatch li:hover .title{}
#npcatch li:hover .title a{}
#npcatch li:hover .date{}


/**************************************************************************************
　　区切り線
**************************************************************************************/

hr{　/*reset*/
  border: none;
  background-color: #fff;
}
.hr_st1 {
  border-top: 2px dotted #59b9c6;
  background-color: #fff;
  width: 90%;
  margin: 24px auto 48px auto !important;
}
