body {
    margin: 0;
    line-height: 1;
    font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;

    box-sizing: border-box;
    font-feature-settings: "palt";
}

body * {
    box-sizing: border-box;
}

ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

h1,
h2,
h3,
p {
    margin: 0;
    padding: 0;
}

h1,
h2,
h3 {
    font-weight: normal;
}

a:link,
a:visited,
a:hover,
a:active {
    color: inherit;
    text-decoration: none;
    outline: none;
}

img {
    max-width: 100%;
}

/* Animation */

[data-display-state="hidden"] {
    display: none;
}

[data-animation-type="randomFadeIn"] {
    transition: all 1s cubic-bezier(.4, 0, .2, 1);
}

[data-display-state="hidden"] {
    display: none;
}

[data-animation-state] {
    transition: all 1s cubic-bezier(.4, 0, .2, 1);
}

[data-animation-state="opacity"] {
    opacity: 0;
    transform: translateY(20px);
}

[data-animation-state="active"] {
    transform: translateY(0);
    opacity: 1;
}

@keyframes progress-bar {
    0% {
        width: 0;
    }

    100% {
        width: 100%;
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1;
    }

    100% {
        display: none;

        opacity: 0;
    }
}

@media screen and (min-width: 768px) {
    img[src*="mobile"] {
        display: none;
    }

    header {
        background: #fff;
    }

    .header-inner {
        position: relative;
        margin: 0 auto;
        padding: 0 20px 20px 20px;
        max-width: 1200px;
    }

    .header-inner img[src*="logo.png"] {
        margin-top: 23px;
    }

    .header-inner img[src*="title.png"] {
        float: right;
        margin-top: 34px;
    }

    /* Key Visual */

    .main-kv {
        background: #eee;
    }

    .main-kv ul {
        display: flex;
        margin: 0 auto;
        max-width: 1200px;

        flex-wrap: wrap;
    }

    .main-kv ul > li {
        position: relative;
        width: calc(100% / 3);
    }

    .main-kv ul > li > a {
        display: block;
        position: relative;

        opacity: 0;
    }

    .main-kv-hover {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-width: 5px;
        border-style: solid;
        background: rgba(255, 255, 255, .9);

        transition: all .1s cubic-bezier(.4, 0, .2, 1);
        opacity: 0;
    }

    .main-kv-hover > img {
        position: absolute;
        top: 50%;
        left: 50%;

        transform: translate(-50%, -50%);
    }

    .main-kv ul > li > a:hover .main-kv-hover {
        opacity: 1;
    }

    .main-kv ul > li > a::before {
        display: block;
        position: absolute;
        right: 0;
        bottom: 0;
        width: 40px;
        height: 40px;
        z-index: 1;
        content: "";
    }

    .main-kv ul > li > a::after {
        display: block;
        position: absolute;
        right: 8px;
        bottom: 11px;
        width: 25px;
        height: 15px;
        z-index: 1;
        content: "";
        background-image: url(../img/common/icon-arrow-bottom.png);
    }

    .main-kv ul > li > a[href="#playful"]::before {
        background-color: #a06778;
    }

    .main-kv ul > li > a[href="#playful"] .main-kv-hover {
        border-color: #a06778;
    }

    .main-kv ul > li > a[href="#brave"]::before {
        background-color: #a0a0a0;
    }

    .main-kv ul > li > a[href="#brave"] .main-kv-hover {
        border-color: #a0a0a0;
    }

    .main-kv ul > li > a[href="#relax"]::before {
        background-color: #a9c9e2;
    }

    .main-kv ul > li > a[href="#relax"] .main-kv-hover {
        border-color: #a9c9e2;
    }

    .main-kv ul > li > a[href="#romantic"]::before {
        background-color: #d1987d;
    }

    .main-kv ul > li > a[href="#romantic"] .main-kv-hover {
        border-color: #d1987d;
    }

    .main-kv ul > li > a[href="#calm"]::before {
        background-color: #a9a198;
    }

    .main-kv ul > li > a[href="#calm"] .main-kv-hover {
        border-color: #a9a198;
    }

    .main-kv ul > li > a[href="#sensual"]::before {
        background-color: #e2bdae;
    }

    .main-kv ul > li > a[href="#sensual"] .main-kv-hover {
        border-color: #e2bdae;
    }

    .main-kv-lead {
        padding: 80px 0;
        background: #fff url("../img/pc/kv-text.png") center center no-repeat;
        text-align: center;
    }

    .main-kv-lead-inner {
        position: relative;
        margin: 0 auto;
        max-width: 1200px;
    }

    .main-kv-lead h1 {
        line-height: 1.4;
        font-weight: bold;
        font-size: 30px;
        letter-spacing: .06em;
    }

    .main-kv-lead h1 + p {
        margin-top: 30px;
        line-height: 1.5;
        font-size: 16px;
    }

    .main-kv-lead img[src*="promotion.png"] {
        position: absolute;
        top: 50%;
        left: 30px;

        transform: translateY(-50%);
    }

    section[data-section] {
        position: relative;
        padding-bottom: 60px;
        overflow: hidden;
        background-color: #eee;
    }

    section[data-section] .section-inner {
        position: relative;
        padding-top: 80px;
        z-index: 1;
        color: #fff;
    }

    section[data-section] .section-photo a {
        display: inline-block;
        border-width: 5px;
        border-style: solid;
    }

    section[data-section] + section[data-section] {
        padding-top: 80px;
    }

    section[data-section]::after {
        display: block;
        position: absolute;
        top: 490px;
        width: 100%;
        height: 100%;
        content: "";
    }

    section[data-section="playful"]::after {
        top: 470px;
        background-color: #a06778;
    }

    section[data-section="playful"] .section-photo a,
    section[data-section="playful"] .visit-site a {
        border-color: #512c37;
    }

    section[data-section="brave"]::after {
        background-color: #a0a0a0;
    }

    section[data-section="brave"] .section-photo a,
    section[data-section="brave"] .visit-site a {
        border-color: #5a5a5a;
    }

    section[data-section="relax"]::after {
        background-color: #a9c9e2;
    }
    section[data-section="relax"] .section-photo a,
    section[data-section="relax"] .visit-site a {
        border-color: #457092;
    }

    section[data-section="romantic"]::after {
        background-color: #d1987d;
    }

    section[data-section="romantic"] .section-photo a,
    section[data-section="romantic"] .visit-site a {
        border-color: #724631;
    }

    section[data-section="calm"]::after {
        background-color: #a9a198;
    }
    section[data-section="calm"] .section-photo a,
    section[data-section="calm"] .visit-site a {
        border-color: #625d58;
    }

    section[data-section="sensual"]::after {
        background-color: #e2bdae;
    }
    section[data-section="sensual"] .section-photo a,
    section[data-section="sensual"] .visit-site a {
        border-color: #ce9078;
    }

    .visit-site {
        width: 400px;
        margin: 0 auto;
        text-align: center;
        background: #fff;
    }

    .visit-site a {
        position: relative;
        line-height: 90px;
        border-width: 5px;
        border-style: solid;
        display:block;
        transition: opacity .1s cubic-bezier(0, 0, .2, 1);
        font-size: 18px;
        font-weight: bold;
    }

    .visit-site a:hover {
        opacity: .5;
    }

    .visit-site a > img {
        position: absolute;
        top: 36px;
        right: 10px;
        width: 12px;
        height: 17px;
    }

    section[data-section="playful"] .visit-site a {
        color: #512c37;
    }

    section[data-section="brave"] .visit-site a {
        color: #5a5a5a;
    }

    section[data-section="relax"] .visit-site a {
        color: #457092;
    }

    section[data-section="romantic"] .visit-site a {
        color: #724631;
    }

    section[data-section="calm"] .visit-site a {
        color: #625d58;
    }

    section[data-section="sensual"] .visit-site a {
        color: #ce9078;
    }

    .section-inner {
        position: relative;
        margin: 0 auto;
        width: 780px;
    }

    .section-inner > img[src*="./img/pc/section-title"] {
        margin: 40px 0;
    }

    .section-inner > h2 {
        position: absolute;
        margin: -1px;
        padding: 0;
        width: 1px;
        height: 1px;
        border: 0;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;

        clip-path: inset(50%);
    }

    .section-inner > h2 + h3 {
        line-height: 1.385;
        font-size: 26px;
    }

    .section-inner > h2 + h3 > br {
        display: none;
    }

    .section-inner > h2 + h3 + p {
        margin: 25px 0;
        line-height: 1.5;
        font-size: 16px;
    }

    .section-inner > h2 + h3 + p + small {
        display: block;
        line-height: 1.571;
        font-size: 14px;
    }

    .section-photo {
        margin: 40px 0;
        text-align: center;
    }

    .section-inner ul {
        font-size: 0;
    }

    .section-photo-inner,
    .section-photo a,
    .section-inner ul > li {
        display: inline-block;
        width: 240px;
        background: #fff;
    }

    .section-photo a,
    .section-inner ul > li img {
        transition: opacity .1s cubic-bezier(0, 0, .2, 1);
    }

    .section-photo a:hover,
    .section-inner ul > li:hover img {
        opacity: .5;
    }

    .section-inner ul > li + li {
        margin-left: 30px;
    }

    .section-photo a {
        position: relative;
    }

    .section-photo a::before {
        display: block;
        position: absolute;
        right: 10px;
        bottom: 10px;
        width: 64px;
        height: 17px;
        background-repeat: no-repeat;
        content: "";
    }

    section[data-section="playful"] .section-photo a::before {
        background-image: url(../img/common/icon-more1.png);
    }

    section[data-section="brave"] .section-photo a::before {
        background-image: url(../img/common/icon-more2.png);
    }

    section[data-section="relax"] .section-photo a::before {
        background-image: url(../img/common/icon-more3.png);
    }

    section[data-section="romantic"] .section-photo a::before {
        background-image: url(../img/common/icon-more4.png);
    }

    section[data-section="calm"] .section-photo a::before {
        background-image: url(../img/common/icon-more5.png);
    }

    section[data-section="sensual"] .section-photo a::before {
        background-image: url(../img/common/icon-more6.png);
    }

    /* フッター */
    .article-footer {
        padding: 150px 0 100px;
        line-height: 1;
        text-align: center;
    }

    .article-footer h2 {
        display: inline-block;
        margin-bottom: 50px;
        padding-bottom: 15px;
        border-bottom: 2px solid rgba(27, 27, 27, 1);
        font-size: 15px;
        letter-spacing: .04em;
    }

    .article-contact + .article-contact {
        margin: 70px 0;
    }

    .article-contact br {
        display: none;
    }
    
    .article-footer h3 {
        font-size: 22px;
        line-height: 1;
    }

    .article-footer h3 + p {
        margin: 20px 0;
        font-size: 20px;
        letter-spacing: .04em;
    }

    .article-footer h3 + p > span {
        display: block;
        padding: 15px 0;
        font-size: 16px;
        letter-spacing: .04em;
    }

    .article-footer [src*="icon-freedial.png"] {
        width: 26px;
        height: 17px;
        vertical-align: top;
    }

    .article-footer a[href*="http"] {
        font-size: 20px;
        text-decoration: underline;
    }

    .article-footer-credit {
        margin-bottom: 100px;
        line-height: 21px;
        font-size: 13px;
    }

    .article-footer a[href^="tel"] {
        pointer-events: none;
    }

    .article-footer a[href="#top"] {
        display: inline-block;
        padding-bottom: 5px;
        border-bottom: 1px solid rgba(27, 27, 27, 1);
    }

    .PageShare {
        max-width: 100%!important;
        padding-top: 100px;
    }

    .pageShareBtns {
        padding: 0;
    }

    [data-modal-section] {
        position: fixed;
        top: 50%;
        left: 50%;
        padding: 40px 60px;
        width: 780px;
        height: 780px;
        z-index: 3;
        background: #fff;

        transform: translate(-50%, -50%);
    }

    [data-modal-section] h4 {
        margin: 40px 0 25px;
        line-height: 1.5;
        font-size: 16px;
    }

    [data-modal-section] p {
        line-height: 1;
        font-size: 14px;
    }

    .modal-window-close {
        display: block;
        position: absolute;
        top: calc(-38px - 20px);
        right: 0;
        width: 38px;
        height: 38px;
        background: url(../img/common/icon-close.png);
        background-size: 100%;
        cursor: pointer;
    }

    .modal-background {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 2;
        background: rgba(0, 0, 0, .5);
    }

    [data-modal-section] img {
        display: block;
        margin: 0 auto;
    }

    .slick-prev,
    .slick-next {
        position: absolute;
        top: 50%;
        width: 20px;
        height: 33px;
        border: 0;
        color: transparent;
        background-size: 100%;
        font: 0/0 a;
        text-shadow: none;
        cursor: pointer;

        transition: opacity .1s cubic-bezier(0, 0, .2, 1);
        transform: translateY(-50%);
    }

    .slick-prev {
        left: 40px;
        background: url(../img/common/icon-arrow-left.png);
    }

    .slick-next {
        right: 40px;
        background: url(../img/common/icon-arrow-right.png);
    }

    .slick-prev:hover,
    .slick-next:hover {
        opacity: .5;
    }

    .preloader {
        display: flex;
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        z-index: 5;
        background: #fff;
        text-align: center;

        pointer-events: none;
        align-items: center;
        animation: fadeOut 1s cubic-bezier(.4, 0, .2, 1) 1s 1 forwards;
    }

    .preloader-body {
        width: 100%;
    }

    .preloader-body > img {
        display: block;
        margin: 0 auto;
    }

    .preloader-body > .progress-bar {
        display: inline-block;
        position: relative;
        margin-top: 38px;
        width: 244px;
        height: 4px;
        background: #dcdcdc;
    }

    .preloader-body > .progress-bar::before {
        display: block;
        position: absolute;
        left: 0;
        width: 0;
        height: 4px;
        content: "";
        background: #a59faa;

        animation: progress-bar 1s linear 1 forwards;
    }
}

