@charset 'Shift_JIS';
/************************************************************************************
*  dq1and2 section
************************************************************************************/
body {
    position: relative;
    background-color: white;
}

article.dq1and2 {
    display: block;
    width: 100%;
    background: url('../img/bg.jpg') repeat-y top / cover;
    background-color: black;
    color: white;
}

section {
    position: relative;
    background-position: top center;
    background-repeat: no-repeat;
}

img {
    width: 100%;
}

/* price
-----------------------------------------------------------*/
.price {
    box-sizing: border-box;
    background: #441B27;
    border: 3px solid #CFC355;
    width: calc(580 / 640 * 100vw);
    margin: calc(30 / 640 * 100vw) auto 0;
    padding: calc(30 / 640 * 100vw) calc(40 / 640 * 100vw);
}

.price h2 {
    text-align: center;
    color: #FFF;
    font-size: calc(32 / 640 * 100vw);
    font-weight: bold;
    margin-bottom: calc(24 / 640 * 100vw);
}

.priceList > li {
    background: #FFF;
    padding-bottom: calc(40 / 640 * 100vw);
}

.priceList > li + li {
    margin-top: calc(20 / 640 * 100vw);
}

.priceList_image {
    width: calc(280 / 640 * 100vw);
    display: block;
    margin: 0 auto;
}

.priceList_detail {
    flex: 1;
}

.priceList_title {
    background: #E4000F;
    color: #FFF;
    font-weight: bold;
    font-size: calc(22 / 640 * 100vw);
    padding: calc(10 / 640 * 100vw) 0;
    text-align: center;
}

.priceList_title.-ps5 {
    background: #D6DCE5;
    color: #000;
}

.priceTitle, .item_price {
    color: #FF1500;
}

.item_price .yen, .item_price .yen::before {
    font-weight: bold;
}

.priceTitle {
    font-weight: bold;
    font-size: calc(24 / 640 * 100vw);
    margin-top: calc(25 / 640 * 100vw);
    margin-bottom: calc(10 / 640 * 100vw);
    text-align: center;
}

.item_price {
    margin-bottom: calc(20 / 640 * 100vw);
}

.item_price .price_font {
    font-size: calc(110 / 640 * 100vw);
    letter-spacing: calc(-5 / 640 * 100vw);
}

.item_price .yen {
    font-size: calc(52 / 640 * 100vw);
    display: inline-block;
    margin-left: calc(10 / 640 * 100vw);
}

.item_price .yen::before {
    font-weight: bold;
    top: calc(-25 / 640 * 100vw);
    left: calc(-4 / 640 * 100vw);
}

.cta_btn {
    position: static;
    width: calc(390 / 640 * 100vw);
    display: block;
    margin: 0 auto;
}

.cta_btn > img {
    width: 100% !important;
    display: block;
    margin: 0 auto;
}

/* benefit
-----------------------------------------------------------*/
.benefit {
    box-sizing: border-box;
    background: #F2EFE7;
    color: #000;
    border: 3px solid #CFC355;
    width: calc(580 / 640 * 100vw);
    margin: calc(40 / 640 * 100vw) auto 0;
}

.benefitTitle {
    background: #0E63A8;
    color: #FFF;
    text-align: center;
    font-weight: bold;
    color: #FFF;
    font-size: calc(25 / 640 * 100vw);
    line-height: calc(40 / 640 * 100vw);
    padding: calc(16 / 640 * 100vw) 0;
}

.benefitContent {
    padding: calc(30 / 640 * 100vw);
}

.benefitContent_lead {
    font-size: calc(14 / 640 * 100vw);
}

.benefitContent_title {
    font-size: calc(16 / 640 * 100vw);
    font-weight: bold;
    text-align: center;
    width: 100%;
    margin: calc(20 / 640 * 100vw) auto;
    padding-bottom: calc(20 / 640 * 100vw);
    border-bottom: 1px solid black;
}

.benefitContent_title > span {
    font-size: 85%;
}

.benefitContentList > li {
    width: calc(435 / 640 * 100vw);
    margin: 0 auto;
}

.benefitContentList > li + li {
    margin-top: calc(20 / 640 * 100vw);
}

.benefitContentList_title {
    background: #06538E;
    color: white;
    font-weight: bold;
    width: 100%;
    font-size: calc(22 / 640 * 100vw);
    padding: calc(10 / 640 * 100vw) 0 calc(10 / 640 * 100vw) calc(5 / 640 * 100vw);
    border-top-right-radius: calc(25 / 640 * 100vw);
    border-bottom-right-radius: calc(25 / 640 * 100vw);
    word-break: keep-all;
}

.benefitContentList_content {
    display: flex;
    align-items: center;
    margin-top: calc(10 / 640 * 100vw);
}

.benefitContentList_image {
    display: block;
    width: calc(110 / 640 * 100vw);
}

.benefitContentList_detail {
    margin-left: calc(22 / 640 * 100vw);
}

.benefitContentList_text {
    font-size: calc(20 / 640 * 100vw);
}

.benefitContentList_detail h5 {
    font-size: calc(26 / 640 * 100vw);
    margin-top: calc(8 / 640 * 100vw);
    font-weight: bold;
}

.benefitContent_notes {
    margin-top: calc(30 / 640 * 100vw);
}

.benefitContent_notes > li {
    font-size: calc(10 / 640 * 100vw);
    padding-left: 1.5em;
    text-indent: -1.5em;
}

/* movie
-----------------------------------------------------------*/
.movie {
    width: calc(580 / 640 * 100vw);
    margin: calc(50 / 640 * 100vw) auto 0;
}

.movie_title {
    margin-bottom: calc(40 / 640 * 100vw);
}

.movie img {
    width: 100%;
}

/* story
-----------------------------------------------------------*/
.story {
    width: calc(580 / 640 * 100vw);
    margin: calc(60 / 640 * 100vw) auto 0;
    text-align: center;
}

.story_title {
    margin-bottom: calc(40 / 640 * 100vw);
}

.storyList > li + li {
    margin-top: calc(40 / 640 * 100vw);
}

.storyList_title {
    width: calc(296 / 640 * 100vw);
    margin: 0 auto;
}

.storyList_lead {
    font-size: calc(15 / 640 * 100vw);
    line-height: calc(40 / 640 * 100vw);
    margin: calc(40 / 640 * 100vw) 0;
}

.storyList_images {
    width: calc(520 / 640 * 100vw);
    margin: 0 auto;
}

.storyList_images > li + li {
    margin-top: calc(20 / 640 * 100vw);
}

.story_note {
    font-size: calc(12 / 640 * 100vw);
    margin-top: calc(100 / 640 * 100vw);
}

/* cta_btn bottom
-----------------------------------------------------------*/
section.cta_btn_bottom {
    margin: calc(70/640*100vw) 0;
    text-align: center;
}

section.cta_btn_bottom .cta_btn {
    position: relative;
}

/* inner footer
-----------------------------------------------------------*/
section.inner_footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    align-items: center;
    text-align: center;
    margin: 0;
    padding: 0;
    background-image: url('../../img/sp/area_footer.png');
    padding-bottom: calc(200/640*100vw);
}

section.inner_footer p {
    width: 100%;
    font-size: calc(16/640*100vw);
}

section.inner_footer img {
    display: inline-block;
    width: auto;
    height: .8em;
}
