@charset "UTF-8";

/*----------------------------------------
  fv
------------------------------------------*/
.s-pc {
    display: none;
}

.s-sp {
    display: inline-block;
}

.br-sp {
    display: inline-block;
}

.f-section-header .f-heading:first-child {
    margin-top: 0;
}

.f-section-header .f-heading {
    margin: 40px 0 10px;
}

.f-mv {
    height: auto;
}

.f-mv-message {
    padding: 0;
}

.f-mv::before {
    background-color: rgba(0, 0, 0, 0);
}

.f-mv-heading {
    margin-bottom: auto;
}

.f-mv-heading img {
    width: 100%;
}

.f-menu.f-menu--cover {
    background: #272727;
    margin-bottom: 0;
}

.f-menu.f-menu--cover .f-menu-button {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #272727;
    color: #fff;
    font-size: 12px;
    padding: 11px 8px 17px;
    position: relative;
    vertical-align: middle;
    text-decoration: none;
    font-weight: bold;
}

.f-menu.f-menu--cover .f-menu-button:hover {
    background: #272727;
}

.f-menu.f-menu--cover .f-menu-button::before {
    position: absolute;
    bottom: 9px;
    left: 0;
    right: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 7px;
    height: 7px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

.f-menu.f-menu--cover .f-menu-button:active {
    color: #fff;
}

p.faq {
    text-align: left;
}

.f-section-inner {
    padding: 30px 20px 40px;
}

#detail .f-section-inner,
#faq .f-section-inner {
    padding: 40px 20px 40px;
}

.f-text,
p {
    margin-bottom: 5px;
}

.f-accordion-panel-head {
    color: #2C4777;
}

.f-accordion.f-accordion--faq .f-accordion-panel-head::before {
    background: #2C4777;
}

.f-accordion-panel {
    border: 2px solid #2C4777;
}

.f-accordion-panel-head::after {
    color: #2C4777;
}

.f-accordion.f-accordion--faq .inner::before {
    background: #333333;
}

#entry::before {
    display: none;
}

#entry .f-section-inner {
    background-image: linear-gradient(0deg, #ebf1ff 0%, #9cb6ff);
}

.f-section::before {
    content: "";
    background: #2C4777;
    display: block;
    height: 4px;
}


#faq .f-section-inner {
    background: #f2f2f2;
}

.f-section.f-section--border {
    border-bottom: 32px solid #ffffff;
}

.entry-ttl {
    text-align: center;
    top: -15px;
    left: 0;
    right: 0;
    position: absolute;
    width: 112px;
    height: 35px;
    margin: 0 auto;
}

.entry-step-list {
    position: relative;
    background: #fff;
    border-radius: 20px;
    padding: 35px 20px 25px;
}

.entry-step-list:first-child {
    margin-bottom: 65px;
}

.entry-step-list:first-child .entry-txt {
    width: 100%;
    max-width: 150px;
    margin: 10px auto 0;
}

.entry-step-list .entry-txt {
    text-align: center;
    width: 100%;
    max-width: 316px;
    margin: 15px auto 30px;
}

.entry-link {
    text-align: center;
}

.entry-link a {
    color: #333;
}

.entry-step-list:first-child:after {
    content: "";
    display: inline-block;
    width: 35px;
    height: 35px;
    background-image: url('/doc/special/score-app/swing-campaign/vol-01/img/ic-entry.png');
    background-position: center;
    background-size: contain;
    position: absolute;
    bottom: -42px;
    right: 50%;
    left: 50%;
    margin-left: -17.5px;
}

.entry-step-detail {
    display: flex;
    align-items: center;
}

.entry-arrow {
    width: calc(110 / 750 * 100vw);
    margin-right: calc(-20 / 750 * 100vw);
    margin-left: calc(20 / 750 * 100vw);
}

.entry-arrow img {
    width: 100%;
}

.step-image-01 {
    text-align: center;
    width: calc(610 / 750 * 100vw);

}

.step-image-02 {
    text-align: center;
}

.step-video {
    width: calc(230 / 750 * 100vw);
    margin-top: 10px;
}


#detail .f-heading {
    width: 100%;
    max-width: 200px;
    margin: 10px auto 0;
}

#faq .f-heading {
    width: 100%;
    max-width: 150px;
    margin: 10px auto 0;
}

.app-btn-area {
    text-align: center;
    margin: 40px 0;
    padding: 0 20px;
}

.app-btn-area p {
    margin-bottom: 15px;
}

/*------------------------------------
  エントリ―ボタン
------------------------------------*/
.CampaignEntryButton_campaignButton__n6hK5 {
    margin: 32px auto 20px !important;
}

