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

/* 全ページ共通

--------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@300;400;500&display=swap');
/* ------------------------------------------
/* helper
--------------------------------------------*/
/* ブロック中央 */
.m-auto{
  margin: 0 auto;
}

.underline{
  text-decoration: underline;
}

/* 余白 */
.mb10{
  margin-bottom: 10px;
}
.mb16{
  margin-bottom: 16px;
}
.mb20{
  margin-bottom: 20px;
}
.mb30{
  margin-bottom: 30px;
}
.mb40{
  margin-bottom: 40px;
}
.mb60{
  margin-bottom: 60px;
}

/* フォントサイズ */
.fos12{
  font-size: 14px;
}
.fos14{
  font-size: 14px;
}
.fos20{
  font-size: 20px;
}
.fos24{
  font-size: 24px;
}
@media screen and (max-width: 768px){
  .fos24{
    font-size: 18px;
  }
  .fos20{
    font-size: 18px;
  }
}

/* フォントウェイト */
.fow300{
  font-weight: 300;
}
.fow500{
  font-weight: 500;
}

/* テキスト中央 */
.tac{
  text-align: center;
}
.tac_pc{
  text-align: center;
}
@media screen and (max-width:768px){
  .tac_pc{
    text-align: left;
  }
}

/* 表示出し分け */
.sp{
  display: none;
}

@media screen and (max-width:768px){
  .sp{
    display: block;
  }
}

.pc{
  display: block;
}
@media screen and (max-width:768px){
  .pc{
    display: none;
  }
}

.ex-open::after{
  content: "";
  width: 12px;
  height: 12px;
  background-image: url(../img/icon_ex-open.svg);
  display: inline-block;
  background-repeat: no-repeat;
  margin-left: 4px;
}
.ex-open_white::after{
  content: "";
  width: 12px;
  height: 12px;
  background-image: url(../img/icon_ex-open_white.svg);
  display: inline-block;
  background-repeat: no-repeat;
  margin-left: 4px;
}


