@charset "UTF-8";
/* ==========================================================
Name:
    module.css

Description:
    サイトで共通使用する汎用モジュール及びページ固有のスタイルを記述する
    汎用モジュールは、アルファベット降順(A->Z)に記述する
    ページ固有のスタイルは、ディレクトリ名のアルファベット降順(A->Z)、
    ファイル名のアルファベット降順(A->Z)にそれぞれ記述する

Contents:
    module
    page
    utility
========================================================== */
/* 游ゴシック体 */
/* ==========================================================
*
*   module
*
========================================================== */
.keyvisual {
    position: relative;
}

.keyvisual__img {
    padding-top: 8.78%;
    height: 0;
    background-position: center;
    background-size: cover;
}

.keyvisual__text {
    position: absolute;
    top: 19.5%;
    right: 0;
    left: 0;
    text-align: center;
}

@media screen and (max-width: 479px) {
    .keyvisual__text {
        top: 4.28571rem;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding-right: 4.167%;
        padding-left: 4.167%;
    }
}

.keyvisual__subtext {
    position: absolute;
    right: 0;
    bottom: 7.4%;
    left: 0;
    text-align: center;
}

.news {
    margin-top: 10px;
    margin-right: auto;
    margin-bottom: 80px;
    margin-left: auto;
    padding-left: 40px;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
}

@media screen and (max-width: 479px) {
    .news {
        margin-bottom: 2.14286rem;
        padding-left: 0;
        text-align: center;
    }
}

.news__text {
    line-height: 1.8;
}

.news__title {
    font-weight: bold;
}

.news__date {
    font-weight: bold;
}

.lead {
    position: relative;
}

.lead__text {
    margin-right: auto;
    margin-bottom: 90px;
    margin-left: auto;
    max-width: 1200px;
    color: #b3860f;
    text-align: center;
    font-weight: 600;
    font-size: 30px;
    line-height: 1.9;
}

@media screen and (max-width: 479px) {
    .lead__text {
        margin-bottom: 0;
        font-size: 3.95833vw;
    }
}

.lead__paint {
    position: absolute;
    top: 212px;
    right: 50%;
    -webkit-transform: translateX(535px);
    transform: translateX(535px);
}

@media screen and (max-width: 479px) {
    .lead__paint {
        position: static;
        margin-right: auto;
        margin-bottom: 1.42857rem;
        margin-left: auto;
        width: 45.8%;
        text-align: center;
        -webkit-transform: none;
        transform: none;
    }
}

.lead__under-img {
    padding-top: 61.58%;
    height: 0;
    background-position: center;
    background-size: cover;
}

.cost {
    margin-top: 85px;
    margin-bottom: 85px;
}

@media screen and (max-width: 479px) {
    .cost {
        margin-top: 2.5rem;
        margin-bottom: 2.5rem;
    }
}

.cost__container {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: auto;
    margin-left: auto;
    padding-right: 48px;
    padding-left: 48px;
    max-width: 1200px;
}

@media screen and (max-width: 479px) {
    .cost__container {
        padding-right: 0;
        padding-left: 0;
        text-align: center;
    }
}

.cost__head {
    margin-bottom: 50px;
}

@media screen and (max-width: 479px) {
    .cost__head {
        margin-bottom: 1.78571rem;
        padding-right: 41%;
        padding-left: 41%;
    }
}

.cost-content__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    margin-bottom: 40px;
    letter-spacing: 0.1em;
    font-weight: bold;
    font-size: 25px;
    line-height: 1.8;

    -webkit-box-pack: justify;
    justify-content: space-between;
}

@media screen and (max-width: 479px) {
    .cost-content__item {
        display: block;
        margin-bottom: 1.42857rem;
        text-align: center;
        font-size: 1.21429rem;
    }
}

.cost-content__note {
    font-weight: 600;
    font-size: 15px;
    line-height: 1.8;
}

@media screen and (max-width: 479px) {
    .cost-content__note {
        font-size: 1.02143rem;
    }
}

@media screen and (max-width: 479px) {
    .cost-content .mod-list--right {
        margin-bottom: 0.71429rem;
    }
}

.room__head {
    position: relative;
    margin-bottom: 50px;
    padding-top: 61.58%;
    height: 0;
    background-image: url(../img/pc/main_visual_01.jpg);
    background-position: center;
    background-size: cover;
}

@media screen and (max-width: 479px) {
    .room__head {
        margin-bottom: 2.14286rem;
    }
}

.room__head-title {
    position: absolute;
    top: 46%;
    left: 100px;
}

@media screen and (max-width: 479px) {
    .room__head-title {
        top: 50%;
        left: 4.167%;
        width: 22.92%;
        -webkit-transform: none;
        transform: none;
    }
}

.room__body {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: auto;
    margin-left: auto;
    max-width: 1200px;
}

.detail-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    margin-bottom: 35px;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    justify-content: center;
}

