@charset "utf-8";

}

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

html {
  font-size: 14px;
}

body,
html {
  font-size: 16px;
  color: #333;
  line-height: 1.7;
  font-family:"游明朝","Yu Mincho", "YuMincho","Sawarabi Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
  word-wrap: break-word;
  overflow-wrap: break-word;
  /*background: #fff;*/
  /*max-width: 1920px;*/
  width: 100%;
  margin: 0 auto;
  overflow-x: hidden;
}

body.scroll-stop,
html.scroll-stop  {
  overflow: hidden;
}

ul,
ol {
  list-style: none;
}

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

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

/* -----.mainVisual */

.mainMovie {
  line-height: 0;
  width: 100vw;
  height: auto;
  /*background: url(/images/home/main.jpg) center/cover no-repeat;*/
  position: relative;
  overflow: hidden;
}

/*.mainMovie.aladdin {
  line-height: 0;
  width: 100vw;
  /*height: auto;
  background: url(/images/home/sp_aladdin_ENC.jpg) center/cover no-repeat;
  position: relative;
  overflow: hidden;
}*/

/*.mainMovie.d4th {
  line-height: 0;
  width: 100vw;
  /*height: auto;
  background: url(/images/home/4th_sp_ENC.jpg) center/cover no-repeat;
  position: relative;
  overflow: hidden;
}*/

.mainMovie h1 {
  font-size: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.mainMovie h1 img {
  width: 400px;
}

.mainMovie video {
  width: 100%;
}

.mainMovie .soundBtn {
  position: absolute;
  top: 80px;
  right: 2%;
  cursor: pointer;
}

.mainMovie .soundBtn img {
  width: 50px;
}

.movieSp {
  color: #fff;
  text-align: center;
  width: 100%;
  /* height: 50vw; */
  background: url(/images/home/movie-sp.jpg) center 25%/100% auto no-repeat;
  position: relative;
  z-index: 0;
}

.movieSp::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  z-index: -1;
}

.playBtn {
  padding: 10vw 0 8vw;
}

.playBtn p {
  font-size: 2rem;
  margin-bottom: 5vw;
}

.playBtn img {
  width: 20vw;
}

#movieSp video {
  width: 95vw;
  margin: 0 auto;
}

.mainVisual {
  width: 100vw;
  height: 800px;
  position: relative;
}

#notFound .mainVisual {
 height: 30vw;
}

.mainVisual h1 {
  color: #fff;
  font-size: 5rem;
  line-height: 1;
  text-align: center;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.35);
  width: 100%;
  position: absolute;
  top: 50%;
}

/*トップページバナー*/
.pcban_spkakusu a {
    /*display: block;*/
    margin: 0 auto 20px;
            }

#ceremony .mainVisual {
  background: url(/images/ceremony/main.jpg) center/cover no-repeat;
}

#banquet .mainVisual {
  background: url(/images/banquet/main.jpg) center/cover no-repeat;
}

#cuisine .mainVisual {
  background: url(/images/cuisine/main.jpg) center/cover no-repeat;
}


#cosGallery .mainVisual {
  background: url(/images/costume/gallery/main.jpg) center/cover no-repeat;
}

#guest .mainVisual {
  background: url(/images/guest/main.jpg) center top/cover no-repeat;
}



#topics .mainVisual {
  background: url(/images/topics/main.jpg) center/cover no-repeat;
}


#thanks .mainVisual {
  background: url(/images/thanks/main.jpg) center/cover no-repeat;
}

#party .mainVisual {
  background: url(/images/party/main.jpg) center/cover no-repeat;
}



#notFound .mainVisual {
  background: url(/images/404/main.jpg) center/cover no-repeat;
}

#planMain {
  background: url(/images/home/plan.jpg) center/cover no-repeat;
}

#reportMain {
  background: url(/images/home/report.jpg) center/cover no-repeat;
}

#fairMain {
  background: url(/images/fair/main.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  

}

#blogMain {
  background: url(/images/blog/main.jpg) center/cover no-repeat;
}

@media screen and (min-width: 768px) {
  .movieSp {
    display: none;
  }
    
    .slider{
        display: none;
    }
}

