@charset "utf-8";

#container {
    width: auto;
}

#container .one_col {
    width: auto;
}

img {
    image-rendering: -webkit-optimize-contrast;
}

main .inner {
    max-width: 1100px;
    margin: 0 auto;
}

.top_pc {
    display: none;
}

.tp_present_top h2 {
    text-align: center;
}

.tp_present_top h2 img {
    width: 90%;
    max-width: 679px;
}

.present_top_bottom span {
    font-size: 1.5em;
}

/********** 202403追加 **********/
.present_lineup {
    background-color: #FEFBC6;
    padding: 15px 0;
}

.present_lineup .present_lineup_wrapper {
    background-color: #f9fbff;
    border: 3px solid #033490;
    text-align: center;
    padding: 20px 18px;
    max-width: 550px;
    margin: 0 auto;
}

.present_lineup .present_lineup_wrapper div p {
    line-height: 1.3;
    font-size: 1em;
    font-weight: bold;
}

.present_lineup .present_lineup_wrapper div p .dis_blue {
    color: #0000ff;
}

.present_lineup .present_lineup_wrapper div p .dis_red_amount {
    color: #f00;
    font-size: 1.4em;
}

.present_lineup .present_lineup_wrapper div p .enbun {
    color: #f00;
}

.present_lineup .present_lineup_wrapper div img {
    display: none;
}

.present_lineup .present_lineup_wrapper small {
    display: none;
}

.sp {
    display: block;
}

.pc {
    display: none;
}


/*
.present_lineup>.description {
    background-color: #f9fbff;
    border: 3px solid #033490;
    background-size: cover;
    text-align: center;
    font-weight: bold;
    padding: 20px;
    line-height: 1.3;
    max-width: 525px;
}

.description>.dis_bottom>.pc {
    display: none;
}

.description>.dis_bottom>.sp {
    display: block;
}

.present_lineup>.description>.dis_top>span {
    font-size: 1.5em;
}

.present_lineup>.description>.dis_bottom>span {
    font-size: 1.2em;
}

.present_lineup>.description>.dis_bottom>.review_post {
    font-size: 1.1em;
    color: blue;
    text-shadow: 0px 4px 1px #fff, 1px 3px 1px #fff, 2px 3px 1px #fff,
        2px 2px 1px #fff, 3px 2px 1px #fff, 3px 1px 1px #fff,
        4px 0px 1px #fff, 3px -1px 1px #fff, 3px -2px 1px #fff,
        2px -2px 1px #fff, 2px -3px 1px #fff, 1px -3px 1px #fff,
        0px -4px 1px #fff, -1px -3px 1px #fff, -2px -3px 1px #fff,
        -2px -2px 1px #fff, -3px -2px 1px #fff, -3px -1px 1px #fff,
        -4px 0px 1px #fff, -3px 1px 1px #fff, -3px 2px 1px #fff,
        -2px 2px 1px #fff, -2px 3px 1px #fff, -1px 3px 1px #fff;
}

.present_lineup>.description>.dis_bottom>.nm_winners {
    font-size: 1.5em;
    color: #F00;
    text-shadow: 0px 4px 1px #fff, 1px 3px 1px #fff, 2px 3px 1px #fff,
        2px 2px 1px #fff, 3px 2px 1px #fff, 3px 1px 1px #fff,
        4px 0px 1px #fff, 3px -1px 1px #fff, 3px -2px 1px #fff,
        2px -2px 1px #fff, 2px -3px 1px #fff, 1px -3px 1px #fff,
        0px -4px 1px #fff, -1px -3px 1px #fff, -2px -3px 1px #fff,
        -2px -2px 1px #fff, -3px -2px 1px #fff, -3px -1px 1px #fff,
        -4px 0px 1px #fff, -3px 1px 1px #fff, -3px 2px 1px #fff,
        -2px 2px 1px #fff, -2px 3px 1px #fff, -1px 3px 1px #fff;
}

.present_lineup>.description>.dis_bottom>.elected_amount {
    font-size: 1.5em;
    color: #F00;
    text-shadow: 0px 4px 1px #fff, 1px 3px 1px #fff, 2px 3px 1px #fff,
        2px 2px 1px #fff, 3px 2px 1px #fff, 3px 1px 1px #fff,
        4px 0px 1px #fff, 3px -1px 1px #fff, 3px -2px 1px #fff,
        2px -2px 1px #fff, 2px -3px 1px #fff, 1px -3px 1px #fff,
        0px -4px 1px #fff, -1px -3px 1px #fff, -2px -3px 1px #fff,
        -2px -2px 1px #fff, -3px -2px 1px #fff, -3px -1px 1px #fff,
        -4px 0px 1px #fff, -3px 1px 1px #fff, -3px 2px 1px #fff,
        -2px 2px 1px #fff, -2px 3px 1px #fff, -1px 3px 1px #fff;
    padding-left: 5px;
}

.present_lineup>.description>.dis_bottom>.enbun {
    font-size: 1.2em;
    color: #F00;
    text-shadow: 0px 4px 1px #fff, 1px 3px 1px #fff, 2px 3px 1px #fff,
        2px 2px 1px #fff, 3px 2px 1px #fff, 3px 1px 1px #fff,
        4px 0px 1px #fff, 3px -1px 1px #fff, 3px -2px 1px #fff,
        2px -2px 1px #fff, 2px -3px 1px #fff, 1px -3px 1px #fff,
        0px -4px 1px #fff, -1px -3px 1px #fff, -2px -3px 1px #fff,
        -2px -2px 1px #fff, -3px -2px 1px #fff, -3px -1px 1px #fff,
        -4px 0px 1px #fff, -3px 1px 1px #fff, -3px 2px 1px #fff,
        -2px 2px 1px #fff, -2px 3px 1px #fff, -1px 3px 1px #fff;
    padding-left: 2px;
}

.present_lineup>small {
    display: none;
}
*/
.to_how_to_apply {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 35px 0;
}

