html {
    scroll-behavior: smooth;
}

.sogood,
.good,
.soso,
.bad {
    font-size: 35px;
}

/*header*/

.header {
    padding: 3px 0;
    background-color: #000000;
    font-style: italic;
    color: #ff0000;
    font-weight: bolder;
    border-bottom: 2px solid #ff0000;
}

.header p {
margin-top: 0px;
margin-bottom: -4px;
font-size: 19px;
}

.header-sub {
    font-size: 13px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 5px;
}


.header-main {
    color: #ffffff;
    font-size: 23px;
    text-align: center;
    font-weight: bold;
}

/* 検証用 */
h2 {
    font-size: 1.2rem;
    margin-top: 2rem;
}

.rank_all .ttl {
    background-color: #2c3b6c;
    color: #fffecf;
    padding: 35px 0 14px;
    text-align: center;
    margin-bottom: 10px;
    margin-top: 5vh;
    position: relative;
    line-height: 1.4;
    overflow: hidden;
}

/* 上部の線 */
.rank_all .ttl::before {
    position: absolute;
    width: 100%;
    height: 2px;
    content: '';
    top: 6px;
    left: 0;
    background: #fff;
    z-index: 1;
    /* 線は前面に */
}

/* 下部の線 */
.rank_all .ttl::after {
    position: absolute;
    width: 100%;
    height: 2px;
    content: '';
    bottom: 6px;
    left: 0;
    background: #fff;
    z-index: 1;
    /* 線は前面に */
}

/* 画像用の新しい要素（CSSは同じだがHTML追加） */
.rank_all .ttl .background-image {
    position: absolute;
    right: 5px;
    top: 55%;
    transform: translateY(-50%);
    max-height: 80%;
    z-index: 0;
    /* テキストの奥に */
    opacity: 0.4;
    background-image: url('https://xn--pcka3d5a7l712st89a13q4waw70q31a.com/wp-content/uploads/2025/02/kangoshi-white.png');
    background-size: contain;
    background-repeat: no-repeat;
    width: 3em;
    /* 必要に応じてサイズ調整 */
    height: 4em;
}

.rank_all .ttl span {
    font-size: 0.85em;
    position: relative;
    z-index: 1;
    /* テキストを前面に */
}

span.price {
    text-decoration: line-through;
}



header {
    background: #2d2d2d;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 3%;
}

.wrapper {
    background-image: url(../img/bg.jpg);
    box-shadow: rgb(68, 68, 68) 6px 3px 42px 0px;
}

.logo img {
    width: 25px;
    margin-top: -2px;
    margin-right: 5px;
}

.logo {
    display: flex;
    align-items: center;
}

.logo p {
    color: #fff;
}

.logo {
    width: 100%;
    height: auto;
}

/* PC表示 */
.logo.sp {
    display: none;
}

/* SP表示 */
@media screen and (max-width: 767px) {
    .logo.pc {
        display: none;
    }

    .logo.sp {
        display: block;
    }
}

.mv {
    position: relative;
}

p.PR {
    color: #ffffff;
    position: absolute;
    top: -1%;
    right: 3%;
    font-size: 22px;
    padding: 0px 1.5%;
    height: 30px;
    display: flex;
    align-items: center;
}

.big {
    font-size: 1.5em;
    color: #fffeaa;
}

.more_link,
.officialBtn {
    text-decoration: none;
    padding: 4% 8%;
    border-radius: 50px;
    font-size: 13px;
    display: block;
    width: 100%;
    margin: auto;
    text-align: center;
}

.officialBtn {
    color: #fff;
    background: #f45923;
    margin-bottom: 7%;
    box-shadow: 0px 5px 0px 0px #8d412d;
}

.more_link {
    color: #7e7e7e;
    background: #fff;
    border: 2px solid #7e7e7e;
}

.sogood {
    color: #f62929;
}

.red {
    color: #f62929;
    font-weight: bold;
}

.yellow {
    color: #fffb00;
    font-weight: bold;
}

.good {
    color: #f1be12;
}



.soso {
    color: #63b38e;
}

.bad {
    color: #6aaadd;
}

.blue {
    color: #0057a1;
    font-weight: bold;
}

.star5_rating:before,
.star5_rating:after {
    content: '★★★★★';
}

.star5_rating[data-rate="4.8"]:after {
    width: 98%;
}

.star5_rating[data-rate="4.6"]:after {
    width: 95%;
}

.star5_rating {
    position: relative;
    z-index: 0;
    display: inline-block;
    white-space: nowrap;
    color: #CCCCCC;
}

.star5_rating:after {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    overflow: hidden;
    white-space: nowrap;
    color: #f77c00;
}

.table-wrapper {
    background-image: url(../img/bg.jpg);
    border: 2px solid #ff19ec;
    overflow: hidden;
}

.tab-menu-item {
    background: #fff;
}

.grp_base {
    position: relative;
}

body>section {
    background: #202020;
    position: absolute;
    margin: auto;
    right: 0;
    left: 0;
    top: 0;
}

.inner_y .fa-check-square:before {
    font-size: 21px;
    color: #f09a0c;
}

.posi_a {
    position: absolute;
}

.g_mlc {
    top: 26%;
    right: 19%;
}

.g_DOPA！ {
    top: 31%;
    left: 14%;
}

.g_pokepa {
    top: 42%;
    right: 9%;
}

.g_abc {
    top: 42%;
    right: 45%;
}

.g_msc {
    bottom: 24%;
    left: 10%;
}


a:hover {
    opacity: 0.6;
    transition: opacity 0.5s;
}


.js-cbn-table table {
    background: #fff;
}

.catch-copy {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    white-space: nowrap;
    width: 100%;
    font-size: 2.2em;
    font-weight: bold;
    gap: 3px;
    color: #2c3b6c;
    margin-bottom: 20px;
}

.topAqua,
.topBlue {
    display: inline-block;
    border-radius: 9px;
    color: #fff;
    padding: 0 2%;
}

.area {
    display: inline-block;
    text-align: center;
}

.topAqua {
    background: #3f9ad7;
}

.Yellow {
    color: #fffeaa;
}

.ye {
    color: #ff871e;
}

.topBlue {
    background: #2c3b6c;
}

.meritTitle {
    padding: 0% 0% 0%;
    margin-top: 8%;
}

.risk {
    background: #fff;
    border: #c8c2c2 solid 3px;
    padding: 6% 3%;
}

.treatment {
    background: #fff;
    border: #c8c2c2 solid 3px;
    padding: 2% 3%;
}

.treatment_contents {
    padding: 0 3% 3%;
}


.question p {
    margin-bottom: 3%;
}

.risk p,
.feature p {
    margin-bottom: 3%;
}

/* .riskTitle {
    padding: 6% 2%;
} */

.marker_yellow {
    background: linear-gradient(transparent 60%, #fbff00 80%);
    font-weight: bold;
}

.merit1 {
    margin-top: 3%;
}

.rank3Title {
    position: relative;
}

.rank3Title p {
    position: absolute;
    top: 17%;
    left: 0;
    right: 0;
    margin: auto;
    color: #fff;
    font-size: 1.9em;
    font-weight: bold;
    display: block;
    text-align: center;
}


footer {
    margin-top: 0px;
    background-color: #da0000;
    color: #fff;
    text-align: center;
    padding: 50px 20px;
}

footer p {
    text-align: left;
    margin-top: 20px;
    font-size: 9px;
    line-height: 1.4 !important;
    color: #fff;
}

footer a {
    color: #fff;
    font-size: 12px;
}

@media screen and (min-width: 700px) {
    footer {
        margin: 50px auto 0;
    }
}

h6 {
    text-align: center;
    margin: 30px auto 10px;
    font-size: 19px;
    color: #256baf;
}


.mae table,
.mae td,
.mae th {
    border: 1px solid #595959;
    border-collapse: collapse;
    position: static;
}

.mae th {
    width: 20%;
    font-size: smaller;
    display: table-cell;
    background: #ebebeb;
}

.mae td,
.mae th {
    padding: 3px;
    width: 33.3%;
    height: 25px;
    text-align: center;
    line-height: 1.4;
}

.mae table {
    width: 100%;
}

.mae p,
.mae li {
    font-size: 1rem;
    font-weight: bold;
}


label {
    cursor: pointer;
}

.mae {
    margin: 18px 0 9px;

}

.two.mae th {
    width: 22%;
}

.two.mae td,
.two.mae th {
    width: 25%;
}

.accordion-006 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 0.7em 1em;
    cursor: pointer;
}

.accordion-006 {
    margin-bottom: 7px;
    background-color: #ebebeb;
    border-radius: 5px;
}

.accordion-006 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #bbbbbb;
    border-right: 3px solid #bbbbbb;
    content: '';
    transition: transform .3s;
}

.accordion-006[open] summary::after {
    transform: rotate(225deg);
}

.ba3 {
    background: linear-gradient(135deg, #ecf9ff, #cdefff);
    margin: 0 !important;
    padding: 15px;
}

h1 {
    padding: 1rem 2rem;
    color: #fff;
}

h2 {
    font-size: 25px;
    padding: 1rem 2rem;
    color: #fff;
    margin-bottom: 8px;
}


h3 {
    text-align: center;
    margin: 30px auto 10px;
    font-size: 20px;
    color: #256baf;
}

h4 {
    text-align: center;
    margin: 30px auto 10px;
    font-size: 19px;
    color: #272727;
}

h5 {
    font-size: 18px;
}

.ma {
    margin-top: 3%;
}

.clinic:nth-of-type(1) {
    border-top: 1px solid #256baf;
    padding-top: 10px;
}

.clinic {
    border-bottom: 1px solid #256baf;
    position: relative;
    padding-right: 20px;
    padding-bottom: 10px;
    margin: 10px 0 10px;
    display: flex;
    align-items: center;
}

.clinic img {
    width: 16%;
    max-width: 120px;
}

.clinic a {
    text-decoration: none;
    color: #256baf;
    font-size: 16px;
    padding: 0 10px;
}

.clinic .abs {
    right: 3%;
    color: #054493;
}

.abs {
    position: absolute;
}

.clinic.rel .without-icon:after,
.yoyaku_cta .without-icon:after {
    content: none;
}

div footer {
    margin: 0 auto 0;
}

.ba4 {
    margin: 0 !important;
    padding: 15px;

}

.accordion-006 {
    border-bottom: 1px solid #ffffff;
    margin-bottom: 1em;
}

.accordion-summary {
    color: #fff;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 0.7em 1em;
    cursor: pointer;
    background-color: #707070;
    margin-bottom: 7px;
    font-size: 16px;
}


@media (max-width: 768px) {
    .accordion-summary {
        color: #fff;
        font-weight: bold;
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
        padding: 0.7em 1em;
        cursor: pointer;
        background-color: #707070;
        margin-bottom: 7px;
        font-size: 13px;
    }
}


.accordion-content {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-10px);
    transition: max-height 0.5s ease, opacity 0.5s ease, transform 0.5s ease;
    background-color: #fff;
    padding: 0 1em;
    background-color: #ebebeb;
}

