@charset "utf-8";

/* --------------------------------------------


採用情報


---------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Ibarra+Real+Nova:ital,wght@0,400..700;1,400..700&family=Newsreader:ital,opsz,wght@0,6..72,200..800;1,6..72,200..800&display=swap');


.ff-en {
 font-family: "Newsreader", serif;
 font-optical-sizing: auto;
 font-weight: <weight>;
 font-style: normal;
 letter-spacing: 0em;
}


.ff-en2 {
 font-family: "Ibarra Real Nova", serif;
 font-optical-sizing: auto;
 font-weight: <weight>;
 font-style: normal;
}

#header,
.gNavWrap,
#closeBtnWrap,
#openBtn,
#reserveBtn,
#footer {
 display: none !important;
}

body {
 color: #000;
 background-color: #fff !important;
}

#wrap {
 background-color: #f3f7fb !important;
 margin: auto;
}

#main>*,
.ttl-wed {
 border-bottom: 1px solid #a3bcce;
}

.ttl-wed {
 padding: 160px 0 96px;
 text-align: center;
 font-size: 1.4rem;
 line-height: 2;
}

.ttl-wed span {
 font-size: 3.8rem;
 color: #405a82;
}

@media only screen and (max-width:640px) {
 .ttl-wed {
  padding: 128px 0 48px;
  text-align: center;
  line-height: 1.6;
 }

 .ttl-wed span {
  font-size: 3.2rem;
 }


}




/* --------------------------------------------

セクション間の画像

---------------------------------------------- */
.sectionPhoto {}

.sectionPhoto figure {
 height: 40vw;
 min-height: 600px;
 overflow: hidden;
}

.sectionPhoto figure img {
 height: 100%;
 object-fit: cover;
 object-position: center;
}

.sectionPhoto-2 figure img {
 object-position: right;
}

@media only screen and (max-width:640px) {
 .sectionPhoto figure {
  min-height: 400px;
 }

}



/* --------------------------------------------

ヘッダー

---------------------------------------------- */
#header-wedding {
 position: relative;
}

.mainV_image {}

.mainV_image figure {
 height: 52vw;
}

.mainV_image figure img {
 height: 100%;
 object-fit: cover;
 object-position: top center;
}

.mainV_text {
 position: absolute;
 top: 30.9%;
 left: 9.2%;
 width: 22.5%;
 min-width: 320px;
}

.mainV_text p {}

.mainV_text p em {
 display: inline-block;
 margin: 48px 0 24px;
 font-size: 1.8rem;
 letter-spacing: 0.12em;
 line-height: 1.6;
}

.mainV_text p span {
 display: inline-block;
 font-size: 1.0rem;
 line-height: 1.6;
 color: #405a82;
}

@media only screen and (max-width:640px) {
 #header-wedding {
  height: 140vw;
 }

 .mainV_image figure {
  height: 140vw;
 }

 .mainV_text {
  top: 10%;
  width: 20%;
  min-width: 380px;
 }

 .mainV_text p em {
  font-size: 1.6rem;
 }
}




/* --------------------------------------------

ページ内リンク

---------------------------------------------- */
.contentsNav {
 position: relative;
}

.contentsNav ul {
 flex-wrap: inherit;
 border: 1px solid #a3bcce;
 border-width: 1px 0;
}

.contentsNav li {
 width: 100%;
}

.contentsNav li {
 border-left: 1px solid #a3bcce;
}

.contentsNav li:nth-of-type(1) {
 border-left: none;
}

.contentsNav a {
 display: block;
 white-space: nowrap;
 padding: 20px 24px;
 text-align: center;
 font-size: 1.4rem;
 line-height: 1.2;
 background-color: #fff;
}

.contentsNav a:not([href*="#"])::after {
 content: "";
 display: inline-block;
 width: 12px;
 height: 12px;
 margin: -4px 0 0 4px;
 vertical-align: middle;
 background-image: url(../_image/wedding/icon-blank.svg);
}

.contentsNav a[href*="contact"] {
 background-color: #f2f1d1;
}

.contentsNav .ff-en {
 font-size: 1.1rem;
 opacity: 0.5;
}


@media only screen and (max-width:640px) {
 .contentsNav ul {
  flex-wrap: wrap;
 }

 .contentsNav li {
  width: calc(100% / 3);
  border-bottom: 1px solid #a3bcce;
 }

 .contentsNav li:nth-of-type(1),
 .contentsNav li:nth-of-type(4),
 .contentsNav li:nth-of-type(7) {
  border-left: none;
 }

 .contentsNav li:nth-of-type(7),
 .contentsNav li:nth-of-type(8) {
  width: calc(100% / 2);
  border-bottom: none;
 }
}