.to_how_to_apply>img {
    width: 100px;
}

.to_how_to_apply>a {
    position: relative;
    text-decoration: none;
}

.to_how_to_apply>a>div {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFF;
    font-size: 1.3em;
    font-weight: bold;
    background: #c30d23;
    border-radius: 40px;
    width: 270px;
    height: 55px;
}

.to_how_to_apply>a>div::before {
    content: "";
    background: url("../img/icon_to_right.png") no-repeat;
    background-size: 100%;
    width: 21px;
    height: 21px;
    margin-right: 5px;
}

.to_how_to_apply>a::after {
    position: absolute;
    content: "";
    background: url("../img/torisuke_img_tire.png") no-repeat;
    background-size: 100%;
    top: -30px;
    right: -20px;
    width: 94px;
    height: 94px;
}

.step_introduction {
    background-color: #FEFBC6;
    padding: 15px 0 1px;
}

.step_introduction h3,
.means_of_application ol li dl dt {
    background: linear-gradient(90deg, rgba(233, 75, 75, 1) 0%, rgba(195, 13, 35, 1) 100%);
    color: #fff;
    text-align: center;
}

.step_introduction h3 {
    font-size: 1.45em;
    border-radius: 35px;
    margin: 10px 0;
    padding: 10px;
    line-height: 1.2em;
}

.step_introduction h3 span {
    display: block;
}

.means_of_application {
    margin: 25px 15px;
}

.means_of_application h4 {
    color: #000;
    font-size: 1.3em;
    text-indent: -1em;
    margin: -10px 0 10px;
    padding-left: 1em;
    line-height: 1.3em;
}

.means_of_application h4 span {
    display: block;
}

.means_of_application h4::before {
    content: "■";
}

.means_of_application ol li {
    margin-bottom: 64px;
}

.means_of_application ol li dl {
    position: relative;
}

.means_of_application ol li dl dt {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.4em;
    font-weight: bold;
    height: 50px;
}

.means_of_application ol li dl dd {
    display: grid;
    justify-content: center;
    align-items: center;
    background: #FFF;
    padding: 10px 20px;
}

.means_of_application ol li dl dd p {
    text-align: left;
    font-size: 1.1em;
    font-weight: bold;
    line-height: 1.5em;
}

.means_of_application ol li dl dd img {
    width: 95%;
    border: 1px solid #333;
}

.whats_tirepit {
    text-align: center;
}

.whats_tirepit a {
    font-weight: bold;
    font-size: 1.1em;
    text-decoration: underline;
    margin: 10px 0 0;
}

