@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda&family=Noto+Sans+JP&family=Noto+Serif+JP&family=Suranna&display=swap');

/*--------------------------------------------------------------
/* - Reset
----------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

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

hr {
  box-sizing: content-box; /* Add the correct box sizing in Firefox. */
  height: 0; /* Add the correct box sizing in Firefox. */
  overflow: visible; /* Show the overflow in Edge and IE. */
}

img {
  border-style: none;
}

a {
  background-color: transparent;
}


/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* - Box sizing
----------------------------------------------*/
*,
*:before,
*:after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
}

/* - Typography
----------------------------------------------*/
html {
  font-family: 'Noto Sans JP', "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-style: normal;
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  color: #333333;
  scroll-behavior: smooth;
}

.font-min {
  font-family: 'Noto Serif JP', serif;
}

.font-en {
  font-family: 'Suranna', serif;
}

.font-mark {
  font-family: 'Bodoni Moda', serif;
  font-size: 50%;
}

small {
  font-size: 80%;
}

big {
  font-size: 120%;
}

b, strong {
  font-weight: bolder;
}

em, i {
  font-style: normal;
}

sup, sub {
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
  position: relative;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

blockquote {
  padding: 10px;
  background: lightgrey;
}

cite, dfn {
  font-style: italic;
}

abbr, acronym {
  background: lightgrey;
}

mark {
  background-color: lightpink;
  text-decoration: none;
}

ins {
  background-color: lightyellow;
  text-decoration: none;
}

/* - Elements
----------------------------------------------*/
audio, canvas, iframe, img, svg, video {
  vertical-align: middle;
}

img,
svg {
  width: 100%;
  height: auto;
}

figure{
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  vertical-align:baseline;*/
  background:transparent;
}

.autoImg {
  width: auto;
  max-width: 100%;
}

.js-tel {
  cursor: default;
}

.disp-pc {
  display: block;
}

.disp-sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .disp-pc {
    display: none;
  }

  .disp-sp {
    display: block;
  }
}

/* - Links
----------------------------------------------*/
a {
  color: inherit;
}

a,
a:hover,
a:active {
  text-decoration: none;
  outline: 0;
}

:focus {
  outline: none;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
#page-wrapper {
  width: 100%;
  overflow: hidden;
}

a{
  transition-duration: 0.3s;
}

a:hover{
  opacity: .9;
}

.lyt-inner {
  max-width: 908px;
  margin: 0 auto;
}

.sec-party .lyt-inner {
  max-width: 1058px;
  margin: 0 auto;
}

.fadeUp {
  opacity: 0;
  transform: translateY(50px);
  transition: all 600ms cubic-bezier(0.33, 1, 0.68, 1);
}

.fadeUp.is-inview {
  opacity: 1;
  transform: translateY(0);
}

/* - common
----------------------------------------------*/
.title {
  font-size: 48px;
}
.subtitle{
  font-size: 40px;
}
.lead-text{
  font-size: 30px;
}
.m-text{
  font-size: 17px;
  line-height: 1.6;
}
.text{
  font-size: 14px;
  line-height: 1.6;
  margin-top: 10px;
}
.s-text{
  font-size: 12px;
  line-height: 1.6;
}

.bold{
  font-weight: bold;
}

.center{
  text-align: center;
}

._flex {
	display: flex;
	gap: 0 20px;
}

@media screen and (max-width: 768px) {
  .title {
    font-size: 38px;
  }
  .subtitle{
    font-size: 40px;
  }
  .m-text{
    font-size: 17px;
    line-height: 1.6;
  }
  .text{
    font-size: 14px;
    line-height: 1.6;
  }
  .s-text{
    font-size: 12px;
    line-height: 1.6;
  }
  ._flex {
    display: flex;
    gap: 30px 0;
    flex-flow: row wrap;
  }
}

.cl-gray1{
  color: #999999;
}

.cl-gray2{
  color: #7C7877
}

.cl-gray3{
  color: #616C76
}

.cl-gold{
  color: #B39474;
}

/* - btn
----------------------------------------------*/
.btn-area{
  padding: 60px 0 0 0;
}

.btn-area[class*="btn-"] a{
  width: 325px;
  display: block;
  margin: 0 auto;
  border: 1px solid #333;
  padding: 13px 30px 15px 30px;
  position: relative;
}

