@charset "UTF-8";

html{box-sizing:border-box;-webkit-text-size-adjust:100%}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{padding:0;margin:0;box-sizing:border-box;}audio:not([controls]){display:none;height:0}hr{overflow:visible}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}summary{display:list-item}small{font-size:80%}[hidden],template{display:none}abbr[title]{border-bottom:1px dotted;text-decoration:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}input{border-radius:0}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer}[disabled]{cursor:default}[type=number]{width:auto}[type=search]{-webkit-appearance:textfield}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:0;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted ButtonText}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button,select{text-transform:none}button,input,select,textarea{background-color:transparent;border-style:none;color:inherit}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}img{border-style:none;vertical-align: bottom}progress{vertical-align:baseline}svg:not(:root){overflow:hidden}audio,canvas,progress,video{display:inline-block}@media screen{[hidden~=screen]{display:inherit}[hidden~=screen]:not(:active):not(:focus):not(:target){position:absolute!important;clip:rect(0 0 0 0)!important}}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled]{cursor:default}::-moz-selection{background-color:#b3d4fc;color:#000;text-shadow:none}::selection{background-color:#b3d4fc;color:#000;text-shadow:none}ul,ol{list-style:none;}a{text-decoration:none;}.wrapper{overflow:hidden;}body{overflow-y:scroll;}img{max-width: 100%;vertical-align:bottom;}

body{
  font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
}
.container{
max-width: 960px;
margin: 0 auto;
}

/* header------------- */
.title{
background-color: #111;
}
.title>h1{
font-size: 12px;
font-family: sans-serif;
padding: 5px 0 5px 5px;
color: #fff;
}

.top{
display: flex;
justify-content: space-between;
height: 100px;
}
.top-logo{
max-width: 150px;
height: 100px;
padding-left: 5px;
}
.icon{
  display: flex;
  align-items: flex-end;
}
.icon>a{
  display: block;
  margin: 10px;
  width: 55px;
}
@media (max-width:767px){
.top{
  display: block;
  height: 165px;
}
.top-logo{
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
.icon{
  justify-content: center;
}
}
/* gnav------------------------ */
.gnav{
  height: 66px;
  border-top: 3px solid #333;
  border-bottom: 3px solid #333;
  position: sticky;
  top: 0;
  background-color: #fff;
  z-index: 2;
}
.home-nav{
  margin-bottom: 20px;
}
.gnav>ul{
  display: flex;
}
.gnav>ul>li{
  height: 66px;
  position: relative;
}
.gnav ul ul{
display: block;
}
.gnav>ul>li.current>a{
  background-color: #eee;
}
.gnav>ul>li>a{
  height: 60px;
  display: block;
  padding: 10px 40px;
  border-left: 1px dashed #333;
  transition: .2s;
}
.gnav>ul>li:last-child>a{
  border-right: 1px dashed #333;
  background-color: #fff6f6;
  transition: .2s;
}
.gnav>ul>li>a:hover,.gnav>ul>li:last-child>a:hover{
  background-color: #ccc;
}

/* drop-menu-------------- */
.drop-menu{
  width: 100%;
  height: 126px;
  position: absolute;
  top: 63px;
  visibility: hidden;
  opacity: 0;
  background-color: #111;
}
.gnav>ul>li:hover .drop-menu{
  opacity: 1;
  visibility: visible;
}
.drop-menu>li{
  text-align: center;
  height: 63px;
}
.drop-menu>li>a{
  display: block;
  font-size: 18px;
  line-height: 63px;
  color: #fff;
}
.drop-menu>li>a:hover{
  background-color: hsla(0, 0%, 39%, 0.705);
}
/* checkbox---------------- */
#check{
  display: none;
}

/* ハンバーガーメニュー */
dl.sp-only{
  display: none;
}
.icon-txt{
display: none;
}

@media (max-width:767px){
.gnav{
display: none;
}
.icon-txt{
display: block;
}
.ham-btn{
  display: block;
  width: 50px;
  height: 50px;
  position: fixed;
  /* border: 2px solid #333;
  background-color: rgba(255, 255, 255, 0.5); */
  z-index: 2;
  top: 60px;
  left: 20px;
}
/* label.scroll{
top: 60px;
} */
.icon-txt{
font-size: 16px;
text-shadow: 1px 1px 2px #fff;
text-align: center;
position: relative;
top: 40px;
}
.ham-btn>span{
display: block;
width: 35px;
height: 2px;
margin: auto;
position: absolute;
top: -14px;
right: 0;
bottom: 0;
left: 0;
background-color: #222;
box-shadow: 1px 1px 1px rgb(202, 202, 202);
border-radius: 2px;
transition: .3s;
}
.ham-btn>span::after{
display: block;
content: "";
width: 35px;
height: 2px;
background-color: #222;
box-shadow: 1px 1px 1px rgb(202, 202, 202);
border-radius: 2px;
position: absolute;
top: 14px;
margin: auto;
transition: .3s;
}
dl.sp-only{
  opacity: 0;
  visibility: hidden;
  display: block;
  width: 100%;
  height: 100vh;
  background-color: rgba(255, 255, 255, 0.911);
  position: relative;
  top: 130px;
  left: 0;
  padding-top: 20px;
  position: fixed;
  transition: .3s;
}
dl.sp-only>dt{
  height: 60px;
  padding: 10px 0;
  text-align: center;
  border-bottom: 1px solid rgba(51, 51, 51, 0.705);
}
dl.sp-only p.d-menu{
  text-align: center;
  font-size: 18px;
  background-color: rgba(119, 119, 119, 0.705);
}
dl.sp-only p.d-menu>a{
  line-height: 60px;
  color: #fff;
}

#check:checked~.sp-only{
/* transform: translateX(0); */
opacity: 1;
visibility: visible;
z-index: 1;
}
#check:checked+.ham-btn>span{
top: 0;
transform: rotate(45deg);
}
#check:checked+.ham-btn>span::after{
top: 0;
transform: rotate(-90deg);
}
}
/* main-photo-------------- */
.main-photo>p{
max-width: 960px;
height: 450px;
margin-bottom: 50px;
}
.bxslider li{
  max-width: 960px;
  height: 500px;
  position: relative;
}
.bxslider img{
  width: 100%;
  height: 100%;
  position: absolute;
  object-fit: cover;
  object-position: bottom;
}
@media(max-width:767px){
.bxslider li{
  height: 350px;
}
}

