
@charset "UTF-8";

.contents-wrap .btn-wrap .btn a {
    position: relative;
    display: block;
    width: 250px;
    padding: 15px 0;
    color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    background: #b28b9e;
    transition: opacity .3s ease;
    border-radius: 3px
}

@media screen and (max-width:767px) {
    .contents-wrap .btn-wrap .btn a {
        font-size: 1.4rem;
        padding: 15px 0;
        margin: 10px auto;
        text-align: center;
        justify-content: center;
    }
}

@media screen and (min-width:768px) {
    .contents-wrap .btn-wrap .btn a:hover {
        opacity: .7
    }
}

.contents-wrap .btn-wrap .btn a:after,
.contents-wrap .btn-wrap .btn a:before {
    position: absolute;
    top: 50%;
    content: "";
    margin: -5px 0 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent
}

.contents-wrap .btn-wrap .btn a:before {
    right: 20px;
    border-left: 6px solid #fff
}

.contents-wrap .btn-wrap .btn a:after {
    right: 22px;
    border-left: 6px solid #b28b9e
}

.pc-hidden {
    display: none
}

@media (max-width:767px) {
    .sp-hidden {
        display: none
    }

    .pc-hidden {
        display: block
    }
}

.main-visual {
    margin-bottom: 15px;
    border-top: 1px solid #eee
}

.main-visual .main-title {
    margin: 60px 0 0;
    text-align: center
}

.main-visual .main-title img {
    width: auto;
    height: 70px;
    vertical-align: middle
}

@media screen and (max-width:767px) {
    .main-visual .main-title img {
        height: 32px
    }
}

.main-visual .main-title span {
    display: block;
    padding: 10px 0 0;
    font-size: 1.6rem
}

.main-lead {
    margin-bottom: 15px;
    font-family: "A1明朝", "A1 Mincho", "Hiragino Mincho ProN", "MS PMincho", "MS Mincho", serif;
    font-size: 3.4rem;
    text-align: center;
    line-height: 1.3
}

.main-text {
    width: 630px;
    margin: 0 auto;
    margin-bottom: 30px;
    font-size: 1.5rem;
    line-height: 2
}

@media screen and (max-width:767px) {
    .section {
        width: 100%;
        padding: 20px 0 0 0
    }

    .main-visual {
        border-top: 0
    }

    .main-visual .main-title {
        margin: 0 10px 15px 10px;
        text-align: left
    }

    .main-visual .main-title span {
        display: inline-block;
        margin: 0 0 0 5px;
        padding: 0 0 0 10px;
        font-size: 1rem;
        vertical-align: middle;
        line-height: 1.6;
        border-left: 1px solid #000
    }

    .main-lead {
        margin-bottom: 10px;
        font-size: 2.1rem;
        text-align: center;
        line-height: 1.5
    }

    .main-lead span {
        display: block
    }

    .main-text {
        width: auto;
        margin: 0 25px;
        margin-bottom: 20px;
        font-size: 1.4rem;
        line-height: 1.6
    }
}

.facility {
    width: 960px;
    margin: 0 auto 40px
}

.facility .facility-article {
    float: left;
    width: 460px;
    margin: 0 0 40px
}

.facility .facility-article:nth-child(2n) {
    float: right
}

.facility .facility-article:nth-child(odd) {
    clear: both
}

.facility .facility-article:first-child,
/* .facility .facility-article:nth-child(2) */ {
    height: 480px
}

/* .facility .facility-article:nth-child(2) {
    margin: 32px 0 40px
} */

.facility .facility-article:nth-child(5),
.facility .facility-article:nth-child(6) {
    margin: 0 0 40px
}

.facility .facility-article .facility-title {
    margin: 0 0 15px;
    padding: 0 0 0 8px;
    font-weight: bold;
    font-size: 1.8rem;
    line-height: 1;
    border-left: 3px solid #333
}

@media screen and (max-width:767px) {
    .facility .facility-article .facility-title {
        font-size: 1.4rem
    }
}

.facility .facility-article>img:first-of-type {
    margin: 0 0 10px
}

.facility .facility-article .bx-wrapper {
    margin: 0 0 10px
}

.facility .facility-article .bx-viewport {
    margin: 0 0 10px
}

.facility .facility-article p {
    font-size: 1.5rem;
    line-height: 2
}

.facility:after {
    display: block;
    clear: both;
    content: ""
}

.facility .bx-wrapper .bx-pager {
    display: block;
    position: inherit;
    text-align: center
}