.btn-area[class*="btn-"] a:after{
  content: "";
  position: absolute;
  background: url("../hall_images/icon_arrow.png") no-repeat 0 0;
  background-size: contain;
  width: 20px;
  height: 5px;
  right: 10px;
  top: 24px;
}

.btn-area.btn-c a{
  text-align: right;
}

.btn-area.btn-b a{
  background: #F5F5F5;
  border: none;
}

.btn-area.btn-c a:after{
  content: "";
  position: absolute;
  background: url("../hall_images/icon_arrow.png") no-repeat 0 0;
  background-size: contain;
  width: 20px;
  height: 5px;
  left: 10px;
  top: 24px;
  transform: rotate3d(0, 1, 0, 180deg);
}

.sec-btn{
  display: flex;
  flex-flow:  row nowrap;
  justify-content: center;
  gap: 0 20px;
}

@media screen and (max-width: 768px) {
  .btn-area{
    padding: 40px 0 0 0;
  }
  
  .btn-area[class*="btn-"] a{
    width: 90%;
    padding: 18px 0 20px 0;
    text-align: center;
  }
  
  .btn-area[class*="btn-"] a:after{
    content: none;
  }
  .btn-area[class*="btn-"] a span,
  .btn-area.btn-b a span{
    margin: 0 30px 0 0;
    position: relative;
  }

  .btn-area.btn-c a span{
    margin: 0 0 30px 0;
  }

  .btn-area[class*="btn-"] a span:after{
    content: "";
    position: absolute;
    background: url("../hall_images/icon_arrow.png") no-repeat 0 0;
    background-size: contain;
    width: 20px;
    height: 5px;
    right: -30px;
    top: 9px;
  }
  
  .btn-area.btn-c a span:after{
    content: "";
    position: absolute;
    background: url("../hall_images/icon_arrow.png") no-repeat 0 0;
    background-size: contain;
    width: 20px;
    height: 5px;
    left: -30px;
    top: 9px;
    transform: rotate3d(0, 1, 0, 180deg);
  }

  .sec-btn{
    display: flex;
    flex-flow:  row wrap;
    justify-content: center;
  }
  
  .sec-btn .btn-area{
    width: 100%;
    padding-bottom: 0;
  }
  
  .sec-ceremony .btn-area .text{
    padding: 0;
    text-align: center;
  }
}


/* - slide
----------------------------------------------*/
.swiper{
 padding: 40px 0 0 0;
 overflow: hidden;
}

.swiper.js-sliderA,
.swiper.js-sliderB{
  position: relative;
}

/* .swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  top: 10px;
  bottom: auto;
} */

.swiper-pagination.js-paginationA,
.swiper-pagination.js-paginationB{
  top: 10px;
  bottom: auto;
}