/* ------------------------------------------
/* base
--------------------------------------------*/
body{
  font-family: 'Kiwi Maru', sans-serif;
  color: #2C1405;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}
.bg{
  background-color: #F7F2EF;
}
img{
  max-width: 100%;
}
a:hover{
  opacity: .6;
  transition: opacity .3s;
}

/* ------------------------------------------
/* section
--------------------------------------------*/
.section-wrapper{
  padding: 100px 0;
}
.section-inner{
  width: 960px;
  max-width: 92%;
  margin: 0 auto;
}
.section-title_l{
  font-size: 42px;
  font-weight: 500;
  display: block;
  margin-bottom: 8px;
}
.section-title_s{
  font-size: 18px;
  font-weight: 500;
}
@media screen and (max-width:768px){
  .section-title_l{
    font-size: 30px;
    margin-bottom: 0;
  }
  .section-title_s{
    font-size: 14px;
  }
}

/* ------------------------------------------
/* components
--------------------------------------------*/
.btn_link{
  display: block;
  width: 260px;
  line-height: 54px;
  font-weight: 500;
  text-align: center;
  background-color: #2C1405;;
  border-radius: 27px;
  color: #fff;
}

/* ------------------------------------------
/* header
--------------------------------------------*/
.header-logo-space{
  background-color: #fff;
}
.header-wrapper{
  width: 100%;
}
.header-inner{
  padding: 20px 0 0;
  width: 1200px;
  max-width: 94%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.nav-list{
  display: flex;
}
.nav-item{
  margin-right: 40px;
}
.nav-item:last-of-type{
  margin-right: 0;
}
@media screen and (max-width:768px) {
  .site-title{
    width: 180px;
  }
  .header-nav{
    display: none;
  }
  .nav-list{
    display: block;
  }
  .btn-trigger{
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #2B1405;
    position: relative;
  }
  .bar{
    display: block;
    height: 2px;
    width: 24px;
    background-color: #fff;
    border-radius: 1px;
  }
  .bar_top{
    position: absolute;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
    transition: transform .3s;
  }
  .bar_mid{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    transition: opacity .3s;
  }
  .bar_bottom{
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    transition: transform .3s;
  }


  /* ハンバーガー開いたときのボタン */
  .btn-trigger.cross .bar_top{
    transform: translateX(-20%) rotate(45deg) translateY(10px);
    transition: transform .3s;
  }
  .btn-trigger.cross .bar_mid{
    opacity: 0;
    transition: opacity .3s;
  }
  .btn-trigger.cross .bar_bottom{
    transform: translateX(-20%) rotate(-45deg) translateY(-10px);
    transition: transform .3s;
  }

  /* SP版メニューのスタイル */
  .header-nav{
    position: absolute;
    top: 120px;
    left: 0;
    width: 100vw;
    height: calc(100vh - 120px);
    background-color: #F7F2EF;
    z-index: 999;
  }
  .nav-list{
    text-align: center;
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%,-50%);
  }
  .nav-item{
    margin: 0 0 40px 0;
  }
  body.noscroll{
    overflow: hidden;
  }
}

/* ------------------------------------------
/* Googleマップ
--------------------------------------------*/
.map-outer{
  height: 420px;
}
.map-outer iframe{
  width: 100%;
  height: 100%;
}

@media screen and (max-width:768px){
  .map-outer{
    height: 400px;
  }
}

/* ------------------------------------------
/* footer
--------------------------------------------*/
.footer-wrapper{
  padding: 48px 0 20px;
  color: #fff;
  background-color: #2B1405;
}
.footer-inner{
  width: 1200px;
  max-width: 94%;
  margin: 0 auto;
}
.footer-nav{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
}
.footer-logo{
  font-size: 24px;
  font-weight: 500;
}
.footer-nav-list{
  display: flex;
}
.footer-nav-item{
  margin-right: 40px;
}
.footer-nav-item:last-of-type{
  margin-right: 0;
}

.footer-info-list{
  border-bottom: 1px solid rgba(255,255,255,.6);
  padding-bottom: 40px;
}
.footer-info-item{
  margin-bottom: 12px;
}
.footer-info-item:last-of-type{
  margin-bottom: 0;
}

.copy-right-area{
  padding: 30px 0;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
.copy-right{
  font-size: 12px;
}
.footer-link-list{
  display: flex;
}
.footer-link-item{
  margin-right: 32px;
}
.footer-link-item:last-of-type{
  margin-right: 0;
}




@media screen and (max-width:768px) {
  .footer-nav{
    display: block;
    text-align: center;
  }
  .footer-logo{
    margin-bottom: 40px;
  }
  .footer-nav-list{
    flex-direction: column;
    justify-content: center;
  }
  .footer-nav-item{
    margin: 0 0 20px;
  }
  .footer-info-list{
    text-align: center;
  }
  .copy-right-area{
    flex-direction: column;
    text-align: center;
  }
  .footer-link-list{
    display: block;
  }
  .footer-link-item{
    margin: 0 0 20px;
  }


}





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

/* 下層ページのスタイル

--------------------------------------------*/
.page-title{
  height: 300px;
  background-color: #F7F2EF;
  text-align: center;
  padding-top: 66px;
  overflow: hidden;
}
.page-title_l{
  font-size: 54px;
  position: relative;
}
.page-title_l .txt{
  position: relative;
  z-index: 2;
}
.page-title_s{
  display: block;
  font-size: 22px;
  position: relative;
  z-index: 2;
}
.page-title .ecllips{
  display: block;
  height: 86px;
  width: 86px;
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  top: 0;
  right: -54px;
  z-index: 0;
}

@media screen and (max-width:768px){
  .page-title_l{
    font-size: 42px;
  }
  .page-title_s{
    font-size: 16px;
  }

}

@media screen and (max-width:370px){
  .section-title_l{
    font-size: 24px;
  }
}