.facility .bx-wrapper .bx-pager.bx-default-pager a {
    display: block;
    overflow: hidden;
    width: 9px;
    height: 9px;
    margin: 0 8px;
    outline: 0;
    box-shadow: none;
    text-indent: 9999px;
    background: #d2d2d2;
    border-radius: 50%;
    transition: background-color .3s
}

.facility .bx-wrapper .bx-pager.bx-default-pager a.bx-pager-link.active {
    background: none;
    border: 2px solid #d2d2d2
}

@media screen and (max-width:767px) {
    .facility {
        width: auto;
        margin: 0 10px 20px 10px
    }

    .facility img {
        width: 100%;
        height: auto
    }

    .facility .facility-article {
        float: none;
        width: 100%;
        margin: 0 0 20px
    }

    .facility .facility-article:nth-child(2n) {
        float: none
    }

    .facility .facility-article:nth-child(2) {
        margin: 0 0 20px
    }

    .facility .facility-article:first-child,
    .facility .facility-article:nth-child(2),
    .facility .facility-article:nth-child(3),
    .facility .facility-article:nth-child(4) {
        height: auto
    }

    .facility .facility-article:nth-child(5),
    .facility .facility-article:nth-child(6) {
        margin: 0 0 20px
    }

    .facility .facility-article p {
        margin: 0 20px;
        font-size: 1.4rem;
        line-height: 1.6
    }

    .facility .facility-article .slide_body {
        margin-bottom: 10px
    }

    .facility .facility-article .slide_body li+li {
        margin-top: 10px
    }
}

.facility-other {
    width: 100%;
    margin: 0 auto 60px auto;
    padding-top: 40px;
    background: #f3ebe0
}

.facility-other .facility-other-inner {
    width: 960px;
    margin: 0 auto
}

.facility-other .facility-other-inner .facility-article {
    float: left;
    width: 460px;
    padding-bottom: 30px
}

.facility-other .facility-other-inner .facility-article:nth-child(2n) {
    float: right
}

.facility-other .facility-other-inner .facility-article .facility-title {
    margin: 0 0 15px;
    padding: 0 0 0 8px;
    font-weight: bold;
    font-size: 1.8rem;
    line-height: 1;
    border-left: 3px solid #333
}

@media screen and (max-width:767px) {
    .facility-other .facility-other-inner .facility-article .facility-title {
        font-size: 1.4rem
    }
}

.facility-other .facility-other-inner .facility-article p+.facility-title {
    margin-top: 30px
}

@media screen and (max-width:767px) {
    .facility-other .facility-other-inner .facility-article p+.facility-title {
        margin-top: 20px
    }
}

.facility-other .facility-other-inner .facility-article img {
    margin-bottom: 15px
}

.facility-other .facility-other-inner .facility-article p {
    font-size: 1.5rem;
    line-height: 2
}

.facility-other .facility-other-inner:after {
    display: block;
    clear: both;
    content: ""
}

@media screen and (max-width:767px) {
    .facility-other {
        margin: 0 auto 15px;
        padding-top: 25px
    }

    .facility-other .facility-other-inner {
        width: auto;
        margin: 0 10px
    }

    .facility-other .facility-other-inner .facility-article {
        float: none;
        width: 100%;
        padding-bottom: 20px
    }

    .facility-other .facility-other-inner .facility-article:first-child,
    .facility-other .facility-other-inner .facility-article:nth-child(2) {
        height: auto
    }

    .facility-other .facility-other-inner .facility-article:nth-child(2n) {
        float: none
    }

    .facility-other .facility-other-inner .facility-article img {
        width: 100%;
        height: auto;
        margin-bottom: 10px
    }

    .facility-other .facility-other-inner .facility-article p {
        margin: 0 20px;
        font-size: 1.4rem;
        line-height: 1.6
    }
}

.facility-icon {
    width: 920px;
    margin: 0 auto 75px
}

.facility-icon ul:after {
    display: block;
    clear: both;
    content: ""
}

.facility-icon li {
    float: left;
    width: 200px;
    margin-right: 40px;
    padding-top: 120px;
    font-size: 1.5rem;
    line-height: 1.7
}

.facility-icon li span {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 1.6rem;
    text-align: center
}

.facility-icon li:last-child {
    margin-right: 0
}

.facility-icon li.icn-01 {
    background: url(../img/facility/icon01.png) no-repeat center top
}

.facility-icon li.icn-02 {
    background: url(../img/facility/icon02.png) no-repeat center top
}