.swiper-pagination-bullet {
  background: var(--swiper-pagination-bullet-inactive-color,#fff);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 1);
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: #B39474;
}

.sec-bnr{
  background: #F0E5DE;
}

.sec-bnr [class*="sec-"]{
  border-top: 1px solid #B3A17D;
  padding: 40px 0 60px 0;
}

.sec-bnr .title-box{
  text-align: center;
}

.sec-bnr .title-box .subtitle span{
  position: relative;
}

.sec-bnr .title-box .subtitle span:before,
.sec-bnr .title-box .subtitle span:after{
  content: "";
  position: absolute;
  background: url("../hall_images/icon_deco.png") no-repeat 0 0 / 100%;
  width: 80px;
  height: 40px;
  top: 22px;
}

.sec-bnr .title-box .subtitle span:before{
  left: -100px;
}

.sec-bnr .title-box .subtitle span:after{
  right: -100px;
  transform: rotate3d(0, 1, 0, 180deg);
}

@media screen and (max-width: 1024px) {
  .swiper{
   margin: 0 50px;
  }
}

@media screen and (max-width: 768px) {
  .swiper{
    margin: 0;
  }
  
  .swiper a{
    display: block;
    position: relative;
  }
  
  .swiper-slide-next,
  .swiper-slide-prev{
    opacity: .5;
  }
}




/* - CEREMONY,PARTY
----------------------------------------------*/
.sec-hero{
  position: relative;
}

.title-area{
  position: absolute;
  top: 48%;
  transform: translateY(-48%);
  -webkit- transform: translateY(-48%);
  right: 0;
  left: 0;
  text-align: center;
  color: #fff;
  font-size: 22px;
  line-height: 1.2;
  text-shadow: 2px 2px 14px rgba(0, 0, 0, 0.6);
}

.title-area span{
  font-size: 78px;
  line-height: 1.2;
  display: block;
}

.lead-area{
  position: absolute;
  background : rgba(255, 255, 255, 0.79);
  right: 0;
  bottom: 5%;
  font-size: 14px;
  line-height: 1.8;
  padding: 30px;
  width: 47%;
}

.image-contents + .image-contents{
  margin-top: 40px;
}

.img-box{
  display: flex;
  flex-flow: row nowrap;
  gap: 0 25px;
}

[class*="sec0"] .full-wide{
  width: 100%;
  padding: 25px 0 0 0;
}

[class*="sec0"] .full-wide + .img-box,
[class*="sec0"] .full-wide + .full-wide{
  padding: 25px 0 0 0;
}

[class*="sec0"] .pl{
  padding-left: 60px;
}

[class*="sec0"] + [class*="sec0"]{
  margin-top: 80px;
}

@media screen and (max-width: 1024px) {
  .lead-area{
    position: absolute;
    background : rgba(255, 255, 255, 0.79);
    right: 0;
    top: 98vw;
    font-size: 14px;
    line-height: 1.8;
    padding: 20px 40px;
    width: 70%;
  }
}

@media screen and (max-width: 768px) {
  .title-area{
    color: #fff;
    font-size: 1.8rem;
  }

  .title-area span{
    font-size: 5rem;
    line-height: 1.2;
  }

  .lead-area{
    background : none;
    right: auto;
    bottom: -35%;
    font-size: 14px;
    line-height: 1.8;
    padding: 20px;
    width: 100%;
  }

  .img-box{
    display: flex;
    flex-flow: row nowrap;
    gap: 0 10px;
  }

  [class*="sec0"] .full-wide{
    padding: 15px 0 0 0;
  }

  [class*="sec0"] .full-wide + .img-box,
  [class*="sec0"] .full-wide + .full-wide{
    padding: 10px 0 0 0;
  }


  [class*="sec0"] + [class*="sec0"]{
    margin-top: 80px;
  }
}



/* - CEREMONY
----------------------------------------------*/
.sec-ceremony #style{
  display: block;
  margin-top:-40px;
  padding-top:40px;
}

.sec-ceremony .sec03 {
  margin-top: 80px;
}

[data-page="ceremony"] .sec-nav .nav-list{
  display: flex;
  flex-flow: row nowrap;  
  /*! justify-content: space-around; */
}

[data-page="ceremony"] .sec-nav .nav-list li{
  width: 33.3%;
  position: relative;
  padding: 20px 16px;
  border-right: 1px solid #707070;
  background: #fcf4fa;
/*   background: #f9f5ef; */
}

[data-page="ceremony"] .sec-nav .nav-list li:last-of-type{
 background: none;
}

[data-page="ceremony"] .sec-nav .nav-list li a{
  font-size: 24px;
  line-height: 1.2;
  padding: 20px 40px;
  display: block;
  transition-duration: 0.3s;
}

@media (any-hover: hover) {
  [data-page="ceremony"] .sec-nav .nav-list li a:hover,
  [data-page="ceremony"] .sec-nav .nav-list li:hover:after{
    opacity: .6;
  }
}

[data-page=ceremony] .sec-nav .nav-list li:last-of-type{
  border: none;
}

[data-page="ceremony"] .sec-nav .nav-list li:after{
  content: "";
  position: absolute;
  background: url("../ceremony/images/icon_arrow.png") no-repeat 0 0 / 100%;
  width: 40px;
  height: 40px;
  right: 45px;
  top: 30%;
  transition-duration: 0.3s;
  cursor: pointer;
}

.sec-ceremony{
  margin-bottom: 100px;
}

.sec-ceremony .mv-area{
  position: relative;
  margin-bottom: 60px;
}

.sec-ceremony .copy-area{
  position: absolute;
  right: 0;
  top: 28%;
  background : rgba(242, 235, 235, 0.9);
  padding: 40px 50px;
  width: 430px;
}

.sec-ceremony [class*="sec0"]:nth-child(even) .copy-area{
  left: 0;
  right: auto;
}

.sec-ceremony .copy-box{
  margin: 30px 0 0 0;
  padding: 20px 0;
  background: url("../ceremony/images/icon_line.png") repeat-x 0 0/ 100%;
  position: relative;
}