.accordion-content.open {
    max-height: 500px;
    opacity: 1;
    transform: translateY(0);
    padding: 0em 1em 1em;
    margin-top: -7px;
    margin-bottom: 7px;
    background-color: #e7e7e7;
}

.accordion-summary.open {
    padding: 0.7em 1em 0.7em;
}

.accordion-summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #ffffff;
    border-right: 3px solid #ffffff;
    content: '';
    transition: transform .3s;
}

.accordion-summary.open::after {
    transform: rotate(225deg);
}

img.medal {
    width: 80px;
    margin-top: -7px;
    z-index: 5;
    position: absolute;
}


.mainTitle {
    display: flex;
    width: 100%;
    margin: auto;
    font-weight: bold;
    position: relative;
}

.mainRank {
    margin-top: 10%;
}

.mainRank2 {
    background: #ecfffe;
    padding-bottom: 5%;
}

.mainContent {
    width: 95%;
    margin: auto;
    /*background: #fff;*/
    padding: 0 5% 3%;
    margin-top: 2%;
}

@media (max-width: 768px) {
    .mainContent {
        width: 95%;
        margin: auto;
        /*background: #fff;*/
        padding: 0 5% 3%;
        margin-top: 1%;
    }
}

.rank2 {
    margin-top: 7%;
}

.rank3 {
    margin-top: 7%;
}

.rank4,
.rank5 {
    margin-top: 7%;
}

.mainTitle a {
    font-size: 25px;
}

.clinic_name {
    padding-left: 18%;
    line-height: 1.2;
}

.small {
    text-align: right;
    font-size: 10px;
    margin-top: 2px;
    color: #787878;
    line-height: 1.2;
    white-space: normal;
    overflow-wrap: anywhere;
}

.small2 {
    text-align: right;
    font-size: 10px;
    margin-top: 2px;
    color: #ffffff;
    line-height: 1.2;
    white-space: normal;
    overflow-wrap: anywhere;
}


@media (max-width: 768px) {
    .small2 {
        display: block;
        text-align: right;
        font-size: 10px;
        margin-top: 2px;
        color: #ffffff;
        line-height: 1.2;
        white-space: normal;
        overflow-wrap: anywhere;
    }
}


.small3 {
    display: none;
}

@media (max-width: 768px) {
    .small3 {
        display: block;
        text-align: right;
        font-size: 10px;
        margin-top: 2px;
        color: #ffffff;
        line-height: 1.2;
        white-space: normal;
        overflow-wrap: anywhere;
    }
}


.small4 {
    font-size: 8px;
    margin-top: 3px;
}

.small5 {
    font-size: 11px;
    margin-top: 3px;
}


.ttlpic {
    width: 5%;
    margin-right: 1.5%;
    margin-bottom: 1%;
    vertical-align: middle;
}

.body_box {
    border: solid #bebebe 1px;
    background: #fff;
    border-radius: 6px;
    width: 33%;
    padding: 1% 1% 1.5%;
    box-sizing: border-box;
    height: 100%;
}

.body_box img {
    margin: 14px 0;
}

.off_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    CONTAIN-INTRINSIC-BLOCK-SIZE: AUTO 100PX;
    padding: 3% 0;
    box-shadow: #cf808d 0 2px;
    border-radius: 7px;
    font-weight: bold;
    font-size: 0.7em;
    color: #fff;
    text-align: center;
    text-decoration: none;
    overflow: hidden;
    background: #ff7600;
    width: 100%;
    margin: 0 auto;
}

.plan_scroll {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    padding: 10px;
    gap: 10px;
    white-space: nowrap;
    width: 100%;
}

.body_box .body_text {
    border-top: solid #bebebe 1px;
    height: 128px;
}

.body_box .recom_poab {
    position: absolute;
    top: -4%;
    left: 0;
    width: 75%;
}

.pore {
    position: relative;
}

.plan_scroll .body_box {
    flex-shrink: 0;
    width: 200px;
}

.body_box .body_text h5 {
    font-size: 1em;
    margin: 1% 0;
    line-height: 1.2;
    margin-top: 5px;
}

.body_box .body_text h5 span {
    font-size: 0.8em;
}

.body_box .body_text .price {
    font-size: 1.1em;
    margin-top: 0.2rem;
    line-height: 1.4;
}

.body_box .body_text .price .camp_text {
    font-size: 0.85em;
}

.in_ttl_y {
    background-color: #00ad9e;
    padding: 8px;
    text-align: center;
    color: #fff;
    font-weight: bold;
    font-size: 25px;
    margin-bottom: 3%;
    align-items: baseline;
}

.in_ttl_y li {
    list-style-type: square;
}

.inner_y {
    border: 2px solid #00ad9e;
    overflow: hidden;
    margin: 0px 0 10px;
    padding-bottom: 3%;
}

/* キャンペーン */
.inner_m li {
    background: #fff;
    width: 95%;
    margin: auto;
    border-radius: 4px;
    padding: 2% 4%;
    line-height: 1.4;
    margin-top: 1.5%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    color: #444;
    gap: 12px;
}


a.without-icon[href^="http"]:after,
a.without-icon[href^="//"]:after {
    content: none;
    /* アイコンを消す */
}

.inner_y li p {
    margin: 0;
}

.coupon {
    width: 90%;
    margin: auto;
    display: block;
    padding: 1% 0 0;
}

.information {
    width: 90%;
    margin: auto;
    display: block;
    padding: 1% 0 0;
}

.information_content {
    background: #ffffff;
}

.midashi {
    background-color: #d6f6ff;
    padding: 6px;
    font-weight: bold;
    font-size: 17px;
    margin-bottom: 10px;
    color: #256baf;
}

.pa10 {
    padding: 10px;
}

p.star_text {
    font-weight: bold;
    margin: 7px 0 5px;
}

.inner p {
    margin-top: 8px;
    line-height: 1.5;
    margin-bottom: 20px;
}

.sankaku {
    width: 99%;
    margin: -14px auto 10px;
}

.yoyaku_cta {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.grd a {
    background: linear-gradient(to bottom, #ff8e1b, #ff6800) !important;
    box-shadow: 0 6px 0 #943f00 !important;
    text-decoration: none !important;
    border-radius: 3px;
    text-align: center;
}

.yoyaku_cta a {
    background-color: #ff9eae;
    border-radius: 7px;
    padding: 17px 10px;
    box-shadow: 0 5px 0 #cf808d;
    display: block;
    width: 95%;
    font-size: 25px;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    margin: 1.5rem 0;
    line-height: 1.3;
}

.yoyaku_cta-content .left-image img {
    width: 30px;
    height: 30px;
}


.yoyaku_cta-content {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
}

.center-content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
}

/* 口コミ・タブ */
.tab_menu01,
.tab_menu,
.tab_menu2,
.tab_menu3,
.tab_menu4,
.tab_menu5 {
    z-index: 2;
    position: relative;
    font-size: 14px;
    padding: 1% 0;
    width: 32%;
    margin: 0 3px 0 0;
    color: #fff;
    background-color: #9c9c9c;
    line-height: 36px;
    float: left;
    text-align: center;
    transition: all 0.2s ease;
    border-radius: 8px 8px 0 0;
    cursor: pointer;
    box-sizing: border-box;
}

.tab_menu01 {
    width: 48.5%;
}

@media (max-width: 768px) {

    .tab_menu,
    .tab_menu2,
    .tab_menu3,
    .tab_menu4,
    .tab_menu5 {
        width: 31%;
    }

    .tab_menu01 {
        width: 47%;
    }

    .tab_menu01:first-of-type,
    .tab_menu:first-of-type,
    .tab_menu2:first-of-type,
    .tab_menu3:first-of-type,
    .tab_menu4:first-of-type,
    .tab_menu5:first-of-type {
        margin: 0 5px 0 16px;
    }
}

.tab_menu01:hover,
.tab_menu:hover,
.tab_menu2:hover,
.tab_menu3:hover,
.tab_menu4:hover,
.tab_menu5:hover {
    color: #838383;
}

.tab_menu01:first-of-type,
.tab_menu:first-of-type,
.tab_menu2:first-of-type,
.tab_menu3:first-of-type,
.tab_menu4:first-of-type,
.tab_menu5:first-of-type {
    margin: 0 5px 0 10px;
}

input:checked+.tab_menu01,
input:checked+.tab_menu,
input:checked+.tab_menu2,
input:checked+.tab_menu3,
input:checked+.tab_menu4,
input:checked+.tab_menu5 {
    background-color: #666666;
    border-bottom: solid 2px #256baf;
    color: #fff;
}

input[name="tab_menu01"],
input[name="tab_menu"],
input[name="tab_menu2"],
input[name="tab_menu3"],
input[name="tab_menu4"],
input[name="tab_menu5"] {
    display: none;
}

.tab_content {
    display: none;
    z-index: 1;
    clear: both;
    background-color: #fff;
    border: solid 2px #ccc;
    border-radius: 0px;
    padding: 0% 3% 0%;
    position: relative;
    top: -2px;
}

#tab_01:checked~#tab_01_content,
#tab_02:checked~#tab_02_content,
#tab_a:checked~#tab_a_content,
#tab_b:checked~#tab_b_content,
#tab_c:checked~#tab_c_content,
#tab_d:checked~#tab_d_content,
#tab_e:checked~#tab_e_content,
#tab_f:checked~#tab_f_content,
#tab_g:checked~#tab_g_content,
#tab_h:checked~#tab_h_content,
#tab_i:checked~#tab_i_content,
#tab_j:checked~#tab_j_content,
#tab_k:checked~#tab_k_content,
#tab_l:checked~#tab_l_content,
#tab_m:checked~#tab_m_content,
#tab_n:checked~#tab_n_content,
#tab_o:checked~#tab_o_content,
#tab_p:checked~#tab_p_content {
    display: block;
}