/* --------------------------------------------

コンセプト

---------------------------------------------- */
#concept {
 position: relative;
 padding-bottom: 160px;
}

#concept::before {
 position: absolute;
 bottom: 0;
 content: "";
 display: block;
 width: 100%;
 height: 48%;
 background-color: #fff;
}

.conceptWrap {
 position: relative;
 width: 90%;
 max-width: 1180px;
 margin: 128px auto 64px;
 z-index: 1;
}

.conceptWrap h2 {
 font-size: 3.8rem;
 line-height: 2;
 color: #405a82;
}

.conceptWrap p {
 margin: 48px 0 128px;
 font-size: 1.6rem;
 letter-spacing: 0.15em;
}

#concept figure {
 position: relative;
 width: 75%;
 height: 30vw;
 min-height: 500px;
 margin: 0 0 0 auto;
 z-index: 1;
 overflow: hidden;
}

#concept figure img {
 object-fit: cover;
 object-position: top center;
 height: 100%;
}

@media only screen and (max-width:640px) {
 #concept::before {
  height: 20%;
 }

 #concept figure {
  width: 86%;
  min-height: 460px;
 }
}





/* --------------------------------------------

おすすめプラン

---------------------------------------------- */
#plan .ttl-wed {
 padding: 128px 0 96px;
 border-bottom: none;
}

.planWrap {
 position: relative;
 justify-content: center;
 align-items: center;
 width: 90%;
 max-width: 1180px;
 margin: 0 auto 128px;
 padding: 48px 32px 64px;
 background-color: #fff;
}

.planWrap::after {
 content: "";
 position: absolute;
 top: -32px;
 right: calc(50% - 270px);
 display: inline-block;
 width: 110px;
 height: 110px;
 margin: -4px 0 0 4px;
 vertical-align: middle;
 background-image: url(../_image/wedding/plan_pickupIcon.svg);
 background-repeat: no-repeat;
 background-position: center;
}

.planWrap h3 {
 width: 100%;
 margin-bottom: 32px;
 font-size: 2rem;
 letter-spacing: 0.15em;
 line-height: 2;
 text-align: center;
}

.planWrap h3::after {
 content: "";
 display: block;
 width: 10em;
 margin: auto;
 border-bottom: 1px solid #405a82;
}

.plan_image {
 width: 41%;
}

.plan_text {
 padding: 24px 48px 24px 80px;
}

.plan_text h4 {
 margin-bottom: 24px;
 font-size: 1.8rem;
 line-height: 2;
}

.plan_text ul {
 padding-left: 24px;
 line-height: 2;
 border-left: 1px solid #405a82;
}

.planWrap p {
 width: 100%;
 margin: 24px 0 8px;
 text-align: center;
 font-size: 1.6rem;
}

.planWrap a[href*="contact"] {
 display: block;
 width: 30em;
 padding: 24px;
 margin: 12px auto;
 text-align: center;
 background-color: #f2f1d1;
 border: 1px solid #405a82;
}

.planWrap a[href*="contact"]::after {
 content: "";
 display: inline-block;
 width: 12px;
 height: 12px;
 margin: -4px 0 0 4px;
 vertical-align: middle;
 background-image: url(../_image/wedding/icon-blank.svg);
}

@media only screen and (max-width:640px) {
 .planWrap {
  padding: 48px 48px 64px;
 }

 .plan_image {
  width: 100%;
 }

 .plan_text {
  padding: 24px 0px;
 }
}




/* --------------------------------------------

披露宴会場

---------------------------------------------- */
.facilityWrap {
 justify-content: center;
}

.facility_item {
 width: calc(100% / 3);
 max-width: 540px;
 padding: 64px 32px 64px;
}

.facility_item:not(:nth-of-type(1)) {
 border-left: 1px solid #a3bcce;
}

.facility_photo {
 overflow: hidden;
}

.facility_photoSlide {
 position: relative;
}

.facility_photoSlide .swiper-pagination {
 mix-blend-mode:normal;
}
.facility_photoSlide .swiper-slide {
 padding-bottom: 48px;
}

.facility_photoSlide .swiper-pagination-bullets {
 bottom: 8px;
}

.facility_photoSlide .swiper-pagination-bullet {
 border: 12px solid #f3f7fb;
 background: #d0d7e4;
}

.facility_photoSlide .swiper-pagination-bullet-active {
 background: #949ba7;
}

.facility_item h3 {
 font-size: 2.0rem;
 text-align: center;
}

.facility_item h3 span {
 display: block;
 width: 9.5em;
 margin: 12px auto;
 padding: 20px 0;
 text-align: center;
 font-size: 1.4rem;
 color: #405a82;
 border-top: 1px solid #405a82;
}

