@charset "utf-8";

/* --------------------------------------------


トップページ


---------------------------------------------- */

body.toppage #header {
 position: absolute;
 width: 100%;
 height: inherit;
 background: none;
}

body.toppage .header_logo {
 /*opacity: 0;*/
}

body.toppage .header_nav {
 position: absolute;
 align-content: center;
 top: calc(60vw - 70px);
 width: 100%;
 height: 70px;
 background: #002437;
 background: linear-gradient(0deg, #092c45 0%, #002437 80%);
}

body.toppage .header_nav div {
 margin: auto;
}


body.toppage main {
 z-index: 1;
 background-color: #d1dde6;
 position: relative;
}



/* --------------------------------------------

mainV

---------------------------------------------- */
.mainV {
 position: relative;
 width: 100%;
 height: 60vw;
}

.mainV video {
 display: block;
 object-fit: cover;
 object-position: center;
 width: 100%;
 height: 100%;
}

.mainV img {
 position: absolute;
 top: calc(50% - 50px);
 left: calc(50% - 150px);
 width: 300px;
 z-index: 1;
}

.mainV_overlay,
#mainV_player {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}

#mainV_player {
 position: absolute;
 left: 50%;
 top: 50%;
 margin: calc(-50vw * 0.75) 0 0 calc(-80vw * 0.75);
 width: calc(160vw * 0.75);
 height: calc(90vw * 0.75);
 background-color: #d1dde6;
 overflow: hidden;
 z-index: inherit;
}

.mainV_overlay {
 z-index: 1;
 background: rgba(0, 0, 0, 0.2);
}

@media only screen and (max-width:640px) {
 .mainV {
 }

 #mainV_player {}
}




/* --------------------------------------------

お知らせ

---------------------------------------------- */
.index_50thanniversaryBanner {
 position: relative;
 width: 86%;
 max-width: 1080px;
 margin: 75px auto;
 background: rgb(184, 146, 80);
 background: linear-gradient(72deg, rgba(184, 146, 80, 1) 0%, rgba(140, 110, 70, 1) 80%);
}

.index_50thanniversaryBanner a {
 justify-content: center;
 align-items: center;
 flex-wrap: wrap;
 width: 100%;
 height: 10%;
 padding: 18px 4%;
}

.index_50thanniversaryBanner a::before {
 content: "";
 display: block;
 width: calc(100% + 6px);
 height: calc(100% + 6px);
 position: absolute;
 top: -3px;
 left: -3px;
 border: 1px solid rgba(255, 255, 255, 0.6);
}

.index_50thanniversaryBanner figure {
 width: 150px;
}

.index_50thanniversaryBanner h2 {
 width: 24em;
 padding-bottom: 20px;
 text-align: center;
 font-size: 2.2rem;
 color: #fff;
}

