@charset "utf-8";

/*--cover--*/

.topCoverSliderItemBox .carousel {
    position: relative;
    width: 100%;
    padding-top: 100%;
}

.topCoverSliderItemBox .carousel .carousel-item {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    aspect-ratio: 960 / 960;
}

.topCoverSliderItemBox .carousel:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    z-index: 1;
    background: #ffffff;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(65, 59, 49, 1) 100%);
    mix-blend-mode: multiply;
}

.topCoverSliderItemBox .carousel .carousel-item>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 960 / 960;
}

.topFvTit {
    font-size: 20px;
    letter-spacing: -0.025em;
    line-height: 1.95em;
}

.topFvTit strong {
    font-size: 40px;
    font-weight: 400;
    line-height: 0.74em;
}

.topFvTit02 {
    padding-bottom: 21px;
}

.topFvBtnBox {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
    margin-top: 25px;
}

.topFvBtnBox .comBtn01 {
    margin: 0 auto;
}


/*-----*/

.topAboutTateSetBox {
    font-family: "Hina Mincho", serif;
    font-weight: 400;
    margin: 0;
    height: auto;
}


.topAboutTate {
    font-size: 40px;
    letter-spacing: 0.05em;
}

.topAboutTate strong {
    font-size: 80px;
    font-weight: 400;
    text-shadow: 8px 8px 0 #EFEFEF;
    color: #A7191F;
    letter-spacing: 0.1em;
    line-height: 0.7em;
}

.topAboutTate01 {
    margin: 0 0 0;
    line-height: 1.44em;
}

.topAboutTate02 {
    margin: 0 0 0 90px;
    line-height: 1.44em;
}

.topAboutWr {
    display: block;
}

/*---逸品--*/

.topGemTextBr>br {
    display: block;
}

.topGemDeco01,.topGemDeco02 {
    z-index: 2;
}

.topGemDeco03 {
    z-index: 1;
}

.topGemDeco01 {
    max-width: 615px !important;
    width: 25.03% !important;
}

.topGemDeco02 {
    max-width: 673px !important;
    width: 23.05% !important;
}

/*---宴会---*/

.topBanquetTitSet {
    max-width: 160px;
    width: 100%;
}

.topBanquetTit02 {
    text-align: right;
    font-size: 70px;
    line-height: 1.44em;
    margin-top: -35px;
}

.topBanquetTit01 {
    font-size: 100px;
    color: #A7191F;
    text-shadow: 8px 8px 0 #EFEFEF;
    line-height: 1.44em;
}

.topBanquetBannerLink:before {
    transition: all .5s;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    background-color: #413B31;
    opacity: 0;
    mix-blend-mode: multiply;
    z-index: 9;
}

.topBanquetBannerLink:hover:before {
    opacity: 0.8;
}

.topBanquetWr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 3;
    flex-direction: column-reverse;
}

.topBanquetBannerBox {
    margin: 30px auto 0;
    width: 100%;
}

.topBanquetBannerTit br {
    display: block;
}


/*-----*/

.topLinkBannerItemBox:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    background-color: #413B31;
    opacity: 0.9;
    mix-blend-mode: multiply;
    z-index: 2;
}

.topLinkBannerItemBg {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    z-index: 1;
    transition: all .5s;
}

.topLinkBannerItemBox {
    overflow: hidden;
}

.topLinkBannerItemBox:hover .topLinkBannerItemBg {
    transition: all .5s;
    transform: scale(1.2);
}

/*---お知らせ---*/

.topNewsTateTit {
    margin: 0 0 30px 0;
    text-align: center;
}

.topNewsFlexBox {
    width: 100%;
    display: block;
}

.topLinkBannerItemBox .comBtn01 {
    pointer-events: none;
}


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:375px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 375px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:414px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

  



/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 414px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:544px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
  
.topFvTit {
    font-size: 30px;
}

.topFvTit strong {
    font-size: 50px;
}
  
.topBanquetBannerTit br {
    display: none;
}
  
.topGemTextBr>br {
    display: none;
}
  
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 544px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:768px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.topFvTit {
    font-size: 20px;
}

.topFvTit strong {
    font-size: 40px;
}

.topFvBtnBox {
    gap: 15px;
    margin-top: 25px;
}

.topFvTit02 {
    padding-bottom: 21px;
}

.topNewsTateTit {
    writing-mode: vertical-rl;
    margin: 0 5.42% 0 0;
    letter-spacing: 0.15em;
    text-align: left;
}

.topNewsFlexBox {
    display: flex;
    justify-content: space-between;
}

.topBanquetTitSet {
    max-width: 200px;
}

.topBanquetTit02 {
    font-size: 90px;
    margin-top: -50px;
}

.topBanquetTit01 {
    font-size: 130px;
    text-shadow: 10px 10px 0 #EFEFEF;
}

.topBanquetWr {
    display: flex;
    align-items: flex-start;
    flex-direction: row;
}

.topBanquetBannerBox {
    margin: 30px 6.54% 0 0;
    width: auto;
}

.topAboutTate {
    font-size: 50px;
}

.topAboutTate strong {
    font-size: 120px;
    text-shadow: 10px 10px 0 #EFEFEF;
    line-height: 0.7em;
    margin-bottom: -15px;
}

.topAboutTate01 {
    margin: 0 0 0 -15px;
    line-height: 2.4em;
}

.topAboutTate02 {
    margin: 160px 0 0 0;
    white-space: nowrap;
}

.topAboutTateSetBox {
    writing-mode: vertical-rl;
    margin: 60px 40px 0 0;
    height: 475px;
}

.topAboutWr {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
    
  
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 768px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:992px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
  


/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 992px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1024px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.topFvBtnBox {
    gap: 20px;
    margin-top: 30px;
}
    
.topFvTit {
    font-size: 30px;
}

.topFvTit strong {
    font-size: 60px;
}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1024px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1200px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.topFvBtnBox {
    gap: 25px;
    margin-top: 50px;
}

.topFvTit {
    font-size: 40px;
}

.topFvTit strong {
    font-size: 70px;
}

.topBanquetTitSet {
    max-width: 320px;
}

.topBanquetTit02 {
    font-size: 150px;
    margin-top: -90px;
}

.topBanquetTit01 {
    font-size: 220px;
    text-shadow: 15px 15px 0 #EFEFEF;
}

.topGemDeco01 {
    width: 32.03% !important;
}

.topGemDeco02 {
    width: 35.05% !important;
}

.topAboutTateSetBox {
    writing-mode: vertical-rl;
    font-family: "Hina Mincho", serif;
    font-weight: 400;
    margin: 60px 40px 0 0;
    height: 800px;
}


.topAboutTate {
    font-size: 100px;
    letter-spacing: 0.05em;
}

.topAboutTate strong {
    font-size: 240px;
    text-shadow: 15px 15px 0 #EFEFEF;
    letter-spacing: 0.1em;
    line-height: 0.7em;
}

.topAboutTate01 {
    margin: 0 0 0 -20px;
    line-height: 2.4em;
}

.topAboutTate02 {
    margin: 310px 0 0 0;
    line-height: 1em;
}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1200px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */