@charset "UTF-8";

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

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
    content: "";
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

html {
    font-size: 100%;
}

body {
    font-size: 1rem;
    line-height: 1;
}

p, li, dt, dd, input, textarea, th, td {
    color: #202020;
    line-height: 175%;
}

img {
    vertical-align: bottom;
    width: 100%;
    height: auto;
}

figure img {
    width: 100%;
}

.pc {
    display: block;
}

@media only screen and (max-width: 768px) {
    .pc {
        display: none;
    }
}
.sp {
    display: none;
}

@media only screen and (max-width: 768px) {
    .sp {
        display: inherit;
    }
}
img.pc, br.pc, span.pc, strong.pc, small.pc {
    display: inline;
}

@media only screen and (max-width: 768px) {
    img.pc, br.pc, span.pc, strong.pc, small.pc {
        display: none;
    }
}
img.sp, br.sp, span.sp, strong.sp, small.sp {
    display: none;
}

@media only screen and (max-width: 768px) {
    img.sp, br.sp, span.sp, strong.sp, small.sp {
        display: inline;
    }
}
a[href^=tel] {
    cursor: text;
}

@media only screen and (max-width: 768px) {
    a[href^=tel] {
        cursor: pointer;
    }
}

.cmnBlankLink.s_note::after {
    background-image: url(/common/img/icon_out2.png);
}

footer {
    position: relative;
    background: #edebe8;
    padding: 0;
    text-align: left;
}

footer .footer_block1 {
    box-sizing: content-box;
    max-width: 1020px;
    margin-left: auto;
    margin-right: auto;
    padding: 20px 15px;
}

@media only screen and (max-width: 768px) {
    footer .footer_block1 {
        padding: 3.90625vw 5.859375vw;
    }
}
footer .footer_block1 p {
    font-size: 14px;
    color: #626d73;
}

@media only screen and (max-width: 768px) {
    footer .footer_block1 p {
        font-size: 3.125vw;
    }
}
footer .footer_block1 {
box-sizing: content-box;
max-width: 1020px;
margin-left: auto;
margin-right: auto;
padding: 20px 15px 70px;
}
@media only screen and (max-width: 768px) {
footer .footer_block1 {
position: relative;
padding: 3.90625vw 5.859375vw 60px;
}
}
footer .footer_block2 {
    padding: 30px 0;
    background: #fff;
    border-bottom: 1px solid #d9d6d2;
}

@media only screen and (max-width: 768px) {
    footer .footer_block2 {
        padding: 3.90625vw 0;
    }
}
footer .footer_block2 ul {
    display: flex;
    justify-content: center;
    margin-bottom: 30px;
}

@media only screen and (max-width: 768px) {
    footer .footer_block2 ul {
        justify-content: space-between;
        flex-wrap: wrap;
        margin: 0 auto 3.90625vw;
        width: 80.7291666667vw;
    }
}
footer .footer_block2 ul li {
    margin: 0 12px;
    font-size: 16px;
    line-height: 1;
}

@media only screen and (max-width: 768px) {
    footer .footer_block2 ul li {
        margin: 0;
        font-size: 3.6458333333vw;
    }
}
@media only screen and (max-width: 768px) {
    footer .footer_block2 ul li:not(:last-child) {
        margin-bottom: 3.2552083333vw;
    }
}
footer .footer_block2 ul li a {
    text-decoration: underline;
}

footer .footer_block2 .cright {
    font-size: 16px;
    text-align: center;
    color: #626d73;
}

@media only screen and (max-width: 768px) {
    footer .footer_block2 .cright {
        font-size: 3.125vw;
    }
}
footer .footer_block3 {
    padding: 27px 0;
    background: #fff;
}

@media only screen and (max-width: 768px) {
    footer .footer_block3 {
        padding: 3.2552083333vw 0;
    }
}
footer .footer_block3 .logo {
    margin: 0 auto;
    width: 250px;
}

@media only screen and (max-width: 768px) {
    footer .footer_block3 .logo {
        width: 32.5520833333vw;
    }
}

.l-container {
    margin: 0 auto;
    width: 1140px;
    max-width: 90vw;
}

.l-flexbox {
    display: flex;
}

.c-ttl1 {
    font-size: 30px;
    color: #d42446;
    text-align: center;
    font-weight: bold;
}

@media only screen and (max-width: 768px) {
    .c-ttl1 {
        font-size: 6.1197916667vw;
    }
}
.c-ttl1 small {
    font-size: 28px;
}

@media only screen and (max-width: 768px) {
    .c-ttl1 small {
        font-size: 4.9479166667vw;
    }
}
.c-ttl1 span {
    display: inline-block;
    position: relative;
    top: 0;
    z-index: 1;
    padding: 6px 12px 2px;
    margin-top: 15px;
    border-radius: 5px;
    font-size: 25px;
    font-weight: bold;
    color: #d42446;
    border: 2px solid #d42446;
    transition: 0.3s;
}

@media only screen and (max-width: 768px) {
    .c-ttl1 span {
        padding: 1.0416666667vw 2.34375vw 0.5208333333vw;
        margin-top: 1.3020833333vw;
        border-radius: 0.6510416667vw;
        font-size: 4.296875vw;
    }
}
.c-ttl1 span--blue {
    color: #29a3da;
    border: 2px solid #def0f8;
}

.c-ttl1--blue {
    color: #29a4db;
}

.c-ttl1--blue span {
    color: #29a4db;
    border-color: #29a4db;
}

.c-point_box {
    overflow: hidden;
    position: relative;
    padding: 40px;
    background: #fff;
    border-radius: 10px;
}

@media only screen and (max-width: 768px) {
    .c-point_box {
        padding: 3.90625vw 6.5104166667vw;
        border-radius: 1.3020833333vw;
    }
}
@media only screen and (max-width: 768px) {
    .c-point_box--table {
        padding: 1.3020833333vw 1.3020833333vw 4.5572916667vw;
    }
}
.c-point_box::before, .c-point_box::after {
    content: " ";
    position: absolute;
    top: 0;
}

.c-point_box::before {
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #d6f1ec rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    border-width: 100px 100px 0 0;
}

@media only screen and (max-width: 768px) {
    .c-point_box::before {
        border-width: 13.0208333333vw 13.0208333333vw 0 0;
    }
}
.c-point_box::after {
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: rgba(0, 0, 0, 0) #f3dbd3 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    border-width: 0 100px 100px 0;
}

@media only screen and (max-width: 768px) {
    .c-point_box::after {
        border-width: 0 13.0208333333vw 13.0208333333vw 0;
    }
}
.c-point_img {
    margin: 0 auto;
}

.c-point_img.img1 {
    margin-bottom: 30px;
    width: 250px;
}

@media only screen and (max-width: 768px) {
    .c-point_img.img1 {
        margin-bottom: 3.2552083333vw;
        width: 50.1302083333vw;
    }
}
.c-point_img.img2 {
    width: 400px;
    margin-bottom: 30px;
}

@media only screen and (max-width: 768px) {
    .c-point_img.img2 {
        width: 78.125vw;
        margin-bottom: 3.2552083333vw;
    }
}
.c-point_img.img3 {
    margin-bottom: 30px;
    width: 400px;
}

@media only screen and (max-width: 768px) {
    .c-point_img.img3 {
        margin-bottom: 3.2552083333vw;
        width: 78.125vw;
    }
}
.c-point_lead {
    margin-bottom: 30px;
    font-size: 20px;
    text-align: center;
}

@media only screen and (max-width: 768px) {
    .c-point_lead {
        margin-bottom: 3.2552083333vw;
        font-size: 4.1666666667vw;
        text-align: left;
    }
}
.c-point_table {
    position: relative;
    z-index: 1;
    margin-bottom: 0;
    width: 100%;
    border: 1px solid #d8d5d1;
}

.c-point_table tr:not(:last-child) {
    border-bottom: 1px solid #d8d5d1;
}

@media only screen and (max-width: 768px) {
    .c-point_table tr {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
}
.c-point_table tr th, .c-point_table tr td {
    border: none;
    padding: 10px 0;
    font-size: 16px;
    text-align: center;
    vertical-align: middle;
}

@media only screen and (max-width: 940px) {
    .c-point_table tr th, .c-point_table tr td {
        padding: 1.0638297872vw 0;
        font-size: 1.7021276596vw;
    }
}
@media only screen and (max-width: 768px) {
    .c-point_table tr th, .c-point_table tr td {
        padding: 1.953125vw 0;
        font-size: 3.125vw;
    }
}
.c-point_table tr th:not(:last-child), .c-point_table tr td:not(:last-child) {
    border-right: 1px solid #d8d5d1;
}

@media only screen and (max-width: 768px) {
    .c-point_table tr th:not(:last-child), .c-point_table tr td:not(:last-child) {
        border-right: none;
    }
}
.c-point_table tr th .mark, .c-point_table tr td .mark {
    position: relative;
    top: -5px;
    font-size: 12px;
}

@media only screen and (max-width: 940px) {
    .c-point_table tr th .mark, .c-point_table tr td .mark {
        top: -0.5319148936vw;
        font-size: 1.2765957447vw;
    }
}
@media only screen and (max-width: 768px) {
    .c-point_table tr th .mark, .c-point_table tr td .mark {
        top: -1.0416666667vw;
        font-size: 2.0833333333vw;
    }
}
.c-point_table tr th {
    font-weight: bold;
}

@media only screen and (max-width: 768px) {
    .c-point_table tr th {
        width: 100%;
        background: #ebe9e6;
        border-right: none;
        border-bottom: 1px solid #d8d5d1;
    }
}
@media only screen and (max-width: 768px) {
    .c-point_table tr td {
        width: 21.484375vw;
    }
}
@media only screen and (max-width: 768px) {
    .c-point_table tr td:not(:last-child) {
        border-right: 1px solid #d8d5d1;
    }
}
@media only screen and (max-width: 768px) {
    .c-point_table tr td.sp_w100 {
        width: 64.453125vw;
    }
}
.c-point_table tr.plan {
    background: #bc9500;
    flex-wrap: inherit;
}

.c-point_table tr.plan th {
    background: #bc9500;
    color: #fff;
}

@media only screen and (max-width: 768px) {
    .c-point_table tr.plan th {
        width: 21.484375vw;
    }
}
@media only screen and (max-width: 768px) {
    .c-point_table tr.plan th:first-child {
        display: none;
    }
}
@media only screen and (max-width: 768px) {
    .c-point_table tr.plan th:not(:last-child) {
        border-right: 1px solid #d8d5d1;
    }
}
.c-point_table tr.price th {
    background: #d77757;
    color: #fff;
}

.c-point_table tr.price td {
    color: #ca0033;
}

.c-point_table_aside {
    margin: 20px 0 45px;
}

@media only screen and (max-width: 768px) {
    .c-point_table_aside {
        margin: 2.6041666667vw 3.90625vw;
    }
}
.c-point_table_aside li {
    padding-left: 3em;
    text-indent: -3em;
    font-size: 14px;
    color: #626d73;
}

@media only screen and (max-width: 768px) {
    .c-point_table_aside li {
        font-size: 3.125vw;
    }
}
.c-point_btn {
    margin: 0 auto;
    width: 448px;
}

@media only screen and (max-width: 768px) {
    .c-point_btn {
        width: 79.4270833333vw;
    }
}
.c-point_btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    height: 70px;
    border-radius: 50px;
    border: 2px solid #00b092;
    font-size: 21px;
    font-weight: bold;
    color: #00b092;
    text-decoration: none;
    transition: 0.3s;
}

@media only screen and (max-width: 768px) {
    .c-point_btn a {
        height: 13.0208333333vw;
        border-radius: 6.5104166667vw;
        font-size: 3.90625vw;
    }
}
.c-point_btn a::after {
    content: " ";
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    width: 14px;
    height: 12px;
    margin: auto 0;
    background: url(/common/img/icon_out1.png);
}

@media only screen and (max-width: 768px) {
    .c-point_btn a::after {
        right: 2.5vw;
    }
}
.c-point_btn a:hover {
    opacity: 0.8;
}

.c-point_btn--plan {
    margin-bottom: 35px;
}

@media only screen and (max-width: 768px) {
    .c-point_btn--plan {
        margin-bottom: 5.2083333333vw;
    }
}
.c-point_btn--campaign {
    margin-bottom: 20px;
}

@media only screen and (max-width: 768px) {
    .c-point_btn--campaign {
        margin-bottom: 2.6041666667vw;
    }
}
.c-point_ttl1 {
    margin: 0 0 35px;
    font-size: 30px;
    font-weight: bold;
    color: #fff;
    text-align: center;
}

@media only screen and (max-width: 768px) {
    .c-point_ttl1 {
        margin-bottom: 3.90625vw;
        font-size: 6.25vw;
    }
}
.c-point_ttl1 span {
    position: relative;
}

.c-point_ttl1 span::before {
    content: " ";
    position: absolute;
    top: 50%;
    left: -35px;
    transform: translateY(-50%) rotate(-40deg);
    width: 2px;
    height: 55px;
    background: #fff;
}

@media only screen and (max-width: 768px) {
    .c-point_ttl1 span::before {
        left: -3.90625vw;
        height: 6.5104166667vw;
    }
}
.c-point_ttl1 span::after {
    content: " ";
    position: absolute;
    top: 50%;
    right: -35px;
    transform: translateY(-50%) rotate(40deg);
    width: 2px;
    height: 55px;
    background: #fff;
}

@media only screen and (max-width: 768px) {
    .c-point_ttl1 span::after {
        right: -3.90625vw;
        height: 6.5104166667vw;
    }
}
.c-point_ttl2 {
    margin: 0 0 30px;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    line-height: 120%;
}

@media only screen and (max-width: 768px) {
    .c-point_ttl2 {
        margin-bottom: 3.90625vw;
        font-size: 6.25vw;
    }
}
.c-point_ttl2 .red {
    color: #c90033;
}

.c-point_ttl2 .mark {
    position: relative;
    top: -16px;
    font-size: 12px;
}

@media only screen and (max-width: 768px) {
    .c-point_ttl2 .mark {
        top: -2.34375vw;
        font-size: 3.125vw;
    }
}
.c-point_ttl3 {
    margin-bottom: 15px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    color: #d67757;
}

@media only screen and (max-width: 768px) {
    .c-point_ttl3 {
        margin-bottom: 3.2552083333vw;
        font-size: 4.1666666667vw;
    }
}
.c-point_ttl3 span {
    position: relative;
}

.c-point_ttl3 span::before {
    content: " ";
    position: absolute;
    top: 50%;
    left: -20px;
    transform: translateY(-50%) rotate(-40deg);
    width: 2px;
    height: 35px;
    background: #d67757;
}