/* 口コミタブの制御 (2位用) */
.tab_contents_box input#tab2_a:checked~#tab2_a_content,
.tab_contents_box input#tab2_b:checked~#tab2_b_content,
.tab_contents_box input#tab2_c:checked~#tab2_c_content {
    display: block;
}

/* 口コミタブラベルのアクティブ色 (3位用) */
.tab_contents_box input#tab2_a:checked+label,
.tab_contents_box input#tab2_b:checked+label,
.tab_contents_box input#tab2_c:checked+label {
    background: #444;
    color: #fff;
}

/* 口コミタブの制御 (3位用) */
.tab_contents_box input#tab3_a:checked~#tab3_a_content,
.tab_contents_box input#tab3_b:checked~#tab3_b_content,
.tab_contents_box input#tab3_c:checked~#tab3_c_content {
    display: block;
}

/* 口コミタブラベルのアクティブ色 (3位用) */
.tab_contents_box input#tab3_a:checked+label,
.tab_contents_box input#tab3_b:checked+label,
.tab_contents_box input#tab3_c:checked+label {
    background: #444;
    color: #fff;
}

.voice {
    display: flex;
    align-items: center;
    font-size: 0.9rem;
    padding-bottom: 1%;
    padding-top: 3%;
}

.voice img {
    width: 9%;
    height: 9%;
    margin-right: 2%;
}

h2.voice_title {
    font-size: 22px;
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: 5px;
}

.tx {
    display: flex;
    flex-direction: column;
}

b.voice-name {
    font-size: 16px;
    color: #00ad9e;
}

.fukidashi {
    padding-bottom: 3%;
    border-bottom: 1px solid #9c9c9c;
}

.table_design01 {
    border-collapse: collapse;
    width: 100%;
    border-right: none;
    border-left: none;
    border-top: 2px solid #777777;
    border-bottom: 2px solid #777777;
}

.table_design01 th {
    background-color: #d6f6ff;
    font-weight: bold;
    text-align: center;
    width: 30%;
}

.table_design01 th,
.table_design01 td {
    border: 1px dotted #999;
    padding: 10px;
    border-left: none;
    border-right: none;
}

.yoyaku_cta-content .right-image {
    position: absolute;
    right: 4%;
}

.table_design01 td {
    background-color: #fff;
    text-align: left;
}

.cta_text {
    text-align: center;
    margin: 2% 0 -4%;
    font-size: 19px;
    font-weight: bold;
}

.coupon_content {
    background: #fff8da;
}

.campaign_img {
    padding: 0% 3% 0%;
}

.campaign_text {
    margin: 2% 3% 4%;
    font-size: 14px;
}

img.mv_pin {
    position: absolute;
    bottom: 10%;
    left: 3%;
    width: 40px;
}

p.mv_map {
    position: absolute;
    bottom: 16%;
    right: 0%;
    color: #fff;
    font-weight: bold;
    font-size: 24px;
    background: #00ad9e;
    padding: 1% 3% 0% 4%;
    border-radius: 10px 0px 0px 0px;
}





@media screen and (min-width: 700px) {
    table th {
        position: relative;
        width: 100%;
        padding: 5px;
    }

    table td {
        position: relative;
        padding: 15px 0;
        margin: 0;
        font-size: 15px;
        vertical-align: top;
        border-right: 2px dotted #eee;
    }
}

@media (max-width: 768px) {

    .table_design01 th,
    .table_design01 td {
        font-size: 13px;
    }

    table {
        box-sizing: border-box;
        width: 700px;
        height: auto;
        text-align: left;
    }

    .body_box .off_btn {
        font-size: 0.6em;
        box-shadow: #c35a00 0 1px;
        border-radius: 4px;
    }

    .ttlpic {
        width: 6%;
    }

    .plan_scroll .body_box {
        width: 105px;
    }

    .body_box {
        padding: 3% 1%;
        width: 26%;
        /* flex: 0 0 calc(60% - 10px); */
    }

    .plan_scroll {
        padding: 3% 10px 3%;
        gap: 10px;
        scrollbar-width: thin;
    }

    .plan_scroll .body_box {
        width: 95px;
    }

    .body_box .recom_poab {
        position: absolute;
        top: -5%;
        left: -1px;
        width: 85%;
    }

    .catch-copy {
        font-size: 1.2em;
        margin: 10px 0;
    }

    p.mv_map {
        font-size: 13px;
    }

    img.mv_pin {
        width: 21px;
    }


    p.mv_map::before {
        border-top: 25px solid transparent;
    }

    p.PR {
        top: -4%;
        right: 3%;
        font-size: 14px;
        padding: 0px 1.5%;
    }










}





.c-button._shiny {
    display: block;
    position: relative;
    overflow: hidden;
    transition: 300ms;
}

.c-button._shiny::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    transition: 300ms;
    animation: shinyshiny 2.5s ease-in-out infinite;
}


@-webkit-keyframes shinyshiny {
    0% {
        -webkit-transform: scale(0) rotate(45deg);
        opacity: 0;
    }

    80% {
        -webkit-transform: scale(0) rotate(45deg);
        opacity: 0.5;
    }

    81% {
        -webkit-transform: scale(4) rotate(45deg);
        opacity: 1;
    }

    100% {
        -webkit-transform: scale(50) rotate(45deg);
        opacity: 0;
    }
}

@media screen and (max-width: 699px) {
    body .wrapper {
        width: 100%;
        margin: 0 auto;
    }

    td .officialBtn:after,
    tr .tbl_a01:after {
        content: none;
    }

    .more_link,
    .officialBtn {
        padding: 8% 8%;
        font-size: 0.6rem;
        width: 92%;
    }

    .officialBtn {
        margin-bottom: 17%;
        box-shadow: 0px 3px 0px 0px #8d412d;
    }

    .more_link {
        border: 1px solid #7e7e7e;
    }

    .js-cbn-table table th,
    .js-cbn-table table td {
        padding: 5px 2px;
    }

    .tab-menu .tab-menu-item {
        font-size: 16px;
    }

    .table-wrapper {
        padding-bottom: 1%;
        margin-top: 5%;
        margin-bottom: 1%;
    }

    .rank3Title p {
        font-size: 1.3em;
        top: 8%;
    }

    img.medal {
        width: 70px;
        right: -15px;
    }

    .clinic_name {
        padding-left: 0%;
        line-height: 1.2;
    }

    .inner_y li p {
        margin: 0;
        line-height: 1.3;
    }

    .inner_y li {
        background: #fff;
        width: 95%;
        margin: auto;
        border-radius: 4px;
        padding: 3% 4%;
        line-height: 1.4;
        margin-top: 1.5%;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        color: #444;
        gap: 10px;
    }

    .sankaku {
        width: 99%;
        margin: -12px auto 10px;
    }

    .mainContent {
        padding: 0 4% 3%;
    }

    .yoyaku_cta a {
        width: 100%;
    }

    .cta-text {
        font-size: 19px;
    }

    .tab_menu01:first-of-type,
    .tab_menu:first-of-type,
    .tab_menu2:first-of-type,
    .tab_menu3:first-of-type,
    .tab_menu4:first-of-type,
    .tab_menu5:first-of-type {
        margin: 0 3px 0 3px;
    }

    .tab_menu,
    .tab_menu2,
    .tab_menu3,
    .tab_menu4,
    .tab_menu5 {
        width: 27vw;
        font-size: 4.0vw;
    }

    table {
        box-sizing: border-box;
        width: 700px;
        height: auto;
        text-align: left;
    }

    tbody {
        box-sizing: border-box;
        width: 100%;
        display: table-row-group;
    }

    table tr {
        display: table-row;
        width: 100%;
        height: 26px;
    }

    .table_design01 th {
        position: inherit !important;
    }

    .in_ttl {
        font-size: 16px;
    }

    .in_ttl_y {
        font-size: 16px;
    }

    .cta_text {
        margin: 2% 0 -6%;
        font-size: 14px;
    }

    .campaign_text {
        margin: 2% 3% 4%;
        font-size: 14px;
    }

    .yoyaku_cta {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 95%;
        margin: auto;
    }

    .body_box .body_text h5 {
        font-size: 0.7em;
        line-height: 1.2;
    }

    .body_box .recom_poab {
        position: absolute;
        top: -5%;
        left: -1px;
        width: 85%;
    }

    .body_box .body_text .price {
        font-size: 0.9em;
    }

    .body_box .body_text .price .price-in {
        font-size: 9px;
    }

    .posi_a {
        width: 27%;
    }

    .yoyaku_cta-content {
        display: flex;
        align-items: center;
        position: relative;
        width: 100%;
        justify-content: center;
        padding-right: 6%;
    }

    .cta-image .fa-calendar-alt:before {
        font-size: 34px;
    }

    .yoyaku_cta-content .right-image {
        position: absolute;
        right: 4%;
    }

}

.riskTitle {
    padding: 4% 0 1.5%;
    width: 90%;
    margin: auto;
}

.questionTitle {
    padding: 4% 0 1.5%;
    width: 90%;
    margin: auto;
}

.treatmentTitle {
    padding: 4% 0 1.5%;
    width: 100%;
    margin: auto;
}


.rank4 .clinic_name,
.rank5 .clinic_name {
    padding-left: 0;
}

.detailmap_flex>div:nth-of-type(2) {
    width: 27%;
}

