/*　///// grand-header  /////　*/

#grand-header {
  height: 40px;
  margin-bottom: 0;
  background-color: #3c3c41;
  display: flex;
  justify-content: center;
  align-items: center;
}

#grand-header a {
  width: 92px;
}

#grand-header a img {
  width: 100%;
}

.header.miyajiHeader {
  display: none;
}

@media print, screen and (min-width: 1000px) {

  #grand-header {
    height: 60px;
  }

  #grand-header a {
    width: 132px;
  }

}


/*　///// overwrite /////　*/

.bread__inner.inner {
  max-width: 1280px;
}


figure img {
  width: 100%;
}


/*　///// add module /////　*/

.w-98per {
  width: 98%;
}

.w-95per {
  width: 95%;
}


.mw-1280 {
  max-width: 1280px;
}





/*　///// font /////　*/
.noto-serif-jp {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.noto-serif-jp.fw200 {
  font-weight: 200;
  /* border: #f00 thin solid; */
}

.noto-serif-jp.fw300 {
  font-weight: 300;
}

.noto-serif-jp.fw400 {
  font-weight: 400;
}

.noto-serif-jp.fw500 {
  font-weight: 500;
}

.noto-serif-jp.fw600 {
  font-weight: 600;
}

.noto-serif-jp.fw700 {
  font-weight: 700;
}

.noto-serif-jp.fw800 {
  font-weight: 800;
}

.dulcinia {
  font-family: "dulcinea", sans-serif;
  font-weight: 400;
  font-style: normal;
}



/*　///// colors /////　*/


/* opacity */

.op03 {
  opacity: 0.3;
}

.op05 {
  opacity: 0.5;
}

.op07 {
  opacity: 0.7;
}


/* font */

.green {
  color: #2c7026;
}

.brown {
  color: #46240e;
}


.gold {
  color: #a8820e;
}

.purple {
  color: #8d73ce;
}

.text-333 {
  color: #333;
}

.text-555 {
  color: #555;
}


.text-666 {
  color: #666;
}


.text-999 {
  color: #999;
}



/* bg */

.beige-1 {
  background-color: #e7e1d4;
}

.beige-2 {
  background-color: #e2d7c5;
}

.bg-title-beige {
  background-color: #dfd7c4;
}

.bg-pink {
  background-color: #ff2662;
}



.bg-green {
  background-color: #054900;
}

.bg-brown {
  background-color: #46240e;
}


.bg-eee {
  background-color: #eee;
}


.bg-ddd {
  background-color: #ddd;
}

.bg-aaa {
  background-color: #aaa;
}


/* border */


.b-fff-1 {
  border: #fff thin solid;
}

.b-light-green {
  border: #b4c9b3 thin solid;
}

.b-light-green2 {
  border: #738b72 thin solid;
}

.bb-333-1px {
  border-bottom: #333 thin solid;
}


.bb-555-1px {
  border-bottom: #555 thin solid;
}


.bb-666-1px {
  border-bottom: #666 thin solid;
}

.bb-green-1px {
  border-bottom: #2c7026 thin solid;
}




/* shadow */


.shadow {
  box-shadow: 0 27px 10px rgb(0 0 0 / 17%);
}


/*　///// title /////　*/
/* #title {
  background-color: #dfd7c4;
} */




#h1-pc {
  display: none;
}


#h1-mob {
  display: block;
}


.mv-pc {
  display: none;
}

#title .bg-deco {
  padding: 0;
  background: none;
}

@media screen and (min-width: 1024px) {


  #title {
    background: url(../img/bg_pc.png) no-repeat top center;
    /* background-size: 1920px; */
  }


  #title .inside {
    width: 90%;
  }




  #title .inside {
    width: 98%;
    max-width: 1240px;

    /* display: flex;
    align-items: center;
    justify-content: flex-start; */
    position: relative;
  }


  /* #title .inside h1 {
    width: 51.5%;
    max-width: 638px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    z-index: 2;
  } */


  #h1-pc {
    display: block;
  }


  #h1-mob {
    display: none;
  }


  .mv-pc {
    display: block;
  }


}