@media only screen and (max-width: 768px) {
    .c-point_ttl3 span::before {
        left: -3.2552083333vw;
        height: 6.5104166667vw;
    }
}
.c-point_ttl3 span::after {
    content: " ";
    position: absolute;
    top: 50%;
    right: -20px;
    transform: translateY(-50%) rotate(40deg);
    width: 2px;
    height: 35px;
    background: #d67757;
}

@media only screen and (max-width: 768px) {
    .c-point_ttl3 span::after {
        right: -3.2552083333vw;
        height: 6.5104166667vw;
    }
}
.c-application_ttl {
    margin: 0 0 10px;
    font-size: 30px;
    font-weight: bold;
    line-height: 120%;
    text-align: center;
    color: #fff;
}

@media only screen and (max-width: 768px) {
    .c-application_ttl {
        margin-bottom: 1.953125vw;
        font-size: 5.46875vw;
    }
}
.c-application_ttl .yellow {
    position: relative;
    font-size: 32px;
    color: #fff80e;
}

@media only screen and (max-width: 768px) {
    .c-application_ttl .yellow {
        font-size: 5.9895833333vw;
    }
}
.c-application_ttl .yellow::before {
    content: " ";
    position: absolute;
    bottom: 8px;
    left: -70px;
    transform: rotate(-40deg);
    width: 2px;
    height: 50px;
    background: #fff80e;
}

@media only screen and (max-width: 768px) {
    .c-application_ttl .yellow::before {
        bottom: 0.6510416667vw;
        left: -7.1614583333vw;
        height: 10.4166666667vw;
    }
}
.c-application_ttl .yellow::after {
    content: " ";
    position: absolute;
    bottom: 8px;
    right: -70px;
    transform: rotate(40deg);
    width: 2px;
    height: 50px;
    background: #fff80e;
}

@media only screen and (max-width: 768px) {
    .c-application_ttl .yellow::after {
        bottom: 0.6510416667vw;
        right: -7.1614583333vw;
        height: 10.4166666667vw;
    }
}
.c-application_btn {
    position: relative;
    margin: 0 auto 20px;
    width: 448px;
}

@media only screen and (max-width: 768px) {
    .c-application_btn {
        margin-bottom: 3.2552083333vw;
        width: 79.4270833333vw;
    }
}
.c-application_btn::before {
    content: " ";
    position: absolute;
    top: 10px;
    left: 0;
    width: 100%;
    height: 70px;
    background: #bf0000;
    border-radius: 50px;
}

@media only screen and (max-width: 768px) {
    .c-application_btn::before {
        top: 1.3020833333vw;
        border-radius: 6.5104166667vw;
        height: 13.0208333333vw;
    }
}
.c-application_btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    top: 0;
    height: 70px;
    background: #d52446;
    border-radius: 50px;
    font-size: 21px;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    transition: 0.3s;
}

@media only screen and (max-width: 768px) {
    .c-application_btn a {
        border-radius: 6.5104166667vw;
        height: 13.0208333333vw;
        font-size: 4.6875vw;
    }
}
.c-application_btn a::after {
    content: " ";
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    width: 14px;
    height: 12px;
    margin: auto 0;
    background: url(/common/img/icon_out1_white.png);
}

@media only screen and (max-width: 768px) {
    .c-application_btn a::after {
        right: 3.5vw;
    }
}
.c-application_btn a:hover {
    top: 10px;
}

@media only screen and (max-width: 768px) {
    .c-application_btn a:hover {
        top: 1.3020833333vw;
    }
}
.c-application_flow {
    font-size: 18px;
    text-align: center;
}

@media only screen and (max-width: 768px) {
    .c-application_flow {
        font-size: 4.1666666667vw;
    }
}
.c-application_flow a {
    color: #fff;
    text-decoration: underline;
    transition: 0.3s;
}

.c-application_flow a span {
    position: relative;
    display: inline-block;
    margin-right: 8px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #d77757;
    vertical-align: text-top;
}

.c-application_flow a::after {
	content: '';
	display: inline-block;
	vertical-align: 1px;
	margin: 0 3px;
	background: url(/common/img/icon_out1_white.png) no-repeat 100% 50%;
	width: 14px;
	height: 12px;
}

@media only screen and (max-width: 768px) {
    .c-application_flow a span {
        margin-right: 2.6041666667vw;
        width: 5.2083333333vw;
        height: 5.2083333333vw;
    }
}
.c-application_flow a span::after {
    content: " ";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-70%, -50%) rotate(40deg) skew(-10deg);
    width: 6px;
    height: 6px;
    border-color: #fff;
    border-style: solid;
    border-width: 2px 2px 0 0;
}

@media only screen and (max-width: 768px) {
    .c-application_flow a span::after {
        width: 1.3020833333vw;
        height: 1.3020833333vw;
    }
}
.c-application_flow a:hover {
    opacity: 0.6;
}

.c-osusume_ttl {
    position: relative;
    padding: 5px 0 4px;
    font-size: 27px;
    font-weight: bold;
    color: #fff;
    background: #00b395;
    border-radius: 5px;
    text-align: center;
}

@media only screen and (max-width: 768px) {
    .c-osusume_ttl {
        padding: 0.6510416667vw 0 0.5208333333vw;
        font-size: 4.6875vw;
        border-radius: 0.6510416667vw;
    }
}
.c-osusume_ttl::after {
    content: " ";
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 37px;
    height: 11px;
    background: url(/mobile/campaign/ocnmobileone-poikatsumax/img/osusume_arrow.png) no-repeat top left/contain;
}

@media only screen and (max-width: 768px) {
    .c-osusume_ttl::after {
        bottom: -1.3020833333vw;
        width: 4.9479166667vw;
        height: 1.4322916667vw;
    }
}
.c-osusume_img {
    margin: 0 auto 30px;
    width: 380px;
}

@media only screen and (max-width: 768px) {
    .c-osusume_img {
        margin-bottom: 3.90625vw;
        width: 52.0833333333vw;
    }
}
.c-osusume_name {
    margin-bottom: 1px;
    font-size: 20px;
}

@media only screen and (max-width: 768px) {
    .c-osusume_name {
        margin-bottom: 1.3020833333vw;
        font-size: 5.2083333333vw;
    }
}
.c-osusume_point {
    font-size: 25px;
    font-weight: bold;
    color: #d42446;
}

@media only screen and (max-width: 768px) {
    .c-osusume_point {
        font-size: 4.9479166667vw;
    }
}
.c-osusume_point .mark {
    position: relative;
    top: -5px;
    font-size: 12px;
    color: #202020;
}

@media only screen and (max-width: 768px) {
    .c-osusume_point .mark {
        top: -2.34375vw;
        font-size: 3.125vw;
    }
}
.c-osusume_category {
    color: #d42446;
    font-size: 15px;
    font-weight: bold;
    line-height: 150%;
    display: inline-block;
    padding: 6px 8px 2px;
    border-radius: 5px;
    border: 2px solid #d42446;
    margin-bottom: 3px;
}

@media only screen and (max-width: 768px) {
    .c-osusume_category {
        padding: 0.6510416667vw 1.0416666667vw 0.2604166667vw;
        margin-bottom: 1.3020833333vw;
        font-size: 3.3854166667vw;
    }
}
.c-osusume_category--blue {
    color: #1755aa;
    border: 2px solid #1755aa;
}