.facility_item p {
 margin: 0 auto 48px;
 padding: 0 0px;
 font-size: 1.5rem;
}

.facility_item ul {
 margin: 0px auto;
 padding: 0 0 0 20px;
 padding-left: 24px;
 line-height: 2;
 border-left: 1px solid #405a82;
}

.facility_item p,
.facility_item ul {
 width: calc(100% - 40px);
 max-width: 410px;
}


@media only screen and (max-width:640px) {
 .facility_item {
  width: calc(100% / 1);
  max-width: inherit;
  padding: 64px;
 }

 .facility_item:not(:nth-of-type(1)) {
  border-top: 1px solid #a3bcce;
  border-left: none;
 }

 .facility_photo {
  margin: 0 auto 32px;
 }

 .facility_item p {
  margin: 32px auto;
 }

 .facility_item p,
 .facility_item ul {
  width: calc(100% - 0px);
  max-width: inherit;
 }

}




/* --------------------------------------------

挙式スタイル

---------------------------------------------- */
.styleWrap {
 justify-content: center;
 align-items: stretch;
}

.style_item {
 display: flex;
 flex-direction: column;
 width: calc(100% / 2);
 max-width: 840px;
 padding: 32px;
}

.style_item:not(:nth-of-type(1)) {
 border-left: 1px solid #a3bcce;
}

.style_item div {
 height: 100%;
 padding: 32px 32px 48px;
 background-color: #fff;
}

.style_item:not(:nth-of-type(1)) div {
 background-color: #faf3ee;
}

.style_item figure {
 max-width: 620px;
 margin: auto;
}

.style_item h3 {
 margin: 32px 24px;
 font-size: 2.0rem;
 line-height: 2;
 text-align: center;
}

.style_item h3 .ff-en {
 text-align: center;
 font-size: 1.2rem;
 color: #405a82;
}

.style_item h3::after {
 content: "";
 display: block;
 width: 118px;
 height: 14px;
 margin: 24px auto 48px;
 background-image: url(../_image/wedding/style-deco.svg);
 background-position: center;
 background-repeat: no-repeat;
}

.style_item p {
 margin: 0 24px;
 text-align: center;
 font-size: 1.6rem;
}

.style_item dl {
 justify-content: center;
 width: 90%;
 max-width: 380px;
 margin: 24px auto 0;
}

.style_item dl dt {
 width: 65%;
}

.style_item dl dt figure {
 width: 48%;
}

.style_item dl dd {
 font-size: 1.4rem;
}




@media only screen and (max-width:640px) {
 .style_item {
  width: calc(100% / 1);
 }

 .style_item:not(:nth-of-type(1)) {
  border-left: none;
  border-top: 1px solid #a3bcce;
 }

 .style_item div {}

 .style_item p {
  margin: 0 4px;
 }

 .style_item dl {
  max-width: inherit;
 }

 .style_item dl>dt {
  width: 60%;
 }
}




/* --------------------------------------------

お料理

---------------------------------------------- */

.cuisineWrap {
 margin: 96px auto;
}

.cuisineWrap h3,
.cuisineWrap p {
 width: 90%;
 max-width: 1040px;
 margin: auto;
}

.cuisineWrap h3 {
 font-size: 2.2rem;
 line-height: 2;
}

.cuisineWrap>p {
 margin: 24px auto;
 font-size: 1.6rem;
}

.cuisine_inner {
 width: 94%;
 justify-content: center;
}

.cuisine_item {
 width: calc(100% / 3);
 max-width: 540px;
}

.cuisine_item>figure {
 position: relative;
 margin: 64px 24px 24px;
}

.cuisine_item>figure>img {}

.cuisine_item>h3 {
 text-align: center;
 font-size: 1.8rem;
}

.cuisine_item>figure::after {
 position: absolute;
 top: -4px;
 left: -4px;
 content: "";
 display: block;
 width: calc(100% + 8px);
 height: calc(100% + 8px);
 background-image: url(../_image/wedding/cuisine_frame.svg);
 background-position: center;
 background-repeat: no-repeat;
}


.cuisine_item>h3>.ff-en {
 font-size: 1.2rem;
 color: #405a82;
}

.cuisine_item>p {
 margin: 24px auto;
 text-align: center;
 font-size: 1.6rem;
}


@media only screen and (max-width:640px) {

 .cuisineWrap>p {
  font-size: 1.6rem;
 }

 .cuisine_item {
  width: calc(100% / 2);
  max-width: 540px;
 }

 .cuisine_item>p {
  font-size: 1.4rem;
 }
}




/* --------------------------------------------

サービス概要

---------------------------------------------- */
#info {
 border-bottom: none;
}

