@charset "utf-8";


/*---------------------------------------------
	body
---------------------------------------------*/

* {
box-sizing:border-box;
margin:0;
padding:0;
border:0;
outline:0;
font-style:normal;
word-break:normal;
word-wrap:break-word;
}

html {
  scroll-behavior: smooth;
  font-size: 62.5%;
  /* scroll-padding-top: 20px; */
}

.mx-img{
max-width:100% !important;
height:auto !important;
}

body {
  width: 100%;
  /* height:100svh; */
  font-size: 1.6rem;
  line-height: 1.6;
  text-align: center;
  -webkit-text-size-adjust: 100%;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  position: relative;
}

* {
  box-sizing: border-box;
}

.en {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

p {
  text-align: left;
}

.mincho {
  font-family: "Shippori Mincho", serif;
}


.go {
font-family: "Noto Sans JP", sans-serif;
}


.only_pc,
.only_pc_tab {
  display: block;
}

.only_sp,
.only_sp_480 {
  display: none;
}

.br_none_480 {
  display: inline;
}

.sp_br {
  display: none;
}

@media screen and (max-width: 767px) {
.only_pc {
  display: none;
}

.only_sp{
display:block !important;
}

}


@media screen and (max-width: 420px) {
  body{
    font-size: 1.36rem;
  }
}

/*---------------------------------------------
	Anchor
---------------------------------------------*/
a {
  outline: none;
}

a:link {
  color: #2aadaa;
  text-decoration: none;
}

a:visited {
  color: #2aadaa;
  text-decoration: none;
}

a:hover {
  color: #93d8d6;
  text-decoration: none;
}

a:active {
  color: #93d8d6;
  text-decoration: none;
}

a {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}




/*---------------------------------------------
	p
---------------------------------------------*/


.only_pc_none {
  display: none;
}

.only_sp_none {
  display: block;
}

.sp_br {
  display: none;
}

.sp600_br {
  display: none;
}

.pc_br {
  display: inline;
}

.pc480_br {
  display: inline;
}


/*---------------------------------------------
 ** ON OFF hover
---------------------------------------------*/
.hover {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.hover:hover {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha( opacity=60 )";
}

/*=================================================================================================================================*/
/**  共通部分	*/
/*=================================================================================================================================*/

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

.scroll-up.done,
.scroll-fade.done {
  opacity: 1;
  transform: translate(0, 0);
}

/*
-----------------------------------------------
全体の幅
----------------------------------------------- */
.body_wrap{
display:flex;
flex-wrap:wrap;
justify-content:space-between;
}


aside{
width:calc(50% - 254px);
position:relative;
z-index:1;
}

.aside_in{
position:fixed;
height:100vh;
width:calc(50% - 254px);
}


.right_area{
width:calc(50% - 254px);
position:relative;
z-index:1;
}

.right_area_in{
width:calc(50% - 254px);
height:100vh;
position:fixed;
}

main{
  width:508px;
}

/*---------------------------------------------
 ** 左メニュー（PC時のみ）
---------------------------------------------*/


#logo_pc{
position: absolute;
  top: 50%;
  left: 50%;
  width:100%;
  transform: translate(-50%, -50%);
}

#logo_pc img{
width:260px;
height:auto;
}



/*---------------------------------------------
 ** 右（PC時のみ）
---------------------------------------------*/


#nav_pc{
position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
width:9em;
}

#nav_pc li a{
color:#c18e52;
font-size:1.8rem;
font-weight:700;
}

#nav_pc li a:hover{
color:#ff4664;
}

#nav_pc li{
line-height:2.0;
padding:22px 0 0;
border-bottom:solid 1px #c18e52;
width:9em;
}



#info_pc{
display:flex;
height:100%;
flex-wrap:nowrap;
justify-content:center;
align-items:flex-end;
padding:0 5% 3% 0;
}
#info_pc p{
color:#c18e52;
}

#info_pc .p01{font-size:1.5rem !important;font-weight:500;margin-bottom:10px;}
#info_pc .address{font-size:1.4rem !important;}

@media screen and (max-width: 1200px) {
#info_pc{
padding:0 4% 18% 7%;
}
}


/*---------------------------------------------
 ** メイン
---------------------------------------------*/