.means_of_application ol li::after {
    position: absolute;
    content: "";
    background: url("../img/arrow_low.png") no-repeat;
    left: calc(50% - 35px);
    width: 70px;
    height: 46px;
    margin: 10px 0 0 0;
}

.means_of_application>ol>li:last-child::after {
    display: none;
}

.means_of_application ol li:last-child {
    margin-bottom: 20px;
}

.btn_tirepit_search {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 20px 0;
}

.btn_tirepit_search a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.5em;
    font-weight: bold;
    color: #FFF;
    background-color: #c30d23;
    text-decoration: none;
    width: 90%;
    max-width: 480px;
    height: 100px;
}

.btn_tirepit_search a::before {
    content: "";
    background: url("../img/icon_magnifyingglass.png") no-repeat;
    background-size: 100%;
    top: 0;
    left: 0;
    width: 32px;
    height: 32px;
}

.campaign_overview dl {
    background: #FFF;
    margin: 10px 15px;
    padding: 15px;
}

.campaign_overview dt {
    display: flex;
    justify-content: left;
    align-items: center;
    background: #2050A2;
    color: #fff;
    font-size: 1.3em;
    font-weight: bold;
    text-indent: 1em;
    height: 32px;
}

.campaign_overview dt:nth-child(3),
.campaign_overview dt:nth-child(9) {
    letter-spacing: 1em;
}

.campaign_overview dd {
    line-height: 1.5;
    margin: 10px 0px 15px 10px;
}

.cam_overview_list {
    padding-left: 1em;
}

.campaign_overview dl dd ol {
    padding-left: 1.2em;
}

.campaign_overview dl dd ol li {
    list-style-type: decimal;
}

.cam_overview_list li {
    list-style-type: disc;
}

@media screen and (min-width: 500px) {
    .present_lineup .present_lineup_wrapper div p {
        font-size: 1.1em;
    }
}