.reserveLinkWrap-stay {
 background: #0e2e47;
 background: linear-gradient(72deg, #0e2e47 0%, #1e3c53 80%);
}

@media only screen and (max-width:640px) {

 .index_50thanniversaryBanner figure {
  margin: 30px 0;
  width: 200px;
 }

 .index_50thanniversaryBanner h2 {
  width: 24em;
  padding-bottom: 20px;
  text-align: center;
  font-size: 2.0rem;
  color: #fff;
 }

 .reserveLinkWrap-stay {
  background: #0e2e47;
  background: linear-gradient(72deg, #0e2e47 0%, #1e3c53 80%);
 }
}




/* --------------------------------------------

イベント情報

---------------------------------------------- */
.index_event {}

.index_event h2 {
 margin: 90px auto 42px;
 text-align: center;
 font-size: 1.8rem;
}

.index_event h2 span {
 font-size: 3.4rem;
 color: var(--color-gold);
}

@media only screen and (max-width:640px) {}



/* 
スライダー
---------------------------------------------- */
.swiper-indexBanner {
 position: relative;
 margin: 0 auto 40px;
 padding: 0px 0 0px;
 overflow: hidden;
}

.swiper-indexBanner .swiper-slide {
 width: 380px !important;
 padding: 0 34px;
}

.swiper-indexBanner .swiper-slide figure {
 margin: auto;
 width: 320px;
 height: 320px;
 overflow: hidden;
}

.swiper-indexBanner .swiper-slide figure img {
 height: 100%;
 object-fit: cover;
 object-position: center;
}

.swiper-indexBanner .swiper-slide p {
 padding: 1.5em 0 20px;
 width: 100%;
 height: 6em;
 margin: auto;
 text-align: center;
 font-size: 1.6rem;
 line-height: 1.6;
 /*white-space: nowrap;
 text-overflow: ellipsis;
 overflow: hidden;*/
}

.swiper-indexBanner .swiper-button-arrow .swiper-button-prev,
.swiper-indexBanner .swiper-button-arrow .swiper-button-next {
 position: absolute;
 top: 170px;
 width: 90px;
 height: 90px;
 border-radius: 0;
 z-index: 99;
}

.swiper-indexBanner .swiper-button-arrow .swiper-button-prev {
 left: calc(50% - 260px);
}

.swiper-indexBanner .swiper-button-arrow .swiper-button-next {
 right: calc(50% - 260px);
}

.swiper-indexBanner .swiper-pagination-bullets {
 position: unset;
 top: unset;
 bottom: 0px;
 left: 0;
 right: 0;
}

.swiper-indexBanner .swiper-pagination-bullet {
 width: 8px;
 height: 8px;
 margin: 0 0px;
}




/*スライド1枚の時 */
.slideNone.swiper-indexBanner .swiper-wrapper {
 width: 600px !important;
 margin: auto;
}

.slideNone.swiper-indexBanner .swiper-pagination-bullets {
 display: none;
}


@media only screen and (max-width:640px) {

 /*スライド1枚の時 */
 .slideNone.swiper-indexBanner .swiper-wrapper {
  width: 70vw !important;
 }

 .swiper-indexBanner .swiper-slide {
  width: 70vw !important;
 }

 .swiper-indexBanner .swiper-slide figure {
  width: 60vw;
  height: 60vw;
 }

 .swiper-indexBanner .swiper-slide p {
  font-size: 1.4rem;
 }

 .swiper-indexBanner .swiper-button-arrow .swiper-button-prev {
  left: calc(50% - 290px);
 }

 .swiper-indexBanner .swiper-button-arrow .swiper-button-next {
  right: calc(50% - 290px);
 }
}





/* --------------------------------------------

お知らせ

---------------------------------------------- */
.index_news {
 width: 86%;
 max-width: 1100px;
 margin: 0px auto 15px;
 padding: 30px 50px 15px;
 border: 1px solid var(--color-blue2);
 border-width: 1px 2px;
}

.index_news h2 {
 font-size: 1.8rem;
}

.index_news h2 span {
 font-size: 3.4rem;
 color: var(--color-gold);
}

.index_news_list {
 margin: 10px 0
}

.index_news_list dt {
 float: left;
 width: 285px;
}

.index_news_list dt::before {
 content: "";
 display: inline-block;
 width: 1.2em;
 height: 1.2em;
 margin: 0 0.2em 0 0;
 vertical-align: middle;
 background-image: url(../_image/common/linkIcon-2.svg);
 background-repeat: no-repeat;
}

.index_news_list dt time {
 display: inline-block;
 width: 6em;
 font-size: 1.6rem;
}

.index_news_list dt span {
 display: inline-block;
 width: 12em;
 text-align: center;
 font-size: 1.3rem;
 font-weight: 700;
 line-height: 1.2;
 border: 1px solid var(--color-blue2);
}

.index_news_list dd {
 padding-left: 285px;
 margin: 0 0 15px;
}

.index_news_list dd a {
 display: block;
 transition: 0.3s;
}

.index_news_list dd a:hover {
 transform: translateX(5px);
 opacity: 0.6;
}

@media only screen and (max-width:640px) {
 .index_news {
  margin: 0px auto 30px;
  padding: 30px 30px 15px;
 }

 .index_news_list {
  width: 100%;
  margin: 30px 0;
  line-height: 40px;
 }

 .index_news_list dt {
  float: none;
  width: 100%;
  margin: 2px 0 0px;
 }

 .index_news_list dt time {
  font-size: 1.3rem;
 }

 .index_news_list dt span {
  font-size: 1.2rem;
 }

 .index_news_list dd {
  padding: 0px 0 10px;
 }

}




/* --------------------------------------------

スタイルスタイルスタイルスタイル

---------------------------------------------- */
.index_sns {
 justify-content: center;
 width: 86%;
 max-width: 1100px;
 margin: 40px auto 80px;
 border-bottom: 1px solid var(--color-blue2);
}

.index_sns p {
 margin: 0.5em 1em 1em 0;
 font-size: 1.6rem;
 line-height: 1.2;
}

.index_sns p span {
 font-size: 2.8rem;
}

.index_sns a {
 padding: 10px;
}

.index_sns a img {
 width: 1.8em;
 filter: brightness(10%) sepia(130%) saturate(140%) hue-rotate(160deg);
 opacity: 0.9;
}

@media only screen and (max-width:640px) {
 .index_sns {}

 .index_sns p {
  width: 100%;
  text-align: center;
  margin: 0.5em 0em 0;
  font-size: 1.4rem;
 }

 .index_sns p span {
  font-size: 2.8rem;
 }

 .index_sns a {
  padding: 20px;
  margin: 20px 0;
 }
}




/* --------------------------------------------

スタイルスタイルスタイルスタイル

---------------------------------------------- */
.index_linkWrap {
 position: relative;
}

.index_link_image {
 height: 100vh;
}

.index_link_image img {
 height: 100%;
 object-fit: cover;
 object-position: center;
}

.index_link_text {
 position: absolute;
 top: calc(50% - 200px);
 min-width: 370px;
 width: 36%;
 height: 400px;
 background-color: #fff;
}

.index_linkWrap:nth-of-type(even) .index_link_text {
 left: 6.5%;
}

.index_linkWrap:nth-of-type(odd) .index_link_text {
 right: 6.5%;
}

.index_link_text a {
 position: relative;
 display: flex;
 justify-content: center;
 align-content: center;
 flex-wrap: wrap;
 height: 100%;
}

.index_link_text a::before {
 content: "";
 display: block;
 width: calc(100% - 7px);
 height: calc(100% + 10px);
 position: absolute;
 top: -6px;
 border: 1px solid var(--color-blue);
}

.index_link_text h2 {
 width: 100%;
 text-align: center;
 font-size: 3rem;
 letter-spacing: 0.2em;
}

.index_linkWrap:nth-of-type(3) .index_link_text h2,
.index_linkWrap:nth-of-type(4) .index_link_text h2 {
 letter-spacing:0em;
}

.index_link_text h2 span {
 position: relative;
 display: inline-block;
 font-size: 3.4rem;
 letter-spacing: 0em;
 text-align: center;
 color: var(--color-gold);
}

.index_link_text h2 small {
 display: block;
 text-align: center;
 font-size: 0.4em;
 letter-spacing: 0.05em;
 line-height: 2;
 opacity: 0.5;
}

.index_link_text h2 span::before {
 content: "";
 display: block;
 position: absolute;
 bottom: 0.55em;
 left: calc(50% - 2.25em);
 width: 4.5em;
 border-top: 1px solid var(--color-gold);
}

.index_link_text p {
 width: 100%;
 padding: 2em 0 1em;
 text-align: center;
 white-space: nowrap;
 font-size: 1.6rem;
}

.index_link_text .linkBtn-text {
 margin: auto;
}

@media only screen and (max-width:640px) {
 .index_link_image {
  height: 110vw;
 }

 .index_link_text {
  top: calc(50% - 170px);
  min-width: 360px;
  height: 340px;
 }

 .index_link_text a {
  padding-top: 0.5em;
 }

 .index_linkWrap:nth-of-type(even) .index_link_text {
  left: calc(50% - 180px);
 }

 .index_linkWrap:nth-of-type(odd) .index_link_text {
  right: calc(50% - 180px);
 }

 .index_link_text h2 {
  font-size: 2.6rem;
  line-height: 1.0;
 }

 .index_link_text h2 span {
  font-size: 3.0rem;
  line-height: 1.4;
 }

 .index_link_text p {
  width: 100%;
  padding: 1.2em 0 0.5em;
  font-size: 1.2rem;
  line-height: 1.4;
 }

}




/* --------------------------------------------

スタイルスタイルスタイルスタイル

---------------------------------------------- */
.index_access {
 width: 86%;
 max-width: 1100px;
 margin: 125px auto;
 text-align: center;
}

.index_access p {
 padding-bottom: 70px;
 text-align: center;
 border-bottom: 1px solid var(--color-blue2);
}

.index_access p img {
 width: 80%;
 max-width: 300px;
}

.index_access p em {
 display: inline-block;
 margin: 20px 0 50px;
 font-size: 1.2em;
}

.index_access dl {
 justify-content: center;
 align-items: center;
 margin: 30px 0;
}

.index_access dt {
 width: 5em;
 text-align: center;
 font-size: 1.6rem;
}

.index_access dt::before {
 content: "|";
 margin-right: 1em;
}

.index_access dd {
 margin: 0 5em 0 3em
}

.index_access .gMap {
 width: 100%;
 height: 350px;
 margin: 0 0 30px;
 overflow: hidden;
}

.index_access iframe {
 width: 100%;
 height: 100%;
}


@media only screen and (max-width:640px) {
 .index_access dt {
  width: 100%;
  text-align: justify;
  padding: 1em 0 0.5em;
 }

 .index_access dt::before {}

 .index_access dd {
  width: 100%;
  margin: 0 0 1em;
 }

 .index_access iframe {
  width: 75%;
  height: 75%;
  transform: scale(1.33);
  transform-origin: top left;
 }
}



/* --------------------------------------------

スタイルスタイルスタイルスタイル

---------------------------------------------- */



@media only screen and (max-width:640px) {}



/* --------------------------------------------

スタイルスタイルスタイルスタイル

---------------------------------------------- */



@media only screen and (max-width:640px) {}



/* --------------------------------------------

スタイルスタイルスタイルスタイル

---------------------------------------------- */



@media only screen and (max-width:640px) {}



/* --------------------------------------------

スタイルスタイルスタイルスタイル

---------------------------------------------- */



@media only screen and (max-width:640px) {}



/* --------------------------------------------

スタイルスタイルスタイルスタイル

---------------------------------------------- */



@media only screen and (max-width:640px) {}



/* --------------------------------------------

スタイルスタイルスタイルスタイル

---------------------------------------------- */



@media only screen and (max-width:640px) {}




/* --------------------------------------------

送信ボタン

---------------------------------------------- */
.form__button {
 margin: 20px auto;
 font-size: 1.6rem;
 background: #000;
 cursor: pointer;
 transition: 0.5s;
}

.form__button input[type="submit"] {
 display: block;
 width: 100%;
 line-height: 3;
 text-align: center;
 color: #fff;
 cursor: pointer;
}

.form__button:hover {
 background: #626262;
}

.form__button:hover input[type="submit"] {}


@media only screen and (max-width:640px) {}


/*
戻るボタン
---------------------------------------------- */
.form__button-back {
 width: 10em;
 margin: 2em auto 0;
 text-align: center;
 border: none;
 background: none;
}

.form__button-back::before {
 content: "";
 display: inline-block;
 width: 5px;
 height: 5px;
 margin: -0.3em 0.6em 0 0;
 vertical-align: middle;
 border: 1px solid #000;
 border-width: 1px 1px 0px 0px;
 transition: 0.3s;
 transform: rotate(45deg);
}

.form__button-back:hover::before {
 transform: translateX(4px) rotate(45deg);
}

.form__button-back input[type="button"] {
 font-size: 13px;
 font-size: 1.3rem;
 border: none;
 background: none;
 cursor: pointer;
}



/* --------------------------------------------



---------------------------------------------- */
/*.form__wrap-conf .form__list dt,
.form__wrap-conf .form__list dd {
 padding: 0.5em;
}

.form__wrap-conf .form__list dt::before {
 display: none;
}

.form__wrap-conf .form__list dd {
 padding: 0.8em 0.5em;
 border: 1px solid #c8c8c8;
 background: rgba(200, 200, 200, 0.2);
}

.form__wrap-conf .form__list dd:empty {
 border: none;
 background: none;
}


.form__attention {
 width: 95%;
 max-width: 600px;
 margin: 0 auto 3em;
 color: #db4421;
}

.form__attention > p {
 margin-bottom: 0.5em;
}

.form__attention > ul li {
 padding-left: 0.5em;
 text-indent: -0.5em;
}
*/




@media only screen and (max-width:640px) {}