.c-osusume_link {
    margin-bottom: 10px;
    font-size: 18px;
}

@media only screen and (max-width: 768px) {
    .c-osusume_link {
        margin-bottom: 3.2552083333vw;
        font-size: 4.1666666667vw;
    }
}
.c-osusume_link a {
    text-decoration: underline;
    transition: 0.3s;
}

.c-osusume_link a span {
    position: relative;
    display: inline-block;
    margin-right: 8px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #1755aa;
    vertical-align: text-top;
}

@media only screen and (max-width: 768px) {
    .c-osusume_link a span {
        margin-right: 2.6041666667vw;
        width: 5.2083333333vw;
        height: 5.2083333333vw;
    }
}
.c-osusume_link a span::before {
    content: " ";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-70%, -50%) rotate(40deg) skew(-10deg);
    width: 6px;
    height: 6px;
    border-color: #fff;
    border-style: solid;
    border-width: 2px 2px 0 0;
}

@media only screen and (max-width: 768px) {
    .c-osusume_link a span::before {
        width: 1.3020833333vw;
        height: 1.3020833333vw;
    }
}
.c-osusume_link a:hover {
    opacity: 0.6;
}

.c-osusume_table {
    margin-top: 20px;
    width: 100%;
    border: 1px solid #d7d4d0;
}
@media only screen and (max-width: 768px) {
    .c-osusume_table {
        margin-top: 2.6041666667vw;
    }
}

.c-osusume_table tr:not(:last-child) {
    border-bottom: 1px solid #d7d4d0;
}

.c-osusume_table tr th {
    padding: 10px 0;
    width: 50%;
    background: #4d4d4d;
    font-size: 22px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    vertical-align: middle;
}

.c-osusume_table tr th.w_40 {
    width: 40%;
}

.c-osusume_table tr th.w_36 {
    width: 36%;
}

.c-osusume_table tr th.w_35 {
    width: 35%;
}

.c-osusume_table tr th.w_32 {
    width: 32%;
}

.c-osusume_table tr th.w_30 {
    width: 30%;
}

.c-osusume_table tr th.w_25 {
    width: 25%;
}

@media only screen and (max-width: 940px) {
    .c-osusume_table tr th {
        padding: 1.0638297872vw 0;
        font-size: 2.3404255319vw;
    }
}
@media only screen and (max-width: 768px) {
    .c-osusume_table tr th {
        padding: 2.6041666667vw 0;
        font-size: 3.125vw;
    }
}
.c-osusume_table tr th:not(:last-child) {
    border-right: 1px solid #d7d4d0;
}

.c-osusume_table tr td {
    box-sizing: border-box;
    padding: 10px 5px;
    text-align: center;
    font-size: 20px;
    vertical-align: middle;
}

@media only screen and (max-width: 940px) {
    .c-osusume_table tr td {
        padding: 1.0638297872vw 5px;
        font-size: 2.1276595745vw;
    }
}
@media only screen and (max-width: 768px) {
    .c-osusume_table tr td {
        padding: 2.6041666667vw 4px;
        font-size: 3.3854166667vw;
    }
}
.c-osusume_table tr td:not(:last-child) {
    border-right: 1px solid #d7d4d0;
}

.c-osusume_table tr td:nth-child(2) {
    font-weight: bold;
    color: #d42446;
}

.c-osusume_table tr td .waribiki {
    padding: 3px 7px 1px;
    margin-right: 8px;
    border-radius: 5px;
    background: #f47152;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
}

@media only screen and (max-width: 940px) {
    .c-osusume_table tr td .waribiki {
        padding: 0.3191489362vw 0.7446808511vw 0.1063829787vw;
        margin-right: 0.8510638298vw;
        font-size: 1.914893617vw;
    }
}
@media only screen and (max-width: 768px) {
    .c-osusume_table tr td .waribiki {
        padding: 0.390625vw 0.78125vw 0.1302083333vw;
        margin-right: 0;
        border-radius: 0.6510416667vw;
        font-size: 3.125vw;
    }
}
.c-osusume_table tr td .u22{
    padding: 3px 7px 1px;
    border-radius: 5px;
    background: #d42446;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
}

@media only screen and (max-width: 940px) {
    .c-osusume_table tr td .u22 {
        padding: 0.3191489362vw 0.7446808511vw 0.1063829787vw;
        margin-right: 0.8510638298vw;
        font-size: 1.914893617vw;
    }
}
@media only screen and (max-width: 768px) {
    .c-osusume_table tr td .u22 {
        padding: 0.390625vw 0.78125vw 0.1302083333vw;
        margin-right: 0;
        border-radius: 0.6510416667vw;
        font-size: 3.125vw;
    }
}
.c-osusume_table tr td a {
    text-decoration: underline;
    transition: 0.3s;
    white-space: break-spaces;
}

.c-osusume_table tr td a:hover {
    opacity: 0.6;
}

.c-osusume_table tr td .c-plus {
    margin: 0;
}

@media only screen and (max-width: 768px) {
    .c-osusume_table tr td .c-plus {
        margin: 0.6510416667vw 0;
    }
}
@media only screen and (max-width: 768px) {
    .c-osusume_table tr td .c-plus span {
        width: 3.90625vw;
        height: 3.90625vw;
    }
}
@media only screen and (max-width: 768px) {
    .c-osusume_table tr td .c-plus span::before {
        width: 1.6927083333vw;
        height: 0.390625vw;
    }
}
@media only screen and (max-width: 768px) {
    .c-osusume_table tr td .c-plus span::after {
        width: 0.390625vw;
        height: 1.6927083333vw;
    }
}
.c-osusume_table tr td .fs-small {
    display: block;
    font-size: 15px;
    line-height: 1.5;
}

@media only screen and (max-width: 768px) {
    .c-osusume_table tr td .fs-small {
        font-size: 2.222917vw;
    }
}
.c-osusume_table tr td .mark {
    position: relative;
    top: -5px;
    font-size: 12px;
    color: #202020;
    font-weight: 400;
}

@media only screen and (max-width: 768px) {
    .c-osusume_table tr td .mark {
        top: -1.171875vw;
        font-size: 1.8229166667vw;
    }
}
.c-osusume_table--center tr td:nth-child(2) {
    padding-left: 0;
    text-align: center;
}

.c-osusume_table_aside li {
    padding-left: 2em;
    text-indent: -2em;
    font-size: 12px;
    color: #202020;
    line-height: 175%;
}

@media only screen and (max-width: 768px) {
    .c-osusume_table_aside li {
        font-size: 3.125vw;
    }
}

.c-osusume_table .icon {
    margin-bottom: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px 10px;
    justify-content: center;
}
.c-osusume_table .icon li {
    display: inline-block;
    padding: 2px 6px 1px;
    border-radius: 5px;
    font-size: 17px;
    font-weight: bold;
}
.c-osusume_table .icon li.color01 {
    background: #fff000;
}
.c-osusume_table .icon li.color02 {
    background: #d42446;
    color: #fff;
}
.c-osusume_table .icon li.color03 {
    background: #016cbb;
    color: #fff;
}
@media only screen and (max-width: 768px) {
    .c-osusume_table .icon {
        margin-bottom: 2vw;
        gap: 5px 10px;
    }
    .c-osusume_table .icon li {
        padding: 0.390625vw 0.78125vw 0.1302083333vw;
        border-radius: 0.6510416667vw;
        font-size: 3.125vw;
    }
}

