@charset "utf-8";


/* ----------------------------------------------------------------------
	about
---------------------------------------------------------------------- */

/* l-about-concept */
.l-about-concept__ttl {
    color: #ee9985;
    font-size: 2rem;
    font-weight: normal;
    text-align: center;
    padding-left: 0.2em;
    margin: 0 0 0.4em;
}

.l-about-concept__lead {
    color: #282828;
    font-size: 2rem;
    text-align: center;
    padding-left: 0.2em;
    margin: 0 0 3em;
}

@media screen and (max-width: 990px) {
    .l-about-concept__lead {
        line-height: 2em;
        margin: 0 0 2em;
    }
    
    .l-about-concept__lead span { display: block; }
}


/* l-about-concept__slide */
.l-about-concept__slide {
    position: relative;
    background: url("../img/bg_pink_wall_pc.gif") center center;
    width: 100%;
    height: calc(100vh - 100px);
}

.l-about-concept__slide-inner {
    position: relative;
    margin: 0 auto;
    max-width: 1040px;
    height: calc(100vh - 100px);
}

.l-about-concept__slide-catch {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.l-about-concept__slide-ph,
.l-about-concept__slide-move {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.l-about-concept__slide-ph img { border-radius: 100%; }

.l-about-concept__slide-txt {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: #282828;
    font-size: 1.8rem;
    line-height: 2.4;
    writing-mode: vertical-rl;
    font-feature-settings: "vpal";
    height: 370px;
}

.l-about-concept__slide--01 .l-about-concept__slide-txt { left: 50px; }
.l-about-concept__slide--02 .l-about-concept__slide-txt { left: 70px; }
.l-about-concept__slide--03 .l-about-concept__slide-txt { left: 30px; }

.l-about-concept__slide-move { text-align: center; }
.l-about-concept__slide-move-txt {
    color: #fff;
    font-size: 3.4rem;
    line-height: 1.4;
    text-align: center;
    letter-spacing: 0.2em;
    padding-left: 0.2em;
    margin: 0 0 0.6em;
}

.l-about-concept__slide-move-btn a {
    background: url("../img/icon_a_movie.png") center top no-repeat;
    background-size: 100px;
    color: #fff;
    font-size: 1.4rem;
    text-decoration: none;
    padding: 110px 20px 0 22px;
    display: inline-block;
}

.l-about-concept__slide-move-btn a:hover { opacity: 0.6; }

.l-about-concept__slide-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.l-about-concept__slide-bg-cover {
    position: relative;
    width: 100%;
    height: 100%;
}

.l-about-concept__slide-bg-cover::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0,0,0,0.2);
   /* background: rgba(238,153,133,0.4);*/
    width: 100%;
    height: 100%;
    display: block;
}

.l-about-concept__slide-bg video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    vertical-align: bottom;
}

@media screen and (max-width: 990px) {
    .l-about-concept__slide {
        padding: 0 8vw 70px;
        display: block;
        height: auto;
    }
    
    .l-about-concept__slide--01,
    .l-about-concept__slide--04 { padding-top: 80px; }

    .l-about-concept__slide--05 { display: none; }

    .l-about-concept__slide-inner { height: auto;  }

    .l-about-concept__slide-catch {
        position: absolute;
        top: -30px;
        right: 1vw;
        transform: translateY(0);
    }
    
    .l-about-concept__slide--02 .l-about-concept__slide-catch {
        left: 1vw;
        right: inherit;
    }
    
    .l-about-concept__slide-catch img { width: 8vw; }
        
    .l-about-concept__slide-ph,
    .l-about-concept__slide-move {
        position: static;
        transform: translate(0);
    }
    
    .l-about-concept__slide-ph {
        text-align: center;
        margin: 0 0 15px;
    }
    
    .l-about-concept__slide-ph img {
        margin: 0 auto;
        width: 54vw;
    }

    .l-about-concept__slide-txt {
        position: static;
        transform: translateY(0);
        font-size: 1.6rem;
        line-height: 1.6;
        writing-mode: horizontal-tb;
        font-feature-settings: inherit;
        height: auto;
    }

    .l-about-concept__slide--04 .l-about-concept__slide-catch {
        position: static;
        text-align: center;
        margin: 0 auto 20px;
    }
    
    .l-about-concept__slide--04 .l-about-concept__slide-catch img { width: 113px; }

    .l-about-concept__slide-move { text-align: center; }
    
    .l-about-concept__slide-move-txt { font-size: 1.6rem; }

    .l-about-concept__slide-move-btn a {
        background-size: 60px;
        font-size: 0.8rem;
        padding: 70px 20px 0 22px;
    }
}


/* l-about-concept__slide-controls */
.l-about-concept__slide-controls {
    position: absolute;
    left: 0;
    bottom: 35px;
    z-index: 2;
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 0 12px;
    align-items: center;
}

.l-about-concept__slide-controls ul {
    display: flex;
    gap: 0 12px;
}

.l-about-concept__slide-controls ul li {
    color: #ee9985;
    line-height: 26px;
    letter-spacing: normal;
    text-align: center;
    padding-left: 1px;
    width: 30px;
    height: 30px;
    border: 1px solid #ee9985;
    border-radius: 15px;
    cursor: pointer;
    transition: 0.7s;
}

.l-about-concept__slide-controls ul li:hover,
.l-about-concept__slide-controls ul li.is-current {
    background: #ee9985;
    color: #fff;
}

.l-about-concept__slide-controls p a {
    color: #ee9985;
    text-decoration: none;
}

.l-about-concept__slide-controls p a:hover { text-decoration: underline; }