.sec-ceremony .copy-box:after{
  content: "";
  position: absolute;
  background: url("../ceremony/images/icon_line.png") repeat-x 0 0/ 100%;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
}

.sec-ceremony .copy-box p{
  margin-top: 0;
}

.sec-ceremony .copy-box p + p{
  margin-top: 15px;
}

@media screen and (max-width: 1024px) {
  [data-page="ceremony"] .sec-nav .nav-list li{
    padding: 20px 0;
  }
  
  [data-page="ceremony"] .sec-nav .nav-list li a{
    padding: 0px 20px;
  }
  
  [data-page="ceremony"] .sec-nav .nav-list li:after{
    width: 30px;
    height: 30px;
    right: 15px;
  }

  
  .sec-ceremony .copy-area{
    top: 17%;
  }
}

@media screen and (max-width: 768px) {
  .sec-ceremony{
    margin-bottom: 70px;
  }
  
  [data-page="ceremony"] .sec-nav{
    margin: 140px 0 50px 0;
    padding: 20px;
  }

  [data-page="ceremony"] .sec-nav .nav-list{
    display: flex;
    flex-flow: row wrap;  
    border-top: 1px solid #707070;
  }

  [data-page="ceremony"] .sec-nav .nav-list li{
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #707070;
    padding: 10px 0;
  }
  
  [data-page="ceremony"] .sec-nav .nav-list li a{
    font-size: 24px;
    line-height: 1.2;
    padding: 10px 15px;
  }

  [data-page=ceremony] .sec-nav .nav-list li:last-of-type{
    border-bottom: 1px solid #707070;
  }

  [data-page="ceremony"] .sec-nav .nav-list li:after{
    width: 35px;
    height: 35px;
    right: 20px;
    top: 30%; 
  }

  .sec-ceremony .mv-area{
    margin-bottom: 360px;
  }

  .sec-ceremony .mv-area img{
    display: block;
    width: 95%;
    margin: 0 0 0 auto;
  }
  
  .sec-ceremony .copy-area{
    right: auto;
    left: 0;
    top: 90%;
    padding: 30px 20px 60px 20px;
    width: 95%;
  }

  .sec-ceremony .copy-box{
    padding: 10px 0 20px 0;
  }
  
  .sec-ceremony .copy-area .text,
  .sec-ceremony .copy-box .text{
    padding: 0;
  }

  .sec-ceremony .copy-box p + p{
    margin-top: 15px;
  }
}

/* -----------  photo layout ----------- */
.sec-ceremony .pb{
  padding-bottom: 25px;
}

.sec-ceremony .sec01 .image-1{
  width: 55%;
  margin: 0 0 0 auto;
}

.sec-ceremony .sec01 .image-3{
  margin-top: 50px;
}

.sec-ceremony .sec01 .image-4{
  width: 65%;
  text-align: right;
  margin: auto 0 25px 0;
}

.sec-ceremony .sec01 .image-4 img{
  width: 90%;
}

.sec-ceremony .sec01 .image-5{
  width: 35%;
  margin: 0 0 25px auto;
}

.sec-ceremony .sec02 .image-1{
  width: 76%;
  margin: 0 auto 0 0;
}

.sec-ceremony .sec02 .image-2{
  width: 50%;
  margin: 0 0 25px auto;
}

.sec-ceremony .sec02 .img-box .text{
  margin: 0;
}

.sec-ceremony .sec02 .half-wide{
  width: 67%;
}

.sec-ceremony .sec03 .image-1{
  margin-top: 10px;
}


@media screen and (max-width: 1024px) {
  .sec-ceremony .text{
    padding:0 20px;
  }
  
  .sec-ceremony .sec02 .image-2{
    margin: 25px 0 25px auto;
  }
  
  .sec-ceremony .sec03 .text-box{
    padding-left: 41%;
  }
}