/*　///// contents /////　*/

.contents {
  /* background: #054900 url(../img/pt-green.png) repeat top center; */
  background-color: #000;
  background: url(../img/bg-contents-2.png) repeat top left;
}




.contents .ttl-line {
  letter-spacing: 2px;
  position: relative;
}

.contents .ttl-line::before,
.contents .ttl-line::after {
  position: absolute;
  top: 50%;
  /* width: 37%; */
  width: 15%;
  height: 1px;
  background-color: #ffffff;
  content: '';
}


.contents .ttl-line.green-line::before,
.contents .ttl-line.green-line::after {
  position: absolute;
  top: 50%;
  /* width: 37%; */
  width: 20%;
  height: 1px;
  background-color: #2c7026;
  content: '';
}

.contents .ttl-line.purple-line::before,
.contents .ttl-line.purple-line::after {
  position: absolute;
  top: 50%;
  /* width: 37%; */
  width: 8%;
  height: 1px;
  background-color: #6a4abd;
  content: '';
}


.contents .ttl-line.gold-line::before,
.contents .ttl-line.gold-line::after {
  position: absolute;
  top: 50%;
  width: 5%;
  height: 1px;
  background-color: #a8820e;
  content: '';
}


.contents .ttl-line::before {
  left: 0;
}

.contents .ttl-line::after {
  right: 0;
}



@media screen and (min-width: 900px) {

  .contents .ttl-line.gold-line::before,
  .contents .ttl-line.gold-line::after {
    position: absolute;
    top: 50%;
    width: 12%;
    height: 1px;
    background-color: #a8820e;
    content: '';
  }

  .contents .ttl-line.purple-line::before,
  .contents .ttl-line.purple-line::after {
    position: absolute;
    top: 50%;
    /* width: 37%; */
    width: 20%;
    height: 1px;
    background-color: #6a4abd;
    content: '';
  }


  .giza {
    background: url(../img/giza-pc.png) repeat-x top center;
  }


}

@media screen and (min-width: 1024px) {

  .contents .ttl-line::before,
  .contents .ttl-line::after {
    position: absolute;
    top: 50%;
    /* width: 37%; */
    width: 30%;
    height: 1px;
    background-color: #ffffff;
    content: '';
  }


  .contents .ttl-line.green-line::before,
  .contents .ttl-line.green-line::after {
    position: absolute;
    top: 50%;
    /* width: 37%; */
    width: 30%;
    height: 1px;
    background-color: #2c7026;
    content: '';
  }

  .contents .ttl-line.gold-line::before,
  .contents .ttl-line.gold-line::after {
    position: absolute;
    top: 50%;
    /* width: 37%; */
    width: 25%;
    height: 1px;
    background-color: #a8820e;
    content: '';
  }

}



/*　///// program /////　*/

#model {
  position: relative;
}


#model .model-inner {
  width: 95%;
  margin: 0 auto;
  text-align: center;
  background: #fff;
  position: relative;
}


#model .model-inner .line.naname-1 {
  width: 50px;
  height: 50px;
  background: linear-gradient(-45deg, transparent 49%, #a89974 49%, #a89974 51%, transparent 51%, transparent);
  position: absolute;
  top: -5px;
  left: -5px;
  z-index: 5;
}


#model .model-inner .line.naname-2 {
  width: 50px;
  height: 50px;
  background: linear-gradient(45deg, transparent, transparent 49%, #a89974 49%, #a89974 51%, transparent 51%, transparent);
  position: absolute;
  top: -5px;
  right: -5px;
  z-index: 5;
}

#model .box {
  margin-bottom: 45px;
  /* border: #f00 thin solid; */
}

#model .box figure {
  position: relative;
  text-align: center;
}


#model .box figure img {
  max-width: 600px;
  margin: auto;
}

#model .box figure span {
  width: 80px;
  height: 80px;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  background-color: #ff2662;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: -10px;
  right: 10px;
  z-index: 2;
}


