@charset "UTF-8";

:root {
    --main-color: #0B56A2;
    --sub-color: #65C6FF;
    --text-color: #393939;
}

@font-face {
    font-family: 'Brush Script';
    src: url('/html/user_data/assets/fonts/Brush Script.ttf') format('truetype');
}

@font-face {
    font-family: 'Urbanist';
    src: url('/html/user_data/assets/fonts/Urbanist-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900;
}

.font_Brush {
    font-family: 'Brush Script', cursive;
}

.font_Urbanist {
    font-family: 'Urbanist', sans-serif;
}

html,
button,
input,
select,
textarea {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: weight;
    font-style: normal;
}

body {
    color: #393939;
    font-size: 14px;
    line-height: 2;
}

.wrap {
    width: 1140px;
    margin: 0 auto;
}

.wrap.mid {
    width: 1240px;
}

.wrap.lr {
    width: 1340px;
}

/* ecデフォルト打ち消し */
.ec-layoutRole .ec-layoutRole__contents {
    margin: 0 !important;
    max-width: 100% !important;
    display: unset !important;
    flex-wrap: unset !important;
}

.front_page .ec-layoutRole .ec-layoutRole__main {
    padding: 0;
}

/* ヘッダー */

#main_header {
    padding: 15px 0 20px;
    background: #fff;
    z-index: 9;
}

#main_header .cont {
    align-items: center;
}

#main_header .menu_bottom ul {
    display: flex;
    justify-content: center;
    gap: 130px;
}

#main_header .menu_bottom {
    background-color: #65c6ff;
    padding: 5px 0;
    margin-top: 7px;
}

#main_header .menu_bottom ul li {
    position: relative;
}

#main_header .menu_bottom ul li a {
    color: #393939;
    font-size: 13px;
    font-weight: bold;
}

#main_header .menu_bottom ul li .main_link {
    transition: .3s;
    color: #fff;
    padding: 5px 10px;
}

#main_header .menu_bottom ul li .main_link:hover {
    color: var(--sub-color);
    background-color: #fff;
    border-radius: 50px;
}

#main_header .menu_bottom ul .parent_link {
    position: relative;
    padding-right: 30px;
}

#main_header .menu_bottom ul .parent_link::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 6px;
    height: 6px;
    margin: auto;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: translateY(-2px) rotate(135deg);
    box-sizing: border-box;
}

#main_header .menu_bottom ul li .child_menu {
    position: absolute;
    left: -37px;
    top: 100%;
    width: 200px;
    visibility: hidden;
    z-index: 2;
    padding-top: 20px;
}

#main_header .menu_bottom ul .parent_link:hover .child_menu {
    visibility: visible;
}

#main_header .menu_bottom ul li .child_menu .inBox {
    background: var(--sub-color);
    padding: 20px;
    position: relative;
    border-radius: 3px;
    text-align: center;
}

#main_header .menu_bottom ul li .child_menu .inBox a {
    color: #fff;
}

#main_header .menu_bottom ul li .child_menu .inBox::after {
    content: '';
    position: absolute;
    top: -11px;
    left: calc(50% - 8px);
    width: 0;
    height: 0;
    border-top: 0 solid transparent;
    border-right: 16px solid transparent;
    border-left: 16px solid transparent;
    border-bottom: 16px solid var(--sub-color);
    transform: translateY(-1px);
    box-sizing: border-box;
}

#main_header .menu .logo_box {
    display: flex;
    gap: 20px;
    align-items: center;
}

#main_header .menu .logo_box .logo {
    width: 78px;
}

#main_header .menu .logo_box .logo img {
    width: 100%;
}

#main_header .menu .logo_box .site_title {
    font-size: 30px;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1;
    color: #1856a2;
}

#main_header .menu .logo_box .site_title .small {
    font-size: 15px;
    margin: 0 0 6px;
    display: inline-block;
}

#main_header .buttonBox {
    align-items: center;
    gap: 18px;
}

#main_header .buttonBox .mail a {
    display: block;
    width: 150px;
    line-height: 50px;
    background-color: var(--sub-color);
    color: #fff;
    text-align: center;
    padding-left: 20px;
    font-weight: bold;
    background-image: url(../img/icon_mail.svg);
    background-repeat: no-repeat;
    background-position: 14px;
    background-size: 22px;
    border-radius: 3px;
    font-size: 13px;
    transition: .3s;
}

#main_header .buttonBox .mail a:hover {
    background-color: var(--main-color);
}

#main_header .buttonBox .iconBox {
    gap: 10px;
}

#main_header .buttonBox .iconBox a {
    border: 3px solid #EFEFEF;
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    background: #fff;
    gap: 10px;
    transition: .3s;
    padding: 7px 15px;
    font-size: 13px;
}

#main_header .buttonBox .iconBox a:hover {
    border-color: var(--sub-color);
}

/* 共通パーツ */

.common_titleBox {
    text-align: center;
    margin-bottom: 30px;
    line-height: 1.4;
}

.common_titleBox .title {
    font-size: 40px;
    font-weight: bold;
}

.common_titleBox .en {
    font-size: 18px;
    color: var(--main-color);
    font-weight: bold;
}

.commonBUtton {
    margin-top: 35px;
}

.commonBUtton a {
    display: block;
    width: 280px;
    line-height: 60px;
    background: #E4B03A;
    color: #fff;
    font-weight: bold;
    padding-left: 30px;
    border-radius: 3px;
    position: relative;
    margin: 0 auto;
}

.commonBUtton a:before {
    content: "";
    width: calc(100% + 20px);
    height: calc(100% + 20px);
    background: #FCF1DA;
    position: absolute;
    left: -10px;
    top: -10px;
    z-index: -1;
    border-radius: 10px;
    transition: .3s;
}

.commonBUtton a::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 27px;
    width: 9px;
    height: 9px;
    margin: auto;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    box-sizing: border-box;
}

.commonBUtton a:hover::before {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}

/* メインビジュアル */

#carpet_cleaning .main_visual {
    background-image: url(../img/top_main_carpet_bk.jpg);
    background-position: center;
}

.main_visual {
    background-image: url(../img/top_main_bk.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 240px center;
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.main_visual::after {
    background: rgba(255, 255, 255, 0);
    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.4) 60%, rgba(255, 255, 255, 0) 100%);
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
}

.main_visual .wrap {
    position: relative;
}

.main_visual .main_text_box {
    padding: 90px 0 50px;
}

.main_visual .main_text_box .title_box .sub {
    font-size: 46px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.04em;
    position: relative;
}

.main_visual .main_text_box .title_box .title {
    font-size: 45px;
    letter-spacing: 0.05em;
    line-height: 1;
    font-weight: 800;
    margin-top: 14px;
}

.main_visual .main_text_box .sub_box {
    margin-block: -15px 15px;
    font-style: italic;
    position: relative;
    width: 654px;
}

.main_visual .main_text_box .sub_box .theme {
    font-size: 35px;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1;
    margin-bottom: 5px;
    color: var(--sub-color);
    margin-left: 90px;
}

.main_visual .main_text_box .sub_box .theme_sub {
    font-size: 32px;
    letter-spacing: 0.04em;
    line-height: 1;
    margin-top: -70px;
    font-weight: 800;
    margin-left: 216px;
}

.main_visual .main_text_box .sub_box .theme_sub .color {
    color: #de5d50;
    font-size: 45px;
    margin-left: 5px;
}

.main_visual .main_text_box .sub_box .theme_sub .color .num {
    font-size: 135px;
    margin: 0 2px;
}

.main_visual .main_text_box .sub_box ul {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: center;
}

.main_visual .main_text_box .sub_box ul li {
    background-color: var(--sub-color);
    border-radius: 50%;
    width: 180px;
    aspect-ratio: 1/1;
    min-width: 0;
    font-size: 18px;
    letter-spacing: 0.03em;
    text-align: center;
    font-weight: 800;
    border: 2.5px solid #f2f2f2;
    line-height: 1.6;
    margin-top: 33px;
    color: #FFF;
    display: grid;
    place-content: center;
}

.main_visual .main_text_box .sub_box ul li .color {
    color: var(--main-color);
    font-size: 29px;
    line-height: 1.2;
}

.main_visual .main_text_box .title_box .sub span {
    padding: 5px 8px;
    color: #fff;
}

.main_visual .main_text_box .title_box .sub span:nth-child(even) {
    background-color: #65c6ff;
}

.main_visual .main_text_box .title_box .sub span:nth-child(odd) {
    background-color: #1956a2;
}

.main_visual .main_text_box .title_box .sub_img {
    width: 280px;
}

.main_visual .scroll {
    position: absolute;
    right: 0;
    bottom: 46px;
}

.main_visual .scroll a {
    writing-mode: vertical-rl;
    color: var(--sub-color);
    font-weight: bold;
}

.main_visual .scroll::before {
    animation: scroll 2s infinite;
    background-color: var(--sub-color);
    top: 0;
    content: "";
    height: 100px;
    left: -5px;
    margin: auto;
    position: absolute;
    width: 3px;
    z-index: 2;
}

.main_visual .scroll::after {
    background-color: #EFF9FF;
    top: 0;
    content: "";
    height: 100px;
    left: -5px;
    margin: auto;
    position: absolute;
    width: 2px;
}

.page_futon_cleaning .main_visual .main_text_box .title_box {
    position: relative;
}

.page_carpet_cleaning .main_visual .main_text_box .title_box {
    position: relative;
}

.main_visual .postage_box {
    border: solid 3px #1956A2;
    width: 690px;
    border-radius: 10px;
    overflow: hidden;
    margin: 50px 0 0;
}