@media screen and (max-width: 767px) {
  .mainMovie h1 img {
    max-width: 90vw;
  }
  .mainMovie video {
    width: auto;
    height: 100%;
    margin-left: -37%
  }
  .moviePc {
    display: none;
  }
  .mainMovie,
  .mainVisual {
    height: 110vw;
  }
  .mainMovie {
    height: 160vw;
  }
  #notFound .mainVisual {
    height: 50vw;
  }
  .mainMovie h1 {
    transform: translate(-50%, 0);
  }
  .mainVisual h1 {
    top: 50%;
  }
  #ceremony .mainVisual {
    background: url(/images/ceremony/main.jpg) 60% 50%/auto 110% no-repeat;
  }
  #banquet .mainVisual {
    background: url(/images/banquet/main.jpg) 45% 95%/auto 115% no-repeat;
  }
  #costume .mainVisual {
    background: url(/images/costume/main.jpg) 100% 50%/cover no-repeat;
  }
  #cosGallery .mainVisual {
    background: url(/images/costume/gallery/main.jpg) 100% 50%/cover no-repeat;
  }
  #access .mainVisual {
    background: url(/images/access/main.jpg) 50% 84%/auto 126% no-repeat;
  }
  #topics .mainVisual {
    background: url(/images/topics/main.jpg) 63% 50%/auto 100% no-repeat;
  }
  /*#reserve .mainVisual {
    background: url(/images/reserve/main.jpg) 20% 50%/cover no-repeat;
  }*/
  /*#inquiry .mainVisual {
    background: url(/images/inquiry/main.jpg) 34% 83%/auto 154% no-repeat;
  }*/
  #privacy .mainVisual {
    background: url(/images/privacy/main.jpg) 50% 13%/auto 115% no-repeat;
  }
}

@media screen and (max-width: 414px) {
  .mainMovie .soundBtn img {
    width: 10vw;
  }
  #notFound .mainVisual {
    height: 100vw;
  }
}

/* -----end .mainVisual */

/* -----共通項目 */

.upperText {
  font-family:"游明朝","Yu Mincho", "YuMincho","Sawarabi Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
  text-transform: uppercase;
}

.jumpUp {
  font-size: 1.2em;
}

.sectionContainer {
  /* 最大表示幅を設定したいセクション用 */
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}

.introduction {
  text-align: center;
  background: #fff;
  padding: 80px 0;
}

.introduction p {
  font-size: 1.0rem;
  padding: 0 1vw;
}

.normalSection {
  margin-top: 30px;
  margin-bottom: 30px;
}

.normalSection .sectionTitle {
  width: 98%;
  margin: 0 auto;
}

.normalSection .viewMore {
  width: 98%;
  margin: 0 auto;
}

#guest .normalSection,
#access .normalSection,
#topics .normalSection {
  text-align: center;
}

#guest .normalSection .sectionTitle,
#access .normalSection .sectionTitle,
#topics .normalSection .sectionTitle {
  padding: 0;
}

.halfSection .sectionContainer {
  display: flex;
}

.halfSection.reverse .sectionContainer {
  flex-flow: row-reverse;
}

.halfSection .textBox,
.halfSection .imgBox {
  width: 50%;
}

.halfSection .imgBox {
  max-height: 450px;
  height: 45vw;
}

.bigSection {
  width: 100%;
  height: 45vw;
  position: relative;
  margin-bottom: 100px;
}

.bigSection .textBox {
  width: 70%;
  height: 40vw;
  position: absolute;
}

.bigSection.normal .textBox {
  bottom: 0;
  right: 0;
  padding-left: calc(30vw + 70px);
}

.bigSection.reverse .textBox {
  bottom: 0;
  left: 0;
}

.bigSection.normal .textBox p {
  width: 85%;
}

.bigSection.reverse .textBox p {
  width: 45%;
}

.bigSection .imgBox {
  width: 60%;
  height: 40vw;
  position: absolute;
}

.bigSection.normal .imgBox {
  top: 0;
  left: 0;
}

.bigSection.reverse .imgBox {
  top: 0;
  right: 0;
}

.textBox {
  padding-top: 10%;
  padding-left: 9%;
  padding-bottom: 45px;
}

.textBox .sectionTitle {
  padding-left: 0;
}

.sectionTitle {
  color: #72b0d7;
  font-size: 2.8rem;
  line-height: 0.7;
  padding-top: 5px;
  margin-top: 20px;
}

.middleSection .sectionTitle {
  letter-spacing: -1px;
  width: 100%;
}