@media screen and (max-width: 768px) {
  .sec-ceremony .pb{
    padding-bottom: 10px;
  }
  
  .sec-ceremony [class*="sec0"] .image-contents:first-of-type{
    margin-top: -60px;
    position: relative;
    z-index: 1;
  }
  
  .sec-ceremony .sec03 .image-contents:first-of-type{
    margin-top: -45px;
  }
  
  .sec-ceremony .sec01 .image-2 img{
    padding-left: 0;
  }

  .sec-ceremony .sec01 .image-3{
    margin-top: 40px;
  }

  .sec-ceremony .sec01 .image-4{
    width: 60%;
    margin: auto 0 10px 20px;
  }

  .sec-ceremony .sec01 .image-4 img{
    width: 98%;
  }

  .sec-ceremony .sec01 .image-5{
    width: 40%;
    margin: 0 0 10px auto;
  }

  
  .sec-ceremony .sec02 .image-1{
    width: 85%;
    margin: 0 auto 0 0;
  }
  
  .sec-ceremony .sec02 .img-box{
    display: flex;
    flex-flow:  row wrap;
  }
  
  .sec-ceremony .sec02 .img-box .text{
    order: 2;
  }
  
  .sec-ceremony .sec02 .image-2{
    width: 60%;
    margin: 0 0 10px auto;
    order: 1;
  }
 
  .sec-ceremony .sec02 .image-3{
    margin-top: 30px;
  }
  
  .sec-ceremony .sec02 .half-wide{
    width: 100%;
  }
}


/* -----------  embedVideo ----------- */
.embedVideo {
  aspect-ratio: 560/315;
  position: relative;
}

.embedVideo iframe {
  display: block;
  width: 100%;
  height: 100%;
}

.embedVideo_icon {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.embedVideo_icon:after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: url("../ceremony/images/icon_play.png") no-repeat center center / 77px auto;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.embedVideo_icon:before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: #999;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.embedVideo .embedVideo_icon:before {
  background: url("../ceremony/images/ceremony_thumb_mov.jpg") no-repeat center center / cover;
}

@media screen and (max-width: 768px) {
  .embedVideo_icon:after {
    background-size: 40px auto;
  }
}

/* - PARTY,BANQUET
----------------------------------------------*/
.copy-area.bg-gray{
  background : rgba(244, 244, 247, 0.9);
}

.copy-area.bg-gray .title{
  color: #616C76;
}

.copy-area.bg-beige{
  background : rgba(255, 248, 240, 0.9);
}

.copy-area.bg-beige .title{
  color: #D17169;
}

.copy-area.bg-blue{
  background : rgba(240, 250, 255, 0.9);
}

.copy-area.bg-blue .title{
  color: #3389B4;
}

/* - PARTY
----------------------------------------------*/
.sec-party{
  margin-top: 80px;
}

.sec-party [class*="sec0"] + [class*="sec0"]{
  margin-top: 120px;
}

.sec-party [class*="sec"]{
  position: relative;
}

.sec-party [class*="sec"]:after{
  content: "";
  position: absolute;
  background: #E8ECEC;
  width: 90%;
  height: 35vw;
  right: 0;
  bottom: -60px;
  z-index: -1;
}

.sec-party [class*="sec"]:nth-of-type(even):after{
  left: 0;
}

.sec-party .mv-area{
  width: 70%;
  margin: 0 auto 0 0;
}

.sec-party [class*="sec"]:nth-of-type(even) .mv-area{
  margin: 0 0 0 auto;
}

.sec-party .copy-area{
  position: absolute;
  right: 10%;
  top: 22%;
  padding: 30px 50px;
  width: 450px;
}

.sec-party [class*="sec"]:nth-of-type(even) .copy-area{
  left: 10%;
}

.sec-party .copy-area .title{
  margin: 4px 0 25px 0;
}

.sec-party .copy-area .s-text{
  margin-top: 20px;
}

.sec-party .link-text{
  display: block;
  text-align: right;
  padding: 10px 30px 0 0;
}

.sec-party .link-text span{
  position: relative;
}

.sec-party .link-text span:after{
  content: "";
  position: absolute;
  background: url("../hall_images/icon_arrow.png") no-repeat 0 0;
  background-size: contain;
  width: 20px;
  height: 5px;
  right: -30px;
  top: 9px;
}

.sec-party .btn-area{
  margin: 120px 0 50px 0;
}

@media screen and (max-width: 1024px) {
  .sec-party .copy-area{
    top: 15%;
  }
}

@media screen and (max-width: 768px) {
  .sec-party{
    margin: 200px 0 70px 0;
  }

  .sec-party [class*="sec0"] + [class*="sec0"]{
    margin-top: 360px;
  }

  .sec-party [class*="sec"]:after{
    width: 100%;
    height: 260px;
    right: 0;
    top: 25%;
    z-index: -1;
  }

  .sec-party [class*="sec"]:nth-of-type(even):after{
    left: 0;
  }

  .sec-party .mv-area{
    width: 95%;
    margin: 0 0 0 auto;
  }

  .sec-party .copy-area{
    right: auto;
    left: 0;
    top: 90%;
    padding: 30px;
    width: 95%;
  }

  .sec-party [class*="sec"]:nth-of-type(even) .copy-area{
    left: 0;
  }

  .sec-party .btn-area{
    margin: 280px 0 0 0;
  }
}