.main_visual .postage_box .inbox {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.main_visual .postage_box .inbox .item {
    padding: 20px;
}

.main_visual .postage_box .inbox .item .icon {
    width: 80px;
    margin: 0 auto 15px;
}

.main_visual .postage_box .theme_box {
    background-color: #1956A2;
    padding: 5px 20px;
    text-align: center;
}

.main_visual .postage_box .theme_box .text {
    color: #FFF;
    font-size: 30px;
    letter-spacing: .08em;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.main_visual .postage_box .theme_box .text .color {
    font-size: 180%;
    display: inline-block;
    color: #E4B03A;
    margin-left: 0.1em;
    line-height: 1;
}

.main_visual .postage_box .inbox .item+.item {
    border-left: dashed 2px #1956A2;
}

.main_visual .postage_box .inbox .item .text_box {
    text-align: center;
}

.main_visual .postage_box .inbox .item .text_box .text {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.3;
}

.main_visual .postage_box .inbox .item .text_box .text .color {
    display: inline-block;
    color: #1956A2;
    font-weight: 700;
    font-size: 130%;
}

.main_visual .postage_box .inbox .item .area_box {
    text-align: center;
    border: solid 2px #1956A2;
    padding: 3px;
}

.main_visual .postage_box .inbox .item .area_box .text {
    font-size: 14px;
    letter-spacing: .04em;
    line-height: 1.5;
    color: #1956A2;
    font-weight: 700;
}

.main_visual .postage_box .inbox .item .area_box .text .small {
    font-size: 90%;
    font-weight: 500;
    display: inline-block;
    color: #000;
}

.main_visual .postage_box .inbox .item .large_text {
    margin-block: 8px 20px;
}

.main_visual .postage_box .inbox .item .large_text .text {
    font-size: 15px;
    width: fit-content;
    margin: 0 auto;
    font-weight: 700;
}

.main_visual .postage_box .inbox .item .large_text .text .circle {
    display: inline-grid;
    background-color: #65c6ff;
    color: #FFF;
    width: 52px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    text-align: center;
    place-content: center;
    font-size: 170%;
    font-weight: 700;
}

.main_visual .postage_box .inbox .item .icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.main_visual .postage_box .theme_box .text::before {
    content: "";
    background: url(../img/icon_car_free.svg) no-repeat;
    background-position: center;
    background-size: contain;
    width: 100px;
    aspect-ratio: 751/318;
    margin-right: 0.4em;
}



.top_postage .postage_box {
    border: solid 3px #1956A2;
    width: 800px;
    border-radius: 10px;
    overflow: hidden;
    margin: 50px auto 0;
}

.top_postage .postage_box .inbox {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.top_postage .postage_box .inbox .item {
    padding: 20px;
}

.top_postage .postage_box .inbox .item .icon {
    width: 80px;
    margin: 0 auto 15px;
}

.top_postage .postage_box .theme_box {
    background-color: #1956A2;
    padding: 5px 20px;
    text-align: center;
}

.top_postage .postage_box .theme_box .text {
    color: #FFF;
    font-size: 30px;
    letter-spacing: .08em;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.top_postage .postage_box .theme_box .text .color {
    font-size: 180%;
    display: inline-block;
    color: #E4B03A;
    margin-left: 0.1em;
    line-height: 1;
}

.top_postage .postage_box .inbox .item+.item {
    border-left: dashed 2px #1956A2;
}

.top_postage .postage_box .inbox .item .text_box {
    text-align: center;
}

.top_postage .postage_box .inbox .item .text_box .text {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.3;
}

.top_postage .postage_box .inbox .item .text_box .text .color {
    display: inline-block;
    color: #1956A2;
    font-weight: 700;
    font-size: 130%;
}

.top_postage .postage_box .inbox .item .area_box {
    text-align: center;
    border: solid 2px #1956A2;
    padding: 3px;
}

.top_postage .postage_box .inbox .item .area_box .text {
    font-size: 14px;
    letter-spacing: .04em;
    line-height: 1.5;
    color: #1956A2;
    font-weight: 700;
}

.top_postage .postage_box .inbox .item .area_box .text .small {
    font-size: 90%;
    font-weight: 500;
    display: inline-block;
    color: #000;
}

.top_postage .postage_box .inbox .item .large_text {
    margin-block: 8px 20px;
}

.top_postage .postage_box .inbox .item .large_text .text {
    font-size: 15px;
    width: fit-content;
    margin: 0 auto;
    font-weight: 700;
}

.top_postage .postage_box .inbox .item .large_text .text .circle {
    display: inline-grid;
    background-color: #65c6ff;
    color: #FFF;
    width: 52px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    text-align: center;
    place-content: center;
    font-size: 170%;
    font-weight: 700;
}

.top_postage .postage_box .inbox .item .icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.top_postage .postage_box .theme_box .text::before {
    content: "";
    background: url(../img/icon_car_free.svg) no-repeat;
    background-position: center;
    background-size: contain;
    width: 100px;
    aspect-ratio: 751/318;
    margin-right: 0.4em;
}

.page_futon_cleaning .main_visual .main_text_box .title_box::before {
    content: "";
    position: absolute;
    background-image: url(../img/treat_mv_cloud_futon.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 655px;
    aspect-ratio: 23 / 12;
    min-width: 0;
    top: -130px;
    left: -40px;
    z-index: -1;
}

.page_carpet_cleaning .main_visual .main_text_box .title_box::before {
    content: "";
    position: absolute;
    background-image: url(../img/treat_mv_cloud.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 480px;
    aspect-ratio: 23 / 12;
    min-width: 0;
    top: -87px;
    left: -40px;
    z-index: -1;
}

.page_futon_cleaning .main_visual .main_text_box .title_box .sub {
    color: #1856a2;
}

.page_carpet_cleaning .main_visual .main_text_box .title_box .sub {
    color: #1856a2;
}

.page_carpet_cleaning .main_visual .main_text_box .sub_box ul li .color {
    font-size: 22px;
}

.page_carpet_cleaning .topSection_reason {
    padding: 0 0 130px;
}

@keyframes scroll {
    0% {
        transform: scale(1, 0);
        transform-origin: 0 0;
    }

    50% {
        transform: scale(1, 1);
        transform-origin: 0 0;
    }

    51% {
        transform: scale(1, 1);
        transform-origin: 0 100%;
    }

    100% {
        transform: scale(1, 0);
        transform-origin: 0 100%;
    }
}

/* バナーセクション */

.topSection_campaign {
    position: relative;
    padding-top: 100px;
}

.topSection_campaign:before {
    content: "";
    background: url(../img/footer_back.png) no-repeat;
    position: absolute;
    left: 0;
    bottom: 150px;
    width: 100%;
    height: 792.5px;
    background-size: cover;
    z-index: -1;
}

.topSection_campaign ul li {
    width: 600px;
    transition: .3s;
    margin: 0 10px;
}

.topSection_campaign ul li:hover {
    opacity: .7;
}

.topSection_campaign .title {
    color: #DDF2FF;
    text-align: center;
    font-size: 135px;
    line-height: .8;
}

/* 選ばれる理由 */

.topSection_reason {
    padding: 100px 0 130px 0;
    background: url(../img/reason_back.png) no-repeat;
    background-size: 1440px;
    background-position: center bottom;
}

.common_logoBox {
    text-align: center;
    margin-bottom: 34px;
}

.common_logoBox .title {
    font-size: 48px;
    font-weight: bold;
    line-height: 1.5;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.common_logoBox .title .text {
    width: 100%;
}

.common_logoBox .title .small {
    font-size: 28px;
    margin-left: .2em;
}

.common_logoBox .title .small.accent {
    width: 42px;
    line-height: 42px;
    display: inline-block;
    color: #fff;
    margin-left: 0;
}

.common_logoBox .title .accent:nth-child(odd) {
    background: var(--main-color);
}

.common_logoBox .title .accent:nth-child(even) {
    background: var(--sub-color);
}

.topSection_reason ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px 10px;
}

.topSection_reason ul li.icon_list {
    align-items: center;
}

.topSection_reason ul li.difference_list {
    border: 2px solid #EFEFEF;
    border-radius: 5px;
    padding: 33px 50px 20px 50px;
    position: relative;
    background: #fff;
}

.topSection_reason ul li.difference_list .catch {
    text-align: center;
    position: absolute;
    left: 0;
    top: -20px;
    width: 100%;
}

.topSection_reason ul li.difference_list .catch span {
    width: 36px;
    height: 36px;
    line-height: 36px;
    background: var(--sub-color);
    border-radius: 100%;
    display: inline-block;
    text-align: center;
    color: #fff;
    font-weight: bold;
    font-size: 20px;
}

.topSection_reason ul li.difference_list .box {
    width: 48%;
}

.topSection_reason ul li.difference_list .box .textArea {
    margin-top: -10px;
    position: relative;
    text-align: center;
    font-weight: bold;
}

.topSection_reason ul li.difference_list .box .textArea .title {
    background: #727272;
    color: #fff;
    width: 160px;
    line-height: 26px;
    border-radius: 40px;
    margin: 0 auto 5px auto;
}

.topSection_reason ul li.difference_list .box:nth-child(2) .textArea .title {
    background: var(--main-color);
}

.topSection_reason ul li.icon_list .icon {
    width: 90px;
    height: 90px;
    border-radius: 100%;
    background: #F8F8F8;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    justify-content: center;
}

.topSection_reason ul li.icon_list .textBox {
    padding-left: 20px;
}

.topSection_reason ul li.icon_list .textBox .title {
    font-size: 18px;
    display: inline-block;
    padding: 0 .2em;
    margin-bottom: .5em;
    font-weight: bold;
    line-height: 1.3;
}

.topSection_reason ul li.icon_list .textBox .text {
    line-height: 1.6;
    font-size: 12.5px;
}

.topSection_reason ul li.icon_list .textBox .title .accent {
    color: var(--main-color);
    font-weight: bold;
}

/* 比較表 */

.topSection_price {
    background: url(../img/price_back.png) no-repeat;
    background-size: cover;
    background-position: center top;
    padding: 150px 0 200px 0;
}

.topSection_price .table_cont {
    margin-bottom: 45px;
    padding-top: 10px;
}

.topSection_price table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 10px 5px;
    position: relative;
    z-index: 2;
}

.topSection_price table th:empty {
    opacity: 0;
}

.topSection_price table th,
.topSection_price table td {
    vertical-align: middle;
}

.topSection_price table th {
    font-size: 20px;
    text-align: center;
    background: #C9EBFF;
    border-radius: 5px 5px 0 0;
}

.reason.topSection_price table th {
    width: 15%;
}

.topSection_price table th.accent {
    font-size: 32px;
    background: var(--sub-color);
    color: #fff;
    position: relative;
}

.topSection_price table th.accent:before {
    content: "";
    width: calc(100% + 10px);
    height: 330px;
    background: var(--sub-color);
    position: absolute;
    z-index: -1;
    left: -5px;
    top: -10px;
    border-radius: 5px;
}

.topSection_price table td .info {
    padding: 0 34px;
    align-items: center;
}

.topSection_price table td .info .inWrap {
    width: 100%;
}

.topSection_price table td .info:first-child {
    border-bottom: 3px dashed #EFEFEF;
    height: 145px;
}

.topSection_price table td .info:last-child {
    height: 90px;
}

.topSection_price table td {
    border: 2px solid #EFEFEF;
    background: #fff;
    font-weight: bold;
}

.topSection_price table td.accent {
    border: 5px solid var(--sub-color);
}

.topSection_price table td .info .title {
    font-size: 20px;
}

.topSection_price table td .info dl {
    align-items: center;
}

.topSection_price table td .info dl dt {
    font-size: 16px;
}

.topSection_price table td .info dl dd span {
    font-size: 24px;
    font-style: italic;
    font-weight: bold;
}

.topSection_price table td .info dl dd small {
    font-size: 16px;
    margin-left: .5em;
}

.topSection_price table td .info dl dd.accent span {
    font-size: 32px;
}

.topSection_price table td .info dl dd.accent .big {
    font-size: 42px;
    color: #fc0a0a;
}

.topSection_price table td .text {
    text-align: center;
    font-size: 16px;
    font-weight: bold;
}

.topSection_price table td .text .accent {
    color: #fc0a0a;
    font-size: 40px;
    margin: 0 .1em;
    font-style: italic;
}

.topSection_price table td .none {
    text-align: center;
    font-size: 36px;
    font-weight: bold;
}

.topSection_price table td .none.small {
    font-size: 16px;
}

.topSection_price .now_cont {
    text-align: center;
    font-weight: bold;
}

.topSection_price .now_cont .catch {
    font-size: 32px;
    margin-bottom: 24px;
}

.topSection_price .now_cont .catch .accent {
    font-size: 48px;
    position: relative;
}

.topSection_price .now_cont .catch .accent:before {
    content: "・・・";
    position: absolute;
    left: .3em;
    top: -1em;
    font-size: 32px;
    letter-spacing: .4em;
}

.topSection_price .now_cont .box_wrap {
    justify-content: center;
    align-items: flex-end;
    gap: 20px;
    margin-bottom: 25px;
}

.topSection_price .now_cont .box_wrap dl {
    border: 3px solid var(--sub-color);
    border-radius: 5px;
    width: 250px;
    background: #fff;
}

.topSection_price .now_cont .box_wrap dl dt {
    background: var(--sub-color);
    color: #fff;
    font-size: 20px;
    padding: .5em 1em;
}

.topSection_price .now_cont .box_wrap dl dd {
    padding: 0 20px;
    font-size: 40px;
}

.topSection_price .now_cont .box_wrap dl dd .en {
    font-style: italic;
}

.topSection_price .now_cont .box_wrap dl dd small {
    font-size: 20px;
    margin-left: .2em;
}

.topSection_price .now_cont .box_wrap .text {
    font-size: 32px;
}

.topSection_price .now_cont .box_wrap .plus {
    font-size: 42px;
}

.topSection_price .now_cont .box_wrap .text,
.topSection_price .now_cont .box_wrap .plus {
    line-height: 1;
    margin-bottom: 30px;
}

.topSection_price .now_cont .price_sales {
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.topSection_price .now_cont .price_sales .course {
    align-items: center;
    gap: 20px;
}

.topSection_price .now_cont .price_sales .course .title {
    font-size: 24px;
}

.topSection_price .now_cont .course .price {
    font-size: 64px;
}

.topSection_price .now_cont .course .price .en {
    font-style: italic;
}

.topSection_price .now_cont .course small {
    font-size: 24px;
}

.topSection_price .now_cont .per_price {
    display: flex;
    align-items: center;
}

.topSection_price .now_cont .per_price .title {
    background: var(--sub-color);
    border-radius: 100%;
    color: #fff;
    width: 110px;
    height: 110px;
    align-items: center;
    display: flex;
    justify-content: center;
    text-align: center;
    font-size: 24px;
    line-height: 1.2;
    margin-right: 10px;
}

.topSection_price .now_cont .per_price .price {
    color: var(--sub-color);
    animation: blinking .5s ease-in-out infinite alternate;
}

@keyframes blinking {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.topSection_price .now_cont .per_price .price .en {
    font-size: 112px;
    font-style: italic;
    -webkit-text-fill-color: var(--sub-color);
    /* （順序に関係なく）色を上書きする */
    -webkit-text-stroke: 3px #fff;
}

.topSection_price .now_cont .per_price .price small {
    font-size: 32px;
}

/* 5STEP */

.topSection_step.top {
    margin-top: 80px;
}

.topSection_step {
    background: url(../img/flow_back.png) no-repeat;
    background-size: cover;
    background-position: center top;
    padding: 160px 0 130px 0;
    margin-top: -100px;
}

.topSection_step .titleBox {
    margin-bottom: 50px;
}

.topSection_step .titleBox h2 {
    justify-content: center;
    align-items: center;
    line-height: 1.5;
}

.topSection_step .titleBox h2 .logo {
    color: #fff;
    font-size: 32px;
    font-weight: bold;
    margin-right: 15px;
}

.topSection_step .titleBox h2 .logo .top_text {
    display: flex;
    align-items: center;
}

.topSection_step .titleBox h2 .logo .text {
    width: 100%;
}

.topSection_step .titleBox h2 .logo .small {
    font-size: 28px;
    margin-left: .2em;
}

.topSection_step .titleBox h2 .logo .small.accent {
    width: 42px;
    line-height: 42px;
    display: inline-block;
    color: var(--sub-color);
    margin-left: 0;
    font-size: 28px;
    text-align: center;
    font-weight: bold;
}

.topSection_step .titleBox h2 .logo .accent:nth-child(odd) {
    background: #fff;
}

.topSection_step .titleBox h2 .logo .accent:nth-child(even) {
    background: #D5EFFF;
}

.topSection_step .titleBox h2 .easy {
    width: 95px;
    line-height: 95px;
    background: #E4B03A;
    color: #fff;
    border-radius: 100%;
    text-align: center;
    font-size: 32px;
    font-weight: bold;
    position: relative;
    margin-right: 15px;
}

.topSection_step .titleBox h2 .easy:before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    border-left: 15px solid #E4B03A;
    border-right: 0;
    position: absolute;
    right: 10px;
    bottom: 5px;
    transform: rotate(-70deg);
}


.topSection_step ul li {
    background: #fff;
    padding: 25px 15px;
    width: 205px;
    position: relative;
    border-radius: 5px;
}

.topSection_step ul li .num {
    width: 60px;
    height: 60px;
    background: var(--main-color);
    border-radius: 100%;
    color: #fff;
    font-size: 20px;
    text-align: center;
    padding-top: 13px;
    line-height: .5;
    font-weight: bold;
    position: absolute;
    left: -20px;
    top: -20px;
}

.topSection_step ul li .num small {
    font-size: 12px;
    display: block;
    line-height: 1;
}

.topSection_step ul li .icon {
    width: 130px;
    height: 130px;
    background: #F8F8F8;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    margin-bottom: 10px;
}

.topSection_step ul li .title {
    font-size: 20px;
    color: var(--main-color);
    font-weight: bold;
    text-align: center;
}

.topSection_step ul li:before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    border-left: 15px solid #fff;
    border-right: 0;
    position: absolute;
    right: -15px;
    top: calc(50% - 15px);
}

.topSection_step ul li:last-child::before {
    display: none;
}

/* クリーニングの工程 */

.topSection_flow {
    padding: 120px 0 0 0;
}

.topSection_flow.service {
    padding: 120px 0;
}

.topSection_flow .wrap {
    position: relative;
}

.topSection_flow .enText {
    font-size: 184px;
    color: #EFF9FF;
    font-weight: bold;
    position: absolute;
    left: -.5em;
    top: -.2em;
    line-height: 1;
    z-index: -1;
}

.topSection_flow .titleBox {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 55px;
}

.topSection_flow .titleBox .logo .top_text {
    display: flex;
    align-items: center;
}

.topSection_flow .titleBox .logo .small {
    margin-left: .2em;
}

.topSection_flow .titleBox .logo .small.accent {
    width: 42px;
    line-height: 42px;
    display: inline-block;
    color: #fff;
    margin-left: 0;
    text-align: center;
}

.topSection_flow .titleBox .logo .accent:nth-child(odd) {
    background: var(--main-color);
}

.topSection_flow .titleBox .logo .accent:nth-child(even) {
    background: var(--sub-color);
}

.topSection_flow .main_cont {
    margin-left: calc((100% - 1140px) / 2);
}

.topSection_flow ul {
    overflow: scroll;
    white-space: nowrap;
}

.topSection_flow ul li {
    display: inline-block;
    white-space: initial;
    width: 350px;
    position: relative;
    vertical-align: top;
}

.topSection_flow ul li .stepBox {
    margin-bottom: 20px;
}

.topSection_flow ul li .stepBox .icon {
    width: 100px;
    height: 100px;
    background: #F8F8F8;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.topSection_flow ul li:before {
    content: "";
    width: 100%;
    height: 3px;
    background: #F8F8F8;
    position: absolute;
    left: 0;
    top: 50px;
}

.topSection_flow ul li .stepBox .step {
    font-size: 24px;
    font-weight: bold;
    color: var(--main-color);
    margin-left: .5em;
}

.topSection_flow ul li .stepBox .step small {
    font-size: 14px;
}

.topSection_flow ul li .cont {
    border-left: 3px dashed #F8F8F8;
    padding: 0 20px;
}

.topSection_flow ul li .cont .textArea .title {
    font-size: 20px;
    font-weight: bold;
    color: var(--main-color);
}

.topSection_flow ul li .cont .textArea .title small {
    font-size: 14px;
}

.topSection_flow ul li .cont .textArea .text {
    margin-bottom: 1em;
}

.topSection_flow ul li .cont .textArea .image {
    width: 100%;
    height: 180px;
}

.topSection_flow ul li .cont .textArea .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px;
}

/* メニュー */

.topSection_menu {
    position: relative;
    padding: 190px 0 130px 0;
}

.topSection_menu:before {
    content: "";
    background: url(../img/cleaning_back.png) no-repeat;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1235px;
    background-size: cover;
    z-index: -1;
}

.topSection_menu .common_logoBox {
    margin-bottom: 60px;
}

.topSection_menu .box {
    width: 32.5%;
    background: #fff;
    padding: 20px;
    padding-top: 85px;
    position: relative;
    border: 2px solid #F8F8F8;
    border-radius: 3px;
}

.topSection_menu .box .icon {
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--sub-color);
    border-radius: 100%;
    position: absolute;
    left: calc(50% - 50px);
    top: -30px
}

.topSection_menu .box .title {
    text-align: center;
    color: var(--sub-color);
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 1em;
}

.topSection_menu .box ul li {
    width: 100%;
}

.topSection_menu .box ul li+li {
    margin-top: 20px;
}

.topSection_menu .box ul li a {
    display: block;
    line-height: 70px;
    border: 2px solid #F8F8F8;
    border-radius: 3px;
    color: initial;
    font-weight: bold;
    padding-left: 1.5em;
    position: relative;
    transition: .3s;
    font-size: 18px;
}

.topSection_menu .box ul li a::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 17px;
    width: 9px;
    height: 9px;
    margin: auto;
    border-top: 2px solid var(--text-color);
    ;
    border-right: 2px solid var(--text-color);
    ;
    transform: rotate(45deg);
    box-sizing: border-box;
    transition: .3s;
}

.topSection_menu .box ul li a:hover {
    color: var(--sub-color);
    border-color: var(--sub-color);
}

.topSection_menu .box ul li a:hover::after {
    border-color: var(--sub-color)
}

/* お客様の声（PC） */

#top_reviews_sec.topSection_reviews {
    margin-top: 120px;
}

.topSection_reviews {
    padding: 115px 0 100px 0;
    background: url(../img/reviews_back.png) no-repeat;
    background-size: cover;
    background-position: center bottom;
}

.topSection_reviews .wrap {
    position: relative;
}

.topSection_reviews .common_titleBox {
    color: #fff;
}

.topSection_reviews .common_titleBox .en {
    color: #FADC78;
}

.topSection_reviews .illust {
    text-align: center;
}

.topSection_reviews .hukidashi {
    background: #fff;
    border: 2px solid #EFEFEF;
    padding: 20px;
    font-size: 16px;
    font-weight: bold;
    border-radius: 5px;
    position: absolute;
    line-height: 1.6;
}

.topSection_reviews .hukidashi:before {
    content: "";
    position: absolute;
    bottom: -15px;
    right: 25px;
    border-top: 15px solid #EFEFEF;
    border-left: 15px solid transparent;
    box-shadow: inset 0px 0px 2px #000;
}

.topSection_reviews .hukidashi:after {
    content: "";
    position: absolute;
    bottom: -11px;
    right: 26.6px;
    border-top: 15px solid #fff;
    border-left: 15px solid transparent;
    box-shadow: inset 0px 0px 2px #000;
}

.topSection_reviews .hukidashi:nth-child(n + 3):before {
    right: auto;
    left: 25px;
}

.topSection_reviews .hukidashi:nth-child(n + 3):after {
    right: auto;
    left: 26.5px;
}

.topSection_reviews .hukidashi:nth-child(n + 3):before,
.topSection_reviews .hukidashi:nth-child(n + 3):after {
    transform: scale(-1, 1);
}

.topSection_reviews .hukidashi.review_1 {
    left: 0;
    top: 140px;
}

.topSection_reviews .hukidashi.review_2 {
    left: -70px;
    top: 340px;
}

.topSection_reviews .hukidashi.review_3 {
    right: 0;
    top: 100px;
}

.topSection_reviews .hukidashi.review_4 {
    right: -70px;
    top: 240px;
}

.topSection_reviews .hukidashi.review_5 {
    right: -70px;
    top: 410px;
}

.topSection_reviews .hukidashi .accent {
    color: var(--main-color);
}

/* よくある質問（PC） */

.topSection_faq {
    padding: 50px 0 120px 0;
    position: relative;
    z-index: 2;
}

.topSection_faq dl+dl {
    margin-top: 20px;
}

.topSection_faq dl dt {
    padding: 25px;
    padding-left: 100px;
    position: relative;
    border: 3px solid #EFEFEF;
    background: #fff;
}

.topSection_faq dl dt::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 27px;
    width: 12px;
    height: 12px;
    margin: auto;
    border-top: 2px solid #393939;
    border-right: 2px solid #393939;
    transform: translateY(-2px) rotate(135deg);
    box-sizing: border-box;
}

