@charset "utf-8";

:root {
    --color_blue: #2bb028;
    --mikan_color: #ff8c37;
    --main_heading_eng_color: #ffcda8;
    --sub_head_eng_color: #D5EAD8;
}

body {
    overflow-x: hidden;
    font-family: 'Noto Sans JP', 'ヒラギノ角ゴ ProN W3', Meiryo, sans-serif;
    font-weight: 500;
}

* {
    -webkit-appearance: none;
    /*webkit系ブラウザのデフォルトスタイル*/
}


.font-mid {
    transform: rotate(0.03deg);
}

#content-top {
    overflow-x: hidden;
    max-width: 1140px;
}


/* header */
/* header の見た目は assets/nfc/nfc.css の .nfc-header に一本化しました */

header section {
    max-width: 1220px;
}

header p {
    margin-bottom: 15px;
}

header div a:first-of-type img {
    margin-right: 0;
}

.head_pc .head_container div {
    float: none;
}

/* nav */
.nav_menu_pc a:hover {
    font-weight: 900;
    color: #2bb028;
}

nav.nav_menu_pc {
    position: relative;
    z-index: 1;
}

nav ul {
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    margin-bottom: 0;
}

/* .head_pc .ft_silver{
margin-bottom: 10px;
} */

.dropdown:hover {
    border-bottom: none;
    /* border-radius: 10px 10px 0 0; */
    padding: 5px 5px 0 5px;
    margin: -5px -6px 0 -6px;
}

.dropdown ul {
    position: absolute;
    flex-flow: column;
    transform: translateX(-10%);
    text-align: center;
    z-index: 9999;
}

.dropdown ul li a {
    color: #444;
    padding: 5px 10px;
    display: inline-block;
    width: 100%;
}

.dropdown ul li a {
    border-bottom: 2px solid #2bb028;
}

.dropdown ul li:last-child {
    border-bottom: none !important;
}

.dropdown ul li a:hover {
    background-color: #E6F2E8;
}

.dropdown ul {
    height: 0;
    overflow: hidden;
    line-height: 0;
}

.dropdown:hover ul {
    height: auto;
    line-height: 1.5;
    transition: 0.2s;
    border: solid 2px #2bb028;
    border-top: solid 1px #2bb028;
}

.dropdown ul li {
    background: white;
    height: 0;
    width: 100%;
    border: none !important;
}

.dropdown:hover ul li {
    height: auto;
    border-bottom: solid 2px #2bb028;
}

.dropdown:hover ul li:last-of-type {
    border-bottom: none;
}

/* cta-time */
#cta-time {
    margin-top: 80px;
}

#cta-time p {
    background-color: #DBEFFB;
    color: #000;
    padding: 16px;
    width: 80%;
    text-align: center;
    font-size: 28px;
    border-radius: 10px;
}

#cta-time ul li {
    margin-bottom: 0;
}



@media(max-width:768px) {
    #cta-time {
        margin-top: 0px;
    }

    .area_tofuken #cta-time {
        margin-top: 80px;
    }

    #cta-time p {
        border: 2px solid #2bb028;
        font-size: 16px;
        padding: 6px;
    }

    .disposal_items .inquiry {
        max-width: 350px;
    }
}

/* Performance-css */
.outline-area-scroll-table {
    overflow-x: scroll;
}

.inner-area-table {
    table-layout: fixed;
}

.zisseki-number {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #2bb028;
}

.inner-area-table .zisseki-head th:first-child {
    background: #116CB0;
    color: #fff;
    line-height: 1;
}

.inner-area-table .zisseki-head th {
    font-size: 22px;
    width: auto;
    text-align: center;
    background: #116CB0;
    color: #fff;
    vertical-align: middle;
}

.inner-area-table th,
.inner-area-table td {
    text-align: center;
}

.zisseki-number th {
    border: 1px solid #2bb028 !important;
    text-align: left;
    vertical-align: middle;
    font-size: 26px;
    font-weight: bold;
    padding: 15px 10px 20px;
    width: 33.333%;
}

@media (max-width: 768px) {
    .inner-area-table .zisseki-head th {
        width: 80px;
        font-size: 16px;
    }

    .inner-area-table .zisseki-data td {
        width: 80px;
        font-size: 16px;
    }
}

/* first view */
.background_image {
    height: auto;
    max-width: 100%;
    padding: 0;
    margin: 0 auto -35px;
    background-image: url(../img/top/top_back_dark.png);
    background-position: bottom;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.whiteback {
    background: white;
    padding: 8px 16px;
    border-radius: 16px;
    position: relative;
    margin: 20px auto;
}

.whiteback::after {
    content: "";
    background-image: url(../img/top/jpfuyouhinkaisyu.png);
    width: 342px;
    height: 500px;
    position: absolute;
    right: -73px;
    bottom: -1px;
}

.fv_text {
    margin-bottom: 40px;
}

.blocks {
    display: flex;
    flex-flow: wrap;
    justify-content: center;
}

.w700 {
    width: 700px;
}

.h120 {
    height: 120px;
}

.mikan_plate {
    background: var(--mikan_color);
    width: 150px;
    height: 45px;
    border-radius: 10px;
    font-size: 22px;
    font-weight: bold;
    color: white;
    text-align: center;
    margin: 27px;
    padding-top: 6px;
}

.fz35 {
    font-size: 35px;
    font-weight: bold;
}

.ml20 {
    margin-left: 20px;
}

.border_btm_line {
    background: linear-gradient(transparent 86%, #ffc59b 0%) no-repeat;
    padding: 0 0 3px 7px;
}

.small_font {
    font-size: 25px;
    font-weight: bold;
    padding: 4px;
}

.blue_circle {
    background: #2bb028;
    width: 176px;
    height: 176px;
    border-radius: 50%;
    font-size: 40px;
    font-weight: bold;
    color: white;
    text-align: center;
    margin: 40px 10px;
    padding-top: 24px;
}

.mr200 {
    margin-right: 200px;
}

.pr90 {
    padding-right: 90px;
}

.fv_text .mikan {
    color: #ff6c00;
}

/* mask_title */
.step_head {
    text-align: center;
}

.card {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    margin-bottom: 80px;
}

.step {
    border: 2px solid #2bb028;
    padding: 15px;
}

.step_conent {
    padding: 0 47px;
    line-height: 1.6;
    margin: 15px auto;
}

/* score10 */
.low-price {
    margin-top: 30px;
    margin-bottom: 30px;
}

p.cheers {
    font-size: 16px;
    margin-right: 370px;
}

.cheers::before,
.cheers::after {
    content: "";
    display: inline-block;
    width: 32px;
    height: 32px;
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
}

.cheers::before {
    background-image: url(../img/top/bbs.png);
    margin-right: 10px;
}

.cheers::after {
    background-image: url(../img/top/bs.png);
}

.yasukusoku_text {
    line-height: 1.8;
}

.yasukusoku_text img {
    margin-right: 10px;
    vertical-align: baseline;
}

.inquiry {
    margin-bottom: 120px;
}

.inquiry img:hover {
    transform: translate(0, 5px);
}

/* reason */
.reason:not(.smartphone) {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 16px auto 60px;
}

.big_arrow {
    display: block;
    margin: 0 auto 40px;
}

.score975 {
    margin-bottom: 60px;
}

span.cheers {
    font-size: 20px;
}

span.cheers::before {
    width: 20px;
    background-image: url(../img/top/sbs.png);
}

span.cheers::after {
    width: 20px;
    background-image: url(../img/top/slash.png);
}

p.b6 {
    bottom: 6;
}

.index img {
    height: auto;
}

/* webwari */
.web_camp {
    margin: 120px 0 60px;
}

.web_camp_text {
    line-height: 1.5;
}

/* magokoro */
.magokoro_set {
    background-position: center 30px;
    margin-bottom: 50px;
}

.magokoro_nashi_ari {
    margin-bottom: 80px;
}

.magokoro_set_text {
    font-size: 18px;
    line-height: 2.2;
}

.free_estimation_text {
    font-weight: bold;
}

/*=================================
CASE
===================================*/
.case {
    margin-top: 30px;
    margin-bottom: 30px;
}

.case .case-content h3 {
    font-size: 18px;
    font-weight: 700;
    margin: 25px 0 15px;
    padding-bottom: 4px;
}

.case .case-content .case-image-wrap {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

.case .case-content .case-image-wrap img {
    width: 500px;
    box-sizing: border-box;
}

.case-content {
    display: flex;
    flex-flow: column;
}

.case-content h3 {
    order: 1;
}

.case-content .case-info {
    order: 2;
}

.case-content .case-ashiato {
    order: 3;
}

.case-image-wrap {
    background-image: url(../img/top/icon_right_arrow.png);
    background-repeat: no-repeat;
    background-position: center;
}

.case-image-wrap::before {
    content: "Before";
    background: #bbe5ff;
    left: 2px;
}

.case-image-wrap::after {
    content: "After";
    background: #ffb884;
    right: 272px;
}

.case-image-wrap::before,
.case-image-wrap::after {
    /* color: black; */
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    border: 3px solid black;
    border-radius: 30px;
    width: 230px;
    height: 60px;
    top: -80px;
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
}

.case-info {
    font-size: 18px;
    border: solid 3px #004771;
    border-radius: 20px;
    display: flex;
    flex-wrap: wrap;
}

.case-info tr:not(:last-child) {
    border-bottom: solid 3px #004771;
}

.case-info tr:last-child {
    border-bottom: none;
}

.case-info dt {
    background: #2bb028;
    color: white;
    text-align: center;
    border-right: solid 3px #004771;
    flex: 320;
    flex-basis: 320px;
    padding: 0.4em;
}

.case-info dd {
    background: white;
    color: #474f6a;
    padding: 0.4em;
    padding-left: 10px;
    margin: 0;
    flex: 774;
    flex-basis: 774px;
}

.case-info dt:nth-of-type(even),
.case-info dd:nth-of-type(even) {
    border-top: solid 3px #004771;
    border-bottom: solid 3px #004771;
}

.case-info dt:first-of-type {
    border-radius: 16px 0 0 0;
}

.case-info dd:first-of-type {
    border-radius: 0 16px 0 0;
}

.case-info dt:last-of-type {
    border-radius: 0 0 0 16px;
}

.case-info dd:last-of-type {
    border-radius: 0 0 16px 0;
}

.case-ashiato {
    background: #ebf7fa;
    filter: drop-shadow(5px 5px 0 #00000029);
    font-size: 18px;
    line-height: 1.5;
    margin: 20px auto 120px;
    padding: 20px 30px;
    border-radius: 10px;
}

p.case-ashiato-fortify {
    display: none;
}

/* right_model_contents */
.right_model_contents ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
}

.right_model_contents a {
    margin: 0 8px 16px;
}

.right_model_contents li {
    width: 203px;
    height: 87px;
    border-radius: 12px;
    padding: 10px;
    font-size: 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.right_model_contents a:nth-child(odd) {
    background: #fff;
}

.right_model_contents a:nth-child(even) {
    background: #E6F2A4;
}

.right_model_contents .dummy {
    opacity: 0;
}

.right_model_contents span.cheers {
    display: block;
}

.right_model_contents li span {
    width: 50%;
    word-break: keep-all;
}

.right_model_contents li span.w60 {
    width: 60%;
}

.right_model_contents li img {
    margin: auto;
}

.right_model_contents .border_btm {
    background: linear-gradient(transparent 50%, #ffc595 0%);
}

/* area */
/* .area div {
width: auto;
} */
.area .area-image {
    max-width: 600px;
    margin: 0 auto;
    width: 100%;
}

.accordions {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 120px;
}

#out-lineaccordion .accordions {
    margin-bottom: 0;
}

.accordion {
    margin: 10px auto;
    border: none;
    border-radius: 20px;
}

.accordion p:first-of-type {
    font-size: 18px;
    padding: 4px 12px;
    margin-bottom: 0;
}

/* アイコンの位置調整は assets/nfc/nfc.css 側で行います */

.accordions_left {
    width: 50%;
    padding-right: 20px;
}

.accordions_right {
    width: 50%;
    padding-left: 20px;
}

.accordion_open {
    /* border-radius: 0 0 6px 6px; */
    filter: drop-shadow(0 3px 6px #00000029);
}

.accordion_open_text {
    word-break: keep-all;
}

/* flow */
.two_column {
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px;
    justify-content: space-evenly;
}

.flow .step {
    background: white;
    width: 300px;
    height: 300px;
    padding-top: 40px;
    box-sizing: border-box;
    filter: drop-shadow(5px 5px 0 #00000029);
}

.flow .step_head {
    margin-top: 12px;
}

.flow .step:last-of-type {
    margin-bottom: 60px;
}

.blue_button {
    display: block;
    background: #C2E021;
    font-size: 20px;
    color: #000;
    /* border-radius: 32px; */
    padding: 20px;
    margin: 60px 32px;
    width: 234px;
    height: 63px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* sideboards */
.sideboards {
    background: #D5EAD8;
    width: 400px;
    height: 940px;
    border-radius: 20px;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: space-between;
}

.sideboards .title {
    background: #2bb028;
    width: 100%;
    padding: 20px;
    font-size: 28px;
    color: white;
    text-align: center;
    /* border-radius: 20px 20px 0 0; */
}

.sideboards p {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.sideboards .easy-call {
    border-top: solid 3px #fff;
    border-bottom: solid 3px #fff;
    color: #ff8c37;
    font-size: 30px;
    font-weight: bold;
    letter-spacing: -6px;
    padding: 6px;
}

.sideboards .easy-call img {
    margin-bottom: 5px;
}

.sideboards span.border_btm {
    font-size: 22px;
    background: linear-gradient(transparent 50%, #ffc595 0%);
    margin-bottom: 10px;
}

.sideboards li {
    box-sizing: border-box;
    background: white;
    width: 363px;
    height: 70px;
    /* border-radius: 35px; */
    display: flex;
    align-items: center;
    margin: 10px auto 20px;
}

.sideboards ul {
    list-style: none;
}

.sideboards li a {
    font-size: 22px;
    position: relative;
    width: 100%;
    padding: 18px 0;
    /* border-radius: 35px; */
}

.sideboards li img {
    transform: translateX(50px) translateX(-50%);
}

.sideboards li span {
    position: absolute;
    width: max-content;
    left: 100px;
    color: #2bb028;
    font-weight: bold;
}

/* before_eexample */
.souji {
    margin-bottom: 140px;
}

.souji p.tac {
    font-weight: bold;
}

.before_image {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

.before_image::before {
    content: "Before";
    background: #666666;
    left: 2px;
}

.before_image::after {
    content: "After";
    background: #FFAD1E;
    right: 272px;
}

.before_image::before,
.before_image::after {
    color: #fff;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    /* border: 3px solid black; */
    border-radius: 30px;
    width: 230px;
    height: 60px;
    top: -80px;
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
}

.before_eexample span {
    display: block;
    font-size: 20px;
    font-weight: bold;
    margin: 20px auto 10px;
}

.radius_mask {
    border: solid #000;
    /* border-radius: 20px; */
}

.before_eexample table {
    font-size: 18px;
    margin-bottom: 0;
}

.before_eexample table tr:not(:last-child) {
    border-bottom: solid 3px #000;
}

.before_eexample table tr:last-child {
    border-bottom: none;
}

.before_eexample table td:nth-child(odd) {
    background: #2bb028;
    color: white;
    text-align: center;
    border-right: solid 3px #000;
}

.before_eexample table td:nth-child(even) {
    background: white;
    color: #474f6a;
    padding-left: 10px;
}

/* .before_eexample table tr:first-of-type td:first-of-type {
border-radius: 16px 0 0 0;
}
.before_eexample table tr:first-of-type td:last-of-type {
border-radius: 0 16px 0 0;
} */
.before_eexample table tr:last-of-type td:first-of-type {
    /* border-radius: 0 0 0 16px; */
    border-bottom: none;
}

/* .before_eexample table tr:last-of-type td:last-of-type {
border-radius: 0 0 16px 0;
} */

.before_eexample .ashiato {
    background: #D5EAD8;
    filter: drop-shadow(5px 5px 0 #aad4b0);
    font-size: 18px;
    line-height: 1.5;
    margin: 20px auto 120px;
    padding: 20px 30px;
    /* border-radius: 10px; */
}

/* voice */
.to_right {
    display: flex;
    justify-content: flex-end;
}

.voice {
    margin-bottom: 10px;
}

.review_hukidashi01 {
    margin-bottom: 50px;
}

.review_hukidashi02 {
    margin-bottom: 50px;
}

.voice .blue_button {
    margin: 30px auto 60px;
}

/* second_accordion */
.accordion2 {
    margin: 20px auto;
    cursor: scoreer;
}

.accordion2:last-of-type {
    margin: 20px auto 120px;
}

.accordion2 .ti03 {
    text-align: center;
}

.accordion2 .fa-plus {
    transition: 0.2s;
}

.rolling {
    transform: rotate(405deg);
    transition: 0.2s;
    transform-origin: center;
}

/* news_section */
.news_section {
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
}

.news_section .hidari_title {
    width: 300px;
}

.hidari_title span {
    text-align: center;
    display: block;
    font-weight: bold;
}

.news_section .ti01 {
    font-size: 32px;
}

.news_section .blue_button {
    margin: 12px 32px 120px;
}

.news_section ul {
    list-style: none;
}

.news_section li {
    padding: 6px 18px 18px;
    border-bottom: solid 1px black;
    font-size: 16px;
    width: 792px;
    max-width: 100vw;
}

.news_section li a {
    margin-left: 35px;
    font-size: 21px;
}

.ft_silver {
    color: #707070;
}

.spacetop120 {
    margin-top: 120px;
}

.mbtm_30 {
    margin-bottom: 30px;
}

.mbtm_35 {
    margin-bottom: 36px;
}

.mb77 {
    margin-bottom: 77px;
}

.spacebottom120 {
    margin-bottom: 120px;
}

p.fz20 {
    font-size: 20px;
}

p.size32 {
    font-size: 32px;
}

p.fz54 {
    font-size: 54px;
}

.center_flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.tac {
    text-align: center;
}

.wrap {
    max-width: 940px;
}

.warning {
    margin-top: 20px;
    margin-bottom: 120px;
}

.ti03 {
    background: #2bb028;
    color: white;
    font-size: 30px;
    padding: 20px;
    /* border-radius: 6px; */
}

.disposal_box {
    background: white;
    filter: drop-shadow(6px 6px 6px silver);
    margin-bottom: 25px;
    padding: 20px;
    font-size: 16px;
    line-height: 2;
}

/* q&A */
.qustion {
    margin-bottom: 60px;
}

.shitsumon {
    width: 860px;
    max-width: 100vw;
}

.muryou_call {
    margin-bottom: 24px;
}

/* ft_box */

.ft_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 24px 0;
    font-size: 13px;
    background: #2bb028;
}

.ft_box ul li {
    margin-top: 3px;
}

.ft_box span {
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 19px;
    color: #fff;
}

.ft_box ul {
    list-style: none;
    color: #fff;
    margin-top: 10px;
}

.ft_box ul.child {
    margin: 10px;
}

.ft_box a:hover {
    color: #fff;
    text-decoration: underline;
    font-weight: 900;
}

.ft_box a {
    color: #fff;
}

.ft_box_r p {
    letter-spacing: 1px;
}

.ft_box_l {
    border-right: solid 2px #fff;
    padding: 0 40px;
    flex-basis: 485px;
    color: #fff;
}

.ft_box_center {
    padding: 0 30px;
    flex-basis: 285px;
    color: #fff;
}

.ft_box_r {
    display: flex;
    flex-flow: column;
    justify-content: center;
    padding: 0 10px;
    flex-basis: 280px;
    text-align: center;
    color: #fff;
    align-self: baseline;

}

.ft_box_r2 {
    display: flex;
    flex-flow: column;
    justify-content: center;
    border-left: solid 2px #fff;
    padding: 0 14px;
    flex-basis: 300px;
    text-align: center;
    color: #fff;
    border-right: solid 2px #fff;
}

.ft_box_l section {
    display: flex;
    justify-content: space-between;
}

.ft_box_center section {
    display: flex;
    justify-content: space-between;
}

.related {
    margin-top: 10px;
}

/* breadcrumb */
nav.pan_menu ul {
    justify-content: flex-start;
}

nav.pan_menu li:not(:last-child)::after {
    content: ">";
    margin: 0 10px;
}

/* service */
.spacetop30 {
    margin-top: 30px;
}

.mbtm_20 {
    margin-bottom: -20px;
}

.width820 {
    width: 820px;
}

.spacebottom80 {
    margin-bottom: 80px;
}

.mbtm_100 {
    margin-bottom: 100px;
}

.fz20 {
    font-size: 20px;
}

.service {
    margin-bottom: 80px;
}

.service h3 {
    box-sizing: border-box;
    background: #2bb028;
    width: 440px;
    height: 60px;
    color: #fff;
    /* border: solid 4px #2bb028; */
    border-radius: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 10px auto 50px;
    font-size: 28px;
}

.service_box {
    display: flex;
    margin-bottom: 40px;
}

.service_box img {
    /* height: fit-content; */
    height: auto;
}

.offer_txt_hako {
    margin-left: 58px;
    font-size: 20px;
}

.offer_txt_hako a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    width: 234px;
    height: 63px;
    box-sizing: border-box;
    color: #000;
    /* border-radius: 10px; */
    background: #C2E021;
    margin: 40px auto;
}

.service .amount_txt2 {
    margin: 60px auto;
}

.service .price img:last-of-type {
    margin-bottom: 0;
}

.mb60 {
    margin-bottom: 60px;
}

/* price */
.mb70 {
    margin-bottom: 70px;
}

.pg_money .fixed_charge_word {
    letter-spacing: 7.5px;
}

.spacetop20 {
    margin-top: 20px;
}

.ma {
    margin: auto;
}

.tal {
    text-align: left;
}

.sample {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.sample_box {
    background: white;
    width: 320px;
    height: 470px;
    /* border: solid 4px #2bb028; */
    border-radius: 20px;
    display: flex;
    flex-flow: column;
    align-items: center;
    margin: 10px;
    margin-bottom: 40px;
}

.sample_box h3 {
    background: #FFAD1E;
    width: 100%;
    padding-top: 20px;
    font-size: 30px;
    color: #fff;
    text-align: center;
    border-radius: 14px 14px 0 0;
    position: relative;
}

.sample_box h3::before {
    content: "";
    background-image: url(../img/price/top-ribbon.png);
    position: absolute;
    z-index: 999;
    width: 100px;
    height: 100px;
    background-repeat: no-repeat;
    left: 50%;
    top: 10px;
    transform: translate(-50%, -50%);
    background-size: contain;
}


.sample_box p {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    line-height: 1.8;
    letter-spacing: 0.81px;
}

.sample_box img {
    margin-top: 20px;
    height: 100px;
}

.sample_box div {
    margin-top: 20px;
}

p.sample_price {
    /* border-bottom: solid 4px #ff8c37; */
    color: #C2E021;
    font-size: 42px;
    font-weight: bold;
    letter-spacing: 1px;
    line-height: 1.5;
}

/* p.sample_price::before {
content: "回収費";
color: #ff8c37;
font-size: 20px;
font-weight: bold;
padding: 6px;
} */

p.sample_price::after {
    content: "円";
    color: #000;
    font-size: 20px;
    font-weight: bold;
    padding: 6px;
}

.sample_box span {
    font-size: 14px;
    text-align: center;
    margin: 7px auto;
    line-height: 1.4;
}

.ashiato {
    text-align: left;
}

/* area */
.jp_map {
    background-image: url(../img/area/area_map.png);
    background-repeat: no-repeat;
    height: 880px;
    position: relative;
}

.jp_map div {
    position: absolute;
    /* border: solid 4px #2bb028; */
    border-radius: 24px;
    background: white;
    width: 230px;
    height: 312px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 5px 5px 25px;
}

.jp_map div::before {
    content: "";
    position: absolute;
    bottom: -36px;
    left: 30%;
    margin-left: -15px;
    border: 12px solid transparent;
    border-top: solid 26px white;
    z-index: 2;
}

.jp_map div::after {
    content: "";
    position: absolute;
    bottom: -48px;
    left: 30%;
    margin-left: -17px;
    border: 14px solid transparent;
    border-top: solid 30px #C2E021;
    z-index: 1;
}

.jp_map div:nth-child(1)::before,
.jp_map div:nth-child(even)::before {
    top: -24px;
    bottom: initial;
    border-top: none;
    border-bottom: solid 26px white;
}

.jp_map div:nth-child(1)::after,
.jp_map div:nth-child(even)::after {
    top: -34px;
    bottom: initial;
    border-top: none;
    /* border-bottom: solid 30px #C2E021; */
}

.w100per {
    width: 100%;
}

.jp_map .kyushu {
    left: 24px;
    bottom: 0;
    width: 435px;
}

.jp_map .kyushu::before,
.jp_map .kyushu::after {
    left: 27%;
}

.jp_map .chugoku {
    left: 330px;
    top: -14px;
    height: 261px;
}

.jp_map .chugoku::before,
.jp_map .chugoku::after {
    left: 78%;
}

.jp_map .kansai {
    left: 530px;
    bottom: 0;
}

.jp_map .kansai::before,
.jp_map .kansai::after {
    left: 27%;
}

.jp_map .chubu {
    left: 620px;
    top: -14px;
    height: 206px;
}

.jp_map .chubu::before,
.jp_map .chubu::after {
    left: 73%;
}

.jp_map .kanto {
    left: 830px;
    bottom: 0;
}

.jp_map .kanto::before,
.jp_map .kanto::after {
    left: 24%;
}

.jp_map p {
    font-size: 34px;
    font-weight: bold;
    color: #2bb028;
    text-align: center;
}

.jp_map a {
    font-size: 28px;
    color: #000;
    width: 180px;
    height: 45px;
    /* border-radius: 23px; */
    display: flex;
    justify-content: center;
    align-items: center;
    background: #C2E021;
    margin: 0 auto;
}

.jp_map .kansai {
    padding: 5px 2px 5px;
}

.jp_map .kansai a {
    height: 40px;
}

.jp_map .void_a {
    cursor: default;
    background: white;
}

.pickup .pickup_text {
    bottom: 55px;
}

.page_region_box {
    display: flex;
    margin-bottom: 80px;
}

.page_region h3 {
    font-size: 30px;
    color: #2bb028;
    text-align: center;
    margin-bottom: 30px;
}

.page_region_box img {
    height: fit-content;
    /* height: auto; */
    margin-top: 60px;
}

.page_region_text_box {
    margin-left: 50px;
    font-size: 16px;
    color: #707070;
    font-weight: normal;
    word-break: keep-all;
}

.page_region_text_box a {
    text-decoration: underline;
}

.page_region_text_box span:last-child {
    display: none;
}

.page_region .blue_button {
    margin: 40px auto 0;
    text-decoration: none;
}

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

.score_background {
    width: 520px;
    float: none;
    height: 280px;
}

.score_background:nth-of-type(even):not(:last-child) {
    margin: 0 0 60px;
}

.score {
    position: absolute;
    bottom: 151px;
    left: 25px;
}

/* dust */
.pg_gomi .trash_text {
    margin: 90px auto;
    font-weight: normal;
    letter-spacing: -0.5px;
}

.pg_gomi.mondai {
    margin-bottom: 120px;
}

.mondais {
    display: flex;
    flex-flow: column;
    align-items: center;
}

.mondai_box {
    background: white;
    box-sizing: border-box;
    border: solid 6px black;
    border-radius: 20px;
    width: 1000px;
    height: 150px;
    margin: 10px auto;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.mondai_box img {
    position: absolute;
    left: 52px;
    bottom: 0;
}

.mondai_box:nth-child(even) img {
    left: initial;
    right: 60px;
}

.mondai_box p {
    font-size: 20px;
}

.size30 {
    font-size: 30px;
}

.wbbw {
    word-break: break-word;
}

.spacetop40 {
    margin-top: 40px;
}

.size16 {
    font-size: 16px;
}

/* huyouhin */
.mb40 {
    margin-bottom: 40px;
}

.pg_fuyouhin .cheers {
    margin: 0;
    font-size: 20px;
}

.pg_fuyouhin .waste_disposal_text {
    font-size: 18px;
    bottom: 0;
    margin: 40px auto 120px;
}

/* .pg_fuyouhin h3 {
font-size: 30px;
font-weight: bold;
position: relative;
bottom: 53px;
letter-spacing: 7px;
} */

.fz18 {
    font-size: 18px;
}

.fwb {
    font-weight: bold;
}

.mt60 {
    margin-top: 60px;
}

.buyings {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 40px auto 60px;
}

.buying_box {
    width: 342px;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: bold;
    word-break: normal;
    margin-top: 40px;
    margin: 0 auto;
    align-self: baseline;

}

.buying_box p:first-of-type {
    margin: 10px auto;
}

.width810 {
    width: 810px;
}

.spacetop_20 {
    margin-top: -20px;
}

.pros li {
    list-style: none;
    display: flex;
    align-items: center;
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 40px;
}

.pros li img {
    margin-right: 36px;
}

span.mikan {
    color: var(--mikan_color);
}

.quotation_text {
    display: block;
    width: 738px;
    font-size: 18px;
    font-weight: bold;
    margin: -20px auto 0;
}

.pg_fuyouhin .flow {
    display: flex;
    margin: 70px auto 50px;
}

.pg_fuyouhin .flow .step {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: space-between;
    width: 190px;
    height: 280px;
    margin-bottom: 0;
}

/* .pg_fuyouhin .flow .step img {
width: fit-content;
height: fit-content;
} */

/* .pg_fuyouhin .flow .step img:last-of-type {
margin:15px auto;
} */

.pg_fuyouhin .flow .step_head {
    font-size: 24px;
    margin-top: 0;
}

.pg_fuyouhin .blue_button {
    margin: 0 auto 60px;
}

.free_estimation {
    padding: 50px;
    height: 262px;
}

.free_estimation .free_estimation_text {
    line-height: 40px;
}

.free_estimation .free_estimation_text span {
    margin-bottom: 45px;
}

.pg_fuyouhin.service h3 {
    bottom: 0;
    margin-top: 0;
    font-size: 28px;
    letter-spacing: 0.1px;
}

/* pg_nagare */
.pg_nagare .flow_text {
    margin: 10px auto 60px;
    font-weight: normal;
    letter-spacing: 0 !important;
}

.pg_nagare .step {
    width: 660px;
    height: auto;
}

.pg_nagare .step_conent {
    padding: 0 25px;
    margin: 15px auto 40px;
}

.pg_nagare .estimation {
    justify-content: space-around;
    margin-bottom: 30px;
}

.pg_nagare .card {
    width: 420px;
    margin: 0 auto 36px;
}

.pg_nagare .card .dfffc {
    display: flex;
    flex-flow: column;
    align-items: center;
}

.pg_nagare .card img {
    margin: 12px auto;
}

.pg_nagare.offer_txt_hako {
    width: 720px;
    display: flex;
    margin: 60px auto 120px;
}

.pg_nagare.offer_txt_hako a {
    margin: 0 auto;
}

/* hikkoshi */
.pg_moving .moving_text {
    margin: 40px auto 120px;
    font-size: 18px;
    font-weight: normal;
    letter-spacing: 0;
}

.padding10 {
    padding-bottom: 10px;
}

.pg_moving .buyings {
    width: 1080px;
    margin-top: 0;
    margin-bottom: 120px;
}

.pg_moving .buying_box {
    width: 220px;
    margin-bottom: 30px;
}

.pg_moving .flow {
    display: flex;
    margin: 60px auto 50px;
}

.pg_moving .flow .step {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: space-between;
    width: 190px;
    height: 280px;
    margin-bottom: 0;
}

.pg_moving .flow .step img {
    width: fit-content;
    height: fit-content;
}

.pg_moving .flow .step img:last-of-type {
    margin-top: 25px;
}

.pg_moving .flow .step_head {
    font-size: 24px;
    margin-top: 0;
}

.pg_moving .blue_button {
    margin: 0 auto 120px;
}

/* ihin */
.pg_seiri .cheers {
    margin: 0;
    font-size: 20px;
}

.pg_seiri .waste_disposal_text {
    font-size: 20px;
    font-weight: normal;
    bottom: 0;
    margin: 40px auto 80px;
    letter-spacing: 0;
}

/* .pg_seiri .blue_text {
color: #DDF2FF;
letter-spacing: 0;
} */

/* .pg_seiri h3 {
font-size: 30px;
font-weight: bold;
position: relative;
bottom: 53px;
letter-spacing: 7px;
} */

.mbtm_50 {
    margin-bottom: 50px;
}

.lh2 {
    line-height: 2;
}

.pg_seiri table {
    font-size: 26px;
}

.pg_seiri tr {
    height: 92px;
    border-bottom: solid 1px #707070;
}

.pg_seiri td:first-child {
    color: #7AC943;
    text-align: center;
    font-weight: bold;
    padding-left: 40px;
}

.pg_seiri td:last-child {
    padding-left: 140px;
}

.ls1 {
    letter-spacing: 1px;
}

.quotation_text.spacetop20 {
    margin-top: 20px;
}

/* info */
.page_info.sub-mainimg {
    display: block;
    text-align: center;
    background: #e0f6ff;
}

.page_info.sub-mainimg h2 {
    display: block;
    text-align: center;
    font-size: 36px;
    font-weight: bold;
    line-height: 100%;
    color: #1299d0;
    padding: 34px 0 26px 0;
}

.dfjb {
    display: flex;
    justify-content: center;
}

.page_info .left-box {
    flex: 1;
}

.page_info .ti02 {
    display: block;
    text-align: center;
    font-weight: bold;
    font-size: 25px;
    line-height: 100%;
    background: linear-gradient(0deg, #bbeeff, transparent);
    background-size: auto 100%;
    border-bottom: #e1e1e1 solid 4px;
    border-top: #e1e1e1 solid 4px;
    padding: 20px 0 20px 0;
    margin-bottom: 45px;
}

.df {
    display: flex;
}

.page_info .info-box .one {
    border-bottom: #383838 dotted 1px;
    padding-bottom: 25px;
    margin-bottom: 25px;
}

.page_info .info-box .one figure {
    margin-right: 20px;
}

.page_info .info-box .one dl .days {
    display: block;
    color: #2bb028;
    font-size: 17px;
    line-height: 100%;
    padding-right: 15px;
    padding-top: 5px;
}

.page_info .info-box .one dl dt {
    display: block;
    float: left;
}

.page_info .info-box .one dl .cat a {
    display: inline-block;
    text-align: center;
    border-radius: 15px;
    color: #fff;
    font-size: 13px;
    padding: 2px 20px 2px 20px;
    background: #2bb028;
    text-decoration: none;
}

.page_info .info-box .one dl dd {
    display: block;
    width: 100%;
    clear: both;
    font-size: 16px;
    font-weight: bold;
    line-height: 150%;
    padding: 14px 0 14px 0;
}

.page_info .dl-mt dt {
    display: block;
    clear: both;
    float: left;
    color: #2bb028;
    font-size: 17px;
    line-height: 100%;
}

.page_info .dl-mt dd {
    display: block;
    clear: both;
    width: 100%;
    font-size: 16px;
    font-weight: bold;
    line-height: 150%;
    border-bottom: #383838 dotted 1px;
    padding: 14px 0 14px 0;
    margin: 0 0 14px;
}

.page_info .deta001 {
    display: block;
    font-size: 16px;
    line-height: 180%;
    padding-bottom: 35px;
}

/* not found */
.page_404.sub-mainimg {
    display: block;
    text-align: center;
    background: #e0f6ff;
}

.page_404.sub-mainimg h2 {
    display: block;
    text-align: center;
    font-size: 36px;
    font-weight: bold;
    line-height: 100%;
    color: #1299d0;
    padding: 34px 0 26px 0;
}

.page_404 .pan_menu {
    margin: 24px 0;
}

.page_404 .areabox02 {
    font-size: 18px;
}

/* seek_results */
.seek_results.sub-mainimg {
    display: block;
    text-align: center;
    background: #e0f6ff;
}

.seek_results.sub-mainimg h2 {
    display: block;
    text-align: center;
    font-size: 36px;
    font-weight: bold;
    line-height: 100%;
    color: #1299d0;
    padding: 34px 0 26px 0;
}

.seek_results .pan_menu {
    margin: 24px 0;
}

.seek_results .areabox02 {
    font-size: 18px;
}

/* contact-confirm-thanks */
.lh50 {
    line-height: 50px;
}

.spaceleft24 {
    margin-left: 24px;
}

.contact .form-group {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: solid 1px #eeeeee;
    background: #fff;
    border-radius: 40px 40px 0 0;
}

.contacth3-first {
    border-radius: 20px 0 0 0 !important;
}

.contact h3 {
    font-size: 26px;
    background: #f5f5f5;
    width: 410px;
    padding: 30px 0;
    padding-left: 20px;
    border-radius: 0;
    position: relative;
}

h3.any {
    display: table-cell;
    vertical-align: middle;
}

.contact h3::after {
    content: "";
    color: white;
    font-size: 16px;
    left: 80%;
    position: absolute;
    padding: 4px 10px;
}

.contact h3.required::after {
    content: "必須";
    background: #ff6c00;
}

.contact h3.any::after {
    content: "任意";
    background: #D5EAD8;
}

.fwn {
    font-weight: normal;
}

.contact input[type="text"],
.contact input[type="email"],
.contact select,
.contact textarea {
    width: 100%;
    height: 70px;
    border: solid 3px #D5EAD8;
    font-size: 30px;
    padding: 8px;
}

.contact .red_text,
.contact .black_text {
    font-size: 20px;
    font-weight: normal;
    display: block;
    margin: 8px 40px 0 24px;
    width: 440px;
}

.contact .red_text {
    color: #f51e1e;
}

.contact .checkboxs {
    margin: 0 auto;
    width: 600px;
    word-break: keep-all;
    margin-bottom: 10px;
}

.size26 {
    font-size: 26px;
}

.contact .mw_wp_form .horizontal-item {
    margin-left: 0px;
    word-break: keep-all;
    line-height: 1;
}

.checkboxs input[type="checkbox"] {
    display: none;
}

.checkboxs label span {
    display: none;
    cursor: scoreer;
    display: inline-block;
    position: relative;
    padding-left: 26px;
    font-size: 16px;
}

.checkboxs label span::before {
    content: "";
    position: absolute;
    display: block;
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    left: 0;
    top: 50%;
    border: solid 3px #D5EAD8;
    background-color: white;
}

.checkboxs label input[type="checkbox"]:checked+span::after {
    content: "\2714";
    position: absolute;
    width: 20px;
    height: 20px;
    top: -1px;
    left: 0;
    font-size: 19px;
    color: white;
    background: #2bb028;
    border-radius: 0px;
    padding-left: 2px;
}

.checkboxs .mwform-checkbox-field.horizontal-item:nth-child(8) {
    margin-top: -12px;
}


.contact .dfaii {
    align-items: initial;
}

.contact .dfaii div {
    background: #f5f5f5;
    display: table;
}

.contact textarea {
    height: 247px;
}

.contact .blue_button {
    width: 498px;
    height: 102px;
    border-radius: 10px;
}

.contact .blue_button:hover {
    -webkit-transform: translate(0, 3px);
    transform: translate(0, 3px);
}

.contact input[type="reset"],
input.sbtn.ep2.blue_button {
    -webkit-appearance: none;
    background: rgb(151 151 151);
}

.contact input[type="submit"] {
    -webkit-appearance: none;
    background: rgb(255, 173, 30);
}

.contact input[type="reset"],
.contact input[type="submit"] {
    -webkit-appearance: none;
    font-size: 30px;
    color: white;
    border: 4px solid #fff;
    border-radius: 65px;
    box-shadow: 0 0 4px #918c8a;
}

.contact p {
    font-size: 26px;
    width: 600px;
    margin: 0 auto;
}

.checkboxs {
    background: #fff !important;
}

.mailforms {
    margin-top: 20px;
    background: #fff;
    margin: 0 auto;
    border-radius: 40px;
}

.in {
    border-radius: 40px;
    background: #fff;
}

.confirm .red_text,
.confirm .black_text {
    display: none;
}

.contact h3.fz40 {
    font-size: 40px;
}

/* faq */
/*copy&paste*/
.page_qustion .ti01 {
    display: block;
    font-size: 27px;
    font-weight: bold;
    line-height: 100%;
    color: #2bb028;
    border-left: #2bb028 solid 10px;
    background: #D5EAD8;
    padding: 17px 40px 17px 40px;
    margin-bottom: 25px;
}

.shitsumon_catch {
    display: block;
}

.shitsumon_catch p {
    display: block;
    font-size: 21px;
    font-weight: bold;
    line-height: 160%;
    padding-bottom: 20px;
}

.shitsumon_catch .list {
    display: block;
    margin-bottom: 35px;
}

.shitsumon_catch .list li {
    display: block;
    float: left;
    width: 24%;
    margin-bottom: 15px;
    margin-right: 10px;
}

.shitsumon_catch .list li a {
    display: block;
    color: #2bb028;
    font-size: 18px;
    border-radius: 10vw;
    text-align: center;
    font-weight: bold;
    line-height: 100%;
    text-decoration: none;
    border: #2bb028 solid 2px;
    padding: 15px;
    transition: all 0.2s;
}

.shitsumon_catch .list li a span {
    display: inline-block;
    position: relative;
}

.shitsumon_catch .list li a span::before,
.shitsumon_catch .list li a span::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

.shitsumon_catch .list li a span::before {
    right: -13px;
    width: 7px;
    height: 7px;
    border-top: 2px solid #2bb028;
    border-right: 2px solid #2bb028;
    transform: rotate(45deg);
}

.shitsumon_catch .list li a:hover {
    border: #2bb028 solid 2px;
    color: #fff;
    background: #2bb028;
    transition: all 0.2s;
}

.shitsumon_catch .list li a:hover span::before {
    right: -33px;
    width: 7px;
    height: 7px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    transition: all 0.2s;
}

.faq-box-sub {
    display: block;
    margin-bottom: 100px;
    word-break: keep-all;
}

.faq-box-sub dl {
    display: block;
    border-bottom: #414141 dashed 2px;
    padding: 23px 0 0px 0;
    font-size: 20px;
    line-height: 150%;
}

.faq-box-sub dt {
    display: block;
    background: url(../img/faq/subq.jpg) left top no-repeat;
    padding: 10px 0px 35px 60px;
    font-weight: bold;
}

.faq-box-sub dd {
    display: block;
    background: url(../img/faq/suba.jpg) left top no-repeat;
    padding: 10px 0px 35px 60px;
    font-weight: bold;
    margin: 0;
}

.faq-box-sub dd a {
    text-decoration: underline;
    color: #1299d0;
}

.faq-box-sub dd a:hover {
    text-decoration: none;
}

.c-red {
    color: #d6000a;
}

@media screen and (min-width: 576px) and (max-width: 1200px) {
    .shitsumon_catch p {
        font-size: 18px;
    }

    .shitsumon_catch .list li a {
        font-size: 16px;
    }
}

@media screen and (min-width: 576px) and (max-width: 992px) {
    .shitsumon_catch p {
        font-size: 16px;
    }

    .shitsumon_catch .list li a {
        font-size: 13px;
    }

    .shitsumon_catch .list li a span::before {
        right: -12px;
        width: 4px;
        height: 4px;
        border-top: 2px solid #2bb028;
        border-right: 2px solid #2bb028;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .faq-box-sub dt {
        font-size: 17px;
    }

    .faq-box-sub dd {
        font-size: 17px;
    }
}

/* area-tofuken */
.pan_menu_area {
    color: #474f6a;
}

.background_image.area_tofuken {
    /* background-image: url(../img/area-shikuchoson/furniture_haikei.png); */
    height: 900px;
}

.area_tofuken .accordion {
    width: 100%;
    border-radius: 15px;
}

.area_tofuken .accordion p:first-of-type {
    padding: 15px 12px;
    font-weight: bold;
}

.accordion_open_text a {
    text-decoration: underline;
}

.post_content {
    overflow-x: hidden;
}

.post_content .case {
    background: white;
    border: solid 5px #7bccfe;
    border-radius: 15px;
    width: 100%;
}

.post_content:not(.custom) {
    /* max-width: 820px; */
    margin: auto;
    font-size: 16px;
    line-height: 2.5;
}

/* del */
/* .post_content:not(.custom) p img ,
.post_content:not(.custom) p:nth-last-of-type(15) ,
.post_content:not(.custom) p:nth-last-of-type(14) ,
.post_content:not(.custom) p:nth-last-of-type(13) ,
.post_content:not(.custom) h2:nth-last-of-type(6) ,
.post_content:not(.custom) h2:nth-last-of-type(5) ,
.post_content:not(.custom) h3:nth-last-of-type(15) ,
.post_content:not(.custom) h3:nth-last-of-type(11) ,
.post_content:not(.custom) .service02 ,
.post_content:not(.custom) .service02 + h3 ,
.post_content .ti01:nth-last-of-type(1) ,
.post_content iframe {
display: none;
} */
/* del */

.post_content .case h3 {
    font-size: 20px;
    color: white;
    text-align: center;
    background: #7bccfe;
    border-radius: 10px 10px 0 0;
    margin: 0;
    padding: 10px 12px;
}

.post_content .case .case-content {
    position: relative;
}

.post_content .case .case-content h4 {
    font-size: 20px;
    color: #2bb028;
    text-align: center;
    border-top: solid 5px #D5EAD8;
    margin: 0 50px;
    padding: 15px 0;
}

.post_content .case .case-content:first-of-type h4 {
    border-top: none;
    margin-top: 15px;
}

.post_content .case .case-content .case-info {
    border: none;
    border-radius: 0;
    justify-content: space-between;
    margin: 15px 50px;
}

.post_content .case .case-content dt:first-of-type {
    display: none;
}

.post_content .case .case-content dd:first-of-type {
    position: absolute;
    top: 145px;
    left: 60px;
    color: black;
    max-width: 18em;
    word-break: keep-all;
}

.post_content .case .case-content dt {
    flex-basis: 103px;
    background: #7bccfe;
    border: none;
    border-radius: 17px;
    font-size: 18px;
    height: 33px;
    margin-left: 373px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.post_content .case .case-content dd:not(:first-of-type) {
    flex-basis: 500px;
    border: none;
    margin-bottom: 19px;
    padding: 0 0.4em 0 6em;
    text-indent: -6em;
}

.post_content .case .case-content dd:not(:first-of-type)::before {
    content: "・・・・・・";
    color: #7bccfe;
}

.pros_depros .maru_mask {
    border: solid 0.5px #707070;
    border-top: none;
    border-radius: 20px;
}

.pros_depros table {
    font-size: 18px;
    margin-bottom: 0;
}

.pros_depros table ul {
    list-style: none;
    text-align: left;
    font-size: 17px;
    padding-left: 1em;
    line-height: 1.7em;
    text-indent: -1em;
    letter-spacing: -1px;
    max-width: 378px;
    margin: 0;
}

.width25 {
    width: 25%;
}

.pros_depros table tr:not(:last-child) {
    border-bottom: solid 1px #707070;
}

.pros_depros table tr:last-child {
    border-bottom: none;
}

.pros_depros table tr:first-child td {
    background: #2bb028;
    color: white;
    text-align: center;
}

.pros_depros table tr:first-child td:not(:last-child) {
    border-right: solid 1px white;
}

.pros_depros table tr:not(:first-child) td:not(:last-child) {
    border-right: solid 1px #707070;
}

.pros_depros table tr:not(:first-child) td {
    background: white;
    padding-left: 10px;
    vertical-align: middle;
}

.pros_depros table tr:first-of-type td:first-of-type {
    border-radius: 20px 0 0 0;
}

.pros_depros table tr:first-of-type td:last-of-type {
    border-radius: 0 20px 0 0;
}

.pros_depros table tr:last-of-type td:first-of-type {
    border-radius: 0 0 0 20px;
}

.pros_depros table tr:last-of-type td:last-of-type {
    border-radius: 0 0 20px 0;
}

/* area-shikuchoson */
.background_image.area_shikuchoson {
    background-image: url(../img/area-shikuchoson/furniture_haikei.png);
    height: 900px;
    align-items: flex-start;
}

.mb-100 {
    margin-bottom: -100px;
}

.area_shikuchoson .charaback {
    position: relative;
    display: flex;
    justify-content: center;
}

.pl70 {
    padding-left: 70px;
}

.area_shikuchoson .charaback .fv_text {
    position: absolute;
    top: 80px;
}

h2.size24 {
    font-size: 24px;
    bottom: 60px;
}

.pb60 {
    padding-bottom: 60px;
}

h2.size30 {
    font-size: 30px;
}

span.size24 {
    font-size: 24px;
}

.content h2 {
    text-align: center;
}

.content h3 {
    width: 100%;
    margin: 70px auto 20px;
    padding: 14px 10px;
    color: #494949;
    /*文字色*/
    background: #f1f5f3;
    /*背景色*/
    border-left: solid 5px #2bb028;
    /*左線（実線 太さ 色）*/
    font-size: 19px;
}

.wp-block-table th,
.wp-block-table td {
    border: 1px solid #a9a9a9;
}

h3.mt10 {
    margin-top: 10px;
}

.color_blue {
    color: #2bb028;
}

.size24 {
    font-size: 24px;
}

.area_shikuchoson .post_content table {
    width: 100%;
}

.area_shikuchoson .post_content th,
.area_shikuchoson .post_content td {
    width: auto;
    display: table-cell;
}

.area_shikuchoson .post_content td a {
    text-decoration: underline;
}

.out_line_scrollHint {
    -webkit-animation: FloatHorizontal 2s ease-in-out infinite alternate;
    animation: FloatHorizontal 2s ease-in-out infinite alternate;
    margin-bottom: 2px !important;
    text-align: right;
}

.out_line_scrollHint span {
    align-items: center;
    display: inline-flex;
    font-size: 12px;
    line-height: 1;
    opacity: .75;
    vertical-align: middle;
}

.out_line_scrollHint span i {
    font-size: 16px;
    margin-left: 4px;
}

.li-check.li-mainbdr.main-c-before {
    margin-bottom: 20px;
}

@keyframes FloatHorizontal {
    50% {
        -webkit-transform: translate3d(-15px, 0, 0);
        transform: translate3d(-15px, 0px, 0px);
    }
}

.area_shikuchoson .post_content table {
    border-spacing: 0;
    overflow: hidden;
    padding: 0;
    margin-top: 30px;
    background: white;
    font-size: 15px;
}

.area_shikuchoson .post_content table tr:first-of-type {
    font-weight: bold;
}


.post_content ul,
.post_content ol {
    /* width: 80%; */
    margin: 0 auto;
}

.post_content table,
.post_content td {
    border: 1px solid #a9a9a9;
    font-size: 15px;
    padding: 2px 10px;
}

/* .post_content table {
margin: 30px auto;
} */

.area_shikuchoson .accordion {
    width: 100%;
    border-radius: 15px;
}

.area_shikuchoson .accordion p:first-of-type {
    padding: 15px 12px;
    font-weight: bold;
}

@media screen and (max-width: 575px) {
    .area_shikuchoson .accordion p:first-of-type {
        padding: 9px 12px;
    }

    .area_shikuchoson .accordion {
        border-radius: 10px;
    }
}

/* accordion */
.accordion p {
    word-break: keep-all;
}

.accordion_open_text span:last-child {
    display: none;
}

/* disposal_items */
.disposal_items h1,
.disposal_items h2 {
    word-break: break-all;
    line-height: 1.2;
}

/* .disposal_items .content {
display: flex;
flex-flow: column;
align-items: center;
} */

.disposal_items .content h2,
.page_qustion .ti02 {
    text-align: center;
    padding: 1rem 2rem;
    color: #fff;
    margin-bottom: 30px;
    margin-top: 50px;
    background: #008e50;
    -webkit-box-shadow: 5px 5px 0 #007032;
    box-shadow: 5px 5px 0 #097144;
    font-size: 28px;
    width: 100%;
}

.disposal_items .content .no-tag {
    text-align: center;
    font-size: 16px;
    width: 820px;
}

.disposal_items .content p+div {
    margin: 20px 0;
}

.disposal_items .content ul,
.disposal_items .content ol {
    width: 100%;
    font-size: 16px;
    line-height: 1.5;
    padding: 9px 20px;
}

.disposal_items .content p+ul,
.disposal_items .content ol {
    margin: 20px auto;
    width: 100%;
}

.disposal_items .content img.size-large {
    width: 100%;
    transform: scale(1.2);
    padding: 50px 0;
}

.disposal_items .content .w_b_w100,
.disposal_items .content>p {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    font-size: 16px;
    line-height: 2em;
    margin-top: 15px;
    /* text-align: center; */
}

.disposal_items .content .w_b_w100 {
    width: 100%;
}

.disposal_items .content h4 {
    margin: 30px auto;
}

.disposal_items .content blockquote+p {
    text-align: center;
}

.disposal_items .content iframe {
    margin: 30px auto;
}

.disposal_items .content table,
.disposal_items .content th,
.disposal_items .content td {
    border: 1px solid #d2d2d2;
    /* border-collapse: separate;/* border-collapse: separate; */
    border-spacing: 0;
    font-size: 16px;
    margin: 10px auto;
    background: white;
}

.disposal_items .content td:nth-child(odd) {
    width: 205px;
    padding: 10px;
}

.disposal_items .content a {
    color: #0091c9;
}

.w_b_oh {
    overflow: visible !important;
}

img.w_b_ava_img.w_b_w100.w_b_h100.w_b_mp0.w_b_img {
    /*z-index: 9999;*/
    border: 1px solid #c2c2c2;
    position: relative;
    border-radius: 100px;
    overflow: hidden;
}

.disposal_items .content p strong {
    line-height: 60px;
}

.disposal_items .content strong a {
    text-decoration: underline;
}

.disposal_items .content div.case {
    margin-top: 80px;
}

.disposal_items .content .case-ashiato {
    margin: 20px auto 40px;
}

.disposal_items .content img.size-large {
    margin: 20px auto;
}

/* anything */
/* company */
.areabox02.company>* {
    display: none;
}

.areabox02.company>.company-box {
    display: block;
}

.company-box table {
    width: 100%;
    font-size: 18px;
    font-weight: bold;
    line-height: 170%;
    background: white;
}

.company-box table th {
    font-weight: bold;
    text-align: left;
    vertical-align: top;
    background: #efefef;
    padding: 15px 20px;
    width: 24%;
}

.company-box table td {
    text-align: left;
    vertical-align: top;
    padding: 15px 7px;
    word-break: keep-all;
}

.company-box table,
.company-box th,
.company-box td {
    border: 1px solid black;
}

/* privacy */
.privacy p {
    font-size: 21px;
    word-break: keep-all;
}

.privacy h2 {
    font-size: 32px;
    color: #2bb028;
    text-align: center;
    margin: 20px auto;
}

/* sitemap */
.sitemap p:first-of-type {
    font-size: 21px;
    word-break: keep-all;
}

.sitemap h2 {
    font-size: 32px;
    color: #2bb028;
    text-align: center;
}

.sitemap .ti01 {
    display: block;
    font-weight: bold;
    line-height: 100%;
    color: #2bb028;
    border-left: #2bb028 solid 10px;
    background: #dbe9f3;
    padding: 17px 40px;
    margin-bottom: 25px;
}

.offer_deta01 ul.list_area>li.list_itm_area {
    display: block;
    background: url(../img/ihin/time2.png) left top no-repeat;
    background-size: 35px auto;
    font-size: 21px;
    font-weight: bold;
    text-align: left;
    line-height: 100%;
    border-left: 0px;
    border-right: 0px;
    border-top: 0px;
    border-bottom: #848484 dotted 2px;
    padding: 5px 0 12px 55px;
    margin-bottom: 15px;
}

.offer_deta01 ul.list_area>li.list_itm_area span {
    font-size: 21px;
}

@media screen and (max-width: 575px) {
    .offer_deta01 ul.list_area>li.list_itm_area span {
        font-size: 16px;
    }
}

.sitemap a:link,
.sitemap a:visited {
    text-decoration: underline;
    color: #000;
}

/* tablet */
@media screen and (min-width: 769px) and (max-width: 1099px) {
    .wrap {
        padding: 0 10px;
    }

    nav.nav_menu_pc ul {
        flex-wrap: wrap;
    }

    nav.nav_menu_pc ul li {
        margin: 5px 20px;
    }

    header div img {
        max-width: 33vw;
        margin: ;
    }

    nav.nav_menu_pc li:nth-child(1) {
        width: 39%;
    }

    nav.nav_menu_pc li:nth-child(8) {
        width: 50%;
        text-align: right;
    }

    nav.nav_menu_pc li:nth-child(2) {
        order: 1;
    }

    nav.nav_menu_pc li:nth-child(2) {
        order: 1;
    }

    nav.nav_menu_pc li:nth-child(3) {
        order: 2;
    }

    nav.nav_menu_pc li:nth-child(4) {
        order: 3;
    }

    nav.nav_menu_pc li:nth-child(5) {
        order: 4;
    }

    nav.nav_menu_pc li:nth-child(6) {
        order: 5;
    }

    nav.nav_menu_pc li:nth-child(7) {
        order: 6;
    }

    .background_image.area_tofuken {
        height: auto;
        max-width: 100%;
    }

    .whiteback {
        width: 630px;
        height: 450px;
    }

    .whiteback::after {
        background-size: 75%;
        background-repeat: no-repeat;
        background-position-x: right;
        right: -70px;
        bottom: -110px;
    }

    .mikan_plate {
        width: 136px;
        height: 40px;
        font-size: 18px;
        margin: 5px;
    }

    .fz35 {
        font-size: 30px;
    }

    .mr200 {
        margin-right: 120px;
    }

    .blue_circle {
        width: 136px;
        height: 136px;
        font-size: 30px;
        margin: 20px 10px;
    }

    .w700 {
        width: auto;
    }

    .contact_top {
        top: 0;
    }

    .card img {
        height: 80px;
    }

    .reason:not(.smartphone) {
        justify-content: center;
    }

    .reason:not(.smartphone) img:first-of-type {
        margin-bottom: 40px;
    }

    .magokoro_set {
        padding: 10px;
    }

    .free_estimation {
        padding: 20px;
    }

    .right_model_contents ul {
        margin-left: 50px;
    }

    .sideboards {
        display: none;
    }

    .before_image img.desktop {
        width: 45vw;
        max-width: fit-content;
    }

    .before_image::after {
        left: calc(102vw / 2);
    }

    .to_right {
        display: block;
        justify-content: inherit;
    }

    .warning .warning_body {
        padding: 30px;
    }

    .news_section {
        margin-bottom: 40px;
        justify-content: center;
    }

    .news_section .blue_button {
        margin: 12px 32px 40px;
    }

    .news_section li {
        width: 680px;
        padding: 6px 18px;
    }

    .shitsumon {
        width: 86vw;
        max-width: 750px;
    }

    .ft_box_l {
        border-left: solid 1px #7697aa;
        border-right: solid 1px #7697aa;
        padding: 0 10px;
        flex-basis: 340px;
    }

    .ft_box_center {
        padding: 0 10px;
        flex-basis: 255px;
    }

    .ft_box_r {
        padding: 0 10px;
        flex-basis: 170px;
        align-items: center;
    }

    /* service */
    .width820 {
        max-width: 750px;
    }

    /* pg_fuyouhin */
    .width810 {
        max-width: 750px;
    }

    .pg_fuyouhin .flow .step {
        width: calc(100vw / 6);
    }

    /* pg_gomi */
    .mondai_box {
        width: 750px;
    }

    .mondai_box p {
        width: 500px;
    }

    .mondai_box img {
        left: 12px;
    }

    .mondai_box:nth-child(even) img {
        right: 20;
    }

    .pg_gomi h3 {
        letter-spacing: 2.5px;
    }

    /* pg_moving */
    .pg_moving .buyings {
        width: 750px;
    }

    .pg_moving .buying_box {
        width: 180px;
    }

    /* area */
    .jp_map {
        background-size: 730px auto;
        height: 600px;
        width: 730px;
        margin: auto;
    }

    .jp_map div {
        width: 170px;
        height: 180px;
        padding: 5px 5px 12px;
    }

    .jp_map p {
        font-size: 20px;
    }

    .jp_map a {
        font-size: 18px;
        width: 135px;
        height: 30px;
        margin: 1px auto;
    }

    .jp_map .kyushu {
        left: 12px;
        bottom: 0;
        width: 330px;
    }

    .jp_map .chugoku {
        left: 210px;
        top: 0;
        height: 180px;
    }

    .jp_map .kansai {
        left: 360px;
        bottom: 0;
    }

    .jp_map .chubu {
        left: 400px;
        top: 0;
        height: 150px;
    }

    .jp_map .kanto {
        left: 550px;
    }

    .jp_map .kansai a {
        height: 24px;
    }

    .page_region_box {
        flex-flow: column;
        margin-bottom: 40px;
    }

    .page_region_box h3.smartphone {
        font-size: 15px;
        margin: 0 auto;
    }

    .page_region_box img {
        width: 225px;
        margin: 15px auto;
    }

    .page_region_text_box {
        margin-left: 15px;
        font-size: 15px;
        word-break: normal;
        max-width: 750px;
        margin: auto;
    }

    .page_region .blue_button {
        margin: 15px auto 40px;
        width: 150px;
    }

    /* area_tofuken */
    .post_content .case .case-content .case-info {
        margin: 15px 35px;
    }

    .post_content .case .case-content dd:first-of-type {
        position: initial;
        text-align: center;
        max-width: 100%;
    }

    .post_content .case .case-content dt {
        flex-basis: 80px;
        margin-left: calc(50vw - 384px);
    }

    .post_content .case .case-content dd:not(:first-of-type)::before {
        content: "・・・";
    }

    .post_content .case .case-content dd:not(:first-of-type) {
        padding: 0 0.4em 0 3em;
        text-indent: -3em;
    }

    .case .case-content .case-image-wrap img {
        width: 45vw;
        min-width: 45vw;
        max-width: fit-content;
    }

    .case-image-wrap::after {
        left: calc(105vw / 2);
    }

    .case-info dd:last-child {
        border-bottom: none;
    }

    .case-info dt {
        text-align: left;
        padding-left: 15px;
        border-right: none;
        border-bottom: solid 3px #004771;
    }

    .case-info dt:nth-of-type(even) {
        border-bottom: 0;
    }

    .case-info dt:first-of-type {
        border-radius: 16px 16px 0 0;
    }

    .case-info dt:last-of-type {
        border-radius: 0;
    }

    .case-info dd:last-of-type {
        border-radius: 0 0 16px 16px;
    }

    /* area_shikuchoson */
    .background_image.area_shikuchoson {
        height: 100vw;
    }

    .area_shikuchoson .charaback .fv_text {
        top: calc(8vw + 0px);
        font-size: calc(3vw - 3px);
    }

    .mb60 {
        margin-bottom: 30px;
    }

    .spacebottom120 {
        margin-bottom: 60px;
    }

    .inquiry {
        margin-bottom: 60px;
    }

    /* contact */
    .contact .form-group {
        flex-wrap: wrap;
    }

    .contact p {
        width: initial;
    }

    .contact input[type="text"],
    .contact input[type="email"],
    .contact select,
    .contact textarea {
        width: 700px;
    }

    .contact .checkboxs {
        width: 700px;
    }

    .contact .mw_wp_form .horizontal-item {
        width: 348px;
    }

    .fo-btn .dfjb {
        display: block;
        margin: auto;
    }

    .fo-btn .blue_button {
        margin: 60px auto;
    }

    .privacy p {
        word-break: initial;
    }

    /* disposal_items */
    #content-top {
        overflow-x: hidden;
    }

    .disposal_items .left-inner {
        display: flex;
        flex-flow: column;
        align-items: center;
    }

    .disposal_items h2 {
        word-break: keep-all;
        line-height: 1.2;
        letter-spacing: -1px;
    }

    .disposal_items .content img.size-large {
        width: 100%;
        transform: scale(1);
        padding: 20px 0;
    }

    .disposal_items .content .no-tag {
        width: 730px;
    }

    .disposal_items .content,
    .disposal_items .content>p {
        width: 730px;
        max-width: 730px;
    }

    .w_b_w100 {
        width: 600px;
        max-width: 600px;
    }

    .disposal_items .content table,
    .disposal_items .content th,
    .disposal_items .content td {
        width: 730px;
    }

    .disposal_items .case-image-wrap::after {
        left: 430px;
    }

    .disposal_items .case .case-content .case-image-wrap img {
        width: 45vw;
        min-width: inherit;
        max-width: fit-content;
    }
}

/* ??? */
@media screen and (min-width: 576px) and (max-width: 768px) {

    .background_image {
        height: 440px;
        max-width: 100%;
        top: 94px;
        margin-bottom: 60px;
    }

    .whiteback {
        width: 500px;
        height: 340px;
    }

    .whiteback::after {
        background-size: 50%;
        background-repeat: no-repeat;
        background-position-x: right;
        right: -20px;
        bottom: -230px;
    }

    .mikan_plate {
        width: 100px;
        height: 35px;
        font-size: 14px;
        margin: 5px;
    }

    .fz35 {
        font-size: 24px;
    }

    .small_font {
        font-size: 16px;
        padding: 5px;
    }

    .mr200 {
        margin-right: 80px;
    }

    .blue_circle {
        width: 100px;
        height: 100px;
        font-size: 24px;
        margin: 20px 10px;
        padding-top: 12px;
    }

    .w700 {
        width: auto;
    }

    .blocks p {
        text-align: left;
        line-height: 1.2;
        margin-bottom: 5px;
    }

    .blocks p .smartphone {
        display: none;
    }

    .contact_top {
        top: 0;
    }

    .inquiry {
        margin-bottom: 50px;
    }

    .card img {
        height: 60px;
    }

    p.cheers {
        font-size: 16px;
        margin-right: 0;
    }

    .reason:not(.smartphone) {
        display: none;
    }

    .magokoro_set {
        padding: 10px;
    }

    .magokoro_set_text {
        text-align: left;
    }

    .free_estimation {
        padding: 20px;
    }

    .right_model_contents ul {
        margin-left: 50px;
    }

    .sideboards {
        display: none;
    }

    .souji p {
        margin-bottom: 100px;
    }

    .before_image img.smartphone {
        width: 44vw;
        max-width: fit-content;
    }

    .before_image::after {
        left: calc(102vw / 2);
    }

    .to_right {
        display: block;
        justify-content: inherit;
    }

    .warning .warning_body {
        padding: 30px;
    }

    .news_section {
        margin-bottom: 40px;
        justify-content: center;
    }

    .news_section .blue_button {
        margin: 12px 32px 40px;
    }

    .news_section li {
        width: 550px;
        padding: 6px 18px;
    }

    .news_section li a {
        font-size: 16px;
    }

    .shitsumon {
        width: 86vw;
        max-width: 750px;
    }

    .ft_box {
        border: none;
        padding-top: 0;
    }

    .ft_box span {
        margin-bottom: 15px;
        padding: 15px;
        background: #fff;
        width: 550px;
        height: 38px;
        font-size: 18px;
        display: flex;
        align-items: center;
    }

    .ft_box_l {
        border: none;
        padding: 0;
        flex-basis: 1px;
    }

    .ft_box_l section {
        justify-content: space-around;
        padding: 0 16px;
    }

    .ft_box_l section div:nth-child(odd) ul {
        margin: 0;
    }

    .ft_box_center {
        padding: 0;
        flex-basis: auto;
    }

    .ft_box_center section {
        justify-content: space-around;
        padding: 0 16px;
    }

    .ft_box_r {
        border: none;
        padding: 0;
        flex-basis: auto;
    }

    .ft_box_r p {
        margin-left: 16px;
    }

    /* service */
    .width820 {
        max-width: 530px;
    }

    .pan_menu {
        padding-top: 120px;
    }

    .service_box {
        flex-flow: column;
        align-items: center;
        margin-bottom: 0;
    }

    .offer_txt_hako {
        margin-left: 0;
    }

    .pg_money .fixed_charge_word {
        letter-spacing: 5.5px;
    }

    .before_image::before,
    .before_image::after {
        font-size: 24px;
        width: 130px;
        height: 40px;
        top: -65px;
    }

    .before_image::after {
        left: calc(105vw / 2);
    }

    /* pg_fuyouhin */
    p.size32 {
        font-size: 24px;
    }

    .width810 {
        max-width: 530px;
    }

    /* #buying span.blue_text {
font-size: 45px;
} */

    /* .pg_fuyouhin h3 {
font-size: 24px;
bottom: 40px;
} */

    .buyings {
        justify-content: center;
    }

    .pg_fuyouhin .flow {
        flex-flow: column;
    }

    .pg_fuyouhin .flow .step {
        margin-bottom: 25px;
    }

    .quotation_text {
        width: 530px;
    }

    /* pg_gomi */
    .mondai_box {
        width: 530px;
    }

    .mondai_box img {
        left: 12px;
    }

    .mondai_box:nth-child(even) img {
        right: 20px;
    }

    .mondai_box p {
        margin-left: 120px;
    }

    .mondai_box:nth-child(even) p {
        margin-left: 15px;
        margin-right: 120px;
    }

    .pg_gomi h3 {
        letter-spacing: 0.5px;
    }

    .pros li {
        font-size: 20px;
    }

    /* pg_moving */
    .pg_moving .buyings {
        width: 530px;
    }

    .pg_moving .buying_box {
        width: 130px;
    }

    /* pg_seiri */
    p.yasukusoku_text.size30 {
        font-size: 20px;
    }

    .pg_nagare .step {
        width: 530px;
    }

    .pg_nagare.offer_txt_hako {
        width: 530px;
        margin: 30px auto 50px;
    }

    /* area */
    .jp_map {
        background: none;
        height: auto;
        display: flex;
        flex-flow: column-reverse;
    }

    .page_region .jp_map div {
        position: initial;
        border: solid 2px #2bb028;
        border-radius: 10px;
        width: 350px;
        height: auto;
        margin: 5px auto;
        padding: 12px;
    }

    .jp_map div::before,
    .jp_map div::after {
        display: none;
    }

    .jp_map p {
        font-size: 17px;
        padding-left: 15px;
    }

    .jp_map a {
        font-size: 15px;
        color: white;
        width: 320px;
        height: 40px;
        border-radius: 20px;
        margin: 10px auto;
    }

    .page_region_box {
        flex-flow: column;
        margin-bottom: 40px;
    }

    .page_region_box h3.smartphone {
        font-size: 18px;
        margin: 0 auto;
    }

    .page_region_box img {
        width: 225px;
        margin: 15px auto;
    }

    .page_region_text_box {
        margin-left: 15px;
        font-size: 15px;
        word-break: normal;
        max-width: 530px;
        margin: auto;
    }

    .page_region .blue_button {
        margin: 15px auto 40px;
        width: 150px;
    }

    /* area_tofuken */
    .wrap.area_tofuken {
        padding: 0 5px;
    }

    .background_image.area_tofuken {
        height: 100vw;
        top: 0;
        margin-bottom: -30px;
    }

    .background_image.area_tofuken img {
        width: 400px;
        padding: 0 !important;
    }

    .area_tofuken p.fz18.fwb.tac.lh2 {
        font-size: 15px;
        font-weight: normal;
        text-align: left;
        line-height: 1.5;
        padding: 0 15px;
    }

    .area_tofuken .area.mt60 {
        display: flex;
    }

    .area_tofuken .area.mt60 div {
        padding: 0;
    }

    .area_tofuken iframe {
        width: 530px;
        height: 400px;
    }

    .wrap.post_content.custom {
        padding: 0 5px;
    }

    .area_tofuken .accordion {
        border-radius: 10px;
    }

    .area_tofuken .accordion p:first-of-type {
        padding: 9px 12px;
        font-weight: bold;
    }

    .post_content .case .case-content h4 {
        font-size: 15px;
        border-top: solid 2px #D5EAD8;
        margin: 0 20px;
        padding: 5px 0;
    }

    .post_content .case .case-content .case-info {
        margin: 0 37px 15px;
    }

    .post_content .case .case-content dd:first-of-type {
        position: initial;
        text-align: center;
        font-size: 15px;
        font-weight: bold;
        max-width: 100%;
        word-break: keep-all;
    }

    .post_content .case .case-content dt {
        flex-basis: 56px;
        border-radius: 9px;
        font-size: 10px;
        height: 18px;
        margin-left: 0;
        margin-right: 70%;
        padding: 0 0 2px;
    }

    .post_content .case .case-content dd:not(:first-of-type) {
        flex-basis: 350px;
        border: none;
        font-size: 13px;
        margin-bottom: 6px;
        padding: 0;
        text-indent: 0;
        word-break: keep-all;
    }

    .post_content .case .case-content dd:not(:first-of-type)::before {
        content: "";
        display: none;
    }

    .area_tofuken .magokoro_set_text {
        padding-top: 30px;
    }

    .area_tofuken .magokoro_nashi_ari {
        padding-bottom: 30px;
    }

    .area_tofuken .post_content .case {
        margin: 10px auto;
        border-radius: 10px;
    }

    .area_tofuken .post_content .case h3 {
        font-size: 15px;
        border-radius: 4px 4px 0 0;
        padding: 5px 12px;
    }

    .souji {
        margin-bottom: 40px;
    }

    .case .case-content .case-image-wrap img {
        width: 43%;
        box-sizing: border-box;
    }

    .case-image-wrap {
        margin-top: 30px;
        background-size: 26px;
    }

    .case-image-wrap::before {
        left: 12px;
    }

    .case-image-wrap::after {
        right: 12px;
    }

    .case-image-wrap::before,
    .case-image-wrap::after {
        font-size: 15px;
        border-radius: 15px;
        width: 130px;
        height: 30px;
        top: -40px;
    }

    .ts5 {
        transform: scale(0.5);
    }

    .case-info dd:last-child {
        border-bottom: none;
    }

    .case-info dt {
        text-align: left;
        padding-left: 15px;
        border-right: none;
        border-bottom: solid 3px #004771;
    }

    .case-info dt:nth-of-type(even) {
        border-bottom: 0;
    }

    .case-info dt:first-of-type {
        border-radius: 16px 16px 0 0;
    }

    .case-info dt:last-of-type {
        border-radius: 0;
    }

    .case-info dd:last-of-type {
        border-radius: 0 0 16px 16px;
    }

    .case-ashiato {
        margin: 15px auto 50px;
        font-size: 15px;
    }

    .characteristics.index {
        padding: 0;
    }

    .post_content {
        max-width: 100%;
        overflow-x: hidden;
    }

    .post_content h2 {
        font-size: 18px;
        text-align: center;
    }

    .post_content h3 {
        font-size: 16px;
        margin: 35px auto 20px;
    }

    .post_content:not(.custom) p {
        max-width: 530px;
        margin: auto;
        line-height: 1.5;
        word-break: keep-all;
        overflow-x: hidden;
    }

    .pros_depros .index {
        padding: 0;
    }

    .pros_depros p {
        padding: 0 25px;
    }

    .pros_depros table {
        font-size: 15px;
    }

    .pros_depros table tr td.size24.header_ao {
        background: #2bb028;
        color: white;
        text-align: center;
        height: 45px;
        padding: 0;
    }

    .pros_depros td.size24 {
        font-size: 14px;
    }

    .pros_depros td {
        width: 50%;
        display: table-cell;
        padding-right: 5px;
    }

    .pros_depros table tr:first-of-type td:last-of-type {
        border-radius: 20px 20px 0 0;
    }

    .nfc_kaiketsu {
        padding: 0;
    }

    .nfc_kaiketsu article {
        justify-content: center;
    }

    .score {
        bottom: -54px;
        width: 45px;
        left: 3px;
    }

    .score_background {
        width: 350px;
        height: auto;
        border-radius: 10px;
        margin: 0 5px 20px !important;
    }

    .score_background .score_txt {
        font-size: 14px;
        padding: 10px 14px;
    }

    /* area_shikuchoson */
    .background_image.area_shikuchoson {
        height: 130vw;
        top: 0;
        margin-bottom: -60px;
    }

    .area_shikuchoson.service h2 {
        letter-spacing: 6px;
    }

    .area_shikuchoson .mondai_box {
        width: 500px;
    }

    /* faq */
    .faq-box-sub {
        word-break: initial;
    }

    /* contact */
    .contact .form-group {
        flex-wrap: wrap;
    }

    .contact p {
        width: initial;
    }

    .contact input[type="text"],
    .contact input[type="email"],
    .contact select,
    .contact textarea {
        width: 530px;
    }

    .contact .checkboxs {
        width: 530px;
    }

    .contact .mw_wp_form .horizontal-item {
        width: 260px;
    }

    .fo-btn .dfjb {
        display: block;
        margin: auto;
    }

    .fo-btn .blue_button {
        margin: 60px auto;
    }

    .privacy p {
        word-break: initial;
    }

    /* disposal_items */
    #content-top {
        overflow-x: hidden;
    }

    .disposal_items .left-inner {
        display: flex;
        flex-flow: column;
        align-items: center;
    }

    .disposal_items .content img.size-large {
        width: 100%;
        transform: scale(1);
        padding: 20px 0;
    }

    .disposal_items .content .no-tag {
        width: 530px;
    }

    .disposal_items .content,
    .disposal_items .content>p {
        width: calc(100vw - 100px);
        max-width: calc(100vw - 100px);
    }

    .w_b_w100 {
        width: 500px;
        max-width: 500px;
    }

    .disposal_items .content table,
    .disposal_items .content th,
    .disposal_items .content td {
        width: 530px;
    }

    .disposal_items .case-image-wrap::after {
        left: inherit;
        right: 0;
    }

    .disposal_items .case .case-content .case-image-wrap img {
        width: 35vw;
        min-width: inherit;
        max-width: 35vw;
    }
}

/*smartphone */
@media screen and (max-width: 575px) {

    /* index */

    .fz11 {
        font-size: 11px;
    }

    .blocks.mr200 {
        margin-right: 0;
    }

    .blocks.w700 {
        max-width: 100%;
    }

    .background_image {
        background-image: url(../img/top/top_back_dark.png);
        max-width: 100%;
        height: auto;
        top: 40px;
    }

    .whiteback {
        padding: 0;
        width: 307px;
        height: 256px;
    }

    .whiteback::after {
        background-size: cover;
        width: 70px;
        height: 105px;
        right: 6px;
        bottom: 3px;
    }

    .mikan_plate {
        background: var(--mikan_color);
        width: 65px;
        height: 22px;
        border-radius: 5px;
        font-size: 10px;
        color: white;
        margin: 10px 5px;
        padding-top: 3px;
    }

    .fv_text .border_btm_line {
        font-size: 16px;
        margin-left: 0px;
    }

    .fv_text .border_btm_line .small_font {
        font-size: 13px;
        padding: 5px;
    }

    .blue_circle {
        background: #2bb028;
        width: 68px;
        height: 68px;
        font-size: 16px;
        margin: 10px 6px;
        padding-top: 10px;
    }

    .blocks.pr90 {
        display: block;
        margin-left: 30px;
    }

    .blocks p {
        text-align: left;
        font-size: 12px;
        line-height: 1.2;
        margin-bottom: 5px;
    }

    .blocks p .mikan {
        font-size: 20px;
    }

    .blocks .small_font {
        font-size: 11px;
        padding: 5px;
    }

    .blocks .middle_font {
        font-size: 14px;
    }

    /* inquiry */
    .inquiry {
        margin: 30px auto;
    }

    .muryou_call {
        margin-bottom: 9px;
    }

    .contact_top {
        margin: 105px auto 50px;
    }

    /* card */
    p.step_head {
        font-size: 20px;
        margin-bottom: 25px;
    }

    .card {
        margin-bottom: 50px;
    }

    .card img {
        height: 35px;
        max-width: 50px;
    }

    /* mask */
    .mask .step_head {
        letter-spacing: 1.2px;
    }

    .mask .step_conent {
        font-size: 15px;
        padding: 0 23px;
        letter-spacing: 0.15px;
    }

    /* score10 */
    .score10 p.cheers {
        font-size: 14px;
        margin-right: 0;
        padding-top: 20px;
    }

    .score10 img.top_icon {
        transform: scale(1);
    }

    .cheers::before {
        margin-right: 5px;
    }

    .cheers::before,
    .cheers::after {
        width: 17px;
        height: 20px;
    }

    .reason {
        margin: 0;
    }

    .reason img:first-child {
        margin-bottom: 25px;
    }

    .reason.desktop {
        display: none;
    }

    .big_arrow {
        display: block;
        margin: 0 auto 25px;
        transform: scale(0.5);
    }

    .yasukusoku_text {
        font-size: 20px !important;
        margin-bottom: 18px;
    }

    /* score975 */
    .score975 .index {
        padding: 0;
    }

    span.cheers {
        font-size: 14px;
        margin: 4px;
    }

    span.cheers::before,
    span.cheers::after {
        width: 9px;
    }

    .score975 {
        margin-bottom: -30px;
    }

    .score975 img {
        margin-top: -50px;
    }

    /* web_camp */
    .web_camp_text {
        font-size: 15px;
        margin-bottom: 25px;
        margin-top: 25px;
        line-height: 1.5;
        padding: 0 18px;
        word-break: break-word;
    }

    .web_camp {
        margin: 50px 0 30px;
    }

    /* price */
    .spacetop120 {
        margin-top: 0;
    }

    .price img {
        margin-bottom: 15px;
    }

    .price img:last-of-type {
        margin-bottom: 25px;
    }

    /* set */
    .magokoro_set,
    .free_estimation {
        padding: 0;
        bottom: 25px;
    }

    .magokoro_set_text {
        font-size: 15px;
        text-align: left;
        line-height: 1.5;
        margin: 0 25px;
    }

    .magokoro_nashi_ari {
        margin-bottom: 25px;
    }

    .free_estimation {
        padding: 0;
        height: auto;
    }

    .magokoro_set_text,
    .free_estimation_text {
        font-size: 15px;
    }

    .free_estimation .free_estimation_text {
        line-height: 1.5;
        margin: 0 25px;
    }

    .magokoro_set_text span,
    .free_estimation_text span {
        font-size: 17px;
    }

    /* example */
    .right_model_contents ul {
        /* justify-content: space-evenly; */
        padding: 0;
    }

    .right_model_contents a {
        width: 33.3333333%;
        border: 5px solid #FFFCDE;
        margin: 0;
    }

    .right_model_contents li {
        height: 46px;
        border-radius: 12px;
        margin: 0;
        padding: 5px;
        font-size: 9px;
        box-sizing: border-box;
        width: 100%;
    }


    .right_model_contents li img {
        max-height: -webkit-fill-available;
        max-width: 35%;
    }

    .right_model_contents span.cheers {
        margin: 0 0 0 40px;
        font-size: 14px;
    }

    .right_model_contents p {
        font-size: 15px;
        line-height: 1.6;
        margin-bottom: 25px;
    }

    .spacebottom120 {
        margin-bottom: 0;
    }

    /* flow */
    .flow .step {
        padding-top: 20px;
        height: 250px;
    }

    .flow .step:last-of-type {
        margin-bottom: 30px;
    }

    .flow .blue_button {
        /* border-radius: 20px; */
        margin: auto;
        width: 150px;
        height: 40px;
        color: #000;
    }

    /* sideboards */
    .sideboards {
        display: none;
    }

    /* area */
    .area {
        margin-bottom: 15px;
    }

    .area div {
        margin-bottom: 15px;
    }

    .accordions {
        margin-bottom: 50px;
    }

    .accordion {
        margin: 10px auto 0;
    }

    .accordion i {
        margin-top: 6px;
    }

    .accordion p:first-of-type {
        font-size: 15px;
        padding: 5px 12px 5px 32px;
    }

    /* souji */
    .souji {
        margin-bottom: 25px;
    }

    .souji p.tac {
        font-size: 15px;
        font-weight: normal;
        text-align: left;
        width: 280px;
        margin: auto;
    }

    .before_image {
        margin-top: 65px;
    }

    .before_image::before {
        left: 12px;
    }

    .before_image::after {
        right: 12px;
    }

    .before_image::before,
    .before_image::after {
        font-size: 15px;
        border-radius: 15px;
        width: 130px;
        height: 30px;
        top: -40px;
    }

    .before_image img {
        width: 43%;
    }

    .ts5 {
        transform: scale(0.5);
    }

    /*
table th,
table td {
width: 100%;
display: block;
} */

    .before_eexample table tr:last-child {
        border-bottom: none;
    }

    .before_eexample table td:nth-child(odd) {
        text-align: left;
        padding-left: 15px;
        border-right: none;
        /* border-bottom: solid 3px #004771; */
    }

    /* .before_eexample table tr:first-of-type td:first-of-type {
border-radius: 16px 16px 0 0;
} */
    .before_eexample table tr:last-of-type td:last-of-type {
        border-radius: 0 0 16px 16px;
        border-bottom: none;
    }

    .before_eexample .ashiato {
        font-size: 15px;
        line-height: 1.5;
        margin: 20px auto 0;
        padding: 20px;
        border-radius: 5px;
        filter: drop-shadow(3px 3px 0 #00000029);
    }

    /* voice */
    .review_hukidashi01,
    .review_hukidashi02 {
        padding: 20px 37px 40px;
        margin-bottom: 25px;
    }

    .review_left {
        margin-top: 175px;
    }

    .set {
        width: 150px;
        font-size: 20px;
        border-radius: 5px;
        word-break: keep-all;
    }

    .set span {
        margin-right: 5px;
    }

    .voice_right p span {
        letter-spacing: 0;
    }

    .infomation {
        font-size: 15px !important;
        margin-bottom: 20px;
    }

    .voice_right p {
        font-size: 14px;
        letter-spacing: 0.9px;
    }

    .voice .blue_button {
        margin: 25px auto;
    }

    /* warning */
    .warning {
        margin: 50px auto;
        padding: 20px 12px 16px;
        font-size: 15px;
    }

    .warning .warning_head {
        font-size: 20px;
    }

    .warning .warning_body {
        padding: 15px 0;
        font-weight: lighter;
    }

    /* accordion2 */
    .accordion2 {
        margin: 10px auto;
    }

    .ti03 {
        font-size: 15px;
        padding: 10px;
        border-radius: 10px;
    }

    .disposal_box {
        margin-bottom: 25px;
        padding: 10px;
        font-size: 15px;
        line-height: 1.5;
        letter-spacing: 1.6px;
    }

    /* news_section */
    .news_section {
        margin: 50px auto;
        justify-content: center;
    }

    .news_section .hidari_title {
        margin: auto;
    }

    .news_section .ti01 {
        font-size: 20px;
    }

    .news_section li {
        width: 350px;
        max-width: 350px;
        display: flex;
        flex-flow: column;
        font-size: 14px;
        font-weight: bold;
        padding: 5px 0;
    }

    .news_section li a {
        margin-left: 0;
        font-size: 14px;
    }

    .news_section .blue_button {
        margin: 12px auto 18px;
    }

    .blue_button {
        font-size: 15px;
        color: #000;
        /* border-radius: 32px; */
        padding: 20px;
        margin: 60px 32px;
        width: 130px;
        height: 40px;
    }

    .blue_button.area_small {
        font-size: 12px;
    }

    /* qustion */
    #area,
    #price,
    #flow,
    #voice,
    #example,
    #services,
    #qustion {
        margin-top: 70px;
        padding-top: 0;
    }

    .index img {
        transform: scale(0.56);
    }

    .index p {
        font-size: 20px;
        bottom: 30px;
        letter-spacing: 0px;
    }

    #qustion p {
        margin-bottom: 0;
    }


    .qustion {
        margin-bottom: 30px;
    }

    .shitsumon {
        margin: 0 auto 10px;
        padding: 20px 18px;
        max-width: 100%;
    }

    .enquete_title {
        font-size: 17px;
        line-height: 25px;
    }

    .enquete_txt {
        font-size: 15px;
    }

    /* footer */
    .ft_box {
        border: none;
        padding-top: 0;
    }

    .ft_box span {
        background: #fff;
        margin-bottom: 15px;
        padding: 15px;
        color: #2bb028;
        width: 350px;
        height: 38px;
        font-size: 18px;
        display: flex;
        align-items: center;
    }


    .ft_box_l {
        border: none;
        padding: 0;
        flex-basis: 1px;
    }

    .ft_box_l section {
        flex-wrap: wrap;
        padding: 0 16px;
    }

    .ft_box_l section div:nth-child(odd) ul {
        margin: 0;
    }

    .ft_box_center {
        padding: 0;
        flex-basis: auto;
    }

    .ft_box_center section {
        padding: 0 16px;
    }

    .ft_box_r,
    .ft_box_r2 {
        border: none;
        padding: 0;
        flex-basis: auto;
        margin-bottom: 40px;
    }

    .ft_box_r p {
        margin-left: 16px;
    }

    /* ??? */

    p.cheers {
        margin-right: 0;
    }

    .accordions_left {
        width: 100%;
        padding-right: 0;
    }

    .accordions_right {
        width: 100%;
        padding-left: 0;
    }

    .to_right {
        display: block;
        justify-content: initial;
    }

    /* service */
    nav.nav_menu ul {
        flex-flow: column;
        font-size: 20px;
        padding: 10px;
    }

    nav.nav_menu ul li a {
        padding: 0.5em 0;
    }

    .pan_menu {
        padding-top: 94px;
        font-size: 9px;
    }

    .width820 {
        max-width: 100%;
    }

    .spacetop30 {
        margin-top: 15px;
    }

    .mbtm_20 {
        margin-bottom: -10px;
    }

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

    .offer_txt_top {
        margin: 0 35px 50px;
    }

    .service h3 {
        background: #2bb028;
        width: 250px;
        height: 30px;
        border: solid 2px #2bb028;
        border-radius: 15px;
        margin: 0 auto 10px;
        font-size: 14px;
    }

    .service_box img {
        width: 50%;
    }

    .service_box {
        flex-flow: column;
        align-items: center;
        margin-bottom: 0;
    }

    .offer_txt_hako {
        margin: 0 auto;
    }

    .offer_txt_hako p {
        width: 250px;
        margin: 20px auto;
        font-size: 15px;
    }

    .offer_txt_hako a {
        font-size: 15px;
        width: 150px;
        height: 40px;
        /* border-radius: 5px; */
        margin: 10px auto;
    }

    .spacebottom80 {
        margin-bottom: 50px;
    }

    .service .amount_txt2 {
        margin: 20px auto 10px;
        padding: 0 5px;
    }

    .web_camp_img.smartphone {
        margin-bottom: 50px;
    }

    /* pg_money */
    .wrap.pg_money.spacebottom80 {
        margin-bottom: 25px;
    }

    .pg_money #pg_money {
        margin: 0;
    }

    #pg_money img {
        margin: -35px auto 0;
    }

    .pg_money_text {
        margin: 0 20px;
    }

    .pg_money .magokoro_set_text {
        top: 65px;
        padding-bottom: 25px;
        margin: 0 35px;
    }

    .pg_money .free_estimation_text {
        top: 35px;
    }

    .pg_money .magokoro_nashi_ari {
        margin-bottom: 50px;
    }

    .index.pg_money {
        margin-top: 50px;
        padding: 0;
    }

    .pg_money .fixed_charge_img {
        transform: scale(0.8);
    }

    .pg_money .fixed_charge_word {
        font-size: 20px;
        line-height: 1.25;
        letter-spacing: 3.7px;
        bottom: 25px;
    }

    .pack_charge_contents {
        margin: 0 auto 50px;
    }

    .index.instantly {
        padding: 0;
    }

    .pg_money .instantly_img {
        transform: scale(0.9);
    }

    .pg_money .instantly_text {
        font-size: 20px;
        line-height: 1.25;
        letter-spacing: 0 !important;
        bottom: 25px;
    }

    .custom_img {
        width: 150px;
        /* margin: 60px auto 25px; */
    }

    .custom_text {
        margin: 0 20px 25px;
        line-height: 1.5;
    }

    /* .sample {
margin: -10px auto 50px;
} */
    .sample_box {
        width: 160px;
        height: 300px;
        padding-bottom: 10px;
        border: solid 2px #2bb028;
        border-radius: 10px;
        margin: 5px;
        margin-bottom: 40px;
    }

    .sample_box h3 {
        padding: 0 0 4px;
        padding-top: 10px;
        font-size: 24px;
        color: #fff;
        border-radius: 7px 7px 0 0;
    }

    .sample_box p {
        font-size: 13px;
        letter-spacing: 0.4px;
    }


    .sample_box img {
        margin-top: 20px;
        height: 45px;
        width: 60%;
    }

    .sample_box div {
        margin-top: 5px;
    }

    p.sample_price {
        /* border-bottom: solid 2px #ff8c37; */
        font-size: 22px;
        letter-spacing: 0.5px;
        line-height: 1.5;
    }

    p.sample_price::before {
        font-size: 10px;
        padding: 3px;
    }

    p.sample_price::after {
        font-size: 10px;
        padding: 3px;
    }

    .sample_box span {
        font-size: 8px;
        margin: 3px auto;
        line-height: 1.2;
    }

    .index .souji_img {
        transform: scale(0.65);
    }

    .cleaning_text {
        letter-spacing: 0 !important;
    }

    /* page_region */
    div.page_region.mbtm_100 {
        margin-bottom: -10px;
    }

    #page_region {
        margin: 0 auto;
        margin-top: 50px;
    }

    #page_region img {
        transform: scale(1);
    }

    .jp_map {
        background: none;
        height: auto;
        display: flex;
        flex-flow: column-reverse;
    }

    .page_region .jp_map div {
        position: initial;
        border: solid 2px #2bb028;
        border-radius: 10px;
        width: 350px;
        height: auto;
        margin: 5px auto;
        padding: 12px;
    }

    .jp_map div::before,
    .jp_map div::after {
        display: none;
    }

    .jp_map p {
        font-size: 17px;
        padding-left: 15px;
    }

    .jp_map a {
        font-size: 15px;
        color: white;
        width: 320px;
        height: 40px;
        border-radius: 20px;
        margin: 10px auto;
    }

    .jp_map .void_a {
        display: none;
    }

    .pickup .pickup_img {
        transform: scale(0.9);
    }

    .pickup .pickup_text {
        font-size: 20px;
        line-height: 1.25;
        letter-spacing: 3.7px;
        bottom: 35px;
        margin-bottom: -10px;
    }

    .page_region_box {
        flex-flow: column;
        margin-bottom: 40px;
    }

    .page_region_box h3.smartphone {
        font-size: 15px;
        margin: 0 auto;
    }

    .page_region_box img {
        width: 225px;
        height: auto;
        margin: 15px auto;
    }

    .page_region_text_box {
        margin-left: 15px;
        font-size: 15px;
        word-break: normal;
    }

    .page_region .blue_button {
        margin: 15px auto 0;
        width: 150px;
    }

    /* pg_gomi */
    .pg_gomi .trash_image {
        margin-top: -35px;
    }

    .pg_gomi .trash_text {
        margin: 20px auto -10px;
        padding: 0 10px;
        font-weight: normal;
        letter-spacing: 0.15px;
    }

    .pg_gomi h3 {
        font-size: 20px;
        bottom: 33px;
        letter-spacing: 3.7px;
    }

    .pg_gomi p.fz18.tac {
        font-size: 15px;
        text-align: left;
        padding: 0 20px;
    }

    .pg_gomi.mondai {
        margin-bottom: 30px;
    }

    .mt60 {
        margin-top: 20px;
    }

    .pg_gomi .mondais p.width820 {
        padding: 0 25px;
    }

    .mondai {
        padding: 0;
    }

    .mondai p.fz18.tac.mb60 {
        margin-bottom: 25px;
        padding: 0 40px;
    }

    .mondai_box {
        border: solid 3px black;
        border-radius: 10px;
        width: 350px;
        height: auto;
        min-height: 74px;
        margin: 5px auto;
        justify-content: initial;
    }

    .mondai_box img {
        width: 49px;
        left: 10px;
        right: 0;
    }

    .mondai_box:nth-child(even) img {
        left: 10px;
        right: 0;
    }

    .mondai_box p {
        font-size: 15px;
        padding: 13px 13px 13px 61px;
    }

    .mondais .top_icon {
        width: 180px;
    }

    .mondais span.fz20 {
        font-size: 10px;
    }

    .mondais span.size30 {
        font-size: 15px;
    }

    .width810 {
        width: auto;
    }

    .pg_gomi.pros {
        margin-top: 50px;
    }

    .pros h3 {
        letter-spacing: 0;
    }

    .pros ul {
        margin-top: 0;
    }

    .pros li {
        font-size: 13px;
        margin-bottom: 20px;
    }

    .pros li img {
        margin-right: 18px;
        width: 64px;
    }

    small.size16 {
        font-size: smaller;
    }

    .pros p.fz18 {
        font-size: 15px;
        font-weight: normal;
        padding: 0 25px;
    }

    .pg_fuyouhin.quotation {
        margin-top: 70px;
    }

    .quotation_text {
        width: auto;
        font-size: 15px;
        font-weight: normal;
        line-height: 1.5;
        padding: 0 25px;
        margin: 0 auto;
    }

    .pg_fuyouhin .flow {
        flex-flow: column;
        margin: 20px auto 30px;
    }

    .pg_fuyouhin .flow .step {
        width: 314px;
        height: 250px;
        margin-bottom: 25px;
    }

    .pg_fuyouhin .flow .step:last-of-type {
        margin-bottom: 0;
    }

    .pg_fuyouhin .step img:first-of-type {
        margin-bottom: 15px;
    }

    .pg_fuyouhin p.step_head {
        font-size: 20px;
        margin: 0;
    }

    .pg_fuyouhin .step img:last-of-type {
        order: 1;
        margin: 0 auto 30px;
        margin-top: 20px;
    }

    .asap_content {
        margin: 0 auto;
        padding: 0 12px;
    }

    .pg_fuyouhin .voice {
        padding: 0;
    }

    .pg_fuyouhin .set span {
        margin-right: 5px;
    }

    .pg_fuyouhin .voice_right span {
        font-size: 16px;
    }

    .pg_fuyouhin.service h3 {
        font-size: 15px;
        letter-spacing: 0;
    }

    .offer_txt_hako a {
        /* border-radius: 10px; */
        margin: 10px auto 50px;
    }

    .service_box:last-of-type a {
        margin: 10px auto 0;
    }

    /* pg_fuyouhin */
    .pg_fuyouhin .cheers {
        font-size: 16px;
    }

    .yasukusoku_text {
        font-size: 13px !important;
        margin-bottom: 9px;
    }

    .yasukusoku_text img:first-of-type {
        transform: scale(1);
        vertical-align: baseline;
        width: 220px;
    }

    .pg_fuyouhin .yasukusoku_img {
        transform: scale(1);
        width: 200px;
    }

    .pg_fuyouhin .waste_disposal_text {
        font-size: 15px;
        bottom: 0;
        margin: 20px auto 50px;
    }

    .buying p {
        text-align: left;
    }

    .buying p.fz18.tac {
        font-size: 15px;
        font-weight: normal;
        padding: 0 25px;
    }

    .buyings {
        margin: 0 auto 30px;
    }

    .buying_box:first-of-type {
        margin-top: 0;
    }

    .buying_box:not(:first-of-type) {
        margin-top: 30px;
    }

    .buying_box p {
        font-size: 14px;
        font-weight: normal;
        line-height: 1.8;
        padding: 0 45px;
    }

    .buying p.fz18.fwb.mt60 {
        font-size: 15px;
        font-weight: normal;
        padding: 0 34px;
    }

    .pg_fuyouhin.pros {
        margin-top: 50px;
        margin-bottom: 30px;
    }

    .pros h3 {
        line-height: 1.2;
    }

    /* pg_moving */
    .moving_image {
        width: 220px;
    }

    .pg_moving .moving_text {
        font-size: 15px;
        margin: 20px auto 50px;
        padding: 0 25px;
    }

    .pg_moving h3 {
        font-size: 20px;
        line-height: 1.2;
        bottom: 33px;
        letter-spacing: 3.7px;
    }

    .pg_moving p.fz18.fwb.tac {
        font-size: 15px;
        font-weight: normal;
        text-align: left;
        padding: 0 35px;
    }

    .pg_moving .buyings {
        max-width: 100%;
        margin-bottom: 0;
    }

    .pg_moving .buying_image {
        width: 100px;
        margin-top: 10px;
    }

    .pg_moving .buying_txt {
        font-size: 15px;
        font-weight: normal;
        margin: 20px auto;
        padding: 0 35px;
    }

    .pg_moving .right_model_text {
        text-align: center;
    }

    .pg_moving .buying_box {
        width: 177px;
        margin: 0;
    }

    .pg_moving .buying_box p {
        font-size: 15px;
        font-weight: bold;
        line-height: 1.8;
        text-align: center;
        padding: 0;
    }

    .index .instantly_img {
        transform: scale(0.9);
        margin-top: 50px;
    }

    .mb60 {
        margin-bottom: 30px;
    }

    p.fz18.fwb.wbbw {
        font-size: 15px;
        font-weight: normal;
        margin: 20px auto 0;
        padding: 0 35px;
    }

    /* ihin */
    .pg_seiri .cheers {
        margin-top: 30px;
        font-size: 15px;
    }

    .pg_seiri .mement_image {
        transform: scale(1);
        width: 220px;
        margin: 0;
    }

    .pg_seiri .waste_disposal_text {
        font-size: 15px;
        margin: 20px auto 50px;
        padding: 0 5px;
    }

    .pg_seiri h3 {
        font-size: 20px;
        line-height: 1.2;
        bottom: 23px;
        letter-spacing: 3px;
    }

    .pg_seiri p.fz18.fwb.tac {
        font-size: 15px;
        font-weight: normal;
        margin: 0 auto 20px;
    }

    .pg_seiri .mondai_box {
        min-height: 72px;
    }

    .pg_seiri p.fz20.wbbw {
        font-size: 15px;
        padding: 0 44px;
    }

    .pg_seiri p.fz20.mt60.lh2 {
        font-size: 15px;
        line-height: 1.5;
        padding: 0 34px;
    }

    .pg_seiri table {
        margin: 5px auto 0;
    }

    .pg_seiri tr {
        display: flex;
        align-items: center;
        height: 46px;
    }

    .pg_seiri td {
        font-size: 19px;
        margin: 0;
        padding: 0;
    }

    .pg_seiri td:first-child {
        padding-left: 0;
    }

    .pg_seiri td:last-child {
        padding-left: 30px;
    }

    .suitable_times {
        padding: 0;
    }

    #suitable_times span {
        letter-spacing: -2.5px;
    }

    .suitable_times h3 {
        bottom: 33px;
    }

    .suitable_times p {
        font-size: 15px;
        line-height: 1.5;
        padding: 0 34px;
    }

    .clean_myself {
        margin-top: 50px;
    }

    .clean_myself div {
        padding: 0;
    }

    .clean_myself h3 {
        bottom: 33px;
    }

    .clean_myself p.fz20 {
        font-size: 15px;
        line-height: 1.5;
        margin: 0 auto 20px;
        padding: 0 34px;
    }

    .pg_seiri .instantly_img {
        margin-top: 20px;
    }

    /* pg_nagare */
    .pg_nagare .flow_text {
        margin: 5px auto 30px;
        padding: 0 25px;
        letter-spacing: 0 !important;
    }

    .pg_nagare .step {
        width: 330px;
        height: auto;
        padding: 15px 0;
    }

    .pg_nagare p.step_head {
        font-size: 15px;
    }

    .pg_nagare p.step_conent {
        font-size: 14px;
        margin: 15px auto 10px;
    }

    .pg_nagare .estimation {
        display: block;
        margin: 0;
    }

    .pg_nagare .estimation a:first-of-type {
        margin: 0;
    }

    .pg_nagare .estimation a img {
        width: 288px;
        margin: 10px auto;
    }

    .pg_nagare.offer_txt_hako {
        width: auto;
        margin: 30px auto 50px;
    }

    .pg_nagare .card {
        width: auto;
        margin: -10px auto 18px;
        padding: 0 50px;
    }

    .pg_nagare .card img {
        height: 40px;
    }

    .pg_nagare.offer_txt_hako {
        width: auto;
        display: block;
        margin: 50px auto;
    }

    .pg_nagare.offer_txt_hako a {
        width: 200px;
        height: 40px;
        line-height: 2;
        border-radius: 10px;
        margin: 30px auto;
    }

    /* area_tofuken */
    .wrap.area_tofuken {
        padding: 0 5px;
    }

    .background_image.area_tofuken {
        height: 523px;
        top: 0;
        margin-bottom: -60px;
    }

    .background_image.area_tofuken img {
        width: 310px;
        padding: 0 !important;
    }

    .area_tofuken p.fz18.fwb.tac.lh2 {
        font-size: 15px;
        font-weight: normal;
        text-align: left;
        line-height: 1.5;
        padding: 0 15px;
    }

    .area_tofuken .area.mt60 {
        display: flex;
    }

    .area_tofuken .area.mt60 div {
        padding: 0;
    }

    .area_tofuken iframe {
        width: 265px;
        height: 301px;
    }

    .wrap.post_content.custom {
        padding: 0 5px;
    }

    .area_tofuken .accordion {
        border-radius: 10px;
    }

    .area_tofuken .accordion p:first-of-type {
        padding: 9px 12px;
        font-weight: bold;
    }

    .post_content .case .case-content h4 {
        font-size: 15px;
        border-top: solid 2px #D5EAD8;
        margin: 0 20px;
        padding: 5px 0;
    }

    .post_content .case .case-content .case-info {
        margin: 0 37px 15px;
    }

    .post_content .case .case-content dd:first-of-type {
        position: initial;
        text-align: center;
        font-size: 15px;
        font-weight: bold;
        max-width: 100%;
        word-break: keep-all;
    }

    .post_content .case .case-content dt {
        flex-basis: 56px;
        border-radius: 9px;
        font-size: 10px;
        height: 18px;
        margin-left: 0;
        margin-right: 70%;
        padding: 0 0 2px;
    }

    .post_content .case .case-content dd:not(:first-of-type) {
        flex-basis: 350px;
        border: none;
        font-size: 13px;
        margin-bottom: 6px;
        padding: 0;
        text-indent: 0;
        word-break: keep-all;
    }

    .post_content .case .case-content dd:not(:first-of-type)::before {
        content: "";
        display: none;
    }

    .area_tofuken .magokoro_set_text {
        padding-top: 30px;
    }

    .area_tofuken .magokoro_nashi_ari {
        padding-bottom: 30px;
    }

    .area_tofuken .post_content .case {
        margin: 10px auto;
        border-radius: 10px;
    }

    .area_tofuken .post_content .case h3 {
        font-size: 15px;
        border-radius: 4px 4px 0 0;
        padding: 5px 12px;
    }

    .case .case-content .case-image-wrap img {
        width: 150px;
        box-sizing: border-box;
    }

    .case-image-wrap {
        margin-top: 30px;
        background-size: 26px;
    }

    .case-image-wrap::before {
        left: 12px;
    }

    .case-image-wrap::after {
        right: 12px;
    }

    .case-image-wrap::before,
    .case-image-wrap::after {
        font-size: 15px;
        border-radius: 15px;
        width: 130px;
        height: 30px;
        top: -40px;
    }

    .case-image-wrap img {
        width: 43%;
    }

    .ts5 {
        transform: scale(0.5);
    }

    .case-info dd:last-child {
        border-bottom: none;
    }

    .case-info dt {
        text-align: left;
        padding-left: 15px;
        border-right: none;
        border-bottom: solid 3px #004771;
    }

    .case-info dt:nth-of-type(even) {
        border-bottom: 0;
    }

    .case-info dt:first-of-type {
        border-radius: 16px 16px 0 0;
    }

    .case-info dt:last-of-type {
        border-radius: 0;
    }

    .case-info dd:last-of-type {
        border-radius: 0 0 16px 16px;
    }

    .case-ashiato {
        margin: 15px auto 50px;
        font-size: 15px;
        filter: drop-shadow(3px 3px 0 #00000029);
    }

    .characteristics.index {
        padding: 0;
    }

    .post_content {
        max-width: 100%;
        overflow-x: hidden;
    }

    .post_content h2 {
        font-size: 18px;
        text-align: center;
    }

    .post_content h3 {
        font-size: 16px;
        margin: 35px auto 20px;
    }

    /* delete-css */
    /* .post_content:not(.custom) p {
max-width: 300px;
margin: auto;
line-height: 1.5;
word-break: keep-all;
overflow-x: hidden;
} */

    .pros_depros .index {
        padding: 0;
    }

    .pros_depros p {
        padding: 0 25px;
    }

    .pros_depros table {
        font-size: 15px;
    }

    .pros_depros table tr td.size24.header_ao {
        background: #2bb028;
        color: white;
        text-align: center;
        height: 45px;
        padding: 0;
    }

    .pros_depros td.size24 {
        font-size: 14px;
    }

    .pros_depros td {
        width: 50%;
        display: table-cell;
        padding-right: 5px;
    }

    .pros_depros table tr:first-of-type td:last-of-type {
        border-radius: 20px 20px 0 0;
    }

    .nfc_kaiketsu {
        padding: 0;
    }

    .score {
        bottom: -54px;
        width: 45px;
        left: 3px;
    }

    .score_background {
        width: 350px;
        height: auto;
        border-radius: 10px;
        margin-bottom: 20px !important;
    }

    .score_background .score_txt {
        font-size: 14px;
        padding: 10px 14px;
    }

    /* area_shikuchoson */
    .background_image.area_shikuchoson {
        height: 523px;
        top: 0;
    }

    .background_image.area_shikuchoson img {
        width: 310px;
        padding: 0 !important;
    }

    .mb-100 {
        margin-bottom: -50px;
    }

    .area_shikuchoson .charaback .fv_text {
        top: 40px;
        font-size: 20px;
        text-align: center;
        letter-spacing: 0.2px;
    }

    .mondai.area_shikuchoson .index {
        padding: 0;
    }

    .mondai.area_shikuchoson h2 {
        font-size: 20px;
    }

    .mondai.area_shikuchoson h2 span {
        font-size: 20px;
    }

    .service.area_shikuchoson .mondai_box p {
        font-size: 15px;
        padding: 13px 10px 13px 61px;
        margin-bottom: 0;
    }

    .mondai.area_shikuchoson .top_icon {
        transform: scale(1);
    }

    .service.area_shikuchoson .mondais>p {
        padding: 0 22px;
        margin: 10px 0;
    }

    .post_content p {
        padding-bottom: 10px;
    }

    .area_shikuchoson .post_content {
        /* max-width: 360px; */
        padding: 0;
        line-height: 1.5;
    }

    .area_shikuchoson .post_content th,
    .area_shikuchoson .post_content td {
        width: auto;
        display: table-cell;
    }

    .area_shikuchoson .post_content td a {
        text-decoration: underline;
    }

    .area_shikuchoson .post_content th a {
        color: #fff !important;
    }

    .spacebottom80 {
        margin-bottom: 50px;
    }

    .area_shikuchoson .magokoro_set_text {
        padding-top: 30px;
    }

    .area_shikuchoson .magokoro_nashi_ari {
        padding-bottom: 30px;
    }

    .service.area_shikuchoson h2 {
        line-height: 1.2;
    }

    .service.area_shikuchoson p {
        text-align: left;
        font-size: 15px;
        margin-bottom: 20px;
        padding: 0 25px;
    }

    .area_shikuchoson .area.mt60 {
        display: flex;
    }

    .area_shikuchoson .area.mt60 div {
        padding: 0;
    }

    .area_shikuchoson iframe {
        width: 265px;
        height: 301px;
    }

    /* contact */
    /* #content-top .{
font-size: 40px;
letter-spacing: 0.15px;
} */

    /* #content-top h2 {
font-size: 20px;
bottom: 31px;
letter-spacing: 3.7px;
line-height: 1.2;
} */

    .contact p {
        font-size: 14px;
        width: 350px;
    }

    .contact .form-group {
        flex-wrap: wrap;
        display: block;
    }

    .contact h3 {
        font-size: 16px;
        width: 100%;
    }

    .contact h3::before {
        font-size: 11px;
        border-radius: 5px;
        padding: 4px 10px;
        margin-right: 10px;
    }

    .fz20 {
        font-size: 14px;
    }

    .spaceleft24 {
        margin-left: 0;
    }

    .contact input[type="text"],
    .contact input[type="email"],
    .contact select,
    .contact textarea {
        width: 350px;
        height: 40px;
        border: solid 2px #D5EAD8;
        border-radius: 5px;
        font-size: 15px;
        margin-top: 10px;
        margin-bottom: 10px;
    }

    /* .contact select {
appearance: none;
}

.contact p:after select{
content:"\25bc";
font-size:16px;
color:white;
background:#f3a1a1;
width:42px;
text-align:center;
line-height:3.2em;
top:0;
right:0;
bottom:0;
position:absolute;
scoreer-events:none;
} */

    .contact .red_text,
    .contact .black_text {
        font-size: 14px;
        margin: 4px 0;
        width: 350px;
        letter-spacing: -0.5px;
    }

    .contact .checkboxs {
        width: 350px;
    }

    .size26 {
        font-size: 16px;
    }

    .checkboxs label span {
        padding-top: 5px;
        padding-left: 28px;
        margin-right: 10px;
        margin-bottom: 10px;
        margin-top: 11px;
    }

    .checkboxs label span::before {
        width: 20px;
        height: 20px;
        margin-top: -10px;
        left: 0;
        top: 59%;
        border: solid 2px #D5EAD8;
    }

    .checkboxs label input[type="checkbox"]:checked+span::after {
        width: 20px;
        height: 20px;
        top: 2px;
        font-size: 20px;
        padding-left: 4px;
    }

    .checkboxs .mwform-checkbox-field.horizontal-item:nth-child(8) {
        margin-top: -8px;
    }

    .contact .mw_wp_form .horizontal-item {
        width: 175px;
        height: 44px;
    }

    .contact textarea {
        height: 160px;
    }

    .contact .fo-btn {
        padding: 25px 0;
    }

    .contact input[type="reset"],
    .contact input[type="submit"] {
        -webkit-appearance: none;
        font-size: 20px;
    }

    .contact .blue_button {
        width: 249px;
        height: 51px;
        border-radius: 5px;
        margin: 5px auto;
        padding: 0;
    }

    .dfjb {
        flex-flow: column;
        flex-direction: column-reverse
    }

    /* qustion */
    .page_qustion *,
    .page_qustion p {
        font-size: 15px;
    }

    .page_qustion .ti01 {
        font-size: 20px;
        padding: 10px 20px;
    }

    .shitsumon_catch .list li {
        display: block;
        float: left;
        width: 100%;
        margin-bottom: 15px;
    }

    .faq-box-sub {
        word-break: normal;
    }

    /* info */
    .page_info .info-box .one figure {
        margin-right: 10px;
        max-width: 33%;
    }

    .info-box dd {
        margin: 0;
    }

    /* disposal_items */
    .pan_menu.disposal_items li {
        letter-spacing: -0.7px;
    }

    .disposal_items {
        /*overflow-x: hidden;*/
    }

    .disposal_items .wrap {
        margin: 0;
        padding: 0;
    }

    .disposal_items .index {
        margin: 0;
        padding: 0;
    }

    .disposal_items h2 {
        word-break: normal;
    }

    .disposal_items .content img.size-large {
        transform: scale(1);
        padding: 0;
    }

    .disposal_items .content h2 {
        margin: 30px auto 25px;
        font-size: 22px;
        text-align: left;
        padding: 10px 16px;
    }

    .disposal_items .content .no-tag {
        text-align: left;
        font-size: 14px;
        width: 350px;
    }

    .disposal_items .content p+div {
        margin: 10px 0;
    }

    .disposal_items .content ul,
    .disposal_items .content ol {
        max-width: 350px;
        font-size: 14px;
        padding: 10px;
    }

    .disposal_items .content p+ul,
    .disposal_items .content ol {
        margin: 20px auto;
    }

    .disposal_items .content h3 {
        margin: 35px auto 20px;
    }

    .disposal_items .content .w_b_w100,
    .disposal_items .content>p {
        width: 100%;
        max-width: 100%;
        font-size: 16px;
    }

    .disposal_items .content .w_b_w100 {
        width: 100%;
        max-width: 350px;
    }

    .disposal_items .content h4 {
        margin: 15px auto;
    }

    .disposal_items .content iframe {
        margin: 15px auto;
    }

    .disposal_items .content table,
    .disposal_items .content th,
    .disposal_items .content td {
        border: none;
        margin: 10px auto;
        /* width: 50%; */
        background: none;
    }

    .disposal_items .content td {
        border: 1px solid #d2d2d2;
        margin: 0;
    }

    .disposal_items .content td {
        background: white;
        padding: 10px;
    }

    /* .disposal_items .content td:nth-child(odd) {
width: auto;
background: #2bb028;
color: white;
} */

    /* .disposal_items .content tr:first-of-type td:first-of-type {
border-radius: 8px 8px 0 0;
} */
    .disposal_items .content tr:first-of-type td:last-of-type {
        border-radius: 0;
    }

    .disposal_items .content tr:last-of-type td:first-of-type {
        border-radius: 0;
    }

    .disposal_items .content tr:last-of-type td:last-of-type {
        border-radius: 0 0 8px 8px;
    }

    .disposal_items .content table ul {
        padding: 0 0 0 20px;
    }

    .disposal_items .content p strong {
        line-height: 30px;
    }

    .disposal_items .content div.case {
        margin-top: 40px;
    }

    .disposal_items .content .case-ashiato {
        margin: 10px auto 20px;
    }

    .disposal_items .content img.size-large {
        margin: 10px auto;
    }

    /* anything */
    /* company */
    .company-box table th {
        width: 100%;
    }

    .company-box tr {
        border: none;
    }

    /* privacy */
    .privacy p {
        font-size: 16px;
        word-break: normal;
    }

    #content-top .privacy h2 {
        font-size: 18px;
    }

    /* sitemap */
    .sitemap p:first-of-type {
        font-size: 16px;
    }

    .sitemap h2 {
        font-size: 18px;
    }

    .sitemap .ti01 {
        padding: 8px 20px;
        margin-bottom: 12px;
    }

    .offer_deta01 ul.list_area>li.list_itm_area {
        font-size: 16px;
        padding: 5px 0 12px 45px;
    }

    .sitemap a:link,
    .sitemap a:visited {
        text-decoration: underline;
        color: #000;
    }

    @media(max-width:768px) {

        .company-box table th,
        .company-box table td {
            width: 100%;
            display: block;
        }
    }

    /* pcsp */
    .desktop {
        display: none;
    }

    .smartphone {
        display: block;
    }
}

@media screen and (min-width: 412px) and (max-width: 575px) {
    .pan_menu {
        padding-top: 108px;
    }
}

/*=================================
refactoring
===================================*/

/* heading-parts */

.index .main_heading_eng {
    font-size: clamp(40px, calc(36px + ((100vw - 300px) / 20)), 80px);
    font-weight: bold;
    color: transparent;
    word-break: break-word;
    line-height: 1.2;
}

.index .main_heading_jp {
    margin-top: 100px;
    position: relative;
    font-size: clamp(20px, calc(20px + ((100vw - 300px) / 40)), 40px);
    bottom: clamp(30px, calc(30px + ((100vw - 400px) / 20)), 63px);
}

.index .sub_head_eng {
    font-size: clamp(30px, calc(38px + ((100vw - 300px) / 40)), 60px);
    font-weight: bold;
    color: #AAD4B0;
    opacity: 0;
    letter-spacing: -1px;
    /* line-height: 1.2; */
    /* margin-bottom: 0; */
}

.index .sub_head_jp {
    position: relative;
    font-size: clamp(20px, calc(20px + ((100vw - 300px) / 80)), 30px);
    bottom: clamp(40px, calc(30px + ((100vw - 400px) / 40)), 53px);
    /* line-height: 1.2; */
}

@media screen and (min-width: 576px) and (max-width: 768px) {
    .disposal_items h2 {
        bottom: 40px;
        word-break: initial;
        letter-spacing: -1px;
    }
}

/* @media screen and (max-width: 575px) {
.pg_fuyouhin .{
word-break: break-word;
line-height: 1;
}
} */

/* aftar day tommorow*/
@media screen and (min-width: 1100px) {}

@media screen and (min-width: 769px) and (max-width: 1099px) {}

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

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



/* heading_parts */
_::-webkit-full-page-media,
_:future,
:root .main_heading_eng {
    font-size: 40px;
    font-weight: bold;
    color: var(--main_heading_eng_color);
    word-break: break-word;
    line-height: 1.2;
}

_::-webkit-full-page-media,
_:future,
:root .main_heading_jp {
    position: relative;
    font-size: 20px;
    bottom: 30px;
}

_::-webkit-full-page-media,
_:future,
:root .sub_head_eng {
    font-size: 30px;
    font-weight: bold;
    color: #AAD4B0;
}

_::-webkit-full-page-media,
_:future,
:root .sub_head_jp {
    position: relative;
    font-size: 20px;
    bottom: 20px;
    line-height: 1.2;
}

/* 1025 */

/* _::-webkit-full-page-media,
_:future,
:root input[type="reset"],
_::-webkit-full-page-media,
_:future,
:root input[type="submit"],
_::-webkit-full-page-media,
_:future,
:root input[type="button"] {
border-radius: 0;
-webkit-box-sizing: content-box;
-webkit-appearance: button;
appearance: button;
border: none;
box-sizing: border-box;
background: #2bb028;
font-size: 20px;
color: white;
width: 249px;
height: 51px;
border-radius: 5px;
margin: 5px auto;
padding: 0;
padding-top: 5px;
} */


_::-webkit-full-page-media,
_:future,
:root .contact .mw_wp_form .horizontal-item {
    word-break: normal;
}

/*=================================
ios chrome hack (no-working)
===================================*/
@media screen and (max-width: 575px) {
    .main_heading_eng {
        font-size: 40px;
        font-weight: bold;
        word-break: break-word;
        line-height: 1.2;
    }

    .main_heading_jp {
        position: relative;
        font-size: 20px;
        bottom: 30px;
    }

    .sub_head_eng {
        font-size: 30px;
        font-weight: bold;
        letter-spacing: -1px;
    }

    .sub_head_jp {
        position: relative;
        font-size: 20px;
        bottom: 40px;
        line-height: 1.2;
    }
}

/*=================================
request for revision
===================================*/
.sideboards li:last-child {
    margin-bottom: 0;
}

.twitter-widget {
    overflow-y: scroll;
    margin-bottom: 30px;
}

/*=================================
request for revision
===================================*/
/* @media screen and (min-width: 576px) {
.pan_menu {
margin: 5px auto;
}
} */

.font-mid {
    font-family: 'Noto Sans JP', 'ヒラギノ角ゴ ProN W3', Meiryo, sans-serif;
}

@media screen and (max-width: 575px) {
    .magokoro_set span {
        padding-top: 30px;
    }
}

@media screen and (max-width: 575px) {
    .free_estimation {
        margin-top: 50px;
    }
}

.sideboards {
    height: 1500px;
}

@media screen and (min-width: 769px) {

    .before_image::before,
    .before_image::after {
        /* border: 5px solid black; */
        height: 50px;
        top: -60px;
    }
}

@media screen and (min-width: 576px) {
    .news_section li {
        padding: 18px 18px 6px;
        position: relative;
        display: flex;
        align-items: center;
    }

    .news_section li a {
        position: absolute;
        left: 150px;
    }
}

@media screen and (min-width: 576px) {
    .service .amount_txt2 {
        letter-spacing: 1px;
    }
}

@media screen and (min-width: 576px) {
    .pg_moving .moving_text {
        font-weight: bold;
    }
}

@media screen and (min-width: 576px) {
    .mondai_box img {
        bottom: -1px;
    }
}

@media screen and (min-width: 576px) {
    .pg_moving .asap_content {
        margin-bottom: 60px;
    }
}

@media screen and (min-width: 576px) {
    .pg_fuyouhin.service .sub_head_eng {
        letter-spacing: 4px;
    }
}

@media screen and (max-width: 575px) {
    .mondais span.fz20 {
        position: relative;
        bottom: 2px;
        margin: auto 3px;
    }
}

@media screen and (max-width: 575px) {
    .pg_moving .buyings {
        margin-bottom: 50px;
    }
}

/* @media screen and (max-width: 575px) {
.user_01 img,
.user_02 img {
height: 150px;
}
} */

@media screen and (min-width: 576px) {
    .pg_fuyouhin .waste_disposal_text {
        letter-spacing: 1px;
    }
}

@media screen and (min-width: 576px) {
    .index .sub_head_jp {
        position: relative;
        font-size: clamp(30px, calc(20px + ((100vw - 300px) / 80)), 40px);
        bottom: clamp(40px, calc(30px + ((100vw - 400px) / 40)), 53px);
        color: #2bb028;
        /* line-height: 1.2; */
    }
}

@media screen and (max-width: 575px) {
    .pg_fuyouhin.service h3 {
        display: grid;
        place-items: center;
    }
}

@media screen and (min-width: 576px) {
    .quotation_text {
        text-align: center;
    }
}

@media screen and (min-width: 576px) {
    .contact select {
        font-size: 20px;
    }
}

.sitemap .imgs1 {
    margin-bottom: 25px;
}

@media screen and (max-width: 575px) {
    .service.area_shikuchoson .mondais>p {
        padding: 0px 15px;
    }
}

@media screen and (max-width: 575px) {
    .background_image.area_shikuchoson img {
        height: 430px;
    }
}

@media screen and (min-width: 576px) {
    .pg_fuyouhin .yasukusoku_text {
        letter-spacing: 1px !important;
    }
}

@media screen and (min-width: 576px) {
    .pg_fuyouhin .yasukusoku_text {
        letter-spacing: 1px !important;
    }
}

@media screen and (min-width: 576px) {
    .pan_menu a {
        display: inline-block;
        padding: 5px;
    }
}

@media screen and (max-width: 575px) {
    .buying .sub_head_eng {
        line-height: 1.2;
    }

    .service.area_tofuken .sub_head_jp,
    .service.area_shikuchoson .sub_head_jp,
    .pros .sub_head_jp {
        line-height: 1.2;
    }
}

@media screen and (min-width: 576px) {
    .clean_myself .yasukusoku_text {
        letter-spacing: 2px !important;
    }
}

@media screen and (min-width: 576px) {

    .pg_money_text,
    .custom_text {
        font-weight: bold;
    }
}

.quotation .sub_head_jp {
    letter-spacing: 1px;
}

@media screen and (max-width: 575px) {
    .buying_box p:not(:last-child) {
        font-weight: bold;
    }
}

@media screen and (min-width: 576px) {
    .pg_fuyouhin .blue_button {
        width: 220px;
        height: 50px;
    }
}

@media screen and (max-width: 575px) {
    .pg_money .magokoro_set span {
        padding-top: 0;
    }
}


/* delete-css */
/* @media screen and (max-width: 575px) {
.post_content:not(.custom) p {
word-break: initial;
text-align: center;
}
} */

@media screen and (min-width: 769px) {

    .case-image-wrap::before,
    .case-image-wrap::after {
        border: 5px solid black;
        height: 50px;
        top: -60px;
    }
}

@media screen and (max-width: 1099px) and (min-width: 769px) {
    .background_image.area_tofuken {
        height: 750px;
    }
}

@media screen and (max-width: 575px) {
    .contact p {
        width: 100%;
    }

    .contact input[type="text"],
    .contact input[type="email"],
    .contact select,
    .contact textarea {
        width: 96%;
        margin: 0 auto;
        display: block;
        margin-top: 8px;
        margin-bottom: 8px;
    }
}

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

    .post_content ul,
    .post_content ol {
        width: 530px;
        margin: auto;
    }
}

.post_content.custom.small_area {
    max-width: 1100px;
    margin: auto;
}

@media screen and (max-width: 1099px) and (min-width: 769px) {
    .post_content.custom.small_area {
        padding: 0 10px;
    }

    .post_content .case .case-content dt {
        flex-basis: initial;
    }
}

@media screen and (max-width: 768px) {
    .post_content.custom.small_area {
        padding: 0 10px;
    }
}

@media screen and (min-width: 576px) {
    .index .sub_head_eng {
        font-size: clamp(35px, calc(38px + ((100vw - 300px) / 40)), 70px);
    }
}

@media screen and (max-width: 575px) {
    .nfc_kaiketsu article {
        justify-content: center;
    }

    .post_content .case .case-content dd:not(:first-of-type) {
        word-break: break-word;
    }

    .checkboxs label input[type="checkbox"]:checked+span::after {
        content: "\2714\fe0e";
        font-size: 18px;
        color: white;
        padding-top: 2px;
    }

    .before_eexample span.sub_head_eng {
        margin: 0;
    }

    .buying .index {
        padding: 0;
    }

    .buying .sub_head_eng {
        line-height: normal;
    }

    .pg_moving .moving_text {
        word-wrap: break-word;
    }

    .pros .index {
        padding: 0;
    }
}

@media screen and (max-width: 575px) {
    .pan_menu {
        padding-top: 120px;
        padding-bottom: 10px;
        font-size: 14px;
    }
}

@media screen and (min-width: 576px) {
    .pan_menu a {
        padding: 15px 5px;
    }
}

@media screen and (min-width: 1100px) {
    .news_section {
        margin-bottom: 100px;
    }
}

@media screen and (max-width: 575px) {
    .page_qustion .pan_menu * {
        font-size: 9px;
    }
}

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

    html.is-fixed,
    html.is-fixed body {
        height: 100%;
        overflow: hidden;
    }
}

@media screen and (max-width: 575px) {
    .buying_box {
        margin: auto;
    }
}

@media screen and (min-width: 769px) {
    .news_section li {
        padding: 18px;
    }
}

@media screen and (max-width: 575px) {
    .right_model_contents li img {
        object-fit: contain;
    }
}

.pg_money .fixed_charge_word {
    letter-spacing: 3.7px;
}

@media screen and (max-width: 575px) {
    .area_tofuken .area {
        padding: 0 25px;
    }

    .area_tofuken iframe {
        /* width: 315px; */
        width: 100%;
    }
}

@media screen and (max-width: 575px) {
    .company-box table {
        font-size: 13px;
    }
}

/* area調整 */
.jp_map div {
    width: 170px;
}

.jp_map a {
    width: 140px;
}

.jp_map .kyushu {
    width: 315px;
}

.jp_map .shikoku {
    left: 355px;
    bottom: 92px;
    height: 220px;
}

.jp_map .kansai {
    left: 540px;
    width: 315px;
    height: 220px;
    bottom: 92px;
}

.jp_map .chubu {
    left: 540px;
    height: 312px;
    padding: 8px 8px 25px;
}

.jp_map .kanto {
    left: 740px;
    width: 320px;
}

.jp_map .kanto::before,
.jp_map .kanto::after {
    left: 30%;
}

@media screen and (min-width: 769px) and (max-width: 1099px) {
    .jp_map div {
        width: 120px;
    }

    .jp_map a {
        width: 100px;
    }

    .jp_map .kyushu {
        width: 235px;
    }

    .jp_map .shikoku {
        left: 255px;
        bottom: 30px;
        height: 150px;
    }

    .jp_map .shikoku a {
        width: 90px;
    }

    .jp_map .kansai {
        left: 382px;
        bottom: 0;
        width: 210px;
        height: 180px;
    }

    .jp_map .kansai a {
        width: 90px;
        height: 30px;
    }

    .jp_map .chubu {
        left: 355px;
        height: 180px;
    }

    .jp_map .kanto {
        left: 600px;
    }
}

@media screen and (min-width: 576px) and (max-width: 768px) {
    .jp_map {
        margin-bottom: 20px;
    }
}

@media screen and (min-width: 769px) and (max-width: 1099px) {
    .jp_map {
        height: 570px;
    }
}

.dropdown:hover ul li {
    margin: 0;
    width: 100% !important;
}

.delete_element {
    display: none;
}

.keiko_blue {
    font-weight: 900;
    padding-bottom: 0px;
    background: linear-gradient(transparent 50%, #c5f278 0%);
}

.right_model_contents li {
    position: relative;
}

.right_model_contents li a {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    border-radius: 12px;
}

.post_content:not(.custom) table tr td p img {
    display: initial;
}

#price_table {
    text-align: center;
    font-size: 1.2rem;
}

#price_table th {
    background: #2bb028;
    color: #fff;
    text-align: center;
}

#price_table th:not(:last-child) {
    border-right: solid 1px white;
}

#price_table,
#price_table td {
    border: 1px solid #2bb028;
    border-collapse: separate;
    border-spacing: 0;
    background: white;
}

#price_table thead th {
    border-bottom: 0;
}

@media (max-width: 768px) {

    #table th,
    #table td,
    #price_table th,
    #price_table td {
        width: 100%;
        text-align: center;
        display: table-cell !important;
    }

    #price_table {
        font-size: 0.8rem;
    }

    #price_table th {
        background: #2bb028;
        color: #fff;
    }

    .page_region_text_box a {
        padding-right: 10px;
        line-height: 2;
    }

    .disposal_items h1,
    .disposal_items h2 {
        word-break: break-all;
    }

    nav.nav_menu ul li a:active {
        background-color: #fff;
        color: #2bb028;
    }

    .inquiry img:active,
    .inquiry img:focus {
        transform: translate(0, 5px);
    }

    .ft_box a:active {
        color: #2bb028;
        font-weight: 900;
    }
}

.example-textonly {
    margin-top: 40px;
}

.example-textonly ul {
    display: flex;
    list-style: none;
    flex-wrap: wrap;
    justify-content: center;
}

.example-textonly li {
    width: 18%;
    text-align: center;
    height: 50px;
    line-height: 50px;
    margin: 0 2px 10px 10px;
    /* box-shadow: 4px 4px rgb(0 0 0 / 10%); */
    border-radius: 4px;
}

.example-textonly li:nth-child(odd) {
    background-color: #fff;
}

.example-textonly li:nth-child(even) {
    background-color: #FFF469;
}

.example-textonly li a {
    text-decoration: none;
    color: #000;
    font-size: 16px;
}

@media (max-width: 768px) {
    .example-textonly {
        margin-top: 20px;
    }

    .example-textonly ul {
        align-items: center;
    }

    .example-textonly li {
        width: 29%;
        height: 40px;
        line-height: 10px;
        align-self: center;
    }

    .example-textonly li a {
        font-size: 12px;
        line-height: 1.2;
        display: flex;
        height: 40px;
        justify-content: center;
        align-items: center;
        word-break: break-all;
    }
}

#postinner-accordion,
#postinner-accordion .accordion_open {
    background: none;
}

#accordion-text {
    background: #7bccfe;
}

#date_txt {
    text-align: right;
}


a.btn-c {
    font-size: 1rem;
    position: relative;
    padding: 1rem;
    color: #fff;
    background: #e94919;
    -webkit-box-shadow: 0 5px 0 #d44114;
    box-shadow: 0 5px 0 #d44114;
    font-weight: 900;
    margin-bottom: 10px;
}

a.btn-c span {
    font-size: 1.5rem;
    position: absolute;
    top: -1.25rem;
    left: calc(50% - 150px);
    display: block;
    width: 300px;
    padding: 0.2rem 0;
    color: #d44114;
    border: 2px solid #d44114;
    border-radius: 100vh;
    background: #fff;
    -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
}

a.btn-c span:before,
a.btn-c span:after {
    position: absolute;
    left: calc(50% - 10px);
    content: "";
}

a.btn-c span:before {
    bottom: -10px;
    border-width: 10px 10px 0 10px;
    border-style: solid;
    border-color: #d44114 transparent transparent transparent;
}

a.btn-c span:after {
    bottom: -7px;
    border-width: 10px 10px 0 10px;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
}

/* a.btn-c i {
margin-right: 1rem;
} */

a.btn-c:hover {
    -webkit-transform: translate(0, 3px);
    transform: translate(0, 3px);
    color: #fff;
    background: #eb5b30;
    -webkit-box-shadow: 0 2px 0 #d44114;
    box-shadow: 0 2px 0 #d44114;
}

/* author-css */
.author-info.pastel-bc {
    margin: 0 auto;
    margin-bottom: 10px;
}

.author-info__inner .tb {
    border-radius: 3px;
    background: #fff;
    border: 1px solid #8d8d8d;
}

.tb {
    display: table;
    width: 100%;
}

.author-info__inner .tb-left {
    width: 220px;
    border-right: 2px #eaedf2 dashed;
    text-align: center;
    padding: 0px 30px 20px 30px;
}

.author-info__inner .tb-left .aut {
    display: block;
    width: 100%;
    padding: 0;
    vertical-align: middle;
    line-height: 1.3;
}

.author-info__inner .tb-left dt {
    font-size: 19px;
    font-weight: bold;
    margin-top: 25px;
}

.author-info__inner .tb-left dd {
    padding-top: 4px;
    color: #686868;
    font-size: 15px;
    font-weight: bold;
}

.tb-left,
.tb-right {
    display: table-cell;
    vertical-align: middle;
}

.author-info__inner .tb-right {
    width: calc(100% - 220px);
    padding: 20px;
    font-size: 1rem;
    line-height: 1.7;
    position: relative;
}

.follow_btn {
    margin: 0 8px 5px 0;
}

.author_label span {
    display: inline-block;
    position: relative;
    min-width: 220px;
    max-width: 100%;
    margin: 0 0 15px;
    padding: 6px 12px;
    border-radius: 20px;
    background: #eaedf2;
    color: #555;
    font-size: 16px;
    font-weight: bold;
    z-index: 2;
    margin-bottom: 20px;
}

.author_label span:before {
    position: absolute;
    top: 100%;
    left: 33px;
    border: 13px solid transparent;
    border-top: solid 10px #eaedf2;
    content: "";
}

.author_label span::before {
    z-index: -1;
    top: calc(100% - 15px);
    left: 50px;
    border: 15px solid transparent;
    border-top: solid 30px #eaedf2;
    transform: rotate(-40deg);
}

.author_img {
    display: inline-block;
    width: 110px;
    height: 110px;
    margin: 0;
    vertical-align: middle;
}

.author_img img {
    border: solid 5px #dfe2e8;
    border-radius: 50%;
    margin-bottom: 0 !important;
}

span.kansyu {
    font-size: 11px;
}

@media(max-width:768px) {
    .author-info.pastel-bc {
        width: 96%;
    }

    .author-info.pastel-bc {
        margin: 0 5px;
    }

    .author_label {
        margin-top: 10px;
    }

    .author-info__inner .tb-right {
        width: 100%;
        padding: 10px;
    }

    .tb-right p {
        text-align: center;
        padding: 0;
    }

    .author-info__inner .tb {
        box-shadow: 0 0 4px grey;
    }

    .follow_btn.dfont {
        text-align: center;
        width: 100%;
    }

    .author-info__inner .tb-left {
        padding: 12px;
    }

    span.license.strong {
        font-size: 14px;
    }

    .author_img {
        width: 90px;
        height: 90px;
    }
}

/* timeline-css */
.timeline {
    list-style: none;
}

.timeline li {
    margin-bottom: 30px;
}

.timeline-content {
    margin-top: 1rem;
}

ul.timeline {
    background-color: #fffef6;
    border: dashed 1px #e5e5d1;
}

.timeline span.midashi {
    font-weight: 500;
    font-size: 120%;
    color: #fdc44f;
}

ul.timeline li::before {
    font-family: "Font Awesome 5 Free";
    content: "\f111";
    transform: scale(1.0);
    font-weight: bold;
    color: #fdc44f;
    font-size: 80%;
}

@media (min-width: 640px) {
    .timeline li {
        overflow: hidden;
        margin: 0;
        position: relative;
    }

    .timeline-date {
        width: 110px;
        margin-top: 0px;
        font-size: 80%;
    }

    .timeline-content {
        width: auto;
        float: left;
        border-left: 3px #e5e5d1 solid;
        padding-left: 20px;
    }
}

.m-auto {
    margin: 0 auto;
}

.left {
    text-align: left;
}

.super-ashiato {
    margin-bottom: 90px;
}

/* add-css */
.back-yellow {
    background-color: #FFFCDE;
    padding: 40px 0;
}

.green {
    color: #2bb028;
}

#yellow {
    color: #FCEE21;
}

.full-width {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}

.back-green {
    background-color: #D5EAD8;
    padding: 40px 0;
}

.back-green .inquiry {
    margin-top: 30px;
    margin-bottom: 0;
}

#area .sub_head_eng,
#qustion .sub_head_eng {
    color: #fff;
}

.back-green .accordions {
    margin-bottom: 0;
}

.top-ba {
    margin-top: 30px;
}

.top-ba .index.font-mid {
    height: 110px;
}

.cta-line {
    padding-right: 5px;
}

.cta-contact {
    padding-left: 5px;
}

.color-mikan {
    color: #F7931E;
}

.gray-huki {
    display: inline-block;
    position: relative;
    padding: 0 25px;
    color: #000;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 1px;
}

.gray-huki:before {
    left: 0;
    -webkit-transform: rotate(50deg);
    transform: rotate(50deg);
    display: inline-block;
    position: absolute;
    top: 50%;
    width: 20px;
    height: 3px;
    border-radius: 3px;
    background-color: #9e9e9e;
    ;
    content: "";
}

.gray-huki:after {
    right: 0;
    -webkit-transform: rotate(-50deg);
    transform: rotate(-50deg);
    display: inline-block;
    position: absolute;
    top: 50%;
    width: 20px;
    height: 3px;
    border-radius: 3px;
    background-color: #9e9e9e;
    ;
    content: "";
}

.fa-star {
    color: #ffb500;
}

.rate-star {
    display: inline-block;
    margin: 0;
    width: 125px;
    color: rgba(0, 0, 0, 0.15);
    vertical-align: middle;
}

.pg_money {
    padding-top: 80px;
}

.example_title {
    background-color: #FFF469;
    padding: 2px 8px;
    margin-top: 10px;
}

.mikan {
    color: #FF931E;
}

.black {
    color: #000;
}

.white {
    color: #fff !important;
}

.price-ba {
    margin-top: 7 0px;
}

.fuyouhin #yellow {
    color: #fff;
}

.fuyouhin .index .sub_head_eng {
    color: #fff;
}

.buying-title {
    color: #2bb028;
}

.pg_fuyouhin.quotation,
.price-ba {
    margin-top: 70px;
}

.second-step-image {
    margin-left: 10px;
}

.service-ihin .sub_head_eng {
    color: #FCEE21;
}

.ihin-voice .sub_head_eng,
.service-hikkoshi .sub_head_eng {
    color: #fff !important;
}

.ihin-attention {
    margin-top: 100px;
}

.ihin-logo {
    vertical-align: sub;
}

.hikkoshi-quotation .sub_head_eng {
    color: #FCEE21;
}

.buying_box img {
    width: 100px;
    height: auto;
}

.flow-cta {
    max-width: 620px;
    margin: 0 auto;
}

.offer_deta01 p {
    font-size: 18px;
    line-height: 2em;
}

.offer_deta01 h3 {
    color: #2bb028;
    /*文字色*/
    text-align: center;
    margin: 20px 0 20px 0;
    padding: 0.5em 0;
    /*上下の余白*/
    border-top: solid 3px #2bb028;
    /*上線*/
    border-bottom: solid 3px #2bb028;
    /*下線*/
}

.deco-list {
    margin-top: 10px;
    background: #fcfcfc;
    /*背景色*/
    padding: 0.5em 0.5em 0.5em 2em;
    /*ボックス内の余白*/
    border: solid 3px gray;
    /*線の種類 太さ 色*/
}

.deco-list li {
    line-height: 1.5;
    /*文の行高*/
    font-size: 14px;
    padding: 0.5em 0;
    /*前後の文との余白*/
}

.sitemap-list {
    margin-top: 40px;
}

.center {
    text-align: center;
}

.sitemap-cta {
    padding-bottom: 50px;
}

.voice-cta {
    margin-top: 70px;
}

.mw_wp_form .error {
    margin-top: 10px;
}

@media(max-width:768px) {
    .small_font {
        font-size: 16px;
    }

    .whiteback-text {
        margin: 0 auto;
        text-align: center;
    }

    .info-box {
        width: 100%;
    }

    .sp-fv-text {
        margin-left: 15px !important;
    }

    /* .back-yellow{
margin-top: 30px;
} */
    nav.pan_menu ul {
        overflow-x: auto;
        overflow-y: hidden;
        overflow: auto;
        white-space: nowrap;
    }

    .pg_money {
        padding-top: 0px;
    }

    /* .price{
margin-top: 40px;
} */
    .sp-small {
        font-size: 32px !important;
    }

    .sample_box h3::before {
        width: 50px;
        top: 28px;
    }

    .service {
        margin-bottom: 0;
    }

    .service-webwari {
        margin-top: 80px;
    }

    .fuyouhin .right_model_contents a {
        border: 5px solid #D5EAD8;
    }

    .adjust-size {
        font-size: 20px !important;
    }

    .tac h2 {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .ihin-price-left {
        width: 30%;
    }

    .ihin-price-right {
        width: 70%;
    }

    .flow-cta .cta-contact {
        padding-left: 0px;
    }

    .flow-cta .cta-line {
        padding-right: 0px;
    }
}

/* iphone-5 */
@media only screen and (min-device-width:320px) and (max-device-width:568px) {
    .blocks.pr90 {
        display: block;
        margin-left: 0px;
    }

    .news_section li {
        width: 100%;
    }

    .ft_box span {
        width: 100%;
    }

    .ft_box {
        display: block;
        width: 100%;
    }

    .pg_seiri td {
        font-size: 17px;
    }
}

.strong {
    font-weight: 900;
}

/* add-0112 */
@media screen and (max-width: 575px) {
    .single-areas {
        top: 0 !important;
    }

    #area-whiteback {
        width: 310px;
        height: 300px;
    }

    .whiteback-text .single-area-white-text {
        font-size: 19px !important;
        line-height: 1.5em;
    }

    .area-green {
        width: 75px !important;
        height: 75px !important;
        font-size: 18px !important;
    }

    .single-area-block {
        display: block;
        margin-left: 0px;
    }

    .single-small {
        font-size: 16px;
        padding: 3px;
    }

    .blocks .years-text {
        margin-left: 10px !important;
    }

    #years-text {
        padding-top: 10px;
    }

    .solution-text {
        line-height: 1.8em;
        font-size: 15px;
        margin-bottom: 30px;
    }

    .pros_depros table ul {
        font-size: 15px;
    }

    #single-area-voice {
        padding: 10px 0 40px 0;
    }

    #single-area-map {
        margin-top: 40px;
    }
}

@media screen and (max-width: 445px) {
    .score_txt span {
        font-size: 19px;
        margin-top: 10px;
        margin-bottom: 15px;
        padding: 5px 0;
    }
}

#toc_container {
    width: 100%;
    min-width: 100% !important;

}

/* TOC+ */
#toc_container {
    margin: 20px auto 30px;
    background-color: rgba(44, 153, 181, .04);
    /* 目次全体の背景カラー */
    border: 3px solid rgba(64, 105, 144, .2);
    /* 目次全体の枠線 */
    border-radius: 3px;
    box-sizing: border-box;
    padding: 38px 52px;
    display: table;
    min-width: 68%;
    counter-reset: li;
}

/* テーマによるリストの装飾を一旦無効化 */
#toc_container ul.toc_list li::before {
    content: none;
    padding: 0;
    margin: 0;
    width: 0;
    height: 0;
    background: none;
    box-shadow: none;
}

/* 目次の見出しタイトル */
#toc_container .toc_title {
    text-align: center;
    font-weight: bold;
    font-size: 118%;
    padding: 0;
}

/* 見出しタイトル左のアイコン */
#toc_container .toc_title::before {
    position: relative;
    font-size: 28px;
    content: "\2254";
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 34px;
    margin-right: 8px;
    border-radius: 50%;
    vertical-align: baseline;
    speak: none;
    -webkit-font-smoothing: antialiased;
    color: #fff;
    background-color: #5f7b96;
}

/* 表示／非表示トグル */
#toc_container .toc_tgl a {
    font-size: 13px;
    font-weight: normal;
    padding: 2px 4px;
}

/* 目次エリア */
#toc_container p.toc_title+ul.toc_list {
    padding: 20px 0 0;
    margin: 20px 0 0;
    border-top: 1px solid rgba(0, 0, 0, .1);
}

/* リスト共通スタイル */
#toc_container ul.toc_list li {
    position: relative;
    padding: 0;
    margin: 0;
}

/* 目次リンク共通スタイル */
#toc_container ul.toc_list li a {
    position: relative;
    font-size: 94%;
    font-weight: normal;
    text-decoration: none;
    display: inline-block;
    line-height: 1.6;
    padding: 3px 0;
    margin: 5px 0;
    transition: all .3s ease;
}

#toc_container ul.toc_list a,
#toc_container ul.toc_list a:visited {
    color: #5f7b96;
    /* リンクカラー */
}

/* マウスオーバー時 */
#toc_container ul.toc_list li a:hover {
    text-decoration: none;
    box-shadow: 0 2px;
}

/* 親の目次 */
#toc_container ul.toc_list>li>a {
    font-weight: bold;
    margin-left: 40px;
}

/* 親の目次(左側の連番) */
#toc_container ul.toc_list>li::before,
#toc_container ul.toc_list>li::after {
    position: absolute;
    top: 3px;
    left: 0;
}

/* 連番背景 */
#toc_container ul.toc_list>li::before {
    content: '';
    display: inline-block;
    vertical-align: bottom;
    width: 32px;
    height: 32px;
    margin-right: 7px;
    border-radius: 16px;
    background-color: rgba(125, 157, 188, 0.66);
}

/* 連番 */
#toc_container ul.toc_list>li::after {
    counter-increment: li;
    content: counter(li);
    width: 32px;
    line-height: 32px;
    font-family: 'Avenir Next', 'Helvetica Neue', Arial, 'Meiryo', 'Yu Gothic', san-serif;
    font-weight: 400;
    text-align: center;
    color: #fff;
}

#toc_container li {
    list-style: none;
}

/* 子の目次 */
#toc_container ul.toc_list>li>ul {
    margin-left: 20px;
    list-style: none !important;
}

/* 子の目次の左側のアイコン */
#toc_container ul.toc_list>li ul li::before {
    position: absolute;
    top: 3px;
    left: -38px;
    content: '\2023';
    display: inline-block;
    width: 14px;
    height: 28px;
    line-height: 28px;
    font-size: 44px;
    color: #5f7b96;
}

#toc_container ul.toc_list>li ul li a {
    font-weight: normal;
    margin-left: 16px;
}

/* レスポンシブ設定(667px幅以下) */
@media only screen and (max-width: 667px) {
    #toc_container {
        padding: 20px 3vw;
        min-width: auto;
        width: 100% !important;
    }

    #toc_container p.toc_title+ul.toc_list {
        padding: 20px 0 0;
    }

    #toc_container ul.toc_list>li>ul {
        margin-left: 20px;
        width: 100%;
    }
}

.post_content {
    font-family: "游ゴシック体", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo, Osaka", "ＭＳ Ｐゴシック", "MS PGothic", "FontAwesome", "sans-serif" !important;
}

.post_content p {
    /* text-align: center; */
    line-height: 2em;
    margin-bottom: 20px;
}

.post_content img {
    margin-bottom: 20px;
    display: block;
    margin: 0 auto;
}

.post_content h2 {
    color: #2bb028;
    /*文字色*/
    margin: 70px 0 40px 0;
    border-top: solid 3px #2bb028;
    /*上線*/
    border-bottom: solid 3px #2bb028;
    /*下線*/
}

.box29 {
    margin: 2em 0;
    border: solid 2px #006e3e;
    background: #fff;
}

.box29 .box-title {
    display: inline-block;
    position: relative;
    top: -5px;
    padding: 3px 15px;
    background: #006e3e;
    color: #fff;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.5;
}

#inner-content .sng-box>*:first-child {
    margin-top: 0;
}

.box-content .shiny-btn1 {
    width: 96%;
    color: #fff !important;
    margin: 0 auto;
}

.box29 .box-title:before {
    padding-right: 4px;
    font-family: FontAwesome;
    content: "\f0eb";
}

.hh30:before,
.hh31:before,
.hh32:before,
.hh34:before,
.box23:before,
.box23:after,
.box26 .box-title:before,
.box27 .box-title:before,
.box29 .box-title:before,
.box30 .box-title:before,
.li-chevron li:before,
.li-check li:before,
.li-sitemap li:before,
.li-yubi li:before,
.li-niku li:before,
.entry-content .quote_silver:after,
.reference .refttl:before,
.memo_ttl:before,
#toc_container .toc_title:before,
.ez-toc-title-container:before,
.cstmreba .kaerebalink-link1 a:before,
.booklink-link2>div a:before {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
}

.sng-box .li-check ul {
    width: 100%;
    padding-left: 45px;
    border: none !important;
    padding-bottom: 10px;
}

.li-check ul {
    margin-left: 0;
    position: relative;
    padding: 1em 0.5em 1em 2.5em;
    padding-left: 40px !important;
    border: solid 2px #006e3e;
    background: #fff;
}

.post_content a {
    color: #008ae6;
}


.webcta {
    color: #008ae6;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 10px
}

.li-chevron li,
.li-check li,
.li-sitemap li,
.li-yubi li,
.li-niku li {
    list-style-type: none !important;
    padding: 0.5em 0;
    line-height: 1.5;
    font-size: 16px;
}

.li-check li:before,
.li-sitemap li:before {
    position: absolute;
    left: 1em;
    color: #006e3e;
    font-family: FontAwesome;
    content: "\f00c";
}

.memo {
    margin-bottom: 1.5em;
    padding: 1em;
    background: #fff9e5;
    color: #545454;
}

.sc ul,
.sc ol,
.list-raw ul,
.list-raw ol,
.sng-box ul,
.sng-box ol,
.memo ul,
.memo ol {
    /* margin: 5px 0; */
    padding: 0 0 0 1.4em;
    border: none;
    box-shadow: none;
    background: transparent;
}

.memo_ttl:before {
    display: inline-block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    margin: 0 3px 0 0;
    border-radius: 50%;
    background: #ffb36b;
    color: #fff;
    font-family: FontAwesome;
    font-weight: normal;
    text-align: center;
    vertical-align: middle;
    content: "\f303";
}

.memo p {
    text-align: left !important;
    font-size: 16px;
    margin-bottom: 5px;
}

.memo.alert .memo_ttl:before {
    background: #ff8376;
    content: "\f12a";
}

.p-box ul {
    list-style-type: none;
    border: 0;
    margin: 0;
    margin-top: 25px;
    padding: 0;
}

.p-box ul li {
    list-style-type: none !important;
    position: relative;
    line-height: 1.5;
    padding-bottom: 9px;
    font-size: 18px;
}

.p-box.p-red ul li:before {
    content: "\f00c";
    color: #d33;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    padding-right: 10px;
}

.memo_ttl {
    margin-bottom: 5px;
    color: #ffb36b;
    font-size: 1.2em;
    font-weight: bold;
}

.memo.alert {
    background: #ffebeb;
    margin-top: 20px;
}

.memo.alert .memo_ttl {
    color: #ff8376;
}

.p-box.p-red {
    border: 3px solid #d33 !important;
}

.under-lines {
    text-decoration: underline;
    font-weight: 900;
}

.red {
    color: #c11b26 !important;
    font-weight: 700;
}

.p-box.p-green {
    border: 3px solid #003e96;
}

.p-box {
    position: relative;
    background-color: #fff;
    border: 3px solid #cfd8dc;
    border-radius: 5px;
    margin: 30px 0 30px 0;
    padding: 10px 20px 15px 10px;
}

.p-box.p-green .p-box-title {
    background-color: #003e96;
}

.p-box.p-green ul li:before {
    content: "\f00c";
    color: #003e96;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    padding-right: 10px;
}

.p-box .p-box-title {
    position: absolute;
    left: 0px;
    top: -20px;
    border-radius: 15px;
    background-color: #90a4ae;
    color: #fff;
    font-family: FontAwesome, Helvetica, Yu Gothic;
    font-size: 13px;
    font-weight: 700;
    padding: 6px 20px;
}

.p-box ul {
    margin-bottom: 0 !important;
}

.p-box.p-red .p-box-title {
    background-color: #d33 !important;
}

@media(max-width:768px) {

    .li-check ul,
    .li-sitemap ul {
        padding: 1em 1em 1em 2.5em;
    }

    .box29 .box-title {
        top: -3px;
    }

    .p-box {
        margin-top: 30px !important;
    }

    .p-box ul {
        list-style-type: none;
        border: 0;
        margin-top: 10px !important;
        margin: 0;
        padding: 0;
        width: 100%;
        margin-right: 0 !important;
    }

    .p-box .p-box-title {
        left: -2px;
        top: -16px;
        padding: 4px 20px;
    }

    .p-box.p-red {
        border: 2px solid #d33 !important;
    }

    .p-box.p-green {
        border: 2px solid #003e96;
    }
}

.gray-huki {
    display: inline-block;
    position: relative;
    padding: 0 25px;
    color: #9e9e9e;
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 1px;
}

.shiny-btn1 {
    display: block;
    position: relative;
    width: 100%;
    /*ボタンの幅*/
    padding: 15px 0;
    margin: 30px auto;
    background-color: #ffa200;
    /*ボタンの色*/
    border-bottom: 5px solid #ec7f00;
    border-radius: 5px;
    font-weight: bold;
    font-size: 18px;
    color: #fff !important;
    text-align: center;
    text-decoration: none !important;
    overflow: hidden;
}

.shiny-btn1:hover {
    text-decoration: none;
    color: #fff;
}

.shiny-btn1::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: shiny-btn1 3s ease-in-out infinite;
}

@-webkit-keyframes shiny-btn1 {
    0% {
        -webkit-transform: scale(0) rotate(45deg);
        opacity: 0;
    }

    80% {
        -webkit-transform: scale(0) rotate(45deg);
        opacity: 0.5;
    }

    81% {
        -webkit-transform: scale(4) rotate(45deg);
        opacity: 1;
    }

    100% {
        -webkit-transform: scale(50) rotate(45deg);
        opacity: 0;
    }
}

.post_content .before_eexample {
    margin-top: 80px;
}

.check-list {
    border: 2px solid #2bb028 !important;
    margin-bottom: 30px !important;
}

.post_content th {
    background-color: #2bb028;
    color: #fff;
    text-align: center;
}

#top .top-ver-lp3 {
    padding-top: 35px;
    padding-bottom: 45px;
}

img.item-images {
    width: 100%;
    margin-bottom: 20px;
}

@media(max-width:768px) {
    img.item-images {
        width: 100%;
    }
}

.item-h1 {
    padding: .5em;
    border-top: solid 2px #2bb028;
    font-size: 27px !important;
    border-bottom: solid 2px #2bb028;
    background: repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px, #dcf9de 3px, #dcf9de 7px);
    color: #2bb028;
    text-align: center;
}

p.accordion_open_text {
    background: #fff;
    box-shadow: 0 0 8px grey;
    text-align: left;
}

#tofuken-accordion {
    margin-bottom: 10px !important;
}

#single-area-disposal {
    padding-top: 0 !important;
}

.all-recommend-gyosya {
    margin-top: -20px;
}

/* tora-add-0702 */
.grad-btn {
    z-index: 2;
    position: absolute;
    right: 0;
    bottom: 8px;
    left: 0;
    width: 95%;
    margin: auto;
    padding: 1px 0;
    border-radius: 2px;
    background: #009e8f;
    color: #fff;
    font-size: 14px;
    text-align: center;
    cursor: scoreer;
    transition: .2s ease;
    box-shadow: 0 0 3px rgb(0 0 0 / 30%);
}

.grad-item {
    position: relative;
    overflow: hidden;
    height: 80px;
    /*隠した状態の高さ*/
    margin-top: 10px !important;
}

.grad-item::before {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40px;
    /*グラデーションで隠す高さ*/
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 100%);
    background: linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 100%);
    content: "";
}

.grad-trigger {
    display: none;
    /*チェックボックスは常に非表示*/
}

.grad-trigger:checked+.grad-btn {
    display: none;
    /*チェックされていたら、grad-btnを非表示にする*/
}

.grad-trigger:checked~.grad-item {
    height: auto;
    /*チェックされていたら、高さを戻す*/
}

.grad-trigger:checked~.grad-item::before {
    display: none;
    /*チェックされていたら、grad-itemのbeforeを非表示にする*/
}

@media(max-width:768px) {
    .grad-btn {
        bottom: 3px;
        left: 110px;
        width: 100px;
    }

    .grad-item {
        margin-top: 0;
    }
}

.text-left {
    text-align: left !important;
}

.red {
    color: #d20012;
}

.sng-box .shiny-btn1 {
    width: 95%;
}

.under-lines {
    color: #175491;
    font-weight: bold;
    text-decoration: underline;
}

.small {
    text-align: center;
    margin: 0 auto;
    font-size: 12px !important;
    font-weight: 900 !important;
    display: block;
    width: 100%;
    padding: 0 !important;
}

p.times {
    text-align: right;
    max-width: 100% !important;
    width: 100% !important;
    font-weight: bold;
    margin-top: 0 !important;
}

#top {
    margin-bottom: 40px;
}

a.btn-c {
    margin-top: 10px;
    display: block;
    width: 100%;
    font-size: 20px;
    position: relative;
    text-align: center;
    color: #fff;
    background: #32b16c;
    -webkit-box-shadow: 0 5px 0 #2c9d60;
    box-shadow: 0 5px 0 #2c9d60;
}

a.btn-c:hover {
    -webkit-transform: translate(0, 3px);
    transform: translate(0, 3px);
    color: #fff;
    background: #30a967;
    -webkit-box-shadow: 0 2px 0 #2c9d60;
    box-shadow: 0 2px 0 #2c9d60;
}

.fa-angle-double-right:before {
    padding-left: 10px;
}

a.btn-c:hover:before {
    left: 2rem;
}

.inquiry {
    margin-top: 80px;
}

/* new-header */
.under-blue {
    color: #006cc8;
    font-weight: 900;
}

.NavMenu {
    text-align: center;
    margin-top: 20px;
    padding-bottom: 10px;
}

.navbar,
.navbar-text {
    padding-top: 0 !important;
}

.NavMenu ul {
    margin: 0;
    padding: 0;
}

.NavMenu li {
    list-style: none;
    display: inline-block;
    width: 14%;
    font-size: 12.5px;
    font-weight: 700;
}

.nav-icon {
    display: inline-block;
    vertical-align: middle;
    padding-right: 40px;
    width: 30px;
    height: 30px;
}

.NavMenu li:not(:last-child) {
    border-right: 2px dotted #2bb028;
    margin: 0;
    padding: 0;
}

.NavMenu a {
    text-decoration: none;
    color: #333;
    letter-spacing: 1px;
    vertical-align: middle;
}


@media(max-width:768px) {
    /* 旧LP（#header-nav / .navbar 構成）のロゴ上に置く小見出し用の指定。
       セレクタが h1 だけだったため全ページの見出しが12pxに潰れていた。
       新デザインの見出し（nfc- のクラスを持つ h1）は対象から外す。 */
    h1:not([class*="nfc-"]) {
        font-size: 12px !important;
        padding-bottom: 4px;
    }

    #fv {
        padding-top: 76px;
    }

    #header-nav {
        position: fixed;
        background: #fff;
        z-index: 99999;
        top: 0;
    }

    .navbar {
        padding: 5px 0 0 0 !important;
    }

    #header-nav .header-nav-tel {
        margin-left: 11px;
    }

    .navbar-light .navbar-brand {
        justify-content: left;
    }

    .NavMenu li:not(:last-child) {
        border-right: none;
    }

    .nav-icon {
        display: none;
    }

    .fv_sp {
        padding-top: 70px;
    }

    /*ナビのスタイル*/
    .NavMenu {
        position: fixed;
        z-index: 999;
        left: 0;
        background: #001c42;
        text-align: center;
        width: 100%;
        opacity: 0.95;
        height: 100%;
        display: none;
    }

    .NavMenu ul {
        width: 100%;
        margin: 0 auto;
        display: block;
        padding: 0;
        position: absolute;
        top: 43%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
    }

    .NavMenu ul li {
        font-size: 24px;
        margin: 10px 0px;
        list-style-type: none;
        width: 100%;
        padding-bottom: 0px;
    }

    .NavMenu ul li:last-child {
        padding-bottom: 0;
    }

    .NavMenu ul li a {
        display: block;
        color: #fff;
        padding: 15px 0;
        font-weight: bold;
        font-size: 18px;
    }
}

/* iphone5 */
@media (max-width: 367px) {
    #header-nav {
        padding: 0 4px;
    }

    .header-nav-tel {
        width: 30%;
    }

    .navbar-light .navbar-brand {
        width: 90%;
    }

    #header-nav .navbar-light .navbar-brand img {
        height: auto;
    }

    #header-nav .navbar-light .navbar-brand img {
        width: 100%;
    }
}

.header-tels {
    background: rgb(255 134 0);
    height: 75px;
    width: 0px;
    display: flex;
    color: rgb(255, 255, 255);
    justify-content: center;
    border-radius: 10px;
    width: 300px;

}

.header-tels .frees {
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 0px;
    padding-top: 5px;
}

.header-tels .tel {
    display: flex;
    margin-top: -7px;
}

.header-tels .tel_acc {
    font-size: 12px;
    font-weight: 700;
}

.header-lines {
    background: rgb(0, 185, 0);
    color: #fff;
    margin: 0 10px;
    height: 75px;
    width: 160px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
    border-radius: 10px;

}

.header-lines .icon {
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
    box-sizing: border-box;
    padding-top: 3px;
    width: 44px;
    height: 44px;
    margin-right: 5px;
    border-radius: 50%;
    background: rgb(0, 185, 0);
}

.header-lines img {
    width: 32px;
    height: auto;
    display: block;
}

.header-mails {
    background: rgb(1 44 129);
    color: #fff;
    height: 75px;
    width: 180px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
    transition: all 0.2s ease 0s;
    border-radius: 10px;

}

.navbar-brand {
    display: flex;
}

.nav-left {
    width: 20%;
    align-self: center;
}

.nav-right {
    display: flex;
    width: 80%;
    justify-content: right;
}

.fa-phone-alt,
.flashing {
    -webkit-animation: flash 0.8s ease-in-out infinite alternate;
    -moz-animation: flash 0.8s ease-in-out infinite alternate;
    animation: flash 0.8s ease-in-out infinite alternate;
}

@-webkit-keyframes flash {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-moz-keyframes flash {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

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

    100% {
        opacity: 1;
    }
}

.tel_num {
    font-size: 32px;
    font-weight: bold;
}

span.telicons {
    padding-right: 10px;
    align-self: center;
}

.header-mails:hover,
.header-lines:hover {
    color: #fff;
}

/* new-area-css */
.area-mv {
    background-color: #eef5f6;
    margin-top: -224px;
    overflow: hidden;
}

.area-mv__inner {
    height: 100%;
    padding-bottom: 32px;
    padding-top: 51px;
    position: relative;
}

.area-mv__inner::before {
    background: url(../img/area/bg_mv_001.png) no-repeat 0 0;
    background-size: 80% 80%;
    content: "";
    display: block;
    height: 495px;
    margin-top: -162px;
    position: absolute;
    right: -77px;
    top: 22%;
    width: 538px;
}

.area-mv__ttl {
    margin-bottom: 28px;
    position: relative;
    z-index: 2;
}

.area-mv__ttl_margin {
    margin-bottom: 80px;
}

.area-mv__lead {
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 10px;
    position: relative;
    z-index: 2;
}

.area-mv__lead__ic {
    display: inline-block;
    padding-left: 32px;
    position: relative;
}

.area-mv__lead__ic::before {
    background: url(../img/ic_search_001.png) center center no-repeat;
    background-size: 100% 100%;
    content: "";
    display: block;
    height: 21px;
    left: 0;
    margin-top: -10px;
    position: absolute;
    top: 50%;
    width: 21px;
}

/* 検索フォーム */

.area-search {
    position: relative;
}

.area-search>*:last-child {
    margin-bottom: 0;
}

.area-search__inner {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    width: 535px;
}

.area-search__form {
    display: flex;
    margin-bottom: 16px;
    order: 1;
    width: 100%;
}

.area-search__form__input,
.area-search__form__btn {
    line-height: 1.4;
}

.area-search__form__input {
    background-color: #fff;
    border: solid 1px #bdbdbd;
    border-radius: 6px;
    color: #515151;
    font-size: 1.6rem;
    margin: 0 20px 0 0;
    padding: .75em 16px;
    text-decoration: none;
    width: 404px;
}

.area-search__form__input::-webkit-input-placeholder {
    color: #b7b7b7;
}

.area-search__form__input:-ms-input-placeholder {
    color: #b7b7b7;
}

.area-search__form__input::placeholder {
    color: #b7b7b7;
}

.area-search__form__btn {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #68c1c3;
    border: none;
    border-radius: 24px;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    padding: .82em 1em;
    text-align: center;
    width: 111px;
}

.area-search__form__btn:hover {
    background-color: #88cdcf;
    cursor: scoreer;
}

.area-search__form__btn[disabled] {
    background-color: #b7b7b7;
}

.area-search__form__note {
    color: #515151;
    font-size: 16px;
    margin-bottom: 0;
    order: 2;
    text-decoration: none;
}

/* マップ */

.area-sec {
    background: url(../img/area/bg_001.png) left top repeat;
    background-size: 65px 65px;
}

.area-sec__ttl {
    font-size: 2rem;
    font-weight: bold;
}

.area-sec__head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 32px;
}

.area-sec__nav {
    margin-bottom: 24px;
}

.area-sec__nav>*:last-child {
    margin-bottom: 0;
}

.area-map {
    margin-top: 60px;
    min-height: 600px;
    position: relative;
    width: 100%;
    z-index: 20;
}

#nfc-area {
    position: absolute;
}

.area-map-nav {
    height: 640px;
    position: relative;
}

.nfc-inner-chihou {
    background-color: #fff;
    border-radius: 4px;
    box-shadow: 0 4px 30px -4px rgb(0 0 0 / 16%);
    display: inline-block;
    padding: 14px 12px 2px;
    position: absolute;
    width: 265px;
}

.chihou-outline {
    border-bottom: 1px solid #e5e5e5;
    color: #333;
    display: block;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.25;
    margin-bottom: 12px;
    padding-bottom: 12px;
    text-decoration: none;
    text-align: center;
}

.chihou-outline:hover {
    opacity: 1;
}

.nfc-kens {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 0 -6px;
}

.nfc-kens>li {
    margin: 0 5px 10px;
    width: 74px;
    list-style: none;
}

.nfc-ken {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    border-radius: 2.4rem;
    color: #2bb028;
    cursor: scoreer;
    display: inline-block;
    font-size: 14px;
    margin: 0;
    padding: 8px;
    text-align: center;
    text-decoration: none;
    width: 100%;
    font-weight: bold;
    background: #ebebeb;
}

.nfc-ken:hover {
    background-color: #00ada9;
    color: #fff;
}

#kanto-chiho,
#chubu-chiho,
#kinki-chiho {
    top: auto;
}

#kanto-chiho {
    right: -25px;
    top: 415px;
}

#chubu-chiho {
    left: 279px;
    top: 243px;
}

#kinki-chiho {
    left: 363px;
    top: 520px;
}

@media screen and (max-width: 984px) {
    .area-mv {
        height: auto;
        margin-top: -160px;
    }

    .area-mv__inner {
        padding-bottom: 28px;
        padding-top: 25px;
    }

    .area-mv__inner::before {
        height: 500px;
        margin-top: 0;
        right: -186px;
        top: -60px;
        width: 561px;
    }

    .area-mv__lead__ic {
        font-size: 1.6rem;
        padding-left: 28px;
    }

    .area-search__inner {
        width: auto;
    }

    .area-search__form {
        justify-content: space-between;
    }

    .area-search__form__input {
        font-size: 1.4rem;
        margin-right: 0;
        width: 66%;
    }

    .area-search__form__btn {
        width: 31%;
    }

    .area-sec__head {
        display: block;
        margin-bottom: 24px;
    }

    .area-sec__nav {
        margin-bottom: 60px;
    }

    .area-map {
        margin-top: 50px;
        min-height: 0;
    }

    #nfc-area {
        display: none;
    }

    .area-map-nav {
        height: auto;
    }

    .alllist-area {
        border-radius: 6px;
        box-shadow: 0 4px 30px -4px rgba(103, 193, 195, .45);
        overflow: hidden;
    }

    .nfc-inner-chihou {
        box-shadow: none;
        margin: 0;
        padding: 0;
        position: static;
        width: 100%;
    }

    .chihou-outline {
        background-size: 16px 16px;
        font-size: 30px;
        color: #2bb028;
        cursor: scoreer;
        font-size: 20px;
        margin: 0 12px;
        padding: 22px 20px;
        text-align: center;
    }

    .nfc-kens {
        background-color: #fff;
        margin: 0;
        padding: 10px 12px;
    }

    .nfc-kens>li {
        border: 1px solid #c6e5e7;
        border-width: 0 1px 1px 0;
        margin: 0;
        width: 50%;
    }

    .nfc-kens>li:nth-child(even) {
        border-right-width: 0;
    }

    .nfc-kens>li:nth-last-child(-n+2) {
        border-bottom-width: 0;
    }

    .nfc-kens>li:only-child {
        border: none;
    }

    .nfc-ken {
        border-radius: 0;
        line-height: 1.4;
        margin: 0;
        padding: 14px 5px;
        background: #fff;
    }

    #kinki-chiho .nfc-kens>li,
    #chubu-chiho .nfc-kens>li {
        width: 100%;
    }

    #kanto-chiho .nfc-kens>li:nth-last-child(2),
    #chubu-chiho .nfc-kens>li:nth-last-child(2),
    #kinki-chiho .nfc-kens>li:nth-last-child(2) {
        border-bottom-width: 1px;
    }

    #kanto-chiho .nfc-kens>li:nth-last-child(1),
    #chubu-chiho .nfc-kens>li:nth-last-child(1),
    #kinki-chiho .nfc-kens>li:nth-last-child(1) {
        border-right-width: 1px;
    }

    #kanto-chiho {
        right: auto;
    }

    #chubu-chiho {
        left: auto;
        margin: 10px 0;
    }

    #kinki-chiho {
        left: auto;
    }

    .area-switch {
        justify-content: flex-end;
        margin-top: 8px;
    }

    .area-switch__label {
        width: 48px;
    }

    .area-switch__checkbox:checked~.area-switch__label__circle {
        left: 24px;
    }

    .area-nav-list>li:first-child {
        border-top-left-radius: 0;
    }

    .area-nav-list>li:last-child {
        border-top-right-radius: 0;
    }

    .area-nav-list {
        background-color: #fff;
        box-shadow: 0 4px 30px -4px rgba(103, 193, 195, .45);
        flex-wrap: wrap;
        overflow: hidden;
    }

    .area-nav-list a {
        color: #00ada9;
    }

    .area-nav-list a:hover {
        color: #00ada9;
    }

    .area-nav-list>li {
        width: 100%;
    }

    .area-nav-list>li::before,
    .area-nav-list>li::after {
        content: none;
    }

    .area-nav-list>li.is-focus,
    .area-nav-list>li:hover {
        background-color: transparent;
    }

    .area-nav-list>li.is-focus a,
    .area-nav-list>li:hover a {
        color: #00ada9;
    }

    .area-nav-list>li.is-focus .area-nav-list__sublist,
    .area-nav-list>li:hover .area-nav-list__sublist {
        display: none;
    }

    .area-nav-list>li:last-child>a {
        border-bottom-width: 0;
    }

    .area-nav-list>li>a {
        background: url(../img/ic_down_001.png) right center no-repeat;
        background-size: 16px 16px;
        border-bottom: 1px solid #e5e5e5;
        margin: 0 12px;
        padding: 22px 20px;
    }

    .area-nav-list>li>a.area-nav-list__region--active {
        background-image: url(../img/ic_up_001.png);
    }

    .area-nav-list__sublist {
        background-color: #eef5f6;
        display: none;
        flex-wrap: wrap;
        font-size: 0;
        height: auto;
        margin: 0;
        overflow: visible;
        padding: 10px 12px;
        position: relative;
        top: 0;
    }

    .area-nav-list__sublist.area-nav-list__sublist--active {
        display: flex !important;
    }

    .area-nav-list__sublist.area-nav-sublist--full>li {
        border-right-width: 0;
        width: 100%;
    }

    .area-nav-list__sublist.area-nav-sublist--odd>li:nth-last-child(2) {
        border-bottom-width: 1px;
    }

    .area-nav-list__sublist.area-nav-sublist--odd>li:nth-last-child(1) {
        border-right-width: 1px;
    }

    .area-nav-list__sublist>li {
        border: 1px solid #c6e5e7;
        border-width: 0 1px 1px 0;
        display: inline-block;
        font-size: 1.4rem;
        width: 50%;
    }

    .area-nav-list__sublist>li::after {
        content: none;
    }

    .area-nav-list__sublist>li:nth-child(even) {
        border-right-width: 0;
    }

    .area-nav-list__sublist>li:nth-last-child(-n+2) {
        border-bottom-width: 0;
    }

    .area-nav-list__sublist>li a {
        background-color: transparent;
    }

    .area-nav-list__sublist>li a:hover {
        background-color: transparent;
    }

    .area-scope__render {
        border-radius: 2px;
    }
}

.area-title {
    text-align: center;
    color: #fff;
    background-image: linear-gradient(to right, #1fba25 0%, #8bc34a 100%);
    padding: 10px 0;
}

.l-container {
    margin-left: auto;
    margin-right: auto;
    padding-left: 12px;
    padding-right: 12px;
    width: 984px;
}

@media screen and (max-width: 984px) {
    .l-container {
        width: auto;
    }
}

.heading08 {
    padding: 10px;
    color: #000 !important;
    background: #C2E021;
    -webkit-box-shadow: 5px 5px 0 #007032;
    box-shadow: 5px 5px 0 #81af4c;
    margin: 40px 0;
}

@media(max-width:768px) {
    .heading08 {
        font-size: 20px !important;
    }
}

.tabs {
    border-radius: 20px;
    margin-top: 20px !important;
    padding-bottom: 0px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}

.tab_item,
.tab_item4 {
    box-sizing: border-box;
    position: relative;
    z-index: 99;
    margin-right: 5px;
    border-radius: 20px 20px 0 0;
    width: calc(98%/4);
    border-bottom: 3px solid #2bb028;
    background-color: #2bb028;
    line-height: 50px;
    font-size: 16px;
    text-align: center;
    color: #fff;
    display: block;
    text-align: center;
    font-weight: 700;
}

input[name=tab_item] {
    display: none
}

.tab_content {
    display: none;
}

#all:checked~#all_content,
#design:checked~#design_content,
#programming:checked~#programming_content,
#markets:checked~#markets_content,
#consal:checked~#consal_content,
#pcpros:checked~#pcpros_content,
#merideme:checked~#merideme_content,
#hikaku:checked~#hikaku_content,
#pchikaku:checked~#pchikaku_content,
#pcpros:checked~#pcpros_content,
#unexperience:checked~#unexperience_content {
    display: block;
    width: 99.4%;
}

.tabs input:checked+.tab_item {
    background-color: #fff;
    color: #2bb028;
    border-bottom: 0 !important;
    border: 3px solid #2bb028;
}

.tablesorter-header-inner {
    text-align: center !important
}

.last_tabitem,
.last_tabitem2,
.last_tabitem3,
.last_tabitem4 {
    margin-right: 0 !important;
}

.last_tabitem2,
.last_tabitem3 {
    margin-left: 15px;
}

.tab-check {
    padding-left: 20px;
}

.tab_content_description {
    border: 3px solid #2bb028;
    border-radius: 0 0 20px 20px;
    position: relative;
    padding: 30px 0px 0px 30px;
    margin-top: -3px;
    background: #fff;
}

.tab-checks {
    margin-left: 0;
    position: relative;
    padding: 1em 0.5em 1em 2.5em;
    border: solid 2px #ffb03f;
    background: #fff;
}

.tab-check li {
    list-style: none;
    font-size: 16px;
    margin-right: 40px;
    display: inline;
    position: relative;
    white-space: pre;
    line-height: 2.7em;
}

.tab-check li:before {
    position: absolute;
    left: -22px;
    color: #006e3e;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    content: "\f00c";
}

.tab-check a {
    width: 10%;
}

#disposal-item,
#pros-depros {
    margin-bottom: 50px;
}

@media(max-width:768px) {
    .tab_item {
        margin-right: 5px;
        width: calc(95%/4);
        line-height: 40px;
    }

    .tab_content_description {
        padding: 20px 0px 5px 13px;
        border: 3px solid #2bb028;
    }
}

.item-under-lines {
    text-decoration: underline;
}

.score_list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.score_list li {
    background: #dbeadb;
    width: calc(100%/3 - 42.5px);
    margin-right: 27px;
    border-bottom: 5px solid #12a646;
    border-radius: 10px;
    overflow: hidden;
    padding: 0 11px 13px;
}

.score_list li .score_titles {
    position: relative;
    background: #12a646;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 7px 3px;
    width: calc(100% + 30px);
    margin-left: -15px;
}

.score_list li .score_titles:before {
    content: "";
    position: absolute;
    bottom: -7px;
    left: 50%;
    transform: translate(-50%, 50%);
    width: 0;
    height: 0;
    border-left: 13.5px solid transparent;
    border-right: 13.5px solid transparent;
    border-top: 17px solid #12a646;
}

.score_list li .score_images {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    min-height: 141px;
    margin: -11px 0 23px;
}

.score_list li .score_content {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
    font-size: 25px;
    font-weight: 700;
    height: 35px;
    padding-top: 43px;
    border-radius: 23px;
    margin-bottom: 5px;
}

.score_list li .score_content .bigFont {
    font-size: 39px;
    font-weight: 700;
    text-shadow: 3px 0 0 #ff8000, -3px 0 0 #ff8000, 0 3px 0 #ff8000, 0 -3px 0 #ff8000, 2px 2px #ff8000, -2px -2px 0 #ff8000, 2px -2px 0 #ff8000, -2px 2px 0 #ff8000;
    margin-top: -17px;
    margin-right: 2px;
}

.score_list li .priceService {
    font-size: 60px;
    font-weight: 700;
    color: #f20000;
    letter-spacing: -3px;
    line-height: 1;
    margin-bottom: 12px;
}

.score_list li .score_sentence {
    display: flex;
    justify-content: space-between;
}

p.score_sentence_text {
    font-size: 15px;
    text-align: left;
    padding-bottom: 11px;
}

@media(max-width:768px) {
    .score_list {
        display: block;
    }

    .score_list li {
        width: 100%;
        margin-bottom: 20px;
    }
}

/* new-fv-css */
#bigAreaContents {
    background: url(/wp-content/themes/nfc/common/img/area-fvbackimage.png) no-repeat center/cover;
    position: relative;
}

#bigAreaContents.bg-tokyo {
    background: url(/wp-content/themes/nfc/common/img/area-fvbackimage.png) no-repeat center/cover;
    position: relative;
}

#bigAreaContents.bg-saitama {
    background: url(/wp-content/themes/nfc/common/img/area-fvbackimage2.png) no-repeat center/cover;
    position: relative;
}

#bigAreaContents.bg-osaka {
    background: url(/wp-content/themes/nfc/common/img/area-fvbackimage3.png) no-repeat center/cover;
    position: relative;
}

.bigarea-inner {
    position: relative;
}

.bigarea-inner::after {
    content: url(/wp-content/themes/nfc/common/img/nfc-fvchara.png);
    position: absolute;
    top: 0;
    left: 80%;
    transform: scale(0.9);
}

#bigAreaContents .bigarea-inner {
    height: 720px;
}

.align-center {
    align-items: center;
}

#bigAreaContents .FvText {
    width: 800px;
}

.mb10 {
    margin-bottom: 10px !important;
}

.center {
    text-align: center !important;
}

#bigAreaContents .bigtext {
    font-size: 36px;
    display: block;
    font-weight: 700;
    text-align: center;
    margin-bottom: 10px;
}

#bigAreaContents .bigtext .label {
    background: linear-gradient(to bottom, #444, #222);
    color: #fff;
    display: inline-block;
    line-height: 1.5;
    padding: 0 10px;
    margin-right: 10px;
}

.flex {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
}

.bigarea-inner {
    width: 1080px;
    max-width: 100%;
    margin: 0 auto;
    position: relative;
}

#bigAreaContents .scoreing {
    margin: 40px 0 80px 0;
}

#bigAreaContents .scoreing li {
    width: 19%;
    margin-right: 10px;
    background: linear-gradient(to bottom, #444, #222);
    color: #fff;
    font-size: 26px;
    font-weight: 700;
    text-align: center;
    list-style-type: none;
}

#bigAreaContents .campaign {
    background: #fff;
    font-size: 28px;
    font-weight: 700;
    text-align: center;
    padding: 40px 0 30px;
    position: relative;
}

#bigAreaContents .campaign .title {
    font-size: 26px;
    position: absolute;
    top: -24px;
    left: 0;
    right: 0;
    margin: auto;
}

#bigAreaContents .campaign .title>span {
    background: linear-gradient(to right, #00a12f, #0aff20);
    color: #fff;
    display: inline-block;
    padding: 0 60px;
}

#bigAreaContents .campaign .fcRed {
    font-size: 42px;
    line-height: 1;
}

.fcRed {
    color: #eb0909;
}

@media(max-width:768px) {
    #bigAreaContents .bigtext {
        font-size: 5.325vw;
        margin-bottom: 10px;
    }

    .bigarea-inner {
        width: 97;
    }

    #bigAreaContents .bigarea-inner {
        height: auto;
        padding: 40px 0
    }

    #bigAreaContents .bigtext img {
        width: 50%;
    }

    #bigAreaContents .scoreing {
        margin: 20px 0 40px;
        justify-content: center;
    }

    #bigAreaContents .scoreing li {
        font-size: 15px;
        justify-content: center;
        margin: 0;
        width: 20%;
        padding: 8px 0;
    }

    #bigAreaContents .campaign .title>span {
        padding: 0 15px;
    }

    #bigAreaContents .campaign {
        font-size: 20px;
        padding: 20px 0;
    }

    #bigAreaContents .campaign .title {
        font-size: 18px;
        top: -18px;
    }

    #bigAreaContents .campaign .fcRed {
        font-size: 30px;
        display: block;
    }

    .bigarea-inner::after {
        display: none;
    }
}

/*　大竹エリア共通コンテンツ用　*/

.shitsumon-area {
    width: 860px;
    max-width: 100%;
    border: 4px solid #000000;
    margin: 0 auto 30px auto;
    padding: 30px;
    background: #ffffff;
    box-sizing: inherit;
}

@media screen and (min-width: 769px) and (max-width: 1099px) {
    .shitsumon-area {
        width: 86vw;
        max-width: 750px;
        border: 4px solid #000000;
        background: #ffffff;
        padding: 30px;
    }
}

@media screen and (max-width: 575px) {
    .shitsumon-area {
        margin: 0 auto 10px;
        padding: 20px 18px;
        max-width: 100%;
        border: 4px solid #000000;
        margin: 0 auto 30px auto;
        background: #ffffff;
        width: 860px;
    }
}


/*　大竹エリア共通流れ　*/

#flow_table {
    text-align: center;
    font-size: 1.2rem;
    line-height: 2.5;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}

#flow_table th {
    background: #2bb028;
    color: #fff;
    text-align: center;
}

#flow_table th:not(:last-child) {
    border-right: solid 1px white;
}

#flow_table,
#flow_table td {
    border: 1px solid #2bb028;
    border-collapse: separate;
    border-spacing: 0;
    background: white;
}

#flow_table thead th {
    border-bottom: 0;
}

@media (max-width: 768px) {

    #flow_table th,
    #flow_table td {
        text-align: center;
        display: table-cell;
        width: 50%;
    }

    #flow_table {
        font-size: 0.8rem;
        width: 80%;
        line-height: 2.5;
        border-collapse: collapse;
        margin-left: auto;
        margin-right: auto;
    }

    #flow_table th {
        background: #2bb028;
        color: #fff;
    }
}

/*　大竹エリア共通コンテンツ業者比較　*/

#gyosya_table {
    text-align: center;
    font-size: 1.2rem;
    line-height: 2.5;
    width: 100%;
}

#gyosya_table th {
    background: #2bb028;
    color: #fff;
    text-align: center;
    width: 25%;
}

#gyosya_table th:not(:last-child) {
    border-right: solid 1px white;
}

#gyosya_table,
#gyosya_table td {
    border: 1px solid #2bb028;
    border-collapse: separate;
    border-spacing: 0;
    background: white;
}

#gyosya_table tr:nth-of-type(9) td:nth-of-type(2) {
    font-weight: bold;
    border-bottom: solid 3px #3c9b71;
}

#gyosya_table tr:nth-of-type(1) td:nth-of-type(3) {
    font-weight: none;
}

#gyosya_table thead th {
    border-bottom: 0;
}

#gyosya_table td:nth-child(odd) {
    width: 25%;
}

#gyosya_table th:nth-of-type(1) {
    border-top: solid 3px #3c9b71;
    border-right: solid 3px #3c9b71;
}

#gyosya_table th:nth-of-type(1),
#gyosya_table td:nth-of-type(2),
#gyosya_table td:nth-of-type(3) {
    border-left: solid 3px #3c9b71;
}

#gyosya_table td:nth-of-type(2) {
    font-weight: bold;
}

@media (max-width: 768px) {

    #gyosya_table th,
    #gyosya_table td {
        text-align: center;
        display: table-cell;
        width: 25%;
    }

    #gyosya_table {
        font-size: 0.8rem;
        border-collapse: collapse;
    }

    #gyosya_table th:nth-of-type(1) {
        font-weight: bold;
        border-top: solid 3px #3c9b71;
        border-right: solid 3px #3c9b71;
    }

    #gyosya_table td:nth-child(odd) {
        width: 25%;
    }

    #gyosya_table th:nth-of-type(1),
    #gyosya_table td:nth-of-type(2),
    #gyosya_table td:nth-of-type(3) {
        border-left: solid 3px #3c9b71;
    }

    #gyosya_table td:nth-of-type(2) {
        font-weight: bold;
    }

    #gyosya_table tr:nth-of-type(9) td:nth-of-type(2) {
        font-weight: bold;
        border-bottom: solid 3px #3c9b71;
    }

    #gyosya_table th {
        background: #2bb028;
        color: #fff;
    }
}

/* 0830ti-add */
.h1title-outline {
    max-width: 1200px;
    margin: 0 auto;
    background: #fff;
}

.h1title {
    background: #fff;
}

.tac span {
    font-size: 1.225rem;
}

@media(max-width:768px) {
    .h1title-outline {
        padding: 0 8px;
        z-index: 9999;
        position: relative;
    }

    .h1title {
        padding-top: 8px;
    }

    nav.nav_menu {
        /*margin-top: 100px !important;*/
    }
}

/* new-flow */
.flow-titles {
    font-size: 45px;
    font-weight: 900;
    text-align: center;
    margin: 50px 0;
}

.flow-titles::before {
    content: url(/wp-content/themes/nfc/common/img/nfc-icons.png);
    vertical-align: middle;
    padding-right: 15px;
}

.flow-titles::after {
    content: url(/wp-content/themes/nfc/common/img/nfc-icons.png);
    vertical-align: middle;
    padding-left: 15px;
}

#new-flow p {
    text-align: center;
    font-size: 20px;
    line-height: 2em;
}

.flow-contents dt {
    background: #2bb028;
    color: #fff;
    border-radius: 999px;
    font-weight: bold;
    padding: 5px;
    text-align: center;
    background-size: 30px;
    font-size: 24px;
    margin: 15px 0 10px 0;
}

.flow-contents dt span {
    color: #fff;
    margin: 0 15px 0 0;
    font-size: 20px;
    vertical-align: middle;
}

.flow-contents dt span::before {
    content: '';
    /*何も入れない*/
    display: inline-block;
    /*忘れずに！*/
    vertical-align: middle;
    width: 50px;
    /*画像の幅*/
    height: 50px;
    /*画像の高さ*/
    margin-right: 10px;
    background-image: url(/wp-content/themes/nfc/common/img/nfc-icons.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
}

.flow-contents dd {
    padding: 0 0 20px 0;
    text-align: center;
}

.steptitle {
    display: inline-block;
}

.step-arrow {
    margin-top: 20px;
}

.flow-images {
    margin-top: 30px;
    margin-bottom: 20px;
}

@media(max-width:768px) {
    .flow-titles {
        margin: 0;
        font-size: 25px;
    }

    .flow-titles::after,
    .flow-titles::before {
        padding: 0;
    }
}

/* iphone5-flow */
@media only screen and (min-device-width:320px) and (max-device-width:568px) {
    .flow-titles {
        font-size: 20px;
    }
}

/* new-voice */
.start-voice.voice-article {
    position: relative;
    margin-bottom: 30px;
}

.voice-sentence {
    margin-bottom: 0px;
}

.start-voice:not(:first-child) {
    margin-top: 50px;
}

.start-voice.voice-article .voice-inner {
    display: block;
}

.start-voice.voice-article .voice-box {
    border-bottom: 0;
    padding: 30px;
}

.start-voice {
    background-color: #fff;
    border: 3px solid #2bb028;
}

.voice-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 3px solid #2bb028;
    padding-bottom: 37px;
}

.voice-box .img {
    width: 30%;
    text-align: center;
}

.voice-box .body {
    width: 70%;
    margin-bottom: 0;
}

.voice-box .voice-outline-list {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
}

.voice-box .voice-list:not(:first-child) {
    margin-left: 5px;
}

.voice-box .body__name {
    font-size: 17px;
    font-weight: bold;
    margin-top: 13px;
    color: #000;
    letter-spacing: .02em;
}

.recycle-icons {
    position: absolute;
    bottom: -2px;
    right: -2px;
    width: 37px;
    height: 37px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #2bb028;
}

.customer-image {
    width: 190px;
    height: 190px;
    border-radius: 100px;
    border: 1px solid #cfd8dc;
}

.voice-contents {
    font-size: 16px;
    line-height: 2em;
}

.voice-list {
    font-size: 15px;
    font-weight: bold;
    border: 3px solid #2bb028;
    background: #2bb028;
    border-radius: 25px;
    overflow: hidden;
}

.voice-list .voice-list-text {
    display: inline-block;
    width: max-content;
    background: #fff;
    height: 37px;
    padding: 6px 12px;
    text-align: left;
}

.voice-list .voice-list-contents {
    display: inline-block;
    color: #fff;
    padding: 2px 12px;
    /* letter-spacing: 1.5px; */
    text-align: center;
}

.voice-list-text .fa {
    margin-top: 0 !important;
}

@media(max-width:768px) {
    p.voice-sentence {
        font-size: 20px;
        text-align: center;
        margin-top: 30px;
        margin-bottom: 20px;
    }

    .voice-contents {
        font-size: 16px;
        line-height: 2em;
    }

    .voice-box {
        display: block;
    }

    .voice-box .img,
    .voice-box .body {
        width: 100%;
    }

    .voice-box .voice-outline-list {
        flex-wrap: unset;
        margin-top: 20px;
    }

    li.voice-list {
        font-size: 16px;
        border-radius: 5px;
        width: 120px;
        text-align: center;
        border: 2px solid #2bb028;
    }

    li.voice-list .voice-list-contents {
        vertical-align: super;
        padding: 4px 0px;
    }

    li.voice-list .voice-list-text {
        display: block;
        height: 37px;
        text-align: center;
        width: 100%;
        padding: 0;
        line-height: 2.1em;
    }

    .start-voice.voice-article .voice-box {
        padding: 30px 10px;
    }
}

/* タイムライン装飾 */
.entry-content .tl {
    margin: 1em 0;
}

.tl_marker.main-bdr.main-bc {
    border-color: var(--color_htag);
}

.tl-content {
    position: relative;
    padding: 0 0 1.5em 1.8em;
}

.tl-content:before {
    content: "";
    width: 3px;
    background: #ccd5db;
    display: block;
    position: absolute;
    top: 24px;
    bottom: 0;
    left: 6px;
}

.tl_marker {
    content: "";
    display: block;
    position: absolute;
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: solid 3px;
}

.tl-content:not(:first-of-type):not(:last-of-type) .tl_marker {
    background: transparent;
}

.tl-content:last-of-type:before {
    content: none;
}

.tl_label {
    padding-top: 2px;
    color: #90969a;
    font-size: 14px;
    font-weight: bold;
}

.tl_title {
    font-size: 19px;
    font-weight: bold;
    line-height: 1.5;
}

.tl_main {
    margin-top: 0.5em;
    padding: 0 0 1.5em;
    font-size: 16px;
    line-height: 1.6;
    border-bottom: dashed 1px #ccd5db;
}

.main-bc {
    background: var(--color_htag);
}

/* 余白の調整 */
.tl_main>* {
    margin: 0.7em 0 0;
}

.tl_main>ul,
.tl_main>ol {
    margin: 0;
    padding: 0.3em 0 0.3em 1.3em;
    border: none;
}

.tl_main .sng-box {
    margin-top: 1em;
}

.tl_main .box28,
.tl_main .box30,
.tl_main .box31,
.tl_main .box32,
.tl_main .box33 {
    margin-top: 2.3em;
}

.collum-box.disposal_items {
    width: 80%;
    margin: 0 auto;
}

@media(max-width:768px) {
    .collum-box.disposal_items {
        width: 100%;
    }
}

/*take追加　service*/

.sample_services {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.sample_box_services {
    background: white;
    width: 45%;
    height: 420px;
    border-radius: 10px;
    border: solid 4px #2bb028;
    display: flex;
    flex-flow: column;
    align-items: center;
    margin: 10px;
    margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
    .sample_box_services {
        width: 90%;
        height: 50%;
    }
}

.sample_box_services h3 {
    width: 80%;
    height: 40%;
    font-size: 25px;
    color: #666666;
    border: none;
    background: none;
    text-align: center;
    position: relative;
    margin: 20px 20px;
}

.sample_box_services h3::before {
    content: "";
    position: absolute;
    z-index: 999;
    width: 100px;
    height: 100px;
    background-repeat: no-repeat;
    left: 50%;
    top: 10px;
    transform: translate(-50%, -50%);
    background-size: contain;
}

@media screen and (max-width: 768px) {
    .sample_box_services h3 {
        width: 280px;
        height: 20px;
        font-size: 17px;
    }
}

.sample_box_services p {
    font-size: 18px;
    margin: 0 25px 20px;
    text-align: center;
    letter-spacing: 0.81px;
}

@media screen and (max-width: 768px) {
    .sample_box_services p {
        font-size: 15px;
    }
}

.sample_box_services img {
    height: 100px;
}

.sample_box_services div {
    margin-top: 20px;
}

.sample_box_services a,
.voice-box .body a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 234px;
    height: 50px;
    box-sizing: border-box;
    color: #000;
    background: #C2E021;
    padding: 2px 8px;
    font-size: 20px;
    margin: 20px auto;
}

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

    .sample_box_services a,
    .voice-box .body a {
        font-size: 15px;
        width: 150px;
        height: 40px;
        margin: 20px auto;
    }
}

.worries_text li {
    list-style: none;
    display: flex;
    align-items: center;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 0px;
    border-bottom: 2px dotted black;
    padding: 15px;
}

.worries_text li img {
    margin-right: 36px;
    width: 120px;
    height: auto;
    border-radius: 50%;
    background: white;
}

.worries_text li:last-child {
    border-bottom: none;
}

.worries_box {
    border: 2px solid;
    border-radius: 10px;
}

@media screen and (max-width: 575px) {
    .worries_text li {
        font-size: 13px;
    }

    .worries_text li img {
        margin-right: 18px;
        width: 64px;
    }

    .worries_text p.fz18 {
        font-size: 15px;
        font-weight: normal;
        padding: 0 25px;
    }
}

.service_score ul li {
    background: #2bb028;
    border-radius: 10px;
    padding: 4px;
    color: white;
    font-size: 23px;
    margin-bottom: 10px;
}

@media screen and (max-width: 575px) {
    .service_score ul li {
        font-size: 13px;
    }
}

.service_score ul li img {
    width: 110px;
    height: auto;
    margin-left: 10px;
}

.service_score ul li:nth-child(even) {
    background: white;
    color: #2bb028;
}

@media screen and (max-width: 575px) {
    .service_score ul li img {
        width: 60px;
        height: auto;
    }
}

.buying_items_box {
    border: 3px solid #3c9b71;
    border-radius: 10px;
    width: 250px;
    height: 400px;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: bold;
    word-break: normal;
    margin-top: 40px;
    margin: 0 5px;
    margin-bottom: 30px;
    align-self: baseline;
    padding: 10px;
}

.buying_items_box p:first-of-type {
    margin: 10px auto;
    font-weight: bold;
}

.buying_items_box img {
    width: 100px;
    height: auto;
}

.buying_items_box:first-of-type {
    margin-top: 10px;
}

.buying_items_box:not(:first-of-type) {
    margin-top: 30px;
}

@media screen and (max-width: 575px) {
    .buying_items_box p {
        font-size: 14px;
        font-weight: normal;
        line-height: 1.8;
        padding: 0 35px;
    }
}

@media screen and (max-width: 575px) {
    .buying_items_box {
        margin: auto;
        height: 350px;
        width: 290px;
        padding: 0;
    }
}

.service_items {
    width: 1100px;
}

/* new-contacts */
.contact-flow {
    margin-bottom: 20px;
    padding: 10px;
    border: 5px solid #dddddd;
    background: #f9f9f9;
    box-sizing: border-box;
    text-align: center;
}

.contact-flow ul {
    display: inline-block;
    width: 100%;
    vertical-align: top;
    overflow: hidden;
    border: 1px solid #cccccc;
    background: #ffffff;
    margin-bottom: 0;
    box-sizing: border-box;
}

.contact-flow ul li.first {
    /* width: 40%; */
    background: #FFF4A1 url(/wp-content/themes/nfc/common/img/contact-whitearrow.png) right center no-repeat;
}

span.flow-texts {
    display: inline-block;
    vertical-align: text-bottom;
}

.contact-flow ul li p {
    position: relative;
    display: table-cell;
    vertical-align: middle;
    padding-right: 24px;
    text-align: center;
    font-size: 20px;
}

.contact-flow ul li.input-second,
.contact-flow ul li.last.input-second {
    background: #fff url(/wp-content/themes/nfc/common/img/contact-arrow.png) 0 center no-repeat;
}

.contact-flow ul li.input-second {
    width: 330px;
}

.contact-flow ul li.input-second p {
    background: url(/wp-content/themes/nfc/common/img/contact-whitearrow.png) right center no-repeat;
}

.contact-flow ul li.last {
    background-image: none;
}

.contact-flow ul li span.flow-number {
    color: #000;
    font-size: 30px;
    font-weight: bold;
    margin-right: 7px;
}

.contact-flow ul li {
    position: relative;
    display: table;
    float: left;
    margin-left: -24px;
    padding-left: 37px;
    width: 310px;
    height: 58px;
    background: url(/wp-content/themes/nfc/common/img/contact-whitearrow.png) right center no-repeat;
    box-sizing: border-box;
}

#contact-title {
    margin-bottom: 30px;
    text-align: center;
}

.submit-btn {
    position: relative;
}

.submit-btn::after {
    content: "\f101";
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    color: #fff !important;
    font-size: 40px;
    position: absolute;
    top: 82px;
    right: 70px;
}

span.strong.mikan.font-big {
    font-size: 60px;
}

.big {
    font-size: 1.3em;
}

.submit-btn::after {
    content: "\f101";
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    color: #fdc44f;
}

input::placeholder {
    font-size: 16px;
}

.confirm-page .contact-flow ul li.first {
    width: 320px;
}

.confirm-page .contact-flow ul li.first {
    background: #fff;
}

.confirm-page .contact-flow ul li.input-second {
    background: #FFF4A1 url(/wp-content/themes/nfc/common/img/contact-whitearrow.png) 0 center no-repeat;
}

.confirm-page .contact-flow ul li.input-second {
    width: 320px;
}

.confirm-page .contact-flow ul li.input-second p {
    background: url(/wp-content/themes/nfc/common/img/contact-arrow.png) right center no-repeat;
}

.thanks-page .contact-flow ul li.first {
    background: #fff;
}

.thanks-page .contact-flow ul li.input-second {
    background: #fff url(/wp-content/themes/nfc/common/img/contact-whitearrow.png) 0 center no-repeat;
}

.thanks-page .contact-flow ul li.last {
    background: #FFF4A1 url(/wp-content/themes/nfc/common/img/contact-whitearrow.png) 0 center no-repeat;
}

.thanks-page .contact-flow ul {
    background: #FFF4A1;
}

.confirm-page .main_heading_jp {
    margin-top: 100px;
}

.width100 {
    width: 100% !important;
    font-size: 20px !important;
    text-align: center;
    margin-bottom: 20px !important;
}

#contact-title img {
    margin-right: 10px;
}

.contact .w_b_talk_L {
    border: 1px solid #dddddd;
    background: #ffffff;
    margin: 0 auto 0 10px;
    color: #222222;
    font-size: 19px;
}

.contact .w_b_flex {
    justify-content: center;
}

.thanks-page .mailforms {
    background: none;
}

@media(max-width:768px) {
    #contact-title {
        margin-top: 10px;
        margin-bottom: 0;
    }

    .confirm-page .main_heading_jp {
        margin-top: 50px;
    }

    h3.any,
    .contact .dfaii div {
        display: block;
    }

    .contact-flow {
        margin-bottom: 20px;
        padding: 0px;
        border: 5px solid #dddddd;
        background: #fff;
    }

    .contact-flow ul {
        display: inline-block;
        vertical-align: top;
        overflow: hidden;
        border: none;
        width: 100%;
    }

    .contact-flow ul li {
        margin-left: -24px;
        padding-left: 34px;
        width: 28%;
        height: 48px;
        background: url(/wp-content/themes/nfc/common/img/contact-whitearrow.png) right center no-repeat;
    }

    .contact-flow ul li.first {
        margin-left: 0;
        padding-left: 0px;
        width: 64%;
        background: #FFF4A1;
    }

    .contact-flow ul li span.flow-number,
    .contact-flow ul li span.flow-texts {
        font-size: 95%;
    }

    /* 文字まわり */
    .fir .contact-flow ul li.input-second span.flow-number,
    .fir .contact-flow ul li.last span.flow-number {
        color: #000000;
    }

    .contact-flow ul li.input-second span.flow-texts,
    .contact-flow ul li.last span.flow-texts {
        display: none;
    }

    .contact-flow ul li.input-second {
        background: #fff url(/wp-content/themes/nfc/common/img/contact-arrow.png) 0 center no-repeat;
        margin-left: -24px;
        padding-left: 34px;
        width: 28%;
        height: 48px;
    }

    span.strong.mikan.font-big {
        font-size: 29px;
        margin-left: 6px;
    }

    .contact-flow ul li.last {
        background: none;
        width: 12%;
        padding-left: 40px;
    }

    .contact-flow ul li p {
        padding-right: 12px;
    }

    .submit-btn::after {
        font-size: 26px;
        top: 16px;
        right: 90px;
    }

    .confirm-page .contact-flow ul li.first span.flow-texts,
    .confirm-page .contact-flow ul li.last span.flow-texts {
        display: none;
    }

    .confirm-page .contact-flow ul li.first {
        margin-left: 0px;
        padding-left: 0px;
        width: 27%;
        background: #fff;
    }

    .confirm-page .contact-flow ul li.input-second {
        background: #FFF4A1 url(/wp-content/themes/nfc/common/img/contact-whitearrow.png) 0 center no-repeat;
    }

    .confirm-page .contact-flow ul li.input-second {
        margin-left: -24px;
        padding-left: 13px;
        width: 62%;
    }

    .confirm-page .contact-flow ul li.last {
        margin-left: -10px;
        padding-left: 28px;
    }

    .contact-flow ul li.last {
        background: none;
        width: 12%;
        padding-left: 40px;
    }

    .confirm-page .contact-flow ul li.input-second span.flow-texts {
        display: inline;
    }

    .thanks-page .contact-flow ul li.first {
        margin-left: 0px;
        padding-left: 0px;
        width: 20%;
        background: #fff;
    }

    .thanks-page .contact-flow ul li.input-second {
        background: #fff url(/wp-content/themes/nfc/common/img/contact-whitearrow.png) 0 center no-repeat;
        width: 22%;
    }

    .thanks-page .contact-flow ul li.input-second p {
        background: none;
    }

    .thanks-page .contact-flow ul li.last {
        margin-left: -20px;
        padding-left: 33px;
        width: 62%;
        background: #e5eefd;
    }

    .thanks-page .contact-flow ul li.last {
        background: #FFF4A1 url(/wp-content/themes/nfc/common/img/contact-whitearrow.png) 0 center no-repeat;
    }

    .thanks-page .contact-flow ul li.first span.flow-texts,
    .thanks-page .contact-flow ul li.input-second span.flow-texts {
        display: none;
    }

    .thanks-page .contact-flow ul li.last span.flow-texts {
        display: inline;
    }

    .confirm-page .form-group p {
        text-align: center;
        padding: 20px 0;
    }

    .confirm-page .checkboxs {
        margin: 0 auto;
        text-align: center;
        padding: 20px 0;
        width: 90%;
        margin-bottom: 0;
    }

    .width100 {
        font-size: 18px !important;
    }

    .contact .form-group {
        border: none;
    }
}

.u-row-wrap {
    flex-wrap: wrap;
    justify-content: center;
}

.u-row {
    display: flex;
}

.l-footer .widget {
    margin-top: 32px;
    margin-bottom: 32px;
    font-size: 0.88889rem;
    color: #ffffff;
}

.footer-widget__title {
    position: relative;
    margin-bottom: 24px;
    line-height: 1.25;
    letter-spacing: 0.04em;
    font-size: 1rem;
}

.footer-shortborder-bottom .footer-widget__title::after {
    content: "";
    display: block;
    margin-top: 8px;
    width: 40px;
    height: 2px;
}

.footer-shortborder-bottom .footer-widget__title::after {
    background: #4f85ab;
}

.site-profile__title,
.site-profile__banner {
    margin-bottom: 16px;
}

.u-text-align-center {
    text-align: center;
}

.l-footer,
.l-footer a:not(.c-btn__main),
.l-footer .widget,
.l-footer .widget:not(.widget_author_profile):not(.widget_calendar) a:not(.c-btn__main),
.l-footer .c-post-list__link {
    color: #ffffff;
}

.site-profile__description {
    margin-top: 16px;
    margin-bottom: 16px;
    font-size: 0.88889rem;
}

.c-btn__m,
.c-btn__sm {
    min-width: 60%;
}

.c-btn__main,
.c-btn__main:hover {
    color: #fff;
}

.c-btn {
    position: relative;
    display: inline-block;
    padding-top: 6px;
    padding-bottom: 6px;
    padding-right: 32px;
    padding-left: 32px;
    text-decoration: none;
    text-align: center;
    letter-spacing: 0.04em;
    font-size: 0.88889rem;
    overflow: hidden;
    cursor: scoreer;
    transition: all ease 0.3s;
    border-radius: 25px;

}

.c-btn__main {
    background-color: #005ba3;
    color: #ffffff;
}

.widget_nav_menu .menu-item {
    padding-left: 12px;
}

.widget_nav_menu .menu-item a {
    display: block;
    position: relative;
    line-height: 32px;
    transition: all 0.3s ease;
    color: #fff;
}

#menu-sitemap,
.sub-menu {
    display: block !important;
}

.l-footer__inner {
    background-color: #484848;
    color: #fff;
}

.menu-item a,
.cat-item-1 a,
.site-profile__title img {
    box-shadow: none !important;
}

.widget_nav_menu .menu>.menu-item a::before {
    position: absolute;
    content: "\e941";
    left: -16px;
    line-height: 32px;
    font-family: "icomoon";
    font-size: 0.8rem;
    color: #b8bcc0;
    font-weight: bold;
}

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

    .wrapper-column,
    .wrapper-column.has-sp-column {
        width: calc(100% + 24px);
    }

    .column-4 {
        width: calc(33.333% - 24px);
    }

    [class^="column-"],
    [class*="column-"] {
        margin-right: 24px;
    }
}

@media screen and (min-width: 1200px) {
    .l-content {
        width: calc(862px - 32px);
        position: relative;
        margin: auto;
    }
}

blockquote {
    box-sizing: border-box !important;
    position: relative;
    padding: 32px 32px 10px 32px;
    background: #FFF;
    border: solid 4px #b3b3b3;
    border-radius: 5px;
    color: #464646;
    font-size: 1em;
    margin-top: 40px;
}

blockquote:before {
    color: #fff !important;
    font-size: 1em;
    margin: auto;
    width: 40px !important;
    height: 40px !important;
    text-align: center;
    position: absolute !important;
    top: -23px !important;
    left: 32px !important;
    background: #464646;
    border-radius: 100px;
    line-height: 2.3 !important;
}

blockquote:before {
    display: inline-block !important;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    vertical-align: middle;
    content: "\f10d" !important;
}

cite a {
    text-decoration: underline;
}

.table-contents {
    width: 100%;
    margin-bottom: 40px;
    display: block;
    overflow-x: scroll;
    white-space: inherit;
    -webkit-overflow-scrolling: touch;
}

.shiny-btn2 {
    display: block;
    position: relative;
    width: 100%;
    padding: 15px 0;
    /* margin: 30px auto; */
    background-color: #ffab00;
    border-bottom: 5px solid #cf8b00;
    border-radius: 5px;
    font-weight: bold;
    font-size: 18px;
    color: #fff !important;
    text-align: center;
    text-decoration: none !important;
    overflow: hidden;
}

@media (max-width: 575px) {
    .top_free_dial {
        margin-top: 105px;
    }
}

.is-style-whiteboard1 {
    position: relative;
    max-width: 100%;
    margin: 0 auto 2em;
    padding: 2em 1.5em;
    border: 10px solid transparent;
    border-radius: 4px;
    background: linear-gradient(white, white), linear-gradient(#4d4d4d, #4d4d4d) no-repeat 100% 100% / 30px 30px, linear-gradient(#4d4d4d, #4d4d4d) no-repeat 0 100% / 30px 30px, linear-gradient(#4d4d4d, #4d4d4d) no-repeat 100% 0 / 30px 30px, linear-gradient(#4d4d4d, #4d4d4d) no-repeat 0 0 / 30px 30px, linear-gradient(#e6e6e6, #e6e6e6);
    background-clip: padding-box, border-box, border-box, border-box, border-box, border-box;
    background-origin: border-box;
}

.is-style-whiteboard1:before,
.is-style-whiteboard1:after,
.is-style-whiteboard1 .wp-block-group__inner-container:before,
.is-style-whiteboard1 .wp-block-group__inner-container:after {
    display: inline-block;
    position: absolute;
    content: "";
}

.is-style-whiteboard1:before {
    right: 10px;
    bottom: 16px;
    width: 52px;
    height: 8px;
    border-radius: 2px 2px 0 0;
    background: #5a95f5;
}

.is-style-whiteboard1:after {
    right: 11px;
    bottom: 1px;
    width: 50px;
    height: 15px;
    border-radius: 0 0 4px 4px;
    background: #d2e2fc;
}

.is-style-whiteboard1 .wp-block-group__inner-container:before {
    right: 71px;
    bottom: 1px;
    width: 48px;
    height: 8px;
    background: linear-gradient(90deg, #ea4335 8%, #f2f2f2 8%, #f2f2f2 70%, #ea4335 70%);
}

.is-style-whiteboard1 .wp-block-group__inner-container:after {
    right: 98px;
    bottom: 9px;
    width: 48px;
    height: 8px;
    background: linear-gradient(90deg, #333 8%, #f2f2f2 calc(8% + 1px), #f2f2f2 70%, #333 calc(70% + 1px));
    transform: rotate(-20deg);
}

.is-style-whiteboard1 p {
    text-align: center;
    font-size: 20px;
}

@media(max-width:768px) {
    .is-style-whiteboard1 {
        padding: 0;
    }
}

@media screen and (max-width: 575px) {
    .index .main_heading_jp {
        margin-top: 50px;
    }

    .item-h1 {
        font-size: 22px !important;
    }
}

.tab_item2,
.tab_item3 {
    box-sizing: border-box;
    position: relative;
    z-index: 99;
    border-radius: 20px 20px 0 0;
    width: calc(90%/2);
    border-bottom: 3px solid #2bb028;
    background-color: #2bb028;
    line-height: 50px;
    font-size: 16px;
    text-align: center;
    color: #fff;
    display: block;
    text-align: center;
    font-weight: 700;
    margin-left: 10px;
}

.tab_item3 {
    margin-left: 0px;
    margin-right: 14px;
}

.tab_item2:hover,
.tab_item3:hover {
    opacity: .75
}

input[name=tab_item2],
input[name=tab_item3],
input[name=tab_item4] {
    display: none
}

.tab_content2,
.tab_content3 {
    display: none;
    padding: 0 10px !important;
    clear: both;
    overflow: hidden
}

.tab_content4 {
    display: none;
    clear: both;
    overflow: hidden
}

#spfirst:checked~#spfirst_content,
#gyosei:checked~#gyosei_content,
#fuyouhin:checked~#fuyouhin_content,
#jititai:checked~#jititai_content {
    display: block
}

.tabs input:checked+.tab_item2,
.tabs input:checked+.tab_item3,
.tabs input:checked+.tab_item4 {
    border: 3px solid #2bb028;
    background-color: #fff;
    color: #2bb028;
    border-bottom: 0 !important;
    border: 3px solid #2bb028;
}

@media(max-width:768px) {

    .tab_item2,
    .tab_item3,
    .tab_item4 {
        font-size: 16px;
    }
}

#fuyouhin-pros .tab_content_description,
#jititai-pros .tab_content_description,
#pros-depros .tab_content_description {
    border-top: 5px solid #2bb028;
}

label.tab_item2.last_tabitem2 {
    margin-left: 15px
}

/************************************
** アイコンつきリスト
************************************/
/* ボックス全体 */
.iconbox {
    margin: 0 auto 2em;
    /* 余白 */
    background: #fef9ed;
    /* 背景色 */
    border-radius: 4px;
    /* 角丸 */
    padding: 0;
    /* 余白 */
    box-shadow: 0 1px 3px rgba(0, 0, 0, .2);
    /* 影 */
}

/* ボックスタイトル */
.iconbox .box-title {
    font-size: 18px;
    /* 文字サイズ */
    background: #fdc44f;
    /* 背景色 */
    text-align: center;
    /* 文字配置 */
    color: #fff;
    /* 文字色 */
    font-weight: bold;
    /* 文字太さ */
    letter-spacing: 0.05em;
    /* 文字間隔 */
    border-radius: 4px 4px 0 0;
    /* 角丸 */
    line-height: 1.5;
    /* 行間 */
    padding: 1em 2em;
    /* 余白 */
}

/* 段落の余白リセット */
.iconbox p {
    margin: 0;
    /* 文字の余白リセット */
    padding: 0;
    /* 文字の内側余白リセット*/
}

/* ボックス 中 */
.iconbox .iconbox-wrap {
    display: -webkit-box;
    /* 配置 */
    display: -ms-flexbox;
    /* 配置 */
    display: flex;
    /* 配置 */
    padding: 10px 20px;
}

/* コンテンツ */
.iconbox .iconbox-wrap .box-content {
    width: 97%;
    /*横幅 */
    margin: 0 3% 0 0 !important;
    /* 余白 */
    line-height: 1.8;
    /* 行間 */
    -ms-flex-item-align: center;
    /* 中央寄せ */
    align-self: center;
    /* 中央寄せ */
}

/* コンテンツ段落 */
.iconbox .iconbox-wrap .box-content p {
    margin-bottom: 1em;
    /*余白 */
}

/* アイコン&吹き出し */
.iconballoon {
    -ms-flex-item-align: end;
    /* 下部に配置 */
    align-self: flex-end;
    /* 下部に配置 */
}

/* アイコン */
.iconballoon .icon {
    text-align: center;
    /* 位置を中央へ */
}

/* アイコン画像 */
.iconballoon .icon img {
    width: 120px;
    /* 横幅 */
    margin: 0;
    /* 余白 */
}

/* アイコン画像 (amp)*/
.iconballoon amp-img {
    max-width: 120px !important;
    /* 横幅 */
    margin: 0;
    /* 余白 */
}

/* 吹き出し文字 */
.iconballoon .balloon p {
    line-height: 1.4;
    /* 行間 */
}

/* 吹き出し */
.iconballoon .balloon {
    position: relative;
    /* 配置 */
    width: 140px;
    /* 横幅 */
    background: #fff;
    /* 背景色 */
    padding: 10px;
    /* 余白 */
    text-align: center;
    /* 中央寄せ */
    border: 2px solid #999;
    /* 線(太さ 種類　色) */
    color: #555555;
    /* 文字色 */
    font-size: 14px;
    /* 文字サイズ */
    font-weight: bold;
    /* 文字太さ */
    border-radius: 10px;
    /* 角丸 */
    margin-bottom: 10px;
    /* 余白 */
    line-height: 1.5;
    /* 行間 */
}

/* 吹き出し(三角) */
.iconballoon .balloon:after,
.balloon:before {
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    position: absolute;
    top: 100%;
    left: 50%;
}

.iconballoon .balloon:after {
    border-top-width: 10px;
    border-bottom-width: 10px;
    border-left-width: 10px;
    border-right-width: 10px;
    margin-left: -10px;
    border-top-color: #FFFFFF;
}

.iconballoon .balloon:before {
    border-color: "rgba(153, 153, 153, 0)";
    border-top-width: 12px;
    border-bottom-width: 12px;
    border-left-width: 12px;
    border-right-width: 12px;
    margin-left: -12px;
    margin-top: 1px;
    border-top-color: #999999;
}

/* ボックス全体 */
.iconbox-green {
    background: #f2f5f4 !important;
    /* 背景色 */
}

/* ボックスタイトル */
.iconbox-green .box-head-green {
    background: #2bb028 !important;
    /* 背景色 */
}

/*スマホ*/
@media screen and (max-width: 480px) {

    /* ボックスタイトル */
    .iconbox .box-title {
        font-size: 14px;
        /* 文字サイズ */
    }

    /* ボックス 中 */
    .iconbox .iconbox-wrap {
        padding: 1em 1em 1em 1.5em;
        /* 余白 */
    }

    /* コンテンツ */
    .iconbox .iconbox-wrap .box-content {
        font-size: 12px;
        /*文字サイズ */
    }

    /* アイコン画像 */
    .iconballoon .icon img {
        width: 80px;
        /* 横幅 */
        margin-top: 5px;
        /* 余白 */
    }

    /* アイコン画像(amp) */
    .iconballoon amp-img {
        max-width: 80px !important;
        /* 横幅 */
        margin-top: 5px;
        /* 余白 */
    }

    /* 吹き出し */
    .iconballoon .balloon {
        width: 80px;
        /* 横幅 */
        font-size: 10px;
        /* 文字サイズ */
        padding: 1em 0;
        /* 余白 */
        border: 1px solid #999;
        /* 線(太さ 種類 色) */
    }

    /* 吹き出し(三角) */
    .iconballoon .balloon:after {
        border-top-width: 12px;
        border-bottom-width: 10px;
        border-left-width: 11px;
        border-right-width: 11px;
        margin-left: -11px;
        border-top-color: #FFFFFF;
    }
}

/************************************
** 箇条書き(点)
************************************/
/* 箇条書き */
.iconbox .list {
    list-style: none;
    /* 行頭記号削除*/
    padding: 0 !important;
    /* 余白リセット */
    margin: 0 !important;
    /* 余白リセット */
    border: none;
    /* 線リセット */
}

/* 箇条書き 行 */
.iconbox .list li {
    position: relative;
    /* 行頭記号の配置*/
    margin: 0 0 0.5em 0 !important;
    /* 余白*/
    padding: 0 0 0.5em 1.4em !important;
    /* 余白 */
    line-height: 1.8;
    /* 行間 */
}

/* 箇条書き 行頭記号 */
.iconbox .list li:before {
    background-color: #ffa952;
    /* 記号色 */
    position: absolute;
    /* 行頭記号の配置 */
    content: '';
    /* 空文字 */
    top: 13px;
    /* 上からの距離 */
    left: 0;
    /* 左からの距離 */
    width: 7px;
    /* 横幅 */
    height: 7px;
    /* 縦幅 */
    border-radius: 4px;
    /*角丸 */
}

/* 箇条書き 行頭記号リセット */
.iconbox .list-number li:after {
    content: '';
}

/*スマホ*/
@media screen and (max-width: 480px) {

    /* 箇条書き 行頭記号*/
    .iconbox .list li:before {
        top: 8px;
        /* 上からの距離 */
    }
}

/************************************
** 箇条書き(番号)
************************************/
/* 箇条書き(番号) */
.iconbox .list-number {
    counter-reset: number;
    /* 番号リセット */
    list-style: none !important;
    /* 行頭番号削除) */
    padding: 0 !important;
    /* 余白リセット */
    margin: 0 !important;
    /* 余白リセット */
    border: none !important;
    /* 線リセット */
}

/* 箇条書き(番号) 行 */
.iconbox .list-number li {
    position: relative;
    /* 配置 */
    margin: 0.5em 0 !important;
    /* 余白 */
    max-width: 500px;
    /* 横幅 */
    padding: 0 0 0.5em 1.8em !important;
    /* 余白 */
    line-height: 1.8;
    /* 行間 */
}

/* 箇条書き(番号) 行頭番号 */
.iconbox .list-number li:before {
    counter-increment: number;
    /* 番号 */
    content: counter(number);
    /* 番号 */
    background-color: #fdc44f;
    /* 背景色 */
    color: #fff;
    /* 番号色 */
    position: absolute;
    /* 配置 */
    font-weight: bold;
    /* 文字太さ */
    font-size: 14px;
    /* 文字大きさ */
    border-radius: 50%;
    /* 角丸 */
    left: 0;
    /* 左からの距離 */
    top: 4px;
    /* 上からの距離 */
    width: 22px;
    /* 横幅 */
    height: 22px;
    /* 縦幅 */
    line-height: 22px;
    /* 行間 */
    text-align: center;
    /* 中央寄せ */
}

/*スマホ*/
@media screen and (max-width: 480px) {

    /* 箇条書き(番号) 行 */
    .iconbox .list-number li {
        padding: 0 0 0.5em 2em !important;
        /* 余白 */
    }

    /* 箇条書き(番号) 行頭番号 */
    .iconbox .list-number li:before {
        font-size: 10px;
        /* 文字大きさ */
        width: 18px;
        /* 横幅 */
        height: 18px;
        /* 縦幅 */
        line-height: 18px;
        /* 行間 */
        top: 2px;
        /* 上からの距離 */
    }
}

.iconbox-wrap .box-content .li-check ul {
    margin-left: 0;
    position: relative;
    padding: 1em 0.5em 1em 2.5em;
    border: none;
    background: none;
}

.iconbox-wrap .box-content .li-check li:before {
    left: 0em;
}

.li-check a {
    text-decoration: underline;
    color: #0091c9;
    font-weight: bold;
}

.iconballoon img {
    margin-left: 10px;
}

@media(max-width:768px) {
    .iconballoon img {
        margin-left: 0px;
    }
}

.li-sitemap li {
    margin-left: 15px;
    font-weight: bold;
    font-size: 21px;
}

.li-sitemap ul {
    margin-left: 0;
    position: relative;
    padding: 1em 0.5em 1em 2.5em;
    border: none;
    background: none;
}

.sdgs {
    text-align: center;
}

.fz26 {
    font-size: 26px;
}

.btn,
a.btn,
button.btn {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 4rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    border-radius: 0.5rem;
}

.btn-wrap-pc-sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 1140px;
    margin: 0 auto 20px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

a.btn-pc-sp {
    line-height: 1.4;
    width: 49.5%;
    padding: 1.25rem 0;

    color: #ffff;
}

a.btn-pc-sp--contact {
    color: #fff;
    background: #eb6100;
}

a.btn-pc-sp--tel {
    color: #fff;
    background: #094;
}

.fa-position-right {
    position: absolute;
    top: calc(50% - 0.5em);
    right: 1rem;
}

a.btn-pc-sp {
    width: 49.5%;
    padding-right: 1.5rem;
    margin: 0 10px;
    color: #ffff;
    font-size: 20px;
}

a.btn-pc-sp--contact {
    color: #fff;
}

a.btn-pc-sp--contact.btn-pc-sp--2 {
    border-bottom: 5px solid #d25600;
    background: #eb6100;
}

a.btn-pc-sp--tel.btn-pc-sp--2 {
    border-bottom: 5px solid #008039;
    background: #094;
}

a.btn-pc-sp .number {
    font-size: 20px;
    letter-spacing: 0.05em;
}

.zisseki-outline {
    display: flex;
    justify-content: center;
    width: 100%;
}

.zisseki-outline img {
    width: auto;
    max-height: 300px;
}

.zisseki-left {
    width: 30%;
}

.zisseki-right {
    width: 70%;
    margin-left: 30px;
}

.zisseki-right tr {
    border-bottom: 1px solid #eee;
}

.zisseki-outline table th {
    background: none !important;
    color: #2bb028 !important;
    border: none !important;
    text-align: left !important;
    min-width: 100px;
}

.zisseki-outline table td,
.zisseki-outline table {
    border: none !important;
}

.fa-map-marked-alt,
.fa-clock,
.fa-house-user,
.fa-people-carry {
    color: #2bb028 !important;
    font-size: 16px !important;
    padding-right: 10px;
}

.zisseki-right p {
    margin-bottom: 0;
}

.kaisyu-koment {
    position: relative;
    padding: 14px 0 10px 0;
    text-align: center;
    border: 2px solid #2bb028;
    background: #fff;
    margin-top: 30px;
}

.kaisyu-koment:before,
.kaisyu-koment:after {
    position: absolute;
    content: '';
}

.kaisyu-koment:before {
    top: -40px;
    left: calc(50% - 40px);
    width: 80px;
    height: 80px;
    border: 2px solid #2bb028;
    border-radius: 50%;
    background: #fff;
}

.kaisyu-koment:after {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
}

.kaisyu-koment i {
    font-size: 30px;
    line-height: 60px;
    position: absolute;
    z-index: 1;
    top: -40px;
    left: calc(50% - 40px);
    width: 80px;
    height: 60px;
    text-align: center;
    color: #2bb028;
}

.kaisyu-koment span {
    position: relative;
    z-index: 1;
    font-weight: bold;
    font-size: 20px;
    color: #2bb028;
}

#kaitori h3 {
    padding: 0px 0px 0px 20px;
    margin-bottom: 30px;
    text-align: left;
    color: #494949;
    background: #f7f7f7;
    border-left: solid 5px #2bb028;
}

@media(max-width:768px) {
    .zisseki-outline {
        display: block;
    }

    .zisseki-left,
    .zisseki-right {
        width: 100%;
    }

    .zisseki-right {
        margin-left: 0px;
    }

    .zisseki-outline img {
        margin-bottom: 20px;
        transform: inherit;
    }

    .kaisyu-koment {
        margin-top: 70px;
    }

    .zisseki-outline table th {
        min-width: 130px;
    }

    #kaitori h3 {
        margin-top: 0;
    }
}

@media screen and (max-width: 575px) {
    a.btn {
        font-size: 1rem;
    }
}

/* 横スクロール */
.horizontal_scroll,
.twiiter_horizontal_scroll {
    overflow-x: scroll;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    padding: 0 0 12px 8px;
    display: -ms-flexbox;
    display: flex;
}

.horizontal_scroll li,
.twiiter_horizontal_scroll li {
    background: #fff;
    display: block;
    position: relative;
    min-width: 230px;
    height: 270px;
}

.horizontal_scroll>li,
.twiiter_horizontal_scroll>li {
    margin: 7px;
}

.horizontal_scroll>li:last-child,
.twiiter_horizontal_scroll>li:last-child {
    padding-right: 5px;
}

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

    .horizontal_scroll>li:last-child,
    .twiiter_horizontal_scroll>li:last-child {
        padding-right: 0;
    }
}

.horizontal_scroll img,
.twiiter_horizontal_scroll img {
    vertical-align: bottom;
}

/* タイトル */
.slider_ttl {
    color: #333;
    text-align: inherit;
    width: 100%;
    height: 40px;
    line-height: 40px;
    padding: inherit;
    margin: 0 0 20px 0;
    background-color: #e5e5e5;
    text-indent: 8px;
    font-size: 16px;
    font-weight: 700;
    box-sizing: border-box;
}

.horizontal_scroll,
.twiiter_horizontal_scroll {
    padding: 0 !important;
}

.horizontal_scroll li,
.twiiter_horizontal_scroll li {
    list-style: none !important;
}

.kuchicomi {
    display: flex;
    margin-top: 5px;
}

.horizontal_scroll img,
.twiiter_horizontal_scroll img {
    vertical-align: bottom;
    border: 1px solid #e5e5e5;
    background: #fff;
    border-radius: 50%;
}

.kuchicomi-image {
    width: 37%;
}

.people-name,
.people-career {
    width: 100%;
    display: block;
}

.people-star .icon-star-full,
.people-star .fa-star-half-alt,
.people-star .rate-star-empty {
    display: inline-block;
    font-size: 13px;
    letter-spacing: 3px;
}

.rate-star-empty {
    color: #b0b0b0;
}

.kuchimomi-name {
    width: 100%;
    font-size: 14px;
    font-weight: bold;
    padding-left: 9px;
}

.horizontal_scroll,
.twiiter_horizontal_scroll {
    border: none;
    background-color: #D5E9D7;
}

.kuchicomi-text {
    margin: 0 auto;
    display: block;
    width: 89%;
    font-size: 12px;
    margin-top: 10px;
    line-height: 20px;
    overflow-y: hidden;
}

.icon-star-full {
    font-size: 19px;
    color: #ffb500;
    letter-spacing: 3px;
    font-style: normal;

}

.icon-star-full:before {
    content: "\f005";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

.people-star .fa-star-half-alt,
.people-star .rate-star-empty {
    display: inline-block;
    font-size: 13px;
}

.fa-star-half-alt {
    color: #f9a72b;
    font-size: 18px;
    font-style: normal;
}

.fa-star-half-alt:before {
    content: "\f5c0";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

.people-name {
    margin-top: 4px;
}

.people-name,
.people-career {
    line-height: 1.8;
}

.people-star {
    display: block;
    margin-top: -7px;
}

.disposal_items .content th {
    background-color: #2bb028;
    color: #fff;
    font-size: 16px;
    text-align: center;
}

@media(max-width:768px) {
    .people-star {
        margin-top: 0px;
    }
}

h4 {
    position: relative;
    padding: 0.25em 0;
}

h4:after {
    content: "";
    display: block;
    height: 4px;
    background: -webkit-linear-gradient(to right, rgb(59, 155, 113), transparent);
    background: linear-gradient(to right, rgb(59, 155, 113), transparent);
}

/* お客様アンケート */

.voice .item {
    background: #fff;
    border: 2px solid #2bb028;
    border-radius: 8px;
    padding: 30px 30px 25px;
    width: 500px;
    height: 450px;
}

.voice {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.item {
    margin: 2px;
}

.voice .img {
    border-bottom: 1px solid #cccccc;
    margin-bottom: 15px;
    padding-bottom: 10px;
    text-align: center;
}

.voice .img img {
    width: 365px;
    height: auto;
}

.voice .text p {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 0;
}

.voice .text strong {
    display: block;
    color: #F7931E;
    margin-bottom: 10px;
}

.voice .text span {
    display: block;
    text-align: right;
    margin-top: 5px;
}

.post_content_voice {
    max-width: 1020px;
    margin: 0 auto;
}

.post_content_voice span.text {
    display: block;
    text-align: center;
    font-size: 26px;
    margin: 50px 0px 20px;
    margin-bottom: 10px;
    font-weight: bold;
}

@media screen and (max-width: 767px) {
    .voice {
        width: 100%;
    }

    .voice {
        padding-left: 0;
    }

    .voice .item {
        border-radius: 8px;
        padding: 30px 30px 25px;
        width: 100%;
        height: 480px;
        margin-bottom: 10px;
        z-index: 6;
    }

    .voice .img {
        margin-bottom: 4vw;
        padding-bottom: 3vw;
    }

    .voice .img img {
        width: 100%;
        height: auto;
    }

    .voice .text p {
        font-size: 4vw;
        line-height: 1.6;
        margin-bottom: 0;
    }

    .voice .text strong {
        margin-bottom: 3vw;
    }

    .voice .text span {
        margin-top: 2vw;
    }

    .post_content_voice span.text {
        font-size: 18px;
        margin: 50px 0px 20px;
    }
}

@media screen and (min-width: 576px) and (max-width: 768px) {
    .post_content_voice span.text {
        font-size: 22px;
        margin: 50px 0px 20px;
    }

    .voice .item {
        height: 550px;
    }

    .voice .text p {
        font-size: 3vw;
    }
}

.symbol {
    font-size: 40px;
    display: block;
    text-align: center;
    margin: 0 auto;
    font-family: system-ui
}

.double {
    color: #ff5050;
}

.single-cicrle {
    color: #ff9000;
}

.triangle {
    color: #05788d;
}

.batsu {
    color: #007eff;
}

.table-center {
    text-align: center;
}

.table-contents th {
    max-width: 90px;
}

.table-center {
    text-align: center !important;
}

.table-center .icon-star-full,
.table-center .fa-star-half-alt {
    font-size: 15px;
}

figure .table-center th {
    min-width: 120px;
}

figure .table-center td {
    vertical-align: middle;
    min-width: 180px;
}

.is-style-btn_line.blue_ a:hover,
.is-style-btn_normal.blue_ a,
.is-style-btn_shiny.blue_ a,
.is-style-btn_solid.blue_ a {
    background: #338df4;
}

.swell-block-button.-size-s.is-style-btn_shiny.blue_ {
    display: grid;
    margin-bottom: 0;
    --the-btn-bg: linear-gradient(100deg, var(--the-btn-color) 0%, var(--the-btn-color2) 100%);
}

.c-infoBar__btn:before,
.is-style-btn_shiny a:before {
    background-image: linear-gradient(90deg, hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, .6) 80%, hsla(0, 0%, 100%, 0));
    content: "";
    height: 200px;
    left: -120px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(25deg);
    transform: translateY(-50%) rotate(25deg);
    width: 80px;
}

.c-infoBar__btn:after,
.is-style-btn_shiny a:after {
    -webkit-animation-duration: 3.5s;
    animation-duration: 3.5s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-name: shiny_btn;
    animation-name: shiny_btn;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    background-image: linear-gradient(100deg, hsla(0, 0%, 100%, 0), #fff);
    content: "";
    height: 100%;
    left: -100px;
    position: absolute;
    top: 0;
    width: 50px;
}

@media(max-width:768px) {
    .symbol {
        font-size: 30px
    }

    .table-contents th {
        max-width: 150px;
        min-width: 130px;
    }

    .table-contents td {
        min-width: 150px;
        font-size: 13px;
        line-height: 2em;
    }
}

.hh:before,
.hh:after {
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    border: 0;
    background: transparent;
    box-shadow: none;
    content: none;
}

.hh.hhq {
    font-weight: bold;
}

.hh.hhq,
.hh.hha {
    position: relative;
    margin: 0;
    padding: 0 0 0 55px;
    font-size: 17px;
}

.hh.hhq:before,
.hh.hha:before {
    content: "Q";
    position: absolute;
    left: 0;
    top: -6px;
    display: inline-block;
    width: 45px;
    height: 45px;
    line-height: 45px;
    vertical-align: middle;
    text-align: center;
    font-family: Arial, sans-serif;
    font-size: 21px;
    background: #2bb028;
    color: #fff;
    border-radius: 50%;
}

.hh.hhq+.hh.hha {
    margin-top: 2em;
    font-size: 17px;
}

.hh.hha:before {
    content: "A";
    background: #faad1e;
}

p.p1.hh.hha {
    margin-bottom: 50px;
}

/*--------------------------------------
クリップボードボックス
--------------------------------------*/
.crip-box {
    padding: 1.6em;
    background-color: #00579e33 !important;
    margin-bottom: 20px;
}

.crip-box-in {
    box-shadow: 0 0 2px 1px rgba(42, 42, 42, .05);
    padding: 20px;
    padding-top: 50px;
    margin-bottom: 0;
    text-align: center;
    position: relative;
}

.crip-box-in:before,
.crip-box-in:after {
    content: "";
    display: inline-block;
    position: absolute;
}

.crip-box-in:before {
    width: 72px;
    height: 30px;
    border: 4px solid #003e96;
    top: -8px;
    left: calc(50% - 40px);
}

.crip-box-in:after {
    width: 100px;
    height: 28px;
    border-radius: 4px;
    background: #003e96;
    top: -10px;
    left: calc(50% - 50px);
}

p.crip-box-title {
    margin-bottom: 0;
    display: inline;
    padding: 8px 0px;
    color: #003e96;
    font-size: 20px;
}

p.crip-box-text {
    text-align: left;
    margin-bottom: 0;
    padding: 1.2em;
}

.crip-box-in ul {
    border: none;
    text-align: left;
    margin-top: 0;
    margin-bottom: 0;
}

.crip-box-in li {
    list-style-type: none !important;
    position: relative;
    line-height: 1.5;
    padding-bottom: 9px;
    font-size: 16px;
}

.crip-box-in>ul>li:before {
    content: "\f00c";
    color: #003e96;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    background-color: #fff !important;
    padding-right: 10px;
    top: 2px;
    left: 1px;
}

.crip-redbox-in>ul>li:before {
    content: "\f00c";
    color: #c91313 !important;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    background-color: #fff !important;
    padding-right: 10px;
    top: 2px;
    left: 1px;
}

.crip-redbox-in:before {
    border: 4px solid #c91313 !important;
}

.crip-redbox-in:after {
    background: #c91313 !important;
}

.crip-redbox-title {
    color: #c91313 !important;
}

.crip-red {
    background-color: #f443364f !important;
}

@media(max-width:768px) {
    .crip-box-in ul {
        padding: 10px;
    }

    .crip-box {
        padding: 16px;
    }

    p.crip-box-title {
        font-size: 18px;
    }
}

.myfuki-main {
    display: inline-block;
    position: relative;
    background: #008e50;
    color: white;
    font-weight: 500;
    border-radius: 25px;
    padding: 0.3em 1em;
    margin: 0 auto;
    margin-bottom: 13px;
    text-align: center;
    display: block;
    width: 40%;
}

.myfuki-main:before {
    position: absolute;
    content: "";
    bottom: -0.5em;
    left: 50%;
    border-top: 10px solid;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 0;
    border-top-color: #008e50;
}

.box30 {
    margin: 2em 0;
    padding: 0 15px 10px;
    background: #002c7008;
    box-shadow: 0 2px 4px rgb(0 0 0 / 15%);
}

.box30 .box-title {
    margin: 0 -15px 15px;
    padding: 8px 4px;
    background: #008e50;
    color: #fff;
    font-size: 1.2em;
    text-align: center;
    line-height: 1.5;
    font-weight: bold;
}

.box30 .box-title:before {
    padding-right: 4px;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900;
    content: "\f00c";
}

.w_b_talk_R {
    text-align: left;
}

.zisseki-right i.fas.fa-recycle {
    color: #2bb028 !important;
    font-size: 16px !important;
    padding-right: 10px;
}

.fv-thumbnail,
.article-thumbnail {
    background: #f1f1f1;
    margin-bottom: 5px;
}

.fv-thumbnail img {
    width: 60%;
    display: block;
    margin: 0 auto;
    border: 1px solid #032D70;
}

@media (max-width: 768px) {
    .fv-thumbnail img {
        height: auto;
        width: 100%;
    }
}


.ol-circle {
    border: 2px solid #2bb028;
    margin-bottom: 20px;
}

.ol-circle ol {
    list-style-type: none !important;
    padding: 1em 0.7em;
    counter-reset: number;
}

.ol-circle li {
    position: relative;
    padding: 0.5em 0 0.5em 34px;
    line-height: 1.5em;
}

.ol-circle li:before {
    display: inline-block;
    position: absolute;
    left: 0;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #5c9ee7;
    color: white;
    font-family: "Quicksand", sans-serif;
    font-size: 15px;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    line-height: 25px;
    content: counter(number);
    counter-increment: number;
}

.main-bc-before li:before,
.main-bc-before li:before {
    background-color: #2bb028;
}

/* research-test */
.research {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 60px;
    margin-bottom: 60px;
    width: 93%;
    padding: 60px 0;
    max-width: 1000px;
    font-size: 16px;
    margin: 0 auto;
}

.research-text {
    width: 450px;
    background-color: #fff;
    padding: 20px;
    border: 3px solid #2bb028;
}

.research-text p {
    font-size: 16px;
    line-height: 2em;
    margin-bottom: 20px;
}

.research-text p.result {
    font-size: 20px;
    border-bottom: 3px solid #2bb028;
    padding-bottom: 10px;
    font-weight: bold;
}

.research-head {
    font-size: 24px;
    font-weight: bold;
    padding: 0 10px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .research {
        flex-flow: column;
        padding: 30px 0;
    }

    .research-text {
        width: 100%;
        margin: 0;
        margin-top: 20px;
    }

    .research-text p.result {
        font-size: 18px;
    }

    .research-head {
        font-size: 18px;
    }

    figure .table-center td {
        vertical-align: middle;
        min-width: 160px;
        font-size: 14px;
    }

    figure .table-center th {
        min-width: 110px;
        font-size: 13px;
    }

    .shiny-btn2 {
        padding: 6px 0;
        font-size: 15px;
    }

    figure .table-center td {
        vertical-align: middle;
        min-width: 160px;
        font-size: 14px;
    }
}

.Qa-Box {
    margin: 0 auto;
    margin-bottom: 20px;
}

.Qa-Box .Qa {
    padding: 20px 0;
    padding-bottom: 0;
    border-bottom: 1px solid #c8c8c8;
}

.Qa-Box .Qa dt,
.Qa-Box .Qa dd {
    display: flex;
    align-items: baseline;
    margin: 15px 0;
}

.Qa-Box .Qa dt p {
    margin: 0;
    padding-left: 15px;
    font-weight: bold;
    width: 100%;
    font-size: 14px;
}

.Qa-Box .Qa dd p {
    margin: 0;
    padding-left: 15px;
    width: 100%;
    font-size: 14px;
}

.Qa-Box .Qa:last-of-type {
    border-bottom: none;
}

.Qa-Box .Qa dt::before {
    content: "Q";
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background: #6699b7;
    width: 2em;
    height: 2em;
}

.Qa-Box .Qa dd::before {
    content: "A";
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background: #d65556;
    width: 2em;
    height: 2em;
}

@media screen and (max-width: 960px) {
    .Qa-Box {
        width: 95%;
    }
}

.mini-point {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.65em;
    border-radius: 6px;
    background-color: #e9f5ea;
    color: #2bb028;
    margin-bottom: 1.5em;
    padding: 0 0 0 10px;
    margin-top: 25px;
}

.mini-point .sng-box-msg__icon i {
    color: #2bb028;
    font-size: 21px;
}

.mini-point .mini-point-ttl {
    border-right-style: solid;
    border-width: 1px;
    font-size: 1em;
}

.mini-point .sng-box-msg__contents {
    color: #494949 !important;
    font-weight: bold;
    font-size: 16px;
    padding: 20px 0;
}

.mini-point-ttl .sng-box-msg__icon {
    color: #2bb028;
}

.sng-box-msg__icon {
    border-radius: 50%;
    display: inline-block;
    font-size: 17px;
    height: 30px;
    line-height: 30px;
    margin: 0 10px 0 0;
    text-align: center;
    vertical-align: middle;
    width: 30px;
}

.sng-box-msg__contents p {
    margin-bottom: 0;

}

.sng-box-msg__contents a {
    text-decoration: underline;
}

.choiki-outline {
    background-image: linear-gradient(to right, #1fba25 0%, #8bc34a 100%);
}

.choiki-inline {
    text-align: center;
    max-width: 1100px;
    margin: 0 auto;
    font-size: 18px;
    padding-bottom: 20px;
    color: #fff;
    word-break: keep-all;
    line-height: 2em;
}

.box29 .ol-circle {
    border: none;
    margin-bottom: 0 !important;
}

.box29 .ol-circle ol {
    margin-top: 0 !important;
    margin-bottom: 0 !important;

}

@media(max-width:768px) {
    .choiki-inline {
        text-align: left;
        margin: 0 auto;
        font-size: 16px;
        padding-bottom: 20px;
        color: #fff;
        word-break: normal;
        line-height: 1.8em;
        padding: 0 20px;
        padding-bottom: 10px !important;
    }
}

#dust-contents {
    margin-bottom: 20px;
}

#dust-contents h2 {
    text-align: center;
}

/* ブログカード シンプルデザイン*/
.blog-card-long {
    margin: 0 0 1.8rem;
}

.card-link {
    display: block;
    overflow: hidden;
    max-width: 400px;
    width: 100%;
    padding: 0;
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
    color: #555;
    font-weight: bold;
    text-decoration: none !important;
    position: relative;
}

.card-link:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.25);
    color: #888;
    text-decoration: none;
    transform: translateY(-2px);
}

.blog-card-label-long {
    z-index: 1;
    display: inline-block;
    position: absolute;
    background-color: #f99f48;
    top: 10px;
    left: 10px;
    max-width: 120px;
    height: 25px;
    padding: 0 0.5rem;
    color: #fff;
    font-size: .8rem;
    font-weight: 700;
    text-align: center;
    line-height: 25px;
    transform-origin: 50% 50%;
    animation: animScale 3.5s ease-out;
}

.card-link .blogcard-text {
    display: block;
    padding: 15px 13px;
    line-height: 1.6;
}

.longcard-link {
    margin-bottom: 1.5em;
    box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.25);
}

.longcard-link img {
    padding: 10px 10px 0;
}

.longcard-img {
    position: relative;
}

.blogcard-title {
    font-size: 1em;
    font-weight: bold;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
}

.blog-card-excerpt-long {
    padding-top: .8em;
    font-size: .8em;
    line-height: 1.4;
    font-weight: normal;
    opacity: .8;
    color: #333;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media only screen and (min-width: 481px) {
    .card-link {
        display: inline-block;
        max-width: 310px;
        margin-right: 20px;
    }

    .longcard-link {
        max-width: 98%;
        display: table;
        margin: 0 auto;
    }
}

.longcard-img,
.card-link.longcard-link .blogcard-content {
    display: table-cell;
    vertical-align: middle;
}

.longcard-img {
    width: 40%;
}

.blogcard-content {
    width: 60%;
}

.longcard-img img {
    padding: 0;
    margin: 0;
}

@media screen and (max-width: 959px) {
    .blog-card-excerpt-long {
        display: none;
    }
}

/*ブログカードのラベル*/
.blog-card-label {
    display: inline-block;
    position: absolute;
    background-color: #ffb36b;
    top: 0px;
    left: 0px;
    z-index: 2;
    width: 70px;
    height: 25px;
    color: #fff;
    font-size: .8rem;
    font-weight: 700;
    text-align: center;
    line-height: 25px;
    transform-origin: 50% 50%;
    animation: animScale 3.5s ease-out;
}

@media(max-width:768px) {

    .longcard-img,
    .card-link.longcard-link .blogcard-content {
        display: block;
    }

    .blogcard-content {
        width: 100%;
    }

    .longcard-img {
        width: 100%;
    }

    #new-flow p {
        font-size: 15px;
    }

    .w_b_quote.w_b_div {
        font-size: 14px;
        line-height: 2em;
    }

    .card-link {
        max-width: 300px;
        margin: 0 auto;
    }

    .longcard-link img {
        padding: 0;
    }
}

/* 都道府県の買取事例 */

.home-result-ng {
    position: relative;
    margin: 30px 0 0;
    padding: 10px 18px 10px;
    background-color: #fefcde;
    border-radius: 6px;
}

.home-result-ng__head {
    font-size: 1.5rem;
    font-weight: bold;
    margin-top: 10px;
}

.space-btw {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.row-case {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.purchase_exmaple_list li {
    width: 31.8%;
    display: block;
    max-width: 356px;
    background: #f5f5f5;
}

.purchase_name {
    font-weight: 600;
    background: none;
    margin: 10px 0;
    font-size: 1.3em;
}

.purchase_exmaple_list li dt {
    background: #3c9b71;
    color: #fff;
    font-size: 15px;
    padding: 3px 10px 5px;
    margin-block-end: 1em;
    margin-left: 20px;
}

.txt_keycolor {
    font-weight: 600;
    font-size: 15px;
}

p.home-result-ng__txt {
    font-size: 18px;
    padding: 10px;
}

@media (max-width: 600px) {
    .home-result-ng {
        min-height: 190px;
        margin: 5px 0px 10px;
        box-sizing: border-box;
    }

    .home-result-ng__head {
        font-size: 1.2rem;
        display: block;
    }

    p.home-result-ng__txt {
        font-size: 1.0rem;
    }

    ul.purchase_exmaple_list.row-case.space-btw {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 25px 0;
    }

    .purchase_exmaple_list li {
        width: 100%;
        max-width: 100%;
    }

    .purchase_exmaple_list li dt {
        margin-right: 50px;
    }
}

.shadow {
    box-shadow: 0 2px 8px rgb(0 0 0 / 10%), 0 4px 8px -4px rgb(0 0 0 / 20%);
}

/* 関連記事 */

.related-post-wrap {
    margin: 2em 0;
}

.related-post-wrap h4 {
    font-size: 1.25em;
    margin-bottom: 1em;
}

.related-post-wrap ul {
    display: grid;
    list-style: none;
    gap: .875em;
    grid-template-columns: repeat(3, 1fr);
}

.related-post a:hover {
    opacity: .6;
}

.related-post img {
    margin-bottom: .5em;
}

.related-post .text-wrap {
    font-size: .875em;
    font-weight: bold;
}

@media (max-width: 600px) {
    .related-post-wrap ul {
        grid-template-columns: repeat(2, 1fr);
        max-width: 380px !important;
    }
}

.outline_fukei {
    position: relative;
    border: 2px solid;
    border-image: linear-gradient(to right, #00a12f, #0aff20) 1;
    background: #fff;
}

.outline_fukei {
    padding: 0 20px;
    border-width: 3px !important;
}

.fukei_midashi {
    position: absolute;
    bottom: 100%;
    left: 50%;
    padding-right: 20px;
    padding-left: 20px;
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0px, rgba(255, 255, 255, 0) 16px, #fff 16.1px, #fff 100%);
    transform: translate(-50%, 15px);
    white-space: nowrap;
}

.fukei_midashi {
    font-size: 25px;
    font-weight: 900;
    color: #2bb028;
    transform: translate(-50%, 32px) !important;
}

.fukei_sentence {
    margin: auto;
    padding-top: 60px;
}

.fukei_flex {
    display: grid;
    grid-template-columns: 53.63% 1fr;
    gap: 0 60px;
}

.fukei_border {
    border-radius: 10px;
}

.fukei_image {
    position: relative;
    width: 100%;
}

.fukei_charactor {
    position: absolute;
    right: 3px;
    bottom: 327px;
    width: 27%;
}

.kobutsu {
    position: absolute;
    z-index: 0;
    top: 16px;
    width: 16%;
    right: 27px;
}

.fukei_title {
    color: #2bb028;
    font-size: 1.8rem;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
    font-weight: bold;
    line-height: 1.5;

}

.fukei_heading {
    color: #2bb028 !important;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
    font-weight: bold !important;
    font-size: 20px !important;
    margin-bottom: 0 !important;
}

#fukei-content {
    overflow-x: visible;
}

@media(max-width:768px) {
    .fukei_midashi {
        bottom: 102%;
    }

    .fukei_flex {
        display: block;
        padding-top: 20px;
    }

    .fukei_charactor {
        bottom: 57%;
    }

    .kobutsu {
        top: 49%;
        width: 185px;
        right: 19px;
    }

    .fukei_sentence {
        padding-top: 0px;
    }

    #fukei-content {
        margin-top: 70px;
    }

    .fukei-right {
        margin-top: 80px;
    }
}

/* テーブル横並び */
.table-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* 2つのカラムを作成 */
    gap: 20px;
    /* カラム間のスペース */
}

.table-item {
    display: flex;
    flex-direction: column;
}

.table-item table {
    width: 100%;
    height: 100%;
    /* テーブルの高さを親要素に合わせる */
}

/* td内のテキストを左揃えに */
.table-item table td {
    text-align: left;
    vertical-align: top;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    /* tdの高さを伸ばす */
}

/* リンクを下揃えに */
.table-item table td .link-wrapper {
    margin-top: auto;
    /* トップに自動マージンを設定して下に押し下げる */
}

.comp td {
    height: 400px;
    /* tdの高さを400pxに固定 */
}

.shiny-btn3 {
    background-color: #666666;
    border-bottom: 5px solid #666666;
}

.comp.type2 th {
    background-color: #666666;
}

.word_box {
    background: #DCF9DE;
    padding: 10px;
    border-radius: 10px;
}

/*ctaパターン2 */
.cta__ct {
    width: 830px;
    margin: 0 auto;
    margin-top: 40px;
    margin-bottom: 4rem;
}

.cta-speed {
    width: 100%;
    font-size: 2rem;
    line-height: 1.5;
    font-weight: 900;
    letter-spacing: -1px;
    margin-top: 0;
    margin-bottom: 10px;
    text-align: center
}

.cta-nowtime {
    width: 100%;
    font-size: 1.6rem;
    line-height: 1;
    border: 2px solid #000;
    font-weight: 900;
    border-radius: 50px;
    padding: 6px 0 6px 0;
    position: relative;
    text-align: center;
    margin-top: 0
}

.cta-nowtime:after {
    content: "";
    width: 124px;
    height: 124px;
    background: url(/wp-content/themes/nfc/seo/img/minutes.png) no-repeat;
    -moz-background-size: contain;
    background-size: contain;
    position: absolute;
    right: -25px;
    top: -80px
}

.cta__ct .cta__phone {
    font-size: 6.0rem;
    line-height: .9;
    font-weight: bold;
    color: #da0e0e !important;
    padding-top: 1rem;
    display: block;
    padding-left: 100px;
    position: relative;
    letter-spacing: -3px;
    margin-bottom: 10px;
    text-decoration: none;
    font-family: sans-serif, "Noto Sans JP", 游ゴシック, "Yu Gothic", 游ゴシック体, "YuGothic", sans-serif;
}

.cta__ct .cta__phone:before {
    content: "";
    width: 90px;
    height: 86px;
    background: url(/wp-content/themes/nfc/seo/img/tel.png) no-repeat;
    background-size: contain;
    position: absolute;
    left: 0;
    top: 13px;
    bottom: 0;
    margin: auto
}

.cta__ct .cta__time {
    font-size: 1.2rem;
    line-height: 1;
    font-weight: bold;
    position: relative;
    display: block;
    letter-spacing: 1px;
    margin-bottom: 20px;
    text-align: center
}

.cta__ct .cta__time:before {
    content: "";
    width: 285px;
    height: 1px;
    position: absolute;
    background: #000;
    top: 5px;
    bottom: 0;
    left: 0;
    margin: auto
}

.cta__ct .cta__time:after {
    content: "";
    width: 285px;
    height: 1px;
    position: absolute;
    background: #000;
    top: 5px;
    bottom: 0;
    right: 0;
    margin: auto
}

.cta-nowtime span {
    color: #da0e0e
}

.cta__ct .cta__btn {
    display: flex;
    justify-content: space-around;
    margin-bottom: 26px
}

.cta__ct .cta__btn a i {
    margin-right: 10px;
    margin-top: 0;
}

.right-btn {
    max-width: 350px;
    min-width: 350px;
    max-height: 102px;
}

.cta__ct .cta__btn a:after {
    content: "";
    width: 11px;
    height: 20px;
    background: url(assets/images/top/ic_arr.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 16px;
    margin: auto
}

.cta__ct .cta__btn a.cta__green {
    background: #14a600
}

.cta__ct .cta__btn a.cta__green:before {
    background: #43b833
}

a.btn--orange {
    background-color: #eb6100;
    text-decoration: none !important;
    padding: 30px;
    border-radius: 7px;
    font-weight: bold;
    font-size: 28px;
    display: flex;
    align-items: center;
}

a.btn--orange:hover {
    color: #fff;
    background: #f56500
}

a.btn--orange.btn--cubic {
    border-bottom: 5px solid #8b0000;
    color: white;
}

a.btn--orange.btn--cubic:hover {
    margin-top: 3px;
    border-bottom: 2px solid #8b0000
}

.customer-no1 {
    margin: 25px 0 25px 0
}

.customer-no1 p {
    text-align: center
}

.btn,
a.btn,
button.btn {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 4rem;
    cursor: pointer;
    user-select: none;
    transition: all .3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: .1em;
    color: #212529;
    border-radius: .5rem
}

.btn-wrap {
    margin: 0 auto;
    text-align: center
}

a.btn-c span {
    font-size: 1.5rem;
    position: absolute;
    top: -1.25rem;
    left: calc(50% - 300px);
    display: block;
    width: 600px;
    padding: .2rem 0;
    color: #d44114;
    border: 2px solid #d44114;
    border-radius: 100vh;
    background: #fff;
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2)
}

a.btn-c span:before,
a.btn-c span:after {
    position: absolute;
    left: calc(50% - 10px);
    content: ""
}

a.btn-c span:before {
    bottom: -10px;
    border-width: 10px 10px 0 10px;
    border-style: solid;
    border-color: #d44114 transparent transparent transparent
}

a.btn-c span:after {
    bottom: -7px;
    border-width: 10px 10px 0 10px;
    border-style: solid;
    border-color: #fff transparent transparent transparent
}

a.btn-c i {
    margin-right: 1rem
}

a.btn--green {
    color: #fff !important;
    background-color: #094
}

a.btn--green:hover {
    color: #fff;
    background: #00a349
}

a.btn--green.btn--cubic {
    border-bottom: 5px solid #00662d;
    text-decoration: none
}

a.btn--green.btn--cubic:hover {
    margin-top: 3px;
    border-bottom: 2px solid #00662d
}

a.btn-c {
    width: 78%;
    font-size: 1.5rem;
    position: relative;
    padding: 1.5rem 3rem 1.5rem 2rem;
    color: white;
}

a.btn-c i.fa {
    margin-right: 1rem
}

.btn,
a.btn,
button.btn {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 4rem;
    cursor: pointer;
    user-select: none;
    transition: all .3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: .1em;
    color: #212529;
    border-radius: 0.5rem;
}

.btn,
a.btn,
button.btn {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 4rem;
    cursor: pointer;
    user-select: none;
    transition: all .3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: .1em;
    color: #212529;
    border-radius: .5rem
}

.btn-wrap {
    margin: 0 auto;
    text-align: center
}

a.btn-c span {
    font-size: 1.5rem;
    position: absolute;
    top: -1.25rem;
    left: calc(50% - 300px);
    display: block;
    width: 600px;
    padding: .2rem 0;
    color: #d44114;
    border: 2px solid #d44114;
    border-radius: 100vh;
    background: #fff;
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2)
}

a.btn-c span:before,
a.btn-c span:after {
    position: absolute;
    left: calc(50% - 10px);
    content: ""
}

a.btn-c span:before {
    bottom: -10px;
    border-width: 10px 10px 0 10px;
    border-style: solid;
    border-color: #d44114 transparent transparent transparent
}

a.btn-c span:after {
    bottom: -7px;
    border-width: 10px 10px 0 10px;
    border-style: solid;
    border-color: #fff transparent transparent transparent
}

a.btn-c i {
    margin-right: 1rem
}

a.btn--green {
    color: #fff !important;
    background-color: #094 text-decoration: none;
    padding: 30px;
    border-radius: 7px;
    font-weight: bold;
    font-size: 28px;

}

a.btn--green:hover {
    color: #fff;
    background: #00a349
}

a.btn--green.btn--cubic {
    border-bottom: 5px solid #00662d;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

a.btn--green.btn--cubic:hover {
    margin-top: 3px;
    border-bottom: 2px solid #00662d
}

a.btn-c {
    width: 100%;
    font-size: 1.5rem;
    position: relative;
    padding: 1.5rem 3rem 1.5rem 2rem
}

a.btn-c i.fa {
    margin-right: 1rem
}

a.btn {
    font-size: 1rem;
    color: white;
}

@media(max-width:768px) {
    .cta__ct {
        width: 100%;
        margin: 0 auto;
        margin-top: 120px;
    }

    .full-back-green .cta__ct {
        width: 96%
    }

    a.btn--green {
        letter-spacing: 4.8px
    }

    .cta-speed {
        font-size: 1rem;
        line-height: 1.5;
        font-weight: bold;
        letter-spacing: 1;
        margin-bottom: .78125vw
    }

    .cta-nowtime {
        font-size: 1.2rem;
        line-height: 1.2;
        border: 2px solid #000;
        font-weight: bold;
        border-radius: 7px;
        padding: 5px 1.5625vw 1.25vw;
        position: relative;
        margin-top: 0;
        margin: 0 auto;
        margin-bottom: 2.5vw;
        text-align: center;
        max-width: 330px
    }

    .cta-nowtime:after {
        content: "";
        width: 13.4375vw;
        height: 13.59375vw;
        background: url(/wp-content/themes/nfc/seo/img/minutes.png) no-repeat;
        background-size: contain;
        position: absolute;
        right: -6.5vw;
        top: -2.46875vw
    }

    .cta__ct .cta__phone {
        font-size: 2.4rem;
        position: relative;
        padding: 5px 0 0 0;
        color: #fff !important;
        height: 60px;
        background: #da0e0e !important;
        border-radius: 23.4375vw;
        display: flex;
        align-items: center;
        justify-content: center;
        transform: translateZ(0)
    }

    .cta__ct .cta__phone:before {
        content: "";
        width: 2rem;
        height: 3rem;
        margin: 0;
        margin-right: 10px;
        background: url(/wp-content/themes/nfc/seo/img/cm_tel_sp.png) no-repeat;

        background-size: contain;
        display: block;
        position: relative
    }

    .cta__ct .cta__phone:after {
        content: "";
        width: 81.5625vw;
        height: 7.8125vw;
        background: #f72e2e;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        border-radius: 23.4375vw;
        z-index: -1
    }

    .cta__ct .cta__time {
        font-size: 3.28125vw;
        line-height: 1;
        font-weight: bold;
        position: relative;
        display: block;
        letter-spacing: 1px;
        margin-top: 10px;
        margin-bottom: 10px
    }

    .cta__ct .cta__time:before {
        content: "";
        width: 26.875vw;
        height: 1px;
        position: absolute;
        background: #000;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto
    }

    .cta__ct .cta__time:after {
        content: "";
        width: 26.875vw;
        height: 1px;
        position: absolute;
        background: #000;
        top: 0;
        bottom: 0;
        right: 0;
        margin: auto
    }

    .cta__ct .cta__btn {
        display: flex;
        margin-bottom: 26px;
        flex-direction: column;
    }

    .left-btn,
    .right-btn {
        width: 100%
    }

    .cta__ct .cta__btn a:before {
        content: "";
        width: 40.625vw;
        height: 5.625vw;
        background: #ff9446;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        -moz-border-radius: 23.4375vw;
        border-radius: 23.4375vw;
        z-index: -1
    }

    .cta__ct .cta__btn a i {
        margin-right: 1.5625vw;
        padding-top: .78125vw
    }

    .cta__ct .cta__btn a i.ic_mail img {
        width: 4.6875vw
    }

    .cta__ct .cta__btn a:after {
        content: "";
        width: 40px;
        height: 20px;
        background: url(assets/images/top/ic_arr.png) no-repeat;
        -moz-background-size: contain;
        background-size: contain;
        position: absolute;
        top: 0;
        bottom: 0;
        right: .4rem;
        margin: auto
    }

    .cta__ct .cta__btn a.cta__green {
        background: #14a600
    }

    .cta__ct .cta__btn a.cta__green:before {
        background: #43b833
    }

    .cta__ct .cta__btn a i.ic_line img {
        width: 5.15625vw
    }

    a.btn--orange.btn--cubic {
        width: 100%;
        font-size: 1.4rem;
        padding: 1.5rem 3rem 1.5rem 2rem;
        display: inline-block;
        text-align: center;
    }

    .right-btn {
        margin-top: 2%;
        min-width: auto;
        max-width: 100% !important;
    }

    a.btn--green.btn--cubic {
        font-size: 20px;
        text-align: center;
        padding: 1.5rem 3rem 1.5rem 2rem;
    }

    .cta-frame-width {
        padding: 0px 10px;
    }

    .cta-frame-height {
        margin-top: 20px !important;
    }

    .fa-envelope:before {
        font-size: 0.9em;
    }
}

@media(max-width:340px) {
    .cta__ct .cta__phone {
        font-size: 2rem
    }

    .cta-nowtime {
        max-width: 290px
    }

    .heading06::before {
        font-size: 45px
    }

    .voice__list .voice__child .voice__tit span {
        display: none
    }
}

/*　お客様アンケート */

.survey {
    padding: 60px 0;
    margin-bottom: 65px
}

.survey .voicepaper {
    width: 1020px;
    margin: 0 auto 40px;
    display: flex;
    flex-wrap: wrap;
}

.survey .voicepaper article {
    width: 48%;
    margin-right: 20px;
}

.survey .voicepaper article:last-child {
    margin-right: 0;
}

.survey .voicepaper article figure {
    width: 320px;
    border: 1px solid #cfd8dc;
    margin: 0 auto 20px;
}

.survey .voicepaper article figure img {
    width: 100%;
    height: auto
}

.survey .voicepaper article div.ttl {
    text-align: center;
    margin: 0 0 15px;
    font-size: 1.1rem;
    color: #FFF;
    background: #2bb028;
    padding: 5px 0;
    border-radius: 45px
}

.survey .voicepaper article .date {
    color: #F7931E;
    margin-bottom: 5px
}

.spacetop80 {
    margin-top: 80px;
}

.staff-card {
    display: flex;
    margin: 20px auto;
    background-color: white;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    font-family: YakuHanMPs_Noto, "Noto Serif JP", serif !important;
}

.staff-image-container {
    flex: 1;
}

.staff-image-container img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.staff-info-container {
    flex: 1;
    padding: 40px;
    background-color: #f5f9f9;
}

.staff-position {
    font-size: 24px;
    color: #4a4a4a;
    margin-bottom: 20px;
}

.staff-name {
    font-size: 28px;
    color: #333;
    margin-top: 0;
    margin-bottom: 30px;
}

.info-row {
    display: flex;
    padding: 10px 0;
    margin-bottom: 5px !important;
    font-size: 15px;
    border-bottom: 1px dotted #000;
}

.info-label {
    flex: 1;
    color: #000;
    font-size: 16px;
    font-weight: bold;
}

.info-value {
    flex: 2;
    color: #333;
    font-weight: bold;
}

a.staff-link {
    position: absolute;
    top: 13px;
    color: #fff;
    text-decoration: underline;
    right: 40px;
}

#kaitori h2 {
    padding: 20px 0;
    margin-bottom: 0;
}

#kaitori p {
    font-size: 14px;
    font-weight: normal;
    text-align: left;
}

.kaisyu-koment {
    text-align: center !important;
    margin-top: 70px;
}

@media screen and (max-width: 767px) {
    .survey {
        width: calc(100% + 20px);
        padding: 60px 5px 0 5px;
        margin-left: -10px
    }

    .survey .voicepaper {
        width: 100%;
        padding: 0 10px;
        flex-wrap: wrap;
        justify-content: center;
    }

    .survey .voicepaper article {
        width: 85%;
        margin-right: 3%;
        margin-bottom: 15px;
    }

    .survey .voicepaper article div.ttl {
        font-size: 0.8rem;
    }

    .survey .voicepaper article:nth-child(2n) {
        margin-right: 0;
    }

    .survey .voicepaper article figure {
        width: 100%
    }

    .info-row {
        display: block;
    }

    .staff-card {
        display: block;
    }

    .staff-info-container {
        padding: 20px;
    }

    a.staff-link {
        position: absolute;
        color: #fff;
        bottom: 13px;
        font-size: 1rem;
        top: auto;
    }
}


/* carousel item */

.carousel-container {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.carousel {
    display: flex;
    width: 300%;
    /* 3つのアイテムを表示 */
    transition: transform 0.5s ease;
}

.carousel-item {
    flex: 0 0 33.33%;
    /* 各アイテムの幅を33.33%に設定 */
    padding: 20px;
    box-sizing: border-box;
    transition: all 0.5s ease;
}

.carousel-item.left,
.carousel-item.right {
    opacity: 0.5;
    transform: scale(0.9);
}

#content .zisseki-outline {
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.zisseki-left {
    flex: 1;
    /*padding: 20px; */
}

.zisseki-left img {
    width: 100%;
    height: auto;
    border-radius: 4px;
}

.zisseki-right {
    flex: 2;
    padding: 0 20px;
}

.carousel-indicators {
    display: flex;
    justify-content: center;
    margin-top: 0px;
}

.carousel-indicator {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #ccc;
    border: none;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}

.carousel-indicator.active {
    background-color: #2bb028;
    /* アクティブな色を設定 */
}

.carousel-nav {
    position: absolute;
    top: 50%;
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.carousel-nav button {
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: 10px 15px;
    cursor: pointer;
}

.carousel-item {
    position: relative;
}

.carousel-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.1);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.meetsmore-title {
    font-size: 26px;
    background: #f5f5f5;
    width: 410px;
    padding: 30px 0;
    padding-left: 20px;
    border-radius: 0;
    position: relative;
}

.meetsmore-title.required::after {
    content: "必須";
    background: #ff6c00;
}

.meetsmore-title::after {
    content: "";
    color: white;
    font-size: 16px;
    left: 80%;
    position: absolute;
    padding: 4px 10px;
}

#meetsmore-form input[type="text"],
#meetsmore-form input[type="email"],
#meetsmore-form select,
#meetsmore-form textarea {
    width: 50%;
    height: 70px;
    border: solid 3px #D5EAD8;
    font-size: 14px;
    padding: 8px;
}

@media (max-width: 768px) {
    .zisseki-outline {
        flex-direction: column;
    }

    .zisseki-left,
    .zisseki-right {
        width: 100%;
    }

    .meetsmore-title {
        width: 100%;
        display: block;
    }

    #meetsmore-form input[type="text"],
    #meetsmore-form input[type="email"],
    #meetsmore-form select,
    #meetsmore-form textarea {
        width: 100%;
    }
}



/* テストcss */

:root {
    --primary-blue: #2bb028;
    --background-blue: #d5ead8;
    --white: #ffffff;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-size: 16px;
    line-height: 1.5;
}

.earth_company_info {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 2% 3%;
    background-color: var(--background-blue);
    font-family: sans-serif;
}

.earth_header {
    display: flex;
    align-items: center;
    gap: 1%;
    margin-bottom: 2%;
    width: 100%;
}

.earth_building_icon {
    width: 1.5em;
    height: 1.5em;
    color: var(--primary-blue);
}

.earth_title {
    font-size: 1.5em;
    margin: 0;
    font-weight: normal;
    width: 95%;
}

.earth_map_container {
    position: relative;
    width: 100%;
    margin-bottom: 2%;
    overflow: hidden;
}

.earth_map_container img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.earth_info_table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.earth_info_header {
    width: 25%;
    padding: 1.5% 2% !important;
    background-color: var(--primary-blue);
    color: var(--white);
    font-weight: normal;
    border-bottom: 1px solid white;
}

.earth_info_data {
    padding: 1.5% 2% !important;
    background-color: var(--white);
    border-bottom: 1px solid #2bb028;
}

.earth_license_list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.earth_license_item {
    margin-bottom: 2%;
    line-height: 1.4;
}

.earth_license_item:last-child {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .earth_company_info {
        width: 100%;
        padding: 4%;
    }

    .earth_header {
        margin-bottom: 4%;
    }

    .earth_title {
        font-size: 1.2em;
    }


    .earth_info_table,
    .earth_info_table tbody,
    .earth_info_table tr {
        display: block;
        width: 100%;
    }

    .earth_info_header {
        display: block;
        width: 100%;
        padding: 3% 4%;
    }

    .earth_info_data {
        display: block;
        width: 100%;
        padding: 4%;
    }

    .earth_license_item {
        margin-bottom: 3%;
        font-size: 0.9em;
    }
}

@media (max-width: 480px) {
    .earth_company_info {
        padding: 5%;
    }

    .earth_title {
        font-size: 1.1em;
    }


    .earth_info_header,
    .earth_info_data {
        padding: 4% 5%;
    }

    .earth_license_item {
        font-size: 0.85em;
    }
}

.ktd-container {
    max-width: 100%;
    margin: 0 auto;
    padding: 40px 20px;
    background-color: #fffcde;
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
}

.ktd-header {
    text-align: center;
    margin-bottom: 40px;
}

.ktd-header__title {
    font-size: 28px;
    margin: 0;
    font-weight: normal;
    letter-spacing: 0.1em;
}

.ktd-header__subtitle {
    color: #00B900;
    font-size: 16px;
    margin: 5px 0 0;
    letter-spacing: 0.1em;
}

.ktd-mainvisual {
    width: 100%;
    max-width: 800px;
    margin: 0 auto 30px;
    display: flex;
    justify-content: center;
}

.ktd-mainvisual__image {
    width: 100%;
    max-width: 450px;
    height: auto;
}

.ktd-mission {
    text-align: center;
    margin-bottom: 50px;
}

.ktd-mission__title {
    background-color: #FFE45E;
    display: inline-block;
    padding: 10px 50px;
    font-weight: bold;
    font-size: 18px;
    margin: 0 0 20px;
}

.ktd-mission__text {
    text-align: left;
    max-width: 800px;
    margin: 0 auto;
    line-height: 1.8;
    font-size: 15px;
}

.ktd-staff {
    padding: 0 20px;
}

.ktd-staff__title {
    text-align: center;
    font-size: 24px;
    margin: 0 0 40px;
    font-weight: normal;
    letter-spacing: 0.1em;
}

.ktd-staff__grid {
    display: flex;
    gap: 30px;
    max-width: 900px;
    margin: 0 auto;
}

.ktd-staff__card {
    flex: 1;
    background: #FFFFFF;
    border-radius: 10px;
    padding: 25px;
}

.ktd-staff__image-wrapper {
    width: 130px;
    height: 130px;
    margin: 0 auto 15px;
    border-radius: 50%;
    overflow: hidden;
}

.ktd-staff__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ktd-staff__position {
    text-align: center;
    font-size: 15px;
    margin: 0 0 15px;
}

.ktd-staff__description {
    font-size: 14px;
    line-height: 1.8;
    margin: 0;
}

@media screen and (max-width: 767px) {
    .ktd-container {
        padding: 20px 15px;
    }

    .ktd-header__title {
        font-size: 22px;
    }

    .ktd-staff__grid {
        flex-direction: column;
    }

    .ktd-staff__card {
        margin-bottom: 20px;
    }

    .ktd-mission__title {
        padding: 8px 20px;
        font-size: 16px;
    }

    .ktd-mission__text {
        font-size: 14px;
        padding: 0 15px;
    }

    .ktd-staff {
        padding: 0;
    }

    .ktd-staff__title {
        font-size: 20px;
        margin-bottom: 25px;
    }
}

.ngy-survey {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
    background-color: #fff;
}

.ngy-survey__header {
    text-align: center;
    margin-bottom: 40px;
}

.ngy-survey__title {
    font-size: 28px;
    font-weight: normal;
    margin: 0 0 5px;
    color: #333;
}

.ngy-survey__subtitle {
    color: #2bb028;
    font-size: 16px;
    margin: 0 0 20px;
    letter-spacing: 0.1em;
}

.ngy-survey__description {
    font-size: 14px;
    color: #333;
    margin: 0;
    line-height: 1.6;
}

.ngy-survey__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-top: 40px;
}

.ngy-survey__item {
    width: 48%;
    background: #fff;
    border-radius: 12px;
    padding: 25px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.ngy-survey__question {
    display: flex;
    align-items: center;
    margin: 0 0 20px;
    font-size: 16px;
    font-weight: normal;
    color: #333;
}

.ngy-survey__question-icon {
    width: 24px;
    height: 24px;
    background-color: #2bb028;
    border-radius: 50%;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    font-size: 14px;
}

.ngy-survey__chart-container {
    height: 300px;
    position: relative;
    margin-bottom: 20px;
}

.ngy-survey__result {
    font-size: 13px;
    line-height: 1.6;
    color: #666;
    margin: 0;
}

@media screen and (max-width: 767px) {
    .ngy-survey {
        padding: 20px 15px;
    }

    .ngy-survey__title {
        font-size: 20px;
        line-height: 1.4;
    }

    .ngy-survey__subtitle {
        font-size: 14px;
    }

    .ngy-survey__grid {
        flex-direction: column;
        gap: 20px;
    }

    .ngy-survey__item {
        padding: 20px 15px;
        width: 100%;
    }

    .ngy-survey__question {
        font-size: 15px;
    }

    .ngy-survey__chart-container {
        height: 250px;
    }

    .ngy-survey__result {
        font-size: 12px;
    }
}

.research-frame {
    background-color: #fefcde;
    color: #333;
    line-height: 1.6;
    padding: 20px;
}

.section-item {
    margin-bottom: 40px;
}

.section-item-title {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    font-size: 18px;
    font-weight: bold;
}

.section-item-title p {
    font-size: 18px;
    font-weight: bold;
    display: flex;
    align-items: center;
}

.section-item-title p:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0d1";
    font-weight: 900;
    margin-right: 10px;
    color: #3c9b71;
    font-size: 24px;
}

.section-item-title i {
    color: #3c9b71;
    font-size: 24px;
    margin-right: 10px;
}

@media (max-width: 768px) {
    .section-item-title {
        font-size: 16px;
    }
}

.collection-section {
    max-width: 1200px;
    margin: 0 auto;
}

.collection-title {
    color: #1B8756;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 10px;
}

.collection-subtitle {
    text-align: center;
    font-size: 18px;
    margin-bottom: 30px;
}

.item-type-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.item-type-card {
    width: calc(50% - 5px);
}

.item-type-card:last-child {
    width: 100%;
}

.item-type-image {
    width: 100%;
    border-radius: 8px;
    margin-bottom: 10px;
}

.item-type-label {
    font-size: 14px;
    margin: 0;
}

/* PC styles */
@media (min-width: 769px) {
    .item-type-grid {
        flex-wrap: wrap;
    }

    .item-type-card {
        flex-basis: calc(25% - 16px);
    }

    .item-type-image {
        aspect-ratio: 4/3;
        object-fit: cover;
    }
}

/* SP styles */
@media (max-width: 768px) {
    .collection-section {
        padding: 15px;
    }

    .item-grid {
        flex-direction: column;
        gap: 15px;
    }

    .item-card {
        width: 100%;
        max-width: 300px;
    }

    .item-image {
        aspect-ratio: 3/2;
        object-fit: cover;
    }

    .collection-title {
        font-size: 20px;
    }

    .collection-subtitle {
        font-size: 14px;
        margin-bottom: 20px;
    }
}

/* 料金検索 */

.recycling-fee-checker {
    max-width: 1000px;
    margin: 2rem auto;
    padding: 1rem;
    font-family: inherit;
    background-color: #fefcde;
}

.rfc-search-section {
    margin-bottom: 2rem;
}

.rfc-maker-label {
    margin-bottom: 0.5rem;
}

.rfc-label-optional {
    display: inline-block;
    background-color: #f3f4f6;
    color: #666;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.875rem;
    margin-right: 0.5rem;
}

.rfc-maker-input-container {
    position: relative;
}

.rfc-maker-input {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: white;
}

.rfc-maker-input.selected {
    color: #333;
}

.rfc-maker-input:not(.selected) {
    color: #666;
}

.rfc-dropdown {
    position: absolute;
    width: 100%;
    background: white;
    border: 1px solid #ccc;
    border-radius: 4px;
    margin-top: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    display: none;
    z-index: 1000;
}

.rfc-dropdown.active {
    display: block;
}

.rfc-search-box {
    padding: 0.75rem;
    border-bottom: 1px solid #eee;
}

.rfc-search-box input {
    width: 100%;
    padding: 0.5rem;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.rfc-maker-list {
    max-height: 300px;
    overflow-y: auto;
}

.rfc-maker-item {
    padding: 0.75rem;
    cursor: pointer;
}

.rfc-maker-item:hover {
    background-color: #f0f7ff;
}

.rfc-button-group {
    display: flex;
    gap: 0.5rem;
    margin-top: 1rem;
}

.rfc-search-button {
    flex: 1;
    padding: 0.75rem;
    background-color: #2bb028;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.rfc-reset-button {
    padding: 0.75rem 1rem;
    background-color: #e5e7eb;
    color: #666;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.rfc-results-section {
    display: none;
    margin-top: 2rem;
}

.rfc-results-header {
    background-color: #4b5563;
    color: white;
    padding: 1rem;
    margin-bottom: 1rem;
}

.rfc-results-header p {
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.rfc-table {
    width: 100%;
    border-collapse: collapse;
    background-color: white;
}

.rfc-table th {
    background-color: #f0f7ff;
    padding: 1rem;
    text-align: left;
    border: 1px solid #e5e7eb;
}

.rfc-table td {
    padding: 1rem;
    border: 1px solid #e5e7eb;
}

.rfc-text-right {
    text-align: right;
}

.rfc-text-center {
    text-align: center;
}

.rfc-text-blue {
    color: #2563eb;
}

.rfc-text-gray {
    color: #666;
}

.eco-container {
    max-width: 1000px;
    margin: 20px auto;
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

/* ヘッダーセクション */
.eco-header {
    position: relative;
    height: 280px;
    overflow: hidden;
}

.eco-header-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.85);
}

.eco-header-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
    color: white;
}

.eco-header-tag {
    display: inline-block;
    background-color: #4caf50;
    color: white;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
    margin-bottom: 8px;
}

.eco-header-title {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 10px;
}

.eco-header-subtitle {
    font-size: 16px;
    opacity: 0.9;
}

/* メインコンテンツ */
.eco-content {
    padding: 20px;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 20px;
}

/* 左カラム */
.eco-main-content {
    background-color: white;
}

/* サービス情報 */
.eco-service-info {
    margin-bottom: 30px;
}

.eco-section-title {
    position: relative;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 15px;
    padding-bottom: 8px;
    border-bottom: 2px solid #4caf50;
    color: #2e7d32;
}

.eco-section-title::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 60px;
    height: 2px;
    background-color: #2e7d32;
}

.eco-service-area {
    display: inline-block;
    background-color: #e8f5e9;
    padding: 8px 12px;
    border-radius: 6px;
    margin-bottom: 10px;
    position: relative;
    padding-left: 28px;
}

.eco-service-area::before {
    content: "\f3c5";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    left: 10px;
    color: #2e7d32;
}

.eco-price-info {
    display: flex;
    align-items: baseline;
    margin: 15px 0;
}

.eco-price-label {
    padding: 3px 8px;
    background-color: #2e7d32;
    color: white;
    border-radius: 4px;
    font-size: 14px;
    margin-right: 10px;
}

.eco-price-value {
    font-size: 32px;
    font-weight: bold;
    color: #d32f2f;
}

.eco-price-unit {
    font-size: 16px;
    color: #757575;
    margin-left: 5px;
}

.eco-payment-methods {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.eco-payment-method {
    background-color: #f5f5f5;
    border-radius: 4px;
    padding: 4px 8px 4px 28px;
    font-size: 12px;
    color: #616161;
    position: relative;
}

.eco-payment-method::before {
    position: absolute;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    left: 8px;
}

.eco-payment-credit::before {
    content: "\f09d";
}

.eco-payment-cash::before {
    content: "\f3d1";
}

.eco-payment-later::before {
    content: "\f1ec";
}

.eco-payment-bank::before {
    content: "\f19c";
}

/* 特徴セクション */
.eco-features {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 15px;
    margin-bottom: 20px;
}

.eco-feature {
    position: relative;
    background-color: white;
    border-radius: 8px;
    padding: 15px 10px 15px 10px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s, box-shadow 0.2s;
    border: 1px solid #e0e0e0;
}

.eco-feature:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.eco-feature-icon {
    width: 50px;
    height: 50px;
    margin: 0 auto 10px;
    border-radius: 50%;
    background-color: #e8f5e9;
    position: relative;
}

.eco-feature-icon::before {
    content: "";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #2e7d32;
    font-size: 22px;
}

.eco-feature-truck .eco-feature-icon::before {
    content: "\f0d1";
}

.eco-feature-calculator .eco-feature-icon::before {
    content: "\f1ec";
}

.eco-feature-box .eco-feature-icon::before {
    content: "\f466";
}

.eco-feature-couch .eco-feature-icon::before {
    content: "\f4b8";
}

.eco-feature-moon .eco-feature-icon::before {
    content: "\f186";
}

.eco-feature-home .eco-feature-icon::before {
    content: "\f015";
}

.eco-feature-bolt .eco-feature-icon::before {
    content: "\f0e7";
}

.eco-feature-clock .eco-feature-icon::before {
    content: "\f017";
}

.eco-feature-shield .eco-feature-icon::before {
    content: "\f3ed";
}

.eco-feature-stairs .eco-feature-icon::before {
    content: "\f649";
}

.eco-feature-users .eco-feature-icon::before {
    content: "\f0c0";
}

.eco-feature-recycle .eco-feature-icon::before {
    content: "\f1b8";
}

.eco-feature-title {
    font-weight: bold;
    margin-bottom: 5px;
    color: #333;
}

.eco-feature-badge {
    position: absolute;
    top: -5px;
    right: -5px;
    background-color: #4caf50;
    color: white;
    border-radius: 50%;
    width: 24px;
    height: 24px;
}

.eco-feature-badge::before {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 12px;
}

.eco-company-info {
    background-color: #f5f5f5;
    border-radius: 8px;
    padding: 15px;
    font-size: 13px;
    line-height: 1.5;
}

.eco-company-title {
    font-weight: bold;
    margin-bottom: 8px;
    font-size: 14px;
}

.eco-company-cert {
    display: inline-block;
    background-color: #eeeeee;
    padding: 3px 8px;
    border-radius: 4px;
    margin: 4px 4px 4px 0;
    font-size: 12px;
}

.eco-company-link {
    display: block;
    margin-top: 10px;
    color: #2e7d32;
    text-decoration: none;
    font-weight: bold;
    position: relative;
    padding-right: 20px;
}

.eco-company-link::after {
    content: "\f35d";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    right: 0;
}

.eco-company-link:hover {
    text-decoration: underline;
}

/* 右カラム */
.eco-sidebar {
    background-color: white;
}

/* 評価セクション */
.eco-rating {
    background-color: #fff;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    border: 1px solid #e0e0e0;
}

.eco-rating-header {
    text-align: center;
    margin-bottom: 20px;
}

.eco-rating-title {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 5px;
    color: #333;
}

.eco-rating-subtitle {
    font-size: 12px;
    color: #757575;
}

.eco-rating-overall {
    text-align: center;
    margin-bottom: 20px;
}

.eco-score {
    font-size: 48px;
    font-weight: bold;
    color: #2e7d32;
    line-height: 1;
}

.eco-score-max {
    font-size: 18px;
    color: #757575;
}

.eco-stars {
    margin: 10px 0;
    color: #ffc107;
    font-size: 24px;
    letter-spacing: 5px;
}

.eco-stars::before {
    content: "\f005\f005\f005\f005\f5c0";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

.eco-rating-summary {
    font-size: 14px;
    text-align: center;
    margin-bottom: 20px;
    color: #616161;
}

.eco-rating-bars {
    margin-bottom: 20px;
}

.eco-rating-bar {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
}

.eco-rating-label {
    width: 35px;
    font-size: 13px;
    color: #616161;
    position: relative;
}

.eco-rating-label::after {
    content: "\f005";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 10px;
    margin-left: 3px;
    color: #616161;
}

.eco-rating-progress {
    flex-grow: 1;
    height: 10px;
    background-color: #f5f5f5;
    border-radius: 5px;
    margin: 0 10px;
    overflow: hidden;
    position: relative;
}

.eco-rating-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background-color: #ffc107;
    border-radius: 5px;
}

.eco-bar-5 .eco-rating-fill {
    width: 82%;
}

.eco-bar-4 .eco-rating-fill {
    width: 18%;
}

.eco-bar-3 .eco-rating-fill {
    width: 0%;
}

.eco-bar-2 .eco-rating-fill {
    width: 0%;
}

.eco-bar-1 .eco-rating-fill {
    width: 0%;
}

.eco-rating-count {
    width: 35px;
    text-align: right;
    font-size: 13px;
    color: #616161;
}

.eco-review-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.eco-button {
    display: block;
    padding: 12px;
    border-radius: 6px;
    text-align: center;
    font-weight: bold;
    text-decoration: none;
    transition: background-color 0.2s;
    position: relative;
}

.eco-button-primary {
    background-color: #4caf50;
    color: white;
    padding-left: 30px;
}

.eco-button-primary:hover {
    background-color: #388e3c;
}

.eco-button-secondary {
    background-color: #f5f5f5;
    color: #333;
    border: 1px solid #e0e0e0;
    padding-left: 30px;
}

.eco-button-secondary:hover {
    background-color: #eeeeee;
}

.eco-button-write::before {
    content: "\f304";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    left: 12px;
}

.eco-button-read::before {
    content: "\f075";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    left: 12px;
}

/* レスポンシブデザイン */
@media (max-width: 768px) {
    .eco-content {
        grid-template-columns: 1fr;
    }

    .eco-features {
        grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    }

    .eco-header {
        height: 220px;
    }
}

/* タグクラウドのスタイル */
.tag-container {
    margin-bottom: 30px;
    width: 100%;
    padding: 0 15px;
    box-sizing: border-box;
}

.tag-cloud-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 15px;
    width: 100%;
}

.tag-button {
    display: inline-block;
    padding: 8px 15px;
    background-color: #2bb028;
    border-radius: 20px;
    text-decoration: none;
    color: #ffffff !important;
    font-size: 14px;
    transition: all 0.3s ease;
    margin-bottom: 8px;
}

.tag-button:hover {
    background-color: #f0f0f0;
    color: #2bb028;
}

/* 関連投稿グリッドのスタイル */
.related-posts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
    margin-top: 20px;
    width: 100%;
    padding: 0 15px;
    box-sizing: border-box;
}

.post-card {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease;
    width: 100%;
}

.post-card:hover {
    transform: translateY(-5px);
}

.post-tag-thumbnail {
    width: 100%;
    height: 200px;
    position: relative;
    overflow: hidden;
}

.post-tag-thumbnail img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.post-info {
    padding: 15px;
}

.post-title {
    margin-top: 0;
    margin-bottom: 10px;
    font-size: 16px;
    word-break: break-word;
}

.post-title a {
    text-decoration: none;
    color: #333;
}

.post-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 10px;
}

.tag-label {
    background-color: #f0f0f0;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 12px;
    color: #666;
    margin-bottom: 5px;
}

.post-date {
    font-size: 12px;
    color: #888;
}

/* メディアクエリ - スマホ対応 */
@media (max-width: 767px) {
    .related-posts-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .tag-button {
        padding: 6px 12px;
        font-size: 13px;
    }

    .post-title {
        font-size: 15px;
    }
}

/* メディアクエリ - タブレット対応 */
@media (min-width: 768px) and (max-width: 1023px) {
    .related-posts-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* メディアクエリ - 大画面対応 */
@media (min-width: 1200px) {
    .related-posts-grid {
        grid-template-columns: repeat(3, 1fr);
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
    }

    .tag-container {
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
    }
}


.meta-info-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: 15px 0;
}

.meta-tags.left {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-width: 70%;
}

.meta-date.right {
    text-align: right;
    margin-left: auto;
}

@media (max-width: 767px) {
    /*.meta-info-container {
flex-direction: column;
align-items: flex-start;
}

.meta-tags.left {
max-width: 100%;
margin-bottom: 10px;
}
.meta-date.right {
width: 100%;
text-align: left;
} */
}

.japan_map {
    position: relative;
    box-sizing: border-box;
    margin: 0 auto;
    display: table;
    background-color: transparent;
}

.japan_map img {
    max-width: 100%;
    height: auto;
    border: 0;
    -webkit-backface-visibility: hidden;
}

.japan_map .area_btn {
    position: absolute;
    z-index: 1;
    box-sizing: border-box;
    cursor: pointer;
    border: 3px solid #333333;
    border-radius: 5px;
    background-color: #FFF;
    padding: 0.2em auto;
    font-weight: bold;
    text-align: center;
    white-space: nowrap;
}

.japan_map .area_btn.area1 {
    top: 30%;
    right: 0;
    width: 30%;
}

.japan_map .area_btn.area2 {
    top: 58%;
    right: 11%;
    width: 13%;
}

.japan_map .area_btn.area3 {
    top: 56%;
    right: 27.5%;
    width: 13%;
}

.japan_map .area_btn.area4 {
    top: 65%;
    right: 44%;
    width: 13%;
}

.japan_map .area_btn.area5 {
    top: 52%;
    left: 20%;
    width: 25%;
}

.japan_map .area_btn.area6 {
    top: 70%;
    left: 0;
    width: 25%;
}

.japan_map .area_overlay {
    display: none;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    background-color: #111;
    opacity: 0.5;
    cursor: pointer;
}

.japan_map .pref_area {
    display: none;
}

.japan_map .pref_list {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    z-index: 3;
    box-sizing: border-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 90%;
    background-color: #FFF;
}

.japan_map .pref_list>div {
    box-sizing: border-box;
    width: 50%;
    border: 1px solid #CCC;
    font-weight: bold;
    text-align: center;
    padding: 0.5em;
    cursor: pointer;
}

/* 市区町村関連スタイル - 3段階インタラクション用 */
.japan_map .city_overlay {
    display: none;
    position: absolute;
    z-index: 1000;
    top: 0;
    left: 0;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    background-color: #111;
    opacity: 0.5;
    cursor: pointer;
}

.japan_map .city_area {
    display: none;
}

.japan_map .city_list {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    z-index: 1001;
    box-sizing: border-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 90%;
    background-color: #FFF;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

.japan_map .city_btn {
    box-sizing: border-box;
    width: 50%;
    border: 1px solid #CCC;
    font-weight: bold;
    text-align: center;
    padding: 0.8em;
    cursor: pointer;
    background-color: #FFF;
    transition: background-color 0.2s ease;
}

.japan_map .city_btn:hover {
    background-color: #F0F8FF;
    border-color: #4A90E2;
}

.japan_map .city_btn:first-child {
    border-top-left-radius: 8px;
}

.japan_map .city_btn:nth-child(2) {
    border-top-right-radius: 8px;
}

.japan_map .city_btn:last-child {
    border-bottom-right-radius: 8px;
}

.japan_map .city_btn:nth-last-child(2) {
    border-bottom-left-radius: 8px;
}

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

    /* スマホユーザー向けにボタン文字サイズを調整 */
    .japan_map .area_btn {
        font-size: 4vw;
    }

    /* 市区町村ボタンのスマホ対応 */
    .japan_map .city_btn {
        width: 100%;
        padding: 1em;
        font-size: 4vw;
    }

    .japan_map .city_list {
        width: 95%;
    }
}

.migration-fv-container {
    position: relative;
    width: 100%;
    height: 82vh;
    min-height: 400px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.migration-bg-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

.migration-bg-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.2) 50%, rgba(0, 0, 0, 0.4) 100%);
    z-index: 2;
}

.migration-content-wrapper {
    position: relative;
    z-index: 3;
    text-align: center;
    color: white;
    max-width: 910px;
    padding: 0 20px;
    animation: migration-fadeInUp 1.2s ease-out;
}

.migration-main-title {
    font-size: 4rem;
    font-weight: 700;
    margin-bottom: 1rem;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
    letter-spacing: 0.1em;
}

.migration-sub-title {
    font-size: 1.5rem;
    font-weight: 300;
    margin-bottom: 2rem;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
    opacity: 0.95;
}

.migration-description {
    font-size: 1.1rem;
    margin-bottom: 3rem;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
    opacity: 0.9;
    line-height: 1.8;
}

.migration-search-section {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    padding: 2.5rem;
    margin-bottom: 2rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.migration-search-title {
    font-size: 1.3rem;
    margin-bottom: 1.5rem;
    font-weight: 500;
}

.migration-search-form {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    align-items: center;
}

.migration-search-input {
    padding: 12px 20px;
    border: none;
    border-radius: 25px;
    font-size: 1rem;
    width: 250px;
    background: rgba(255, 255, 255, 0.9);
    color: #333;
    outline: none;
    transition: all 0.3s ease;
}

.migration-search-input::placeholder {
    color: #666;
}

.migration-search-input:focus {
    background: rgba(255, 255, 255, 1);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.migration-search-button {
    padding: 12px 30px;
    background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
    color: white;
    border: none;
    border-radius: 25px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
}

.migration-search-button:hover {
    background: linear-gradient(135deg, #ee5a24 0%, #ff6b6b 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 107, 107, 0.4);
}

.migration-categories {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    margin-top: 2rem;
}

.migration-category-tag {
    background: rgba(255, 255, 255, 0.2);
    color: white;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.3);
    cursor: pointer;
    transition: all 0.3s ease;
}

.migration-category-tag:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: translateY(-1px);
}

.migration-scroll-indicator {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    color: white;
    text-align: center;
    z-index: 3;
    animation: migration-bounce 2s infinite;
}

.migration-scroll-text {
    font-size: 0.9rem;
    margin-bottom: 10px;
    opacity: 0.8;
}

.migration-scroll-arrow {
    width: 30px;
    height: 30px;
    border: 2px solid white;
    border-radius: 50%;
    position: relative;
    margin: 0 auto;
}

.migration-scroll-arrow::after {
    content: '';
    position: absolute;
    top: 8px;
    left: 8px;
    width: 10px;
    height: 10px;
    border-bottom: 2px solid white;
    border-right: 2px solid white;
    transform: rotate(45deg);
}

@keyframes migration-fadeInUp {
    from {
        opacity: 0;
        transform: translateY(50px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes migration-bounce {

    0%,
    20%,
    50%,
    80%,
    100% {
        transform: translateX(-50%) translateY(0);
    }

    40% {
        transform: translateX(-50%) translateY(-10px);
    }

    60% {
        transform: translateX(-50%) translateY(-5px);
    }
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .migration-main-title {
        font-size: 2.5rem;
    }

    .migration-sub-title {
        font-size: 1.2rem;
    }

    .migration-description {
        font-size: 1rem;
    }

    .migration-search-section {
        padding: 2rem 1.5rem;
    }

    .migration-search-form {
        flex-direction: column;
        gap: 1.5rem;
    }

    .migration-search-input {
        width: 100%;
        max-width: 300px;
    }

    .migration-categories {
        gap: 0.5rem;
    }

    .migration-category-tag {
        font-size: 0.8rem;
        padding: 6px 12px;
    }
}

@media (max-width: 480px) {
    .migration-fv-container {
        min-height: 500px;
        height: 111vh;
    }

    .migration-main-title {
        font-size: 2rem;
    }

    .migration-sub-title {
        font-size: 1rem;
    }

    .migration-content-wrapper {
        padding: 0 15px;
    }

    .migration-search-section {
        padding: 1.5rem 1rem;
    }
}

.article-keypoints-wrapper {
    margin: 0 auto;
    background: white;
    padding: 20px 0;
    border-radius: 8px;
}

.article-keypoints-box {
    background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
    border: 1px solid #f1c40f;
    border-radius: 12px;
    padding: 20px 24px;
    margin: 20px 0;
    position: relative;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.article-keypoints-header {
    display: flex;
    align-items: center;
    margin-bottom: 16px;
    font-weight: 600;
    font-size: 16px;
    color: #2c3e50;
}

.article-keypoints-icon {
    width: 24px;
    height: 24px;
    background: #f39c12;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    flex-shrink: 0;
    color: white;
    font-size: 12px;
}

.article-keypoints-list {
    list-style: none;
    margin: 0;
    padding: 10px 0 !important;
}

.article-keypoints-list li {
    margin-bottom: 12px;
    padding-left: 20px;
    position: relative;
    color: #2c3e50;
    font-size: 18px;
    line-height: 1.8;
}

.article-keypoints-list li::before {
    font-family: "Font Awesome 5 Free";
    content: "\f0eb";
    color: #f39c12;
    font-size: 19px;
    font-weight: 900;
    position: absolute;
    left: -5px;
    top: 0;
}

.article-keypoints-list li:last-child {
    margin-bottom: 0;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .article-keypoints-wrapper {
        padding: 0px;
    }

    .article-keypoints-box {
        padding: 16px 20px;
    }

    .article-keypoints-header {
        font-size: 15px;
    }

    .article-keypoints-list li {
        font-size: 15px;
    }
}


/*東京回収フォーム*/

.collection-case-admin-form {
    max-width: 800px;
}

.collection-case-admin-form .form-row {
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
}

.collection-case-admin-form label {
    font-weight: 600;
    margin-bottom: 8px;
    color: #333;
}

.collection-case-admin-form input,
.collection-case-admin-form select,
.collection-case-admin-form textarea {
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 14px;
    width: 100%;
    box-sizing: border-box;
}

.collection-case-admin-form textarea {
    resize: vertical;
    min-height: 80px;
}

/* アーカイブページスタイル */
.collection-archive-subtitle {
    text-align: center;
    margin-bottom: 40px;
    color: #666;
    font-size: 16px;
}

.collection-archive-subtitle i {
    color: #2bb028;
    margin-right: 8px;
}

/* フィルター */
.filter-content {
    max-width: 1000px;
    margin: 0 auto;
}

.filter-label {
    font-weight: 600;
    color: #333;
    margin-right: 15px;
}

.filter-group {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin: 20px 0;
}

.sort-group {
    margin-top: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.select-wrapper {
    position: relative;
}

.filter-select {
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 14px;
    background: white;
    min-width: 120px;
    cursor: pointer;
}

.filter-select:focus {
    outline: none;
    border-color: #2bb028;
    box-shadow: 0 0 0 2px rgba(70, 176, 36, 0.2);
}

/* カードグリッド */
.collection-cases-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 20px;
    margin-top: 40px;
}

.collection-case-card {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    border: 1px solid #f0f0f0;
    overflow: hidden;
    transition: all 0.3s ease;
    position: relative;
}

.collection-case-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

/* サムネイル */
.case-thumbnail {
    position: relative;
    width: 100%;
    height: 180px;
    overflow: hidden;
}

.thumbnail-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.collection-case-card:hover .thumbnail-image {
    transform: scale(1.05);
}

.service-tag-overlay {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #2bb028;
    color: white;
    padding: 4px 12px;
    border-radius: 15px;
    font-size: 12px;
    font-weight: 600;
    backdrop-filter: blur(4px);
}

/* カード内容 */
.case-content {
    padding: 20px;
}

.case-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 15px;
}

.customer-info-compact {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
}

.customer-avatar-small {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #f0f0f0;
    flex-shrink: 0;
}

.customer-details-compact {
    flex: 1;
}

.customer-name-compact {
    font-weight: 700;
    color: #333;
    font-size: 16px;
    margin-bottom: 2px;
}

.customer-meta-compact {
    font-size: 12px;
    color: #666;
    background: #f8f9fa;
    border-radius: 10px;
    padding: 2px 8px;
    display: inline-block;
}

.work-date-compact {
    font-size: 11px;
    color: #999;
    background: #f5f5f5;
    padding: 4px 8px;
    border-radius: 8px;
    white-space: nowrap;
}

.case-summary {
    margin-bottom: 15px;
}

.room-info {
    display: flex;
    gap: 8px;
    margin-bottom: 10px;
}

.room-tag,
.time-tag {
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 10px;
    font-weight: 500;
}

.room-tag {
    background: #e3f2fd;
    color: #1976d2;
}

.time-tag {
    background: #f3e5f5;
    color: #7b1fa2;
}

.items-preview {
    font-size: 13px;
    color: #666;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.items-preview i {
    color: #2bb028;
    font-size: 12px;
}

.comment-preview {
    font-size: 13px;
    color: #555;
    line-height: 1.4;
    background: #f8f9fa;
    padding: 8px 12px;
    border-radius: 8px;
}

.case-footer {
    text-align: right;
}

.detail-button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #2bb028;
    color: white;
    padding: 8px 16px;
    border-radius: 20px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.detail-button:hover {
    background: #7bc100;
    transform: translateX(3px);
    color: white;
    text-decoration: none;
}

.detail-button i {
    font-size: 11px;
    transition: transform 0.3s ease;
}

.detail-button:hover i {
    transform: translateX(3px);
}

/* 結果なし */
.no-results {
    text-align: center;
    padding: 40px;
    grid-column: 1 / -1;
}

.no-results h3 {
    color: #333;
    margin-bottom: 10px;
}

.no-results .sub-text {
    color: #666;
}

/* ページネーション */
.collection-pagination {
    margin-top: 40px;
    text-align: center;
}

/* 詳細ページスタイル */
.collection-case-header {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    border: 1px solid #f0f0f0;
    padding: 30px;
    margin-bottom: 30px;
}

.customer-main-info {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.customer-avatar-section {
    display: flex;
    align-items: center;
    gap: 15px;
}

.customer-avatar-large {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #f0f0f0;
}

.customer-name-large {
    font-weight: 700;
    color: #333;
    font-size: 24px;
    margin-bottom: 5px;
}

.customer-meta-section {
    flex: 1;
}

.customer-demographics {
    background: #f8f9fa;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 14px;
    color: #666;
    margin-bottom: 10px;
    display: inline-block;
}

.service-tags {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.service-tag-main {
    background: #2bb028;
    color: white;
    padding: 6px 15px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
}

.time-tag-main {
    background: #f3e5f5;
    color: #7b1fa2;
    padding: 6px 15px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
}

/* セクション共通 */
.before-after-section,
.details-table-section,
.removed-items-section,
.staff-comment-section,
.detailed-report-section {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    border: 1px solid #f0f0f0;
    padding: 30px;
    margin-bottom: 30px;
}

.section-title-green {
    color: #2bb028;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 600;
}

/* ビフォーアフター */
.before-after-images {
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}

.before-image-container,
.after-image-container {
    flex: 1;
    min-width: 200px;
    max-width: 100%;
}

.work-image {
    width: 100%;
    height: 250px;
    object-fit: cover;
    border-radius: 12px;
    border: 2px solid #E5E7EB;
}

.image-label {
    text-align: center;
    margin-top: 10px;
    padding: 6px 15px;
    border-radius: 15px;
    font-size: 12px;
    font-weight: 600;
}

.before-label {
    background: #919191;
    color: white;
}

.after-label {
    background: #2bb028;
    color: white;
}

.arrow-separator {
    font-size: 24px;
    font-weight: 700;
    color: #2bb028;
    flex-shrink: 0;
}

/* テーブル */
.collection-details-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    line-height: 1.6;
}

.collection-details-table th {
    background: #2bb028;
    color: #fff;
    vertical-align: middle;
    border: 1px solid #dcdcdc;
    padding: 12px;
    width: 30%;
    font-weight: 600;
}

.collection-details-table td {
    border: 1px solid #dcdcdc;
    padding: 12px;
}

/* 回収物セクション */
.removed-items-section {
    background: #e6f7ec;
    border: 1px solid #2bb028;
}

.items-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.items-header i {
    color: #2bb028;
}

.items-label {
    color: #2bb028;
    font-weight: 600;
}

.items-content {
    font-size: 16px;
    line-height: 1.6;
}

/* スタッフコメント */
.staff-info {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.staff-avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: #2bb028;
    padding: 2px;
}

.staff-name {
    font-weight: 700;
    color: #2bb028;
    font-size: 16px;
}

.comment-bubble {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 16px;
    padding: 20px;
    position: relative;
    line-height: 1.7;
    color: #555;
    font-size: 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.comment-bubble::before {
    content: '';
    position: absolute;
    top: -6px;
    left: 24px;
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #e9ecef;
}

.comment-bubble::after {
    content: '';
    position: absolute;
    top: -5px;
    left: 25px;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 5px solid white;
}

/* 詳細レポート */
.report-content {
    line-height: 1.8;
    font-size: 16px;
}

/* アクションボタン */
.action-buttons {
    text-align: center;
    margin: 40px 0;
}

.back-button,
.call-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 25px;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.back-button {
    background: linear-gradient(135deg, #2bb028, #7bc100);
    color: white;
    box-shadow: 0 6px 20px rgba(151, 214, 0, 0.3);
    margin-right: 15px;
}

.call-button {
    background: #ff6b35;
    color: white;
    box-shadow: 0 6px 20px rgba(255, 107, 53, 0.3);
}

.back-button:hover,
.call-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
    color: white;
    text-decoration: none;
}

.back-button::before,
.call-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
}

.back-button:hover::before,
.call-button:hover::before {
    left: 100%;
}

/* メタ情報 */
.meta-info-section {
    margin-top: 40px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

.meta-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.tag-section {
    flex: 1;
}

.post-tag {
    display: inline-block;
    background: #f0f0f0;
    color: #666;
    padding: 4px 12px;
    border-radius: 15px;
    text-decoration: none;
    font-size: 12px;
    margin-right: 8px;
    margin-bottom: 5px;
    transition: background-color 0.3s ease;
}

.post-tag:hover {
    background: #e0e0e0;
    text-decoration: none;
    color: #555;
}

.date-section {
    flex-shrink: 0;
}

.updated-date {
    font-size: 12px;
    color: #999;
}

.updated-date i {
    margin: 0 5px;
}

/* レスポンシブデザイン */
@media (max-width: 768px) {
    .collection-cases-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .filter-group {
        flex-direction: column;
        gap: 10px;
    }

    .filter-select {
        min-width: 100%;
    }

    .case-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .customer-main-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    .before-after-images {
        flex-direction: column;
        gap: 15px;
    }

    .arrow-separator {
        transform: rotate(90deg);
        align-self: center;
    }

    .action-buttons {
        flex-direction: column;
        gap: 15px;
    }

    .back-button {
        margin-right: 0;
        margin-bottom: 10px;
    }

    .meta-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    .collection-details-table {
        font-size: 14px;
    }

    .collection-details-table th,
    .collection-details-table td {
        padding: 8px;
    }
}

@media (max-width: 480px) {

    .collection-case-header,
    .before-after-section,
    .details-table-section,
    .removed-items-section,
    .staff-comment-section,
    .detailed-report-section {
        padding: 20px 15px;
    }

    .work-image {
        height: 200px;
    }

    .customer-avatar-large {
        width: 60px;
        height: 60px;
    }

    .customer-name-large {
        font-size: 20px;
    }

    .case-content {
        padding: 15px;
    }
}

/* アニメーション */
@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.collection-case-card {
    animation: slideInUp 0.6s ease-out;
}

/* サービスタイプ別の色分け */
.collection-case-card[data-service="furniture"] .service-tag-overlay {
    background: #FEF3C7;
    color: #92400E;
}

.collection-case-card[data-service="appliance"] .service-tag-overlay {
    background: #D1FAE5;
    color: #065F46;
}

.collection-case-card[data-service="office"] .service-tag-overlay {
    background: #E0E7FF;
    color: #3730A3;
}

.collection-case-card[data-service="estate"] .service-tag-overlay {
    background: #FCE7F3;
    color: #86198F;
}

.collection-case-card[data-service="mixed"] .service-tag-overlay {
    background: #F3E8FF;
    color: #6B21A8;
}

/* フォーカススタイル */
.filter-select:focus,
.detail-button:focus,
.back-button:focus,
.call-button:focus {
    outline: 2px solid #2bb028;
    outline-offset: 2px;
}

/* ローディングアニメーション */
.collection-loading {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px;
}

.collection-loading::after {
    content: '';
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #2bb028;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.mc-container {
    background: white;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    width: 100%;
    max-width: 700px;
    overflow: hidden;
    margin: 0 auto;
}

.mc-header {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 24px 28px;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.mc-search-wrapper {
    padding: 20px 28px;
    background: #f8f9fa;
    border-bottom: 1px solid #e9ecef;
}

.mc-search-box {
    position: relative;
    width: 100%;
}

.mc-search-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #6c757d;
    pointer-events: none;
}

.mc-search-input {
    width: 100%;
    padding: 12px 16px 12px 42px;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    font-size: 15px;
    transition: all 0.3s ease;
    outline: none;
}

.mc-search-input:focus {
    border-color: #667eea;
    box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.1);
}

.mc-list {
    list-style: none;
    max-height: 400px;
    overflow-y: auto;
    display: flex;
    flex-wrap: wrap;
}

.mc-list-item {
    padding: 16px 28px;
    border-bottom: 1px solid #f1f3f5;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    min-width: 50%;
    justify-content: space-between;
}

.mc-list-item:last-child {
    border-bottom: none;
}

.mc-list-item:hover {
    background: #f8f9fa;
    padding-left: 32px;
}

.mc-list-item:active {
    background: #e9ecef;
}

.mc-item-name {
    font-size: 15px;
    color: #212529;
    font-weight: 500;
}

.mc-item-type {
    font-size: 12px;
    color: #6c757d;
    background: #e9ecef;
    padding: 4px 10px;
    border-radius: 12px;
    font-weight: 500;
}

.mc-list::-webkit-scrollbar {
    width: 8px;
}

.mc-list::-webkit-scrollbar-track {
    background: #f8f9fa;
}

.mc-list::-webkit-scrollbar-thumb {
    background: #dee2e6;
    border-radius: 4px;
}

.mc-list::-webkit-scrollbar-thumb:hover {
    background: #adb5bd;
}

.mc-no-results {
    padding: 40px 28px;
    text-align: center;
    color: #6c757d;
    font-size: 14px;
}

.mc-hidden {
    display: none;
}

@media (max-width: 576px) {
    .mc-header {
        padding: 20px 20px;
        font-size: 18px;
    }

    .mc-search-wrapper {
        padding: 16px 20px;
    }

    .mc-list-item {
        padding: 14px 20px;
    }

    .mc-list-item:hover {
        padding-left: 24px;
    }
}

:root {
    --ux-author-bg: #ffffff;
    --ux-author-border: #e2e8f0;
    --ux-author-text-main: #1a202c;
    --ux-author-text-sub: #718096;
    --ux-author-accent: #3182ce;
    --ux-author-accent-hover: #2c5282;
    --ux-author-radius: 12px;
    --ux-author-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
    --ux-author-font: 'Noto Sans JP', sans-serif;
}

.ux-author-component * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    line-height: 1.6;
    font-family: var(--ux-author-font);
}

.ux-author-card {
    display: flex;
    flex-direction: column;
    background-color: var(--ux-author-bg);
    border: 1px solid var(--ux-author-border);
    border-radius: var(--ux-author-radius);
    box-shadow: var(--ux-author-shadow);
    padding: 24px;
    margin: 0 auto 40px auto;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ux-author-card:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.025);
    transform: translateY(-2px);
}

.ux-author-avatar-wrapper {
    display: flex;
    min-width: 100px;
    justify-content: center;
    align-items: flex-start;
    flex-shrink: 0;
    margin-bottom: 16px;
}

.ux-author-avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #f7fafc;
    box-shadow: 0 0 0 1px var(--ux-author-border);
}

.ux-author-content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    text-align: center;
}

.ux-author-header {
    margin-bottom: 8px;
}

.ux-author-role {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--ux-author-accent);
    background-color: #ebf8ff;
    padding: 2px 8px;
    border-radius: 4px;
    margin-bottom: 4px;
}

.ux-author-name {
    font-size: 18px;
    font-weight: 700;
    margin: 0 !important;
    color: var(--ux-author-text-main);
}

.ux-author-bio {
    font-size: 14px;
    color: var(--ux-author-text-sub);
    margin-bottom: 16px;
    text-align: left;
}

.ux-author-bio.is-collapsed {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0 !important;
}

.ux-author-toggle-btn {
    display: none;
    background: none;
    border: none;
    color: var(--ux-author-accent);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    padding: 0;
    margin-bottom: 12px;
    outline: none;
    text-decoration: underline;
    align-self: flex-start;
}

.ux-author-toggle-btn:hover {
    color: var(--ux-author-accent-hover);
}

.ux-author-social {
    display: flex;
    gap: 12px;
    margin: 0 !important;
    justify-content: center;
}

.ux-author-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #f7fafc;
    color: var(--ux-author-text-sub);
    transition: all 0.2s ease;
    text-decoration: none;
}

.ux-author-social-link:hover {
    background-color: var(--ux-author-accent);
    color: #ffffff;
    transform: scale(1.1);
}

.ux-author-social-icon {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.ux-author-label {
    display: inline-block;
    font-size: 10px;
    color: var(--ux-author-text-sub);
    border: 1px solid var(--ux-author-border);
    padding: 1px 8px;
    border-radius: 99px;
    /* 角丸で優しい印象に */
    margin-bottom: 6px;
    background-color: #fff;
    letter-spacing: 0.05em;
    font-weight: 500;
}

#osusume-outline img {
    width: 100%;
}

@media (min-width: 640px) {
    .ux-author-card {
        flex-direction: row;
        align-items: center;
        padding: 32px;
    }

    .ux-author-avatar-wrapper {
        margin-bottom: 0;
        margin-right: 24px;
    }

    .ux-author-avatar {
        width: 100px;
        height: 100px;
    }

    .ux-author-content {
        text-align: left;
    }

    .ux-author-header {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .ux-author-social {
        justify-content: flex-start;
    }
}


/* ============================================================
   回収実績の一覧（/collection/）
   カードはトップページの回収事例と同じ nfc-case2 を使うため、
   見た目の定義は assets/nfc/nfc.css 側にある。
   ここには絞り込みなど、このページ固有のものだけを置く。
   文字サイズと色はサイト共通のトークン（nfc.css の :root）に合わせる。
   ============================================================ */

/* 旧URL（/collection/{スラッグ}/）からの301はアンカー付きで飛んでくる */
.js-case-card {
    scroll-margin-top: 100px;
}

/* JSで hidden を付け外しして出し入れするので、確実に効かせる */
.js-case-card[hidden],
#caseMore[hidden],
#caseEmpty[hidden] {
    display: none !important;
}

/* JSが動くまでの間も11件目以降は伏せておく。
   28枚が一瞬すべて出てから10枚に減る、というちらつきを防ぐため。
   JS側は描画の頭で is-ready を付け、そこから先は hidden で管理する。 */
#caseStudiesGrid:not(.is-ready) .js-case-card:nth-of-type(n + 11) {
    display: none;
}

/* 絞り込み */
.collection-filters {
    margin: 0 0 1.2rem;
    padding: clamp(.9rem, 2.5vw, 1.2rem);
    background: var(--nfc-surface-tint);
    border-radius: var(--nfc-r-md);
}

.filter-content {
    max-width: none;
    margin: 0;
    display: grid;
    gap: .8rem;
}

.filter-group,
.sort-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem .7rem;
    margin: 0;
    min-width: 0;
}

.filter-label {
    margin: 0;
    font-size: var(--nfc-fs-sm);
    font-weight: 800;
    color: var(--nfc-main-dark);
    flex: 0 0 auto;
}

.select-wrapper {
    position: relative;
    min-width: 0;
}

.filter-select {
    padding: .5rem .7rem;
    border: 1px solid var(--nfc-line-strong);
    border-radius: var(--nfc-r-sm);
    background: #fff;
    color: var(--nfc-ink);
    font-family: inherit;
    font-size: var(--nfc-fs-sm);
    line-height: 1.5;
    min-width: 8em;
    max-width: 100%;
    cursor: pointer;
}

/* 選んだあとも枠線と外側の光の2本が緑で残って二重に見えていたので、
   囲みは1本だけにする。マウスで選んだ直後は出さず、
   キーボード操作のときだけ出す（:focus ではなく :focus-visible）。 */
.filter-select:focus {
    outline: none;
    border-color: var(--nfc-line-strong);
    box-shadow: none;
}

.filter-select:focus-visible {
    outline: 2px solid var(--nfc-main);
    outline-offset: 1px;
    border-color: var(--nfc-line-strong);
    box-shadow: none;
}

/* スマホ。
   旧CSSは 768px以下で .filter-group を flex-direction: column にしたうえで
   .filter-select に min-width: 100% を当てていた。
   .select-wrapper が中身なりの幅（shrink-to-fit）なので、その中での100%は
   基準が定まらず、セレクトの幅がばらついて崩れていた。
   ここでグリッドにして先に幅を決める。 */
@media (max-width: 768px) {
    .filter-group,
    .sort-group {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .5rem;
        align-items: center;
    }

    /* 並び順はセレクト1つなので1列 */
    .sort-group {
        grid-template-columns: minmax(0, 1fr);
    }

    /* 「絞り込み」「並び順」の見出しは1行使う */
    .filter-label {
        grid-column: 1 / -1;
    }

    .select-wrapper {
        min-width: 0;
    }

    .filter-select {
        width: 100%;
        min-width: 0;
    }
}

/* 件数表示 */
.collection-count {
    margin: 0 0 1rem;
    font-size: var(--nfc-fs-sm);
    color: var(--nfc-ink-2);
}

.collection-count strong {
    font-size: var(--nfc-fs-lg);
    font-weight: 800;
    color: var(--nfc-main-dark);
    margin: 0 .15em;
}

/* 該当なし */
.collection-empty {
    grid-column: 1 / -1;
    margin: 0;
    padding: 2rem 1rem;
    text-align: center;
    font-size: var(--nfc-fs-base);
    color: var(--nfc-ink-2);
    background: #fff;
    border-radius: var(--nfc-r-md);
    box-shadow: var(--nfc-shadow);
}

/* 旧レイアウトのページで使っている #content-top について。
   overflow-x: hidden は仕様上 overflow-y が auto に計算されるため
   スクロールコンテナになり、数pxのはみ出しでもホイール操作が
   この要素に吸われてスクロールが引っかかる。clip なら切り取るだけ。 */
#content-top {
    overflow-x: clip;
    overflow-y: visible;
}

@supports not (overflow-x: clip) {
    #content-top {
        overflow-x: hidden;
    }
}

/* 一覧のカードの仕様表は2列に組む。項目が7つあり、
   1列だと縦に伸びてコメントまで遠くなるため。スマホでも2列を保つ。
   トップやエリアの簡略カード（4項目）は1列のままにしたいので、
   一覧のグリッドの中だけに効かせる。 */
#caseStudiesGrid .nfc-case2__details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(.7rem, 2vw, 1.4rem);
}

/* 1セルの幅が半分になるので、項目名を横に置く余裕がない。
   .nfc-case2__row の既定は「7.5emの項目名 ＋ 値」の2列だが、
   ここでは項目名を値の上に重ねて、値に幅をすべて渡す。 */
#caseStudiesGrid .nfc-case2__row {
    grid-template-columns: 1fr;
    gap: .1rem;
    min-width: 0;
    padding: .5rem 0;
}

/* 回収内容だけ文が長い（最長41文字）。半分の幅だと5〜6行に折り返すので、
   ここだけ2列をまたいでカードの全幅を使わせる。 */
#caseStudiesGrid .nfc-case2__row:first-child {
    grid-column: 1 / -1;
}

/* 値は1段落として、PCでも詰めて見せる */
#caseStudiesGrid .nfc-case2__row dt {
    font-size: var(--nfc-fs-xs);
}

#caseStudiesGrid .nfc-case2__row dd {
    font-size: var(--nfc-fs-sm);
    line-height: 1.7;
}

/* スタッフのコメント。吹き出しを仕様表と同じ幅で置き、
   その下の左側にキャラクターを立たせる。 */
.case-voice {
    margin-top: .9rem;
}

.case-voice__body {
    position: relative;
    background: var(--nfc-surface-gray);
    border-radius: var(--nfc-r-md);
    padding: .85rem 1rem;
}

/* 吹き出しの尻尾。左下から真下のキャラクターへ向ける */
.case-voice__body::after {
    content: "";
    position: absolute;
    left: 26px;
    bottom: -9px;
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 10px solid var(--nfc-surface-gray);
}

.case-voice__label {
    margin: 0 0 .25rem;
    font-size: var(--nfc-fs-xs);
    font-weight: 800;
    color: var(--nfc-main-dark);
}

.case-voice__text {
    margin: 0;
    font-size: var(--nfc-fs-sm);
    line-height: 1.95;
    color: var(--nfc-ink-2);
    overflow-wrap: anywhere;
}

/* エリアページは冒頭だけを出して、続きは /collection/ に送る */
.case-voice__more {
    margin: .5rem 0 0;
    text-align: right;
    font-size: var(--nfc-fs-xs);
    line-height: 1.5;
}

.case-voice__more a {
    display: inline-flex;
    align-items: center;
    gap: .4em;
    font-weight: 800;
    color: var(--nfc-main-dark);
    text-decoration: underline;
    text-underline-offset: .2em;
}

.case-voice__more a:hover {
    color: var(--nfc-main);
}

.case-voice__more i {
    font-size: .9em;
}

.case-voice__icon {
    display: block;
    width: auto;
    height: 88px;
    margin: .5rem 0 0 .6rem;
}

/* PCでは2列に並ぶぶんカードの幅が狭いので、キャラクターを一段小さくする */
@media (min-width: 900px) {
    .case-voice__icon {
        height: 66px;
    }
}