@media screen and (max-width: 767px) {
    header {
        min-height: calc(80px/2);
        background: #fff;
    }

    .header-inner {
        position: relative;
        margin: 0 auto;
    }

    .header-inner img[src*="logo.png"] {
        margin: calc(15px/2);
        width: calc(197px/2);
    }

    .header-inner img[src*="title.png"] {
        float: right;
        padding: calc(30px/2) calc(20px/2) calc(20px/2);
        width: calc(220px/2);
    }

    /* Key Visual */

    .main-kv ul {
        display: flex;
        margin: 0 auto;
        padding: calc(20px/2);
        width: 100%;
        background: #eee;

        flex-wrap: wrap;
    }

    .main-kv ul > li {
        position: relative;
        width: 50%;
    }

    .main-kv ul > li:nth-child(odd) {
        padding-right: calc(10px/2);
    }

    .main-kv ul > li:nth-child(even) {
        padding-left: calc(10px/2);
    }

    .main-kv ul > li:nth-child(n + 3) {
        margin-top: calc(18px/2);
    }

    .main-kv ul > li > a {
        display: block;
        position: relative;

        opacity: 0;
    }

    .main-kv-hover {
        display: none;
    }

    .main-kv ul > li > a::after {
        display: block;
        position: absolute;
        right: calc(6px/2);
        bottom: calc(10px/2);
        width: calc(25px/2);
        height: calc(15px/2);
        z-index: 1;
        content: "";
        background-image: url(../img/common/icon-arrow-bottom.png);
        background-size: 100%;
    }

    .main-kv ul > li > a > .main-kv-title {
        padding: calc(8px/2);
        max-height: calc(32px/2);
    }

    .main-kv ul > li > a > .main-kv-title > img {
        display: block;
        height: calc(17px/2);
    }

    .main-kv ul > li > a[href="#playful"] .main-kv-title {
        background-color: #a06778;
    }

    .main-kv ul > li > a[href="#playful"] .main-kv-title > img {
        width: calc(204px/2);
    }

    .main-kv ul > li > a[href="#brave"] .main-kv-title {
        background-color: #a0a0a0;
    }

    .main-kv ul > li > a[href="#brave"] .main-kv-title > img {
        width: calc(202px/2);
    }

    .main-kv ul > li > a[href="#relax"] .main-kv-title {
        background-color: #a9c9e2;
    }

    .main-kv ul > li > a[href="#relax"] .main-kv-title > img {
        width: calc(202px/2);
    }

    .main-kv ul > li > a[href="#romantic"] .main-kv-title {
        background-color: #d1987d;
    }

    .main-kv ul > li > a[href="#romantic"] .main-kv-title > img {
        width: calc(161px/2);
    }

    .main-kv ul > li > a[href="#calm"] .main-kv-title {
        background-color: #a9a198;
    }


    .main-kv ul > li > a[href="#calm"] .main-kv-title > img {
        width: calc(90px/2);
    }

    .main-kv ul > li > a[href="#sensual"] .main-kv-title {
        background-color: #e2bdae;
    }

    .main-kv ul > li > a[href="#sensual"] .main-kv-title > img {
        width: calc(197px/2);
    }

    .main-kv-lead {
        padding: calc(60px/2) 0;
        background: #fff url("../img/mobile/kv-text.png") center center no-repeat;
        background-size: calc(361px/2) calc(138px/2);
        text-align: center;
    }

    .main-kv-lead-inner {
        position: relative;
        margin: 0 auto;
    }

    .main-kv-lead h1 {
        font-weight: bold;
        line-height: 1.5;
        font-size: calc(32px/2);
        letter-spacing: .06em;
    }

    .main-kv-lead h1 + p {
        margin-top: calc(30px/2);
        line-height: 1.545;
        font-size: calc(22px/2);
    }

    .main-kv-lead img[src*="promotion.png"] {
        position: absolute;
        top: 50%;
        left: 30px;
        width: calc(14px/2);
        height: calc(182px/2);

        transform: translateY(-50%);
    }

    section[data-section] {
        position: relative;
        padding-bottom: calc(60px/2);
        overflow: hidden;
        background-color: #eee;
    }

    section[data-section] .section-inner {
        position: relative;
        padding-top: calc(60px/2);
        z-index: 1;
        color: #fff;
    }

    section[data-section] .section-photo a {
        display: inline-block;
        border-width: calc(5px/2);
        border-style: solid;
    }

    section[data-section] + section[data-section] {
        padding-top: calc(60px/2);
    }

    section[data-section]::after {
        display: block;
        position: absolute;
        top: calc(390px/2);
        width: 100%;
        height: 100%;
        content: "";
    }

    section[data-section] img[src*="section-title"] {
        margin: calc(40px/2) 0 calc(60px/2);
        height: calc(98px/2);
    }

    section[data-section="playful"]::after {
        background-color: #a06778;
    }

    section[data-section="playful"] .section-photo a {
        border-color: #512c37;
    }

    section[data-section="playful"] img[src*="section-title"] {
        width: calc(331px/2);
    }

    section[data-section="brave"]::after {
        background-color: #a0a0a0;
    }

    section[data-section="brave"] .section-photo a {
        border-color: #5a5a5a;
    }
    section[data-section="brave"] img[src*="section-title"] {
        width: calc(399px/2);
    }

    section[data-section="relax"]::after {
        background-color: #a9c9e2;
    }

    section[data-section="relax"] .section-photo a {
        border-color: #457092;
    }
    section[data-section="relax"] img[src*="section-title"] {
        width: calc(390px/2);
    }

    section[data-section="romantic"]::after {
        background-color: #d1987d;
    }

    section[data-section="romantic"] .section-photo a {
        border-color: #724631;
    }
    section[data-section="romantic"] img[src*="section-title"] {
        width: calc(275px/2);
    }

    section[data-section="calm"]::after {
        background-color: #a9a198;
    }

    section[data-section="calm"] .section-photo a {
        border-color: #625d58;
    }
    section[data-section="calm"] img[src*="section-title"] {
        width: calc(152px/2);
    }

    section[data-section="sensual"]::after {
        background-color: #e2bdae;
    }

    section[data-section="sensual"] .section-photo a {
        border-color: #ce9078;
    }

    section[data-section="sensual"] img[src*="section-title"] {
        width: calc(308px/2);
    }

    section[data-section="sensual"] .section-inner ul {
        justify-content: center;
    }

    section[data-section="sensual"] .section-inner ul li + li {
        margin-left: calc(25px/2);
    }

    .section-inner {
        position: relative;
        margin: 0 auto;
        padding: 0 calc(40px/2);
    }

    .section-inner > img[src*="./img/pc/section-title"] {
        display: none;
    }

    .section-inner > h2 {
        position: absolute;
        margin: -1px;
        padding: 0;
        width: 1px;
        height: 1px;
        border: 0;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;

        clip-path: inset(50%);
    }

    .section-inner > h2 + h3 {
        line-height: 1.429;
        font-size: calc(35px / 2);
    }

    .section-inner > h2 + h3 + p {
        margin: 25px 0;
        line-height: 1.538;
        font-size: calc(26px / 2);
    }

    .section-inner > h2 + h3 + p + small {
        display: block;
        line-height: 1.545;
        font-size: calc(22px / 2);
    }

    .section-photo {
        margin: 40px 0;
        text-align: center;
    }

    .section-inner ul {
        display: flex;

        justify-content: space-between;
    }

    .section-photo-inner,
    .section-photo a,
    .section-inner ul > li {
        display: inline-block;
    }

    .section-inner ul > li {
        display: inline-block;
        width: 31%;
    }

    .section-photo-inner {
        width: 31%;
    }

    .section-photo a,
    .section-inner ul > li img {
        transition: opacity .1s cubic-bezier(0, 0, .2, 1);
    }

    .section-photo a:hover,
    .section-inner ul > li:hover img {
        opacity: .5;
    }

    section[data-section="playful"] .section-photo a,
    section[data-section="playful"] .visit-site a {
        border-color: #512c37;
    }

    section[data-section="brave"]::after {
        background-color: #a0a0a0;
    }

    section[data-section="brave"] .section-photo a,
    section[data-section="brave"] .visit-site a {
        border-color: #5a5a5a;
    }

    section[data-section="relax"]::after {
        background-color: #a9c9e2;
    }
    section[data-section="relax"] .section-photo a,
    section[data-section="relax"] .visit-site a {
        border-color: #457092;
    }

    section[data-section="romantic"]::after {
        background-color: #d1987d;
    }

    section[data-section="romantic"] .section-photo a,
    section[data-section="romantic"] .visit-site a {
        border-color: #724631;
    }

    section[data-section="calm"]::after {
        background-color: #a9a198;
    }
    section[data-section="calm"] .section-photo a,
    section[data-section="calm"] .visit-site a {
        border-color: #625d58;
    }

    section[data-section="sensual"]::after {
        background-color: #e2bdae;
    }

    section[data-section="sensual"] .section-photo a,
    section[data-section="sensual"] .visit-site a {
        border-color: #ce9078;
    }

    section[data-section] .visit-site {
        max-width: calc(570px/2);
        margin: 0 auto;
        text-align: center;
        background: #fff;
    }

    section[data-section] .visit-site a {
        position: relative;
        line-height: calc(90px/2);
        border-width: calc(5px/2);
        border-style: solid;
        display:block;
        transition: opacity .1s cubic-bezier(0, 0, .2, 1);
        font-size: calc(26px/2);
        font-weight: bold;
    }

    section[data-section] .visit-site a > img {
        position: absolute;
        top: 50%;
        transform: translate(0, -50%);
        right: 10px;
        width: calc(12px/2);
        height: calc(17px/2);
    }

    section[data-section="playful"] .visit-site a {
        color: #512c37;
    }

    section[data-section="brave"] .visit-site a {
        color: #5a5a5a;
    }

    section[data-section="relax"] .visit-site a {
        color: #457092;
    }

    section[data-section="romantic"] .visit-site a {
        color: #724631;
    }

    section[data-section="calm"] .visit-site a {
        color: #625d58;
    }

    section[data-section="sensual"] .visit-site a {
        color: #ce9078;
    }

    .section-photo a {
        position: relative;
    }

    .section-photo a::before {
        display: block;
        position: absolute;
        right: calc(10px/2);
        bottom: calc(10px/2);
        width: calc(64px/2);
        height: calc(17px/2);
        background-repeat: no-repeat;
        background-size: 100%;
        content: "";
    }

    section[data-section="playful"] .section-photo a::before {
        background-image: url(../img/common/icon-more1.png);
    }

    section[data-section="brave"] .section-photo a::before {
        background-image: url(../img/common/icon-more2.png);
    }

    section[data-section="relax"] .section-photo a::before {
        background-image: url(../img/common/icon-more3.png);
    }

    section[data-section="romantic"] .section-photo a::before {
        background-image: url(../img/common/icon-more4.png);
    }

    section[data-section="calm"] .section-photo a::before {
        background-image: url(../img/common/icon-more5.png);
    }

    section[data-section="sensual"] .section-photo a::before {
        background-image: url(../img/common/icon-more6.png);
    }


    /* フッター */

    .article-footer {
        padding: calc(160px/2) 0 0;
        line-height: 1;
        text-align: center;
    }

    .article-footer h2 {
        display: inline-block;
        margin-bottom: calc(36px/2);
        padding-bottom: calc(15px/2);
        border-bottom: 1px solid rgba(27, 27, 27, 1);
        font-size: calc(24px/2);
        letter-spacing: .04em;
    }

    .article-contact + .article-contact {
        margin: calc(80px/2) 0 calc(120px/2);
    }

    .article-footer h3 {
        font-size: calc(30px/2);
        line-height: 1.33;
    }

    .article-footer h3 + p {
        margin: calc(30px/2) 0;
        font-size: calc(28px/2);
        letter-spacing: .04em;
    }

    .article-footer h3 + p > span {
        display: block;
        padding: 15px 0;
        font-size: calc(28px/2);
        letter-spacing: .04em;
    }

    .article-footer [src*="icon-freedial.png"] {
        width: calc(36px/2);
        height: calc(23px/2);
        vertical-align: top;
    }

    .article-footer a[href*="http"] {
        font-size: calc(28px/2);
        text-decoration: underline;
    }

    .article-footer-credit {
        margin-bottom: calc(120px/2);
        line-height: 1.762;
        color: rgb(27, 27, 27);
        font-size: calc(21px/2);
    }

    .article-footer a[href^="tel"] {
        pointer-events: none;
    }

    .article-footer a[href="#top"] {
        display: inline-block;
        padding-bottom: 5px;
        border-bottom: 1px solid rgba(27, 27, 27, 1);
    }

    .PageShare {
        padding: calc(120px/2) 0 0!important;
    }

    /* Modal */

    [data-modal-section] {
        position: fixed;
        top: 50%;
        left: 50%;
        padding: calc(20px/2) calc(40px/2) calc(40px/2);
        width: calc(100% - 40px);
        z-index: 3;
        background: #fff;

        transform: translate(-50%, -50%);
    }

    [data-modal-section] h4 {
        margin: calc(25px/2) 0;
        line-height: 1.538;
        font-size: calc(26px/2);
    }

    [data-modal-section] p {
        line-height: 1;
        font-size: calc(22px/2);
    }

    .modal-window-close {
        display: block;
        position: absolute;
        top: calc(-38px/2 - 20px/2);
        right: 0;
        width: calc(38px/2);
        height: calc(38px/2);
        background: url(../img/common/icon-close.png);
        background-size: 100%;
        cursor: pointer;
    }

    .modal-background {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 2;
        background: rgba(0, 0, 0, .5);
    }

    .modal-window img {
        display: block;
        margin: 0 auto;
    }

    .slick-prev,
    .slick-next {
        position: absolute;
        top: 50%;
        width: calc(20px/2);
        height: calc(33px/2);
        border: 0;
        color: transparent;
        font: 0/0 a;
        text-shadow: none;
        cursor: pointer;

        transition: opacity .1s cubic-bezier(0, 0, .2, 1);
        transform: translateY(-50%);
    }

    .slick-prev {
        left: calc(15px/2);
        background: url(../img/common/icon-arrow-left.png);
        background-size: 100%;
    }

    .slick-next {
        right: calc(15px/2);
        background: url(../img/common/icon-arrow-right.png);
        background-size: 100%;
    }

    .slick-prev:hover,
    .slick-next:hover {
        opacity: .5;
    }

    .preloader {
        display: flex;
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        z-index: 5;
        background: #fff;
        text-align: center;

        pointer-events: none;
        align-items: center;
        animation: fadeOut 1s cubic-bezier(.4, 0, .2, 1) 1s 1 forwards;
    }

    .preloader-body {
        width: 100%;
    }

    .preloader-body > img {
        display: block;
        margin: 0 auto;
        max-width: 83%;
        width: calc(631px/2);
    }

    .preloader-body > .progress-bar {
        display: inline-block;
        position: relative;
        margin-top: calc(48px/2);
        width: calc(244px/2);
        height: calc(4px/2);
        background: #dcdcdc;
    }

    .preloader-body > .progress-bar::before {
        display: block;
        position: absolute;
        left: 0;
        width: 0;
        height: calc(4px/2);
        content: "";
        background: #a59faa;

        animation: progress-bar 1s linear 1 forwards;
    }
}