.topSection_faq dl dt.nowOpen::after {
    border-top: 2px solid #393939;
    border-right: 2px solid #393939;
    transform: translateY(2px) rotate(315deg);
}

.topSection_faq dl dt:before,
.topSection_faq dl dd:before {
    width: 40px;
    line-height: 40px;
    color: #fff;
    position: absolute;
    border-radius: 100%;
    text-align: center;
    font-size: 20px;
    font-family: 'Urbanist', sans-serif;
}

.topSection_faq dl dt:before {
    content: "Q";
    left: 20px;
    top: calc(50% - 20px);
    background: var(--main-color);
}

.topSection_faq dl dd {
    position: relative;
    padding: 28px;
    padding-left: 100px;
    font-size: 16px;
}

.topSection_faq dl dd:before {
    content: "A";
    left: 20px;
    top: 20px;
    background: #E4B03A;
    font-weight: bold;
}

.topSection_faq dl dd .closeBtnHat {
    display: none;
}

/* フッター */

#main_footer {
    padding: 120px 0 50px 0;
    position: relative;
    margin-bottom: 100px;
}

#main_footer:before {
    content: "";
    background: url(../img/footer_back.png) no-repeat;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: calc(100% + 260px);
    background-size: cover;
    z-index: -1;
}

#main_footer .cont {
    padding-bottom: 78px;
    margin-bottom: 30px;
    border-bottom: 2px solid #EFEFEF;
}

#main_footer .infoBox .logo {
    width: 120px;
}

#main_footer .companyInfo {
    justify-content: center;
    margin-bottom: 35px;
}

#main_footer .companyInfo dl dt {
    font-size: 16px;
}

#main_footer .infoBox .button a {
    display: block;
    background: var(--sub-color);
    color: #fff;
    width: 320px;
    line-height: 80px;
    font-weight: bold;
    padding-left: 70px;
    position: relative;
    border-radius: 3px;
    background-image: url(../img/icon_mail.svg);
    background-repeat: no-repeat;
    background-position: 30px;
    background-size: 30px;
    transition: .3s;
}

#main_footer .infoBox .button a:hover {
    background-color: var(--main-color);
}

#main_footer .infoBox .button a::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 27px;
    width: 9px;
    height: 9px;
    margin: auto;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    box-sizing: border-box;
}

#main_footer .linkMenu {
    gap: 50px;
}

#main_footer .linkMenu ul .en {
    color: var(--main-color);
    font-weight: bold;
    font-size: 16px;
    line-height: 1.2;
}

#main_footer .linkMenu ul li a {
    color: initial;
    font-size: 13px;
    transition: .3s;
}

#main_footer .linkMenu ul li a:hover {
    opacity: .7;
}

#main_footer .linkMenu ul .inBox {
    margin-top: 10px;
}

#main_footer .copyBox ul {
    gap: 30px;
}

#main_footer .copyBox ul li a {
    color: initial;
    font-size: 13px;
}

#main_footer .copyBox .copyright small {
    font-size: 12px;
}

/* フッター追従 */

.fixed_contact {
    background: var(--sub-color);
    padding: 15px 0;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 10;
}

.fixed_contact .cont .off {
    width: 450px;
}

.fixed_contact .wrap {
    position: relative;
}

.fixed_contact .information {
    color: #fff;
}

.fixed_contact .information .tel {
    font-size: 32px;
    font-weight: bold;
    line-height: 1.4;
}

.fixed_contact .information .tel small {
    font-size: 24px;
}

.fixed_contact .buttonBox {
    gap: 10px;
}

.fixed_contact .buttonBox .button a {
    width: 280px;
    line-height: 70px;
    display: block;
    border-radius: 5px;
    font-size: 16px;
    font-weight: bold;
    position: relative;
}

.fixed_contact .buttonBox .button a::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 27px;
    width: 9px;
    height: 9px;
    margin: auto;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    box-sizing: border-box;
}

.fixed_contact .buttonBox .button.mail a::after {
    border-color: var(--sub-color);
}

.fixed_contact .buttonBox .button.mail a {
    background: #fff;
    color: var(--sub-color);
    padding-left: 55px;
    background-image: url(../img/icon_mail_blue.svg);
    background-repeat: no-repeat;
    background-position: 20px;
}

.fixed_contact .buttonBox .button.line a {
    background: #03C755;
    color: #fff;
    padding-left: 75px;
    background-image: url(../img/icon_line.svg);
    background-repeat: no-repeat;
    background-position: 30px;
}

.fixed_contact .hukidashi {
    background: #E4B03A;
    color: #fff;
    width: 90px;
    height: 90px;
    border-radius: 100%;
    text-align: center;
    font-size: 12px;
    line-height: 1.2;
    font-weight: bold;
    padding-top: 20px;
    position: absolute;
    right: -50px;
    top: -60px;
}

.fixed_contact .hukidashi:before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    border-left: 15px solid #E4B03A;
    border-right: 0;
    position: absolute;
    left: 6px;
    bottom: 8px;
    transform: rotate(-110deg);
}

.fixed_contact .hukidashi .price {
    font-size: 24px;
}

.fixed_contact .hukidashi .price .yen,
.fixed_contact .hukidashi .price .en small {
    font-size: 13px;
}

.fixed_contact .hukidashi .price .en {
    margin-left: -.2em;
}

#page_shopping .none_select_sec {
    display: none;
}

#page_shopping_confirm .ec-orderDelivery__actions {
    display: none;
}

.topSection_reason.internal_page {
    position: relative;
    z-index: 2;
    background-position: center 130px;
}

.topSection_reason.internal_page ul {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
}

.topSection_reason ul li.icon_list {
    background: #fff;
    border: 2px solid #F8F8F8;
    border-radius: 5px;
    flex-wrap: nowrap;
    padding: 15px 12px;
}

.topSection_reason.internal_page ul li.icon_list .icon {
    width: 150px;
    height: 150px;
    padding: 35px;
}

.topSection_reason.internal_page ul li.icon_list .textBox {
    width: calc(100% - 150px);
}

.topSection_reason .notice_box {
    padding: 0 50px 90px 50px;
    border: 5px solid var(--sub-color);
    border-radius: 5px;
    position: relative;
    margin-top: 130px;
    text-align: center;
    background: #fff;
}

#page_beginners .topSection_reason .notice_box.reason {
    margin-top: 120px;
}


.topSection_reason .notice_box .top_text {
    position: relative;
    margin-top: -35px;
    margin-bottom: 20px;
}

.topSection_reason .notice_box .top_text .text {
    display: inline-block;
    background: var(--sub-color);
    color: #fff;
    font-size: 24px;
    line-height: 60px;
    padding: 0 1.1em;
    border-radius: 3px;
}

.topSection_reason .notice_box .catch_text .text {
    font-size: 40px;
    font-weight: 600;
    display: inline-block;
    position: relative;
}

.topSection_reason .notice_box .catch_text .text:before {
    content: "";
    position: absolute;
    left: -40px;
    bottom: 20px;
    width: 3px;
    height: 40px;
    background: #393939;
    transform: rotate(-25deg);
}

.topSection_reason .notice_box .catch_text .text:after {
    content: "";
    position: absolute;
    right: -40px;
    bottom: 20px;
    width: 3px;
    height: 40px;
    background: #393939;
    transform: rotate(25deg);
}

.topSection_reason .notice_box .catch_text .text .accent {
    color: #D62C2C;
}

.topSection_reason .notice_box .information_text {
    margin-bottom: 38px;
}

.topSection_reason .notice_box .information_text.big {
    font-size: 17px;
}

.topSection_reason .notice_box .information_text .accent {
    color: #E4B03A;
    text-decoration: underline;
    font-weight: 600;
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
    margin: 0 .2em;
}

.topSection_reason .notice_box .image_list {
    display: flex;
    justify-content: center;
}

.topSection_reason .notice_box .image_list li {
    border-radius: 5px;
    overflow: hidden;
}

.topSection_reason .notice_box .image_list.big {
    gap: 0 50px;
}

.topSection_reason .notice_box .image_list.small {
    gap: 0 23px;
    margin-top: 35px;
    margin-bottom: 65px;
}

.topSection_reason .notice_box .image_list.big li {
    width: 280px;
    height: 180px;
}

.topSection_reason .notice_box .image_list.big.caption li {
    height: unset;
    overflow: unset;
}

.topSection_reason .notice_box .image_list.big.caption li .image {
    height: 180px;
}

.topSection_reason .notice_box .image_list.big.caption li .text {
    background-color: unset;
    padding: 5px 0 0;
    font-size: 15px;
}

.topSection_reason .notice_box .image_list.big.caption li .image img {
    border-radius: 5px;
}

.topSection_reason .notice_box .image_list.big.biker li {
    height: 270px;
}

.topSection_reason .notice_box .image_list.big li .image {
    width: 100%;
    height: 100%;
}

.topSection_reason .notice_box .image_list.big li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.topSection_reason .notice_box .image_list.small li {
    width: 240px;
}

.topSection_reason .notice_box .image_list li .text {
    background: #EFF9FF;
    font-size: 20px;
    font-weight: 600;
    padding: .5em 0;
}

.topSection_reason .notice_box .reason_catch {
    margin-top: 66px;
    font-size: 40px;
}

.topSection_reason .notice_box .reason_catch .text {
    display: inline-block;
    text-decoration: underline;
    text-decoration-thickness: 10px;
    text-underline-offset: 8px;
    font-weight: bold;
    text-decoration-color: #EAF3FC;
}

.topSection_reason .notice_box .reason_text {
    margin-bottom: 38px;
}

.topSection_reason .notice_box .solution_text {
    font-size: 32px;
    font-weight: 600;
}

.topSection_reason .notice_box .solution_text .accent {
    color: var(--sub-color);
    text-decoration: underline;
    text-decoration-thickness: 10px;
    text-underline-offset: 8px;
    font-weight: bold;
    text-decoration-color: #EAF3FC;
    font-size: 40px;
}

.topSection_reason .notice_box .solution_text small {
    font-size: 24px;
}

.topSection_reason .notice_box .solution_text .dot {
    position: relative;
}

.topSection_reason .notice_box .solution_text .dot:before {
    content: "・・・・・";
    position: absolute;
    left: 0;
    top: -.5em;
    color: var(--sub-color);
    font-size: .7em;
    letter-spacing: .5em;
    line-height: 1;
}

.internalPage_commitment {
    background: url(/html/user_data/assets/img/price_back.png) no-repeat;
    background-size: cover;
    background-position: center top;
    padding-top: 277px;
    margin-top: -300px;
    padding-bottom: 200px;
}

.internalPage_commitment .comit_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 38px;
    margin-bottom: 75px;
}

#carpet_cleaning .internalPage_commitment .comit_list {
    grid-template-columns: repeat(2, 1fr);
}

.internalPage_commitment .comit_list .catch_area {
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.internalPage_commitment .comit_list .catch_area .num {
    background: var(--main-color);
    color: #fff;
    border-radius: 100%;
    width: 45px;
    line-height: 45px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}

.internalPage_commitment .comit_list .catch_area .catch {
    width: calc(100% - 55px);
    font-size: 18px;
    font-weight: 600;
}

.internalPage_commitment .menu_area {
    position: relative;
    padding-bottom: 55px;
    z-index: 2;
}

.internalPage_commitment .menu_area:before {
    content: "";
    width: 100%;
    height: 100%;
    background: #fff;
    border: 2px solid #EAEAEA;
    position: absolute;
    left: 0;
    top: 0;
}

.internalPage_commitment .menu_area .circle {
    content: "";
    width: 160px;
    height: 160px;
    background: #fff;
    border-radius: 100%;
    border: 2px solid #EAEAEA;
    position: absolute;
    left: calc(50% - 80px);
    top: -40px;
    z-index: -1;
}

.internalPage_commitment .menu_area .circle_2 {
    content: "";
    width: 160px;
    height: 160px;
    background: #fff;
    border-radius: 100%;
    position: absolute;
    left: calc(50% - 80px);
    top: -37px;
    z-index: 1;
}

.internalPage_commitment .menu_area .title {
    position: relative;
    text-align: center;
    color: var(--main-color);
    font-size: 24px;
    font-weight: 600;
    padding-top: 50px;
    background: url(/html/user_data/assets/img/icon_quality.svg) no-repeat;
    background-position: center top;
    background-size: 40px;
    position: relative;
    z-index: 2;
}

/* .internalPage_commitment .menu_area:before {
    content: "";
    width: 100%;
    height: 295px;
    background: url(/html/user_data/assets/img/menu_back.svg) no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    left: 0;
    top: 0;
} */

.internalPage_commitment .menu_area .menu_box_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    position: relative;
    padding: 40px 80px 20px;
}