.c-plus {
    margin-bottom: 15px;
}

@media only screen and (max-width: 768px) {
    .c-plus {
        margin-bottom: 3.2552083333vw;
    }
}
.c-plus span {
    position: relative;
    display: block;
    margin: 0 auto;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #ca0033;
}

.c-plus.c-f span {
    background: #fff;
}

@media only screen and (max-width: 768px) {
    .c-plus span {
        width: 4.9479166667vw;
        height: 4.9479166667vw;
    }
}
.c-plus span::before, .c-plus span::after {
    content: " ";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
}

.c-plus span::before {
    width: 13px;
    height: 3px;
}

@media only screen and (max-width: 768px) {
    .c-plus span::before {
        width: 2.0833333333vw;
        height: 0.5208333333vw;
    }
}
.c-plus span::after {
    width: 3px;
    height: 13px;
}

@media only screen and (max-width: 768px) {
    .c-plus span::after {
        width: 0.5208333333vw;
        height: 2.0833333333vw;
    }
}
.c-detail_ttl1 {
    padding: 15px 0;
    margin-bottom: 20px;
    font-size: 24px;
    font-weight: bold;
    color: #fff;
    text-align: center;
}

@media only screen and (max-width: 768px) {
    .c-detail_ttl1 {
        padding: 2.34375vw 0;
        margin-bottom: 1.953125vw;
        font-size: 4.9479166667vw;
        line-height: 120%;
    }
}
.c-detail_ttl1--blue {
    background: #1755aa;
}

.c-detail_ttl2 {
    position: relative;
    padding-left: 25px;
    margin-bottom: 15px;
    font-size: 24px;
    font-weight: bold;
    color: #202020;
}

@media only screen and (max-width: 768px) {
    .c-detail_ttl2 {
        padding-left: 2.6041666667vw;
        margin-bottom: 1.953125vw;
        font-size: 4.6875vw;
    }
}
.c-detail_ttl2::before {
    content: " ";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 7px;
    height: 25px;
}

@media only screen and (max-width: 768px) {
    .c-detail_ttl2::before {
        width: 0.9114583333vw;
        height: 3.90625vw;
    }
}
.c-detail_ttl2--blue::before {
    background: #1755aa;
}

.c-detail_lead {
    font-size: 16px;
}

@media only screen and (max-width: 768px) {
    .c-detail_lead {
        font-size: 4.1666666667vw;
    }
}
.c-detail_date {
    font-size: 26px;
    font-weight: bold;
    color: #202020;
    line-height: 100%;
}

@media only screen and (max-width: 768px) {
    .c-detail_date {
        font-size: 4.4270833333vw;
    }
}
.c-detail_date .aside {
    display: block;
    padding-left: 2em;
    margin-top: 20px;
    text-indent: -2em;
    font-size: 14px;
    font-weight: 400;
    color: #626d73;
    line-height: 175%;
}

@media only screen and (max-width: 768px) {
    .c-detail_date .aside {
        margin-top: 2.6041666667vw;
        font-size: 3.125vw;
    }
}
.c-detail_list li {
    font-size: 16px;
    text-indent: -1em;
    padding-left: 1em;
}

.c-detail_list li a {
    text-decoration: underline;
    transition: 0.3s;
}

.c-detail_list li a:hover {
    opacity: 0.6;
}

@media only screen and (max-width: 768px) {
    .c-detail_list li {
        font-size: 3.125vw;
    }
}
.c-detail_list li::before {
    content: "・";
}

.c-detail_list li .c-detail_link {
    padding-left: 1em;
    margin: 10px 0;
}

@media only screen and (max-width: 768px) {
    .c-detail_list li .c-detail_link {
        margin: 2.6041666667vw 0;
    }
}
.c-detail_list li .c-detail_link a {
    font-size: 18px;
    text-decoration: underline;
}

@media only screen and (max-width: 768px) {
    .c-detail_list li .c-detail_link a {
        font-size: 4.1666666667vw;
    }
}
.c-detail_list li .c-detail_link a span {
    position: relative;
    display: inline-block;
    margin-right: 8px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #0f8488;
    vertical-align: text-top;
}

@media only screen and (max-width: 768px) {
    .c-detail_list li .c-detail_link a span {
        margin-right: 2.6041666667vw;
        width: 5.2083333333vw;
        height: 5.2083333333vw;
    }
}
.c-detail_list li .c-detail_link a span::before {
    content: " ";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-70%, -50%) rotate(40deg) skew(-10deg);
    width: 6px;
    height: 6px;
    border-color: #fff;
    border-style: solid;
    border-width: 2px 2px 0 0;
}

@media only screen and (max-width: 768px) {
    .c-detail_list li .c-detail_link a span::before {
        width: 1.3020833333vw;
        height: 1.3020833333vw;
    }
}
.c-detail_list--font_normal li {
    font-size: 16px;
}

@media only screen and (max-width: 768px) {
    .c-detail_list--font_normal li {
        font-size: 4.1666666667vw;
    }
}
.c-detail_aside li {
    padding-left: 2em;
    text-indent: -2em;
    font-size: 14px;
    font-weight: 400;
    color: #626d73;
    line-height: 175%;
}

@media only screen and (max-width: 768px) {
    .c-detail_aside li {
        font-size: 3.125vw;
    }
}
.c-detail_aside li a {
    text-decoration: underline;
}

.c-section_header_item {
    position: relative;
    display: flex;
    align-items: center;
}

@media only screen and (max-width: 768px) {
    .c-section_header_item {
        justify-content: center;
    }
}
@media only screen and (max-width: 768px) {
    .c-section_header_item:not(:last-child) {
        margin-bottom: 3.90625vw;
    }
}
.c-section_header_item--blue {
    top: -3.6603221083vw;
}

@media only screen and (max-width: 768px) {
    .c-section_header_item--blue {
        top: 0;
    }
}
.c-section_header_item__img {
    margin-right: 0.7320644217vw;
}

.c-section_header_item__img.img1 {
    width: 8.0527086384vw;
}

@media only screen and (max-width: 768px) {
    .c-section_header_item__img.img1 {
        position: relative;
        left: -2.6041666667vw;
        margin-right: 6.1197916667vw;
        width: 20.4427083333vw;
    }
}
.c-section_header_item__img.img2 {
    width: 9.5900439239vw;
}

@media only screen and (max-width: 768px) {
    .c-section_header_item__img.img2 {
        margin-right: 6.5104166667vw;
        width: 21.09375vw;
    }
}
.c-section_header_item__txtbox {
    text-align: center;
    width: -moz-max-content;
    width: max-content;
}

.c-section_header_item__txtbox .cat {
    display: block;
    padding: 0.3660322108vw 0.7320644217vw 0.2196193265vw;
    margin-bottom: 0.7320644217vw;
    border-radius: 0.3660322108vw;
    font-size: 1.6837481698vw;
    font-weight: bold;
    line-height: 1em;
}

@media only screen and (max-width: 768px) {
    .c-section_header_item__txtbox .cat {
        padding: 0.9114583333vw 1.0416666667vw 0.390625vw;
        margin-bottom: 1.953125vw;
        border-radius: 0.6510416667vw;
        font-size: 4.296875vw;
        line-height: 110%;
    }
}
.c-section_header_item__txtbox .cat--red {
    color: #ca0033;
    background: #f5dbdd;
}