main{
  max-width:508px;
  box-shadow: 0 0 50px #888888;
  background:#fff;
  color:#000;
  display: block;
  left:calc(50% - 254px);
  z-index:8;
}


/*---------------------------------------------
 ** 内容
---------------------------------------------*/
#main{
width:100%;
z-index:3;
position:relative;
}

#main img{
width:100%;
height:auto;
}

.h-type01{
margin-bottom:4%;
}

.h-type01 img{
width:64%;
height:auto;
}

section.date{
padding:10% 4%;
}

section.date .p01{
margin:10% auto;
text-align:center;
}

section.date .p01 img{
width:90%;
height:auto;
}

section.date .ul01 li{
margin-bottom:10px;
}

section.date .ul01 img{
width:100%;
height:auto;
}

section.place{
background:#ffebe6 !important;
padding:5% 0 5%;
}
section.place .p01{
margin-bottom:3%;
}
section.place .p02{
text-align:center;
font-size:1.5rem;
margin:0 3% 1.5%;
}
section.place .p03{
text-align:center;
font-size:1.5rem;
margin:0 3% 1.5%;
border:solid 1px #999;
}

section.access{
background:#ffebe6 !important;
padding:5% 6% 8%;
position:relative;
z-index:2;
}

.map {
    position: relative;
    width: 100%;
    padding-top: 110%;
    height: 0;
}

.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

section.movie{
padding:5% 5% 10%;
}