.internalPage_commitment .menu_area .menu_box_list.two {
    grid-template-columns: repeat(2, 1fr);
    gap: 80px;
}

.internalPage_commitment .menu_area .menu_box_list .list a {
    display: block;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
}

.internalPage_commitment .menu_area .menu_box_list .list a .img {
    width: 100%;
    height: 180px;
    position: relative;
}

.internalPage_commitment .menu_area .menu_box_list .list a .img::before {
    content: "MORE";
    position: absolute;
    width: 100px;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 2px solid #fff;
    z-index: 1;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-weight: 600;
    font-size: 18px;
    animation-name: more_animation;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.8);
}

@keyframes more_animation {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.8);
    }

    100% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }

}

.internalPage_commitment .menu_area .menu_box_list .list a .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.internalPage_commitment .menu_area .menu_box_list .list a .text {
    font-size: 17px;
    letter-spacing: 0.04em;
    font-weight: 600;
    text-align: center;
    padding: 14px 5px;
}

.internalPage_commitment .menu_area ul {
    justify-content: center;
    gap: 40px;
    position: relative;
    z-index: 2;
}

.page_futon_cleaning .internalPage_commitment.course {
    margin-top: -130px;
    padding-top: 220px;
    padding-bottom: 100px;
}

.page_futon_cleaning .internalPage_commitment .table_box .item_box {
    flex-direction: column;
    gap: 80px 0;
}

.page_futon_cleaning .internalPage_commitment .table_box .item_box .item .graph {
    width: 800px;
}

.internalPage_products {
    padding: 130px 0;
    position: relative;
}

.internalPage_products:before {
    content: "";
    background: url(/html/user_data/assets/img/cleaning_back.png) no-repeat;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1235px;
    background-size: cover;
    z-index: -1;
}


.internalPage_products .cont .box .title {
    text-align: center;
    font-size: 20px;
    font-weight: 600;
    line-height: 65px;
    background: #BEE7FF;
    margin-bottom: 1.25em;
}

.internalPage_products .cont .box.ng .title {
    background: #EFEFEF;
}

.internalPage_products .cont .box+.box {
    margin-top: 65px;
}

.internalPage_products .cont .box ul {
    justify-content: center;
    gap: 36px;
}

.internalPage_products .cont .box ul li {
    width: 160px;
}

.internalPage_products .cont .box ul li .icon {
    width: 100%;
    height: 160px;
    border: 2px solid #EAEAEA;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    position: relative;
    background: #fff;
}

.internalPage_products .cont .box.ng ul li .icon:before {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 100%;
    height: 1px;
    background: #EAEAEA;
    transform: rotate(-45deg);
}

.internalPage_products .cont .box ul li .text {
    text-align: center;
    font-size: 12px;
}

.internalPage_products .cont .box .information {
    text-align: center;
    font-size: 20px;
    margin-top: 2em;
}

.internalPage_products .attention_box {
    margin-top: 84px;
}

.internalPage_products .attention_box .title {
    background: #EFEFEF;
    text-align: center;
    line-height: 86px;
    font-size: 32px;
    font-weight: 600;
}

.internalPage_products .attention_box dl {
    background: #fff;
    padding: 35px 50px 45px 50px;
}

.internalPage_products .attention_box dl dt {
    font-size: 16px;
    border-bottom: 2px dashed #EFEFEF;
    margin-bottom: 19px;
    padding-bottom: 13px;
}

.internalPage_products .attention_box dl dd {
    position: relative;
    padding-left: 15px;
}

.internalPage_products .attention_box dl dd:before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 100%;
    background: #393939;
    position: absolute;
    left: 0;
    top: calc(50% - 2.5px);
}

.internalPage_products .attention_box dl dd .accent {
    font-weight: bold;
    color: #D62C2C;
}

.internalPage_reviews {
    overflow: hidden;
    padding: 115px 0 150px 0;
    background: url(/html/user_data/assets/img/reviews_back.png) no-repeat;
    background-size: cover;
    background-position: center bottom;
}

.internalPage_reviews .common_titleBox .title {
    color: #fff;
}

.internalPage_reviews .common_titleBox .en {
    color: #FADC78;
}

.internalPage_reviews .reviews_slider {
    margin-top: 80px;
}

.internalPage_reviews .reviews_slider ul li {
    border: 2px solid #EFEFEF;
    padding: 0 25px 32px 25px;
    margin: 0 15px;
    background: #fff;
}

.internalPage_reviews .reviews_slider ul li .icon {
    width: 100px;
    height: 100px;
    border: 2px solid #EAEAEA;
    border-radius: 100%;
    text-align: center;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    margin: -35px auto 20px auto;
    background: #fff;
}

.internalPage_reviews .reviews_slider ul li .service {
    color: var(--main-color);
    border: 2px solid;
    display: inline-block;
    padding: .2em 1em;
    font-weight: 600;
    margin-bottom: 10px;
}

.internalPage_reviews .reviews_slider ul li .title {
    font-size: 18px;
    color: var(--main-color);
    font-weight: 600;
    border-bottom: 3px dashed #EFEFEF;
    margin-bottom: 20px;
    padding-bottom: 16px;
}

.internalPage_reviews .reviews_slider ul li .text {
    margin-bottom: 20px;
}

.internalPage_reviews .reviews_slider ul li .name {
    text-align: right;
    color: #646464;
    font-weight: 600;
}

.internalPage_reviews .reviews_slider .slick-list {
    overflow: visible;
}

.internalPage_reviews .slick-track {
    display: flex;
}

.internalPage_reviews .slick-slide {
    height: auto !important;
}

.common_mainvisual {
    margin-bottom: 30px;
}

.common_mainvisual .cont {
    width: 1340px;
    background: url(/html/user_data/assets/img/common_mainvisual.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    margin: 0 auto;
    border-radius: 5px;
    padding: 68px 0 61px 0;
    position: relative;
}

.common_mainvisual.futon .cont {
    background-image: url(/html/user_data/assets/img/page_futon_mv.jpg);
    background-position: 0 -370px;
}

.common_mainvisual .cont:before {
    content: "";
    background: rgb(255, 255, 255);
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.7973783263305322) 0%, rgba(255, 255, 255, 0) 100%);
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

.common_mainvisual .cont * {
    position: relative;
}

.common_mainvisual .cont .title_box {
    margin-bottom: 28px;
}

.common_mainvisual .cont .title_box .en {
    color: var(--main-color);
    font-weight: 600;
    font-size: 18px;
    text-transform: uppercase;
}

.common_mainvisual .cont .title_box .title {
    font-size: 48px;
    line-height: 1.3;
    font-weight: 800;
}

.common_mainvisual .cont .text {
    margin-bottom: 30px;
}

.common_mainvisual .cont .price {
    line-height: 1;
    font-weight: 600;
}

.common_mainvisual .cont .price .accent {
    color: var(--main-color);
    font-size: 40px;
}

.common_mainvisual .cont .button_area {
    width: 300px;
}

.common_mainvisual .cont .button_area .off_text {
    text-align: center;
    color: var(--sub-color);
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 10px;
}

.common_mainvisual .cont .button_area .off_text.big {
    font-size: 30px;
    margin-bottom: 6px;
}

.common_mainvisual .cont .button_area .button a {
    display: block;
    width: 100%;
    text-align: center;
    line-height: 60px;
    background: var(--main-color);
    color: #fff;
    font-size: 20px;
    border-radius: 60px;
    position: relative;
}

.common_mainvisual .cont .button_area .button a::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 27px;
    width: 9px;
    height: 9px;
    margin: auto;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    box-sizing: border-box;
}

#breadcrumbs {
    background: var(--sub-color);
    color: #fff;
    position: relative;
}

#breadcrumbs ul li a {
    color: #fff;
    margin-right: 10px;
    position: relative;
}

#breadcrumbs ul li a:after {
    content: ">";
    margin-left: 10px;
}

.topSection_campaign.internal_page:before {
    bottom: auto;
    top: 0;
    transform: scaleY(-1);
}

.internalPage_link {
    padding-top: 130px;
}

.internalPage_link ul {
    justify-content: center;
    gap: 0 40px;
}

.internalPage_link .commonBUtton a {
    line-height: 80px;
    width: 320px;
    font-size: 18px;
}

.internal_page_worries {
    padding: 200px 0 100px 0;
}

.internal_page_worries .catch {
    text-align: center;
    font-size: 40px;
    font-weight: 600;
    margin-bottom: 1em;
}

.internal_page_worries .catch .accent {
    font-size: 60px;
    margin: 0 .1em;
    color: var(--main-color);
    text-decoration: underline;
    text-decoration-thickness: 10px;
    text-underline-offset: 8px;
    font-weight: bold;
    text-decoration-color: #EAF3FC;
}

.internal_page_worries .cont {
    position: relative;
}

.internal_page_worries .image {
    width: 25%;
    margin: 0 auto;
}

.internal_page_worries .text_area .text {
    position: relative;
    display: inline-block;
    margin-bottom: 20px;
    padding: 16px;
    border: 2px solid;
    border-radius: 8px;
    background-color: #EFF9FF;
    text-align: left;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    color: var(--main-color);
    position: absolute;
}

.internal_page_worries .text_area .text::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 25%;
    border-style: solid;
    border-width: 20px 20px 0 0;
    border-color: var(--main-color) transparent transparent;
    translate: -50% 100%;
    transform: skew(-25deg);
    transform-origin: top;
}

.internal_page_worries .text_area .text::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 25%;
    border-style: solid;
    border-width: 15.2px 15.2px 0 0;
    border-color: #EFF9FF transparent transparent;
    translate: calc(-50% - 0.4px) 100%;
    transform: skew(-25deg);
    transform-origin: top;
}

.internal_page_worries .text_area .text:nth-child(-n + 3)::after,
.internal_page_worries .text_area .text:nth-child(-n + 3)::before {
    transform: scale(-1, 1);
    left: 75%;
}

.internal_page_worries .text_area .text-1 {
    left: 0;
    top: 0;
}

.internal_page_worries .text_area .text-2 {
    left: 20px;
    top: 100px;
}

.internal_page_worries .text_area .text-3 {
    left: 0;
    top: 200px;
}

.internal_page_worries .text_area .text-4 {
    right: 250px;
    top: 0;
}

.internal_page_worries .text_area .text-5 {
    right: 20px;
    top: 0;
}

.internal_page_worries .text_area .text-6 {
    right: 110px;
    top: 100px;
}

.internal_page_worries .text_area .text-7 {
    right: 10px;
    top: 200px;
}

.internalPage_solution {
    padding-bottom: 100px;
    margin-bottom: 250px;
}

.internalPage_solution .catch_text {
    text-align: center;
    margin-bottom: 50px;
}

.internalPage_solution .catch_text .text {
    font-size: 40px;
    display: inline-block;
    font-weight: bold;
    padding-left: 130px;
    background: url(/html/user_data/assets/img/solution_woman.svg) no-repeat;
    background-size: contain;
    background-position: 0;
}

.internalPage_solution .catch_text .text .accent {
    color: var(--sub-color);
    text-decoration: underline;
    text-decoration-thickness: 10px;
    text-underline-offset: 8px;
    font-weight: bold;
    text-decoration-color: #EAF3FC;
    font-size: 40px;
}

.internalPage_solution .catch_text .text .dot {
    position: relative;
}

.internalPage_solution .catch_text .text .dot:before {
    content: "・・・・・・";
    position: absolute;
    left: 0;
    top: -.7em;
    color: var(--sub-color);
    font-size: .7em;
    letter-spacing: .5em;
    line-height: 1;
}

.internalPage_solution .catch {
    text-align: center;
    font-size: 20px;
    margin-bottom: 2em;
    background: var(--sub-color);
    color: #fff;
    line-height: 60px;
    font-weight: 600;
}

.internalPage_solution ol {
    justify-content: center;
    gap: 30px;
}

.internalPage_solution ol li {
    width: 250px;
    position: relative;
}

.internalPage_solution ol li .icon {
    width: 200px;
    height: 200px;
    border-radius: 100%;
    background: #F8F8F8;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 10px auto;
}

.internalPage_solution ol li .num {
    font-weight: bold;
    font-size: 40px;
    position: absolute;
    left: 0;
    top: 0;
    font-family: 'Urbanist', sans-serif;
    color: var(--main-color);
}

.internalPage_solution ol li .text {
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    line-height: 1.4;
}

.internalPage_solution ol li .text .accent {
    color: var(--main-color);
    font-weight: bold;
    background: linear-gradient(transparent 70%, #EAF3FC 70%);
    padding: 0 .2em;
}

#page_rental_futon .internalPage_commitment {
    padding-top: 150px;
    padding-bottom: 150px;
}

#page_rental_futon .internalPage_reviews {
    padding-top: 0;
}

.common_menu_table {
    margin-bottom: 100px;
}

.common_menu_table table {
    width: 100%;
    background: #fff;
    border-top: 3px solid #EFEFEF;
    border-bottom: 3px solid #EFEFEF;
}

.common_menu_table .table_wrap+.table_wrap {
    margin-top: 50px;
}

.common_menu_table table th,
.common_menu_table table td {
    padding: 1em;
    border: 3px solid #EFEFEF;
    border-top: 3px dashed #EFEFEF;
    border-bottom: 3px dashed #EFEFEF;
    text-align: center;
    vertical-align: middle;
    font-weight: 600;
}

.common_menu_table table th .modal_btn {
    display: block;
    margin: 20px auto 0;
    width: fit-content;
    color: #fff;
    background-color: #65c6ff;
    padding: 5px 15px;
    transition: .3s;
}

.common_menu_table table th .modal_btn:hover {
    opacity: 0.7;
}


.common_menu_table table tr:first-child th {
    background: var(--sub-color);
    color: #fff;
    border-bottom: none;
}

.common_menu_table table tr:nth-child(2) th,
.common_menu_table table tr:nth-child(2) td {
    border-top: none;
}

.common_menu_table table th small {
    display: block;
}

.common_menu_table table th.size {
    width: 30%;
}

.common_menu_table table th.price {
    width: 30%;
}

.common_menu_table table th.name {
    width: 40%;
}

.common_menu_table table td.price {
    color: var(--main-color);
    font-size: 1.3em;
}

.common_menu_table table td.price small {
    display: block;
}

.common_menu_table table th.title {
    font-size: 1.2em;
}

.common_menu_table table th.title.summer {
    background: #ffe8bd;
    border-top: 3px solid #ffe8bd;
    border-bottom: 3px solid #ffe8bd;
    color: initial;
}

.common_menu_table table th.title.winter {
    background: #c0dfec;
    border-top: 3px solid #c0dfec;
    border-bottom: 3px solid #c0dfec;
    color: initial;
}

.internalPage_commitment.internalPage_menu {
    padding-top: 50px;
}

.common_menu_table .box+.box {
    margin-top: 100px;
}

.common_menu_table .box .title_text {
    font-size: 20px;
    margin-bottom: 1em;
    font-weight: 600;
    color: var(--main-color);
    border-left: 5px solid;
    padding-left: 1em;
    line-height: 1.4;
}

.common_menu_table .box .title_text small {
    display: block;
}

.internalPage_comparison .common_menu_table table tr:first-child th {
    background: #C9EBFF;
    color: initial;
    border: none;
}

.internalPage_comparison .common_menu_table table tr:first-child th.other {
    width: 140px;
}

.internalPage_comparison .common_menu_table table td:first-child,
.internalPage_comparison .common_menu_table table th:first-child {
    border-right-color: var(--sub-color);
}