.sectionTitle .japText {
  color: rgba(0, 0, 0, 0.6);
  font-size: 1.2rem;
}

.sectionText {
  font-size: 1.2rem;
  margin: 30px auto 30px 0;
}

.middleSection .viewMore {
  width: 100%;
}

.viewMore a {
  color: #72b0d7;
  font-size: 1.4rem;
  text-align: center;
  width: 210px;
  border: 2px solid #72b0d7;
  display: block;
  margin-left: auto;
  margin-right: 0;
  position: relative;
  z-index: 0;
}

.halfSection .viewMore a,
.middleSection .viewMore a {
  margin: 0;
  z-index: 0;
}
.one_item .viewMore a{
  margin-left: auto;
  margin-right: 0;
}

.imageContainer {
  max-width: 1000px;
  width: 95%;
  margin: 0 auto 100px;
  display: grid;
  display: -ms-grid;
}

.gridImage {
  margin: 5px;
  position: relative;
  overflow: hidden;
}

.gridImage img {
  max-width: none;
  width: 105%;
  position: absolute;
}
/*-------- topoics --------*/
.last_topics{
    display: flex;
    justify-content: space-evenly;
}
.one_item{
    max-width: 300px;
}
.pickupfair2 .objFade2{
    margin-top: 50px;
}
/* -----end 共通項目 */

/* -----フッター上 コンタクト */

.footerContact {
  font-weight: normal;
  background: url(/images/common/contact.jpg) center/cover no-repeat;
  padding: 50px 0;
}

.contactBox {
  text-align: center;
  max-width: 700px;
  width: 90%;
  background: rgba(255, 255, 255, 0.75);
  margin: auto;
  padding: 50px 0;
}

.contactBox h3 {
  font-size: 2rem;
  margin-bottom: 20px;
}

.contactBoxLink img.pc {
  max-width: 550px;
  width: 90%;
  margin: 0 auto;
}

.contactBoxLink img.sp {
  width: 85%;
  margin: 0 auto;
}

.contactBoxLink ul {
  max-width: 600px;
  width: 95%;
  display: flex;
  flex-flow: wrap;
  justify-content: space-around;
  margin: 25px auto 45px;
}

.contactBoxLink li {
  max-width: 250px;
  width: 45%;
  border: 1px solid #888;
}

.contactBoxLink li a {
  display: inline-block;
  width: 100%;
  height: 100%;
  padding: 10px 0;
  transition: 0.5s;
}

.contactBoxLink li a:hover {
  background: rgba(255, 255, 255, 0.8);
}

/* -----end フッター上 コンタクト */

/* -----要素 フェードイン */

.objFade1,
.objFade2 {
  opacity: 0;
  visibility: hidden;
  transition: 1s ease-out;
}

.objFade1 {
  transform: translateX(-30px);
}

.objFade2 {
  transform: translateX(30px);
}

.objFade1.move,
.objFade2.move {
  transform: translate(0, 0);
}

/* -----end 要素 フェードイン */

/* -----scstop 回転 */

#scStopIcon {
  width: 100px;
  height: 100px;
  position: fixed;
  top: 80px;
  left: 0;
  z-index: 13;
  transform: translateX(-100px) rotate(-90deg);
  transition: 0.3s;
  opacity: 0;
  visibility: hidden;
}

#scStopIcon.rolling {
  transform: none;
  transition-delay: 0.5s;
}

#scStopIcon img {
  width: 100%;
}

/* -----end scstop 回転 */

@media screen and (min-width: 768px) {
  br.tab {
    display: none;
  }
  .viewMore a {
    transition: 0.5s;
  }
  .viewMore a::before {
    content: '';
    display: block;
    width: 0;
    height: 100%;
    background: #72b0d7;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: 0.5s;
  }
  .viewMore a:hover {
    color: #fff;
    transition: 0.5s;
  }
  .viewMore a:hover::before {
    width: 100%;
    transition: 0.5s;
  }
}

@media screen and (min-width: 415px) {
  br.sp {
    display: none;
  }
  .contactBoxLink img.sp {
    display: none;
  }
}

@media screen and (max-width: 1024px) {
  .textBox {
    padding-top: 8%;
    padding-left: 7.5%;
  }
  .gridImage {
    margin: 0.7vw;
  }
}