@media screen and (max-width: 990px) {
    .l-about-concept__slide-controls { display: none; }
}


/* l-about-bg */
.l-about-bg {
    background: #fdf5f3;
    padding: 180px 0 120px;
    overflow: hidden;
}

@media screen and (max-width: 990px) {
    .l-about-bg { padding: 80px 0; }
}


/* l-about-palnning__mainimg */
.l-about-palnning__mainimg {
    margin: 0 0 120px;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
}

.l-about-palnning__mainimg-ph { width: calc(100% - 400px); }

.l-about-palnning__mainimg-ttl { width: 400px; }

.l-about-palnning__mainimg-txt {
    padding: 1em 0 0;
    text-align: center;
}

.l-about-palnning__mainimg-txt p {
    color: #282828;
    font-size: 1.8rem;
    line-height: 2;
    text-align: left;
    display: inline-block;
}

@media screen and (max-width: 990px) {
    .l-about-palnning__mainimg {
        margin: 0 0 4em;
        display: block;
    }

    .l-about-palnning__mainimg-ph {
        padding: 0 0 30px 8vw;
        width: 100%;
    }
    
    .l-about-palnning__mainimg-ph img { width: 100%; }

    .l-about-palnning__mainimg-ttl { width: 100%; }

    .l-about-palnning__mainimg-txt {
        padding: 0;
        text-align: center;
    }

    .l-about-palnning__mainimg-txt p {  text-align: center; }
}


/* l-about-palnning__coodination */
.l-about-palnning__coodination { margin: 0 0 120px; }

.l-about-palnning__coodination-ph {
    margin: 0 0 30px;
    display: flex;
    flex-direction: row-reverse;
}

.l-about-palnning__coodination-ph img { width: 100%; }

.l-about-palnning__coodination-ph p { width: 40%; }

.l-about-palnning__coodination-ph ul {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 0;
    width: 60%;
}

.l-about-palnning__coodination-ph ul li {
    padding-right: 20px;
    width: 50%;
}

.l-about-palnning__coodination-txt {
    line-height: 2em;
    text-align: center;
}

@media screen and (max-width: 990px) {
    .l-about-palnning__coodination { margin: 0 8vw 60px; }

    .l-about-palnning__coodination-ph {
        margin: 0 0 20px;
        display: block;
    }

    .l-about-palnning__coodination-ph p {
        margin: 0 0 10px;
        width: 100%;
    }

    .l-about-palnning__coodination-ph ul {
        gap: 10px 0;
        width: 100%;
    }

    .l-about-palnning__coodination-ph ul li {
        padding-right: 5px;
        width: 50%;
    }
    
    .l-about-palnning__coodination-ph ul li:nth-child(even) {
        padding-left: 5px;
        padding-right: 0;
    }

    .l-about-palnning__coodination-txt { text-align: left; }
}


/* l-about-palnning__costume */
.l-about-palnning__costume { margin: 0 160px 120px; }

.l-about-palnning__costume-ph {
    margin: 0 0 40px;
    display: flex;
    justify-content: space-between;
}

.l-about-palnning__costume-ph img { width: 100%; }

.l-about-palnning__costume-ph p { width: calc(50% - 10px); }

.l-about-palnning__costume-ph ul {
    width: calc(50% - 10px);
    display: flex;
    flex-wrap: wrap;
    gap: 20px 0;
}

.l-about-palnning__costume-ph ul li { width: 50%; }

.l-about-palnning__costume-ph ul li:nth-child(1) { width: 100%; }
.l-about-palnning__costume-ph ul li:nth-child(2) { padding-right: 10px; }
.l-about-palnning__costume-ph ul li:nth-child(3) { padding-left: 10px; }

.l-about-palnning__costume-txt {
    line-height: 2em;
    text-align: center;
}

@media screen and (max-width: 990px) {
    .l-about-palnning__costume { margin: 0 0 60px; }

    .l-about-palnning__costume-ph {
        margin: 0 0 26px;
        display: block;
    }

    .l-about-palnning__costume-ph p {
        margin: 0 0 35px 12.5vw;
        width: 68.75vw;
    }

    .l-about-palnning__costume-ph ul {
        width: 100%;
        gap:  0;
    }

    .l-about-palnning__costume-ph ul li:nth-child(1) { padding: 0 0 35px 25vw; }
    .l-about-palnning__costume-ph ul li:nth-child(2) { padding-right: 7.8125vw; }
    .l-about-palnning__costume-ph ul li:nth-child(3) { padding: 10.9375vw 7.8125vw 0 0; }

    .l-about-palnning__costume-txt {
        text-align: left;
        margin: 0 8vw;
    }
}


