@charset "utf-8";

.gnavi{
  display: none;
}
/* ===============================================
# top
=============================================== */
.sec_top{
  position: relative;
  max-width: 1806px;
  width: 94%;
  margin: 40px auto 0;
}
/*ロゴ*/
.sec_top h1{
  width: 30%;
  max-width: 511px;
}
@media screen and (max-width :767px){
  .sec_top{
    width: 100%;
    margin: 0;
  }
  /*プロモ*/
  .sec_top .promo{
    position: relative;
  }  
  .sec_top .promo .title{
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    width: 29.6%;
    z-index: 20;
  }
}


/*ボタン*/
/* チェックボックスの非表示 */
.sec_top .btn{
  position: absolute;
  right: 0;
  top: 2.5%;
  z-index: 10;
}
.switch input[type=checkbox] {
  display: none;
}

/* ラベル要素の中身のスタイル（具体的にはスイッチ部分） */
.switch label {
  position: relative;
  cursor: pointer;
  border: solid 1px #928f7d;    
  border-radius: 23px;
  overflow: hidden;
  display: block;
  width: 180px;
  height: 46px;
  font-size: 14px;
  background: url(../img/top/ico_off.png) no-repeat left 15px center;
  background-color: #fff;    
}

/* スイッチ */
.switch label:after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: block;
  content: '';
  border-radius: 23px;
  color: #FFF;
  width: 90px;
  height: 46px;
  background: url(../img/top/ico_on.png) no-repeat center center;
  background-color: #928f7d;  
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease; 
  transform: translateX(100%);
}
/* スイッチがON状態 */
.switch input:checked+label{
  background: url(../img/top/ico_on_g.png) no-repeat right 15px center;
}
.switch input:checked+label:after {
  background-image: url(../img/top/ico_off_w.png);
  transform: translateX(0);
}

/* ===============================================
# 宝嶋寺
=============================================== */
.sec_about{
  padding-top: 92px;
  max-width: 1040px;
  width: 100%;
  margin: 0 auto;
}
.sec_about .inner{
  -webkit-flex-direction: row-reverse; /* Safari */
  flex-direction:         row-reverse;
}
@media print,screen and (max-width :1100px){
  .sec_about{
    width: 90%;
  }
}
@media screen and (max-width :767px){
  .sec_about{
    padding-top: 40px;
    width: 87%;
  }
}
/*タイトル部分*/
.sec_about .title{
  position: relative;
  text-align: center;
}
.sec_about .title::before{
  content: '';
  display: block;
  z-index: 0;
  width: 130px;
  height: 62px;
  position: absolute;
  left:0;
  top: 0;
  background: url(../img/bg_ico.svg) no-repeat top left;
  background-size: 100% auto;  
  -webkit-transform: translate(-35%,-50%);
  transform: translate(-25%,-50%);
}
.sec_about h2{
  position: relative;
  z-index: 1;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 58px;
  font-size: 5.8rem;
  line-height: 1;
  color: #04080d; 
  width: 100%;
  padding-bottom: 45px;
  overflow: hidden;
  display: inline-block;
  text-align: left;
}
.sec_about h2 span{
  display: block;
  font-size: 25.5px;
  font-size: 2.55rem;
  margin-left: 23px;
}
.sec_about .title .kana{
  font-size: 22px;
  font-size: 2.2rem;
  letter-spacing: 0.34em;
  display: block;
  width: 100%;
  margin-bottom: 86px;
  word-break: keep-all;
  text-align: right;
}
.sec_about .title a.link{
  position: relative;
  word-break: keep-all;
  display: inline-block;
  border-top: solid 1px #a3a3a3;
  border-bottom: solid 1px #a3a3a3;
  padding: 20px 0;
  margin: 0 0 0 auto;
}
/*テキスト*/
.sec_about .text{
  position: relative;
  padding-right: 60px;
  z-index: 1;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 18.5px;
  font-size: 1.85rem;
  color: #04080d;
  line-height: 2.529;
  letter-spacing: 0.08em;
  -webkit-flex-grow: 1;
  flex-grow: 1;
}
@media print,screen and (max-width :1100px){
  .sec_about .title{
    width: auto;
  }
  .sec_about h2{
    font-size: 5.244vw;
  }
  .sec_about h2 span{
    font-size: 2.351vw;
  }
  .sec_about .title .kana{
    font-size: 1.7vw;
  }
  .sec_about .title a.link{
    font-size: 1.355vw;
  }
  /*テキスト*/
  .sec_about .text{
    padding-right: 5vw;
    font-size: 1.5vw;
  }
}
@media screen and (max-width :767px){
  .sec_about .title::before{
    width: 114px;
    height: 68;  
    -webkit-transform: translate(-35%,-30%);
    transform: translate(-35%,-30%);
  }
  .sec_about h2{
    width: 35vw;
    font-size: 47.5px;
    font-size: 12.667vw;
    padding-bottom: 15px;
  }
  .sec_about h2 span{
    font-size: 23px;
    font-size: 6.133vw;
    margin-left: 7%;
  }
  .sec_about .title .kana{
    font-size: 17.5px;
    font-size: 4.667vw;
    letter-spacing: 0.3em;
  }
  .sec_about .title a.link{
    margin-top: 30px;    
    padding: 24px 0;
    font-size: 14px;
    font-size: 3.733vw;
  }
  /*テキスト*/
  .sec_about .text{
    font-size: 12px;
    font-size: 3.2vw;
    line-height: 1.87;
    letter-spacing: 0.04em;
    padding-top: 15px;
    padding-right: 6vw;
  }
}