/* スクロールダウン----------------------- */
.scrolldown1{
  /*描画位置※位置は適宜調整してください*/
position:absolute;
right: 50%;
bottom: 50px;
  /*全体の高さ*/
height:50px;
}
.scrolldown2{
  /*描画位置※位置は適宜調整してください*/
position:absolute;
right: 50%;
top: 450px;
  /*全体の高さ*/
height:50px;
}
/*Scrollテキストの描写*/
.scrolldown1 span,.scrolldown2 span{
  /*描画位置*/
position: absolute;
left:-15px;
top: -15px;
  /*テキストの形状*/
color: rgb(0, 0, 0);
font-size: 0.8rem;
letter-spacing: 0.05em;
}

/* 線の描写 */
.scrolldown1::after,.scrolldown2::after{
content: "";
  /*描画位置*/
position: absolute;
top: 0;
  /*線の形状*/
width: 1px;
height: 30px;
background: rgb(0, 0, 0);
  /*線の動き1.4秒かけて動く。永遠にループ*/
animation: pathmove 1.4s ease-in-out infinite;
opacity:0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
0%{
  height:0;
  top:0;
  opacity: 0;
}
30%{
  height:30px;
  opacity: 1;
}
100%{
  height:0;
  top:50px;
  opacity: 0;
}
}

/* main-copy----------------- */
.main-copy>h1{
  text-align: center;
  font-size: 32px;
  margin-bottom: 40px;
}
.main-copy>h1>.br-sp{display: none;}
.main-txt{
  text-align: center;
  font-size: 20px;
  margin-bottom: 150px;
  line-height: 2;
}
@media (max-width:767px){
.main-copy{padding: 0 20px;}
.main-copy>h1{font-size: 23px;}
.main-copy>h1>.br-sp{display: block;}
.main-txt{
font-size: 16px;
line-height: 1.5;
margin-bottom: 100px;
}
}
/* plan-------------------- */
.plan>h2{
  width: 200px;
  height: 60px;
  background-color: #111;
  color: #fff;
  font-size: 20px;
  text-align: center;
  line-height: 60px;
  margin: 0 auto 50px;
}
.plan-img{
  display: flex;
  justify-content: space-around;
  margin-bottom: 60px;
}
.plan-img img{
  border: 2px solid #333;
  transition: .4s;
}
.plan-img img:hover{
  filter: opacity(.8);
  box-shadow: 5px 5px 10px #888;
}
@media (max-width:767px){
.plan>h2{margin: 0 auto 50px;}
.plan-img img{
  width: 150px;
}
}