@media screen and (min-width: 768px) {

    .top_sp,
    .present_top_bottom {
        display: none;
    }

    .top_pc {
        display: inline-block;
    }

    .tp_present_top h2 img {
        max-width: 1100px;
    }

    .present_top_top h2 {
        margin-bottom: 20px;
    }

    .present_top_top h2 img {
        width: 70%;
    }

    /********** 202403追加 **********/
    .present_lineup .present_lineup_wrapper {
        max-width: 960px;
        margin: 0 auto;
        padding: 10px;
    }

    .present_lineup .present_lineup_wrapper div {
        display: flex;
        justify-content: space-around;
        align-items: center;
    }

    .present_lineup .present_lineup_wrapper div p {
        text-align: left;
        line-height: 1.4;
        font-weight: bold;
    }

    .present_lineup .present_lineup_wrapper div img {
        display: block;
    }

    .present_lineup .present_lineup_wrapper small {
        display: block;
        text-align: right;
    }

    .pc {
        display: block;
    }

    .sp {
        display: none;
    }

    /*
    .present_lineup {
        position: relative;
        padding: 25px 25px 5px 25px;
    }

    .present_lineup::before {
        display: inline-block;
        position: absolute;
        content: '';
        background: url("../img/tp_quo_top_pc.png")no-repeat;
        background-size: 100%;
        top: 50px;
        left: 60%;
        width: 270px;
        height: 248px;
        z-index: 1;
    }

    .present_lineup>.description {
        font-size: 1.4em;
        max-width: 960px;
        text-align: left;
    }

    .description>p {
        font-weight: bold;
    }

    .description>.dis_top {
        font-size: 1.1em;
    }

    .description>.dis_bottom {
        width: 57%;
        margin-left: 20px;
        line-height: 35px;
    }

    .description>.dis_bottom>.sp {
        display: none;
    }

    .description>.dis_bottom>.pc {
        display: block;
    }

    .description p span {
        font-size: 1.25em;
    }

    .present_lineup>small {
        display: block;
        font-weight: bold;
        text-align: right;
        max-width: 960px;
        margin: 0 auto;
    }

    .present_lineup>.description>.dis_bottom>.gift {
        display: block;
    }
*/

    .to_how_to_apply {
        height: 100px;
    }

    .to_how_to_apply>img {
        width: 155px;
        padding-right: 10px;
    }

    .to_how_to_apply>a>div {
        font-size: 2em;
        letter-spacing: 5px;
        border-radius: 33px;
        width: 480px;
        height: 65px;
    }

    .to_how_to_apply>a::after {
        top: -36px;
        right: -30px;
        width: 120px;
        height: 120px;
    }

    .step_introduction {
        padding: 25px 0 0;
    }

    .step_introduction h3 {
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: bold;
        font-size: 1.8em;
        width: 93%;
        height: 50px;
        margin: 0 auto;
    }

    .means_of_application {
        margin: 20px 0;
    }

    .means_of_application h4 {
        text-align: center;
        font-weight: bold;
        font-size: 1.5em;
        margin: 0 0 15px;
        letter-spacing: 1px;
    }

    .means_of_application h4::before {
        font-size: 1.4em;
    }

    .means_of_application ol li::after {
        display: none;
    }

    .means_of_application ol {
        text-align: center;
    }

    .means_of_application ol li {
        display: inline-block;
        vertical-align: top;
        width: 29%;
        margin-bottom: 20px;
        position: relative;
        z-index: 10;
    }

    .means_of_application ol li dl dd {
        padding: 15px;
        margin: 0 0 7px;
    }

    .means_of_application ol li dl dd:nth-child(3) {
        padding: 0;
    }

    .means_of_application ol li dl dd p {
        margin-bottom: 10px;
    }

    .means_of_application ol li dl dd img {
        width: 100%;
    }

    .means_of_application ol li:nth-child(1),
    .means_of_application ol li:nth-child(2),
    .direct_delivery ol li:nth-child(4),
    .direct_delivery ol li:nth-child(5) {
        margin-right: 28px;
    }

    .means_of_application ol li:nth-child(1)::before,
    .means_of_application ol li:nth-child(2)::before,
    .direct_delivery ol li:nth-child(4)::before,
    .direct_delivery ol li:nth-child(5)::before {
        position: absolute;
        display: block;
        content: '';
        width: 212%;
        height: 150px;
        background: url("../img/arrow.png") no-repeat 50% 45%;
        /*右矢印画像*/
        background-size: 5%;
        z-index: 20;
    }

    .direct_delivery ol li:nth-child(1)::after {
        position: absolute;
        display: block;
        content: '';
        top: 380px;
        left: 80px;
        width: 250%;
        height: 100%;
        background: url("../img/arrow_down.png") no-repeat;
        background-size: 100%;
        z-index: 0;
    }

    .means_of_application h4 span {
        display: inline;
    }

    .btn_tirepit_search a {
        font-size: 2em;
        width: 480px;
        margin: 30px;
    }

    .btn_tirepit_search a:hover {
        transform: translateY(3px);
        box-shadow: none;
    }

    .campaign_overview dl {
        margin: 10px auto;
        width: 80%;
    }

    .campaign_overview dt {
        height: 40px;
        font-size: 1.5em;
    }

    .campaign_overview dt:nth-child(1),
    .campaign_overview dt:nth-child(5),
    .campaign_overview dt:nth-child(7) {
        letter-spacing: 2px;
    }

    .campaign_overview dd {
        font-size: 1.15em;
        margin: 10px 0 25px 15px;
    }
}

@media screen and (min-width: 820px) {

    /*.present_lineup>.description>.dis_bottom>.gift {
        display: inline-block;
    }

    .present_lineup::before {
        top: 70px;
    }
*/
    .present_lineup .present_lineup_wrapper div p {
        font-size: 1.3em;
    }

    .direct_delivery ol li:nth-child(1)::after {
        left: 125px;
        width: 215%;
    }

    .means_of_application ol li:nth-child(n+4) {
        padding-top: 60px;
    }
}

/*
@media screen and (min-width: 960px) {
    .present_lineup>.description {
        padding: 20px;
    }

    .description>.dis_bottom {
        width: 62%;
    }

    .present_lineup::before {
        left: 65%;
    }
}*/

@media screen and (min-width: 1100px) {

    .means_of_application ol li:nth-child(1)::before,
    .means_of_application ol li:nth-child(2)::before,
    .direct_delivery ol li:nth-child(4)::before,
    .direct_delivery ol li:nth-child(5)::before {
        width: 210%;
    }
}

/*
@media screen and (min-width: 1366px) {
    .present_lineup::before {
        left: 63%;
    }
}*/