.internalPage_comparison .common_menu_table table tr:first-child th.our {
    background: var(--sub-color);
    color: #fff;
    min-width: 300px;
    position: relative;
    font-size: 1.3em;
    padding-top: .5em;
    padding-bottom: .5em;
}

.internalPage_comparison .common_menu_table table tr:first-child th.our:before {
    content: "";
    width: calc(100% + 4px);
    height: calc(100% + 10px);
    border: 2px solid var(--sub-color);
    position: absolute;
    left: -2px;
    top: -8px;
    z-index: 2;
    border-top: 10px solid var(--sub-color);
}

.internalPage_comparison .common_menu_table table tr th.name {
    width: 20%;
}

.internalPage_comparison .common_menu_table table td.price {
    border-right-color: var(--sub-color);
}

.internalPage_comparison .common_menu_table table tr:last-child td.price {
    position: relative;
}

.internalPage_comparison .common_menu_table table tr:last-child td.price:before {
    content: "";
    width: 100%;
    height: 3px;
    background: var(--sub-color);
    position: absolute;
    left: 0;
    bottom: -3px;
}

#page_beginners .topSection_reason .notice_box .solution_text .dot:before {
    content: "・・・・・・・";
}

#page_beginners .topSection_reason .notice_box {
    margin-top: 0;
    margin-bottom: 100px;
}

#page_beginners .topSection_menu {
    padding-bottom: 200px;
}

#page_beginners .topSection_reason {
    padding-bottom: 0;
}

#page_beginners .topSection_flow {
    padding-bottom: 100px;
}

/* 商品詳細ページ */
.page_product_single .single_content {
    padding-top: 100px;
}

.ec-headingTitle {
    font-weight: 800 !important;
}

.ec-price .ec-price__price {
    font-size: 35px !important;
    color: #de5d50;
}

.ec-price .ec-price__tax {
    font-size: 0.97em !important;
}

.form_bottom {
    margin-top: 10px;
}

.js_goukei_cost {
    display: flex;
    justify-content: center;
    align-items: baseline;
    padding: 2px 0;
    background-color: #ffa534;
    color: #fff;
    font-weight: 800;
    margin-bottom: 11px;
}

.js_goukei_cost .goukei {
    font-size: 14px;
    margin-right: 8px;
}

.js_goukei_cost .number {
    font-size: 28px;
}

.js_goukei_cost .number .small {
    font-size: 0.6em;
    margin-left: 5px;
}

select.form-control {
    width: 100% !important;
    background-color: #fff;
}

.ec-searchnavRole__infos select.form-control {
    width: unset !important;
}

.ec-productRole__description {
    padding: 18px 0 0;
    margin-top: 10px;
    border-top: 1px dashed #ccc;
    font-size: 15px;
    letter-spacing: 0.04em;
}

.ec-productRole__description2 {
    padding: 15px 10px;
    margin: 35px 0 0px;
    box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.08);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.03em;
    background-color: #fff;
}

.ec-productRole__actions {
    padding: 30px 20px;
    background-color: #f7f7f7;
    margin-bottom: 70px;
}

.option_description .btn-info {
    width: unset !important;
    padding: 4px 10px !important;
}

.ec-borderedDefs dd {
    margin-left: 30px;
}

.ec-borderedDefs dd {
    line-height: 2.1;
}

.page_reason_course {
    padding: 50px 0 380px;
}

.page_reason_course .list ul {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    position: relative;
    z-index: 1;
}

.page_reason_course .list ul li .img {
    height: 130px;
}

.page_reason_course .list ul li .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page_reason_course .list ul li .theme {
    text-align: center;
    font-size: 15px;
    padding: 16px 4px;
    font-weight: 600;
    line-height: 1.5;
}

.page_reason_course .attention_box {
    margin-top: 30px;
    background-color: #f8f8f8;
    padding: 30px 20px;
    text-align: center;
}

.page_reason_course .attention_box .text {
    font-size: 20px;
    font-weight: 600;
}

.page_reason_course .attention_box .text .accent {
    color: #ee1b1b;
    font-size: 30px;
    margin-right: 10px;
    font-weight: 800;
}

.page_reason_course .list ul li {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
    background-color: #fff;
}

.page_reason_course .list ul::after {
    content: "";
    position: absolute;
    left: calc(-1 * (50vw - 570px));
    right: calc(-1 * (50vw - 570px));
    height: 80px;
    background-color: #e2f5ff;
    z-index: -1;
    top: 70px;
}

.reason .topSection_reason .notice_box .image_list li {
    overflow: unset;
}

.reason .topSection_reason .notice_box .image_list li .theme {
    font-size: 14px;
    line-height: 1.3;
    color: #000;
    margin-top: 6px;
}

.reason .topSection_reason .notice_box .image_list li .image img {
    border-radius: 10px;
}

.reason .topSection_reason+.topSection_reason {
    padding: 0px 0;
}

.main_visual .main_text_box .sub_box .cont_box {
    display: flex;
    gap: 10px;
    margin-bottom: 40px;
}

.main_visual .main_text_box .sub_box .cont_box .cont {
    background-color: #65c6ff;
    color: #fff;
    padding: 3px 10px;
    font-weight: 600;
    letter-spacing: 0.04em;
    font-size: 18px;
    font-style: normal;
}

.page_futon_course {
    padding: 120px 0 0px;
}

.page_futon_course .box {
    padding: 50px 50px;
    background-color: #f2f9ff;
}

.page_futon_course .box .text {
    font-size: 20px;
    line-height: 1.5;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.04em;
}

.page_futon_course .box .text .accent {
    font-size: 40px;
    margin: 0 10px;
    color: #de5d50;
}

.nayami_sec {
    padding: 100px 0 0;
}

.nayami_sec ul {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    margin-top: 50px;
}

.nayami_sec ul li {
    padding: 30px 3px 21px;
    font-size: 15px;
    letter-spacing: 0.04em;
    line-height: 1.3;
    text-align: center;
    border: 2px solid #65C6FF;
    position: relative;
    font-weight: 600;
}

.nayami_sec ul li .ab_text {
    position: absolute;
    text-align: center;
    left: 50%;
    top: -18px;
    transform: translateX(-50%);
    font-size: 18px;
    background-color: #65C6FF;
    padding: 5px 10px;
    color: #fff;
    letter-spacing: 0.03em;
}

.internalPage_commitment .menu_area ul {
    margin-top: 30px;
}

.internalPage_commitment .menu_area ul li a {
    padding: 30px 20px 30px 38px;
    width: 300px;
    display: block;
    z-index: 1;
    background-color: #E4B03A;
    border: 2px solid #E4B03A;
    color: #fff;
    position: relative;
    transition: .3s;
}

.internalPage_commitment .menu_area ul li a:hover {
    opacity: 0.7;
}

.internalPage_commitment .menu_area ul li a::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 0 12px 10px;
    border-color: transparent transparent transparent #fff;
    top: 50%;
    translate: 0 -50%;
    right: 30px;
}

.internalPage_commitment .menu_area ul li a .theme {
    color: #fff;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1;
    font-size: 17px;
}

.none_num {
    display: none;
}

/* reason 追加 */
.internalPage_commitment .table_box .item_box {
    display: flex;
    align-items: center;
    gap: 0 30px;
    margin-bottom: 20px;
}

.internalPage_commitment .table_box .ttl_box {
    margin-bottom: 60px;
}

.internalPage_commitment .table_box .ttl_box .ttl {
    font-size: 28px;
    letter-spacing: .08em;
    font-weight: 700;
    text-align: center;
    color: var(--sub-color);
    text-decoration: underline;
    text-decoration-thickness: 10px;
    text-underline-offset: 8px;
    text-decoration-color: #EAF3FC;
}

.internalPage_commitment .table_box .item_box .item .ttl {
    color: var(--main-color);
    font-size: 28px;
    letter-spacing: .08em;
    font-weight: 700;
    text-align: center;
    margin-bottom: 0.5em;
}

.internalPage_commitment .table_box .item_box .item .graph img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.internalPage_commitment .table_box .item_box .item .table {
    margin-bottom: 0;
}

.internalPage_commitment .table_box .item_box .item .table table {
    width: 100%;
}

.internalPage_commitment .table_box .item_box .item .table table tr th {
    background-color: var(--main-color);
    color: #FFF;
    font-size: 16px;
    letter-spacing: .04em;
}

.internalPage_commitment .table_box .item_box .item .table table tr td {
    background-color: #FFF;
    font-size: 25px;
    line-height: 1.3;
    text-align: center;
    letter-spacing: .04em;
}

.internalPage_commitment .table_box .item_box .item .table table tr td,
.internalPage_commitment .table_box .item_box .item .table table tr th {
    padding: 0.5em 0.8em;
    border: solid 1px #CCC;
    text-align: center;
    vertical-align: middle;
    line-height: 1.6;
}

.internalPage_commitment .table_box .item_box .item .table table tr td .color {
    color: var(--sub-color);
    display: inline-block;
}


.internalPage_commitment .table_box .treat_box {
    width: fit-content;
    margin: 0 auto 80px;
    background-color: #EAF3FC;
    padding: 1em 3em;
}

.internalPage_commitment .table_box .treat_box .text {
    font-size: 14px;
    letter-spacing: .04em;
}

.internalPage_commitment .table_box .treat_box .text+.text {
    margin-top: 0.1em;
}

/* 布団クリーニング */
.new_nayami_sec {
    padding: 100px 0 0;
}

.new_nayami_sec ul {
    border: solid 20px var(--sub-color);
    border-radius: 20px;
    padding: 15px 30px;
    width: fit-content;
    margin: 0 auto;
    position: relative;
}

.new_nayami_sec ul li {
    font-size: 20px;
    letter-spacing: .04em;
    line-height: 1.4;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.5em;
}

.new_nayami_sec ul li+li {
    margin-top: 0.5em;
}

.new_nayami_sec ul li .strong {
    display: inline-block;
    color: var(--main-color);
    font-weight: 700;
}

.new_nayami_sec ul li::before {
    content: "";
    width: 30px;
    aspect-ratio: 1/1;
    background: url(/html/user_data/assets/img/icon_check_blue.svg) no-repeat;
    background-size: contain;
    background-position: center;
    min-width: 0;
    flex-shrink: 0;
}

.new_nayami_sec ul::before {
    content: "";
    width: 100px;
    aspect-ratio: 500/407;
    min-width: 0;
    background: url(/html/user_data/assets/img/icon_clip.png) no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    top: -69px;
    left: 50%;
    translate: -50% 0;
}

.new_nayami_sec .common_titleBox {
    margin-bottom: 70px;
}

.page_futon_cleaning .topSection_reason.internal_page .table_box .table table {
    width: 100%;
}

.page_futon_cleaning .topSection_reason.internal_page .table_box .table tr th,
.page_futon_cleaning .topSection_reason.internal_page .table_box .table tr td {
    padding: 0.5em 1em;
    border: solid 1px #CCC;
    text-align: center;
    vertical-align: middle;
    line-height: 1.6;
}

.page_futon_cleaning .topSection_reason.internal_page .table_box .table tr th {
    background-color: var(--main-color);
    color: #FFF;
    font-size: 16px;
    letter-spacing: .04em;
}

.page_futon_cleaning .topSection_reason.internal_page .table_box .table tr td {
    background-color: #FFF;
    font-size: 16px;
    text-align: center;
    letter-spacing: .04em;
}

.page_futon_cleaning .topSection_reason.internal_page .table_box .table tr td:first-child {
    color: var(--main-color);
    font-weight: 700;
}

.page_futon_cleaning .topSection_reason.internal_page .table_box .table .note {
    font-size: 14px;
    letter-spacing: .04em;
    text-align: right;
    margin-top: 0.1em;
}

.page_futon_cleaning .topSection_reason.internal_page .table_box .table+.table {
    margin-top: 30px;
}

.page_futon_cleaning .topSection_reason.internal_page .table_box {
    margin-top: 80px;
}

.page_futon_cleaning .topSection_reason.internal_page .table_box .table {
    margin-bottom: 0;
}

.topSection_reason.internal_page .reason_list {
    display: flex;
    align-items: center;
    gap: 0 30px;
}

.topSection_reason.internal_page .reason_list .image {
    width: 340px;
    flex-shrink: 0;
}

.topSection_reason.internal_page .reason_list .textBox .title {
    font-size: 30px;
    display: inline-block;
    padding: 0 .2em;
    margin-bottom: 0.6em;
    font-weight: 700;
    line-height: 1.3;
    color: var(--main-color);
}

.topSection_reason.internal_page .reason_list .textBox {
    width: 100%;
}

.topSection_reason.internal_page .reason_list .textBox .inner .item_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 30px;
    margin-bottom: 15px;
}

.topSection_reason.internal_page .reason_list .textBox .inner .item_list .item {
    display: grid;
    place-content: center;
    background-color: var(--sub-color);
    border-radius: 100vmax;
    text-align: center;
    padding: 0.5em 1em;
}

.topSection_reason.internal_page .reason_list .textBox .inner .item_list .item .text {
    font-size: 15px;
    letter-spacing: .04em;
    font-weight: 700;
    color: #FFF;
    line-height: 1.4;
}

.topSection_reason.internal_page .reason_list .textBox .text {
    font-size: 16px;
    letter-spacing: .04em;
}

.topSection_reason.internal_page .reason_list+.reason_list {
    margin-top: 30px;
}

.common_sub_comment {
    width: fit-content;
    margin: 10px auto 100px;
    background-color: var(--sub-color);
    color: #fff;
    padding: 20px 50px;
    font-size: 25px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.04em;
    position: relative;
}

.common_sub_comment::after {
    content: "";
    position: absolute;
    clip-path: polygon(100% 0, 0 0, 50% 100%);
    background-color: var(--sub-color);
    bottom: -20px;
    width: 40px;
    left: 50%;
    translate: -50% 0;
    height: 25px;
}

.topSection_campaign .list_gallery {
    position: relative;
}

.topSection_campaign .list_gallery .list+.list {
    margin: 0 10px;
}

.topSection_campaign .list_gallery .list {
    height: 280px;
}

.topSection_campaign .list_gallery .list img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.topSection_campaign .list_gallery .icon {
    width: 60px;
    position: absolute;
    top: 100px;
    cursor: pointer;
    z-index: 1;
    background-color: #65C6FF;
    border-radius: 50%;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: .3s;
}

.topSection_campaign .list_gallery .icon:hover {
    opacity: 0.7;
}

.topSection_campaign .list_gallery .icon.left {
    left: -33px;
}

.topSection_campaign .list_gallery .icon.right {
    right: -33px;
    transform: rotate(180deg);
}

.topSection_campaign .list_gallery .icon svg {
    display: block;
    width: 28%;
    translate: -3px 0px;
}

.fixed_sp {
    display: none;
}

.page_guide_table {
    margin: 10px 0;
    overflow-x: scroll;
}

.page_guide_table table {
    width: 100%;
    border-collapse: collapse;
}

.page_guide_table table th,
.page_guide_table table td {
    border: 1px solid #ccc;
    padding: 8px;
    white-space: nowrap;
    text-align: center;
    vertical-align: middle;
    line-height: 1.6;
    font-size: 12px;
}

.page_agreement .guide_img {
    width: 65%;
    display: block;
    margin: 10px 0;
}

.page_agreement {
    line-height: 1.7;
}

.ec-layoutRole__mainBottom {
    padding-top: 60px;
}

.ec-newsRole .ec-newsRole__newsDate {
    font-size: 16px;
}

.ec-newsRole .ec-newsRole__newsTitle {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    transform: translateY(-5px);
}

.ec-newsRole .ec-newsRole__news {
    border: 16px solid #f1f9ff;
}

.page_carpet_cleaning_carpet_type_sec {
    padding: 120px 0 350px;
}