/* .plan&.gallery共通--------------- */
.plan>p,.gallery>p{
  width: 250px;
  height: 70px;
  margin: 0 auto 150px;
}
.plan>p>a,.gallery>p>a{
  display: block;
  border:2px solid #666;
  box-shadow: 5px 5px 10px #888;
  color: #333;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  line-height: 70px;
  transition: .4s;
}
.plan>p>a:hover,.gallery>p>a:hover{
  background-color: #111;
  color: #fff;
}
@media (max-width:767px){
.plan>p,.gallery>p{height: 60px;}
.plan>p>a,.gallery>p>a{line-height: 60px;}
}

/* ホームギャラリー(slickbox)---------------------- */
.gallery>h2{
  width: 280px;
  height: 60px;
  background-color: #111;
  color: #fff;
  font-size: 20px;
  text-align: center;
  line-height: 60px;
  margin: 0 auto 50px;
}
.slick-box:hover{
transition: .4s;
filter: opacity(.8);
}
.autoplay{
display: block;
width: 90%;
height: 150px;
margin: 0 auto 50px;
}
.autoplay p{
  width: 150px;
  height: 150px;
  padding-right: 10px;
  position: relative;
}
.autoplay img{
width: 100%;
height: 100%;
  position:absolute;
  object-fit: contain;
}
@media (max-width:767px){
.gallery>h2{margin: 0 auto 50px;}
.autoplay{
width: 100%;
display: none;
padding: 10px;
}
.autoplay>p{
  width: 30%;
  height: 0;
  padding-bottom: 100%;
  object-fit: cover;
}
.box-wrapper{
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  scroll-snap-type: x mandatory;/* x方向に慣性スクロール */
  scroll-padding: 10px;
}
.box{
  padding: 10px;
  flex: 0 0 70%;
scroll-snap-align: start;/* ピタッと止まる */
scroll-snap-stop: always;/* 毎回1枚1枚止まるように */
}
}

/* profile------------------------- */
.profile>h2{
  width: 200px;
  height: 50px;
  background-color: #111;
  color: #fff;
  font-size: 20px;
  text-align: center;
  line-height: 50px;
  margin: 0 auto 50px;
}
.profile>.profile-box{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 70px;
}
.profile>.profile-box>p.profile-img{
  max-width: 300px;
}
.profile>.profile-box>p.profile-txt{
  max-width: 500px;
  font-size: 16px;
  color: #333;
  padding-left: 40px;
}
.profile>.profile-box>p.profile-txt>span{
  font-weight: bold;
  font-size: 18px;
}
@media (max-width:767px){
.profile>h2{margin: 0 auto 50px;}
.profile>.profile-box{
display: block;
}
.profile>.profile-box>p.profile-img{
max-width: 280px;
margin: 0 auto;
}
.profile>.profile-box>p.profile-img>img{
object-position: center -20px;
}
.profile>.profile-box>p.profile-txt{
width: 70%;
margin: 0 auto 50px;
padding-left: 0;
}
}

/* link--------------------------- */
.link{
  width: 70%;
  display: flex;
  justify-content: space-around;
  margin: 0 auto 150px;
  transition: .4s;
}
.link>p{
  width: 38%;
}
.link img:hover{
  opacity: .8;
}
@media(max-width:767px){
.link{
display: block;
margin: 0 auto 50px;
}
.link>p{
width: 80%;
margin: 0 auto 30px;
}
}

/* footer------------------------- */
footer{
  width: 100%;
  height: 300px;
  line-height: 300px;
  background-color: #111;
  color: #fff;
  text-align: center;
}


/* plan.html
>>>>>>>>>>>>>>>>>>>>>>>>>>> */
.detail-top{
  width: 100%;
  height: 300px;
  background-color: #eee;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 50px;
}
.detail-top>h1{
  line-height: 1;
  text-align: center;
  font-family :
	'YuMincho',    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
  color: #000;
  font-size: 23px;
}
.detail-top>h1::first-line{
  font-size: 55px;
}
h1.gallery>img{
  width: 60px;
  height: 60px;
}
@media(max-width:767px){
.detail-top>h1::first-line{
  font-size: 32px;
}
}
/* ウェディングプラン------------- */
.wedding{
  width: 380px;
  height: 70px;
  line-height: 70px;
  text-align: center;
  font-size: 32px;
  background-color: #fcecec;
  box-shadow: 5px 5px 2px #eee;
  color: #000;
  margin: 0 auto 60px;
}
.wedding-txt{
  text-align: center;
  line-height: 2;
  font-size: 18px;
  font-weight: bold;
  margin: 0 auto 70px;
  padding: 20px;
  border-top: 3px solid #333;
  border-bottom: 3px solid #333;
}

