img {
    width: 100%;
}

.mainVisual {
    position: relative;
}

.icatch {
    max-width: 540px;
    position: absolute;
    top: 28%;
    left: 50%;
    margin-left: -270px;
}

.rainbow img {
    width: 50px;
    margin: 1em 0;
}

.side_button {
    position: absolute;
    top: 450px;
    right: 0;
    width: 200px;
}

.nobr {
    white-space: nowrap;
}

#campaign {
    background: url(../../images/top/girl.jpg) left no-repeat;
    background-size: contain;
}

#campaign .campaign-item {
    text-align: center;
}

#campaign .campaign-item img {
    max-width: 820px;
    margin: 0 auto;
}

#campaign .campaign-txt {
    text-align: center;
    margin: 2.0em 0;
}

#campaign .campaign-txt img {
    max-width: 640px;
}

#feature .feature {
    margin: 3.0em 0;
    text-align: center;
}

#feature .feature img {
    max-width: 900px;
    margin-bottom: 1.5em;
}

#feature p {
    text-align: center;
}

#pricelist .price-table {
    display: flex;
    justify-content: center;
    padding-bottom: 3.0em;
}

#pricelist .l-table {
    margin: 2.0em;
    width: 420px;
}

#pricelist .r-table {
    margin: 2.0em;
    width: 420px;
}

#pricelist table {
    width: 100%;
    border-left: 1px solid #0064B6;
    border-bottom: 1px solid #0064B6;
}

#pricelist td {
    padding: 5px;
    text-align: center;
    border-right: 1px solid #0064B6;
    border-bottom: 1px solid #0064B6;
    vertical-align: middle;
}

#pricelist .t-tit {
    background: #0064B6;
    color: #FFF;
}

#pricelist .t-subtit {
    background: #00ADEC;
    color: #FFF;
}

#pricelist .p-blue {
    background: #E8F8FE;
    color: #0064B6;
}

#pricelist .b-white {
    background: #FFF;
    color: #0064B6;
}

#pricelist {
    background: #DFF3F8 url(../../images/top/dot-y-bg.png) left top no-repeat;
}

#pricelist .premium {
    border-radius: 20px;
    background: #0064B6;
    color: #FFF;
    font-size: 70%;
    width: 90px;
    margin: 0 auto;
}

section#concept {
    width: 70%;
    text-align: right;
    padding-bottom: calc(150 / 1920 * 100%);
    background: url("../../images/top/campaign-bg.png");
    margin-left: 30%;
}

section#concept .block {
    display: flex;
}

section#concept .block:first-of-type .ph {
    width: calc(1137 / 1920 * 100%);
}

section#concept .block:first-of-type .txt {
    flex: 1;
}

section#concept .block:last-of-type {
    background: #FFF;
}

section#concept .block:last-of-type .ph {
    order: 2;
    width: calc(782 / 1920 * 100%);
}

section#concept .block:last-of-type .txt {
    order: 1;
    flex: 1;
    padding-right: calc(260 / 1920 * 100%);
    background: -webkit-linear-gradient(0deg, #F8F8F8 0%, #F8F8F8 85%, #FFF 85%, #FFF 100%);
}

section#access .alphawash-name {
    width: 400px;
    margin-bottom: 1.0em;
}

section#access {
    padding-bottom: 50px;
}

section#access .block {
    display: flex;
    max-width: 1156px;
    margin: 45px auto 90px;
}

section#access .block .map {
    width: 600px;
}

section#access .block .map iframe {
    width: 100%;
    min-width: 600px;
    height: 460px;
}

section#access .block .address {
    flex: 1;
    font-size: 1.5rem;
    padding: 0 0 0 calc(130 / 1920 * 100%);
}

section#access .block .address .hdg_ttl04 {
    font-size: 2.0rem;
    color: #000;
    font-weight: bold;
    margin-bottom: calc(150 / 1920 * 100%);
    font-family: 'Futura W01', 'Yu Mincho Pr6 W53';
    word-spacing: 2px;
}

section#access .block .address p {
    margin-bottom: 1em;
}

section#access .ph {
    max-width: 1156px;
    margin: 0 auto 90px;
}

@media (max-width: 1420px) {
    section#access .block .map {
        width: 50%;
    }
    section#access .block .map iframe {
        width: 100%;
        min-width: 400px;
    }
}

@media (max-width: 820px) {
    .icatch {
        max-width: 360px;
        top: 25%;
        margin-left: -180px;
    }
    .side_button {
        top: 300px;
        width: 170px;
    }
    section#access {
        padding: 2em;
    }
    section#access .block .address {
        padding: calc(130 / 1920 * 100%) 0 0 calc(130 / 1920 * 100%);
    }
}

@media (max-width: 768px) {
    section#concept {
        margin-bottom: calc(150 / 1920 * 100%);
    }
    section#concept .block {
        display: block;
    }
    section#concept .block:first-of-type .ph {
        width: 100%;
    }
    section#concept .block:first-of-type .txt {
        width: 100%;
    }
    section#concept .block:last-of-type {
        background: #FFF;
        display: block;
    }
    section#concept .block:last-of-type .ph {
        width: 100%;
        text-align: right;
    }
    section#concept .block:last-of-type .ph img {
        width: 50%;
    }
    section#concept .block:last-of-type .txt {
        width: 100%;
        overflow: hidden;
        padding-right: 20px;
        background: -webkit-linear-gradient(0deg, #F8F8F8 0%, #F8F8F8 50%, #FFF 50%, #FFF 100%);
    }
    section#access {
        padding-bottom: 0;
        background: none;
    }
    section#access .block {
        display: block;
        margin: 0 auto;
    }
    section#access .block .map {
        width: auto;
        margin: 0 20px;
    }
    section#access .block .map iframe {
        width: 100%;
        min-width: initial;
        height: 250px;
    }
    section#access .block .address {
        font-size: 1.3rem;
        padding: 30px 20px 20px;
    }
    section#access .block .address .hdg_ttl04 {
        font-size: 1.8rem;
        margin-bottom: 20px;
    }
    section#access .ph {
        margin: 0 auto 40px;
    }
    .icatch {
        max-width: 340px;
        margin-left: -170px;
    }
    .side_button {
        top: 420px;
        width: 150px;
    }
    section#concept {
        width: 100%;
        margin-left: 0;
    }
    #campaign .campaign-txt {
        margin: 0 0 2em;
    }
    #feature p {
        text-align: left;
    }
    #pricelist .price-table {
        display: block;
    }
    #pricelist .l-table {
        margin: 2em auto;
        width: 92%;
    }
    #pricelist .r-table {
        margin: 2em auto;
        width: 92%;
    }
    section#access .block .map {
        padding-top: 0px;
    }
    #gblFooter {
        background: #39CBF7;
    }
    #pricelist {
        background-size: 40%;
    }
}