.btn01{
font-size:2.5rem;
font-weight:700;
color:#fff !important;
display:block;
background-image: linear-gradient(46deg, #e52247, #963ca7 80%);
width:15em;
height:92px;
line-height:80px;
border-radius:70px;
border:solid 6px #fff;
box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
margin:0 auto 8%;
transition: all 0.5s 0s ease;
}

.btn01:hover{
background-image: linear-gradient(46deg, #963ca7,#e52247 80%);
opacity:0.8;
}

.vid_contents {
width: 100%;
text-align: center;
margin: auto;
}
video.vid_main {
width: 100%;
/* max-width: 900px; */
}


@media screen and (max-width: 767px) {
section.place .p01{
font-size:3.8vw;
}
section.place .p02{
font-size:3.8vw;
}
section.place .p03{
font-size:3.8vw;
}

.btn01{
font-size:5vw;
width:82vw;
height:18vw;
line-height:15vw;
border-radius:60px;
border:solid 6px #fff;
}

}



/*---------------------------------------------
 ポイント
---------------------------------------------*/
section.point{
padding:5%;
}

#point01{background:#e11c24;}
#point02{background:#de6743;}
#point03{background:#ff4664;}
#point04{background:#c99146;}

section.point .p01{
font-size:1.7rem;
color:#fff;
font-feature-settings: "palt";
line-height:1.7;
}


.h-type02 img{
width:100%;
height:auto;
}

.h-type03{
color:#fff;
font-weight:700;
padding:5% 0;
font-size:3.6rem;
line-height:1.5;
}

.point_img{
margin-bottom:4%;
}

@media screen and (max-width: 767px) {
.h-type03{
font-size:8.5vw;
}

section.point .p01{
font-size:3.8vw;
}


}



/*---------------------------------------------
スライド
---------------------------------------------*/
.slide{
margin:10% 0;
}

section.slide .p01{
margin:10% 0;
font-size:1.5rem;
text-align:center;
}


.slider {
  margin-inline: auto;
  width: 100%;
}
.slider-img {
}
.slider-img img {
  height: auto;
  width: 85%;
  margin: 0 auto;
}

.slide-arrow {
  z-index:1;
  cursor: pointer;
  margin: auto;
  position: absolute;
  top: 45%;
  width: 50px !important;
}

.slide-arrow img{
width:100%;
height:auto;
}

.prev-arrow {
  left: 5%;
}
.next-arrow {
  right: 5%;
}

@media screen and (max-width: 767px) {
section.slide .p01{
font-size:3.8vw;
}
}

/*---------------------------------------------
理由
---------------------------------------------*/
section.reason{
background:#ff4664;
padding:5% 5%;
}

.w100{
width:100%;
height:auto;
}

.reason_box{
background:#ffebe6;
padding:5% 5%;
margin:8% 0 0;
}

.reason_box h2{
font-size:3rem;
font-weight:500;
line-height:1.4;
margin-bottom:7%;
}

.reason_box dl{
margin-bottom:14%;
font-feature-settings: "palt";
}

.reason_box h3{
color:#ff4664;
font-size:2.7rem;
line-height:1.4;
margin:4% 0;
}

.reason_box dl p{
text-align:center;
font-size:1.7rem;
margin-top:5%;
}

@media screen and (max-width: 767px) {
.reason_box h2{
font-size:6.4vw;
font-weight:700;
}

.reason_box h3{
font-size:5.3vw;
}

.reason_box dl p{
font-size:3.7vw;
}

}


/*---------------------------------------------
特典
---------------------------------------------*/
section.tokuten{
background-image:url(../img/tokuten_bg.png);
background-repeat:no-repeat;
background-size:100%;
background-position:center top;
padding:0 3% 5%;
}

section.tokuten h2{
font-size:5.7rem;
color:#e11c24;
line-height:1.3;
font-weight:600;
padding:10% 0 10%;
}

section.tokuten ul{
display:flex;
flex-wrap:wrap;
justify-content:space-between;
}

section.tokuten li{
width:48.5%;
margin-bottom:3%;
}

/*---------------------------------------------
金額
---------------------------------------------*/
section.price{
background-image:url(../img/kingaku_bg.png);
background-repeat:no-repeat;
background-size:100%;
background-position:center top;
padding:0 3% 5%;
}

section.price h2{
padding:10% 0 2%;
}

.kingaku_img{
margin-bottom:8%;
}

/*---------------------------------------------
流れ
---------------------------------------------*/

section.flow{
padding:5% 0;
background:#de6743;
}

.flow_box_wrap{
padding:5% 5% 0;
}

.flow_box{
background:#fff;
padding:5% 1% 0 5%;
margin:5% 0 0;
}

.flow_box img{
max-width:100%;
height:auto;
}

.flow_box li{
margin-right:4.5%;
}

.flow_box li.last{
padding-bottom:5%;
}


.scroll {
  height: 290px;
  /* overflow-y: scroll; */
overflow-y: auto; 
}

.scroll::-webkit-scrollbar {
  width: 8px;
}

.scroll::-webkit-scrollbar-track {
  background-color: #fff;
}

.scroll::-webkit-scrollbar-thumb {
  background-color: #999;
  border-radius: 8px;
}

/* SimpleBarのカスタムスタイル */
.scroll .simplebar-scrollbar {
    background-color: #999 !important;
    border-radius: 8px;
    width: 8px;
}

.scroll .simplebar-track {
    background-color: #fff;
}

@media screen and (max-width: 767px) {
.flow_box li{
margin-right:6%;
}

.scroll {
height: 60vw;
}

}

/*---------------------------------------------
パーティー
---------------------------------------------*/

section.party{
padding:8% 10%;
}
section.party h2{
color:#c99146;
font-size:2.8rem;
line-height:1.4;
text-align:center;
margin-bottom:5%;
}

.party_img{
margin-bottom:5%;
}

section.party p{
text-align:center;
font-size:1.7rem;
}

@media screen and (max-width: 767px) {
section.party h2{
font-size:5.8vw;
}

section.party p{
font-size:3.8vw;
}
}


/*---------------------------------------------
お客様の声
---------------------------------------------*/

section.voice{
padding:8% 0%;
background:#ffebe6;
}

.voice_list{
margin-top:5%;
}

.voice dl{
background:#ff4664;
border-radius:20px;
font-feature-settings: "palt";
padding:2%;
margin:0 5%;
}

.voice dd{
font-size:1.7rem;
letter-spacing:0.05em;
background:#fff;
padding:3%;
border-radius:0 0 12px 12px;
text-align:left;
}



.slide-arrow02 {
  z-index:1;
  cursor: pointer;
  margin: auto;
  position: absolute;
  top: 45%;
  width: 50px !important;
}

.slide-arrow02 img{
width:100%;
height:auto;
}

.prev-arrow02 {
  left: 0;
}
.next-arrow02 {
  right: 0;
}

@media screen and (max-width: 767px) {
.voice dd{
font-size:3.7vw;
letter-spacing:0.4vw;
padding:4vw;
line-height:1.7;
}
}


/*---------------------------------------------
FAQ
---------------------------------------------*/
section.faq{
padding:0 0 8%;
background:#de6743;
}


.faq_box_wrap{
margin:0 5%;
}

.faq_box{
background:#fff;
padding:5% 1% 0 5%;
text-align:left;
font-feature-settings: "palt";
}


.faq_box dl{
border-bottom:dashed 1px #a08c2d;
width:92%;
padding:3% 0;
}

.faq_box dl.last{
margin-bottom:5%;
}

.faq_box dt{
color:#a08c2d;
font-size:2.0rem;
margin-bottom:2%;
}

.faq_box dd{
color:#de6743;
font-size:2.0rem;
}

.faq_box dt,
.faq_box dd{
display:flex;
flex-wrap:wrap;
justify-content:space-between;
align-items:flex-start;
}

.faq_box dt img{
width:28px;
height:auto;
}

.faq_box dd img{
width:28px;
height:auto;
}

.faq_box dt span,
.faq_box dd span{
width: calc(100% - 35px);
line-height:1.4;
}

@media screen and (max-width: 767px) {

.faq_box dl{
padding:4% 0;
}

.faq_box dt{
font-size:3.9vw;
margin-bottom:3%;
line-height:1.8;
}

.faq_box dd{
font-size:3.8vw;
}

.faq_box dt img{
width:5.0vw;
}

.faq_box dd img{
width:5.0vw;
}

.faq_box dt span,
.faq_box dd span{
width: calc(100% - 6.2vw);
line-height:1.5;
}

}

/*---------------------------------------------
ボタンのみ
---------------------------------------------*/
section.only_btn{
margin:10% 0;
}

/*---------------------------------------------
問い合わせ
---------------------------------------------*/

section.contact_f{
position:relative;
z-index:1;
}

section.contact_f h2{
position:relative;
z-index:2;
}

section.contact_f .contact_box{
position:relative;
margin:-140px 5% 5%;
min-height:800px;
z-index:1;
}

@media screen and (max-width: 767px) {
section.contact_f .contact_box{
margin:-40vw 0 5%;
}



}


/*---------------------------------------------
フッター
---------------------------------------------*/
section.footer_con{
padding:6% 5% 22%;
background:#a08c2d;
}

section.footer_con h2{
padding:0 20% 3%;
}

section.footer_con .p01{
font-size:2.0rem;
color:#fff;
text-align:center;
margin-bottom:5%;
}

section.footer_con .p02{
font-size:1.6rem;
color:#fff;
text-align:center;
}

@media screen and (max-width: 767px) {
section.footer_con{
padding:6% 5% 25%;
}

section.footer_con h2{
padding:0 30% 3%;
}

section.footer_con .p01{
font-size:3.7vw;
margin-bottom:3%;
}

section.footer_con .p02{
font-size:3.5vw;
}

}




/*---------------------------------------------
 ** footer固定ボタン
---------------------------------------------*/

.foot_btn{
  position: fixed;
  bottom: 0;
  width: 508px;
  z-index:12;
  background:#333;
  padding:8px 8px 16px;
}

.foot_btn p{
font-weight:700;
text-align:center;
font-size:1.9rem;
color:#fff;
margin-bottom:5px;
}


.foot_btn ul{
display:flex;
flex-wrap:wrap;
justify-content:space-between;
}

.foot_btn li{
width:49%;
}

.foot_btn li a{
display:flex;
flex-wrap:wrap;
justify-content:center;
font-size:2rem;
color:#fff;
padding:7px 0;
border-radius:40px;
font-weight:700;
align-items:center;
column-gap:4px;
}

.foot_btn .li01 a img{
width:25px;
height:auto;
}

.foot_btn .li02 a img{
width:20px;
height:auto;
}


.foot_btn .li01 a{
background:#2DB6C0;
}

.foot_btn .li01 a:hover{
background:#ff4664;
}

.foot_btn .li02 a{
background:#afab4b;
}
.foot_btn .li02 a:hover{
background:#ff4664;
}



@media screen and (max-width: 767px) {
.foot_btn{
  width: 100%;
  z-index:12;
  padding:1.5vw 3vw 5vw;
}

.foot_btn p{
font-size:3.9vw;
margin-bottom:1vw;
}

.foot_btn li a{
font-size:4vw;
padding:2vw 0;
column-gap:2vw;
}

.foot_btn .li01 a img{
width:25px;
height:auto;
}

.foot_btn .li02 a img{
width:20px;
height:auto;
}


}



/*---------------------------------------------
 ** PC動画
---------------------------------------------*/

.hero {
  position: relative;
}

/* video */

.video-box {
  position: fixed;
  width: 100%;
  height: 100vh;
  z-index:-1;
}
.video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.hero_bg_front{
  z-index:-1;
  width: 100%;
  height: 100vh;
  position: fixed;
  background-image:url(../img/bg_img.png);
  background-size:cover;
  opacity:0.7;
}

.hero_bg{
  z-index:-2;
  width: 100%;
  height: 100vh;
  position: fixed;
animation: bg-gradient 3s linear infinite alternate;
  background: linear-gradient(45deg, #ffffff, #eaa9b6, #f90836) 0 / 200% 100%;
  opacity:0.6;
}

@keyframes bg-gradient {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 100% 0;
  }
}









/*---------------------------------------------
 ** デバイスごとの表示
---------------------------------------------*/
@media screen and (max-width: 1024px) {

.right_area{
display:none;
}

aside{
display:none;
}

body{
background-color:#e6e4e2;
}

  main{
    margin:0 auto;
}

}


@media screen and (max-width: 767px) {
  main{
    right:0;
    left:0;
    margin:0 auto;
    width:100%;
  max-width:100%;
  box-shadow: none;
  top:0;
}

}



/*
-----------------------------------------------
flex
----------------------------------------------- */
.container01{
display:flex;
flex-wrap:wrap;
}

.container02{
display:flex;
flex-wrap:nowrap;
}

.container03{
display:flex;
flex-wrap:wrap-reverse;
}

.al-item01{
align-items:flex-end
}

.c-type01{
justify-content:space-between;
}

.c-type02{
justify-content:space-around;
}

.c-type03{
justify-content:flex-start;
}

.c-type04{
justify-content:center;
}

.ai-01{align-items:flex-start;}
.ai-02{align-items:flex-end;}
.ai-03{align-items:center;}
.ai-04{align-items:baseline;}
.ai-04{align-items:stretch;}

/*
-----------------------------------------------
ページTOP
----------------------------------------------- */

#page-top {
  position: fixed;
  bottom:15px;
  right: 30px;
  font-size: 14px;
  line-height: 1;
  z-index: 13;
}

#page-top a {
  display: block;
  width: 50px;
  height: 50px;
  background: url(../img/pagetop.png) no-repeat;
  background-size: 100%;
  -moz-border-radius: 0px;
  -webkit-border-radius: 0px;
  border-radius: 0px;
}