@media (max-width:767px){
.wedding{
max-width: 300px;
font-size: 28px;
}
}
/* wedding,others共通-------- */
h3.p-name{
  font-size: 45px;
  text-align: center;
  color: #333;
  text-shadow: 2px 2px 2px #ccc;
  margin: 0 auto 20px;
}
.sp-br{display: none;}
.wedding-p,.others-p{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 120px;
}
.odd{
  flex-direction: row-reverse;
}
.wedding-p>.menu-img,.others-p>.menu-img{
width: 50%;
height: 350px;
position: relative;
}
.wedding-p>.menu-img>img,.others-p>.menu-img>img{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: auto;
  width: auto;
  max-width: 100%;
  max-height: 100%;
  margin: auto;
}
.wp-txt,.op-txt{
width: 40%;
}
dl.list{
  display: flex;
  flex-wrap: wrap;
  padding: 20px;
  border-top: 2px solid #333;
  border-bottom: 2px solid #333;
}
dl.list dt{
  width: 30%;
  text-align: center;
  font-size: 16px;
  line-height: 60px;
}
dl.list dt:first-child{
  line-height: 65px;
}
dl.list dd{
display: block;
  width: 70%;
  font-size: 23px;
  text-align: center;
  line-height: 60px;
}
dl.list .first-dd{
  font-size: 40px;
  line-height: 65px;
}
dl.list dd.para{
  line-height: 1;
  padding: 8px;
}
dd>span{
  font-size: 18px;
}