#info h2 {
 margin-bottom: 96px;
}

.info_item {
 width: 90%;
 max-width: 1180px;
 margin: 24px auto;
}

.info_item .ac-open {
 position: relative;
 border: 1px solid #a3bcce;
 background-color: #fff;
}

.info_item .ac-open h3 {
 font-size: 1.6rem;
 text-align: center;
 padding: 1.6em;
}

.info_item .ac-open h3::after {
 content: "+";
 display: inline-block;
 margin: -6px 0 0 24px;
 padding-left: 1px;
 width: 20px;
 height: 20px;
 text-align: center;
 vertical-align: middle;
 line-height: 17px;
 font-size: 2.0rem;
 color: #405a82;
 border: 1px solid #405a82;
}

.info_item .ac-open.active h3::after {
 content: "−";
}

.ac-article {
 display: none;
 padding: 0px 5% 32px;
}

.ac-article .tbl-a {
 width: 100%;
 margin: 32px auto 0;
}

.ac-article .tbl-a:not(:nth-of-type(1)) {}

.ac-article .tbl-a th,
.ac-article .tbl-a td {
 padding: 1.3em 1em;
}

.ac-article .tbl-a th {
 vertical-align: top;
 text-align: justify;
 background-color: #e6ebf4;
 width: 12em;
}

.ac-article .tbl-a td b {
 font-weight: 600;
}

.ac-article .tbl-a td a.linkBtn {
 margin: 0;
 text-decoration: none;
}


@media only screen and (max-width:640px) {
 .infoWrap {}

 .infoWrap h2 {
  margin-bottom: 2em;
  padding: 1em;
  font-size: 2.2rem;
 }

 .info_item .ac-open h3 {
  font-size: 1.8rem;
  padding: 1em;
 }

 .info_item .ac-open h3::after {
  font-size: 1.2rem;
 }

 .ac-article .tbl-a th {
  width: 6.5em;
 }


}



/* --------------------------------------------

ページトップ

---------------------------------------------- */
.pagetop {
 position: relative;
 margin: 128px auto 96px;
 text-align: center;
}

.pagetop a {
 width: 120px;
 height: 120px;
 line-height: 64px;
 position: relative;
}

.pagetop a::before {
 content: "";
 display: block;
 width: 16px;
 height: 16px;
 margin: auto;
 border: 1px solid #405a82;
 border-width: 1px 0 0 1px;
 transform: rotate(45deg);
}


@media only screen and (max-width:640px) {
 .pagetop {
  width: 140px;
  height: 140px;
 }

 .pagetop a {
  line-height: 140px;
 }
}


/* --------------------------------------------

フッター

---------------------------------------------- */
#footer-wedding {
 position: relative;
 margin: 192px 0 0;
 padding: 256px 0 220px;
 background-image: url(../_image/wedding/footerBg.jpg);
 background-repeat: no-repeat;
 background-position: center;
 background-size: cover;
}

.footer_btn {
 position: absolute;
 top: -100px;
 left: 7%;
 display: block;
 width: 86%;
 margin: 0px auto 64px;
 text-align: center;
}

.footer_contactBtn {
 padding: 48px 0 24px;
 font-size: 1.6rem;
 color: #5a5d63;
 background-color: #f2f1d1;
 border: 1px solid #405a82;
}

.footer_contactBtn .ff-en {
 font-size: 5rem;
 letter-spacing: 0.1em;
}

.footer_contactBtn .ff-en::after {
 content: "";
 display: block;
 width: 1.58em;
 height: 1px;
 margin: 0 auto -12px;
 background-color: #405a82;
}

.footer-wedding_info {}

.footer-wedding_info_sns {
 width: 180px;
}

.footer-wedding_info_sns a {
 width: 20%;
}

.footer-wedding_info figure {
 width: 320px;
 margin: 64px auto 20px;
}

.footer-wedding_info p {
 text-align: center;
 color: #fff;
}

.footer_copy {
 width: 100%;
 margin: 50px auto 0;
 text-align: center;
 color: #fff;
}


@media only screen and (max-width:640px) {
 #footer-wedding {
  padding: 160px 0 100px;
 }

 .footer_btn {}

 .footer_contactBtn {
  font-size: 1.3rem;
 }

 .footer_contactBtn .ff-en {
  font-size: 3.6rem;
 }

 .footer_contactBtn .ff-en::after {}

 .footer_info figure {}

 .footer-wedding_info_sns {
  width: 200px;
 }

 .footer_copy {
  font-size: 1.2rem;
 }
}


/* --------------------------------------------

スタイルスタイルスタイルスタイル

---------------------------------------------- */



@media only screen and (max-width:640px) {}