.page_carpet_cleaning_carpet_type_sec .grid_area {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

.page_carpet_cleaning_carpet_type_sec .grid_area .grid_item {
    display: grid;
    grid-template-columns: 40% 1fr;
    gap: 20px;
}

.page_carpet_cleaning_carpet_type_sec .grid_area .grid_item .item_img {
    height: 224px;
}

.page_carpet_cleaning_carpet_type_sec .grid_area .grid_item .item_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page_carpet_cleaning_carpet_type_sec .grid_area .grid_item .item_text_area {
    display: flex;
    flex-direction: column;
}

.page_carpet_cleaning_carpet_type_sec .grid_area .grid_item .item_text_area .item_ttl {
    font-size: 18px;
    letter-spacing: .02em;
    font-weight: 700;
    margin-bottom: 0.7em;
    line-height: 1.5;
    color: #1956a2;
    padding-left: 0.5em;
    border-left: 3px solid currentColor;
}

.page_carpet_cleaning_carpet_type_sec .grid_area .grid_item .item_text_area .item_text {
    font-size: 15px;
    line-height: 1.45;
    letter-spacing: .02em;
    display: flex;
    gap: 0.3em;
}

.page_carpet_cleaning_carpet_type_sec .grid_area .grid_item .item_text_area .item_text+.item_text {
    margin-top: 0.5em;
}

@media (max-width: 750px) {
    .wrap {
        max-width: 90%;
    }

    body {
        font-size: 3vw;
        margin-top: calc(8vw + 50px);
    }

    /* ヘッダー */

    #main_header {
        padding: 4vw 0;
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
    }

    #main_header .cont {
        justify-content: flex-end;
    }

    #main_header .buttonBox .iconBox a {
        border-color: var(--sub-color);
        gap: 10px;
        padding: 6px 10px;
        font-size: 12px;
    }

    /* 共通パーツ */

    .common_titleBox {
        margin-bottom: 5vw;
    }

    .common_titleBox .title {
        font-size: 7vw;
        line-height: 1.2;
    }

    .common_titleBox .en {
        font-size: 4vw;
    }

    .commonBUtton {
        margin-top: 10vw;
    }

    .commonBUtton a {
        width: 80%;
        line-height: 14vw;
        padding-left: 10vw;
    }

    /* メインビジュアル */


    /* バナーセクション */

    .topSection_campaign {
        padding-top: 20vw;
    }

    .topSection_campaign:before {
        bottom: 30vw;
        height: 150vw;
    }

    .topSection_campaign ul li {
        width: 90vw;
    }

    .topSection_campaign ul li+li {
        margin-top: 4vw;
    }

    .topSection_campaign ul li:hover {
        opacity: .7;
    }

    .topSection_campaign .title {
        font-size: 23vw;
        line-height: .6;
    }

    /* 選ばれる理由 */

    .topSection_reason {
        padding: 15vw 0 10vw 0;
        background: none;
    }

    .common_logoBox {
        margin-bottom: 5vw;
    }

    .common_logoBox .title {
        font-size: 9vw;
    }

    .common_logoBox .title .small {
        font-size: 6vw;
    }

    .common_logoBox .title .small.accent {
        width: 10vw;
        line-height: 10vw;
    }

    .topSection_reason ul {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 20px;
    }

    .topSection_reason ul li.difference_list {
        padding: 7vw 5vw 4vw 5vw;
    }

    .topSection_reason ul li.difference_list .catch {
        top: -3vw;
    }

    .topSection_reason ul li.difference_list .catch span {
        width: 7vw;
        height: 7vw;
        line-height: 7vw;
        font-size: 4vw;
    }

    .topSection_reason ul li.icon_list .icon {
        width: 22vw;
        height: 22vw;
        position: relative;
    }

    .topSection_reason ul li.icon_list .icon img {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        width: auto;
        height: auto;
        max-width: 60%;
        max-height: 60%;
    }

    .topSection_reason ul li.icon_list .textBox {
        padding-left: 4vw;
    }

    .topSection_reason ul li.icon_list .textBox .title {
        font-size: 4vw;
    }

    /* 比較表 */

    .topSection_price {
        padding: 20vw 0;
        background: url(../img/price_back_sp.png) no-repeat;
        background-size: cover;
        background-position: center top;
    }

    .scroll-hint-icon-wrap {
        z-index: 2;
    }

    .topSection_price table th.accent:before {
        height: 310px;
    }

    .topSection_price .table_cont {
        margin-bottom: 10vw;
        overflow: scroll;
        padding-top: 5px;
        height: 320px;
    }

    .topSection_price table {
        width: 1040px;
    }

    .topSection_price.reason table {
        width: 1200px;
    }

    .topSection_price .now_cont .catch {
        font-size: 4vw;
        margin-bottom: 4vw;
    }

    .topSection_price .now_cont .catch .accent {
        font-size: 6vw;
    }

    .topSection_price .now_cont .catch .accent:before {
        font-size: 4vw;
    }

    .topSection_price .now_cont .box_wrap {
        gap: 1vw 4vw;
        margin-bottom: 10vw;
    }

    .topSection_price .now_cont .box_wrap dl {
        width: auto;
        min-width: 30vw;
    }

    .topSection_price .now_cont .box_wrap dl dt {
        font-size: 3.4vw;
        padding: .2em .5em;
    }

    .topSection_price .now_cont .box_wrap dl dd {
        padding: 0 4vw;
        font-size: 6vw;
    }

    .topSection_price .now_cont .box_wrap dl dd small {
        font-size: 3vw;
    }

    .topSection_price .now_cont .box_wrap .text {
        font-size: 5vw;
    }

    .topSection_price .now_cont .box_wrap .border {
        display: none;
    }

    .topSection_price .now_cont .box_wrap .plus {
        font-size: 5vw;
    }

    .topSection_price .now_cont .box_wrap .border {
        width: 100%;
        height: 1px;
        display: block;
    }

    .topSection_price .now_cont .box_wrap .text,
    .topSection_price .now_cont .box_wrap .plus {
        margin-bottom: 4vw;
    }

    .topSection_price .now_cont .price_sales {
        gap: 4vw;
    }

    .topSection_price .now_cont .price_sales .course {
        gap: 4vw;
        align-items: flex-end;
    }

    .topSection_price .now_cont .price_sales .course .title {
        font-size: 4vw;
    }

    .topSection_price .now_cont .course .price {
        font-size: 9vw;
        line-height: 1;
    }

    .topSection_price .now_cont .course small {
        font-size: 4vw;
    }

    .topSection_price .now_cont .course .price .en {
        margin-right: .1em;
    }

    .topSection_price .now_cont .per_price .title {
        width: 22vw;
        height: 22vw;
        font-size: 4.2vw;
    }

    .topSection_price .now_cont .per_price .price .en {
        font-size: 20vw;
    }

    .topSection_price .now_cont .per_price .price small {
        font-size: 6vw;
    }

    .topSection_price table td .info .title {
        font-size: 16px;
    }

    .topSection_price table td .info {
        padding: 0 20px;
    }

    .topSection_price table th.accent {
        font-size: 24px;
    }

    .topSection_price table td .info dl dt {
        font-size: 13px;
    }

    .topSection_price table td .info dl dd.accent .big {
        font-size: 32px;
    }

    .topSection_price table th {
        font-size: 18px;
    }

    /* 5STEP */

    .topSection_step {
        padding: 20vw 0;
        background: url(../img/flow_back_sp.png) no-repeat;
        background-size: cover;
        background-position: center top;
        margin-top: -10vw;
    }

    .topSection_step .titleBox {
        margin-bottom: 10vw;
    }

    .topSection_step .titleBox h2 .logo {
        font-size: 8vw;
        margin-right: 0;
        margin-bottom: 4vw;
        width: 100%;
        text-align: center;
    }

    .topSection_step .titleBox h2 .logo .top_text {
        justify-content: center;
    }

    .topSection_step .titleBox h2 .logo .small {
        font-size: 5vw;
    }

    .topSection_step .titleBox h2 .logo .small.accent {
        width: 10vw;
        line-height: 10vw;
        font-size: 6vw;
    }

    .topSection_step .titleBox h2 .easy {
        width: 27vw;
        line-height: 27vw;
        font-size: 7vw;
    }

    .topSection_step ul li {
        padding: 6vw;
        width: 100%;
        margin-left: 10px;
        display: flex;
        align-items: center;
    }

    .topSection_step ul li+li {
        margin-top: 30px;
    }

    .topSection_step ul li .num {
        width: 15vw;
        height: 15vw;
        font-size: 4.5vw;
        padding-top: 3.5vw;
    }

    .topSection_step ul li .num small {
        font-size: 3vw;
    }

    .topSection_step ul li .icon {
        width: 25vw;
        height: 25vw;
        margin-bottom: 0;
    }

    .topSection_step ul li .textArea {
        width: calc(100% - 25vw);
        padding-left: 5vw;
    }

    .topSection_step ul li .title {
        font-size: 5vw;
        text-align: left;
    }

    .topSection_step ul li:before {
        right: calc(50% - 10px);
        bottom: -20px;
        top: auto;
        transform: rotate(90deg);
    }

    /* クリーニングの工程 */

    .topSection_flow {
        padding: 20vw 0;
    }

    .topSection_flow.service {
        padding: 20vw 0;
    }

    .topSection_flow .enText {
        font-size: 31vw;
        left: -5vw;
    }

    .topSection_flow .titleBox {
        font-size: 6vw;
        margin-bottom: 5vw;
    }

    .topSection_flow .titleBox .logo .small.accent {
        width: 10vw;
        line-height: 10vw;
    }

    .topSection_flow .main_cont {
        margin-left: 5vw;
    }

    .topSection_flow ul li {
        width: 80%;
    }

    /* メニュー */

    .topSection_menu {
        padding: 20vw 0;
    }

    .topSection_menu:before {
        height: calc(100% + 50vw);
    }

    .topSection_menu .common_logoBox {
        margin-bottom: 15vw;
    }

    .topSection_menu .common_logoBox .title {
        font-size: 8vw;
    }

    .topSection_menu .box {
        width: 100%;
        padding: 6vw;
        padding-top: 10vw;
    }

    .topSection_menu .box+.box {
        margin-top: 12vw;
    }

    .topSection_menu .box .icon {
        width: 16vw;
        height: 16vw;
        left: calc(50% - 8vw);
        top: -8vw;
    }

    .topSection_menu .box .icon img {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        width: auto;
        height: auto;
        max-width: 60%;
        max-height: 55%;
    }

    .topSection_menu .box .title {
        font-size: 4.5vw;
    }

    .topSection_menu .box ul li+li {
        margin-top: 4vw;
    }

    /* お客様の声（PC） */

    .topSection_reviews {
        padding: 20vw 0;
        background: url(../img/reviews_back_sp.png) no-repeat;
        background-size: cover;
        background-position: center bottom;
    }

    .topSection_reviews .hukidashi {
        position: relative;
        left: auto !important;
        top: auto !important;
        right: auto !important;
        font-size: 3.4vw;
        padding: 4vw;
        width: fit-content;
    }

    .topSection_reviews .hukidashi+.hukidashi {
        margin-top: 20px;
    }

    .topSection_reviews .hukidashi:nth-child(2),
    .topSection_reviews .hukidashi:nth-child(3),
    .topSection_reviews .hukidashi:nth-child(5) {
        margin-left: auto;
    }

    .topSection_reviews .hukidashi:nth-child(2) {
        margin-bottom: 80vw;
    }

    .topSection_reviews .hukidashi:before {
        content: "";
        position: absolute;
        bottom: -15px;
        right: 25px;
        border-top: 15px solid #EFEFEF;
        border-left: 15px solid transparent;
        box-shadow: inset 0px 0px 2px #000;
    }

    .topSection_reviews .hukidashi:after {
        content: "";
        position: absolute;
        bottom: -11px;
        right: 26.6px;
        border-top: 15px solid #fff;
        border-left: 15px solid transparent;
        box-shadow: inset 0px 0px 2px #000;
    }

    .topSection_reviews .hukidashi:nth-child(3):before,
    .topSection_reviews .hukidashi:nth-child(5):before {
        left: auto;
        right: 25px;
        bottom: auto;
        top: -15px;
    }

    .topSection_reviews .hukidashi:nth-child(3):after,
    .topSection_reviews .hukidashi:nth-child(5):after {
        left: auto;
        right: 26.2px;
        bottom: auto;
        top: -11.5px;
    }

    .topSection_reviews .hukidashi:nth-child(3):before,
    .topSection_reviews .hukidashi:nth-child(3):after,
    .topSection_reviews .hukidashi:nth-child(5):before,
    .topSection_reviews .hukidashi:nth-child(5):after {
        transform: scale(1, -1);
    }


    .topSection_reviews .hukidashi:nth-child(4):before {
        bottom: auto;
        top: -15px;
    }

    .topSection_reviews .hukidashi:nth-child(4):after {
        bottom: auto;
        top: -11.5px;
    }

    .topSection_reviews .hukidashi:nth-child(4):before,
    .topSection_reviews .hukidashi:nth-child(4):after {
        transform: scale(-1, -1);
    }

    .topSection_reviews .hukidashi:nth-child(1):before {
        left: 25px;
        right: auto;
    }

    .topSection_reviews .hukidashi:nth-child(1):after {
        left: 26.5px;
        right: auto;
    }

    .topSection_reviews .hukidashi:nth-child(1):before,
    .topSection_reviews .hukidashi:nth-child(1):after {
        transform: scale(-1, 1);
    }

    .topSection_reviews .hukidashiBox {
        background: url(../img/illust_reviews_sp.svg) no-repeat;
        background-position: center 47vw;
        background-size: 90vw;
    }

    /* よくある質問（PC） */

    .topSection_faq {
        padding: 20vw 0 10vw 0;
        position: relative;
        z-index: 2;
    }

    .topSection_faq dl dt {
        padding: 4vw;
        padding-left: 13vw;
        font-size: 3.6vw;
    }

    .topSection_faq dl dt::after {
        right: 3vw;
        width: 2vw;
        height: 2vw;
    }

    .topSection_faq dl dt:before,
    .topSection_faq dl dd:before {
        width: 8vw;
        line-height: 8vw;
        font-size: 5vw;
    }

    .topSection_faq dl dt:before {
        left: 2vw;
        top: calc(50% - 4vw);
    }

    .topSection_faq dl dd {
        padding: 4vw;
        padding-left: 13vw;
        font-size: 3.4vw;
    }

    .topSection_faq dl dd:before {
        left: 2vw;
        top: 4vw;
    }

    /* フッター */

    #main_footer {
        padding: 10vw 0 10vw 0;
        margin-bottom: 20vw;
    }

    #main_footer:before {
        height: calc(100% + 30vw);
    }

    #main_footer .cont {
        padding-bottom: 10vw;
        margin-bottom: 5vw;
        display: block;
    }

    #main_footer .infoBox .logo {
        width: 30vw;
        margin: 0 auto;
    }

    #main_footer .infoBox .textArea {
        width: 100%;
    }

    #main_footer .companyInfo {
        text-align: center;
    }

    #main_footer .companyInfo dl dt {
        font-size: 3.5vw;
    }

    #main_footer .infoBox .button a {
        margin: 0 auto;
        font-size: 4vw;
    }


    #main_footer nav.linkMenu {
        display: none;
    }

    #main_footer .copyBox {
        display: block;
    }

    #main_footer .copyBox ul {
        justify-content: center;
        margin-bottom: 20px;
    }

    #main_footer .copyBox .copyright {
        text-align: center;
    }

    /* フッター追従 */

    .fixed_contact {
        padding: 3vw 0;
    }

    .fixed_contact .off {
        /* display: none; */
    }

    .fixed_contact .information {
        display: none;
    }

    .fixed_contact .cont {
        gap: 2vw;
        align-items: center;
    }

    .fixed_contact .buttonBox {
        gap: 2vw;
    }

    .fixed_contact .buttonBox .button a {
        width: 36vw;
        line-height: 14vw;
        font-size: 3.5vw;
    }

    .fixed_contact .buttonBox .button a::after {
        display: none;
    }

    .fixed_contact .buttonBox .button.mail a {
        padding-left: 11vw;
        background-position: 4vw;
        background-size: 5.4vw;
    }

    .fixed_contact .buttonBox .button.line a {
        padding-left: 12vw;
        background-position: 4vw;
        background-size: 7vw;
    }

    .fixed_contact .hukidashi {
        width: 16vw;
        height: 16vw;
        font-size: 2.2vw;
        padding-top: 4vw;
        right: -3vw;
        top: -14vw;
    }

    .fixed_contact .hukidashi:before {
        left: 2vw;
        bottom: -1px;
    }

    .fixed_contact .hukidashi .price {
        font-size: 3.5vw;
    }

    .fixed_contact .hukidashi .price .yen,
    .fixed_contact .hukidashi .price .en small {
        font-size: 2.2vw;
    }

    .fixed_contact .telBox a {
        display: block;
        width: 14vw;
        height: 14vw;
        border: 2px solid #fff;
        border-radius: 5px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .fixed_contact .cont .off {
        width: 51vw;
        flex-shrink: 0;
    }

    /* ハンバーガーボタン */

    .hamburger {
        position: fixed;
        top: 4vw;
        left: 5vw;
        z-index: 10000;
        line-height: 30px;
        width: 50px;
        height: 50px;
        background-color: var(--sub-color);
        border-radius: 5px;
    }

    .hamburger span {
        display: block;
        position: absolute;
        width: 20px;
        height: 2px;
        left: 15px;
        background: #fff;
        -webkit-transition: 0.5s ease-in-out;
        -moz-transition: 0.5s ease-in-out;
        transition: 0.5s ease-in-out;
    }

    .hamburger span:nth-child(1) {
        top: 18px;
    }

    .hamburger span:nth-child(2) {
        top: 25px;
    }

    .hamburger span:nth-child(3) {
        top: 32px;
    }

    /* ナビ開いてる時のボタン */
    .hamburger.active span:nth-child(1) {
        top: 26px;
        left: 15px;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
    }

    .hamburger.active span:nth-child(2),
    .hamburger.active span:nth-child(3) {
        top: 26px;
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
    }

    .hamburger p.ttl {
        font-size: 12px;
        font-weight: bold;
        text-align: center;
    }

    .globalMenuSp_main_menu_box {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #eee;
        z-index: 500;
        display: none;
    }

    .globalMenuSp_main_menu_box .inner {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 20px;
        height: 100%;
    }

    .globalMenuSp_main_menu_box ul {
        width: 100%;
    }

    .globalMenuSp_main_menu_box ul li a {
        display: block;
        color: #000;
        font-weight: bold;
        text-align: center;
    }

    .globalMenuSp_main_menu_box ul li+li {
        margin-top: 30px;
    }

    /* サブメニュー */

    .sp_sub_menu .inner {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        height: 100%;
    }

    .js-sp_sub_menu {
        position: fixed;
        z-index: 600;
        height: 100%;
        width: 100%;
        background-color: #ddd;
        display: none;
        top: 0;
    }

    .sp_sub_menu .inner p.ttl {
        font-weight: bold;
        font-size: 20px;
    }

    .sp_sub_menu .inner ul {
        margin-top: 50px;
    }

    .sp_sub_menu .inner ul li a {
        color: #000;
        font-weight: bold;
    }

    .sp_sub_menu .inner ul li+li {
        margin-top: 30px;
    }

    /* 戻るボタン */

    .sp_sub_menu .inner p.back_btn {
        width: 150px;
        text-align: center;
        font-weight: bold;
        margin: 50px auto 0;
        border: 2px solid #000;
        border-radius: 100px;
        padding: 3px 0;
    }

    .main_visual .slick-slide {
        padding: 0 5px;
    }

    .topSection_price .now_cont .per_price .price img {
        width: 60vw;
    }

    #zeus_payment_input .ec-halfInput input[type='text'] {
        width: 40% !important;
    }


    .main_visual .main_text_box {
        padding: 15vw 0 3vw;
    }

    .main_visual .main_text_box .title_box .sub {
        font-size: 4.9vw;
    }

    .main_visual .main_text_box .title_box .title {
        font-size: 8.5vw;
        margin-top: 5vw;
        line-height: 1.2;
    }

    .main_visual .main_text_box .sub_box {
        margin: 20vw 0 0;
        width: 100%;
    }

    .main_visual .main_text_box .sub_box .theme {
        font-size: 6vw;
        margin-bottom: 3vw;
        margin-left: 5vw;
    }

    .main_visual .main_text_box .sub_box .theme_sub {
        font-size: 5vw;
        margin-top: -8vw;
        line-height: 0.6;
        margin-left: 25vw;
    }

    .main_visual .main_text_box .sub_box .theme_sub .color {
        font-size: 8vw;
        margin-left: 3vw;
    }

    .main_visual .main_text_box .sub_box .theme_sub .color .num {
        font-size: 20vw;
        margin: 0 0.6vw;
    }

    .main_visual .main_text_box .sub_box ul {
        gap: 1vw;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }

    .main_visual .main_text_box .sub_box ul li {
        font-size: 3.8vw;
        margin-top: 0;
        width: unset;
    }

    .main_visual .main_text_box .sub_box ul li .color {
        font-size: 5vw;
    }

    .main_visual .main_text_box .title_box .sub span {
        padding: 1.5vw;
        color: #fff;
    }

    .main_visual .main_text_box .title_box .sub span:nth-child(even) {
        background-color: #65c6ff;
    }

    .main_visual .main_text_box .title_box .sub span:nth-child(odd) {
        background-color: #1956a2;
    }

    .main_visual {
        background-position: center;
    }

    .page_futon_cleaning .main_visual .main_text_box .sub_box::before {
        top: -15vw;
    }

    .common_mainvisual {
        margin-bottom: 5vw;
    }

    .common_mainvisual .cont {
        width: 100%;
        background: url(/html/user_data/assets/img/common_mainvisual_sp.jpg) no-repeat;
        background-size: cover;
        background-position: center;
        padding: 30vw 0 10vw 0;
    }

    .common_mainvisual .cont .title_box {
        margin-bottom: 6vw;
    }

    .common_mainvisual .cont .title_box .en {
        font-size: 4vw;
    }

    .common_mainvisual .cont .title_box .title {
        font-size: 10vw;
    }

    #page_beginners .common_mainvisual .cont .title_box .title {
        font-size: 8vw;
    }

    .common_mainvisual .cont .text {
        margin-bottom: 6vw;
        font-size: 4vw;
    }

    .common_mainvisual .cont .price {
        font-size: 4vw;
    }

    .common_mainvisual .cont .price .accent {
        font-size: 9vw;
    }

    .internalPage_link {
        padding-top: 10vw;
        margin-bottom: 10vw;
    }

    .internalPage_link ul {
        gap: 0;
        display: block;
    }

    .internalPage_link .commonBUtton a {
        font-size: 3.4vw;
        width: 80%;
        line-height: 14vw;
        padding-left: 10vw;
    }

    .topSection_reason ul li.icon_list {
        padding: 4vw 6vw;
    }

    .topSection_reason.internal_page ul li.icon_list .icon {
        width: 30vw;
        height: 30vw;
        padding: 4vw;
    }

    .topSection_reason.internal_page ul li.icon_list .textBox {
        width: calc(100% - 30vw);
    }

    .topSection_reason .notice_box {
        padding: 4vw;
        margin-top: 20vw;
    }

    .topSection_reason .notice_box .top_text {
        margin-top: -10vw;
        margin-bottom: 5vw;
    }

    .topSection_reason .notice_box .top_text .text {
        font-size: 4vw;
        line-height: 12vw;
    }

    .topSection_reason .notice_box .catch_text .text {
        font-size: 4.6vw;
        line-height: 1.4;
        margin-bottom: 4vw;
    }

    .topSection_reason .notice_box .catch_text .text:before {
        left: -4vw;
        bottom: 4vw;
        height: 10vw;
    }

    .reason .topSection_reason .notice_box .catch_text .text:before,
    .reason .topSection_reason .notice_box .catch_text .text:after {
        display: none;
    }

    .topSection_reason .notice_box .catch_text .text:after {
        right: -4vw;
        bottom: 4vw;
        height: 10vw;
    }

    .topSection_reason .notice_box .information_text {
        margin-bottom: 5vw;
    }

    .topSection_reason .notice_box .information_text.big {
        font-size: 3.5vw;
    }

    .topSection_reason .notice_box .image_list {
        display: flex;
        justify-content: center;
    }

    .topSection_reason .notice_box .image_list.big {
        gap: 2vw;
    }

    .topSection_reason .notice_box .image_list.small {
        gap: 2vw;
        margin-top: 2vw;
        margin-bottom: 10vw;
    }

    .topSection_reason .notice_box .image_list.big li {
        width: 48%;
    }

    .topSection_reason .notice_box .image_list.small li {
        width: 48%;
    }

    .topSection_reason .notice_box .image_list li .text {
        font-size: 3vw;
    }

    .topSection_reason .notice_box .reason_catch {
        margin-top: 10vw;
        font-size: 5vw;
        margin-bottom: 4vw;
    }

    .topSection_reason .notice_box .reason_text {
        margin-bottom: 10vw;
    }

    .topSection_reason .notice_box .solution_text {
        font-size: 4vw;
    }

    .topSection_reason .notice_box .solution_text .accent {
        font-size: 6vw;
    }

    .topSection_reason .notice_box .solution_text small {
        font-size: 3.6vw;
    }

    .topSection_reason .notice_box .solution_text .dot {
        margin-top: 4vw;
        display: inline-block;
    }

    .internalPage_commitment {
        padding-top: 40vw;
        margin-top: -30vw;
        padding-bottom: 30vw;
    }

    .internalPage_commitment .comit_list {
        grid-template-columns: repeat(1, 1fr);
        gap: 8vw;
        margin-bottom: 10vw;
    }

    .internalPage_commitment .comit_list .catch_area {
        margin-bottom: 3vw;
    }

    .internalPage_commitment .comit_list .catch_area .num {
        width: 7vw;
        line-height: 7vw;
        font-size: 4vw;
    }

    .internalPage_commitment .comit_list .catch_area .catch {
        width: calc(100% - 10vw);
        font-size: 3.6vw;
    }

    .internalPage_commitment .menu_area .title {
        font-size: 4vw;
        padding-top: 12vw;
        background-size: 10vw;
    }

    .internalPage_commitment .menu_area ul {
        gap: 0 4vw;
    }

    .internalPage_commitment .menu_area ul li {
        width: 100%;
    }

    .internalPage_products {
        padding: 20vw 0;
    }

    .internalPage_products:before {
        height: 250vw;
    }

    .internalPage_products .cont .box .title {
        font-size: 4vw;
        line-height: 12vw;
    }

    .internalPage_products .cont .box+.box {
        margin-top: 10vw;
    }

    .internalPage_products .cont .box ul {
        gap: 4vw;
    }

    .internalPage_products .cont .box ul li {
        width: 20vw;
    }

    .internalPage_products .cont .box ul li .icon {
        height: 20vw;
        margin-bottom: 2vw;
    }

    .internalPage_products .cont .box ul li .icon img {
        width: auto;
        height: auto;
        max-width: 55%;
        max-height: 45%;
    }

    .internalPage_products .cont .box ul li .text {
        font-size: 2.4vw;
    }

    .internalPage_products .cont .box .information {
        font-size: 3.5vw;
    }

    .internalPage_products .attention_box {
        margin-top: 15vw;
    }

    .internalPage_products .attention_box .title {
        line-height: 15vw;
        font-size: 5vw;
    }

    .internalPage_products .attention_box dl {
        padding: 4vw 6vw;
    }

    .internalPage_products .attention_box dl dt {
        font-size: 3.4vw;
        margin-bottom: 4vw;
        padding-bottom: 2vw;
    }

    .internalPage_products .attention_box dl dd:before {
        top: 2.5vw;
    }

    .internalPage_products .attention_box dl dd {
        font-size: 2.7vw;
    }

    .internal_page_worries {
        padding: 20vw 0;
    }

    .internal_page_worries .catch {
        font-size: 5vw;
        margin-bottom: 0;
    }

    .internal_page_worries .catch .accent {
        font-size: 7vw;
    }

    .internal_page_worries .cont {
        padding-top: 60vw;
        padding-bottom: 70vw;
    }

    .internal_page_worries .image {
        width: 100%;
        padding: 0 20vw;
    }

    .internal_page_worries .text_area .text {
        padding: 3vw;
        font-size: 3.8vw;
        width: 100%;
        text-align: center;
    }

    .internal_page_worries .text_area .text::before,
    .internal_page_worries .text_area .text::after {
        display: none;
    }

    .internal_page_worries .text_area .text-1 {
        left: 0;
        top: 10vw;
    }

    .internal_page_worries .text_area .text-2 {
        left: 0;
        top: 25vw;
    }

    .internal_page_worries .text_area .text-3 {
        left: auto;
        right: 0;
        top: 40vw;
    }

    .internal_page_worries .text_area .text-4 {
        right: 0;
        top: auto;
        bottom: 45vw;
    }

    .internal_page_worries .text_area .text-5 {
        right: auto;
        top: auto;
        bottom: 30vw;
    }

    .internal_page_worries .text_area .text-6 {
        right: 0;
        top: auto;
        bottom: 15vw;
    }

    .internal_page_worries .text_area .text-7 {
        right: 0;
        top: auto;
        bottom: 0;
    }

    .internalPage_solution {
        padding-bottom: 20vw;
        margin-bottom: 40vw;
    }

    .internalPage_solution .catch_text {
        margin-bottom: 10vw;
    }

    .internalPage_solution .catch_text .text {
        font-size: 5vw;
        padding-left: 0;
        padding-top: 30vw;
        background-position: center top;
        background-size: 32vw;
    }

    .internalPage_solution .catch_text .text .accent {
        font-size: 6vw;
    }

    .internalPage_solution .catch {
        font-size: 4vw;
        line-height: 12vw;
    }

    .internalPage_solution ol {
        gap: 30px 0;
        justify-content: space-between;
    }

    .internalPage_solution ol li {
        width: 42vw;
    }

    .internalPage_solution ol li .icon {
        width: 100%;
        height: 40vw;
    }

    .internalPage_solution ol li .num {
        font-size: 7vw;
    }

    .internalPage_solution ol li .text {
        font-size: 3.5vw;
    }

    #page_rental_futon .internalPage_commitment {
        padding-top: 30vw;
        padding-bottom: 30vw;
    }

    .common_menu_table .table_wrap {
        overflow: scroll;
    }

    .common_menu_table table {
        width: 600px;
    }

    .common_menu_table table th.title {
        text-align: left;
    }

    .internalPage_comparison .common_menu_table table {
        width: 1000px;
    }

    .common_mainvisual .cont .button_area {
        margin: 0 auto;
    }

    #page_beginners .topSection_reason .notice_box {
        margin-bottom: 20vw;
    }

    #page_beginners .topSection_menu {
        padding-bottom: 40vw;
    }

    #page_beginners .topSection_reason {
        padding-bottom: 10vw;
    }

    #page_beginners .topSection_flow {
        padding-bottom: 20vw;
    }

    #carpet_cleaning .internalPage_commitment .comit_list {
        grid-template-columns: repeat(1, 1fr);
    }

    /* 商品詳細ページ */
    .page_product_single .single_content {
        padding-top: 50px;
    }

    .ec-productRole__actions {
        margin-top: 40px;
    }

    .ec-productRole__description2 {
        font-size: 13px;
    }

    .ec-headingTitle {
        font-size: 26px !important;
    }

    .ec-borderedDefs dd {
        margin-left: 0px;
    }

    #page_beginners .topSection_reason .notice_box.reason {
        margin-top: 18vw;
        margin-bottom: 0;
        padding-bottom: 12vw;
    }

    .topSection_reason .notice_box .image_list.big li {
        height: 28vw;
    }

    .topSection_reason .notice_box .image_list.big.biker li {
        height: 37vw;
    }

    .page_reason_course {
        padding: 0 0 40vw;
    }

    .page_reason_course .list ul {
        display: flex;
        gap: 2vw;
        overflow-x: scroll;
        padding: 1vw 0;
    }

    .page_reason_course .list ul li .img {
        height: 40vw;
    }

    .page_reason_course .list ul li .theme {
        font-size: 3.8vw;
        padding: 3vw 2vw;
    }

    .page_reason_course .attention_box {
        margin-top: 5vw;
        padding: 5vw 3vw;
    }

    .page_reason_course .attention_box .text {
        font-size: 4vw;
    }

    .page_reason_course .attention_box .text .accent {
        font-size: 4.5vw;
    }

    .page_reason_course .list ul li {
        width: 70vw;
        flex-shrink: 0;
    }

    .page_reason_course .list ul::after {
        left: 0;
        right: 0;
        height: 12vw;
        top: 5vw;
    }

    .reason .topSection_reason .notice_box .image_list li .theme {
        font-size: 3.2vw;
        margin-top: 1vw;
    }

    .reason#page_beginners .topSection_menu {
        padding-top: 12vw;
    }

    .main_visual .main_text_box .sub_box .cont_box {
        display: flex;
        gap: unset;
        margin-bottom: 2vw;
        justify-content: space-between;
    }

    #carpet_cleaning .main_visual .main_text_box .sub_box .cont_box {
        gap: 2vw;
        margin-bottom: 2vw;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .main_visual .main_text_box .sub_box .cont_box .cont {
        padding: 1.3vw;
        font-size: 3.4vw;
    }

    .main_visual .main_text_box .title_box .sub_img {
        width: 68%;
    }

    .main_visual .main_text_box .sub_box::before {
        width: 100%;
        top: -43vw;
    }

    .main_visual .postage_box {
        width: 100%;
        border-radius: 10px;
        border-width: 1px;
        background-color: #FFF;
        margin-top: 8vw;
    }

    .main_visual .postage_box .inbox .item {
        padding: 1vw;
    }

    .main_visual .postage_box .inbox .item .icon {
        width: 14vw;
        margin: 0 auto 2vw;
    }

    .main_visual .postage_box .theme_box {
        padding: 2vw;
    }

    .main_visual .postage_box .theme_box .text {
        font-size: 5vw;
    }

    .main_visual .postage_box .inbox .item .text_box .text {
        font-size: 2.9vw;
    }

    .main_visual .postage_box .inbox .item .area_box {
        padding: 1vw;
        border-width: 1px;
    }

    .main_visual .postage_box .inbox .item .area_box .text {
        font-size: 2.7vw;
    }

    .main_visual .postage_box .inbox .item .large_text {
        margin-block: 2vw 3vw;
    }

    .main_visual .postage_box .inbox .item .large_text .text {
        font-size: 2.4vw;
    }

    .main_visual .postage_box .inbox .item .large_text .text .circle {
        width: 8.2vw;
    }

    .main_visual .postage_box .theme_box .text::before {
        width: 10vw;
    }

    .main_visual .postage_box .inbox .item+.item {
        border-left: dashed 1px #1956A2;
    }


    .top_postage .postage_box {
        width: 100%;
        border-radius: 10px;
        border-width: 1px;
        background-color: #FFF;
        margin-top: 8vw;
    }

    .top_postage .postage_box .inbox .item {
        padding: 1vw;
    }

    .top_postage .postage_box .inbox .item .icon {
        width: 14vw;
        margin: 0 auto 2vw;
    }

    .top_postage .postage_box .theme_box {
        padding: 2vw;
    }

    .top_postage .postage_box .theme_box .text {
        font-size: 5vw;
    }

    .top_postage .postage_box .inbox .item .text_box .text {
        font-size: 2.9vw;
    }

    .top_postage .postage_box .inbox .item .area_box {
        padding: 1vw;
        border-width: 1px;
    }

    .top_postage .postage_box .inbox .item .area_box .text {
        font-size: 2.7vw;
    }

    .top_postage .postage_box .inbox .item .large_text {
        margin-block: 2vw 3vw;
    }

    .top_postage .postage_box .inbox .item .large_text .text {
        font-size: 2.4vw;
    }

    .top_postage .postage_box .inbox .item .large_text .text .circle {
        width: 8.2vw;
    }

    .top_postage .postage_box .theme_box .text::before {
        width: 10vw;
    }

    .top_postage .postage_box .inbox .item+.item {
        border-left: dashed 1px #1956A2;
    }

    .page_futon_cleaning .main_visual .main_text_box .title_box .title {
        text-align: center;
        margin-top: 2vw;
    }

    .page_futon_cleaning .main_visual .main_text_box .title_box .sub {
        font-size: 9vw;
        text-align: center;
    }

    .page_futon_cleaning .main_visual .main_text_box .title_box::before {
        width: 98vw;
        top: 61%;
        left: 50%;
        translate: -50% -70%;
        background-image: url(../img/treat_mv_cloud.svg);
    }

    .page_carpet_cleaning .main_visual .main_text_box .title_box::before {
        width: 83vw;
        top: 50%;
        left: 50%;
        translate: -50% -70%;
    }

    .page_carpet_cleaning .main_visual .main_text_box .title_box .title {
        text-align: center;
        margin-top: 2vw;
    }

    .page_carpet_cleaning .main_visual .main_text_box .title_box .sub {
        font-size: 9vw;
        text-align: center;
    }

    .page_carpet_cleaning .main_visual .main_text_box .title_box::before {
        width: 83vw;
        top: 50%;
        left: 50%;
        translate: -50% -58%;
    }

    .page_carpet_cleaning .main_visual .main_text_box .sub_box ul li .color {
        font-size: 3.6vw;
    }

    .page_futon_course {
        padding: 15vw 0 0;
    }

    .page_futon_course .box {
        padding: 5vw 3vw;
    }

    .page_futon_course .box .text {
        font-size: 4vw;
    }

    .page_futon_course .box .text .accent {
        font-size: 8.5vw;
        margin: 0 1vw;
    }

    .nayami_sec {
        padding: 20vw 0 0;
    }

    .nayami_sec ul {
        display: flex;
        gap: 2vw;
        margin-top: 4vw;
        padding: 4vw 0 1vw;
        overflow-x: scroll;
    }

    .nayami_sec ul li {
        padding: 7vw 3vw 3vw;
        font-size: 4vw;
        width: 56vw;
        flex-shrink: 0;
    }

    .nayami_sec ul li .ab_text {
        top: -3.6vw;
        font-size: 4vw;
        padding: 1vw 2vw;
    }

    .internalPage_commitment .menu_area ul {
        margin-top: 6vw;
        padding: 0 5vw;
    }

    .internalPage_commitment .menu_area ul li a {
        padding: 7vw 3vw;
    }

    .internalPage_commitment .menu_area ul li a {
        padding: 6vw 0;
        text-align: center;
        width: 100%;
    }

    .internalPage_commitment .menu_area ul li a::after {
        border-width: 3vw 0 3vw 2.5vw;
        right: 3vw;
    }

    .internalPage_commitment .menu_area ul li+li {
        margin-top: 2vw;
    }

    .internalPage_commitment .menu_area ul li a .theme {
        font-size: 4vw;
    }

    /* reason 追加 */
    .internalPage_commitment .table_box .ttl_box {
        margin-bottom: 10vw;
    }

    .internalPage_commitment .table_box .ttl_box .ttl {
        font-size: 5vw;
    }

    .internalPage_commitment .table_box .item_box .item .ttl {
        font-size: 5vw;
    }

    .internalPage_commitment .table_box .item_box {
        flex-direction: column;
        gap: 12vw 0;
        margin-bottom: 4vw;
    }

    .internalPage_commitment .table_box .item_box .item .graph {
        margin-bottom: 1vw;
    }

    .internalPage_commitment .table_box .item_box .item .table table tr th {
        font-size: 3vw;
    }

    .internalPage_commitment .table_box .item_box .item .table table tr td {
        font-size: 3.4vw;
    }

    .internalPage_commitment .table_box .treat_box {
        width: 100%;
        margin-bottom: 17vw;
        padding: 1em;
    }

    .internalPage_commitment .table_box .treat_box .text {
        font-size: 3vw;
    }

    .page_futon_cleaning .internalPage_commitment.course {
        padding-top: 45vw;
        margin-top: -30vw;
        padding-bottom: 17vw;
    }

    .page_futon_cleaning .internalPage_commitment .table_box .item_box .item .graph {
        width: 100%;
    }

    .page_futon_cleaning .internalPage_commitment .table_box .item_box {
        gap: 12vw 0;
    }

    /* 布団クリーニング */
    .new_nayami_sec ul li::before {
        width: 5vw;
        translate: 0 -0.4vw;
    }

    .new_nayami_sec ul li {
        align-items: flex-start;
        font-size: 3.6vw;
    }

    .new_nayami_sec {
        padding: 15vw 0 0;
    }

    .new_nayami_sec .common_titleBox {
        margin-bottom: 10vw;
    }

    .new_nayami_sec ul {
        border-width: 10px;
        border-radius: 15px;
        padding: 5vw 3vw;
    }

    .new_nayami_sec ul::before {
        width: 18vw;
        top: -12vw;
    }

    .new_nayami_sec ul li+li {
        margin-top: 0.8em;
    }

    .page_futon_cleaning .topSection_reason.internal_page .table_box {
        margin-top: 15vw;
    }

    .page_futon_cleaning .topSection_reason.internal_page .table_box .table tr th {
        font-size: 3vw;
    }

    .page_futon_cleaning .topSection_reason.internal_page .table_box .table tr td {
        font-size: 3vw;
    }

    .page_futon_cleaning .topSection_reason.internal_page .table_box .table {
        overflow-x: scroll;
    }

    .page_futon_cleaning .topSection_reason.internal_page .table_box .table+.table {
        margin-top: 5vw;
    }

    .page_futon_cleaning .topSection_reason.internal_page .table_box .table tr th,
    .page_futon_cleaning .topSection_reason.internal_page .table_box .table tr td {
        white-space: nowrap;
    }

    .page_futon_cleaning .topSection_reason.internal_page .table_box .table .note {
        font-size: 3vw;
        text-align: left;
    }

    .topSection_reason.internal_page .reason_list {
        flex-direction: column;
        gap: 3vw 0;
    }

    .topSection_reason.internal_page .reason_list .image {
        width: 100%;
    }

    .topSection_reason.internal_page .reason_list .textBox .title {
        font-size: 7.6vw;
        margin-bottom: 3vw;
    }

    .topSection_reason.internal_page .reason_list .textBox .inner .item_list {
        gap: 2vw 0;
        grid-template-columns: 1fr;
        margin-bottom: 3vw;
    }

    .topSection_reason.internal_page .reason_list .textBox .inner .item_list .item .text {
        font-size: 3vw;
    }

    .topSection_reason.internal_page .reason_list .textBox .text {
        font-size: 3.6vw;
    }

    #link_course ul {
        gap: 0;
    }

    .topSection_reason.internal_page .reason_list+.reason_list {
        margin-top: 8vw;
    }

    .common_sub_comment {
        width: 100%;
        margin: -8vw auto 20vw;
        padding: 4vw 1vw;
        font-size: 5vw;
        text-align: center;
    }

    .common_sub_comment::after {
        bottom: -6vw;
        width: 17vw;
        height: 7vw;
    }

    .internalPage_commitment .menu_area .menu_box_list {
        grid-template-columns: 100%;
        gap: 3vw;
        padding: 8vw 5vw 0;
    }

    .internalPage_commitment .menu_area .menu_box_list .list a .img {
        height: 40vw;
    }

    .internalPage_commitment .menu_area .menu_box_list .list a .img::before {
        width: 25vw;
        font-size: 4.5vw;
    }

    .internalPage_commitment .menu_area .menu_box_list.two {
        grid-template-columns: 100%;
        gap: 3vw;
        position: relative;
        z-index: 1;
    }

    .topSection_reason .notice_box .image_list.big.caption li .text {
        font-size: 13.5px;
        line-height: 1.3;
    }

    .topSection_campaign .list_gallery .list+.list {
        margin: 0 1.5vw;
    }

    .topSection_campaign .list_gallery .list {
        height: 40vw;
    }

    .topSection_campaign .list_gallery .icon {
        width: 10vw;
        top: 15vw;
        height: 10vw;
    }

    .topSection_campaign .list_gallery .icon:hover {
        opacity: 1;
    }

    .topSection_campaign .list_gallery .icon.left {
        left: -3vw;
    }

    .topSection_campaign .list_gallery .icon.right {
        right: -2vw;
    }

    .topSection_campaign .list_gallery .icon svg {
        translate: -1vw 0px;
    }

    .topSection_step.top {
        margin-top: 12vw;
    }

    #top_reviews_sec.topSection_reviews {
        margin-top: 5vw;
    }

    .topSection_menu .box ul li a {
        font-size: 4.2vw;
    }

    .fixed_sp {
        display: flex;
        position: fixed;
        z-index: 10;
        right: 0;
    }

    .fixed_sp .sp_box {
        position: absolute;
        top: -204px;
        right: 10px;
    }

    .fixed_sp a {
        display: flex;
        width: 75px;
        background-color: var(--sub-color);
        border-radius: 50%;
        color: #fff;
        font-size: 15px;
        font-weight: 800;
        align-items: center;
        justify-content: center;
        aspect-ratio: 1;
    }

    .common_mainvisual.futon .cont {
        background-position: top;
        padding: 25vw 0 15vw 0;
    }

    .page_guide_table {
        overflow-x: scroll;
    }

    .page_guide_table table {
        width: 300vw;
    }

    .page_agreement .img_guide {
        overflow-x: scroll;
    }

    .page_agreement .img_guide .img {
        width: 150vw;
    }

    .page_agreement .img_guide .img .guide_img {
        width: 100%;
    }

    .ec-newsRole .ec-newsRole__newsDate {
        font-size: 3.6vw;
        margin-bottom: 2vw;
    }

    .ec-newsRole .ec-newsRole__newsTitle {
        font-size: 4.5vw;
    }

    .ec-newsRole .ec-newsRole__news {
        box-sizing: border-box;
        border: none;
    }

    .ec-layoutRole__mainBottom {
        padding: 0 0 15vw;
    }

    .page_carpet_cleaning_carpet_type_sec {
        padding: 20vw 0 40vw;
    }

    .page_carpet_cleaning_carpet_type_sec .grid_area {
        grid-template-columns: 1fr;
        gap: 7vw;
    }

    .page_carpet_cleaning_carpet_type_sec .grid_area .grid_item {
        grid-template-columns: 30% 1fr;
        gap: 4vw;
    }

    .page_carpet_cleaning_carpet_type_sec .grid_area .grid_item .item_img {
        height: 27vw;
    }

    .page_carpet_cleaning_carpet_type_sec .grid_area .grid_item .item_text_area {
        display: flex;
        flex-direction: column;
    }

    .page_carpet_cleaning_carpet_type_sec .grid_area .grid_item .item_text_area .item_ttl {
        font-size: 3.6vw;
    }

    .page_carpet_cleaning_carpet_type_sec .grid_area .grid_item .item_text_area .item_text {
        font-size: 3.4vw;
    }
}