@media screen and (min-width: 1000px) {

  #model .items-wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  #model .box {
    width: 46%;
    /* border: #f00 thin solid; */
  }



  #model .box figure span {
    width: 60px;
    height: 60px;
    font-size: 14px;

  }



}


@media screen and (min-width: 1366px) {


  #model .model-inner {
    width: 95%;
  }

  #model .box {
    width: 22%;
    margin-bottom: 0;
  }


  #model .model-inner .line.naname-1 {
    width: 75px;
    height: 75px;
    background: linear-gradient(-45deg, transparent 49%, #a89974 49%, #a89974 51%, transparent 51%, transparent);
    position: absolute;
    top: -15px;
    left: -15px;
    z-index: 5;
  }


  #model .model-inner .line.naname-2 {
    width: 75px;
    height: 75px;
    background: linear-gradient(45deg, transparent, transparent 49%, #a89974 49%, #a89974 51%, transparent 51%, transparent);
    position: absolute;
    top: -15px;
    right: -15px;
    z-index: 5;
  }
}



/*　///// info /////　*/

/* info */

#info {

  /* padding: 74px 0 80px; */
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
}


#info .bg-ttl {
  width: 230px;
  line-height: 1.5;
  background-color: #6a4abd;
  font-size: 18px;
  letter-spacing: 0;
  display: inline-block;
}




/*　///// inquiry /////　*/

#inquiry {
  width: 95%;
}


#inquiry .box {
  position: relative;
}

#inquiry .box::before {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 95px;
  height: 92px;
  background: url('../img/gold_border01.png') no-repeat center/contain;
  content: '';
}

#inquiry .box::after {
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 95px;
  height: 92px;
  background: url('../img/gold_border02.png') no-repeat center/contain;
  content: '';
}

@media screen and (min-width: 769px) {


  #inquiry {
    width: 95%;
  }

  #inquiry .box::before {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 188px;
    height: 182px;
    background: url('../img/gold_border01.png') no-repeat center/contain;
    content: '';
  }

  #inquiry .box::after {
    position: absolute;
    right: 10px;
    bottom: 10px;
    width: 188px;
    height: 182px;
    background: url('../img/gold_border02.png') no-repeat center/contain;
    content: '';
  }

}








/*=============================
	profile
===============================*/



#profile {}

@media screen and (min-width: 1000px) {


  .pf-detail {
    display: flex;
    align-items: start;
    justify-content: space-between;
    flex-direction: row-reverse;
  }

}



/*=============================
	access
===============================*/


.mapbox iframe {
  width: 100%;
  height: 360px;
}

@media screen and (min-width: 1000px) {


  .mapbox iframe {
    width: 100%;
    height: 600px;
  }

}




/*=============================
	sns_iconbox
===============================*/


.sns_iconbox {
  width: 95%;
  max-width: 1260px;
  margin: auto auto 60px;
  padding-top: 120px;
  text-align: center;
  font-size: 1.5rem;
}


.sns_iconbox h4 {
  font-size: 1.8rem;

  margin-bottom: 20px;
  padding: 1em;
  border: none;
  border-top: #555 thin solid;
  border-bottom: #555 thin solid;
}

.sns_iconbox p {
  margin-bottom: 30px;
}

.sns_iconbox ul {
  display: flex;
  justify-content: center;
  align-items: center;
}

.sns_iconbox li {
  width: 40px;
  margin: 0 10px;
}

/* .sns_iconbox li:nth-child(3) {
  width: 100px;
} */

.sns_iconbox li img {
  width: 100%;
  vertical-align: bottom;
}



@media print,
screen and (max-width: 768px) {

  .sns_iconbox {
    text-align: left;
    font-size: 1.4rem;
    padding-top: 60px;
  }

  .sns_iconbox h4 {
    text-align: center;
  }

  .sns_iconbox p {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }


}



/*=============================
	advance_notice
===============================*/

.advance_notice {
  font-size: 1.4rem;
  text-align: center;
  background: #fff;
  padding: 10em 0 5em;
}

.advance_notice p {
  margin-bottom: 1em;
}