.CampaignEntryButton_campaignButton__n6hK5 .CampaignEntryButton_rexButton__VH0Gh .CampaignEntryButton_rexButtonMessage__o1qbU {
    font-size: 18px !important;
}

.CampaignEntryButton_campaignButton__n6hK5 .CampaignEntryButton_rexButton__VH0Gh.CampaignEntryButton_wide__b6abC {
    min-width: auto;
    width: 100% !important;
}

.CommonEnteredList {
    text-align: center;
}

.CommonEnteredList a {
    line-height: 1.25;
    color: #404040;
}

a#rex-ceb-01.EntryCustomNomove {
    text-decoration: none !important;
}

#detail .f-heading {
    margin: 0 auto;
}

.content {
    background: #fff;
}

.content .cta {
    padding: 13.3vw 0;
    background: url(/doc/guide/gora_app/score/assets/img/cta001-sp.png) no-repeat;
    background-position: 0 center;
    background-size: 45.3vw auto;
    background-color: #2c2c2c
}

.content .cta-heading {
    width: 53.4vw;
    margin: 0 3vw 2.65vw auto;
    color: #fff;
    text-align: center;
    font-size: 2.8vw;
    font-weight: 700;
}

.content .cta-action {
    width: 36.4vw;
    margin: 0 11.6vw 0 auto;
    text-align: center;
}

.content .cta-action .ios,
.content .cta-action .android {
    display: block;
}

.content .cta-action .ios {
    margin-bottom: 2.65vw;
}

.content .cta-action .qrcode {
    display: none;
}

.bg-content {
    display: none;
}


/*-----------------------------------------
-----------------------------------
  style PC
-----------------------------------
------------------------------------------*/
@media screen and (min-width: 768px) {
    :root {
        --content-width: 680px;
    }

    body {
        background: #BED0FF;

    }

    .pc .rc-f-standard,
    .pc.rc-f-standard {
        background-color: #fff;
    }

    .br-sp {
        display: none;
    }

    .content {
        width: 680px;
        margin: 0 auto;
    }

    .CampaignEntryButton_campaignButton__n6hK5 {
        margin: 32px 40px 20px !important;
    }

    #target-area {
        box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .25);
    }

    .step-video {
        width: 150px;
    }

    .f-mv-heading .main-pc {
        display: block;
    }

    .f-mv-heading .main-sp {
        display: none;
    }

    .content .btn-area {
        display: none;
    }

    .content .cta {
        padding: 20px 0;
        background-size: 360px auto;
        height: 260px;
    }

    .content .cta-heading {
        width: 680px;
        text-align: right;
        font-size: 18px;
        box-sizing: border-box;
        padding-right: 20px;
        margin: 30px 0 40px;
    }

    .content .cta-action {
        width: 680px;
        text-align: right;
        padding-right: 90px;
        margin: 0;
        box-sizing: border-box;
    }

    .content .cta-action .ios {
        margin-bottom: 20px;
    }

    .video-overlay {
        position: absolute;
        top: 40px;
        left: 38px;
        width: 78%;
        height: auto;
        z-index: 1;
        overflow: hidden;
    }

    .f-table.f-table--2column.f-table--vertical {
        border-top: none;
    }

    .f-table.f-table--2column.f-table--vertical tr {
        display: block;
        border-bottom: none;
        margin-bottom: 20px;
    }

    .f-table.f-table--2column.f-table--vertical th {
        display: block;
        width: 100%;
    }

    .f-table.f-table--2column.f-table--vertical td {
        display: block;
        width: 100%;
    }

    #detail .f-section-inner {
        padding: 66px 20px 40px;
    }

    #faq .f-section-inner {
        padding: 66px 40px 40px;
    }

    p.faq {
        font-size: 14px;
    }

    .entry-step-list {
        padding: 35px 40px 25px;
    }

    .entry-step-list:first-child {
        margin-bottom: 85px;
    }

    .entry-step-list:first-child:after {
        width: 45px;
        height: 45px;
        bottom: -57px;
    }

    .entry-step-list:first-child .entry-txt {
        width: 100%;
        max-width: 200px;
        margin: 10px auto 0;
    }

    .entry-step-list .entry-txt {
        width: 100%;
        max-width: 406px;
        margin: 15px auto 30px;
    }

    .entry-arrow {
        width: 55px;
        margin-right: -40px;
        margin-left: 30px;
    }

    .step-image-01 {
        width: 370px;
    }
}

@media screen and (min-width: 1024px) {
    .f-section-inner {
        width: 680px;
        padding: 50px 30px 60px;
        box-sizing: border-box;
    }

    .f-menu.f-menu--cover .f-menu-button {
        font-size: 16px;
        padding: 21px 8px 27px;
    }

    #detail .f-heading {
        max-width: 280px;
    }

    #faq .f-heading {
        max-width: 200px;
    }

}