@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@200..900&display=swap');


.noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}


.noto-serif-jp-<uniquifier> {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}


body{
  font-size:16px;
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  padding-bottom:160px;
}

img{
  max-width:100%;
}

a:hover img{
  opacity:0.8;
}

p{
  line-height:2;
}

header{
  background:#231815;
  padding:20px;
  text-align:center;
  position: relative;
}

.hamburger {
  position: fixed;
  top: 10px;
  right: 20px;
  z-index: 100;
  width: 48px;
  height: 48px;
  border: none;
  background: transparent;
  cursor: pointer;
}

.hamburger__line {
  position: absolute;
  left: 11px;
  width: 26px;
  height: 2px;
  background-color: #fff;
  transition: all .4s;
}

.hamburger__line:nth-of-type(1) {
  top: 14px;
}
.hamburger__line:nth-of-type(2) {
  top: 23px;
}
.hamburger__line:nth-of-type(3) {
  top: 32px;
}

/* メニューオープン時 */
.hamburger.active .hamburger__line:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}
.hamburger.active .hamburger__line:nth-of-type(2) {
  opacity: 0;
}
.hamburger.active .hamburger__line:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
}

.nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 300px;
  height: 100vh;
  background-color: #fff;
  box-shadow: 2px 0 4px rgba(0,0,0,.1);
  transform: translateX(-100%);
  transition: transform .4s;
  z-index: 90;
}

.nav.active {
  transform: translateX(0);
}

.nav__list {
  margin: 0;
  padding: 100px 0 0;
  list-style: none;
  width: 100%;
}

.nav__item {
  padding: 0 20px;
}

.nav__link {
  display: block;
  padding: 15px 0;
  color: #333;
  text-decoration: none;
  border-bottom: 1px solid #eee;
}

#logo{
  width:200px;
}

article{
}

#contact{
  background:#231815;
  color:#FFF;
  padding:40px 0px;
}

#contact_title{
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  list-style:none;
  font-size:36px;
}

#contact a{
  text-decoration:underline;
  color:#FFF;
}

#contact_box{
  border-top:1px solid #ffffff;
  border-bottom:1px solid #ffffff;
  padding:30px 0px;
  margin-top:50px;
  margin-bottom:50px;
}

#contact_office{
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
  font-size:25px;
}

#contact_tel{
  font-size:80px;
}


#catalog{
  text-align:center;
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
  font-size:18px;
  background:#4d4d4d;
  color:#FFF;
  padding:40px 0px;
}

#copyright{
  color:#4d4d4d;
  font-size:12px;
  text-align:center;
  padding:40px 0px;
}


h2{
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  list-style:none;
  font-size:40px;
  text-align:center;
  color:#231815;
}

h2 .alp{
  font-size:20px;
  margin-top:10px;
}

#time{
  background:#f0f0f0;
  text-align:center;
  padding:37px 10px 45px 10px;
}

ul.subnav{
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  list-style:none;
  display:flex;
  justify-content: center;
  padding:50px 0px;
}

ul.subnav li{
  padding:0px 20px;
  border-left:1px solid #231815;
}

ul.subnav li a{
  padding:20px 0px;
  font-size:17px;
  color:#231815;
}

ul.subnav li:last-child{
  border-right:1px solid #231815;
}


#confirm{
  padding:20px 0px 60px 0px;
  color:#231815;
  text-align:center;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}

#confirm1{
  font-size:30px;
  margin-bottom:10px;
}

#confirm2{
  margin-bottom:30px;
}

#formgold{
  background-image:url("../img/btn_reserve2_back.png");
  background-size:cover;
  background-position:50% 0%;
  text-align:center;
  padding:20px 0px;
}

#formgoldsp{
  display:none;
  background-image:url("../img/btn_reserve2_back.png");
  background-size:cover;
  background-position:50% 0%;
  text-align:center;
  padding:20px 0px;
}

#plan{
  background-image:url("../img/plan_back.png");
  background-size:100% auto;;
  background-position:0% 0%;
  background-repeat:no-repeat;
}

#photogallery{
  background:#231815;
  color:#FFF;
  padding:60px 10px;
}

.tile img{
  width:100%;
}

.tile .row{
  margin:0;
  justify-content: space-between;
}

.tile .col{
  padding:3px;
}

.photobottom{
  padding-bottom:6px;
}

#outer1{
  flex: 3;
}

#outer2{
  flex: 1;
}