.c-section_header_item__txtbox .cat--blue {
    color: #1755aa;
    background: #e3eaf5;
}

.c-section_header_item__txtbox h2 {
    margin: 0;
    font-size: 2.1426061493vw;
    font-weight: bold;
    line-height: 90%;
    color: #fff;
}

@media only screen and (max-width: 768px) {
    .c-section_header_item__txtbox h2 {
        font-size: 6.7708333333vw;
    }
}
.c-section_header_item__txtbox h2 small {
    font-size: 1.8301610542vw;
}

@media only screen and (max-width: 768px) {
    .c-section_header_item__txtbox h2 small {
        font-size: 5.2083333333vw;
    }
}
.c-section_header_item__txtbox h2 .normal {
    font-size: 1.4641288433vw;
    font-weight: 400;
    color: #fff;
}

@media only screen and (max-width: 768px) {
    .c-section_header_item__txtbox h2 .normal {
        position: relative;
        top: -1.3020833333vw;
        font-size: 4.1666666667vw;
    }
}
.c-section_header_item__message {
    position: absolute;
    top: -4.7584187408vw;
    left: 0;
    width: 14.8609077599vw;
}

@media only screen and (max-width: 768px) {
    .c-section_header_item__message {
        top: -11.71875vw;
        left: 0;
        width: 34.6354166667vw;
    }
}
.c-section_header_item__otoku {
    position: absolute;
    top: -8.78477306vw;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 33.1625183016vw;
    height: 5.9297218155vw;
    border-radius: 0.3660322108vw;
    background: #ca0033;
    box-shadow: 0 0.5856515373vw 0 #b40513;
}

@media only screen and (max-width: 768px) {
    .c-section_header_item__otoku {
        top: -21.484375vw;
        width: 72.9166666667vw;
        height: 13.0208333333vw;
        border-radius: 0.6510416667vw;
        box-shadow: 0 1.3020833333vw 0 #b40513;
    }
}
.c-section_header_item__otoku::after {
    content: " ";
    position: absolute;
    bottom: -1.756954612vw;
    left: 50%;
    transform: translateX(-50%);
    width: 6.2225475842vw;
    height: 2.3426061493vw;
    background: url(/mobile/campaign/ocnmobileone-poikatsumax/img/otoku.png) no-repeat top left/100% 100%;
}

@media only screen and (max-width: 768px) {
    .c-section_header_item__otoku::after {
        bottom: -3.7760416667vw;
        width: 13.671875vw;
        height: 5.078125vw;
    }
}
.c-section_header_item__otoku span {
    position: relative;
    font-size: 2.3426061493vw;
    font-weight: bold;
    color: #fff;
}
@media only screen and (max-width: 768px) {
    .c-section_header_item__otoku span {
        font-size: 5.2083333333vw;
    }
}
.c-fv_txt1 {
    margin: 0 auto 0.5vw;
    width: 31.63vw;
}

@media only screen and (max-width: 768px) {
    .c-fv_txt1 {
        margin-bottom: 2vw;
        width: 65vw;
    }
}
.c-fv_txt2 {
    margin: 0 auto 1.8vw;
    width: 72.1vw;
}

@media only screen and (max-width: 768px) {
    .c-fv_txt2 {
        margin: 0 -1.8vw 3vw;
        width: 92.1vw;
    }
}
.c-fv_txt3 {
    margin: 0 auto 1.8vw;
    width: 59.4436310395vw;
}

@media only screen and (max-width: 768px) {
    .c-fv_txt3 {
        margin-bottom: 3vw;
        width: 76.0309278351vw;
    }
}
.c-fv_txt4 {
    margin-bottom: 0.8vw;
    width: 71.7423133236vw;
}

@media only screen and (max-width: 768px) {
    .c-fv_txt4 {
        width: 87.6288659794vw;
    }
}
.c-fv_aside {
    line-break: strict;
    text-indent: -1.4em;
    padding-left: 1.4em;
    margin-top: 0.3660322108vw;
    font-size: 0.9516837482vw;
    color: #fff;
    line-height: 155%;
}

@media only screen and (max-width: 768px) {
    .c-fv_aside {
        margin-top: 1.0309278351vw;
        font-size: 2.75vw;
    }
}
.c-fv_aside span {
    display: inline !important;
    text-decoration: underline;
}

.c-fv_img {
    position: absolute;
    top: -0.2196193265vw;
    right: 2.196193265vw;
    width: 7.1742313324vw;
}

@media only screen and (max-width: 768px) {
    .c-fv_img {
        top: -1.2886597938vw;
        right: 0;
        width: 16.6237113402vw;
    }
}
.c-fv_logo {
    position: absolute;
    top: 4.7%;
    left: 1.8%;
    width: 15.1%;
}
@media only screen and (max-width: 768px) {
    .c-fv_logo {
        top: 4vw;
        left: 0;
        right: 0;
        width: 40.1%;
        margin: 0 auto;
    }
}
.u-mb20 {
    margin-bottom: 20px;
}

@media only screen and (max-width: 768px) {
    .u-mb20 {
        margin-bottom: 2.6041666667vw;
    }
}
.u-mb30 {
    margin-bottom: 30px;
}

@media only screen and (max-width: 768px) {
    .u-mb30 {
        margin-bottom: 3.90625vw;
    }
}
.p-fv {
    position: relative;
    margin-bottom: 15.7393850659vw;
}

@media only screen and (max-width: 768px) {
    .p-fv {
        margin-bottom: 18.8802083333vw;
    }
}
.p-fv::after {
    content: " ";
    position: absolute;
    bottom: -12.8111273792vw;
    left: 0;
    width: 100%;
    height: 10.6149341142vw;
    background: url(/mobile/campaign/ocnmobileone-poikatsumax/img/bg1.png) no-repeat top left/100% 100%;
}
@media only screen and (max-width: 768px) {
    .p-fv::after {
        bottom: -18.8802083333vw;
        height: 18.8802083333vw;
        background: url(/mobile/campaign/ocnmobileone-poikatsumax/img/bg1_sp.png) no-repeat top left/100% 100%;
    }
}
.p-fv h1 {
    text-align: left;
    margin-bottom: 0;
    font-size: 100%;
    line-height: 1;
}
.p-fv__txtbox {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 71.7423133236vw;
}
@media only screen and (max-width: 768px) {
    .p-fv__txtbox {
        top: 52%;
        width: 88.5vw;
    }
}
.p-fv > img.pc {
    height: 39.3vw;
}
.p-fv > img.sp {
    height: 129vw;
}
.p-fv__txtbox span {
    display: block;
}

.p-section {
    position: relative;
    padding: 0 0 22.6939970717vw;
    background: linear-gradient(180deg, rgb(247, 233, 228) 0%, rgb(234, 186, 170) 100%);
}

@media only screen and (max-width: 1366px) {
    .p-section {
        padding-bottom: 310px;
    }
}
@media only screen and (max-width: 768px) {
    .p-section {
        padding: 0 0 37.7604166667vw;
    }
}
.p-section::after {
    content: " ";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 15.7393850659vw;
    background: url(/mobile/campaign/ocnmobileone-poikatsumax/img/bg2.png) no-repeat top left/100% 100%;
}