.facility-icon li.icn-03 {
    background: url(../img/facility/icon03.png) no-repeat center top
}

.facility-icon li.icn-04 {
    margin-bottom: 0;
    background: url(../img/facility/icon04.png) no-repeat center top
}

@media screen and (max-width:767px) {
    .facility-icon {
        width: 100%;
        margin: 0 auto 15px
    }

    .facility-icon ul {
        margin: 0 10px 0 15px
    }

    .facility-icon li {
        float: none;
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
        padding: 0 10px 0 70px;
        font-size: 1.4rem;
        line-height: 1.6;
        box-sizing: border-box
    }

    .facility-icon li span {
        margin-bottom: 0;
        text-align: left
    }

    .facility-icon li.icn-01 {
        background: url(../img/facility/icon01.png) no-repeat left center;
        background-size: 50px 50px
    }

    .facility-icon li.icn-02 {
        background: url(../img/facility/icon02.png) no-repeat left center;
        background-size: 50px 50px
    }

    .facility-icon li.icn-03 {
        background: url(../img/facility/icon03.png) no-repeat left center;
        background-size: 50px 50px
    }

    .facility-icon li.icn-04 {
        margin-bottom: 20px;
        background: url(../img/facility/icon04.png) no-repeat left center;
        background-size: 50px 50px
    }
}

.faq {
    width: 960px;
    margin: 0 auto 60px
}

@media screen and (max-width:767px) {
    .faq {
        width: auto;
        margin: 0 10px 35px
    }
}

.faq .faq-title {
    margin-bottom: 15px;
    padding-left: 7px;
    font-weight: bold;
    font-size: 1.8rem;
    line-height: 1;
    border-left: 3px solid #000
}

@media screen and (max-width:767px) {
    .faq .faq-title {
        margin-bottom: 0;
        padding: 15px;
        font-size: 1.4rem;
        text-align: center;
        background: #e6aba8;
        border: 1px solid #d2d2d2;
        border-bottom: 0
    }
}

.faq .faq-inner {
    border: 1px solid #d2d2d2
}

.faq .faq-inner dl {
    font-size: 1.6rem;
    border-bottom: 1px dotted #b2b2b2
}

@media screen and (max-width:767px) {
    .faq .faq-inner dl {
        font-size: 1.4rem
    }
}

.faq .faq-inner dt {
    margin: 20px;
    background: url(../img/icn-open.png) no-repeat right center;
    background-size: 14px 14px
}

@media screen and (max-width:767px) {
    .faq .faq-inner dt {
        margin: 0 15px
    }
}

.faq .faq-inner dt.open {
    background: url(../img/icn-close.png) no-repeat right center;
    background-size: 14px 14px
}

.faq .faq-inner dt span {
    display: inline-block;
    width: 100%;
    padding: 20px 0 20px 25px;
    cursor: pointer;
    background: url(../img/icn-q.png) no-repeat left 22px;
    background-size: 16px 13px;
    box-sizing: border-box;
    transition: opacity .3s ease
}

@media screen and (max-width:767px) {
    .faq .faq-inner dt span {
        padding: 15px 25px;
        background: url(../img/icn-q.png) no-repeat left 17px;
        background-size: 16px 13px
    }
}

@media screen and (min-width:768px) {
    .faq .faq-inner dt span:hover {
        opacity: .7
    }
}

.faq .faq-inner dd {
    display: none;
    margin: 10px 20px 20px 20px;
    padding: 0 0 0 25px;
    background: url(../img/chapel-banquet/icn-a.png) no-repeat left 4px;
    background-size: 16px 13px
}

@media screen and (max-width:767px) {
    .faq .faq-inner dd {
        margin: 10px 15px 20px 15px;
        padding: 0 25px;
        background: url(../img/chapel-banquet/icn-a.png) no-repeat left 2px;
        background-size: 16px 13px
    }
}

.faq .faq-inner p {
    padding: 15px;
    font-size: 1.5rem;
    text-align: center
}

@media screen and (max-width:767px) {
    .faq .faq-inner p {
        padding: 10px;
        font-size: 1.4rem
    }
}

.faq .faq-inner p a {
    text-decoration: underline
}

.faq .faq-inner p a:hover {
    text-decoration: none
}

.other {
    width: 960px;
    margin: 0 auto;
    margin-bottom: 60px
}

@media screen and (max-width:767px) {
    .other {
        width: 100%;
        margin-bottom: 30px
    }
}