/* l-about-palnning__hair-makeup */
.l-about-palnning__hair-makeup {
    margin: 0 80px 120px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.l-about-palnning__hair-makeup-ph {
    position: relative;
    padding-bottom: 14vw;
    width: calc(100% - 540px);
}

.l-about-palnning__hair-makeup-ph p { width: 60%; }

.l-about-palnning__hair-makeup-ph p:nth-child(2) {
    position: absolute;
    right: 0;
    bottom: 0;
}

.l-about-palnning__hair-makeup-ph p img { width: 100%; }

.l-about-palnning__hair-makeup-column { width: 460px; }

.l-about-palnning__hair-makeup-txt { line-height: 2em; }

@media screen and (max-width: 990px) {
    .l-about-palnning__hair-makeup {
        margin: 0 8vw 60px;
        display: block;
    }

    .l-about-palnning__hair-makeup-ph {
        padding-bottom: 25vw;
        margin: 0 0 30px;
        width: 100%;
    }

    .l-about-palnning__hair-makeup-ph p { width: 60%; }


    .l-about-palnning__hair-makeup-ph p img { width: 100%; }

    .l-about-palnning__hair-makeup-column { width: auto; }
}


/* l-about-palnning__flower */
.l-about-palnning__flower { margin: 0 0 120px; }

.l-about-palnning__flower-column {
    margin: 0 0 80px;
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
}

.l-about-palnning__flower-mainimg { width: calc(100% - 400px); }

.l-about-palnning__flower-ttl {
    padding: 0 80px;
    width: 400px;
}

.l-about-palnning__flower-txt { line-height: 2em; }

.l-about-palnning__flower-ph ul {
    margin: 0 80px;
    display: flex;
    justify-content: space-between;
    gap: 0 60px;
}

.l-about-palnning__flower-ph ul li img { width: 100%; }

.l-about-palnning__flower-ph ul li:nth-child(2) { padding-top: 4%; }
.l-about-palnning__flower-ph ul li:nth-child(3) { padding-top: 8%; }

@media screen and (max-width: 990px) {
    .l-about-palnning__flower { margin: 0 0 60px; }

    .l-about-palnning__flower-column {
        margin: 0 0 20px;
        display: block;
    }

    .l-about-palnning__flower-mainimg {
        padding: 0 0 20px 8vw;
        width: 100%;
    }

    .l-about-palnning__flower-ttl {
        padding: 0 8vw;
        width: auto;
    }

    .l-about-palnning__flower-ph ul {
        margin: 0 8vw;
        gap: 0 3.125vw;
    }

    .l-about-palnning__flower-ph ul li img { width: 100%; }

    .l-about-palnning__flower-ph ul li:nth-child(2) {padding-top: 4%; }
    .l-about-palnning__flower-ph ul li:nth-child(3) {padding-top: 8%; }
}


/*l-about-palnning__cuisine */
.l-about-palnning__cuisine { margin: 0 0 120px; }

.l-about-palnning__cuisine-column {
    margin: 0 0 80px;
    display: flex;
    align-items: center;
}

.l-about-palnning__cuisine-mainimg { width: calc(100% - 500px); }

.l-about-palnning__cuisine-ttl {
    padding: 0 80px;
    width: 500px;
}

.l-about-palnning__cuisine-txt {
    line-height: 2em;
    margin: 0 0 1.4em;
}

@media screen and (max-width: 990px) {
    .l-about-palnning__cuisine { margin: 0 8vw 60px; }

    .l-about-palnning__cuisine-column {
        margin: 0 0 80px;
        display: block;
    }

    .l-about-palnning__cuisine-mainimg {
        margin: 0 0 20px;
        width: 100%;
    }

    .l-about-palnning__cuisine-ttl {
        padding: 0;
        width: auto;
    }
}


/* l-about-report */
.l-about-report { margin: 0; }

@media screen and (max-width: 990px) {

}


/* ----------------------------------------------------------------------
	ceremony
---------------------------------------------------------------------- */

/* l-ceremony-index */
.l-ceremony-index { margin: 0 0 120px; }

.l-ceremony-index__ph {
    display: flex;
    margin: 0 0 30px;
}

.l-ceremony-index__ph a { display: flex; }

.l-ceremony-index__catch {
    color: #282828;
    font-size: 2rem;
    text-align: center;
    margin: 0 0 0.4em;
}

.l-ceremony-index__txt {
    text-align: center;
    line-height: 1.8;
}

.l-ceremony-index__btn {
    text-align: center;
    margin: 1.4em 0 0;
}

@media screen and (max-width: 990px) {
    .l-ceremony-index { margin: 0 0 60px; }

    .l-ceremony-index__ph { margin: 0 0 20px; }

    .l-ceremony-index__catch {
        font-size: 1.8rem;
        margin: 0 0 0.4em;
    }
    
    .l-ceremony-index__catch span { display: block; }
    
    .l-ceremony-index__txt { text-align: left; }
}


/* ----------------------------------------------------------------------
	shrine
---------------------------------------------------------------------- */

/* l-shrine-about */
.l-shrine-about {
    position: relative;
    padding: 100px 0 120px;
    overflow: hidden;
}

.l-shrine-about::before,
.l-shrine-about__mainimg::before,
.l-shrine-about__ph::before,
.l-shrine-about__ph::after {
    content: "";
    position: absolute;
    z-index: -1;
    background: url("../img/bg_asanoha_circle.gif") center center no-repeat;
    background-size: cover;
    width: 28.571vw;
    height: 28.571vw;
    border-radius: 100%;
    display: block;
}

.l-shrine-about::before {
    top: 0;
    left: 40px;
}

.l-shrine-about__mainimg::before {
    right: -220px;
    bottom: -120px;
}

.l-shrine-about__ph::before {
    top: -130px;
    left: 14.285vw;
}

.l-shrine-about__ph::after {
    top: 130px;
    right: 14.285vw;
}

.l-shrine-about__catch {
    position: absolute;
    top: 50px;
    right: 100px;
    color: #282828;
    font-size: 2rem;
    line-height: 2;
    font-feature-settings: "vpal";
    writing-mode: vertical-rl;
}

.l-shrine-about__mainimg {
    position: relative;
    width: calc(100% - 280px);
    margin: 0 0 30px;
}

.l-shrine-about__mainimg img { width: 100%; }

.l-shrine-about__txt {
    text-align: center;
    line-height: 1.8;
    margin: 0 0 4em;
}

.l-shrine-about__ph {
    position: relative;
    margin: 0 4.285vw;
    display: flex;
    gap: 0 4.285vw;
}

.l-shrine-about__ph li:nth-child(1)  { padding-top: 5vw }
.l-shrine-about__ph li:nth-child(3)  { padding-top: 11.428vw }

.l-shrine-about__ph li img { width: 100%; }

@media screen and (max-width: 1400px) {
    .l-shrine-about::before,
    .l-shrine-about__mainimg::before,
    .l-shrine-about__ph::before,
    .l-shrine-about__ph::after {
        width: 400px;
        height: 400px;
    }
}

@media screen and (max-width: 990px) {
    .l-shrine-about { padding: 0 0 80px; }

    .l-shrine-about::before,
    .l-shrine-about__mainimg::before,
    .l-shrine-about__ph::before,
    .l-shrine-about__ph::after {
        width: 62.5vw;
        height: 62.5vw;
    }

    .l-shrine-about::before { display: none; }

    .l-shrine-about__mainimg::before {
        right: -80px;
        bottom: -120px;
    }

    .l-shrine-about__ph::before {
        top: -100px;
        left: -40px;
    }

    .l-shrine-about__ph::after {
        top: 60px;
        right: -40px;
    }

    .l-shrine-about__catch {
        position: static;
        font-size: 2rem;
        line-height: 1.8;
        font-feature-settings: inherit;
        writing-mode: horizontal-tb;
        text-align: center;
        margin: 0 0 0.8em;
    }
    
    .l-shrine-about__catch span { display:  block; }

    .l-shrine-about__mainimg {
        width: calc(100% - 12.5vw);
        margin: 0 0 20px;
    }

    .l-shrine-about__txt {
        text-align: left;
        line-height: 1.8;
        margin: 0 8vw 2em;
    }

    .l-shrine-about__ph {
        position: relative;
        margin: 0;
        flex-wrap: wrap;
        gap: 0 ;
    }

    .l-shrine-about__ph li:nth-child(1)  {
        width: 100%;
        padding: 0 16vw 8vw;
    }
    
     .l-shrine-about__ph li:nth-child(2) {
         width: 50%;
         padding: 14.0625vw 0 0 8vw;
     }
    
    .l-shrine-about__ph li:nth-child(3)  {
        padding: 0 0 0 8vw; 
        width: 50%;
    }
}

@media screen and (max-width: 990px) and (orientation: landscape) {
    .l-shrine-about::before,
    .l-shrine-about__mainimg::before,
    .l-shrine-about__ph::before,
    .l-shrine-about__ph::after {
        width: 300px;
        height: 300px;
    }
}


/* l-shrine-ceremony */
.l-shrine-ceremony { margin: 0 0 120px; }

.l-shrine-ceremony__list {
    margin: 0 0 60px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 50px 0;
}

.l-shrine-ceremony__list li { width: 340px; }

.l-shrine-ceremony__list-ph {
    margin: 0 0 20px;
    overflow: hidden;
}

.l-shrine-ceremony__list-ph img { width: 100%; }

.l-shrine-ceremony__list-txt dt {
    color: #282828;
    font-size: 2rem;
    text-align: center;
    margin: 0 0 0.4em;
}

.l-shrine-ceremony__list-btn { margin-top: 1.6rem; }

.l-shrine-ceremony__contact-catch {
    color: #282828;
    font-size: 1.8rem;
    text-align: center;
    margin: 0 0 1.2em;
}

.l-shrine-ceremony__contact-ttl { font-size: 1.8rem; }

.l-shrine-ceremony__contact-column {
    margin-top: 0.8em;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 30px;
}

@media screen and (max-width: 990px) {
    .l-shrine-ceremony { margin: 0 0 80px; }

    .l-shrine-ceremony__list {
        display: block;
        gap: 50px 0;
    }

    .l-shrine-ceremony__list li {
        margin: 0 0 50px;
        width: 100%;
    }
    
    .l-shrine-ceremony__list li:last-child { margin: 0; }
    
    .l-shrine-ceremony__contact-catch span { display: block; }

    .l-shrine-ceremony__contact-column {
        margin-top: 0.6em;
        display: block;
    }
    
    .l-shrine-ceremony__contact-btn { margin-top: 20px; }
}


/* ----------------------------------------------------------------------
	shrin-detail
---------------------------------------------------------------------- */

/* l-shrin-detail */
.l-shrin-detail__box { margin: 0 0 120px; }

.l-shrin-detail__btn-return {
    text-align: center;
    margin: 0 0 120px;
}

 @media screen and (max-width: 990px) {
     .l-shrin-detail__box { margin: 0 0 80px; }
     
     .l-shrin-detail__btn-return { margin: 0 0 80px; }
 }
 
 
/* l-shrin-detail-about */
.l-shrin-detail-about {
    line-height: 1.8;
    text-align: center;
}

.l-shrin-detail-about__catch {
    color: #282828;
    font-size: 2rem;
    margin: 0 0 1em;
}

.l-shrin-detail-about__ph { margin: 0 0 20px; }

 @media screen and (max-width: 990px) {
     .l-shrin-detail-about__catch { font-size: 1.8rem; }
    
    .l-shrin-detail-about__catch span { display: block; }

    .l-shrin-detail-about__txt { text-align: left; }
 }
 

/* l-shrin-detail-gallery */
.l-shrin-detail-gallery__list {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 60px;
}

 @media screen and (max-width: 990px) {
    .l-shrin-detail-gallery__list { gap: 10px; }
    
    .l-shrin-detail-gallery__list li { width: calc(50% - 5px)}
 }
 

/* l-shrin-detail-guidance */
.l-shrin-detail-guidance__time {
    text-align: center;
    margin: 0 0 1.4em;
}

.l-shrin-detail-guidance__time dt { color: #282828; }

.l-shrin-detail-guidance__column .link-tel { color: #606060; }

 @media screen and (max-width: 990px) {
    .l-shrin-detail-guidance__column .l-column2__inner:first-child { margin: 0; }

    .l-shrin-detail-guidance__column .l-column2__inner:first-child .tbl tr:last-child { border: none; }
    
    .l-shrin-detail-guidance__column .link-tel { color: #282828; }
 }
 

/* l-shrin-detail-access */
.l-shrin-detail-access__howto {
    text-align: center;
    margin-top: 2em;
}

.l-shrin-detail-access__howto dt { color: #282828; }
 
 @media screen and (max-width: 990px) {
    .l-shrin-detail-access__map iframe { height: 400px; }

    .l-shrin-detail-access__howto { margin-top: 1.4em; }

    .l-shrin-detail-access__howto dd { text-align: left; }
}


/* ----------------------------------------------------------------------
	banquet
---------------------------------------------------------------------- */

/* l-banquet-lead */
.l-banquet-lead {
    position: relative;
    padding: 100px 0 0;
    margin: 0 auto 30px;
    max-width: 1100px;
}

.l-banquet-lead__ttl {
    position: absolute;
    top: 0;
    right: 30px;
}

.l-banquet-lead__txt {
    color: #282828;
    text-align: center;
}

.l-banquet .local-nav { margin-bottom: 0; }

@media screen and (max-width: 990px) {
    .l-banquet-lead {
        padding: 0;
        margin: 0 8vw 30px;
    }

    .l-banquet-lead__ttl {
        position: static;
        text-align: center;
        margin: 0 0 20px;
    }
    
    .l-banquet-lead__ttl img { width: 80px; }

    .l-banquet-lead__txt {
        color: #282828;
        text-align: center;
    }
    
    .l-banquet .local-nav { margin-bottom: 80px; }
}


/* l-banquet-hall */
.l-banquet-hall {
    background: #fdf5f3;
    padding: 80px 0 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.l-banquet-hall--seido { padding-bottom: 180px; }

.l-banquet-hall--reverse { flex-direction: row-reverse; }

.l-banquet-hall__sticky {
    position: sticky;
    top: 100px;
    left: 0;
    text-align: center;
    padding: 60px 0 0;
    width: 400px;
}

@media screen and (max-width: 990px) {
    .l-banquet-hall {
        padding: 74px 0 40px;
        display: block;
    }

    .l-banquet-hall--seido { padding-bottom: 80px; }

    .l-banquet-hall__sticky {
        position: static;
        text-align: center;
        padding: 0;
        width: auto;
    }
}


.l-banquet-hall__ttl {
    position: relative;
    padding: 0 0 90px;
    margin: 0 0 22px;
}

.l-banquet-hall__ttl::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    background: #282828;
    width: 1px;
    height: 60px;
    display: block;
}

.l-banquet-hall__ttl-kanji { margin: 0 0 20px; }

.l-banquet-hall__ttl-en {
    color: #ee9985;
    margin: 0 0 1.6em;
}

.l-banquet-hall__floor {
    color: #282828;
    margin: 0 0 1em;
}

.l-banquet-hall__num {
    font-size: 1.4rem;
    margin: 0 0 0.8em;
}

.l-banquet-hall__area { font-size: 1.4rem; }

.l-banquet-hall__num span,
.l-banquet-hall__area span { display: block; }

@media screen and (max-width: 990px) {
    .l-banquet-hall__ttl {
        position: relative;
        padding: 0;
        margin: 0 auto 22px;
        width: 40px;
        display: block;
    }

    .l-banquet-hall__ttl::before { display: none; }

    .l-banquet-hall__ttl-kanji { margin: 0; }
    
    .l-banquet-hall__ttl-hiragana {
        position: absolute;
        top: 50%;
        right: -20px;
        transform: translateY(-50%);
        padding: 60px 0 0;
    }
    
    .l-banquet-hall__ttl-hiragana img { width: 11px; }
    
    .l-banquet-hall__line {
        padding: 20px 0;
        margin: 0 8vw;
        border-top: 1px solid #282828;
        border-bottom: 1px solid #282828;
    }
    
    .l-banquet-hall__floor { margin: 0 0 0.6em; }
    
    .l-banquet-hall__num { margin: 0 0 0.2em; }
    
    .l-banquet-hall__num span,
    .l-banquet-hall__area span {
        margin-right: 0.5em; 
        display: inline;
    }
}


.l-banquet-hall__detail {
    padding: 120px 0 0;
    width: calc(100% - 300px);
}

.l-banquet-hall__mainimg { margin: 0 0 40px; }

.l-banquet-hall__lead {
    color: #282828;
    text-align: center;
    line-height: 2;
    margin: 0 0 6em;
}

@media screen and (max-width: 990px) {
    .l-banquet-hall__detail {
        padding: 40px 0 0;
        width: 100%;
    }
    
    .l-banquet-hall__mainimg { margin: 0 0 20px; }
    
    .l-banquet-hall__lead {
        margin: 0 8vw 4em;
        text-align: left;
    }
}


/* l-banquet-hall__intro */
.l-banquet-hall__intro {
    margin: 0 70px 100px;
    display: flex;
    justify-content: space-between;
}

.l-banquet-hall__intro-inner {
    position: relative;
    width: calc(50% - 30px); 
    padding-right: 55px;
}

.l-banquet-hall__intro-ph { margin: 0 0 20px; }

.l-banquet-hall__intro-ph img { width: 100%; }

.l-banquet-hall__intro-ttl {
    position: absolute;
    top: -1em;
    right: 0;
    color: #ee9985;
    font-size: 2rem;
    font-feature-settings: "vpal";
    writing-mode: vertical-rl;
}

.l-banquet-hall__intro-txt p {
    text-align: center;
    line-height: 1.8;
    margin: 0 0 0.8em;
}

.l-banquet-hall__intro-txt p:last-child { margin: 0; }

@media screen and (max-width: 1400px) {
    .l-banquet-hall__intro { margin: 0 30px 100px; }
    
    .l-banquet-hall__intro-inner {
        width: calc(50% - 20px); 
        padding-right: 50px;
    }
}

@media screen and (max-width: 990px) {
    .l-banquet-hall__intro {
        margin: 0 8vw 60px;
        display: block;
    }

    .l-banquet-hall__intro-inner {
        width: 100%; 
        padding-right: 0;
        margin: 0 0 60px;
    }
    
    .l-banquet-hall__intro-inner:last-child { margin: 0; }

    .l-banquet-hall__intro-ph { margin: 0 0 20px; }

    .l-banquet-hall__intro-ph img { width: 100%; }

    .l-banquet-hall__intro-ttl {
        position: static;
        font-size: 1.8rem;
        font-feature-settings: inherit;
        text-align: center;
        margin: 0 0 0.4em;
        writing-mode: horizontal-tb;
    }
}


/* l-banquet-hall__gallery */
.l-banquet-hall__gallery ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 40px 0;
}

.l-banquet-hall__gallery ul li { width: calc((100% - 80px) / 3); }

.l-banquet-hall__gallery ul li img { width: 100%; }

@media screen and (max-width: 990px) {
    .l-banquet-hall__gallery { margin: 0 8vw; }
    
    .l-banquet-hall__gallery ul { gap: 10px 0; }

    .l-banquet-hall__gallery ul li { width: calc((100% - 10px) / 2); }
}


/* ----------------------------------------------------------------------
	cuisine
---------------------------------------------------------------------- */

/* l-cuisine-about */
.l-cuisine-about {
    margin: 0 0 90px;
    display: flex;
    justify-content: space-between;
}

.l-cuisine-about__inner { width: 980px; }

@media screen and (max-width: 990px) {
    .l-cuisine-about {
        margin: 0 0 60px;
        display: block;
    }

    .l-cuisine-about__ttl {
        position: relative;
        z-index: 1;
        text-align: center;
    }

    .l-cuisine-about__ttl img { width: 80px; }

    .l-cuisine-about__inner { width: auto; }
}


/* l-cuisine-lead */
.l-cuisine-lead {
    padding: 50px 0 0 50px;
    margin: 0 0 20px;  
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    align-items: center;
}

.l-cuisine-lead__ph { position: relative; }

.l-cuisine-lead__ph::before {
    content: "";
    position: absolute;
    top: 250px;
    left: -320px;
    z-index: -1;
    background: url("../img/bg_asanoha_circle_l.gif") center center no-repeat;
    background-size: cover;
    width: 600px;
    height: 600px;
    display: block;
}

.l-cuisine-lead__catch {
    color: #282828;
    font-size: 2rem;
    line-height: 2;
    margin: 0 0 1.4em;
}

.l-cuisine-lead__txt { line-height: 2; }

@media screen and (max-width: 990px) {
    .l-cuisine-lead {
        padding: 0;
        margin: 0 0 40px;  
        display: block;
    }
    
    .l-cuisine-lead__ph { margin: -56px 0 20px; }
    
    .l-cuisine-lead__ph img { width: 100%; }

    .l-cuisine-lead__ph::before { display: none; }
    
    .l-cuisine-lead__catch {
        font-size: 1.8rem;
        margin: 0 0 1em;
    }
}


/* l-cuisine-menu */
.l-cuisine-menu {
    color: #282828;
    display: flex;
    align-items: center;
    gap: 0 60px;
}

.l-cuisine-menu__ph img { border-radius: 100%; }

.l-cuisine-menu__catch {
    font-size: 2rem;
    text-align: center;
    line-height: 1.8;
    margin: 0 0 1em;
}

.l-cuisine-menu__list {
    display: flex;
    justify-content: center;
    flex-direction: row-reverse;
    gap: 0 8px;
}

.l-cuisine-menu__list li {
    font-size: 2rem;
    font-feature-settings: "vpal";
    writing-mode: vertical-rl;
}

@media screen and (max-width: 990px) {
    .l-cuisine-menu { display: block; }

    .l-cuisine-menu__ph { margin: 0 0 20px; }
    
    .l-cuisine-menu__ph img { width: 100%; }

    .l-cuisine-menu__catch {
        font-size: 1.8rem;
        text-align: left;
        line-height: 1.8;
        margin: 0 0 1em;
    }

    .l-cuisine-menu__list { gap: 0 7px; }

    .l-cuisine-menu__list li { font-size: 1.6rem; }
}


/* l-cuisine-gallery */
.l-cuisine-gallery {
    margin: 0 0 120px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
}

.l-cuisine-gallery li { width: calc((100% - 40px) /3); }

.l-cuisine-gallery li img { width: 100%; }

@media screen and (max-width: 990px) {
    .l-cuisine-gallery {
        margin: 0 0 80px;
        gap: 10px;
    }

    .l-cuisine-gallery li { width: calc((50% - 5px)); }
}


/* l-cuisine-drink__lead */
.l-cuisine-drink__lead-wrap { position: relative; }

.l-cuisine-drink__lead-wrap::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
    background: #fdf5f3;
    width: 100%;
    height: 245px;
    display: block;
}

.l-cuisine-drink__lead {
    margin: 0 auto;
    max-width: 1100px;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
}
    
.l-cuisine-drink__lead::before {
    content: "";
    background: url("../../img/cuisine/drink_ph_02.jpg?=20250210") center center no-repeat;
    background-size: cover;
    width: 380px;
    height: 640px;
    display: block;
}

.l-cuisine-drink__lead-inner { width: 640px; }

.l-cuisine-drink__lead-catch {
    color: #282828;
    font-size: 2rem;
    line-height: 2;
    margin: 0 0 1.6em;
}

.l-cuisine-drink__lead-txt { line-height: 2; }

.l-cuisine-drink__lead-ph { padding: 80px 0 0 60px; }

@media screen and (max-width: 990px) {
    .l-cuisine-drink__lead-wrap::before {  height: 70px; }

    .l-cuisine-drink__lead { display: block; }

    .l-cuisine-drink__lead::before { display: none; }
    
    .l-cuisine-drink__lead-inner { width: auto; }
    
    .l-cuisine-drink__lead-catch {
        font-size: 1.8rem;
        margin: 0 8vw 1em;
    }
    
    .l-cuisine-drink__lead-txt { margin: 0 8vw; }
    
    .l-cuisine-drink__lead-ph { padding: 30px 18.75vw 0 0; }
}


/* l-cuisine-drink__menu */
.l-cuisine-drink__menu-wrap {
    background: #fdf5f3;
    padding: 100px 0 160px;
}

.l-cuisine-drink__menu {
    position: relative;
    margin: 0 auto;
    max-width: 720px;
}

.l-cuisine-drink__menu-ttl {
    position: absolute;
    top: -80px;
    right: -90px;
    color: #282828;
    font-size: 1.8rem;
    font-feature-settings: "vpal";
    writing-mode: vertical-rl;
}

.l-cuisine-drink__menu-tbl {
    width: 100%;
    border-top: 1px solid #ddd;
}

.l-cuisine-drink__menu-tbl tr { border-bottom: 1px solid #ddd; }

.l-cuisine-drink__menu-tbl th,
.l-cuisine-drink__menu-tbl td {
    text-align: left;
    padding: 16px 0;
    font-weight: normal;
}

.l-cuisine-drink__menu-tbl th {
    color: #282828;
    width: 260px;
}

.l-cuisine-drink__menu-tbl td dl {
    display: flex;
    gap: 0 26px;
}

.l-cuisine-drink__menu-tbl td ul li { margin: 0 0 0.2em; }
.l-cuisine-drink__menu-tbl td ul li:last-child { margin: 0; }

@media screen and (max-width: 990px) {
    .l-cuisine-drink__menu-wrap { padding: 35px 8vw 80px; }
    
    .l-cuisine-drink__menu-inner {
        margin: 0 0 35px;
        height: 80vw;
        display: flex;
        justify-content: space-between;
        flex-direction: row-reverse;
        align-items: center;
    }
    
    .l-cuisine-drink__menu-inner::before {
        content: "";
        background: url("../../img/cuisine/drink_ph_02.jpg") center bottom no-repeat;
        background-size: cover;
        width: 53vw;
        height: 80vw;
        display: block;
    }
    
    .l-cuisine-drink__menu-ttl {
        position: static;
        text-align: center;
        padding-left: 9vw;
    }
    
    .l-cuisine-drink__menu-tbl th,
    .l-cuisine-drink__menu-tbl td {
        width: 100%;
        display: block;
    }
    
    .l-cuisine-drink__menu-tbl th {
        text-align: center;
        padding: 16px 0 0.6em;
    }
    
    .l-cuisine-drink__menu-tbl td { padding: 0 0 16px; }

    .l-cuisine-drink__menu-tbl td dl { gap: 0; }
    
    .l-cuisine-drink__menu-tbl td dl dt { width: 110px; }

    .l-cuisine-drink__menu-tbl td ul li { margin: 0 0 0.4em; }
}


/* ----------------------------------------------------------------------
	facility
---------------------------------------------------------------------- */

/* l-facility-tomyoden__intro */
.l-facility-tomyoden__intro-wrap { margin: 0 0 150px; }

.l-facility-tomyoden__intro {
    margin: 0 0 100px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.l-facility-tomyoden__intro:last-child { margin: 0; }

.l-facility-tomyoden__intro--reverse { flex-direction: row-reverse; }

.l-facility-tomyoden__intro-slider { width: 740px; }

.l-facility-tomyoden__intro-slider { height: 503px; }

.l-facility-tomyoden__intro-info { width: 310px; }

.l-facility-tomyoden__intro-ttl {
    color: #282828;
    font-size: 2rem;
    margin: 0 0 0.6em;
}

.l-facility-tomyoden__intro-ttl span { font-size: 1.4rem; }

.l-facility-tomyoden__intro-txt p {
    line-height: 1.8;
    margin: 0 0 0.8em;
}

.l-facility-tomyoden__intro-txt p:last-child { margin: 0; }

@media screen and (max-width: 990px) {
    .l-facility-tomyoden__intro-wrap { margin: 0 0 80px; }

    .l-facility-tomyoden__intro {
        margin: 0 0 50px;
        display: block;
    }

    .l-facility-tomyoden__intro-slider {
        margin: 0 0 44px!important;
        width: auto;
    }
    
    .l-facility-tomyoden__intro-slider { height: 57.15vw; }
    
    .l-facility-tomyoden__intro-info { width: auto; }

    .l-facility-tomyoden__intro-ttl { text-align: center; }
}


/* l-facility-wedding-salon */
.l-facility-wedding-salon { margin: 0 0 120px; }

.l-facility-wedding-salon__ph {
    margin: 0 0 30px;
    display: flex;
    gap: 0 20px;
}

.l-facility-wedding-salon__ph ul li:first-child { margin: 0 0 20px; }

.l-facility-wedding-salon__lead { margin: 0 0 20px; }

@media screen and (max-width: 990px) {
    .l-facility-wedding-salon { margin: 0 0 80px; }

    .l-facility-wedding-salon__ph {
        margin: 0 0 20px;
        gap: 0 10px;
    }
    
    .l-facility-wedding-salon__ph p { width: calc(50% - 5px); }
    
    .l-facility-wedding-salon__ph p img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .l-facility-wedding-salon__ph ul { width: calc(50% - 5px); }

    .l-facility-wedding-salon__ph ul li:first-child { margin: 0 0 10px; }

    .l-facility-wedding-salon__lead { margin: 0 0 20px; }
}


/* l-facility-wedding-seasons */
.l-facility-seasons { margin: 0 0 160px; }

.l-facility-seasons__box {
    position: relative;
    padding: 24px 0 0;
}

.l-facility-seasons__icon {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.l-facility-seasons__ph { margin: 0 0 20px; }

@media screen and (max-width: 990px) {
    .l-facility-seasons { margin: 0 0 80px; }
}


/* ----------------------------------------------------------------------
	report
---------------------------------------------------------------------- */

/* l-report__list */
.l-report__list {
    display: flex;
    flex-wrap: wrap;
    gap: 60px 40px;
}

.l-report__list li { width: calc((100% - 80px) / 3); }

.l-report__list-ph { margin: 0 0 22px; }

.l-report__list-ph img {
    width: 100%;
    border-radius: 100%;
}

.l-report__list-ttl {
    color: #ee9985;
    text-align: center;
    margin: 0 0 1em;
}

.l-report__list-info { margin: 0 0 1.4em; }

.l-report__list-info dl {
    margin: 0 0 0.6em;
    display: flex;
}

.l-report__list-info dl:last-child { margin: 0; }

.l-report__list-info dl dt {
    color: #282828;
    width: 60px;
}

.l-report__list-info dl dd { width: calc(100% - 60px); }

@media screen and (max-width: 990px) {
    .l-report__list { margin: 0 0 80px; }
    
    .l-report__list li {
        width: 100%;
        gap: 40px 0;
    }
}


/* l-report__detail */
.l-report__detail { margin: 0 0 160px; }

.l-report__detail-header { margin:  0 0 1em; }

.l-report__detail-ttl {
    background: url("../img/icon_inome.gif") center top no-repeat;
    background-size: 40px;
    color: #ee9985;
    font-size: 2rem;
    font-weight: normal;
    text-align: center;
    padding-top: 50px;
}

.l-report__detail-info {
    padding: 30px 0;
    margin: 80px 0;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

.l-report__detail-info dl {
    margin: 0 0 0.6em;
    display: flex;
}

.l-report__detail-info dl:last-child { margin: 0; }

.l-report__detail-info dl dt {
    color: #282828;
    width: 80px;
}

.l-report__detail-info dl dd { width: calc(100% - 80px); }

@media screen and (max-width: 990px) {
    .l-report__detail { margin: 0 0 80px; }
    
    .l-report__detail-ttl { font-size: 1.8rem; }
    
    .l-report__detail-info {
        padding: 20px 0;
        margin: 40px 0;
    }
    
    .l-report__detail-info dl dt { width: 60px; }

    .l-report__detail-info dl dd { width: calc(100% - 60px); }
}


/* ----------------------------------------------------------------------
	faq
---------------------------------------------------------------------- */

.l-faq__list { margin: 0 0 120px; }

.l-faq__box { margin:  0 0 60px; }
.l-faq__box:last-child { margin: 0; }

.l-faq__q,
.l-faq__a {
    display: flex;
    align-items: baseline;
}

.l-faq__q > dt,
.l-faq__a > dt {
    font-size: 2rem;
    width: 1.4em;
}

.l-faq__q > dd,
.l-faq__a > dd { width: calc(100% - 1.4em); }

.l-faq__q {
    padding: 0 0 0.6em;
    margin: 0 0 0.8em;
    border-bottom: 1px solid #ddd;
}
.l-faq__q > dt { color: #ee9985; }
.l-faq__q > dd { color: #282828; }

.l-faq__a-bg {
    background: #f8f8f8;
    padding: 18px 20px;
    margin-top: 1em;
}

.l-faq__a-bg dl { margin: 0 0 0.8em; }
.l-faq__a-bg dl:last-child { margin: 0; }

.l-faq__a-bg dl dt { margin: 0 0 0.2em; }

@media screen and (max-width: 990px) {
    .l-faq__list { margin: 0 0 80px; }
    
    .l-faq__box { margin:  0 0 50px; }
    
    .l-faq__a-bg {
        background: none;
        padding: 18px 0;
        letter-spacing: 0.12em;
        border-top: 1px dashed #ddd;
        border-bottom: 1px dashed #ddd;
    }
}


/* ----------------------------------------------------------------------
	not-found
---------------------------------------------------------------------- */

.l-not-found__lead {
    text-align: center;
    margin: 0 0 120px;
}

.l-not-found__lead p { margin: 0 0 1em; }
.l-not-found__lead p:last-child { margin: 0; }

@media screen and (max-width: 990px) {
    .l-not-found__lead { margin: 0 0 80px; }
}








