@charset "UTF-8";

@media screen and (max-width: 768px) {

    /*===============================
            共通項目
    ================================*/
    html {
        /* font-size: 54.68%; */
        font-size: 13px;
    }

    body {
        font-size: 13px;
    }

    .TopPage {
        padding-top: 0;
    }

    .TopPage h2 {
        font-size: 14px;
    }

    .TopPage h3 {
        font-size: 14px;
    }

    .TopPage .border {
        margin: 10px auto 24px;
        height: 1px;
    }

    .forPC {
        display: none;
    }

    .forSP {
        display: block;
    }

    #ScrollBtn {
        right: 15px;
    }

    .c_inner {
        width: calc(100vw - 40px);
    }

    .c__btn a {
        font-size: 14px;
    }

    /*===============================
            ヘッダー
    ================================*/
    .header {
        width: 100%;
        position: fixed;
        top: 0;
        transition: all ease 0.3s;
    }

    .header.hide {
        transform: translateY(-100%);
    }

    .header__inner {
        height: 55px;
        padding: 0;
        width: calc(100vw - 40px);
    }

    .header__cont {
        top: 50px;
    }

    .header__cont-inner {
        padding: 40px 0 200px 0;
        width: calc(100vw - 40px);
    }

    .header__logo {
        width: 40%;
        /* top: 7px; */
    }

    h1.header__logo {
        top: -1px;
    }

    .header__close {
        bottom: 0;
    }

    .header__toggle span:first-of-type {
        top: 6px;
    }

    .header__toggle span:nth-of-type(2) {
        top: 12px;
    }

    .header__toggle.open span:nth-of-type(2) {
        top: 11px;
    }

    .header__toggle.open span:last-of-type {
        top: 10px;
    }

    .header .addresslist__info li {
        padding-left: 54px;
    }

    .header .ranking__item-info {
        line-height: 1.4;
    }

    .header__cont .ranking__item-info .ttl {
        line-height: 1.3;
    }

    .header__cont .ranking__item-info .cat {
        right: 0;
        height: 18px;
        line-height: 17px;
    }

    .TopSlider li {
        width: 100%;
    }

    .TopSlider li img {
        /*         height: 204px; */
        object-fit: cover;
    }

    .TopSlider-container {
        padding-bottom: 41px !important;
        width: 100vw;
        margin-left: calc(((100vw - 100%) / 2) * -1);
        margin-right: calc(((100vw - 100%) / 2) * -1);
    }

    .header_sp {
        display: block;
        padding-top: 50px;
        width: 100%;
        margin: 0 auto;
    }

    .header_sp-inner {
        padding-right: 15px;
        padding-left: 15px;
    }

    .header_sp ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: 20px;
    }

    .header_sp li {
        width: 48%;
        margin-bottom: 10px;
    }

    .header_sp ul li:first-child {
        width: 100%;
    }

    /* ========================
        トップページ
    ========================= */
    /*      スライダー
    ------------------------------*/
    .TopSlider li {
        box-shadow: none;
    }

    .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0px 14px !important;
    }

    .TopPage h2:not(.catsearch__ttl)::first-line {
        font-size: 28px;
    }

    .TopPage h2:not(.catsearch__ttl),
    .Topttl:not(.catsearch__ttl) {
        font-size: 13px;
    }

    .more__btn {
        width: 132px;
        height: 42px;
        line-height: 41px;
        margin-top: 25px;
    }

    .TopAbout {
        margin-top: 20px;
    }

    .TopAbout p {
        font-size: 15px;
    }

    /*      ランキング
    ------------------------------*/
    .TopRanking {
        margin-top: 25px;
    }

    .TopRanking ul {
        display: block;
    }

    .TopRanking li {
        height: initial;
        padding-right: 0;
    }

    .TopPage .TopRanking li::before {}

    .TopRanking li a {
        margin-bottom: 15px;
        display: flex;
    }

    .TopRanking img {
        width: 84px;
        height: 62px;
        margin-right: 16px;
        max-width: initial;
        object-fit: cover;
        object-position: center;
    }

    .TopRanking .ttl {
        margin-top: 0;
        line-height: 1.4;
        font-size: 13px;
    }

    .TopRanking time {
        position: absolute;
        bottom: 0;
        padding-bottom: 0;
    }

    .TopReccomend .relatepost_img {
        width: initial;
        height: initial;
        margin-bottom: 15px;
    }

    .TopReccomend .relatepost_img img {
        width: 100%;
    }

    .TopReccomend .relatepost_txt {
        margin-left: 0;
    }

    .TopRanking .ranking__item-info .cat {
        position: absolute;
        bottom: 0;
    }

    /*    カテゴリ一覧
    ---------------------------- */
    .TopCategory {}

    .TopCategory ul {
        gap: 16px;
        flex-wrap: wrap;
        grid-template-columns: 1fr 1fr;
    }

    .TopCategory li {}

    .TopCategory img {
        height: 100%;
        width: 100%;
    }

    /*    新着記事一覧
    ---------------------------- */
    .TopNews {
        margin-top: 0;
        margin-bottom: 60px;
    }

    .TopNews ul {
        max-width: 100%;
        gap: 12px;
        flex-wrap: wrap;
        grid-template-columns: 1fr 1fr;
    }

    .TopNews ul li {
        max-width: 100%;
    }

    /* firefoxのみ */
    @-moz-document url-prefix() {
        .TopNews ul li .new:before {
            top: 8px;
        }
    }

    .TopNews ul li .ttl {
        letter-spacing: 0.7px;
    }

    .TopNews .news__item-ttl {
        font-size: 13px;
    }

    .TopNews_upper .ttl {
        margin-top: 12px;
        margin-bottom: 3px;
        line-height: 1.6 !important;
    }

    .TopNews_lower {
        display: block;
        padding-bottom: 20px;
    }

    .TopNews_lower li {
        width: 100% !important;
        padding-bottom: 15px;
    }

    .TopNews_lower img {
        width: 80px;
        height: 80px;
    }

    .TopNews .news__item time {
        font-size: 10px;
    }

    /*   PICKUP
    --------------------------------------*/
    .TopPickup .pickup__list {
        gap: 20px;
    }

    .TopPickup .pickup__item {
        width: 100%;
    }

    .TopPage .pickup__item .ttl {
        font-size: 13px;
    }

    h2.catsearch__ttl {
        width: 100%;
    }

    .catlist {
        gap: 0;
    }

    .catlist_item {
        width: 100%;
    }

    .catlist_item+.catlist_item {
        margin-top: 16px;
    }

    .TopCatsearch {
        margin-bottom: 60px;
    }

    /* ========================
        フッター
    ========================= */
    .footer {
        margin-top: 0;
    }

    .footer_block ul {
        width: 100%;
        padding: 0 15px;
        margin: 12px auto 12px;
    }

    .footer_block .logo {
        width: 31%;
    }

    .footer_block {
        padding-top: 60px;
    }

    /* ========================
        個別投稿
    ========================= */
    .post_single {
        /* padding: 16px 20px; */
    }

    .post_single-info {
        /* margin-bottom: 13px; */
        /* margin-top: 13px; */
        font-size: 12px;
    }

    .post_single-info time {
        font-size: 12px;
    }

    #page-lower h1 {
        font-size: 18px;
        margin-top: 0;
        margin-bottom: 5px;
    }

    #page-lower h2 {
        font-size: 16px;
        line-height: 1.5;
        padding: 16px 0;
        margin-top: 32px;
    }

    #page-lower h3 {
        font-size: 16px;
        margin-top: 32px;
    }

    .post_single .eyecatch {
        margin-top: 16px;
        margin-bottom: 16px;
    }

    .post_single .eyecatch+p {
        margin-right: 0;
    }

    .single-indexList-item {
        font-size: 12px;
        display: flex;
    }

    .single-indexList-item span {
        font-size: 14px;
        position: relative;
        top: -2px;
    }

    .recommend__area {}

    .left_img {
        float: initial;
        margin-right: 0;
        text-align: center;
        max-width: 100%;
    }

    .keep .left_img {
        float: left;
        margin-right: 10px;
        max-width: 140px;

    }

    .txt_img__flex {
        flex-direction: column;
        align-items: center;
    }

    .txt_img__flex__sp {
        align-items: flex-start;
    }

    .txt_img__keep img {
        max-width: 50%;
    }

    /* ***** aside **** */
    .post_container {
        display: block;
        padding-top: 73px;
        padding-bottom: 100px;
    }

    /* ***** relate-parts(post_news) ****** */
    .post_news {
        padding: 0 15px;
    }

    .post_news li {
        width: 48%;
        height: 235px;
        margin-bottom: 21px;
    }

    .post_news figure {
        margin: 0 auto;
    }

    /* ***** parts ***** */
    .subhead[data-type="title"] {
        font-size: 15px;
    }

    .subhead[data-type="title"]:before {
        top: 8px;
    }

    .addresslist__ttl {
        font-size: 15px;
    }

    .addresslist__cont {
        gap: 8px;
    }

    .addresslist__cont-ttl {
        font-size: 13px;
        max-width: 40px;
        min-width: 40px;
    }

    .faqQ:before,
    .faqA:before {
        min-width: 33px;
        max-width: 33px;
        height: 33px;
        background-position: center;
    }

    .faqA {
        padding-top: 18px;
    }

    /* table.tablearea th.heading:first-of-type {
        width: 84px;
    }
    table.tablearea th:not(.heading) {
        width: 84px;
    } */
    table.tablearea th.heading {
        font-size: 12px;
    }

    .table__scroll {
        overflow-x: auto;
        width: 100%;
        -webkit-overflow-scrolling: auto;
    }

    .table__scroll table {}

    .table__scroll table th,
    .table__scroll table td {
        max-width: initial;
        min-width: 140px;
    }

    .table__scroll table.tablearea th.heading:first-of-type {
        max-width: initial;
    }

    .numberinglist__ttl {
        font-size: 15px;
    }

    .parts_box {
        padding: 0;
    }

    .parts_box-upper-block:last-of-type {
        margin: 20px auto 0;
        top: 0;
    }

    .parts_box-upper,
    .parts_box-lower {
        padding: 10px;
    }

    .parts_box-upper {
        display: block;
    }

    .parts_box-upper-block {
        width: initial;
    }

    .parts_box-gallery img {
        width: 200px;
        height: 200px;
    }

    .gallery-top img {
        width: 200px;
        height: 200px;
        margin: 0 auto;
    }

    .shopping_lists {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .shopping_lists li a {
        font-size: 10px;
        width: 33%;
    }

    .shopping_lists li {
        width: 31%;
    }

    .gallery-top {
        height: 50%;
        width: 50%x;
    }

    /* ========================
        投稿ページ
    ========================= */
    .page-wrapper {}

    .post_heading {
        flex-direction: column-reverse;
    }

    table.tablearea th,
    table.tablearea td {
        font-size: 12px;
        padding: 12px;
    }

    .product_bottom .btn {
        padding: 16px 40px;
    }

    .product_bottom .btn a {
        line-height: 1.2;
    }

    .source_box {
        overflow: hidden;
    }

    .relatebox {
        width: calc(100% - 30px);
        margin-left: 15px;
        margin-right: 15px;
        margin-top: 27px;
        margin-bottom: 61px;
    }

    .create_date {
        padding-left: 0;
        font-size: 10px;
    }

    .create_date::before {
        content: none;
    }

    .page-wrapper .related_article_box .relatepost_img {
        width: 84px;
        height: 62px;
    }

    .page-wrapper .related_article_box .relatepost_img img {
        width: 80px;
    }

    .related_article_box .title {
        -webkit-box-orient: vertical;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }

    .related_article_box .create_date {
        font-size: 10px;
    }

    .related_article_box {
        gap: 8px;
    }

    .check__item:before {
        top: 1px;
    }

    /* ========================
        サイドバー
    ========================= */
    .topics .Topttl,
    .topics .Topttl_border {
        display: block;
    }

    .topics {
        order: 2;
        margin-bottom: 47px;
    }

    .topics ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .topics ul li {
        width: 48%;
    }

    .evaluation3 td {
        padding: 15px 12px;
    }

    .comment_box {
        padding: 15px;
    }

    .parts_table-lists {
        right: 5px;
    }

    .table-scroll table th,
    .table-scroll table td {
        width: 190px;
    }

    .sidebar .TopCategory_list li:nth-child(1) {
        overflow: hidden;
        margin-bottom: 15px;
        width: 100%;
    }

    .sidebar .TopCategory_list li:nth-child(1) img {
        height: 100%;
    }

    .sidebar .TopCategory_inner {
        padding-right: 0;
        padding-left: 0;
    }

    .sidebar .TopRanking {
        padding: 0;
        margin-top: 64px;
    }

    .sidebar .TopCategory_list li {
        width: 48%;
        height: 62px;
    }

    .sidebar {
        width: 100%;
        padding: 0 15px;
        display: flex;
        flex-direction: column;
    }

    .sidebar .TopRanking_lists li a figure {
        height: 80px;
    }

    .sidebar .TopRanking_thumbs {
        width: 80px;
        height: 100%;
    }

    .side_ranking .TopRanking_info01 {
        margin-left: 0;
    }

    .side_ranking {}

    .side_news {
        /* order: 4; */
    }

    .side_news li {
        width: 100%;
    }

    .side_category {
        margin-bottom: 41px;
    }

    .side_category:last-of-type {
        margin-bottom: 0;
    }

    /* ******* writer_box ********* */
    .writer_box {
        margin: 0;
    }

    .writer_box_content {
        padding: 15px;
    }

    .order_list {
        padding-right: 15px;
    }

    .mokujibox {
        padding: 25px 15px;
    }

    .mokujibox li::before {
        content: "・";
        color: #414042;
    }

    .mokujibox li a {
        color: #414042;
    }

    /* パン屑 */
    .pankuz {
        width: 100vw;
        margin-left: calc(((100vw - 100%) / 2) * -1);
        margin-right: calc(((100vw - 100%) / 2) * -1);
        bottom: 0;
        top: unset;
        margin-bottom: 0;
    }

    .pankuz__inner {
        padding: 0;
    }

    .pankuz_bottom {
        display: flex;
        font-size: 12px;
        white-space: nowrap;
        overflow-x: auto;
        padding: 0 15px;
        letter-spacing: 0.01em;
        margin-top: 53px;
        overflow-y: hidden;
    }

    /* 検索窓 */
    .search_area img {
        right: 0;
    }

    input.search {
        font-size: 14px;
    }

    input.search::placeholder {
        font-size: 14px;
    }

    .post_single .blog__item-ttl {
        line-height: 1.3;
    }

    .post_single .blog__item-cont {
        justify-content: flex-end;
    }

    /* Rinker */
    .yyi-rinker-links {
        flex-direction: initial !important;
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: space-between;
        width: 313px !important;
    }

    div.yyi-rinker-contents ul.yyi-rinker-links li {
        margin: 0;
    }

    div.yyi-rinker-contents {
        margin: 0 !important;
    }

    .yyi-rinker-links li a .fa-angle-right {
        display: none;
    }

    .yyi-rinker-links li:not(.freelink1) {
        width: 33% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        margin-bottom: 0 !important;
    }

    .yyi-rinker-links li {
        height: 45px !important;
    }

    .yyi-rinker-contents ul.yyi-rinker-links li a:not(.freelink1) {
        padding: 0 3px !important;
        font-size: 1rem;
        line-height: initial !important;
    }

    .freelink1 a {
        font-size: 1.4rem !important;
    }

    .parts_table-lists .yyi-rinker-links li {
        width: 100% !important;
        margin-bottom: 10px !important;
    }

    .product_info {
        display: block;
        padding-top: 10px;
        padding-right: 15px;
        padding-left: 15px;
    }

    .product_info-02 {
        display: block;
        position: initial;
    }

    .parts_box-ttl {
        padding-bottom: 0;
        padding-top: 20px;
        padding-right: 15px;
        padding-left: 15px;
        font-size: 16px;
    }

    /* ========================
        Category.php
    ========================= */
    .category .cat__img {
        width: 100vw;
        margin-left: calc(((100vw - 100%) / 2) * -1);
        margin-right: calc(((100vw - 100%) / 2) * -1);
    }

    .blog__img {
        width: 84px;
        height: 62px;
    }

    .ranking_scroll ul li {
        min-width: 100px;
        height: 169px;
    }

    .ranking_scroll .ttl {
        white-space: pre-line;
        line-height: 18px;
        letter-spacing: 0;
    }

    .ranking_scroll .tag {
        position: relative;
        bottom: 6px;
    }

    .ranking[data-type="banner"]:after {
        top: -2px;
    }

    .campaign__ttl+p,
    .campaign__ttl+div {
        text-align: left;
    }

    .parts__list {
        gap: 8px;
    }

    .plan__list {
        gap: 16px 8px;
    }

    .parts__list span {
        font-size: 12px;
    }

    .quote {
        margin-top: 16px;
        padding-top: 24px;
    }

    .quote:before {
        width: 24px;
        height: 24px;
    }

    .matome {
        margin-top: 24px;
    }

    .flow__cont-ttl {
        line-height: 1.5;
        margin-bottom: 10px;
    }

    .flow__cont-txt {
        margin-top: 10px;
    }

    #sitemap ul li a:before {
        top: 6px;
    }

    .simplebox__ttl {
        font-size: 15px;
    }

    .meritdemerit__ttl {
        font-size: 15px;
    }

    .n_check li:before {
        top: 6px;
    }

    .search_area button {
        right: -1px;
    }

    .right_link[data-type="icon"] a:before {
        top: 6px;
    }

    .simplebox .numberinglist__ttl.simplebox__ttl p {
        text-align: left;
    }

    #page-lower .orderlist li:before {
        top: -1px;
    }

    /* 	 404 */
    .TopRanking.-notfound {
        width: calc(100vw - 40px);
        margin-right: 20px;
        margin-left: 20px;
    }

    .TopRanking.-notfound p.ttl {
        margin-top: 0 !important;
        line-height: 1.2 !Important;
    }

    .return__btn {
        margin-bottom: 100px;
    }

    .img__list {
        grid-template-columns: 1fr;
    }

    .subhead-blue {
        font-size: 15px;
    }

    .pankuzu-overflow {
        flex-grow: 1;
        width: 21.6vw;
        overflow: hidden;
        white-space: nowrap;
    }

    .pankuzu {
        display: flex;
        padding: 0 3.3333vw;
        margin: 6vw 0 7.333vw;
    }

    .pankuzu-overflow a {
        display: block;
        width: 100%;
        overflow: hidden;
    }

    .pankuzu-overflow span {
        display: block;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .container {
        margin: 7.333vw auto 13.333vw;
    }

    .container h1 {
        margin: 10px 0 1em;
    }

    .container .number-list-wrap ul.number-list {
        margin: 0;
    }

    .container ul.number-list li {
        font-size: 3.6vw;
        padding: 2.4vw 0px 2.4vw 2.6em;
        font-weight: 700;
    }

    .container ul.number-list li:before {
        width: 7.33333vw;
        height: 7.33333vw;
        font-size: 3.8666vw;
    }

    .container table.hikakutable th,
    .container table.hikakutable td {
        padding: 12px;
        font-size: 12px;
    }

    .table-btn a {
        gap: 4px;
    }

    .table-btn a>.table-btn-txt {
        white-space: nowrap;
        font-size: min(3vw, 22px);
    }

    @media screen and (max-width: 440px) {
        .table-btn a>.table-btn-icon {
            display: none;
        }

        .table-btn a {
            display: flex;
            align-items: center;
            justify-content: center;
        }
    }

    .table-btn a>.table-btn-icon::before {
        width: min(30%, 8px);
        height: min(30%, 8px);
        border-top: 3px solid #f39a00;
        border-right: 3px solid #f39a00;
    }

    /* 縦スクロール */
    .hikakutable-sticky>th:not(.scrollX .hikakutable-sticky th) {
        padding: 6px;
    }

    /* 横スクロール */
    .scrollX .hikakutable-sticky {
        top: 0;
        box-shadow: none;
    }

    .scrollX>.hikakutable thead tr th {
        min-width: 170px;
    }

    .scrollX>.hikakutable .table-btn a>.table-btn-txt {
        font-size: clamp(11px, 78%, 22px);
    }

    /* ステップパーツ */
    .flow__cont-ttl {
        font-size: 3.4vw;
    }

    /* 口コミパーツ */
    .reviewComment-scroll {
        overflow-x: auto;
        width: 100%;
    }

    .reviewComment {
        justify-content: start;
        width: 100%;
    }

    .reviewComment-list {
        display: flex;
        padding: 0 8px;
        min-width: 100%;
        width: 100%;
        gap: 14px;
    }

    /* 1つのリストなら width: 100% */
    .reviewComment-item {
        padding: 12px;
        margin: 0;
        width: 100%;
        max-width: 100%;
        flex: none;
        flex-shrink: 1;
    }

    /* 2つ以上のリストがあるとき */
    .reviewComment-list:has(.reviewComment-item:nth-child(2)) .reviewComment-item {
        width: 90%;
        max-width: 90%;
        flex: 0 0 90%;
    }

    .reviewComment-item:last-child::after {
        display: none;
    }

    .reviewComment-top {
        justify-content: flex-start;
        padding: 0;
        gap: max(4px, 4vw);
    }

    .reviewComment-icon {
        width: clamp(20px, 14vw, 100px);
        margin-left: clamp(0px, 4vw, 30px);
    }

    .reviewComment-plan dt {
        font-size: 2.4vw;
        white-space: nowrap;
    }

    .reviewComment-plan dd {
        font-size: 2.4vw;
    }

    .reviewComment-fukidashi {
        padding: 12px;
    }

    .reviewComment-fukidashi>p {
        font-size: 3.4vw;
    }

    .reviewComment-fukidashi::before {
        left: 19px;
    }

    .container .reviewComment-fukidashi p {
        line-height: 1.4;
    }



    /* メリットデメリットパーツ */
    .meritdemerit>.n_check {
        padding: 12px;
    }

    .meritdemerit[data-type="merit"] .meritdemerit__ttl,
    .meritdemerit[data-type="demerit"] .meritdemerit__ttl {
        width: calc(100% - 10%);
        font-size: 3.6vw;
    }

    .meritdemerit>.n_check li {
        font-size: 3.4vw;
        padding-left: calc(3.4vw + 6px);
    }

    .meritdemerit[data-type="merit"]>.n_check li:before,
    .meritdemerit[data-type="demerit"]>.n_check li:before {
        width: 3.4vw;
        height: auto;
        aspect-ratio: 1 / 1;
        top: 3px;
    }

    .detail_link a span {
        width: 3.6vw;
    }


}