.other-title {
    margin: 0 0 15px;
    font-weight: bold;
    font-size: 1.8rem;
    line-height: 1;
    border-left: 3px solid #000
}

@media screen and (max-width:767px) {
    .other-title {
        margin: 0 10px 15px 10px;
        font-size: 0;
        border-left: none
    }
}

.other-title img {
    width: auto;
    height: 26px;
    vertical-align: middle
}

@media screen and (max-width:767px) {
    .other-title img {
        display: inline-block
    }
}

.other-title span {
    display: inline-block;
    margin: 0 0 0 8px
}

@media screen and (max-width:767px) {
    .other-title span {
        padding: 0 0 0 10px;
        font-size: 1rem;
        vertical-align: middle;
        line-height: 1.5;
        border-left: 1px solid #000
    }
}

.other .other-inner:after {
    display: block;
    clear: both;
    content: ""
}

.other .other-artcle {
    float: left;
    width: 300px;
    margin-right: 30px
}

@media screen and (max-width:767px) {
    .other .other-artcle {
        position: relative;
        float: none;
        width: 100%;
        padding: 10px;
        border-bottom: 1px solid #d2d2d2;
        box-sizing: border-box
    }

    .other .other-artcle:first-child p {
        padding: 8px 15px
    }
}

@media screen and (max-width:767px) {
    .other .other-artcle:first-child {
        border-top: 1px solid #d2d2d2
    }
}

.other .other-artcle:last-child {
    margin-right: 0
}

@media screen and (max-width:767px) {
    .other .other-artcle:after {
        display: block;
        position: absolute;
        top: 50%;
        right: 15px;
        width: 4px;
        height: 4px;
        margin-top: -2px;
        content: "";
        border-bottom: 2px solid #333;
        border-left: 2px solid #333;
        -webkit-transform: rotate(-135deg);
        -ms-transform: rotate(-135deg);
        transform: rotate(-135deg)
    }
}

.other .other-artcle a {
    display: block;
    transition: opacity .3s ease
}

.other .other-artcle a:hover {
    opacity: .7
}

.other .other-artcle a:after {
    display: block;
    clear: both;
    content: ""
}

@media screen and (max-width:767px) {
    .other .other-artcle a>img {
        display: block;
        float: left;
        width: 100px;
        height: auto
    }
}

.other .other-artcle p {
    padding: 15px 10px;
    font-size: 1.3rem;
    background: #f2f1ed
}

@media screen and (max-width:767px) {
    .other .other-artcle p {
        display: inline-block;
        float: left;
        padding: 8px 15px;
        font-size: 1rem;
        background: none
    }
}

.other .other-artcle p span {
    display: inline-block;
    position: relative;
    padding-left: 10px;
    vertical-align: middle
}

@media screen and (max-width:767px) {
    .other .other-artcle p span {
        display: block;
        margin-top: 5px;
        padding-left: 0
    }
}

.other .other-artcle p span:after {
    display: block;
    display: inline-block;
    position: absolute;
    top: 50%;
    right: -15px;
    width: 6px;
    height: 6px;
    margin-top: -5px;
    content: "";
    border-bottom: 1px solid #333;
    border-left: 1px solid #333;
    -webkit-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    transform: rotate(-135deg)
}

@media screen and (max-width:767px) {
    .other .other-artcle p span:after {
        display: none
    }
}

.other .other-artcle .title_facilities {
    width: auto;
    height: 18px;
    padding: 16px 0;
    display: inline-block;
    vertical-align: middle
}

@media screen and (max-width:767px) {
    .other .other-artcle .title_facilities {
        padding: 10px 0
    }
}

.other .other-artcle .title_chapel {
    width: auto;
    height: 24px;
    padding: 14px 0;
    vertical-align: middle
}

@media screen and (max-width:767px) {
    .other .other-artcle .title_chapel {
        padding: 8px 0
    }
}

.other .other-artcle .title_banquet {
    width: auto;
    height: 45px;
    margin-bottom: 5px;
    vertical-align: middle
}

@media screen and (max-width:767px) {
    .other .other-artcle .title_banquet {
        margin-top: 0
    }
}

.other-service {
    width: 960px;
    margin: 0 auto 60px
}

@media screen and (max-width:767px) {
    .other-service {
        width: 100%;
        margin: 0 auto 20px
    }
}

.other-service-title {
    margin: 0 0 15px;
    font-weight: bold;
    font-size: 1.8rem;
    line-height: 1;
    border-left: 3px solid #000
}