@media only screen and (max-width: 768px) {
    .p-section::after {
        height: 27.9947916667vw;
        background: url(/mobile/campaign/ocnmobileone-poikatsumax/img/bg2_sp.png) no-repeat top left/100% 100%;
    }
}
.p-section--blue {
    padding: 0 0 80px;
    background: #E9F8FF;
}

@media only screen and (max-width: 768px) {
    .p-section--blue {
        padding: 0 0 6.5104166667vw;
    }
}
.p-section--blue::after {
    content: none;
}

.p-section__lead {
    margin-bottom: 30px;
}

@media only screen and (max-width: 768px) {
    .p-section__lead {
        margin-bottom: 3.90625vw;
    }
}
.p-section__lead p {
    font-size: 20px;
}

@media only screen and (max-width: 768px) {
    .p-section__lead p {
        font-size: 4.1666666667vw;
    }
}
.p-section__lead p .red {
    color: #ca0033;
    font-weight: bold;
}

.p-section__lead aside {
    padding-left: 1.4em;
    text-indent: -1.4em;
    margin-top: 20px;
    font-size: 14px;
    color: #626d73;
    line-height: 175%;
}

.p-section__lead aside a {
    text-decoration: underline;
    transition: 0.3s;
}

.p-section__lead aside a:hover {
    opacity: 0.6;
}

@media only screen and (max-width: 768px) {
    .p-section__lead aside {
        margin-top: 2.6041666667vw;
        font-size: 3.125vw;
    }
}
.p-section .c-half_top {
    position: absolute;
    top: -7.6866764275vw;
    left: 0;
    width: 100%;
}

@media only screen and (max-width: 768px) {
    .p-section .c-half_top {
        top: -7.5520833333vw;
    }
}
.p-section .c-half_top figure {
    position: absolute;
    top: -5.8565153734vw;
    left: 50%;
    transform: translateX(-50%);
}

@media only screen and (max-width: 768px) {
    .p-section .c-half_top figure {
        top: -15.625vw;
    }
}
.p-section .c-half_top figure.img01 {
    width: 6.588579795vw;
}

@media only screen and (max-width: 768px) {
    .p-section .c-half_top figure.img01 {
        width: 14.3229166667vw;
    }
}
.p-section .c-half_top figure.img02 {
    width: 19.6193265007vw;
}

@media only screen and (max-width: 768px) {
    .p-section .c-half_top figure.img02 {
        width: 42.578125vw;
    }
}
.p-section .c-half_top figure.img03 {
    width: 19.6193265007vw;
}

@media only screen and (max-width: 768px) {
    .p-section .c-half_top figure.img03 {
        width: 42.578125vw;
    }
}
.p-section--red {
    background: #FBEAF4;
}

.p-section__header {
    padding: 15px 0 60px;
    margin-bottom: 30px;
}

@media only screen and (max-width: 768px) {
    .p-section__header {
        padding: 3.90625vw 0;
        margin-bottom: 3.90625vw;
    }
}
.p-section__header .l-flexbox {
    justify-content: center;
    align-items: center;
}

@media only screen and (max-width: 768px) {
    .p-section__header .l-flexbox {
        display: block;
    }
}
.p-section__header--red {
    background: #ca0033;
}

.p-section__header--blue {
    padding: 0;
    height: 7.5402635432vw;
    background: #1755aa;
}

@media only screen and (max-width: 768px) {
    .p-section__header--blue {
        height: auto;
        padding-bottom: 5.2083333333vw;
    }
}
.p-section__header .c-plus {
    margin: 0 1.5625vw;
}

@media only screen and (max-width: 768px) {
    .p-section__header .c-plus {
        position: relative;
        margin: 0 auto 3.90625vw;
    }
}
@media only screen and (max-width: 768px) {
    .p-section__header .c-plus::before {
        content: " ";
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        width: 78.125vw;
        height: 2px;
        background: #fff;
    }
}
.p-section__header .c-plus span {
    background: #fff;
}

@media only screen and (max-width: 768px) {
    .p-section__header .c-plus span {
        width: 7.8125vw;
        height: 7.8125vw;
    }
}
.p-section__header .c-plus span::before, .p-section__header .c-plus span::after {
    background: #d52446;
}

@media only screen and (max-width: 768px) {
    .p-section__header .c-plus span::before {
        width: 3.2552083333vw;
        height: 0.78125vw;
    }
}
@media only screen and (max-width: 768px) {
    .p-section__header .c-plus span::after {
        width: 0.78125vw;
        height: 3.2552083333vw;
    }
}
.p-osusume {
    box-sizing: border-box;
}

.p-osusume_wrap {
    position: relative;
    padding: 20px 0;
    margin: 15px auto 0;
    width: 620px;
    border: 1px solid #d7d4d0;
    border-radius: 20px;
}
.p-osusume_wrap:empty {
    display: none;
}
@media only screen and (max-width: 768px) {
    .p-osusume_wrap {
        padding: 2.6041666667vw 0;
        margin-top: 1.953125vw;
        width: 100%;
        border-radius: 2.6041666667vw;
    }
}

.p-osusume_up {
    position: absolute;
    top: 20px;
    left: 20px;
}
.p-osusume_up li {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 95px;
    height: 95px;
    border-radius: 50%;
    text-align: center;
}
.p-osusume_up li + li {
    margin-top: 15px;
}
.p-osusume_up li.color01 {
    background: #fff000;
}
.p-osusume_up li.color02 {
    background: #d42446;
    color: #fff;
}
.p-osusume_up li.color03 {
    background: #016cbb;
    color: #fff;
}
.p-osusume_up span {
    position: relative;
    top: 4px;
    font-size: 18px;
    font-weight: 700;
    line-height: 130%;
}
@media only screen and (max-width: 768px) {
    .p-osusume_up {
        top: 2.6041666667vw;
        left: 2.6041666667vw;
    }
    .p-osusume_up li {
        width: 13.0208333333vw;
        height: 13.0208333333vw;
    }
    .p-osusume_up li + li {
        margin-top: 2vw;
    }
    .p-osusume_up span {
        top: 0.5208333333vw;
        font-size: 2.8645833333vw;
    }
}

.p-osusume_row {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
}
@media only screen and (max-width: 768px) {
    .p-osusume_row {
        gap: 1.953125vw;
    }
}

.p-osusume_arrow {
    margin: 10px auto 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 30px solid transparent;
    border-left: 30px solid transparent;
    border-top: 25px solid #626d73;
    border-bottom: 0;
}
@media only screen and (max-width: 768px) {
    .p-osusume_arrow {
        margin-top: 1.3020833333vw;
        border-right: 3.90625vw solid transparent;
        border-left: 3.90625vw solid transparent;
        border-top: 3.2552083333vw solid #626d73;
    }
}

.p-osusume_waribiki {
    margin-top: 10px;
    margin-bottom: 15px;

}
@media only screen and (max-width: 768px) {
    .p-osusume_waribiki {
        margin-top: 1.3020833333vw;
        margin-bottom: 1.953125vw;
    }
}
.p-osusume_waribiki p {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 15px;
    text-align: left;
}
@media only screen and (max-width: 768px) {
    .p-osusume_waribiki p {
        gap: 1.953125vw;
    }
}
.p-osusume_waribiki p span {
    font-size: 18px;
    line-height: 120%;
}
@media only screen and (max-width: 768px) {
    .p-osusume_waribiki p span {
        font-size: 3.6458333333vw;
    }
}
.p-osusume_waribiki p span em {
    font-size: 40px;
    font-weight: 700;
    color: #d42446;
}
@media only screen and (max-width: 768px) {
    .p-osusume_waribiki p span em {
        font-size: 8.4635416667vw;
    }
}
.p-osusume_waribiki p span small {
    font-size: 20px;
}
@media only screen and (max-width: 768px) {
    .p-osusume_waribiki p span small {
        font-size: 3.90625vw;
    }
}