#about{
  background-image:url("../img/about_back.png");
  background-size:cover;
  background-position:50% 0%;
  text-align:center;
  padding:50px 0px;
}

#about > .container{
  padding:60px 60px 60px 60px;
}

#about_subtitle{
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-size:38px;
  color:#2a4632;
  margin-top:40px;
  margin-bottom:20px;
}

.about_txt{
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
  font-size:22px;
  color:#4d4d4d;
  margin-bottom:20px;
}

#technorogy{
  background-image:url("../img/technorogy_back.png");
  background-size:cover;
  background-position:50% 0%;
  text-align:center;
  padding:50px 0px;
}

#technorogy_title{
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-size:42px;
  margin-top:40px;
  mabint-bottom:20px;
  color:#2a4632;
}

#technorogy_subtitle{
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
  font-size:25px;
  color:#2a4632;
  border-top:2px solid #2a4632;
  border-bottom:2px solid #2a4632;
  margin-top:30px;
  margin-bottom:20px;
}

#technorogy_txt{
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
  font-size:18px;
  color:#4d4d4d;
  text-align:left;
  margin-bottom:50px;
}

#faq{
  padding:50px 0px;
}

.q{
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-size:24px;
  color:#FFF;
  background:#231815;
  padding:15px 15px 15px 70px;
  position:relative;
  margin-top:30px;
}

.q span{
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-size:30px;
  position:absolute;
  left:15px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.a{
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-size:24px;
  padding:15px 15px 15px 70px;
  position:relative;
  color:#231815;
}

.a span{
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-size:30px;
  position:absolute;
  left:15px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.a_desc{
  padding:0px 10px 10px 70px;
}

mark{
  background:#fff000;
}



#schedule{
  padding:50px 0px;
}



#area{
  padding:50px 0px;
}


#areabox{
  border-radius: 3px;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
  padding:20px;
}

#areabox_title{
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
  font-size:28px;
  color:#4d4d4d;
  text-align:center;
  margin-bottom:50px;
}



#areabox_tab th{
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
  font-size:22px;
  color:#4d4d4d;
  padding:10px 50px 10px 0px;
}
#areabox_tab td{
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
  font-size:16px;
  color:#4d4d4d;
}

#areabox_tab span {
  position: relative;
  line-height: 1.4;
  padding:0.25em 1em;
  display: inline-block;
  top:0;
}

#areabox_tab span:before, #areabox_tab span:after { 
  position: absolute;
  top: 0;
  content:'';
  width: 8px;
  height: 100%;
  display: inline-block;
}

#areabox_tab span:before {
  border-top: solid 1px #4d4d4d;
  border-left: solid 1px #4d4d4d;
  border-bottom: solid 1px #4d4d4d;
  left: 0;
}

#areabox_tab span:after {
  content: '';
  border-top: solid 1px #4d4d4d;
  border-right: solid 1px #4d4d4d;
  border-bottom: solid 1px #4d4d4d;
  right: 0;
}

#detail{
}

#detail_inner{
  padding:10px;
}
.detail_title{
  background: #231815;
  color: #FFF;
  padding:10px;
  font-size:18px;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  text-align:center;
}

.detail_content{
  padding:10px 10px 10px 0px;
}

.detail_content ul{
  list-style:none;
}

.detail_content ul li{
  position:relative;
}

.detail_content ul li:before{
  content:"●";
  color:#000;
  position:absolute;
  left:-22px;
  top:0px;
}

.red{
  color:#ca101a;
}