@media (max-width:767px){
h3.p-name{
font-size: 32px;
line-height: 1.3;
}
.sp-br{display: block;}
.wedding-p,.others-p{
display: block;
margin-bottom: 100px;
}
.wedding-p>.menu-img,.others-p>.menu-img{
width: 90%;
margin: 0 auto 10px;
}
.wedding-p>.menu-img>img,.others-p>.menu-img>img{
width: 100%;
object-fit: cover;
}
.wp-txt,.op-txt{
width: 90%;
margin: 0 auto 20px;
}
.sp-icon{
display: block;
}
.sp-icon>.down{
text-align: center;
font-size: 14px;
font-weight: bold;
color: #333;
}
.sp-icon img{
display: block;
width: 35px;
height: 35px;
margin: 0 auto 10px;
}
}
/* option------------------------- */
.option{
  width: 60%;
  background-color: #e3e3e3;
  color: #000;
  margin: 0 auto 70px;
  text-align: center;
  padding: 20px 30px;
}
.option>h4{
  font-size: 30px;
  text-align: center;
  margin-bottom: 10px;
}
.option-list{
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.option-list dt{
  width: 30%;
  font-size: 18px;
  font-weight: bold;
  padding: 8px;
}
.option-list dd{
  width: 50%;
  line-height: 1;
  padding: 8px;
}
.option-list dd.option-p{
  line-height: 50px;
}
.option-list dd::first-line{
  font-size: 23px;
  font-weight: bold;
}
.option li{
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 5px;
}
@media (max-width:767px){
.option{
width: 80%;
padding: 20px 10px;
}
.option-list dt{
  width: 40%;
  font-size: 16px;
}
.option-list dd{
  width: 60%;
}
}

/* others------------------------ */
h2.others{
  width: 380px;
  height: 70px;
  line-height: 70px;
  text-align: center;
  font-size: 32px;
  background-color: #dafcf9;
  color: #000;
  box-shadow: 5px 5px 2px #eee;
  margin: 0 auto 60px;
}
.op-txt>p{
  max-width: 400px;
  text-align: left;
  line-height: 1.2;
  padding: 20px;
}
@media (max-width:767px){
h3.others{
  width: 300px;
  font-size: 28px;
}
}
/* ギャラリー ------------- */
h2.g-h2{
  font-size: 50px;
  text-align: center;
  color: #000;
  margin-bottom: 50px;
}
p.sp-ex{
display: none;
}
.list-group{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 20px;
  list-style: none;
  text-align: center;
}
.list-group-item{
  width: 30%;
  height: 180px;
  margin: 2px 0;
  overflow: hidden;
}
.list-group-item img{
  transition: .4s;
}
.list-group-item img:hover{
  transform: scale(1.1);
}
.list-group>p img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.gallery-link{
  text-align: right;
  margin-bottom: 70px;
}
.gallery-link>a{
  color: #bb24bb;
  font-size: 18px;
}
@media (max-width:767px){
.detail-top>.gallery::first-line{
font-size: 35px;
}
h1.gallery>img{
width: 40px;
height: 40px;
}
h2.g-h2{
font-size: 35px;
margin-bottom: 20px;
}
p.sp-ex{
  display: block;
  text-align: center;
  font-size: 16px;
  color: #222;
  margin-bottom: 50px;
}
p.sp-ex>img{
  width: 15px;
  height: 15px;
  margin: 0 3px;
  position: relative;
  top: -7px;
}
.list-group-item {
width: 31%;
height: 120px;
margin: 2px;
}
.gallery-link>a{
  font-size: 16px;
}
}

/* ページネーション------------------------- */
/* .pagination{
  list-style: none;
  display: flex;
  justify-content: center;
  padding: 5px;
  margin-bottom: 20px;
}
.pagination li{
  margin: 5px;
  border: 3px solid #333;
}
.pagination a{
  display: block;
  text-decoration: none;
  color: #333;
  padding: 5PX 10PX;
}
.pagination a:hover{
  background-color: #eee;
}
.active{
  background-color: #CCC;
}
@media(max-width:767px){
.pagination{
  flex-wrap: wrap;
}
}
 */
/* page-------------------- */
ul.paginate{
  margin: 0 auto 20px;
  display: flex;
  justify-content: center;
}
.page li.number{
  margin: 5px;
  border: 3px solid #333;
}
li.active{
  background-color: #CCC;
}
.page li.dotted{
  width: 80px;
  margin: 5px;
  align-self: center;
}
.page li.dotted-s{
  width: 35px;
  margin: 5px;
  align-self: center;
}
li.number>a{
  display: block;
  text-decoration: none;
  color: #333;
  padding: 5PX 10PX;
}
li.number>a:hover{
  background-color: #eee;
}
@media(max-width:767px){
.paginate{
  flex-wrap: wrap;
}
  }


/* FAQ-------------------------- */
.qa-box{
  display: flex;
  flex-wrap: wrap;
  width: 80%;
  margin: 0 auto 50px;
  padding: 15px 20px;
  background-color: #fdedc9;
  border-radius: 10px;
  line-height: 1.3;
  font-size: 18px;
  color: #333;
}
.qa-box:last-child{
  margin-bottom: 80px;
}
.question{
  font-weight: bold;
  font-size: 18px;
}
dd.question,dd.answer{
  width: calc(100% - 30px);
  font-size: 18px;
  line-height: 30px;
}
.qa-box>dt.q{
  width: 30px;
  font-size: 20px;
  font-weight: bold;
  padding-right: 10px;
  color: #0a2547;
  margin-bottom: 15px;
}
.qa-box>dt.a{
  width: 30px;
  font-size: 20px;
  font-weight: bold;
  padding-right: 10px;
  color: #cf1d76;
}

/* contact-------------------- */
.access{
  margin-bottom: 80px;
}
.access>h2{
  width: 280px;
  height: 50px;
  font-size: 32px;
  text-align: center;
  background-color: #000;
  color: #fff;
  margin: 0 auto 50px;
}
.access>.contact-detail{
  text-align: center;
  font-size: 18px;
  line-height: 1.5;
  color: #333;
  font-weight: bold;
  margin: 0 auto 60px;
}

.contact-box{
  width: 50%;
  margin: 0 auto 30px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.contact-box>.qr{
  width: 100px;
  height: 100px;
  text-align: center;
  margin-bottom: 20px;
}
.contact-box>.address{
  width: calc(100% - 100px);
  text-align: center;
  font-size: 20px;
  margin-bottom: 20px;
}
.contact-box a{
  color: rgb(52, 37, 190);
}
.mail-txt{
  font-size: 18px;
  text-align: center;
  margin-bottom: 100px;
}
p.official-line,p.line-qr{
  width: 150px;
  height: 150px;
  margin: 0 auto 30px;
}
p.official-line:hover{
opacity: 0.6;
}
@media(max-width:767px){
.detail-top>h1.contact::first-line{
  font-size: 32px;
}
.contact-box{
  width: 80%;
}
.access>.contact-detail,.mail-txt,.contact-detail{
  padding: 0 20px;
}
}
/* liner--------------------------- */
span.liner{
  background:rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #ffffd2 0%) repeat scroll 0 0;
}