.p-osusume__txtbox {
    padding: 0 15px;
    text-align: center;
}

.p-osusume aside {
    padding-left: 2em;
    text-indent: -2em;
    margin-top: 20px;
    font-size: 14px;
    color: #202020;
    line-height: 175%;
}

@media only screen and (max-width: 768px) {
    .p-osusume aside {
        margin-top: 2.6041666667vw;
        font-size: 3.125vw;
    }
}
.p-osusume ul.aside {
    margin-top: 20px;
    font-size: 14px;
    color: #626d73;
    line-height: 175%;
}

@media only screen and (max-width: 768px) {
    .p-osusume ul.aside {
        margin-top: 2.6041666667vw;
        font-size: 3.125vw;
    }
}
.p-osusume ul.aside li {
    color: #626d73;
    line-height: 175%;
    text-indent: -2em;
    padding-left: 2em;
}

.p-osusume ul.aside li a {
    text-decoration: underline;
    transition: 0.3s;
}

.p-osusume ul.aside li a:hover {
    opacity: 0.6;
}

@media only screen and (max-width: 768px) {
    .p-osusume ul.aside li {
        font-size: 3.125vw;
    }
}

.p-detail {
    margin-top: 45px;
}

@media only screen and (max-width: 768px) {
    .p-detail {
        margin-top: 6.5104166667vw;
    }
}
.p-application {
    position: relative;
    background: #00b395;
    padding-bottom: 70px;
}

@media only screen and (max-width: 768px) {
    .p-application {
        padding-bottom: 3.2552083333vw;
    }
}
.p-application::before {
    content: " ";
    position: absolute;
    top: -2px;
    left: 0;
    width: 100%;
    height: 3px;
    background: #00b395;
}

@media only screen and (max-width: 768px) {
    .p-application::before {
        content: none;
    }
}
footer .footer_block1 .btn_top {
	position: fixed;
    z-index: 10;
    right: 50px;
    bottom: 50px;
    cursor: pointer;
    margin-left: auto;
    width: 52px;
}

@media only screen and (max-width: 768px) {
    footer .footer_block1 .btn_top {
    right: 3.2552083333vw;
    width: 7.8125vw;
    min-width: 36px;
    }
}
footer .footer_block1 .btn_top.js-footer {
    position: absolute;
    bottom: 305px;
}

@media only screen and (max-width: 768px) {
    footer .footer_block1 .btn_top.js-footer {
    bottom: 1.953125vw;
    }
}
.p-common {
    padding: 70px 0;
    background: #00b395;
}

@media only screen and (max-width: 768px) {
    .p-common {
        padding: 8.4635416667vw 0 6.5104166667vw;
    }
}
.p-common__section:not(:last-child) {
    margin-bottom: 50px;
}

@media only screen and (max-width: 768px) {
    .p-common__section:not(:last-child) {
        margin-bottom: 6.5104166667vw;
    }
}
.p-common__section section:not(:last-child) {
    margin-bottom: 30px;
}

@media only screen and (max-width: 768px) {
    .p-common__section section:not(:last-child) {
        margin-bottom: 3.90625vw;
    }
}
.p-common__aside li {
    padding-left: 2em;
    text-indent: -2em;
    font-size: 14px;
    color: #626d73;
}

@media only screen and (max-width: 768px) {
    .p-common__aside li {
        font-size: 3.125vw;
    }
}
.p-common__aside li::before {
    content: "※";
    padding-right: 1em;
}

.p-tab {
    display: flex;
}

.p-tab li {
    padding: 5px 0 4px;
    width: 50%;
    background: #fff;
    font-size: 27px;
    text-align: center;
    cursor: pointer;
    border: 2px solid #bc9500;
}

@media only screen and (max-width: 768px) {
    .p-tab li {
        padding: 0.6510416667vw 0 0.5208333333vw;
        font-size: 4.6875vw;
    }
}
.p-tab li:first-child {
    border-radius: 5px 0 0 5px;
    border-right: none;
}

.p-tab li:last-child {
    border-radius: 0 5px 5px 0;
}

.p-tab li.active {
    position: relative;
    background: #bc9500;
    font-weight: bold;
    color: #fff;
}

.p-tab li.active::after {
    content: " ";
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 38px;
    height: 21px;
    background: url(/mobile/campaign/ocnmobileone-poikatsumax/img/tab_arrow.png) no-repeat top left/contain;
}

.p-tab_cont {
    display: none;
}

.p-tab_cont.active {
    display: block;
}

.p-whiteBox {
    background: #fff;
    border-radius: 0 0 10px 10px;
    padding: 20px;
}

@media only screen and (max-width: 768px) {
    .p-whiteBox {
        border-radius: 0 0 1.3020833333vw 1.3020833333vw;
        padding: 2.6041666667vw;
    }
}

.p-otherPlan {
    margin-top: 80px;
}
.p-otherPlan h2 {
    margin-bottom: 20px;
    text-align: center;
    font-size: 22px;
    font-weight: bold;
}
.p-otherPlan h2::before {
    content: '＼';
}
.p-otherPlan h2::after {
    content: '／';
}
.p-otherPlan ul {
    max-width: 800px;
    margin: 0 auto;
}
.p-otherPlan ul li {
    margin-top: 20px;
}
.p-otherPlan a {
    position: relative;
    display: block;
    border-radius: 10px;
    text-decoration: none;
    text-align: center;
    padding: 15px 30px 15px 15px;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    transition: opacity 0.2s;
}
.p-otherPlan a:hover {
    opacity: 0.7;
}
.p-otherPlan a.ahamo {
    background-color: #eb1e9c;
}
.p-otherPlan a.max {
    background-color: #cc0033;
}
.p-otherPlan a.poikatsumax {
    background-color: #bc9500;
}
.p-otherPlan a.poikatsu20 {
    background-color: #D47800;
}
.p-otherPlan a.mini {
    background-color: #3597e2;
}
.p-otherPlan a::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 20px;
    width: 12px;
    height: 12px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform-origin: right top;
    transform: rotate(45deg);
}
@media only screen and (max-width: 768px) {
    .p-otherPlan {
        margin-top: 12vw;
    }
    .p-otherPlan h2 {
        position: relative;
        margin-bottom: 3vw;
        font-size: 5.4vw;
        line-height: 1.3;
    }
    .p-otherPlan h2::before {
        content: '';
        position: absolute;
        top: 0;
        left: 2vw;
        bottom: 0;
        border-left: 1px solid #000;
        transform: rotate(-25deg);
    }
    .p-otherPlan h2::after {
        content: '';
        position: absolute;
        top: 0;
        right: 3vw;
        bottom: 0;
        border-left: 1px solid #000;
        transform: rotate(25deg);
    }
    .p-otherPlan ul li {
        margin-top: 4vw;
    }
    .p-otherPlan a {
        border-radius: 2vw;
        padding: 2vw 8vw 2vw 3vw;
        font-size: 5vw;
    }
    .p-otherPlan a::after {
        right: 4vw;
        width: 3vw;
        height: 3vw;
    }
}