@media screen and (max-width:767px) {
    .other-service-title {
        margin: 0 10px 15px 10px;
        font-size: 0;
        border-left: none
    }
}

.other-service-title img {
    width: auto;
    height: 21px;
    vertical-align: middle
}

@media screen and (max-width:767px) {
    .other-service-title img {
        display: inline-block
    }
}

.other-service-title span {
    display: inline-block;
    margin: 0 0 0 8px
}

@media screen and (max-width:767px) {
    .other-service-title span {
        padding: 0 0 0 10px;
        font-size: 1rem;
        vertical-align: middle;
        line-height: 1.5;
        border-left: 1px solid #000
    }
}

.other-service:after {
    display: block;
    clear: both;
    content: ""
}

.other-service-article {
    float: left;
    width: 300px;
    margin: 0 30px 0 0
}

@media screen and (max-width:767px) {
    .other-service-article {
        position: relative;
        float: none;
        width: 100%;
        padding: 10px;
        border-bottom: 1px solid #d2d2d2;
        box-sizing: border-box
    }
}

@media screen and (max-width:767px) {
    .other-service-article:first-child {
        border-top: 1px solid #d2d2d2
    }
}

.other-service-article:last-child {
    margin: 0
}

@media screen and (max-width:767px) {
    .other-service-article:after {
        display: block;
        position: absolute;
        top: 50%;
        right: 15px;
        width: 4px;
        height: 4px;
        margin-top: -2px;
        content: "";
        border-bottom: 2px solid #333;
        border-left: 2px solid #333;
        -webkit-transform: rotate(-135deg);
        -ms-transform: rotate(-135deg);
        transform: rotate(-135deg)
    }
}

.other-service-article a {
    display: block;
    transition: opacity .3s ease
}

@media screen and (min-width:768px) {
    .other-service-article a:hover {
        opacity: .7
    }
}

@media screen and (max-width:767px) {
    .other-service-article a:after {
        display: block;
        clear: both;
        content: ""
    }
}

@media screen and (max-width:767px) {
    .other-service-article a>img {
        display: block;
        float: left;
        width: 100px;
        height: auto
    }
}

.other-service-article:first-child p {
    padding: 18px 15px
}

.other-service-article p {
    padding: 15px;
    font-size: 1.5rem;
    background: #f2f1ed
}

@media screen and (max-width:767px) {
    .other-service-article p {
        float: left;
        width: 120px;
        padding: 22px 15px;
        font-size: 1rem;
        background: none
    }
}

.other-service-article p .title {
    width: auto;
    height: 19px;
    vertical-align: middle
}

.other-service-article p .title.team {
    height: 26px
}

.other-service-article p span {
    display: inline-block;
    position: relative;
    padding-left: 10px;
    vertical-align: middle
}

@media screen and (max-width:767px) {
    .other-service-article p span {
        display: block;
        margin-top: 5px;
        padding-left: 0
    }
}

.other-service-article p span:after {
    display: block;
    display: inline-block;
    position: absolute;
    top: 10px;
    right: -15px;
    width: 6px;
    height: 6px;
    margin-top: -3px;
    content: "";
    border-bottom: 1px solid #333;
    border-left: 1px solid #333;
    -webkit-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    transform: rotate(-135deg)
}

@media screen and (max-width:767px) {
    .other-service-article p span:after {
        display: none
    }
}

.bnr {
    margin-bottom: 50px;
    text-align: center
}

.bnr a {
    transition: opacity .3s ease
}

.bnr a:hover {
    opacity: .7
}

@media screen and (max-width:767px) {
    .bnr {
        margin: 0 10px;
        margin-bottom: 20px
    }

    .bnr img {
        width: 100%;
        height: auto
    }
}

.contents-wrap .btn-wrap {
    margin: 0 auto 60px
}

@media screen and (max-width:767px) {
    .contents-wrap .btn-wrap {
        width: auto
    }
}

.contents-wrap .btn-wrap p {
    margin: 0 0 10px;
    font-size: 1.5rem;
    text-align: center;
    line-height: 1.7
}

@media screen and (max-width:767px) {
    .contents-wrap .btn-wrap p {
        font-size: 1.4rem;
        line-height: 1.8
    }
}

@media screen and (min-width:768px) {
  .contents-wrap .btn-wrap .btn {
    text-align: center;
    display: flex;
    gap:20px;
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media screen and (max-width:767px) {
    .contents-wrap .btn-wrap .btn {
        width: 250px;
        margin: 0 auto
    }
}