/* ---------------------------------------クリニック紹介--------------------------------------- */
#special-image {
    width: 35% !important;
    /* 幅を固定（flex内での潰れ防止） */
    max-width: 150px;
    height: auto;
    padding-right: 10px;
}

#special-image2 {
    width: 35% !important;
    /* 幅を固定（flex内での潰れ防止） */
    max-width: 150px;
    height: auto;
    padding-right: 10px;
}

#special-image3 {
    width: 35% !important;
    /* 幅を固定（flex内での潰れ防止） */
    max-width: 150px;
    height: auto;
    padding-right: 10px;
}

/* 共通 */
.toprank .clinic2 {

    /*background-color: #fff; */
    margin-top: 30px;
    border-radius: 5px;
}

.clinic2 {
    /*background-color: #fff; */
    margin-top: 0px;
    border-radius: 5px;
}

.clinic_sub {
    text-align: center;
    font-weight: bold;
    color: #00ad9e;
    font-size: 20px;
    margin: 2px 0px -2px 0px;
}

.best_inner {
    padding: 0px;
    margin-top: 4%;
}

.best_contents {
    border-radius: 0 0 8px 8px;
    padding: 12px 0;
    background: #fff;
    margin-top: 1px;
    border-radius: 0 0 8px 8px;
}

/* PC/SPの出し分け制御 */
.pc {
    display: block;
}

.sp {
    display: none;
}

@media screen and (max-width: 699px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .title-icon {
        width: 50px;
        /* スマホでは少し小さく */
    }

    #special-image {
        width: 40% !important;
    }
}

p.rsv_schdl-description {
    font-size: 22px;
    margin-top: 12px;
    padding-top: 10px;
}

.best_mv {
    display: flex;
    gap: 15px;
}

.best_mv.for {
    margin-top: 10px;
}

@media screen and (max-width:699px) {
    .best_mv {
        flex-direction: column;
    }
}

.best_mv>img {
    width: 50%;
    margin: 0;
}

@media screen and (max-width:699px) {
    .best_mv>img {
        width: 100%;
    }
}


/* -----------------商品紹介表 ------------------*/
.performance_wrap {
    margin: 1% 0 0 0;
    border: 1px solid #eb908d;
    width: 70%;
    margin: 0 auto;
    margin-bottom: 5%;
}

table.hyou {
    width: 100%;
}

/*  */
.performance_wrap02 {
    margin: 1% 0 0 0;
    border: 1px solid #ff7b00;
    width: 70%;
    margin: 0 auto;
    margin-top: -2%;
    margin-bottom: 4%;
}

.performance_wrap03 {
    margin: 1% 0 0 0;
    border: 1px solid #070707;
    width: 70%;
    margin: 0 auto;
    margin-top: -2%;
    margin-bottom: 4%;
}

table.hyou02 {
    width: 100%;
}

table.hyou03 {
    width: 100%;
}


table.hyou02 td:first-child {
    width: 35%;
    padding: 2%;
    text-align: center;
    font-weight: bold;
    color: #ffffff;
    background: #ff7b00;
    vertical-align: middle;
}

table.hyou02 td:last-child {
    font-weight: bold;
    width: 52%;
    border-bottom: 1px solid #ff7b00;
    padding-left: 3%;
    background-color: #ffffff;
}

table.hyou03 td:first-child {
    width: 35%;
    padding: 2%;
    text-align: center;
    font-weight: bold;
    color: #ffffff;
    background: #414141;
    vertical-align: middle;
}

table.hyou03 td:last-child {
    font-weight: bold;
    width: 52%;
    border-bottom: 1px solid #414141;
    padding-left: 3%;
    background-color: #ffffff;
}


@media screen and (max-width: 767px) {
    .performance_wrap {
        width: 100%;
    }

    .performance_wrap02 {
        width: 100%;
        margin: 0 auto;
        margin-top: 4%;
        margin-bottom: 4%;
    }

    .performance_wrap03 {
        width: 100%;
        margin: 0 auto;
        margin-top: 4%;
        margin-bottom: 4%;
    }

    table.hyou02 td:first-child {
        width: 28%;
    }

    table.hyou03 td:first-child {
        width: 28%;
    }

}


.title-icon {
    width: 60px;
    height: auto;
}

.title-icon-wrapper {
    position: static;
    z-index: 10;
    top: -5px;
    left: 13px;
}

/* PC：幅700px以上ならSP用を非表示、PC用を表示 */
@media screen and (min-width: 700px) {
    .title-icon.sp {
        display: none;
    }

    .title-icon.pc {
        display: block;
    }
}

.best_header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 15px;
}

.best_header h1 {
    color: #ffeb26f2;
    font-size: 35px;
    margin: 0;
    padding: 0;
    font-weight: bold;
}

/* SP：幅699px以下ならPC用を非表示、SP用を表示 */
@media screen and (max-width: 699px) {
    .title-icon.pc {
        display: none;
    }

    .title-icon.sp {
        display: block;
    }

    .title-icon-wrapper {
        top: -3px;
        left: 2%;
    }

    .title-icon {
        width: 40px;
    }

    .best_header h1 {
        color: #ffeb26f2;
        font-size: 26px;
        margin: 0;
        padding: 0;
        font-weight: bold;
    }
}

.title-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #ffffff;
    font-family: sans-serif;
    line-height: 1.2;
}

.title-sub {
    font-size: 12px;
    margin-bottom: 4px;
}

.title-main {
    font-size: 20px;
    font-weight: bold;
}



/* ---------------------------------------ここまで--------------------------------------- */


/* スライダー */
.slider {
    margin: 0 auto;
    width: 95%;
}

.slick-img img {
    height: auto;
    width: 100%;
}


.flex_container {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 20px;
    border: 1px solid #ccc;
    background-color: #fff;
}

.image_area img {
    width: 180px;
    height: auto;
    border-radius: 8px;
}

.text_area {
    flex: 1;
    min-width: 200px;
}

.info_row {
    margin-bottom: 15px;
}



.highlight-red {
    color: #f62929;
    font-weight: bold;
}

@media (max-width: 500px) {
    .feature-section {
        padding: 0px;
        margin-top: 8%;

    }
}

@media (max-width: 500px) {
    .feature-section2 {
        padding: 0px;
        margin-top: -5%;
    }
}


.fa,
.fas,
.far {
    font-weight: 900;
    margin-right: 4px;
}

.fa,
.fab,
.fal,
.far,
.fas {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    margin-right: 4px;
}

/* CTA全体 */
.cta-box {
    display: block;
    margin: 0 auto;
    text-align: center;
}

/* 詳細を見る */
.secrsyosai {
    width: 38%;
    background: #999999;
    color: #fff;
    padding: 16px;
    box-shadow: #242424 0 2px;
    font-size: 16px;
}