/* - BANQUET
----------------------------------------------*/
.sec-banquet{
  margin-bottom: 80px;
}

[data-page="banquet"] .mv-area{
  width: 80%;
  margin: 0 0 0 auto;  
}

[data-page="banquet"] .copy-area{
  position: absolute;
  left: 0;
  top: 42%;
  padding: 50px;
  width: 536px;
}

[data-page="banquet"] .copy-area .title{
  font-size: 77px;
  line-height: 1;
  margin: 4px 0 25px 0;
}

.sec-banquet .midashi-area{
  margin: 180px 0 100px 0;
  text-align: center;
  position: relative;
}

.sec-banquet .midashi-area:before,
.sec-banquet .midashi-area:after{
  content: "";
  position: absolute;
  background: url("../hall_images/icon_deco02.png") no-repeat 0 0 /100%;
  width: 300px;
  height: 100px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.sec-banquet .midashi-area:before{
  top: -80px;
}

.sec-banquet .midashi-area:after{
  bottom: -80px;
  transform: rotate3d(1, 0, 0, 180deg);
}

.sec-banquet .midashi-text{
  margin: 0 auto 60px auto;
  text-align: center;
}

@media screen and (max-width: 1024px) {
  .sec-banquet .midashi-area{
    margin: 300px 0 100px 0;
  }
}

@media screen and (max-width: 768px) {
  .sec-banquet{
    margin-bottom: 70px;
  }

  [data-page="banquet"] .mv-area{
    width: 100%; 
  }

  [data-page="banquet"] .copy-area{
    left: 0;
    top: 85%;
    padding: 30px 20px;
    width: 80%;
  }

  [data-page="banquet"] .copy-area .title{
    font-size: 38px;
    margin: 4px 0 15px 0;
  }
  
  [data-page="banquet"] .copy-area .copy{
    position: absolute;
    width: 90vw;
  }

  .sec-banquet .midashi-area{
    margin: 380px 0 70px 0;
  }

  .sec-banquet .midashi-area:before,
  .sec-banquet .midashi-area:after{
    width: 250px;
    height: 100px;
  }

  .sec-banquet .midashi-area:before{
    top: -50px;  
  }

  .sec-banquet .midashi-area:after{
    bottom: -50px;
  }

  .sec-banquet .midashi-text{
    margin-bottom: 30px;
  }

  .sec-banquet .sec02 .midashi-area{
    margin: 150px 0 70px 0;
  }
   
  .sec-banquet .btn-area + .btn-area{
   padding-top: 20px;
  }
}


.sec-detail .detail-inner{
  background: #F3F7F7;
  padding: 30px 60px;
  margin: 50px auto 80px auto;
  width: 80%;
}

.sec-detail .detail-inner .font-en{
  color: #333;
  font-size: 16px;
}

.sec-detail .detail-inner .text span{
  margin-right: 10px;
}

.sec-detail .detail-inner .detail-contents{
  border-top: 1px solid #cccfcf;
  padding: 10px 0 0 0;  
  margin: 10px 0 0 0;  
}

.sec-detail .detail-inner .detail-contents,
.sec-detail .detail-inner .detail-list{
  display: flex;
  flex-flow: row nowrap;
}

.sec-detail .detail-inner .detail-contents{
 justify-content: space-between;
}

.sec-detail .detail-inner .detail-list{
  /*! width: 48%; */
}

.sec-detail .detail-inner .detail-list dt{
  margin-right: 20px;
}

@media screen and (max-width: 1024px) {
  .sec-detail{
    margin-top: 60px;
  }
  
  .sec-detail .detail-inner .detail-list dt{
    white-space: nowrap;
  }
}

@media screen and (max-width: 768px) {
  .sec-detail .detail-inner{
    padding: 30px;
    margin: 0;
    width: 100%;
  }

  .sec-detail .detail-inner .font-en{
    color: #333;
    font-size: 16px;
  }

  .sec-detail .detail-inner .text span{
    margin-right: 40px;
  }

  .sec-detail .detail-inner .detail-contents{
    border-top: 1px solid #cccfcf;
    padding: 10px 0 0 0;  
    margin: 10px 0 0 0;  
  }

  .sec-detail .detail-inner .detail-contents{
    display: flex;
    flex-flow: row wrap;
  }

  .sec-detail .detail-inner .detail-list{
    width: 100%;
  }
  
  .sec-detail .detail-inner .text,
  .sec-detail .detail-inner .detail-list.text{
    padding: 0;
  }
  
  .sec-detail .detail-inner .detail-list +.detail-list {
    margin-top: 20px;
  }
  
  .sec-detail .detail-inner .detail-list dt{
    margin-right: 0;
    width: 30%;
  }
  
   .sec-detail .detail-inner .detail-list dd{
    width: 70%;
  }
}

/* -----------  photo layout  ----------- */
.sec-banquet .sec01 .image-1,
.sec-banquet .sec02 .image-1{
  width: 25%;
  margin: auto 0 0 auto;
}

.sec-banquet .sec01 .image-2,
.sec-banquet .sec02 .image-2{
  width: 65%;
  margin: 0;
}

.sec-banquet .sec01 .image-5{
  width: 70%;
  margin: 0 auto 0 0;
}

.sec-banquet .sec01 .image-6{
  width: 30%;
  margin: 0 45px 0 auto;
}


.sec-banquet .sec01 .text,
.sec-banquet .sec02 .image-contents .text{
  /*! width: 65%; */
}

[data-page="banquet"] .image-contents .img-box:first-of-type ~ .text{
  padding-left: 65px;
}

[class*="sec0"] .full-wide .text{
  width: 100%;
}

.sec-banquet .sec02 .image-4{
  width: 70%;
  /*! margin: 0 0 0 100px; */
}

.sec-banquet .sec02 .image-4 .text{
  width: 100%;
}

.sec-banquet .sec02 .image-5{
  width: 30%;
  /*! margin: 0 100px 0 0; */
}

.sec-banquet .sec02 .image-6{
  width: 50%;
  margin: 0;
}


@media screen and (max-width: 1024px) {
  .sec-banquet .sec01 .text,
  .sec-banquet .sec02 .text{
    padding: 0 20px;
  }
    
  .sec-banquet .sec02 .image-4 .text{
    position: absolute;
    width: 45vw;
  }
  
  .sec-banquet .sec02 .image-4:after {
    content: "";
    display: block;
    padding-top: 20%;
  }  
  
  .sec-banquet .sec02 .img-box .text {
    padding: 0;
  }
}

@media screen and (max-width: 768px) {
  .sec-banquet .sec01 .text,
  .sec-banquet .sec02 .image-contents .text{
    width: 100%;
  }
  
  [data-page="banquet"] .image-contents .img-box:first-of-type ~ .text{
    padding-left: 30px;
  }
  
  .sec-banquet .sec02 .image-4{
    width: 60%;
    margin: 0 ;
  }
  
   .sec-banquet .sec02 .image-4 .text{
    position: relative;
  }
  
  .sec-banquet .sec02 .image-4:after {
    content: "";
    display: block;
    padding-top: 0;
  }
  
  .sec-banquet .sec02 .image-5{
    margin: 0 40px 0 0;
  }
  
  .sec-banquet .sec02 .image-4 .text{
    width: 100vw;
  }
  
  .sec-banquet .sec02 .img-box .text {
    padding: 0 20px;
  }
  
   .sec-banquet .sec02 .image-6,
   .sec-banquet .sec02 .image-7{
    width: 45%;
    margin: 0;
  }

  .sec-banquet .btn-area .text {
    padding: 0;
  }
}

/* index.bundle.css 202310追加 */
.access .section .btn__link.btn-a{
  width: auto;
  height: auto;
  border-radius: 25px;
  border: 1px solid #aaa;
  background: #ddd;
  color: #555;
  text-align: center;
  font-size: 11px;
  padding: 4px;
  line-height:1.6;
  margin-top: 15px;
}

.access .section .btn__link.btn-b{
  width: auto;
  border: 1px solid #aaa;
  background: #fff;
  color: #555;
  margin-top: 15px;
}

@media (min-width: 769px) {
  .access .section .btn__link.btn-a,
  .access .section .btn__link.btn-b{
    border-radius: 50px;
    width: 300px;
    font-size: 14px;
    line-height: 1.4;
    margin-top: 15px;
  }
}

/* - FOOT
----------------------------------------------*/
.sec-foot{
  margin-bottom: 100px;
}