/* ===============================================
# お知らせ
=============================================== */
.sec_news{
  width: 90%;  
  max-width: 1040px;
  margin: 0 auto;
  padding-top: 92px;  
}
@media screen and (max-width :767px){
  .sec_news{
    width: 86.6%;  
    padding-top: 24.5vw;
  }
}
/*タイトル*/
.sec_news .title{
}
.sec_news .title h2{
  font-size: 30px;
  font-size: 3rem;
  letter-spacing: 0.32em;
  width: 106px;
  text-align: center;
  overflow: hidden;
}
.sec_news .title h2 span{
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;  
}
.sec_news .title .link{
  margin-top: 60px;
}
.sec_news .title .link a{
  border-top: solid 1px #a3a3a3;
  border-bottom: solid 1px #a3a3a3;
  padding: 18px 0;
}
@media screen and (max-width :767px){
  .sec_news .title h2{
    font-size: 27.5px;
    font-size: 7.333vw;
    width: 13.3vw;
    text-align: left;
  }
}
/*リスト*/
.sec_news .news_right{
    flex:1;
}
.sec_news .news_list{
  padding-left: 8.67%;
}


@media screen and (max-width :767px){
  .sec_news .news_list{
    padding-left: 0;
  }
}

/* ===============================================
# menu
=============================================== */
.sec_menu{
  max-width: 1920px;
  width: 100%;
  margin: 150px auto 0;
}
.sec_menu li{
  width: 33.33%;
  display: block;
  text-align: center;
}
.sec_menu li:nth-child(odd){
  background-color: #fcfcfc;
}
.sec_menu a{
  display: block;
  padding-top: 40px;
  padding-bottom: 40px;    
}
.sec_menu a h2{
  display: inline-block;  
  text-align: center;
  position: relative;
  font-size: 30px;
  font-size: 3rem;
  padding-bottom: 40px;
}
.sec_menu a h2 span{
  position: relative;
  z-index: 1;
}.sec_menu a h2::before{
  content: '';
  display: block;
  z-index: 0;
  width: 56px;
  height: 27px;
  position: absolute;
  left:-25px;
  top: -7px;
  background: url(../img/top/ico_menuttl.png) no-repeat top left;
  background-size: 100% auto;  
}
.sec_menu a p.text{
  max-width: 373px;
  width: 90%;
  margin: 0 auto;
  line-height: 1.8;
  text-align: left;
  padding-bottom: 30px;
}
.sec_menu .link_arrow .line::before,.sec_menu .link_arrow .line::after {
  top: 3px;
  width:13px;
  height:13px;
}
.sec_menu .link_arrow .line::before{
  right: 13px;
}
.sec_menu .link_arrow .line::after{
  right: 0;
}
.sec_menu .link_arrow .ico::before{
  top: 10px;
}
@media screen and (min-width :768px){
  .sec_menu ul{
     -webkit-justify-content: space-between; /* Safari */
    justify-content:space-between;
  } 
  .sec_menu .link_arrow:hover .line::before{
    right: -20px;
  }
  .sec_menu .link_arrow:hover .line::after{
    right: -33px;
  }
  .sec_menu .link_arrow:hover .ico::before{
    width:45px;
    left: 11px;
  }
}

@media screen and (max-width :767px){
  .sec_menu{
    margin-top: 17vw;
  }
  .sec_menu li{
    width: 100%;
   }
  .sec_menu a{
    padding-top: 10.6vw;
    padding-bottom: 8.6vw;    
  }
  .sec_menu a h2{
    font-size: 27.5px;
    font-size: 2.75rem;
    padding-bottom: 6vw;
  }
  .sec_menu a h2::before{
    left: -30px;
    top: -10px;
  }
  .sec_menu a p.text{
    max-width: inherit;
    width: 86.6%;
    line-height: 1.429;
    padding-bottom: 6vw;
  }
  .sec_menu .link_arrow .line::before,.sec_menu .link_arrow .line::after {
    top: 3px;
    width:8px;
    height:8px;
  }
  .sec_menu .link_arrow .line::before{
    right: 8px;
  }
}