/* 右CTA */
.secrsite {
    width: 60%;
    background: linear-gradient(to bottom right, #FF7900, #ff3c00);
    color: #fff;
    padding: 16px;
    box-shadow: #934a39 0 2px;
    font-size: 15px;
}


/* アイコン */
.secrsyosai img {
    width: 14px;
    height: auto;
}

/* SP調整 */
@media (max-width: 768px) {
    .secrsyosai {
        width: 40%;
        font-size: 11px;
        padding: 8px 2px;
    }

    .secrsite {
        width: 60%;
        font-size: 13px;
        padding: 14px;
    }

    .secrsyosai img {
        width: 12px;
    }
}

/* 診察に関する最新情報 */
.info_box_custom {
    border: 2px solid #666666;
    margin: 20px 0;
    margin-top: 13%;
    padding-bottom: 20px;
    font-family: sans-serif;
}

.info_title_custom {
    background-color: #666666;
    color: white;
    text-align: center;
    font-weight: bold;
    font-size: 20px;
    padding: 10px;
}

.info_bullet_wrapper {
    border-left: 4px solid #ff871e;
    background-color: #ffe4cc;
    margin: 15px auto;
    width: 90%;
    padding: 15px 20px;
}

.info_bullet_list {
    list-style: disc;
    margin: 0;
    color: #333;
}

.info_bullet_list li {
    margin-bottom: 5px;
    text-align: left;
    line-height: 1.6;
}

.info_text_custom {
    margin: 0 20px;
    font-size: 14px;
    color: #333;
}

/* 追従CTA */
.cta-fixed {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 9999;
    opacity: 0;
    transform: translateY(20px);
    /* 少し下から */
    pointer-events: none;

    transition:
        opacity 0.6s ease,
        transform 0.6s ease;
}

.cta-fixed.show {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.cta-fixed img {
    width: 250px;
    height: auto;
    border-radius: 8px;
}

@media (max-width: 768px) {
    .cta-fixed img {
        width: 187px;
        height: auto;
        border-radius: 8px;
    }
}

.cta-fixed a::after {
    content: none !important;
}

.in_ttl {
    background-color: #256baf;
    padding: 8px;
    text-align: center;
    color: #fff;
    font-weight: bold;
    font-size: 25px;
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: 5px;
}


.detaile_area {
    background: #f6f6f6;
    padding-left: 30px !important;
    position: relative;
}

.detaile_area::after {
    content: "";
    width: 10px;
    height: 2px;
    border-radius: 100px;
    background: #000;
    position: absolute;
    top: 49%;
    left: 10px;
    transition: all 0.1s ease-out;
}

.area_top_title {
    display: none;
}

.detaile_area.arrow-open::after {
    background: #ac9a49;
}

.arrow {
    position: relative;
    cursor: pointer;
    transition: max-height 1s ease-out;
    /* アニメーションを追加 */
}

.arrow::before {
    position: absolute;
    transition: transform 0.3s ease-out;
    /* アニメーションを追加 */
}

.arrow::before {
    content: "";
    right: 13px;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 7px;
    height: 7px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

.arrow.arrow-open::before {
    transform: rotate(315deg);
}

.arrow+div {
    opacity: 0;
    height: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.1s linear, visibility 0.1s linear, height 0.3s ease-out;
}

.arrow+div.open {
    opacity: 1 !important;
    height: auto;
    visibility: visible;
    pointer-events: auto;
    transition: height 0.1s ease-out, opacity 0.1s linear 0.1s,
        visibility 0.1s linear 0.1s;
}

.border_box {
    border-bottom: 1px solid #e1e1e1;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 16px;
    padding-left: 10px;
    padding-right: 30px;
    padding-top: 0px;
    padding-bottom: 0px;
    transition: padding-top 0.3s ease-out, padding-bottom 0.3s ease-out;
}

.open>div>.border_box,
.open>.border_box {
    padding-left: 10px;
    padding-right: 30px;
    padding-top: 10px;
    padding-bottom: 10px;
    transition: padding-top 0.3s ease-out, padding-bottom 0.3s ease-out;
}

.detaile_area_content {
    padding-left: 0px !important;
    padding-right: 0px !important;
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    transition: height 0.3s ease-out, padding-top 0.3s ease-out,
        padding-bottom 0.3s ease-out;
}

.open>.detaile_area_content {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    transition: height 0.3s ease-out, padding-top 0.3s ease-out, padding-bottom 0.3s ease-out;
    border-bottom: solid 1px #e1e1e1;
}

.detaile_area_content.hidden {
    opacity: 0;
    height: 0;
    padding: 0 !important;
    border: none;
}

.hidden {
    opacity: 0;
    height: 0;
    padding: 0 !important;
}

.detaile_area_content div>.store_name {
    font-weight: bold;
    color: #000;
    font-size: 16px;
}

span.address {
    color: #8c8c8c;
}

span.from_station {
    color: #e5738e;
}

.accodion p {
    line-height: 1.5;
    margin: 0px 0 0;
    padding: 0;
    font-size: 10px;
    font-weight: bold;
}

.fls {
    letter-spacing: 0.5px;
}

.map {
    width: 10px;
    padding: 0;
    margin: 0;
}

.detaile_area.no_store {
    color: #cdcdcd;
}

.detaile_area_hidden {
    font-size: 12px;
    padding: 0px 10px 5px;
    color: #478fde;
    position: relative;
    z-index: 1000;
    cursor: pointer;
}

.detaile_area_hidden>span {
    padding-right: 15px;
    position: relative;
}

.detaile_area_hidden>span::before {
    position: absolute;
    top: 0;
    bottom: 3px;
    margin: auto;
    content: "";
    vertical-align: middle;
    left: 0px;
    width: 8px;
    height: 8px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

.detailmap_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.detailmap_flex>img {
    width: 26%;
    height: 65px;
    object-fit: cover;
    border-radius: 3px;
}

.detailmap_flex>div:nth-of-type(1) {
    width: 45%;
}

.detailmap_flex>div:nth-of-type(2) {
    width: 25%;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}

.detaile_area_content a {
    text-decoration: none;
    color: #474747;
    line-height: 1.4;
    font-size: 14px;
}

.detailmap_flex>div:nth-of-type(1) a {
    font-size: 12px;
}

.detailmap_flex>div:nth-of-type(1) p,
.detailmap_flex>div:nth-of-type(1) p span {
    font-size: 11px;
    line-height: 1.4;
    margin-top: 0;
    display: inline-block;
}

.detailmap_flex>div:nth-of-type(1) a {
    display: block;
    line-height: 1.2;
    font-size: 13px;
    margin-bottom: 3px;
}

.detailmap_flex>div:nth-of-type(2) a {
    width: 100%;
    font-weight: bold;
    color: #fff;
    border-radius: 4px;
    background: linear-gradient(to bottom, #f59f47, #fd8100) !important;
    box-shadow: 0 5px 0 #c1743a !important;
    display: block;
    text-align: center;
    padding: 12px 0;
    letter-spacing: 0.5px;
}

.detailmap_flex>div:nth-of-type(2) a,
.detailmap_flex>div:nth-of-type(2) p {
    font-size: 10px;
}

.detailmap_flex>div:nth-of-type(2) .map-button {
    margin-top: 12px !important;
}

@media screen and (max-width: 331px) {
    .detaile_area_content>div:last-of-type {
        width: 31%;
    }
}

@media screen and (min-width: 400px) {
    .detaile_area_content>div:nth-of-type(2) {
        width: 50%;
    }
}

@media screen and (min-width: 700px) {
    .detaile_area_content>div:nth-of-type(2) {
        width: 66%;
    }

    .map_text {
        font-size: 11px;
        margin-left: 15px;
    }

    .detaile_area_content div>.store_name {
        font-size: 20px;
    }

    .accodion p {
        font-size: 12px;
    }

    .detaile_area_hidden {
        padding: 0px 10px 5px;
    }

    .detailmap_flex>img {
        width: 100px;
    }

    .detailmap_flex>div:nth-of-type(1) {
        width: 65%;
    }

    .detailmap_flex>div:nth-of-type(2) {
        width: 100px;
        align-items: center;
    }
}

video {
    max-width: 100%;
    height: auto;
}

/*比較表*/
.hikaku_type03 th:first-child,
.hikaku_type03 td:first-child {
    border: 1px solid #e3e3e3;
    padding: 8px 6px;
    text-align: center;
    vertical-align: middle;
    font-size: 15px;
    background: #ffe555;
    font-weight: bold;
}

.hikaku_type03 th:nth-child(2),
.hikaku_type03 td:nth-child(2) {
    background: #fff7c2 !important;
    font-weight: bold;
}

.hikaku_type03 th,
.hikaku_type03 td {
    min-width: 110px;
}

.hikaku_type03 th {
    border: 1px solid #e3e3e3;
}

.hikaku_type03 td:first-child {
    min-width: 110px;
}


.hikaku_type03 tr:first-child th:not(:first-child) {
    background: #fff;
}

.ranking-cap {
    text-align: center !important;
    font-weight: bold;
}

.ranking-ttl {
    padding-bottom: 10px;
}

.hikaku_type03 {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.hikaku_type03 td {
    width: unset;
    vertical-align: middle;
    padding: 2px 2px;
    text-align: center;
    line-height: 1.5;
    font-size: 11px;
    border: 1px solid #e3e3e3;
    background-color: #FFF;
    position: relative;
    letter-spacing: normal;
    display: table-cell;
    height: fit-content;
    /* overflow-y: hidden; */

}

@media screen and (max-width:768px) {

    .hikaku_type03 th:first-child,
    .hikaku_type03 td:first-child {
        position: sticky;
        left: 0;
        z-index: 2;
        background: #ffe555;
        font-size: 14px;
    }

    /* ヘッダーの重なり対策 */

    .hikaku_type03 tr:first-child th:first-child {
        z-index: 3;
    }

}

.cell_small {
    width: 30px !important;

}

.cell_medium {
    width: 50px !important;
}

.cell_large {
    width: 70px !important;
}

.cell_half {
    height: fit-content
}

.txt_left {
    padding-left: 8px !important;
    text-align: left !important;
}

.txt_bold {
    font-weight: bold;
    font-size: 1.4rem;
}

.txt_cap {
    font-size: .9rem;
}



.hikaku_type03 img {
    max-width: 70px;
    height: auto;

}

.bg-yellow {
    background-color: rgba(241, 189, 0, 0.2);
}

.fixed01 {
    z-index: 3;
}

.fixed02 {
    z-index: 2;
}


.ranking-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: unset;
    height: 50px;
    margin: 20px auto;
    border: none;
    border-radius: 5px;
    box-shadow: 0 2px 3px rgb(0 0 0 / 25%), 0 2px 3px -2px rgb(0 0 0 / 15%);
    background: linear-gradient(to bottom, #fda2a4 0%, #ff474b 100%);
    color: #fff;
    font-weight: 600;
    font-size: 12px;
    line-height: 1.2;
    width: 90px;
}

.ranking-btn:hover {
    background: linear-gradient(to bottom, #fda2a4 0%, #ff474b 100%);

}

.ranking-item {
    font-weight: bold;
    font-size: 12px;
    background-color: #ffe555 !important;
    font-size: 13px;
    font-weight: 600;
    color: #111;

}

.hikaku_type03 tr td span {}

.table-scrolling {
    overflow-x: auto;

}

.mark-ico {
    font-size: 25px !important;
    font-weight: bold !important;
}

.mark-circle {
    color: #ffa500;
}

/* 記号 */
/* 記号 PCサイズ調整 */


.do {
    color: #FF0000;
    font-size: 3em;
    font-weight: bolder;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: 0;
    opacity: 0.4;
}

.ci {
    color: #23ccff;
    font-size: 2rem;
    font-weight: bold;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: 0;
    opacity: 0.4;
}

.ta {
    color: #ffd000;
    font-size: 2.5rem;
    font-weight: bold;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: 0;
    opacity: 0.4;
}



@media screen and (max-width: 767px) {
    .do {
        color: #FF0000;
        font-size: 2rem;
        font-weight: bolder;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        z-index: 0;
        opacity: 0.4;
    }

    .ci {
        color: #23ccff;
        font-size: 2rem;
        font-weight: bold;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        z-index: 0;
        opacity: 0.4;
    }

    .ta {
        color: #ffd000;
        font-size: 2rem;
        font-weight: bold;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        z-index: 0;
        opacity: 0.4;
    }

}

.txt_bold {
    font-weight: bold;
}

.txt_large {
    font-size: 1rem;
}

.txt_medium {
    font-size: .9rem;
}

.txt_cap {
    font-size: .6rem;
}

.red {
    color: #ee1600;
}

.blue {
    color: #485ac1;
}


.table-main-btn {
    color: #fff;
    background: #00a608;
    box-shadow: 2px 2px #054800;
    border: 1px solid #fff;
    cursor: pointer;
    font-size: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    margin: 8px auto;
    font-weight: 700;
    transition: 0.3s ease-in-out;
    text-decoration: none;
    height: 36px;
    width: 90px;
}

.table-main-btn:hover {
    opacity: 0.8;
    filter: alpha(opacity=80);
    -moz-opacity: 0.8;
}

.table-btn {
    color: #fff;
    background-color: #a2a2a2;
    cursor: pointer;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    margin: 5px;
    font-weight: 700;
}



.th-in {
    display: flex;
    justify-content: center;
    align-items: center;
}

.btns {
    height: 70px;
    align-items: center;
}


@media screen and (min-width: 766px) {
    .pc-none {
        display: none;
    }
}



/* SP表示 */
@media screen and (max-width: 767px) {
    .hikaku_type03 {
        width: 600px;
        table-layout: fixed;
        display: table;
    }

    .hikaku_type03 td {
        width: unset;
        vertical-align: middle;
        padding: 2px 4px 2px 4px;
        text-align: center;
        line-height: 1.5;
        font-size: 14px;
        border: 1px solid #e3e3e3;
        background-color: #FFF;
        position: relative;
        letter-spacing: normal;
        display: table-cell;
        /* overflow-y: hidden; */

    }

    .hikaku_type03 img {
        width: 70px;
    }

    .table-main-btn {
        color: #fff;
    background: #00a608;
    box-shadow: 2px 2px #054800;
    border: 1px solid #fff;
    cursor: pointer;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    margin: 8px auto;
    font-weight: 700;
    transition: 0.3s ease-in-out;
    text-decoration: none;
    height: 36px;
    width: 83px;
    }
}

/* ジャンル行の文字サイズ調整 */
.genre-row td:not(:first-child){
    font-size: 12px;
    line-height: 1.4;
}

/* 送料の説明文を小さく */
@media screen and (max-width:767px){
    .shipping-small{
        font-size: 12px;
        line-height: 1.4;
    }
}

.animated {
    animation-duration: 1s;
    animation-fill-mode: both
}

.animated.infinite {
    margin-top: 8%;
    animation-iteration-count: infinite
}

.animated.delay-1s {
    animation-delay: 1s
}

.animated.delay-2s {
    animation-delay: 2s
}

.animated.delay-3s {
    animation-delay: 3s
}

.animated.delay-4s {
    animation-delay: 4s
}

.animated.delay-5s {
    animation-delay: 5s
}

@keyframes bounce {

    0%,
    20%,
    53%,
    80%,
    to {
        animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        transform: translateZ(0)
    }

    40%,
    43% {
        animation-timing-function: cubic-bezier(.755, .05, .855, .06);
        transform: translate3d(0, -30px, 0)
    }

    70% {
        animation-timing-function: cubic-bezier(.755, .05, .855, .06);
        transform: translate3d(0, -15px, 0)
    }

    90% {
        transform: translate3d(0, -4px, 0)
    }
}

.bounce {
    animation-name: bounce;
    transform-origin: center bottom
}

@keyframes flash {

    0%,
    50%,
    to {
        opacity: 1
    }

    25%,
    75% {
        opacity: 0
    }
}

.flash {
    animation-name: flash
}

@keyframes pulse {
    0% {
        transform: scaleX(1)
    }

    50% {
        transform: scale3d(1.05, 1.05, 1.05)
    }

    to {
        transform: scaleX(1)
    }
}

.pulse {
    animation-name: pulse
}

@keyframes rubberBand {
    0% {
        transform: scaleX(1)
    }

    30% {
        transform: scale3d(1.25, .75, 1)
    }

    40% {
        transform: scale3d(.75, 1.25, 1)
    }

    50% {
        transform: scale3d(1.15, .85, 1)
    }

    65% {
        transform: scale3d(.95, 1.05, 1)
    }

    75% {
        transform: scale3d(1.05, .95, 1)
    }

    to {
        transform: scaleX(1)
    }
}

.rubberBand {
    animation-name: rubberBand
}

@keyframes shake {

    0%,
    to {
        transform: translateZ(0)
    }

    10%,
    30%,
    50%,
    70%,
    90% {
        transform: translate3d(-10px, 0, 0)
    }

    20%,
    40%,
    60%,
    80% {
        transform: translate3d(10px, 0, 0)
    }
}

.shake {
    animation-name: shake
}

@keyframes headShake {
    0% {
        transform: translateX(0)
    }

    6.5% {
        transform: translateX(-6px) rotateY(-9deg)
    }

    18.5% {
        transform: translateX(5px) rotateY(7deg)
    }

    31.5% {
        transform: translateX(-3px) rotateY(-5deg)
    }

    43.5% {
        transform: translateX(2px) rotateY(3deg)
    }

    50% {
        transform: translateX(0)
    }
}

.headShake {
    animation-timing-function: ease-in-out;
    animation-name: headShake
}

@keyframes swing {
    20% {
        transform: rotate(15deg)
    }

    40% {
        transform: rotate(-10deg)
    }

    60% {
        transform: rotate(5deg)
    }

    80% {
        transform: rotate(-5deg)
    }

    to {
        transform: rotate(0deg)
    }
}

.swing {
    transform-origin: top center;
    animation-name: swing
}

@keyframes tada {
    0% {
        transform: scaleX(1)
    }

    10%,
    20% {
        transform: scale3d(.9, .9, .9) rotate(-3deg)
    }

    30%,
    50%,
    70%,
    90% {
        transform: scale3d(1.1, 1.1, 1.1) rotate(3deg)
    }

    40%,
    60%,
    80% {
        transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg)
    }

    to {
        transform: scaleX(1)
    }
}

.tada {
    animation-name: tada
}

@keyframes wobble {
    0% {
        transform: translateZ(0)
    }

    15% {
        transform: translate3d(-25%, 0, 0) rotate(-5deg)
    }

    30% {
        transform: translate3d(20%, 0, 0) rotate(3deg)
    }

    45% {
        transform: translate3d(-15%, 0, 0) rotate(-3deg)
    }

    60% {
        transform: translate3d(10%, 0, 0) rotate(2deg)
    }

    75% {
        transform: translate3d(-5%, 0, 0) rotate(-1deg)
    }

    to {
        transform: translateZ(0)
    }
}

.wobble {
    animation-name: wobble
}

@keyframes jello {

    0%,
    11.1%,
    to {
        transform: translateZ(0)
    }

    22.2% {
        transform: skewX(-12.5deg) skewY(-12.5deg)
    }

    33.3% {
        transform: skewX(6.25deg) skewY(6.25deg)
    }

    44.4% {
        transform: skewX(-3.125deg) skewY(-3.125deg)
    }

    55.5% {
        transform: skewX(1.5625deg) skewY(1.5625deg)
    }

    66.6% {
        transform: skewX(-.78125deg) skewY(-.78125deg)
    }

    77.7% {
        transform: skewX(.390625deg) skewY(.390625deg)
    }

    88.8% {
        transform: skewX(-.1953125deg) skewY(-.1953125deg)
    }
}

.jello {
    animation-name: jello;
    transform-origin: center
}

@keyframes bounceIn {

    0%,
    20%,
    40%,
    60%,
    80%,
    to {
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        transform: scale3d(.3, .3, .3)
    }

    20% {
        transform: scale3d(1.1, 1.1, 1.1)
    }

    40% {
        transform: scale3d(.9, .9, .9)
    }

    60% {
        opacity: 1;
        transform: scale3d(1.03, 1.03, 1.03)
    }

    80% {
        transform: scale3d(.97, .97, .97)
    }

    to {
        opacity: 1;
        transform: scaleX(1)
    }
}

.bounceIn {
    animation-duration: .75s;
    animation-name: bounceIn
}

@keyframes bounceInDown {

    0%,
    60%,
    75%,
    90%,
    to {
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        transform: translate3d(0, -3000px, 0)
    }

    60% {
        opacity: 1;
        transform: translate3d(0, 25px, 0)
    }

    75% {
        transform: translate3d(0, -10px, 0)
    }

    90% {
        transform: translate3d(0, 5px, 0)
    }

    to {
        transform: translateZ(0)
    }
}

.bounceInDown {
    animation-name: bounceInDown
}

@keyframes bounceInLeft {

    0%,
    60%,
    75%,
    90%,
    to {
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        transform: translate3d(-3000px, 0, 0)
    }

    60% {
        opacity: 1;
        transform: translate3d(25px, 0, 0)
    }

    75% {
        transform: translate3d(-10px, 0, 0)
    }

    90% {
        transform: translate3d(5px, 0, 0)
    }

    to {
        transform: translateZ(0)
    }
}

.bounceInLeft {
    animation-name: bounceInLeft
}

@keyframes bounceInRight {

    0%,
    60%,
    75%,
    90%,
    to {
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        transform: translate3d(3000px, 0, 0)
    }

    60% {
        opacity: 1;
        transform: translate3d(-25px, 0, 0)
    }

    75% {
        transform: translate3d(10px, 0, 0)
    }

    90% {
        transform: translate3d(-5px, 0, 0)
    }

    to {
        transform: translateZ(0)
    }
}

.bounceInRight {
    animation-name: bounceInRight
}

@keyframes bounceInUp {

    0%,
    60%,
    75%,
    90%,
    to {
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        transform: translate3d(0, 3000px, 0)
    }

    60% {
        opacity: 1;
        transform: translate3d(0, -20px, 0)
    }

    75% {
        transform: translate3d(0, 10px, 0)
    }

    90% {
        transform: translate3d(0, -5px, 0)
    }

    to {
        transform: translateZ(0)
    }
}

.bounceInUp {
    animation-name: bounceInUp
}

@keyframes bounceOut {
    20% {
        transform: scale3d(.9, .9, .9)
    }

    50%,
    55% {
        opacity: 1;
        transform: scale3d(1.1, 1.1, 1.1)
    }

    to {
        opacity: 0;
        transform: scale3d(.3, .3, .3)
    }
}

.bounceOut {
    animation-duration: .75s;
    animation-name: bounceOut
}

@keyframes bounceOutDown {
    20% {
        transform: translate3d(0, 10px, 0)
    }

    40%,
    45% {
        opacity: 1;
        transform: translate3d(0, -20px, 0)
    }

    to {
        opacity: 0;
        transform: translate3d(0, 2000px, 0)
    }
}

.bounceOutDown {
    animation-name: bounceOutDown
}

@keyframes bounceOutLeft {
    20% {
        opacity: 1;
        transform: translate3d(20px, 0, 0)
    }

    to {
        opacity: 0;
        transform: translate3d(-2000px, 0, 0)
    }
}

.bounceOutLeft {
    animation-name: bounceOutLeft
}

@keyframes bounceOutRight {
    20% {
        opacity: 1;
        transform: translate3d(-20px, 0, 0)
    }

    to {
        opacity: 0;
        transform: translate3d(2000px, 0, 0)
    }
}

.bounceOutRight {
    animation-name: bounceOutRight
}

@keyframes bounceOutUp {
    20% {
        transform: translate3d(0, -10px, 0)
    }

    40%,
    45% {
        opacity: 1;
        transform: translate3d(0, 20px, 0)
    }

    to {
        opacity: 0;
        transform: translate3d(0, -2000px, 0)
    }
}

.bounceOutUp {
    animation-name: bounceOutUp
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.fadeIn {
    animation-name: fadeIn
}

@keyframes fadeInDown {
    0% {
        opacity: 0;
        transform: translate3d(0, -100%, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.fadeInDown {
    animation-name: fadeInDown
}

@keyframes fadeInDownBig {
    0% {
        opacity: 0;
        transform: translate3d(0, -2000px, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.fadeInDownBig {
    animation-name: fadeInDownBig
}

@keyframes fadeInLeft {
    0% {
        opacity: 0;
        transform: translate3d(-100%, 0, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.fadeInLeft {
    animation-name: fadeInLeft
}

@keyframes fadeInLeftBig {
    0% {
        opacity: 0;
        transform: translate3d(-2000px, 0, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.fadeInLeftBig {
    animation-name: fadeInLeftBig
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        transform: translate3d(100%, 0, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.fadeInRight {
    animation-name: fadeInRight
}

@keyframes fadeInRightBig {
    0% {
        opacity: 0;
        transform: translate3d(2000px, 0, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.fadeInRightBig {
    animation-name: fadeInRightBig
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translate3d(0, 100%, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.fadeInUp {
    animation-name: fadeInUp
}

@keyframes fadeInUpBig {
    0% {
        opacity: 0;
        transform: translate3d(0, 2000px, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.fadeInUpBig {
    animation-name: fadeInUpBig
}

@keyframes fadeOut {
    0% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

.fadeOut {
    animation-name: fadeOut
}

@keyframes fadeOutDown {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        transform: translate3d(0, 100%, 0)
    }
}

.fadeOutDown {
    animation-name: fadeOutDown
}

@keyframes fadeOutDownBig {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        transform: translate3d(0, 2000px, 0)
    }
}

.fadeOutDownBig {
    animation-name: fadeOutDownBig
}

@keyframes fadeOutLeft {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        transform: translate3d(-100%, 0, 0)
    }
}

.fadeOutLeft {
    animation-name: fadeOutLeft
}

@keyframes fadeOutLeftBig {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        transform: translate3d(-2000px, 0, 0)
    }
}

.fadeOutLeftBig {
    animation-name: fadeOutLeftBig
}

@keyframes fadeOutRight {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        transform: translate3d(100%, 0, 0)
    }
}

.fadeOutRight {
    animation-name: fadeOutRight
}

@keyframes fadeOutRightBig {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        transform: translate3d(2000px, 0, 0)
    }
}

.fadeOutRightBig {
    animation-name: fadeOutRightBig
}

@keyframes fadeOutUp {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        transform: translate3d(0, -100%, 0)
    }
}

.fadeOutUp {
    animation-name: fadeOutUp
}

@keyframes fadeOutUpBig {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        transform: translate3d(0, -2000px, 0)
    }
}

.fadeOutUpBig {
    animation-name: fadeOutUpBig
}

@keyframes flip {
    0% {
        transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);
        animation-timing-function: ease-out
    }

    40% {
        transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);
        animation-timing-function: ease-out
    }

    50% {
        transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);
        animation-timing-function: ease-in
    }

    80% {
        transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0deg);
        animation-timing-function: ease-in
    }

    to {
        transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);
        animation-timing-function: ease-in
    }
}

.animated.flip {
    -webkit-backface-visibility: visible;
    backface-visibility: visible;
    animation-name: flip
}

@keyframes flipInX {
    0% {
        transform: perspective(400px) rotateX(90deg);
        animation-timing-function: ease-in;
        opacity: 0
    }

    40% {
        transform: perspective(400px) rotateX(-20deg);
        animation-timing-function: ease-in
    }

    60% {
        transform: perspective(400px) rotateX(10deg);
        opacity: 1
    }

    80% {
        transform: perspective(400px) rotateX(-5deg)
    }

    to {
        transform: perspective(400px)
    }
}

.flipInX {
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    animation-name: flipInX
}

@keyframes flipInY {
    0% {
        transform: perspective(400px) rotateY(90deg);
        animation-timing-function: ease-in;
        opacity: 0
    }

    40% {
        transform: perspective(400px) rotateY(-20deg);
        animation-timing-function: ease-in
    }

    60% {
        transform: perspective(400px) rotateY(10deg);
        opacity: 1
    }

    80% {
        transform: perspective(400px) rotateY(-5deg)
    }

    to {
        transform: perspective(400px)
    }
}

.flipInY {
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    animation-name: flipInY
}

@keyframes flipOutX {
    0% {
        transform: perspective(400px)
    }

    30% {
        transform: perspective(400px) rotateX(-20deg);
        opacity: 1
    }

    to {
        transform: perspective(400px) rotateX(90deg);
        opacity: 0
    }
}

.flipOutX {
    animation-duration: .75s;
    animation-name: flipOutX;
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important
}

@keyframes flipOutY {
    0% {
        transform: perspective(400px)
    }

    30% {
        transform: perspective(400px) rotateY(-15deg);
        opacity: 1
    }

    to {
        transform: perspective(400px) rotateY(90deg);
        opacity: 0
    }
}

.flipOutY {
    animation-duration: .75s;
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    animation-name: flipOutY
}

@keyframes lightSpeedIn {
    0% {
        transform: translate3d(100%, 0, 0) skewX(-30deg);
        opacity: 0
    }

    60% {
        transform: skewX(20deg);
        opacity: 1
    }

    80% {
        transform: skewX(-5deg)
    }

    to {
        transform: translateZ(0)
    }
}

.lightSpeedIn {
    animation-name: lightSpeedIn;
    animation-timing-function: ease-out
}

@keyframes lightSpeedOut {
    0% {
        opacity: 1
    }

    to {
        transform: translate3d(100%, 0, 0) skewX(30deg);
        opacity: 0
    }
}

.lightSpeedOut {
    animation-name: lightSpeedOut;
    animation-timing-function: ease-in
}

@keyframes rotateIn {
    0% {
        transform-origin: center;
        transform: rotate(-200deg);
        opacity: 0
    }

    to {
        transform-origin: center;
        transform: translateZ(0);
        opacity: 1
    }
}

.rotateIn {
    animation-name: rotateIn
}

@keyframes rotateInDownLeft {
    0% {
        transform-origin: left bottom;
        transform: rotate(-45deg);
        opacity: 0
    }

    to {
        transform-origin: left bottom;
        transform: translateZ(0);
        opacity: 1
    }
}

.rotateInDownLeft {
    animation-name: rotateInDownLeft
}

@keyframes rotateInDownRight {
    0% {
        transform-origin: right bottom;
        transform: rotate(45deg);
        opacity: 0
    }

    to {
        transform-origin: right bottom;
        transform: translateZ(0);
        opacity: 1
    }
}

.rotateInDownRight {
    animation-name: rotateInDownRight
}

@keyframes rotateInUpLeft {
    0% {
        transform-origin: left bottom;
        transform: rotate(45deg);
        opacity: 0
    }

    to {
        transform-origin: left bottom;
        transform: translateZ(0);
        opacity: 1
    }
}

.rotateInUpLeft {
    animation-name: rotateInUpLeft
}

@keyframes rotateInUpRight {
    0% {
        transform-origin: right bottom;
        transform: rotate(-90deg);
        opacity: 0
    }

    to {
        transform-origin: right bottom;
        transform: translateZ(0);
        opacity: 1
    }
}

.rotateInUpRight {
    animation-name: rotateInUpRight
}

@keyframes rotateOut {
    0% {
        transform-origin: center;
        opacity: 1
    }

    to {
        transform-origin: center;
        transform: rotate(200deg);
        opacity: 0
    }
}

.rotateOut {
    animation-name: rotateOut
}

@keyframes rotateOutDownLeft {
    0% {
        transform-origin: left bottom;
        opacity: 1
    }

    to {
        transform-origin: left bottom;
        transform: rotate(45deg);
        opacity: 0
    }
}

.rotateOutDownLeft {
    animation-name: rotateOutDownLeft
}

@keyframes rotateOutDownRight {
    0% {
        transform-origin: right bottom;
        opacity: 1
    }

    to {
        transform-origin: right bottom;
        transform: rotate(-45deg);
        opacity: 0
    }
}

.rotateOutDownRight {
    animation-name: rotateOutDownRight
}

@keyframes rotateOutUpLeft {
    0% {
        transform-origin: left bottom;
        opacity: 1
    }

    to {
        transform-origin: left bottom;
        transform: rotate(-45deg);
        opacity: 0
    }
}

.rotateOutUpLeft {
    animation-name: rotateOutUpLeft
}

@keyframes rotateOutUpRight {
    0% {
        transform-origin: right bottom;
        opacity: 1
    }

    to {
        transform-origin: right bottom;
        transform: rotate(90deg);
        opacity: 0
    }
}

.rotateOutUpRight {
    animation-name: rotateOutUpRight
}

@keyframes hinge {
    0% {
        transform-origin: top left;
        animation-timing-function: ease-in-out
    }

    20%,
    60% {
        transform: rotate(80deg);
        transform-origin: top left;
        animation-timing-function: ease-in-out
    }

    40%,
    80% {
        transform: rotate(60deg);
        transform-origin: top left;
        animation-timing-function: ease-in-out;
        opacity: 1
    }

    to {
        transform: translate3d(0, 700px, 0);
        opacity: 0
    }
}

.hinge {
    animation-duration: 2s;
    animation-name: hinge
}

@keyframes jackInTheBox {
    0% {
        opacity: 0;
        transform: scale(.1) rotate(30deg);
        transform-origin: center bottom
    }

    50% {
        transform: rotate(-10deg)
    }

    70% {
        transform: rotate(3deg)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

.jackInTheBox {
    animation-name: jackInTheBox
}

@keyframes rollIn {
    0% {
        opacity: 0;
        transform: translate3d(-100%, 0, 0) rotate(-120deg)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.rollIn {
    animation-name: rollIn
}

@keyframes rollOut {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        transform: translate3d(100%, 0, 0) rotate(120deg)
    }
}

.rollOut {
    animation-name: rollOut
}

@keyframes zoomIn {
    0% {
        opacity: 0;
        transform: scale3d(.3, .3, .3)
    }

    50% {
        opacity: 1
    }
}

.zoomIn {
    animation-name: zoomIn
}

@keyframes zoomInDown {
    0% {
        opacity: 0;
        transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    60% {
        opacity: 1;
        transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

.zoomInDown {
    animation-name: zoomInDown
}

@keyframes zoomInLeft {
    0% {
        opacity: 0;
        transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    60% {
        opacity: 1;
        transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

.zoomInLeft {
    animation-name: zoomInLeft
}

@keyframes zoomInRight {
    0% {
        opacity: 0;
        transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    60% {
        opacity: 1;
        transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

.zoomInRight {
    animation-name: zoomInRight
}

@keyframes zoomInUp {
    0% {
        opacity: 0;
        transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    60% {
        opacity: 1;
        transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

.zoomInUp {
    animation-name: zoomInUp
}

@keyframes zoomOut {
    0% {
        opacity: 1
    }

    50% {
        opacity: 0;
        transform: scale3d(.3, .3, .3)
    }

    to {
        opacity: 0
    }
}

.zoomOut {
    animation-name: zoomOut
}

@keyframes zoomOutDown {
    40% {
        opacity: 1;
        transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    to {
        opacity: 0;
        transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
        transform-origin: center bottom;
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

.zoomOutDown {
    animation-name: zoomOutDown
}

@keyframes zoomOutLeft {
    40% {
        opacity: 1;
        transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0)
    }

    to {
        opacity: 0;
        transform: scale(.1) translate3d(-2000px, 0, 0);
        transform-origin: left center
    }
}

.zoomOutLeft {
    animation-name: zoomOutLeft
}

@keyframes zoomOutRight {
    40% {
        opacity: 1;
        transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0)
    }

    to {
        opacity: 0;
        transform: scale(.1) translate3d(2000px, 0, 0);
        transform-origin: right center
    }
}

.zoomOutRight {
    animation-name: zoomOutRight
}

@keyframes zoomOutUp {
    40% {
        opacity: 1;
        transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    to {
        opacity: 0;
        transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
        transform-origin: center bottom;
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

.zoomOutUp {
    animation-name: zoomOutUp
}

@keyframes slideInDown {
    0% {
        transform: translate3d(0, -100%, 0);
        visibility: visible
    }

    to {
        transform: translateZ(0)
    }
}

.slideInDown {
    animation-name: slideInDown
}

@keyframes slideInLeft {
    0% {
        transform: translate3d(-100%, 0, 0);
        visibility: visible
    }

    to {
        transform: translateZ(0)
    }
}

.slideInLeft {
    animation-name: slideInLeft
}

@keyframes slideInRight {
    0% {
        transform: translate3d(100%, 0, 0);
        visibility: visible
    }

    to {
        transform: translateZ(0)
    }
}

.slideInRight {
    animation-name: slideInRight
}

@keyframes slideInUp {
    0% {
        transform: translate3d(0, 100%, 0);
        visibility: visible
    }

    to {
        transform: translateZ(0)
    }
}

.slideInUp {
    animation-name: slideInUp
}

@keyframes slideOutDown {
    0% {
        transform: translateZ(0)
    }

    to {
        visibility: hidden;
        transform: translate3d(0, 100%, 0)
    }
}

.slideOutDown {
    animation-name: slideOutDown
}

@keyframes slideOutLeft {
    0% {
        transform: translateZ(0)
    }

    to {
        visibility: hidden;
        transform: translate3d(-100%, 0, 0)
    }
}

.slideOutLeft {
    animation-name: slideOutLeft
}

@keyframes slideOutRight {
    0% {
        transform: translateZ(0)
    }

    to {
        visibility: hidden;
        transform: translate3d(100%, 0, 0)
    }
}

.slideOutRight {
    animation-name: slideOutRight
}

@keyframes slideOutUp {
    0% {
        transform: translateZ(0)
    }

    to {
        visibility: hidden;
        transform: translate3d(0, -100%, 0)
    }
}

.gtm-pokepa,
.gtm-pokepa:link,
.gtm-pokepa:visited,
.gtm-pokepa:hover,
.gtm-pokepa:active {
    opacity: 1;
    filter: none;
}

.gtm-pokepa img {
    display: block;
    opacity: 1;
    filter: none;
}

.slideOutUp {
    animation-name: slideOutUp
}

/* 調査セクション */
.survey {
    padding: 15px;
}

.survey p {
    color: #fff;
    margin-top: 10px;
}

/* 報告セクション */
.report {
    padding: 15px;
}

.report p {
    color: #fff;
    margin-top: 10px;
}

/* スライダー */
.carousel .anno {
    width: 90%;
    margin: 0 auto;

}

.carousel {
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

.carousel-inner {
    width: 90%;
    margin: 0 auto;
    overflow: hidden;
    touch-action: pan-y;
}

.slides {
    display: flex;
    width: 100%;
    transition: transform 0.6s ease;
    touch-action: pan-y;
}

.slide {
    flex: 0 0 100%;
    /* 1枚ずつぴったり収まる */
    height: 100%;
    box-sizing: border-box;
}

.slide img {
    margin-top: 20px;
    width:100%;
    pointer-events:none;
    -webkit-user-drag:none;
    user-select:none;
}

.nav-btn:hover {
    opacity: 1;
}

.nav-prev {
    left: 10px;
    background-image: url('../img/toggle_l_ore.png');
    /* 左の画像ファイルを指定 */
}

.nav-next {
    right: 10px;
    background-image: url('../img/toggle_r_ore.png');
    /* 右の画像ファイルを指定 */
}

/* ドット */
.dots {
    position: relative;
    bottom: -9px;
    width: 100%;
    text-align: center;
}

.dot {
    display: inline-block;
    width: 20px;
    height: 5px;
    margin: 0 4px;
    background-color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: background-color 0.3s;
}

.dot.active {
    background-color: #fff;
}



@media (max-width: 767px) {
    .nav-btn {
        position: absolute;
        top: 25%;
        transform: translateY(-50%);
        width: 35px;
        height: 35px;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        border: none;
        padding: 0;
        cursor: pointer;
        opacity: 0.8;
        z-index: 10;
    }

    .nav-prev2 {
        left: 3px;
        background-image: url('../img/toggle_l_2_ore.png');
    }

    .nav-next2 {
        right: 3px;
        background-image: url('../img/toggle_r_2_ore.png');
    }


    .nav-prev {
        left: 3px;
        background-image: url('../img/toggle_l_ore.png');
        /* 左の画像ファイルを指定 */
    }

    .nav-next {
        right: 3px;
        background-image: url('../img/toggle_r_ore.png');
        /* 右の画像ファイルを指定 */
    }

    .dots {
        position: relative;
        bottom: -3px;
        width: 100%;
        text-align: center;
    }

    .dot {
        display: inline-block;
        width: 20px;
        height: 4px;
        margin: 0 4px;
        background-color: rgba(255, 255, 255, 0.5);
        cursor: pointer;
        transition: background-color 0.3s;
    }

    .dot.active {
        background-color: #fff;
    }


}



/* ドット */
.content_left {
    margin-left: -10px;
}

.content_right {
    margin-right: -20px;
}

@media screen and (max-width: 767px) {
    .offer {
        margin: -24px auto 0;
    }

    .offer .cta01 {
        bottom: 365px;
    }

    .monitor_benefits {
        margin-bottom: 50px;
        top: -10px;
    }

    .content {
        width: 100%;
        margin-top: -120px;
    }

    .content01 {
        margin-top: -65px;
    }

    .content_left {
        margin-left: -10px;
    }

    .content_right {
        margin-right: 0;
    }

    img.ttl01 {
        margin-left: -12px;
    }

}

/* ナビボタン */

.nav-btn {
    position: absolute;
    top: 47%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background-size: contain;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    border: none;
    padding: 0;
    cursor: pointer;
    opacity: 0.8;
    z-index: 10;
}

/* プレゼントセクション */
.present {
    margin-top: 14%;
}

.present_inner {
    padding: 15px;
}

.present p {
    color: #fff;
    margin-top: 6px;
}

/* 最後のコンテンツ */
.fix {
    padding: 15px;
    margin-bottom: 5%;
}



/* 動画コンテンツ */
.actual {
    padding: 15px;
    margin-top: 5%;
}

.actual2 {
    margin-top: 12%;
    margin-bottom: 12%;
}

.actual video{
    width:100%;
    height:auto;
    display:block;
  }

/* おすすめポイントＢＯＸ */
.point-box {
    width: 100%;
    max-width: 500px;
    margin: 20px auto;
    padding: 15px;
    border: 2px solid #ffa600;
    background-color: #fff9da;
    border-radius: 6px;
    box-sizing: border-box;
}

/* 見出し */
.point-title {
    color: #FFF;
    background: #ff8800;
    text-align: center;
    padding: 6px;
    margin-bottom: 10px;
    font-weight: bold;
}

/* リスト */
.point-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.point-list li {
    position: relative;
    padding-left: 28px;
    margin: 8px 0;
    font-weight: bold;
}

/* チェックマーク */
.point-list li::before {
    content: "✔";
    position: absolute;
    left: 0;
    top: 0;
    color: #2c2c2c;
    font-weight: bold;
}


@media (max-width: 670px){
    .sp_dp_n {
        display: none;
    }
    .pc_dp_n {
        display: block;
    }
}


@media (min-width: 670px){
    .sp_dp_n {
        display: block;
    }
    .pc_dp_n {
        display: none;
    }
}