#page-top a:hover {
  text-decoration: none;
  opacity: .9;
}

@media screen and (max-width: 767px) {

#page-top a {
  width: 40px;
  height: 40px;
}

#page-top {
  bottom:14vh;
  right: 3%;
}


.menu-hidden {
  opacity: 0;
}


.menu-visible {
opacity: 1;
}

#head_btn{
transition: all 0.3s;
}


}



/*
-----------------------------------------------
スマホメニュー内
----------------------------------------------- */

.sp_sub ul{
display:flex;
flex-wrap:wrap;
justify-content:space-between;
}

.sp_sub li{
width:49%;
}

.sp_sub li a{
display:flex;
flex-wrap:wrap;
justify-content:center;
font-size:2rem;
color:#fff;
padding:7px 0;
border-radius:40px;
font-weight:700;
align-items:center;
column-gap:4px;
}

.sp_sub .li01 a img{
width:25px;
height:auto;
}

.sp_sub .li02 a img{
width:20px;
height:auto;
}


.sp_sub .li01 a{
background:#2DB6C0;
}

.sp_sub .li01 a:hover{
background:#ff4664;
}

.sp_sub .li02 a{
background:#afab4b;
}
.sp_sub .li02 a:hover{
background:#ff4664;
}

@media screen and (max-width: 767px) {

.sp_sub li a{
font-size:4vw;
column-gap:8px;
}

}