@media screen and (max-width: 479px) {
    .detail-list {
        margin-bottom: 2.28571rem;
        text-align: center;
    }
}

.detail-list--room {
    margin-bottom: 0;
}

@media screen and (max-width: 479px) {
    .detail-list--room {
        margin-bottom: 2.28571rem;
    }
}

.detail-list--cafeteria {
    margin-bottom: 35px;
}

@media screen and (max-width: 479px) {
    .detail-list--cafeteria {
        margin-bottom: 2.28571rem;
    }
}

.detail-list__item {
    padding-right: 15px;
    padding-left: 12px;
    width: 538px;
}

@media screen and (max-width: 479px) {
    .detail-list__item {
        padding-right: 4.167%;
        padding-left: 4.167%;
    }
}

@media screen and (max-width: 479px) {
    .detail-list__img {
        height: 20.71429rem;
    }
}

.detail-list__img:hover {
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.detail-list__img:hover:hover {
    opacity: 0.8;
}

.detail-list__text {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-top: 19px;
    padding-bottom: 45px;
    height: 110px;
    font-weight: bold;
    line-height: 1.8;
}

@media screen and (max-width: 479px) {
    .detail-list__text {
        padding-top: 1.42857rem;
        padding-bottom: 1.42857rem;
        height: auto;
        font-size: 1.02143rem;
    }
}

.facility-content {
    position: relative;
    margin-top: 35px;
    margin-bottom: 85px;
    padding-right: 48px;
    padding-left: 48px;
}

@media screen and (max-width: 479px) {
    .facility-content {
        margin-top: 2.5rem;
        margin-bottom: 2.14286rem;
        padding-right: 0;
        padding-left: 0;
        text-align: center;
    }
}

.facility-content__head {
    margin-bottom: 50px;
}

@media screen and (max-width: 479px) {
    .facility-content__head {
        margin-bottom: 1.42857rem;
        padding-right: 41%;
        padding-left: 41%;
    }
}

.facility-content__item {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-pack: justify;
    padding-bottom: 30px;
    font-weight: bold;
    font-size: 20px;
    line-height: 1.7;

    -webkit-box-pack: justify;
    justify-content: space-between;
}

@media screen and (max-width: 479px) {
    .facility-content__item {
        display: block;
        padding-bottom: 0;
        font-size: 1.14286rem;
    }
}

.facility-content__item--right {
    padding-left: 188px;
}

@media screen and (max-width: 479px) {
    .facility-content__item--right {
        padding-bottom: 1.42857rem;
        padding-left: 0;
    }
}

@media screen and (max-width: 479px) {
    .facility-content__item .mod-list {
        font-size: 1.14286rem;
        line-height: 2rem;
    }
}

.facility-content__note {
    font-weight: 600;
    font-size: 18px;
    line-height: 1.8;
}

@media screen and (max-width: 479px) {
    .facility-content__note {
        padding-bottom: 1.78571rem;
        font-size: 1.02143rem;
    }
}

.facility-content__paint {
    position: absolute;
    top: 225px;
    right: 3px;
}

@media screen and (max-width: 479px) {
    .facility-content__paint {
        position: static;
        margin-right: auto;
        margin-left: auto;
        width: 35.4%;
    }
}

.layout-content {
    margin-top: 49px;
    margin-bottom: 80px;
    /*padding-right: 26px;*/
    padding-left: 48px;
}

@media screen and (max-width: 479px) {
    .layout-content {
        margin-top: 2.14286rem;
        margin-bottom: 2.5rem;
        padding-right: 4.167%;
        padding-left: 4.167%;
        text-align: center;
    }
}

@media screen and (max-width: 479px) {
    .layout-content__head {
        padding-right: 39.6%;
        padding-left: 39.6%;
    }
}

.layout-content__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media screen and (max-width: 479px) {
    .layout-content__body {
        display: block;
    }
}

.layout-content__item {
    display: inline-block;
    vertical-align: middle;
    font-weight: bold;
}

.layout-content__item--right {
    padding-top: 100px;
    padding-left: 3em;
    text-indent: -1.4em;
}

@media screen and (max-width: 479px) {
    .layout-content__item--right {
        padding-top: 2.14286rem;
    }
}

.layout-content__item--right .mod-list {
    padding-bottom: 25px;
    font-size: 20px;
    line-height: 1.7;
}

@media screen and (max-width: 479px) {
    .layout-content__item--right .mod-list {
        padding-bottom: 2.14286rem;
        font-size: 1.14286rem;
    }
}

.layout-content__text {
    color: #b3860f;
    font-size: 23px;
}

@media screen and (max-width: 479px) {
    .layout-content__text {
        font-size: 1.57143rem;
    }
}

.cafeteria__head {
    position: relative;
    margin-bottom: 50px;
    padding-top: 61.58%;
    height: 0;
    background-image: url(../img/pc/main_visual_02.jpg);
    background-position: center;
    background-size: cover;
}

@media screen and (max-width: 479px) {
    .cafeteria__head {
        margin-bottom: 2.14286rem;
    }
}

.cafeteria__head-title {
    position: absolute;
    bottom: 50%;
    left: 103px;
    -webkit-transform: translateY(170px);
    transform: translateY(170px);
}

@media screen and (max-width: 479px) {
    .cafeteria__head-title {
        bottom: 23%;
        left: 4.167%;
        width: 22.92%;
        -webkit-transform: none;
        transform: none;
    }
}

.cafeteria__head-paint {
    position: absolute;
    bottom: 50%;
    left: 148px;
    -webkit-transform: translateY(86px);
    transform: translateY(86px);
}

@media screen and (max-width: 479px) {
    .cafeteria__head-paint {
        bottom: 39%;
        left: 8.333%;
        width: 21.9%;
        -webkit-transform: none;
        transform: none;
    }
}

.cafeteria__body {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: auto;
    margin-left: auto;
    max-width: 1200px;
}

.map {
    padding-bottom: 40px;
    background-color: #f7f6f5;
}

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

@media screen and (max-width: 479px) {
    .map {
        padding-bottom: 0;
    }
}

.map__container {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: auto;
    margin-left: auto;
    padding: 80px 40px 50px 48px;
    max-width: 1200px;
}

@media screen and (max-width: 479px) {
    .map__container {
        padding-top: 3.21429rem;
        padding-right: 4.167%;
        padding-bottom: 0;
        padding-left: 4.167%;
        text-align: center;
    }
}

@media screen and (max-width: 479px) {
    .map__head {
        padding-right: 24%;
        padding-left: 24%;
    }
}

.map__body {
    position: relative;
    margin-top: 32px;
}

@media screen and (max-width: 479px) {
    .map__body {
        display: block;
        margin-top: 0;
        padding-bottom: 2.5rem;
    }
}

@media screen and (max-width: 479px) {
    .map__item {
        padding-bottom: 1.42857rem;
    }
}

.map__item--text {
    float: right;
    margin-right: 50px;
}

@media screen and (max-width: 479px) {
    .map__item--text {
        float: none;
        margin-right: 0;
        padding-bottom: 1.78571rem;
        padding-left: 0;
    }
}

.map__item--top {
    float: left;
    padding-left: 20px;
}

@media screen and (max-width: 479px) {
    .map__item--top {
        float: none;
        margin: 0 auto;
        padding-left: 0;
        width: 83.33%;
    }
}

.map__item--middle {
    float: right;
    margin-right: 8px;
    padding-top: 30px;
}

@media screen and (max-width: 479px) {
    .map__item--middle {
        float: none;
        margin-right: 0;
        padding-top: 0;
        padding-left: 0;
    }
}

.map__item--bottom {
    float: right;
    margin-top: 18px;
    margin-right: 376px;
    width: 171px;
    height: 40px;
}

@media screen and (max-width: 479px) {
    .map__item--bottom {
        float: none;
        margin-left: 1.78571rem;
        width: 44.09%;
    }
}

.map__lead {
    padding-top: 80px;
    font-weight: bold;
    font-size: 18px;
    line-height: 1.8;
}

@media screen and (max-width: 479px) {
    .map__lead {
        padding-top: 1.42857rem;
        font-size: 1.21429rem;
    }
}

.map__caption {
    font-weight: bold;
    font-size: 18px;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
}

@media screen and (max-width: 479px) {
    .map__caption {
        padding-bottom: 1.07143rem;
        font-size: 1.21429rem;
    }
}

.map__img {
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.map__img:hover {
    opacity: 0.8;
}

.map__link {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.map__link:hover .map__link-img:nth-child(2) {
    display: none;
}

.map__link-img {
    position: absolute;
    display: inline-block;
    padding-top: 10px;
    padding-right: 30px;
    padding-bottom: 10px;
    padding-left: 30px;
    width: 120px;
    border: 1px solid #222222;
    background-color: #fff;
}

.map__link-img:hover {
    border: 1px solid #fff;
    background-color: #222222;
}

@media screen and (max-width: 479px) {
    .map__link-img {
        padding-top: 2.08333vw 5.20833vw;
        width: 27.08333vw;
    }
}

.map__paint {
    position: absolute;
    top: -128px;
    right: 11px;
}

@media screen and (max-width: 479px) {
    .map__paint {
        position: absolute;
        top: auto;
        right: 0;
        bottom: 1.07143rem;
        width: 19.2%;
    }
}

.contact {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: auto;
    margin-bottom: 95px;
    margin-left: auto;
    padding-top: 80px;
    padding-right: 80px;
    padding-left: 50px;
    max-width: 1200px;
}

@media screen and (max-width: 479px) {
    .contact {
        margin-bottom: 2.14286rem;
        padding-top: 2.85714rem;
        padding-right: 4.167%;
        padding-left: 4.167%;
        text-align: center;
    }
}

.contact__head {
    margin-bottom: 50px;
}

@media screen and (max-width: 479px) {
    .contact__head {
        margin-bottom: 1.42857rem;
        padding-right: 27%;
        padding-left: 27%;
    }
}

.contact__body {
    position: relative;
}

.contact__lead {
    font-weight: bold;
    font-size: 18px;
    line-height: 1.8;
}

@media screen and (max-width: 479px) {
    .contact__lead {
        padding-bottom: 1.78571rem;
        font-size: 1.21429rem;
    }
}

@media screen and (max-width: 479px) {
    .contact__paint {
        margin: 0 auto;
        width: 45.8%;
    }
}

.contact__item--text {
    margin-bottom: 60px;
}

@media screen and (max-width: 479px) {
    .contact__item--text {
        margin-bottom: 0;
    }
}

.contact__item--top {
    position: absolute;
    top: 117px;
    right: -7px;
}

@media screen and (max-width: 479px) {
    .contact__item--top {
        position: static;
        margin-bottom: 1.78571rem;
    }
}

.contact__item--middle {
    margin-bottom: 35px;
    padding-top: 30px;
    color: #b3860f;
}

@media screen and (max-width: 479px) {
    .contact__item--middle {
        margin-bottom: 0;
        padding-top: 0;
    }
}

.contact__item--bottom {
    margin-bottom: 30px;
    color: #b3860f;
}

@media screen and (max-width: 479px) {
    .contact__item--bottom {
        margin-bottom: 0;
    }
}

@media screen and (max-width: 479px) {
    .contact__caption {
        padding-right: 12.5%;
        padding-left: 12.5%;
    }
}

.contact__address {
    margin-top: 20px;
    margin-bottom: 30px;
    letter-spacing: 0.1em;
    font-weight: 600;
    font-size: 18px;
}

@media screen and (max-width: 479px) {
    .contact__address {
        margin-top: 0.71429rem;
        margin-bottom: 1.42857rem;
        font-size: 1.14286rem;
    }
}

.contact__text {
    font-weight: bold;
    font-size: 22px;
}

@media screen and (max-width: 479px) {
    .contact__text {
        margin-bottom: 1.42857rem;
        font-size: 1.42857rem;
    }
}

.contact__telephone {
    display: block;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
}

@media screen and (max-width: 479px) {
    .contact__telephone {
        display: block;
        margin-right: auto;
        margin-left: auto;
        padding-bottom: 0.35714rem;
        -webkit-transition: opacity 300ms;
        transition: opacity 300ms;
    }
    .contact__telephone:hover {
        opacity: 0.8;
    }
}

.contact__telephone-icon--left {
    display: inline-block;
    padding-right: 10px;
    vertical-align: 25%;
}

@media screen and (max-width: 479px) {
    .contact__telephone-icon--left {
        padding-right: 0.35714rem;
        width: 1.64286rem;
    }
}

.contact__telephone-icon--right {
    display: inline-block;
    padding-right: 18px;
    padding-left: 6px;
    vertical-align: 10%;
}

@media screen and (max-width: 479px) {
    .contact__telephone-icon--right {
        padding-right: 0.71429rem;
        padding-left: 0;
        width: 0.92857rem;
    }
}

.contact__telephone-img--left {
    height: 22px;
}

.contact__telephone-img--right {
    height: 25px;
}

.contact__telephone-number {
    font-weight: bold;
    font-size: 26px;
}

@media screen and (max-width: 479px) {
    .contact__telephone-number {
        font-size: 1.57143rem;
    }
}

.contact__telephone-place {
    display: inline-block;
    vertical-align: 10%;
    font-weight: bold;
    font-size: 18px;
}

@media screen and (max-width: 479px) {
    .contact__telephone-place {
        font-size: 1.21429rem;
    }
}

.contact .sns-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.contact .sns-list__item {
    padding-right: 31px;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.contact .sns-list__item:hover {
    opacity: 0.8;
}

.contact__author {
    position: absolute;
    top: 350px;
    right: -27px;
    -ms-writing-mode: tb-rl;
    font-size: 13px;

    -webkit-writing-mode: tb-rl;
    writing-mode: tb-rl;
}

.sns-icon--small {
    height: 17px;
}

.sns-icon--large {
    height: 22px;
}

/* ---------------------------------------------
*   Magnific Popup
--------------------------------------------- */
img.mfp-img {
    padding: 0;
    background-color: #fff;
}

@media screen and (max-width: 479px) {
    img.mfp-img {
        padding: 2.14286rem 2.14286rem 60px;
    }
}

.mfp-gallery img.mfp-img {
    padding: 40px 40px 125px;
}

@media screen and (max-width: 479px) {
    .mfp-gallery img.mfp-img {
        padding: 0;
    }
}

.mfp-arrow {
    margin-top: -55px;
    opacity: 1;
}

.mfp-arrow:after {
    border-bottom-width: 0;
}

.mfp-arrow-right {
    right: 55px;
}

@media screen and (max-width: 479px) {
    .mfp-arrow-right {
        right: 0;
    }
}

.mfp-arrow-right:after {
    width: 30px;
    height: 30px;
    border-top: solid 1px #BBB;
    border-right: solid 1px #BBB;
    border-left: none;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media screen and (max-width: 479px) {
    .mfp-arrow-right:after {
        width: 4.16667vw;
        height: 4.16667vw;
    }
}

.windows .mfp-arrow-right:after {
    border-top: solid 2px #BBB;
    border-right: solid 2px #BBB;
}

.mfp-arrow-right:hover:after {
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
}

.windows .mfp-arrow-right:hover:after {
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
}

.mfp-arrow-left {
    left: 45px;
}

@media screen and (max-width: 479px) {
    .mfp-arrow-left {
        left: 0;
    }
}

.mfp-arrow-left:after {
    width: 30px;
    height: 30px;
    border-top: solid 1px #BBB;
    border-right: solid 1px #BBB;
    border-left: none;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

@media screen and (max-width: 479px) {
    .mfp-arrow-left:after {
        width: 4.16667vw;
        height: 4.16667vw;
    }
}

.windows .mfp-arrow-left:after {
    border-top: solid 2px #BBB;
    border-right: solid 2px #BBB;
}

.mfp-arrow-left:hover:after {
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
}

.windows .mfp-arrow-left:hover:after {
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
}

.mfp-arrow-left:hover:after {
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
}

.mfp-arrow-right:before {
    border-left: none;
}

.mfp-arrow-left:before {
    border-right: none;
}

.mfp-close {
    opacity: 1;
}

.mfp-close:before {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    margin-top: -1px;
    width: 100%;
    border-top: 1px solid #999;
    content: "";
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.windows .mfp-close:before {
    border-top: 2px solid #999;
}

.mfp-close:hover:before {
    border-top: 1px solid #000;
}

.windows .mfp-close:hover:before {
    border-top: 2px solid #000;
}

.mfp-close:after {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    margin-top: -1px;
    width: 100%;
    border-bottom: 1px solid #999;
    content: "";
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.windows .mfp-close:after {
    border-bottom: 2px solid #999;
}

.mfp-close:hover:after {
    border-bottom: 1px solid #000;
}

.windows .mfp-close:hover:after {
    border-bottom: 2px solid #000;
}

.mfp-image-holder button.mfp-close, .mfp-iframe-holder button.mfp-close {
    top: auto;
    right: 40px;
    bottom: 40px;
    padding: 0;
    width: 30px;
}

@media screen and (max-width: 479px) {
    .mfp-image-holder button.mfp-close, .mfp-iframe-holder button.mfp-close {
        right: 25px;
        bottom: 30px;
        width: 6.04167vw;
        height: 6.04167vw;
    }
}

@media screen and (max-width: 479px) {
    .mfp-gallery .mfp-image-holder button.mfp-close, .mfp-gallery .mfp-iframe-holder button.mfp-close {
        right: 15px;
        bottom: -35px;
    }
}

.mfp-image-holder img.mfp-close {
    position: static;
    padding: 0;
    width: auto;
    height: auto;
    vertical-align: top;
}

@media screen and (max-width: 479px) {
    .mfp-container {
        padding: 0;
    }
}

/* ==========================================================
*
*   page
*
========================================================== */
/* ---------------------------------------------
*   Index Page
--------------------------------------------- */
/* ==========================================================
*
*   utility
*
========================================================== */
/* ---------------------------------------------
*   margin-top
--------------------------------------------- */
.mgt-pc--0 {
    margin-top: 0 !important;
}

.mgt-pc--5 {
    margin-top: 5px !important;
}

.mgt-pc--10 {
    margin-top: 10px !important;
}

.mgt-pc--15 {
    margin-top: 15px !important;
}

.mgt-pc--20 {
    margin-top: 20px !important;
}

.mgt-pc--25 {
    margin-top: 25px !important;
}

.mgt-pc--30 {
    margin-top: 30px !important;
}

.mgt-pc--35 {
    margin-top: 35px !important;
}

.mgt-pc--40 {
    margin-top: 40px !important;
}

.mgt-pc--45 {
    margin-top: 45px !important;
}

.mgt-pc--50 {
    margin-top: 50px !important;
}

.mgt-pc--55 {
    margin-top: 55px !important;
}

.mgt-pc--60 {
    margin-top: 60px !important;
}

.mgt-pc--65 {
    margin-top: 65px !important;
}

.mgt-pc--70 {
    margin-top: 70px !important;
}

.mgt-pc--75 {
    margin-top: 75px !important;
}

.mgt-pc--80 {
    margin-top: 80px !important;
}

.mgt-pc--85 {
    margin-top: 85px !important;
}

.mgt-pc--90 {
    margin-top: 90px !important;
}

.mgt-pc--95 {
    margin-top: 95px !important;
}

.mgt-pc--100 {
    margin-top: 100px !important;
}

.mgt-pc--105 {
    margin-top: 105px !important;
}

.mgt-pc--110 {
    margin-top: 110px !important;
}

.mgt-pc--115 {
    margin-top: 115px !important;
}

.mgt-pc--120 {
    margin-top: 120px !important;
}

.mgt-pc--125 {
    margin-top: 125px !important;
}

.mgt-pc--130 {
    margin-top: 130px !important;
}

.mgt-pc--135 {
    margin-top: 135px !important;
}

.mgt-pc--140 {
    margin-top: 140px !important;
}

.mgt-pc--145 {
    margin-top: 145px !important;
}

.mgt-pc--150 {
    margin-top: 150px !important;
}

.mgt-pc--155 {
    margin-top: 155px !important;
}

.mgt-pc--160 {
    margin-top: 160px !important;
}

.mgt-pc--165 {
    margin-top: 165px !important;
}

.mgt-pc--170 {
    margin-top: 170px !important;
}

.mgt-pc--175 {
    margin-top: 175px !important;
}

.mgt-pc--180 {
    margin-top: 180px !important;
}

.mgt-pc--185 {
    margin-top: 185px !important;
}

.mgt-pc--190 {
    margin-top: 190px !important;
}

.mgt-pc--195 {
    margin-top: 195px !important;
}

.mgt-pc--200 {
    margin-top: 200px !important;
}

.mgt-pc--205 {
    margin-top: 205px !important;
}

.mgt-pc--210 {
    margin-top: 210px !important;
}

.mgt-pc--215 {
    margin-top: 215px !important;
}

.mgt-pc--220 {
    margin-top: 220px !important;
}

.mgt-pc--225 {
    margin-top: 225px !important;
}

.mgt-pc--230 {
    margin-top: 230px !important;
}

.mgt-pc--235 {
    margin-top: 235px !important;
}

.mgt-pc--240 {
    margin-top: 240px !important;
}

.mgt-pc--245 {
    margin-top: 245px !important;
}

.mgt-pc--250 {
    margin-top: 250px !important;
}

@media screen and (max-width: 479px) {
    .mgt-sp--0 {
        margin-top: 0 !important;
    }
    .mgt-sp--5 {
        margin-top: 1.04167vw !important;
    }
    .mgt-sp--10 {
        margin-top: 2.08333vw !important;
    }
    .mgt-sp--15 {
        margin-top: 3.125vw !important;
    }
    .mgt-sp--20 {
        margin-top: 4.16667vw !important;
    }
    .mgt-sp--25 {
        margin-top: 5.20833vw !important;
    }
    .mgt-sp--30 {
        margin-top: 6.25vw !important;
    }
    .mgt-sp--35 {
        margin-top: 7.29167vw !important;
    }
    .mgt-sp--40 {
        margin-top: 8.33333vw !important;
    }
    .mgt-sp--45 {
        margin-top: 9.375vw !important;
    }
    .mgt-sp--50 {
        margin-top: 10.41667vw !important;
    }
    .mgt-sp--55 {
        margin-top: 11.45833vw !important;
    }
    .mgt-sp--60 {
        margin-top: 12.5vw !important;
    }
    .mgt-sp--65 {
        margin-top: 13.54167vw !important;
    }
    .mgt-sp--70 {
        margin-top: 14.58333vw !important;
    }
    .mgt-sp--75 {
        margin-top: 15.625vw !important;
    }
    .mgt-sp--80 {
        margin-top: 16.66667vw !important;
    }
    .mgt-sp--85 {
        margin-top: 17.70833vw !important;
    }
    .mgt-sp--90 {
        margin-top: 18.75vw !important;
    }
    .mgt-sp--95 {
        margin-top: 19.79167vw !important;
    }
    .mgt-sp--100 {
        margin-top: 20.83333vw !important;
    }
    .mgt-sp--105 {
        margin-top: 21.875vw !important;
    }
    .mgt-sp--110 {
        margin-top: 22.91667vw !important;
    }
    .mgt-sp--115 {
        margin-top: 23.95833vw !important;
    }
    .mgt-sp--120 {
        margin-top: 25vw !important;
    }
    .mgt-sp--125 {
        margin-top: 26.04167vw !important;
    }
    .mgt-sp--130 {
        margin-top: 27.08333vw !important;
    }
    .mgt-sp--135 {
        margin-top: 28.125vw !important;
    }
    .mgt-sp--140 {
        margin-top: 29.16667vw !important;
    }
    .mgt-sp--145 {
        margin-top: 30.20833vw !important;
    }
    .mgt-sp--150 {
        margin-top: 31.25vw !important;
    }
    .mgt-sp--155 {
        margin-top: 32.29167vw !important;
    }
    .mgt-sp--160 {
        margin-top: 33.33333vw !important;
    }
    .mgt-sp--165 {
        margin-top: 34.375vw !important;
    }
    .mgt-sp--170 {
        margin-top: 35.41667vw !important;
    }
    .mgt-sp--175 {
        margin-top: 36.45833vw !important;
    }
    .mgt-sp--180 {
        margin-top: 37.5vw !important;
    }
    .mgt-sp--185 {
        margin-top: 38.54167vw !important;
    }
    .mgt-sp--190 {
        margin-top: 39.58333vw !important;
    }
    .mgt-sp--195 {
        margin-top: 40.625vw !important;
    }
    .mgt-sp--200 {
        margin-top: 41.66667vw !important;
    }
    .mgt-sp--205 {
        margin-top: 42.70833vw !important;
    }
    .mgt-sp--210 {
        margin-top: 43.75vw !important;
    }
    .mgt-sp--215 {
        margin-top: 44.79167vw !important;
    }
    .mgt-sp--220 {
        margin-top: 45.83333vw !important;
    }
    .mgt-sp--225 {
        margin-top: 46.875vw !important;
    }
    .mgt-sp--230 {
        margin-top: 47.91667vw !important;
    }
    .mgt-sp--235 {
        margin-top: 48.95833vw !important;
    }
    .mgt-sp--240 {
        margin-top: 50vw !important;
    }
    .mgt-sp--245 {
        margin-top: 51.04167vw !important;
    }
    .mgt-sp--250 {
        margin-top: 52.08333vw !important;
    }
}

/* ---------------------------------------------
*   margin-bottom
--------------------------------------------- */
.mgb-pc--0 {
    margin-bottom: 0 !important;
}

.mgb-pc--5 {
    margin-bottom: 5px !important;
}

.mgb-pc--10 {
    margin-bottom: 10px !important;
}

.mgb-pc--15 {
    margin-bottom: 15px !important;
}

.mgb-pc--20 {
    margin-bottom: 20px !important;
}

.mgb-pc--25 {
    margin-bottom: 25px !important;
}

.mgb-pc--30 {
    margin-bottom: 30px !important;
}

.mgb-pc--35 {
    margin-bottom: 35px !important;
}

.mgb-pc--40 {
    margin-bottom: 40px !important;
}

.mgb-pc--45 {
    margin-bottom: 45px !important;
}

.mgb-pc--50 {
    margin-bottom: 50px !important;
}

.mgb-pc--55 {
    margin-bottom: 55px !important;
}

.mgb-pc--60 {
    margin-bottom: 60px !important;
}

.mgb-pc--65 {
    margin-bottom: 65px !important;
}

.mgb-pc--70 {
    margin-bottom: 70px !important;
}

.mgb-pc--75 {
    margin-bottom: 75px !important;
}

.mgb-pc--80 {
    margin-bottom: 80px !important;
}

.mgb-pc--85 {
    margin-bottom: 85px !important;
}

.mgb-pc--90 {
    margin-bottom: 90px !important;
}

.mgb-pc--95 {
    margin-bottom: 95px !important;
}

.mgb-pc--100 {
    margin-bottom: 100px !important;
}

.mgb-pc--105 {
    margin-bottom: 105px !important;
}

.mgb-pc--110 {
    margin-bottom: 110px !important;
}

.mgb-pc--115 {
    margin-bottom: 115px !important;
}

.mgb-pc--120 {
    margin-bottom: 120px !important;
}

.mgb-pc--125 {
    margin-bottom: 125px !important;
}

.mgb-pc--130 {
    margin-bottom: 130px !important;
}

.mgb-pc--135 {
    margin-bottom: 135px !important;
}

.mgb-pc--140 {
    margin-bottom: 140px !important;
}

.mgb-pc--145 {
    margin-bottom: 145px !important;
}

.mgb-pc--150 {
    margin-bottom: 150px !important;
}

.mgb-pc--155 {
    margin-bottom: 155px !important;
}

.mgb-pc--160 {
    margin-bottom: 160px !important;
}

.mgb-pc--165 {
    margin-bottom: 165px !important;
}

.mgb-pc--170 {
    margin-bottom: 170px !important;
}

.mgb-pc--175 {
    margin-bottom: 175px !important;
}

.mgb-pc--180 {
    margin-bottom: 180px !important;
}

.mgb-pc--185 {
    margin-bottom: 185px !important;
}

.mgb-pc--190 {
    margin-bottom: 190px !important;
}

.mgb-pc--195 {
    margin-bottom: 195px !important;
}

.mgb-pc--200 {
    margin-bottom: 200px !important;
}

.mgb-pc--205 {
    margin-bottom: 205px !important;
}

.mgb-pc--210 {
    margin-bottom: 210px !important;
}

.mgb-pc--215 {
    margin-bottom: 215px !important;
}

.mgb-pc--220 {
    margin-bottom: 220px !important;
}

.mgb-pc--225 {
    margin-bottom: 225px !important;
}

.mgb-pc--230 {
    margin-bottom: 230px !important;
}

.mgb-pc--235 {
    margin-bottom: 235px !important;
}

.mgb-pc--240 {
    margin-bottom: 240px !important;
}

.mgb-pc--245 {
    margin-bottom: 245px !important;
}

.mgb-pc--250 {
    margin-bottom: 250px !important;
}

@media screen and (max-width: 479px) {
    .mgb-sp--0 {
        margin-bottom: 0 !important;
    }
    .mgb-sp--5 {
        margin-bottom: 1.04167vw !important;
    }
    .mgb-sp--10 {
        margin-bottom: 2.08333vw !important;
    }
    .mgb-sp--15 {
        margin-bottom: 3.125vw !important;
    }
    .mgb-sp--20 {
        margin-bottom: 4.16667vw !important;
    }
    .mgb-sp--25 {
        margin-bottom: 5.20833vw !important;
    }
    .mgb-sp--30 {
        margin-bottom: 6.25vw !important;
    }
    .mgb-sp--35 {
        margin-bottom: 7.29167vw !important;
    }
    .mgb-sp--40 {
        margin-bottom: 8.33333vw !important;
    }
    .mgb-sp--45 {
        margin-bottom: 9.375vw !important;
    }
    .mgb-sp--50 {
        margin-bottom: 10.41667vw !important;
    }
    .mgb-sp--55 {
        margin-bottom: 11.45833vw !important;
    }
    .mgb-sp--60 {
        margin-bottom: 12.5vw !important;
    }
    .mgb-sp--65 {
        margin-bottom: 13.54167vw !important;
    }
    .mgb-sp--70 {
        margin-bottom: 14.58333vw !important;
    }
    .mgb-sp--75 {
        margin-bottom: 15.625vw !important;
    }
    .mgb-sp--80 {
        margin-bottom: 16.66667vw !important;
    }
    .mgb-sp--85 {
        margin-bottom: 17.70833vw !important;
    }
    .mgb-sp--90 {
        margin-bottom: 18.75vw !important;
    }
    .mgb-sp--95 {
        margin-bottom: 19.79167vw !important;
    }
    .mgb-sp--100 {
        margin-bottom: 20.83333vw !important;
    }
    .mgb-sp--105 {
        margin-bottom: 21.875vw !important;
    }
    .mgb-sp--110 {
        margin-bottom: 22.91667vw !important;
    }
    .mgb-sp--115 {
        margin-bottom: 23.95833vw !important;
    }
    .mgb-sp--120 {
        margin-bottom: 25vw !important;
    }
    .mgb-sp--125 {
        margin-bottom: 26.04167vw !important;
    }
    .mgb-sp--130 {
        margin-bottom: 27.08333vw !important;
    }
    .mgb-sp--135 {
        margin-bottom: 28.125vw !important;
    }
    .mgb-sp--140 {
        margin-bottom: 29.16667vw !important;
    }
    .mgb-sp--145 {
        margin-bottom: 30.20833vw !important;
    }
    .mgb-sp--150 {
        margin-bottom: 31.25vw !important;
    }
    .mgb-sp--155 {
        margin-bottom: 32.29167vw !important;
    }
    .mgb-sp--160 {
        margin-bottom: 33.33333vw !important;
    }
    .mgb-sp--165 {
        margin-bottom: 34.375vw !important;
    }
    .mgb-sp--170 {
        margin-bottom: 35.41667vw !important;
    }
    .mgb-sp--175 {
        margin-bottom: 36.45833vw !important;
    }
    .mgb-sp--180 {
        margin-bottom: 37.5vw !important;
    }
    .mgb-sp--185 {
        margin-bottom: 38.54167vw !important;
    }
    .mgb-sp--190 {
        margin-bottom: 39.58333vw !important;
    }
    .mgb-sp--195 {
        margin-bottom: 40.625vw !important;
    }
    .mgb-sp--200 {
        margin-bottom: 41.66667vw !important;
    }
    .mgb-sp--205 {
        margin-bottom: 42.70833vw !important;
    }
    .mgb-sp--210 {
        margin-bottom: 43.75vw !important;
    }
    .mgb-sp--215 {
        margin-bottom: 44.79167vw !important;
    }
    .mgb-sp--220 {
        margin-bottom: 45.83333vw !important;
    }
    .mgb-sp--225 {
        margin-bottom: 46.875vw !important;
    }
    .mgb-sp--230 {
        margin-bottom: 47.91667vw !important;
    }
    .mgb-sp--235 {
        margin-bottom: 48.95833vw !important;
    }
    .mgb-sp--240 {
        margin-bottom: 50vw !important;
    }
    .mgb-sp--245 {
        margin-bottom: 51.04167vw !important;
    }
    .mgb-sp--250 {
        margin-bottom: 52.08333vw !important;
    }
}

@media screen and (min-width: 480px) {
    .pc-hide {
        display: none !important;
    }
}

@media screen and (max-width: 479px) {
    .sp-hide {
        display: none !important;
    }
}
