@charset "UTF-8";
/* Reset */
@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500&display=swap");
body { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -moz-text-size-adjust: 100%; }

html { overflow-y: scroll; color: #000; line-height: 1.7; word-spacing: 0; font-size: 14px; font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "游明朝 Regular",
 "Yu Mincho Regular", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN",
 sans-serif; }

* { margin: 0; padding: 0; -webkit-box-sizing: border-box; box-sizing: border-box; border: 0; }

h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }

ol, ul { list-style: none; }

table { border-collapse: collapse; border-spacing: 0; }

th { text-align: left; font-weight: normal; }

a { color: inherit; text-decoration: none; }

img { vertical-align: bottom; max-width: 100%; }

a[href^="tel:"] { pointer-events: none; }

.clearFix:after { display: block; clear: both; height: 0; visibility: hidden; content: "."; }

.content { margin: 0 auto; max-width: 1080px; width: 94%; }

.sp, .sp480, .sp1200 { display: none; }

/* Header
----------------------------------------*/
header { background: #630b30; color: #fff; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

h1 { margin: 20px 0 20px 20px; width: 410px; line-height: 1; }

header ul { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-size: 16px; margin: 0 20px 0 0; letter-spacing: 0.1em; }

header li a:before { content: ""; width: 16px; height: 16px; background: url("../../images/common/ic_arrow.png") no-repeat left center/100% 100%; display: inline-block; position: relative; top: 0.15em; }

header li.link { margin: 0 0 0 18px; }

header li.link a:before { margin: 0 1em 0 0; }

header li.link.active a, header li.link a:hover { text-decoration: underline; }

header li.btn { width: 160px; }

header li.btn a { line-height: 48px; text-align: center; display: block; }

header li.btn a:before { margin: 0 0.5em 0 0; }

header li.btn-blabla { margin: 0 0 0 30px; background: -webkit-gradient(linear, left top, right top, color-stop(15%, #0682b7), color-stop(50%, #61c3ea), color-stop(85%, #0682b7)); background:  linear-gradient(90deg, #0682b7 15%, #61c3ea 50%, #0682b7 85%);}
header li.btn-blabla:hover{background: #0682b7;}

header li.btn-request { margin: 0 0 0 10px; background: -webkit-gradient(linear, left top, right top, color-stop(15%, #436e05), color-stop(50%, #739f35), color-stop(85%, #436e05)); background: linear-gradient(90deg, #436e05 15%, #739f35 50%, #436e05 85%); }

header li.btn-request.active, header li.btn-request:hover { background: #436e05; }

header li.btn-brochure {  margin: 0 0 0 10px; background: -webkit-gradient(linear, left top, right top, from(#6f3c05), color-stop(50%, #a06d36), to(#6f3c05)); background: linear-gradient(to right, #6f3c05 0%, #a06d36 50%, #6f3c05 100%); font-size: 15px; letter-spacing: 0; /*background: #545454;pointer-events: none;*/ }

header li.btn-brochure.active, header li.btn-brochure:hover { background: #6f3c05; }
/*header li.btn-brochure.active, header li.btn-brochure:hover { background: #545454; }*/

#btn-menu, #btn-close { display: none; }

/* Gnavi
----------------------------------------*/
#gnav { background: #817145; color: #fff; }

#gnav ul { display: -webkit-box; display: -ms-flexbox; display: flex; }

#gnav li { width: 12.5%; position: relative; font-size: 16px; text-align: center; letter-spacing: 0.1em; }

#gnav li:after { content: ""; width: 1px; height: 15px; background: #fff; position: absolute; top: 0; right: 0; bottom: 0; margin: auto; }

#gnav li a { display: block; line-height: 50px; }

#gnav li.active, #gnav li:hover { background: #403822; }

#gnav li:last-of-type:after { display: none; }

/* Main
----------------------------------------*/
#mv { position: relative; margin: 0 0 100px; }

#mv img { width: 100%; }

#mv h2 { font-size: 48px; letter-spacing: 0.1em; position: absolute; bottom: 7%; left: 0; width: 100%; text-align: center; color: #fff; text-shadow: 0 0 10px #000, 0 0 20px #000, 0 0 30px #000; }

#mv h2 span { display: block; font-size: 12px; letter-spacing: 0.2em; font-family: "Cinzel", serif; }

h3 { font-size: 32px; line-height: 1.5; color: #ad4271; }

h3 span { font-size: 48px; line-height: 1; }

h4 { font-size: 24px; line-height: 1.3; background: #f3f3f3; padding: 14px 20px; margin: 0 0 40px; }

.cap { font-size: 10px; line-height: 1.5; }

.cap-abs { position: absolute; bottom: 7px; right: 10px; font-size: 10px; line-height: 1.5; }

.cap-abs.shadow { color: #fff; text-shadow: 0px 0px 7px black, 0px 0px 7px black, 0px 0px 7px black, 0px 0px 7px rgba(0, 0, 0, 0.7), 0px 0px 7px rgba(0, 0, 0, 0.7), 0px 0px 7px rgba(0, 0, 0, 0.7), 0px 0px 7px rgba(0, 0, 0, 0.7); }

#main-cap { font-size: 12px; line-height: 1.6; margin: 0 0 50px; }

/*NP 241212追加*/
.box-btn__privacy {
  width: 50%;
  margin: 0 auto 60px;
  text-align: center;
  color: rgb(173, 66, 113);
  border: 4px solid rgb(173, 96, 130);
  font-weight: bold!important;
  font-size: 16px;
}
.box-btn__privacy a {
  padding: 20px 20px;
  display: block;
}
.box-btn__privacy:hover {
  color: #510b28;
  border: 4px solid rgb(120, 46, 78);
}
/*NP 241212追加*/

/* Footer
----------------------------------------*/
footer { padding: 50px 0 0 0; border-top: 2px solid #f0f0f0; position: relative; }

footer .content { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -ms-flex-wrap: wrap; flex-wrap: wrap; }

#f-contact { width: 45%; margin: 0 6.4% 0 0; }

#f-contact > li:first-child { -webkit-transform: translateX(-7px); transform: translateX(-7px); }

#f-contact li:nth-of-type(2) a { max-width: 418px; line-height: 1; display: inline-block; margin: 15px 0 8px; }

#f-contact li:last-of-type { font-size: 16px; line-height: 1; }

#f-logo { width: 48%; display: -webkit-box; display: -ms-flexbox; display: flex; margin: 6px 0 0; }

#f-logo li { margin: 0 8% 0 0; }

#f-logo li:last-of-type { margin: 0; }

#copyright { margin: 50px 0 0 0; line-height: 50px; text-align: center; background: #000; color: #fff; font-size: 10px; }

.s-backtop { color: #fff; position: fixed; bottom: 13.5vw; right: 0vw; cursor: pointer; opacity: 0; -webkit-transition: all 0.35s; transition: all 0.35s; z-index: 9994; }

.s-backtop.show { opacity: 1; }

/* ============== Media =============== */
@media only screen and (max-width: 1200px) { h1 { width: 34vw; }
  header ul { font-size: 1.33vw; }
  header li a:before { width: 1.2vw; height: 1.2vw; }
  header li.link { margin: 0 0 0 1.8vw; }
  header li.btn { width: 13.5vw; height: 4vw; }
  header li.btn a { line-height: 4vw; }
  header li.btn-request { margin: 0 0 0 3vw; }
  header li.btn-brochure { margin: 0 0 0 1vw; font-size: 1.2vw; }
  .sp1200 { display: block; } }

@media only screen and (max-width: 1080px) { #gnav li { font-size: 1.4vw; }
  footer .content { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  #f-contact { width: 45%; }
  #f-contact li:nth-of-type(1) { font-size: 1.4vw; }
  #f-contact li:last-of-type { font-size: 1.7vw; } }

@media only screen and (max-width: 767px) { a[href^="tel:"] { pointer-events: auto; }
  .sp { display: block; }
  header { position: fixed; top: 0; left: 0; width: 100%; z-index: 9991; }
  h1 { margin: 3vw 0 3vw 3vw; width: 60vw; }
  h3 { font-size: 26px; }
  header ul { position: fixed; bottom: 0; left: 0; width: 100%; z-index: 9000; background: #630b30; font-size: 2.6vw; }
  header li { width: 25% !important; margin: 0 !important; height: 12vw !important; }
  header li a { line-height: 12vw !important; text-align: center; padding: 0; display: block; }
  header li a:before { display: none; }
  header li.link.active a, header li.link a:hover { text-decoration: none; }
  header li:nth-of-type(1) { background: #510b28; }
  header li:nth-of-type(2) { background: #817145; }
  header li.btn-request { background: #436e05; }
  header li.btn-brochure { font-size: 2.6vw; background: #6f3c05; }
  #btn-menu { display: block; width: 6vw; height: 5vw; position: absolute; top: 4.5vw; right: 3vw; }
  #btn-menu span { position: absolute; left: 0; width: 100%; height: 1px; background-color: #fff; display: block; }
  #btn-menu span:nth-of-type(1) { top: 0; }
  #btn-menu span:nth-of-type(2) { top: 50%; }
  #btn-menu span:nth-of-type(3) { bottom: 0; }
  #btn-close { display: block; width: 6vw; height: 5vw; position: absolute; top: 4.5vw; right: 3vw; }
  #btn-close span { position: absolute; left: 0; width: 100%; height: 1px; background-color: #fff; display: block; }
  #btn-close span:nth-of-type(1) { top: 0; -webkit-transform: translateY(2.35vw) rotate(-45deg); transform: translateY(2.35vw) rotate(-45deg); }
  #btn-close span:nth-of-type(2) { bottom: 0; -webkit-transform: translateY(-2.35vw) rotate(45deg); transform: translateY(-2.35vw) rotate(45deg); }
  #gnav { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9995; display: none; overflow: auto; }
  #gnav ul { padding: 16vw 0 5vw 0; width: 100%; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  #gnav li { width: 50%; font-size: 3.6vw; }
  #gnav li a { line-height: 14vw; }
  #gnav li:nth-of-type(2n):after { display: none; }
  .main { margin-top: 13.7vw; }
  #mv { height: 50vw; }
  #mv img { -o-object-fit: cover; object-fit: cover; height: 100%; width: auto; }
  footer { margin-bottom: 12vw; padding: 8vw 0 0; }
  footer .content { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; text-align: center; }
  #f-contact { width: 100%; margin: 0 0 7vw; }
  #f-contact li:nth-of-type(1) { font-size: 2.7vw; }
  #f-contact li:nth-of-type(2) { width: 76%; margin: 0 auto 1.7vw; }
  #f-contact li:last-of-type { font-size: 3vw; }
  #f-logo { width: 76%; margin: auto; }
  #copyright { margin: 7vw 0 0; }
  header li.btn-blabla{
    background: #0682b7 ;
    order: -1;
  }
      /*NP 241212追加*/
  .box-btn__privacy {
    width: 100%;
    font-size: 13px;
    margin: 0 0 60px 0;
  }
  .box-btn__privacy a {
    padding: 10px;
  }
}

@media only screen and (max-width: 480px) { .sp480 { display: block; }
  #mv { margin: 0 0 50px; }
  #mv h2 { font-size: 6.5vw; }
  #mv h2 span { font-size: 3vw; }
  h3 { font-size: 5.2vw; }
  h3 span { font-size: 7vw; }
  h4 { font-size: 4.5vw; margin: 0 0 25px; }
  #copyright { font-size: 2.5vw; } }

/* Animation
---------------------------------------- */
.effect { opacity: 0; -webkit-transform: translate(0, 0); transform: translate(0, 0); -webkit-transition: all 1.5s; transition: all 1.5s; }

.delay { -webkit-transition-delay: 0.5s !important; transition-delay: 0.5s !important; }

.delay1 { -webkit-transition-delay: 0.7s !important; transition-delay: 0.7s !important; }

.delay2 { -webkit-transition-delay: 0.8s !important; transition-delay: 0.8s !important; }

.effect_top { opacity: 0; -webkit-transform: translate(0, -100px); transform: translate(0, -100px); -webkit-transition: all 1.5s; transition: all 1.5s; }

.effect_bottom { opacity: 0; -webkit-transform: translate(0, 50px); transform: translate(0, 50px); -webkit-transition: all 1.5s; transition: all 1.5s; }

.effect_bottom2 { opacity: 0; -webkit-transform: translate(0, 50px); transform: translate(0, 50px); -webkit-transition: all 1.5s; transition: all 1.5s; transition-delay: 0.4s; -webkit-transition-delay: 0.4s; }

.effect_bottom3 { opacity: 0; -webkit-transform: translate(0, 50px); transform: translate(0, 50px); -webkit-transform: rotateY(60deg); transform: rotateY(60deg); -webkit-transition: all 1.5s; transition: all 1.5s; }

.effect_left { opacity: 0; -webkit-transform: translate(-50px, 0); transform: translate(-50px, 0); -webkit-transition: all 1.5s; transition: all 1.5s; }

.effect_right { opacity: 0; -webkit-transform: translate(50px, 0); transform: translate(50px, 0); -webkit-transition: all 1.5s; transition: all 1.5s; }

.effect_tl { opacity: 0; -webkit-transform: translate(-50px, -50px); transform: translate(-50px, -50px); -webkit-transition: all 1.5s; transition: all 1.5s; }

.effect_tr { opacity: 0; -webkit-transform: translate(100px, -100px); transform: translate(100px, -100px); -webkit-transition: all 1.5s; transition: all 1.5s; }

.effect_bl { opacity: 0; -webkit-transform: translate(-100px, 100px); transform: translate(-100px, 100px); -webkit-transition: all 1.5s; transition: all 1.5s; }

.effect_br { opacity: 0; -webkit-transform: translate(100px, 100px); transform: translate(100px, 100px); -webkit-transition: all 1.5s; transition: all 1.5s; }

.effect.scrollin, .effect_top.scrollin, .effect_bottom.scrollin, .effect_left.scrollin, .effect_right.scrollin, .effect_tl.scrollin, .effect_tr.scrollin, .effect_bl.scrollin, .effect_br.scrollin { opacity: 1; -webkit-transform: translate(0, 0); transform: translate(0, 0); }

@media only screen and (max-width: 375px) { .s-backtop { bottom: 12vw; }
  .s-backtop img { height: 14vw; } }