@media screen and (max-width: 767px) {
  html {
    /* font-size: 3vw; */
    font-size: 16px;
  }
  .mainVisual h1 {
    font-size: 2rem;
  }
  .introduction p {
    font-size: 0.9rem;
  }
  .halfSection .sectionContainer,
  .halfSection.reverse .sectionContainer {
    flex-flow: column-reverse;
  }
  .halfSection .textBox,
  .halfSection .imgBox {
    width: 100%;
    padding: 2vw 0 7vw;
  }
  .halfSection .textBox {
    text-align: center;
    /*margin-bottom: 15vw;*/
  }
  .sectionText {
    font-size: 0.9rem;
    margin: 5vw auto 4vw;
  }
  .halfSection .imgBox {
    height: 65vw;
  }
  .sectionTitle {
    font-size: 2rem;
    text-align: center;
    padding-left: 0;
  }
  .sectionTitle .japText {
    font-size: 1rem;
  }
  .viewMore a {
    color: #fff;
    font-size: 1.2rem;
    width: 50vw;
    border: none;
    background: #72b0d7;
    margin: 0 auto;
  }
  .halfSection .viewMore a,
  .bigSection .viewMore a,
  .middleSection .viewMore a {
    margin: 0 auto;
  }
  .introduction {
    padding: 10vw 0;
  }
  .imageContainer {
    margin: 0 auto 5vw;
  }
}

@media screen and (max-width: 414px) {
  html {
    font-size: 4.5vw;
  }
  .sectionTitle {
    font-size: 1.5rem;
  }
  .sectionTitle .japText,
  .sectionText {
    font-size: 0.8rem;
  }
  .middleSection .inner {
    height: 90vw;
  }
  .viewMore a {
    font-size: 1rem;
  }
  .blog .feed {
    margin: 7vw auto;
  }
  .footerContact {
    padding: 10vw 0;
  }
  .contactBox {
    padding: 5% 0 10%;
  }
  .contactBox h3 {
    margin-bottom: 3vw;
  }
  .contactBoxLink ul {
    margin: 5vw auto;
  }
  .contactBoxLink li {
    width: 85%;
  }
  .contactBoxLink li:first-child {
    margin-bottom: 5vw;
  }
  .contactBoxLink img.pc {
    display: none;
  }
}

/* 年末年始ここから */
.newYearAttention * {
  font-size: 94%;
  color: #333;
  text-align: center;
  margin: 0;
}

.newYearAttention .inner {
  max-width: 800px;
  width: 95%;
  margin: 30px auto;
  padding: 20px 0;
  border: 1px solid #957F4C;
}

.newYearAttention h3 {
  font-size: 120%;
  color: #957F4C;
}

.newYearAttention p {
  margin-top: 15px;
  margin-bottom: 0!important;
  line-height: 1.7;
}

@media screen and (min-width: 768px) {
  .newYearAttention .tab {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .newYearAttention p {
    font-size: 80%;
  }
}
/* 年末年始ここまで */

/* attention */
.info-attention{
  font-size: 90%;
  color: #333;
  text-align: center;
  max-width: 800px;
  width: 95%;
  margin: 30px auto;
  padding: 30px 20px;
  border: 1px solid #957F4C;
}

.info-attention h3 {
  font-size: 120%;
  color: #957F4C;
}

.info-attention p {
  line-height: 1.8;
}
.info-btn{
  margin-top: 30px;
}
.info-btn a{
    min-width: 220px;
    padding: 0.6em 1.5em;
    border: 2px solid #002F59;
    background-color: #002F59;
    border-collapse: collapse;
    text-align: center;
    font-size: 14px;
    font-weight: 400;
    color: #FFF;
    margin: 0 15px;
    display: inline-block;
}
.info-btn a:first-child{
  margin-bottom: 15px;
}

@media screen and (min-width: 768px) {
  .info-attention .tab {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .info-attention {
    font-size: 80%;
  }
  .info-btn a{
    font-size: 12.5px;
  }
}

/* attentionここまで */

/* ベストレートここから */
.bestrate_bana{
    
    text-align: center;
    margin: 1.8em auto;
}
.spban_pckakusu{
    display: none;
}
@media(max-width: 768px){
    .bestrate_bana{
        text-align: center;
    }
    .spban_pckakusu{
        display: block;
        padding: 8px 5px 0;
    }
    .pcban_spkakusu{
        display: none;
    }
}