/*PC*/
@media screen and (min-width: 1920px) {

.fixedFooter { padding: 10px 0; position: fixed; bottom: 0; left: 0; right: 0; z-index: 100; background: rgba(255,255,255,0.6); opacity: 0; transform: translateY(100%); transition: all 0.5s ease;}
.fixedFooter.show { opacity: 1; transform: translateY(0);}
.fixedFooter__box { width: 100%; margin: 0 auto; display: flex; justify-content: center;}
.fixedFooter .btn { width: 600px; margin: 10px 10px 10px;}
.page-top { display: none;}
.page-top a { display: inline-block; width: 70px; height: 70px; position: fixed; right: 20px; bottom: 250px; z-index: 100; transition: 0.3s ease-in-out; background: #FFF; border-radius: 50%;}
.page-top a:hover { opacity: 0.6; transition: 0.3s ease-in-out;}

}

/*PC*/
@media print, screen and (min-width: 768px) and ( max-width: 1919px) {

.fixedFooter { padding: 0.521vw 0; position: fixed; bottom: 0; left: 0; right: 0; z-index: 100; background: rgba(255,255,255,0.6); opacity: 0; transform: translateY(100%); transition: all 0.5s ease;}
.fixedFooter.show { opacity: 1; transform: translateY(0);}
.fixedFooter__box { width: 100%; margin: 0 auto; display: flex; justify-content: center;}
.fixedFooter .btn { width: 31.25vw; margin: 0.521vw 0.521vw 0.521vw;}
.page-top { display: none;}
.page-top a { display: inline-block; width: 3.646vw; height: 3.646vw; position: fixed; right: 1.042vw; bottom: 13.021vw; z-index: 100; transition: 0.3s ease-in-out; background: #FFF; border-radius: 50%;}
.page-top a:hover { opacity: 0.6; transition: 0.3s ease-in-out;}

}

/*sp*/
@media only screen and (max-width: 767px) {

.fixedFooter { padding: 1.563vw 0; position: fixed; bottom: 0; left: 0; right: 0; z-index: 100; background: rgba(255,255,255,0.6); opacity: 0; transform: translateY(100%); transition: all 0.5s ease;}
.fixedFooter.show { opacity: 1; transform: translateY(0);}
.fixedFooter__box { width: 100%; margin: 0 auto; display: flex; justify-content: center;}
.fixedFooter .btn { width: 80%; margin: 1.563vw 0 1.563vw;}
.fixedFooter .btn:nth-child(2) { display: none;}
.page-top { display: none;}
.page-top a { display: inline-block; width: 10.938vw; height: 10.938vw; position: fixed; right: 3.125vw; bottom: 32vw; z-index: 100; transition: 0.3s ease-in-out; background: #FFF; border-radius: 50%;}
.page-top a:hover { opacity: 0.6; transition: 0.3s ease-in-out;}

}





/*
@media screen and (max-width: 1200px) {

}
*/

/* md ≥768px */
@media screen and (max-width: 991px) {

}

@media (max-width: 991.98px){
}

/* sm ≥576px */
@media screen and (max-width: 767px) {
  body{
    padding-bottom:60px;
  }


  #confirm{
    background:#231815;
    color:#FFF;
    padding: 20px 0px 20px 0px;
  }
  #confirm_inner{
    padding:10px;
  }
  #confirm a{
    display:none;
  }
  #confirm #confirm1{
    font-size:17px;
  }
  #confirm #confirm2{
    font-size:14px;
    margin-bottom:0;
  }
  #formgold{
    display:none;
  }
  #formgoldsp{
    display:block;
  }


  #plan{
    background-image:url("../img/plan_back_sp.png");
  }
  #photogallery{
    display:none;
  }

  #about{
    background-image:url("../img/about_back_sp.png");
    background-size:100% auto;;
    background-position:0% 0%;
    background-repeat:no-repeat;
    padding:20px;
    text-align:left;
  }

  #about > .container {
    padding: 50px;
  }

  #about_subtitle{
    font-size:16px;
  }

  .about_txt{
    font-size:16px;
  }

  #technorogy_title {
    font-size: 26px;
  }

  #technorogy_subtitle {
    font-weight: 500;
    font-size: 8px;
    padding:10px 0px;
    margin-bottom:10px;
  }

  #technorogy_txt{
    font-size: 9px;
  }

  #technorogy {
    background-image: url("../img/technorogy_back_sp.png");
  }

  h2{
    font-size:25px;
  }

  .q{
    font-size:16px;
    padding:15px 15px 15px 50px;
  }

  .q span{
    font-size:16px;
  }

  .a{
    font-size:16px;
    padding:15px 15px 15px 50px;
  }

  .a span{
    font-size:16px;
  }

  .a_desc {
    padding: 0px 10px 10px 50px;
  }

  #areabox_title{
    font-size:18px;
  }

  table#areabox_tab,
  table#areabox_tab tbody,
  table#areabox_tab tbody tr,
  table#areabox_tab tbody tr th,
  table#areabox_tab tbody tr td{
    display:block;
    width:100%;
  }

  #areabox_tab th{
    font-size:18px;
  }

  #contact_title {
    font-size: 22px;
  }

  #contact_office{
    font-size:16px;
    font-weight:bold;
  }

  #contact_box{
    font-size:12px;
  }

  #contact_tel {
    font-size: 40px;
  }

  #catalog{
    padding:20px;
    font-size:13px;
  }

}

/* xs <576px */
@media screen and (max-width: 576px) {
}


