@charset "utf-8"; /*normalize*/
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
    display: block;
}

/**
* Correct `inline-block` display not defined in IE 8/9.
*/
audio, canvas, video {
    display: inline-block;
}

/**
* Prevent modern browsers from displaying `audio` without controls.
* Remove excess height in iOS 5 devices.
*/
audio:not([controls]) {
    display: none;
    height: 0;
}

/**
* Address `[hidden]` styling not present in IE 8/9.
* Hide the `template` element in IE, Safari, and Firefox < 22.
*/
[hidden], template {
    display: none;
}

/* ==========================================================================
Base
========================================================================== */
/**
* 1. Set default font family to sans-serif.
* 2. Prevent iOS text size adjust after orientation change, without disabling
*    user zoom.
*/
html {
    font-family: sans-serif;
    /* 1 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
    -ms-text-size-adjust: 100%;
    /* 2 */
}

/**
* Remove default margin.
*/
body {
    margin: 0;
}

/* ==========================================================================
Links
========================================================================== */
/**
* Remove the gray background color from active links in IE 10.
*/
a {
    background: transparent;
    outline: none;
}

/**
* Address `outline` inconsistency between Chrome and other browsers.
*/
a:focus {
    outline: none;
}

a:focus-visible {
    outline: 2px dotted #333;
}

/**
* Improve readability when focused and also mouse hovered in all browsers.
*/
a:active, a:hover {
    outline: 0;
}

/* ==========================================================================
Typography
========================================================================== */
/**
* Address variable `h1` font-size and margin within `section` and `article`
* contexts in Firefox 4+, Safari 5, and Chrome.
*/
h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

/**
* Address styling not present in IE 8/9, Safari 5, and Chrome.
*/
abbr[title] {
    border-bottom: 1px dotted;
}

/**
* Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
*/
b, strong {
    font-weight: bold;
}

/**
* Address styling not present in Safari 5 and Chrome.
*/
dfn {
    font-style: italic;
}

/**
* Address differences between Firefox and other browsers.
*/
hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
}

/**
* Address styling not present in IE 8/9.
*/
mark {
    background: #ff0;
    color: #000;
}

/**
* Correct font family set oddly in Safari 5 and Chrome.
*/
code, kbd, pre, samp {
    font-family: monospace, serif;
    font-size: 1em;
}

/**
* Improve readability of pre-formatted text in all browsers.
*/
pre {
    white-space: pre-wrap;
}

/**
* Set consistent quote types.
*/
q {
    quotes: "\201C" "\201D" "\2018" "\2019";
}

/**
* Address inconsistent and variable font size in all browsers.
*/
small {
    font-size: 80%;
}

/**
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
*/
sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* ==========================================================================
Embedded content
========================================================================== */
/**
* Remove border when inside `a` element in IE 8/9.
*/
img {
    border: 0;
}

/**
* Correct overflow displayed oddly in IE 9.
*/
svg:not(:root) {
    overflow: hidden;
}

/* ==========================================================================
Figures
========================================================================== */
/**
* Address margin not present in IE 8/9 and Safari 5.
*/
figure {
    margin: 0;
}

/* ==========================================================================
Forms
========================================================================== */
/**
* Define consistent border, margin, and padding.
*/
fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

/**
* 1. Correct `color` not being inherited in IE 8/9.
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
*/
legend {
    border: 0;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
* 1. Correct font family not being inherited in all browsers.
* 2. Correct font size not being inherited in all browsers.
* 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
*/
button, input, select, textarea {
    -webkit-appearance: none;
    border-radius: 0;
    font-family: inherit;
    /* 1 */
    font-size: 100%;
    /* 2 */
    margin: 0;
    /* 3 */
}

input {
    -webkit-appearance: auto;
}

/**
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
* the UA stylesheet.
*/
button, input {
    line-height: normal;
    outline: none;
}

textarea {
    outline: none;
}

/**
* Address inconsistent `text-transform` inheritance for `button` and `select`.
* All other form control elements do not inherit `text-transform` values.
* Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
* Correct `select` style inheritance in Firefox 4+ and Opera.
*/
button, select {
    text-transform: none;
}

/**
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
*    and `video` controls.
* 2. Correct inability to style clickable `input` types in iOS.
* 3. Improve usability and consistency of cursor style between image-type
*    `input` and others.
*/
button, html input[type="button"], /* 1 */
input[type="reset"], input[type="submit"] {
    -webkit-appearance: button;
    /* 2 */
    cursor: pointer;
    /* 3 */
}

/**
* Re-set default cursor for disabled elements.
*/
button[disabled], html input[disabled] {
    cursor: default;
}

/**
* 1. Address box sizing set to `content-box` in IE 8/9/10.
* 2. Remove excess padding in IE 8/9/10.
*/
input[type="checkbox"], input[type="radio"] {
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
* 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
* 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
*    (include `-moz` to future-proof).
*/
input[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    -webkit-box-sizing: content-box;
    /* 2 */
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}

/**
* Remove inner padding and search cancel button in Safari 5 and Chrome
* on OS X.
*/
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
* Remove inner padding and border in Firefox 4+.
*/
button::-moz-focus-inner, input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/**
* 1. Remove default vertical scrollbar in IE 8/9.
* 2. Improve readability and alignment in all browsers.
*/
textarea {
    overflow: auto;
    /* 1 */
    vertical-align: top;
    /* 2 */
}

/*breadcrumb*/
#breadcrumb {
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
    max-width: 1500px;
    padding: 0 0 40px;
    width: 94%;
}

#breadcrumb ul {
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
}

#breadcrumb ul li {
    list-style-type: none;
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 10px;
    margin-top: 0;
    padding: 0;
}

#breadcrumb ul li:after {
    content: ">";
    margin-left: 10px;
}

#breadcrumb ul li:last-child:after {
    display: none;
}

/* ==========================================================================
Tables
========================================================================== */
/**
* Remove most spacing between table cells.
*/
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* ==========================================================================
hx
========================================================================== */
h1, h2, h3, h4, h5, h6 {
    clear: both;
}

/* =======================================

layout CSS

========================================== */
html {
    height: 100%;
    margin: 0;
    padding: 0;
}

body {
    background-color: #fff;
    color: #4b4642;
    font-family: "Noto Sans JP", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ";
    font-weight: 500;
    height: 100%;
    line-height: 1.8em;
    line-break: strict;
    margin: 0;
    overflow-wrap: anywhere;
    padding: 0;
    text-align: center;
    word-break: normal;
    width: 100%;
}

#contents {
    font-size: 18px;
    font-variant-ligatures: none;
    margin: 0 auto;
    padding-bottom: 372px;
    padding-top: 0;
    position: relative;
    text-align: left;
    width: 100%;
    z-index: 0;
}

@media print {
    body {
        min-width: 1140px;
    }

    .header {
        display: none;
    }

    #contents {
        padding-top: 0;
    }

    #page-ttl {
        display: none;
    }
}

#wrap {
    height: 100%;
    margin: 0;
    min-height: 100%;
    overflow: hidden;
    padding: 0;
    position: relative;
    width: 100%;
}

body>#wrap {
    height: auto;
}

a {
    color: #0099ff;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

p {
    margin: 0;
    padding: 0;
}

img {
    background-color: transparent;
    height: auto;
    margin: 0;
    max-width: 100%;
    padding: 0;
    vertical-align: bottom;
}

a img {
    opacity: 1;
    transition: 0.3s;
}

hr {
    border-bottom-width: 1px;
    border-color: #ccc;
    border-left-width: 0;
    border-right-width: 0;
    border-style: dotted;
    border-top-width: 0;
    clear: both;
    margin-bottom: 10px;
    margin-top: 10px;
}

hr.none {
    border: none;
    clear: both;
    height: 0;
    margin: 0;
    padding: 0;
}

/* End hide from IE-mac */
/*Float Clear*/
.clear {
    clear: both;
}

.clearfix:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}

/*List*/
ul {
    margin-bottom: 0;
    margin-left: 0;
    padding-left: 20px;
}

/*Contents(base)*/
#contents .inner {
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
    max-width: 1500px;
    width: 94%;
}

/* header */
.header.hide {
    transform: translateY(-260px);
    transition: .3s;
}

.header.no-hide {
    transform: unset !important;
}

.header.shadow {
    box-shadow: 0 0 5px #40404066;
    transition: .3s;
}

.header-inner {
    margin: 0 auto;
    max-width: 1750px;
    transition: .3s;
    align-items: center;
    width: 96%;
    padding: 22px 0 20px;
}

.header-inner .nav-top {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 20px;
}

.header-inner .nav-top .sub-btn {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: flex-end;
    width: calc(100% - 410px);
}

.header-inner .nav-top .sub-btn a {
    border: 2px solid #b8e6f3;
    color: #fff;
    display: inline-block;
    font-size: 18px;
    letter-spacing: .1em;
    padding: 9px 35px 9px 25px;
    position: relative;
    text-align: left;
    transition: .3s all ease;
    width: 232px;
}

.header-inner .nav-top .sub-btn a::after {
    content: "";
    display: block;
    border-style: solid;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 6px solid #fff;
    border-right: 0;
    width: 0;
    height: 0;
    position: absolute;
    right: 18px;
    top: 0;
    bottom: 0;
    margin: auto;
}

.header-inner .nav-top .sub-btn .contact a {
    border: 2px solid #a0d891;
}

.header-inner .nav-top .sub-btn a:hover {
    opacity: 0.5;
    text-decoration: none;
}

.nav-inner {
    width: 100%;
}

.pc-.header .header-inner, .mobile-.header .header-inner {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.header p.sp-button a {
    display: none;
}

/*Head_logo*/
.header .img-logo a {
    margin: 0;
    transition: 0.3s;
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
}

.header .img-logo a:hover {
    opacity: 0.5;
    text-decoration: none;
    transition: 0.3s;
}

.header .img-logo {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 410px;
}

.header .img-logo img {
    width: 100%;
    height: auto;
}

/*Footer CSS*/
.footer {
    background-color: #4b4642;
    bottom: 0;
    font-size: 18px;
    letter-spacing: .1em;
    left: 0;
    margin: 0;
    padding: 0;
    position: absolute;
    text-align: left;
    width: 100%;
}

.footer-detail {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0;
    text-align: center;
    margin: 0 auto 20px;
}

.footer, .footer a, .footer a:hover {
    color: #fff;
}

.footer-inner {
    position: relative;
    margin: 0 auto;
    max-width: 1490px;
}

.footer-sitemap {
    margin: auto;
}

.footer-sitemap .list-border {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    list-style: none;
    margin: 30px auto 20px;
    padding: 0;
}

.footer-sitemap .list-border li {
    background-image: none;
    letter-spacing: 0.05em;
    line-height: 0.8;
    margin: 0 0 15px;
    padding: 0;
    position: relative;
    width: max-content;
}

.footer-sitemap a {
    border-right: 1px solid #fff;
    color: #fff;
    display: block;
    padding: 2px 10px;
    font-weight: 400;
}

.footer-sitemap li:first-child a, .footer-sitemap li:nth-child(14) a {
    border-left: 1px solid #fff;
}

.footer .logo-area {
    margin: 0 auto 10px;
    text-align: center;
    width: 100%;
}

.footer .address {
    width: 100%;
    font-weight: 400;
    line-height: 1.8em;
}

.copyright {
    font-weight: 400;
    padding-bottom: 30px;
    text-align: center;
    width: 100%;
}

/* =======================================

Navi CSS

========================================== */
/*Mainnavi base*/
#g-navi {
    margin: 0 auto;
}

#g-navi.headerColorScroll {
    background-image: unset;
}

#g-navi.headerColorScroll::before {
    height: 100%;
}

#g-navi .navi-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0;
    padding-left: 0;
}

#g-navi .navi-list li {
    border-right: 1px solid #ddd;
    flex: auto;
    list-style: none;
}

#g-navi .navi-list li:first-child {
    border-left: 1px solid #ddd;
}

#g-navi .navi-list li a {
    color: #4b4642;
    display: block;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: .1em;
    padding: 3px 5px 4px;
    transition: 0.3s;
}

#g-navi .navi-list li a:hover {
    cursor: pointer;
    opacity: 0.5;
    text-decoration: none;
    transition: .3s;
}

.header {
    height: auto;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999;
    margin: auto;
    left: 0;
    right: 0;
    background-color: #fff;
    transition: .3s;
}

/*Page-ttl*/
#page-ttl {
    background: url(../image/contents/page_ttl.jpg) no-repeat center / cover;
    margin-bottom: 20px;
    padding: 75px 0;
    width: 100%;
    margin-top: 148px;
}

#page-ttl .inner {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    position: relative;
    width: 100%;
}

#page-ttl .inner h1 {
    color: #4b4642;
    font-weight: bold;
    letter-spacing: .1em;
    margin: 0;
    text-shadow: #fff9f1 1px 1px 40px, #fff9f1 -1px 1px 40px, #fff9f1 1px -1px 40px, #fff9f1 -1px -1px 40px;
}

/* =======================================

Structure CSS

========================================== */
/*Text Decoration*/
.look-blue {
    color: #1eabd0;
}

.look-red {
    color: #df4656;
}

.look-orange {
    color: #f89b2d;
}

.look-green {
    color: #53b03a;
}

#contents .bold {
    font-weight: bold;
}

#contents .normal {
    font-weight: normal;
}

/*Text Size*/
.txt-85 {
    font-size: 85%;
}

.txt-95 {
    font-size: 95%;
}

.txt-90 {
    font-size: 90%;
}

.txt-110 {
    font-size: 110%;
    line-height: 1.9em;
}

.txt-120 {
    font-size: 120%;
}

.txt-150 {
    font-size: 150%;
}

/*Margin*/
#contents .no-mb, #contents .bg-gray.no-mb, #contents .bg-blue.no-mb {
    margin-bottom: 0;
}

#contents .no-mt, #contents h2.no-mt, #contents h4.no-mt, #contents h5.no-mt, #contents p.no-mt, #contents li.no-mt, .no-mt {
    margin-top: 0;
}

#contents .mt-10 {
    margin-top: 10px;
}

#contents .mt-20 {
    margin-top: 20px;
}

#contents .mt-30 {
    margin-top: 30px;
}

#contents .mt-40 {
    margin-top: 40px;
}

#contents .mt-50 {
    margin-top: 50px;
}

#contents .mb-10 {
    margin-bottom: 10px;
}

#contents .mb-20 {
    margin-bottom: 20px;
}

#contents .mb-30 {
    margin-bottom: 30px;
}

#contents .mb-40 {
    margin-bottom: 40px;
}

#contents .mb-50 {
    margin-bottom: 50px;
}

#contents .mb-60 {
    margin-bottom: 60px;
}

#contents .mb-65 {
    margin-bottom: 65px;
}

#contents .box-mb {
    margin-bottom: 80px;
}

#contents .mb-100 {
    margin-bottom: 100px;
}

#contents .mb-120 {
    margin-bottom: 120px;
}

#contents .txt-mb {
    margin-bottom: 15px;
}

/* Float */
.left {
    float: left;
}

.right {
    float: right;
}

/*Text Align*/
.txt-center {
    text-align: center;
}

.txt-right {
    text-align: right;
}

.txt-left {
    text-align: left;
}

.va-center {
    vertical-align: middle;
}

/* table */
.table-over {
    overflow: auto;
    width: 100%;
}

.table-over::-webkit-scrollbar {
    height: 5px;
}

.table-over table.table-01, .table-over table.table-02 {
    min-width: 690px;
    width: 100%;
}

.table-01 {
    border-collapse: collapse;
    border-width: 0;
    font-size: 15px;
    width: 100%;
}

.table-01 tr:first-child {
    border-top: 1px solid #d4d4d4;
}

.table-01 th {
    background-color: #f5f1ee;
    border-bottom: 1px solid #d4d4d4;
    color: #4b4642;
    font-weight: 500;
    padding: 15px 20px;
}

.table-01 tr:first-child td, .table-01 tr:first-child th {
    border-top-width: 0;
}

.table-01 th.need {
    border-left: 0;
    min-width: 200px;
}

.table-01 th.start, .table-02 th.start {
    vertical-align: baseline;
}

.table-01 th.need p, .table-01 th.no-need p {
    position: relative;
    padding-left: 50px;
}

.table-01 th.need p:before, .table-01 th.no-need p:before {
    background-color: #0097be;
    color: #fff;
    content: "必須";
    display: block;
    font-size: 13px;
    line-height: 1.8em;
    text-align: center;
    width: 35px;
    position: absolute;
    left: 0;
    top: 2px;
}

.table-01 th.no-need p:before {
    background: transparent;
    content: none;
}

.table-01 td {
    background-color: #fff;
    border-bottom: 1px solid #d4d4d4;
    border-right: 0;
    font-weight: 400;
    padding: 15px 20px;
}

.table-01.w-100 {
    width: 100%;
}

.table_over {
    border-spacing: 0 7px;
    overflow-x: auto;
    width: 100%;
}

.table_over table {
    width: 100%;
    min-width: 800px;
}

.table-02 {
    border-bottom-width: 0;
    border-collapse: collapse;
    border-left-width: 0;
    border-right-width: 0;
    border-top-width: 0;
    font-size: 14px;
    line-height: 1.6em;
    vertical-align: middle;
}

.table-02 th {
    background-color: #f5f1ee;
    border: 1px solid #d4d4d4;
    border-left: none;
    border-right-width: 0;
    font-weight: bold;
    padding: 15px 20px;
    vertical-align: middle;
}

.table-02 td {
    background-color: #fff;
    border: 1px solid #d4d4d4;
    border-right: none;
    border-left-width: 0;
    font-weight: 500;
    padding: 15px 20px;
    vertical-align: middle;
}

.table-02 th.need {
    min-width: 200px;
}

.table-02 th.need:before {
    background-color: #e08752;
    color: #fff;
    content: "必須";
    display: block;
    float: left;
    font-size: 11px;
    font-weight: normal;
    margin-right: 10px;
    text-align: center;
    width: 30px;
}

.table-02 th.no-need {
    padding-left: 50px;
}

.table-02 tr:first-child th:last-child, .table-02 tr th {
    border-right: 1px solid #d4d4d4;
}

.table-02 td {
    border-left: 1px solid #d4d4d4;
}

.table-01 th, .table-01 td, .table-02 th, .table-02 td {
    font-size: 16px;
    letter-spacing: .03em;
    line-height: 1.8em;
}

tr.ver-top td {
    vertical-align: top;
}

/*send_btn*/
.btn-send {
    padding: 5px 20px;
}

/*ul*/
#contents .disc {
    margin: 0;
    padding: 0 0 0 20px;
}

#contents .disc li {
    list-style-type: disc;
    margin: 0;
    padding: 0;
}

table ul {
    margin-bottom: 0;
    margin-top: 0;
}

/*ol*/
ol {
    padding-left: 20px;
}

ol li {
    line-height: 1.6em;
    margin-bottom: 0;
}

/* hx */
#contents h2 {
    color: #4b4642;
    font-size: 42px;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 26px;
    margin: 0 0 50px;
    padding: 0;
    position: relative;
    text-align: center;
}

#contents h2 .en-ttl {
    display: block;
    font-family: "Oswald", sans-serif;
    font-size: 48%;
    font-weight: 500;
    letter-spacing: .1em;
    line-height: 1em;
    margin: 35px 0 0;
    text-transform: uppercase;
}

#contents h3 {
    border-left: 5px solid #6cbf55;
    font-weight: bold;
    margin: 0 0 30px;
    color: #4b4642;
    font-size: 26px;
    letter-spacing: .05em;
    padding: 8px 17px 10px;
}

#contents h4 {
    font-size: 22px;
    font-weight: bold;
    letter-spacing: .05em;
    margin: 0 0 20px;
}

#contents h5 {
    color: #eda045;
    font-size: 20px;
}

#contents p, #contents li {
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 1.8em;
}

#contents p {
    margin-bottom: 20px;
}

/* googlemap ifreame */
.google-map iframe {
    border: none;
    height: 100%;
    min-height: 270px;
    width: 100%;
}

.google-map.works iframe {
    height: calc(100% + 67px);
    margin-top: -67px;
}

.google-map {
    border: 3px solid #454545;
    height: 299px;
}

.google-map.works {
    height: 400px;
    overflow: hidden;
}

/*カラム*/
#contents .flex {
    align-content: flex-start;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#contents .flex.start {
    justify-content: start;
}

#contents .flex.center {
    justify-content: center;
}

.txt-2box {
    margin-right: 4%;
    width: 48%;
}

.txt-2box.end {
    margin-right: 0;
}

.txt-3box {
    margin-right: 30px;
    width: calc(100% / 3 - 20px);
}

.txt-3box.end {
    margin-right: 0;
}

.txt-4box {
    margin-right: 20px;
    width: calc(100% / 4 - 15px);
}

.txt-4box.end {
    margin-right: 0;
}

.txt-5box {
    margin-right: 1.5625%;
    width: 18.75%;
}

.txt-5box.end {
    margin-right: 0;
}

.img-2box {
    width: 35%;
}

.img-2box-txt {
    margin-left: 50px;
    width: calc(65% - 50px);
}

/* 無料査定 */
#contents .free-box {
    align-items: center;
    background-color: #fff;
    border: 5px solid #4b4642;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 55px;
    padding: 50px 65px;
    position: relative;
}

#contents .free-box .main-txt {
    font-size: 36px;
    font-weight: bold;
    letter-spacing: .1em;
    margin-bottom: 30px;
}

#contents .free-box .main-txt .main {
    display: block;
    font-size: 127%;
    letter-spacing: .05em;
    margin-top: 15px;
}

#contents .free-box .main-txt .main .dot {
    background-image: radial-gradient(circle at center, #53b03a 12%, transparent 12%);
    background-position: top right;
    background-repeat: repeat-x;
    background-size: 1.05em 0.3em;
    padding-top: 0.1em;
}

#contents .free-box .txt {
    font-size: 20px;
    letter-spacing: .1em;
    margin-bottom: 0;
}

#contents .free-box .link-btn {
    border: 6px solid #b8e6f3;
    color: #fff;
    font-size: 45px;
    font-weight: bold;
    padding: 80px 15px 80px 80px;
    text-align: left;
    width: 100%;
}

#contents .free-box .link-btn:hover, #contents .main-view .main-ttl + .link-btn:hover {
    opacity: 0.5;
}

#contents .free-box .link-btn::after, #contents .main-view .main-ttl + .link-btn::after {
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-left: 12px solid #fff;
    right: 50px;
}

/* お客様の声 */
#contents .voice-box {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-start;
}

#contents .voice-box .voice-item {
    width: calc((100% - 10px * 2) / 3);
}

#contents .voice-box .voice-item a {
    align-items: center;
    background-color: #fff6df;
    color: #4b4642;
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    height: 100%;
    padding: 30px 50px 30px 30px;
    position: relative;
}

#contents .voice-box .voice-item a::before {
    background: url(../image/contents/voice/voice_01.png?202507) no-repeat center / contain;
    content: "";
    display: block;
    height: 115px;
    width: 115px;
}

#contents .voice-box .voice-item:nth-child(6n+1) a::before {
    background-image: url(../image/contents/voice/voice_01.png?202507);
}

#contents .voice-box .voice-item:nth-child(6n+2) a::before {
    background-image: url(../image/contents/voice/voice_02.png?202507);
}

#contents .voice-box .voice-item:nth-child(6n+3) a::before {
    background-image: url(../image/contents/voice/voice_03.png?202507);
}

#contents .voice-box .voice-item:nth-child(6n+4) a::before {
    background-image: url(../image/contents/voice/voice_04.png?202507);
}

#contents .voice-box .voice-item:nth-child(6n+5) a::before {
    background-image: url(../image/contents/voice/voice_05.png?202507);
}

#contents .voice-box .voice-item:nth-child(6n) a::before {
    background-image: url(../image/contents/voice/voice_06.png?202507);
}

#contents .voice-box .voice-item a::after {
    content: "";
    display: block;
    border-style: solid;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 8px solid #4b4642;
    border-right: 0;
    width: 0;
    height: 0;
    position: absolute;
    right: 30px;
    top: 0;
    bottom: 0;
    margin: auto;
}

#contents .voice-box .voice-item .ttl-box {
    display: grid;
    gap: 15px;
    width: calc(100% - 140px);
}

#contents .voice-box .voice-item .ttl-box p {
    line-height: 1em;
    margin-bottom: 0;
}

#contents .voice-box .voice-item .ttl-box .ttl {
    font-size: 24px;
    font-weight: bold;
    letter-spacing: .1em;
    line-height: 1.4em;
}

#contents .voice-box .voice-item .ttl-box .category {
    font-weight: 400;
    letter-spacing: .1em;
}

/* =======================================

下層共通

========================================== */
* {
    box-sizing: border-box;
}

br.br-1300, br.br-1140, br.br-640, br.br-959, br.br-559 {
    display: none;
}

.bg-wide {
    padding-bottom: 70px;
    position: relative;
}

.bg-wide::before {
    background: url(../image/contents/bg_wide.jpg) no-repeat center / cover;
    content: "";
    display: block;
    height: 200px;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
}

.grecaptcha-badge {
    display: none !important;
}

.bg-beige {
    background-color: #f5f5f5;
}

#contents .bg-beige.area {
    padding: 80px 0 85px;
}

#contents img.border {
    border: 3px solid #4b4642;
}

.mark-txt {
    margin-left: 1em;
    text-indent: -1em;
}

.pattern-blue {
    background: #56bfdb url(../image/contents/pattern_blue.png) repeat;
}

.pattern-orange {
    background: #eda045 url(../image/contents/pattern_orange.png) repeat;
}

.pattern-green {
    background: #6cbf55 url(../image/contents/pattern_green.png) repeat;
}

.oswald {
    font-family: "Oswald", sans-serif;
    font-weight: 500;
}

.error404 #contents h2 {
    color: #f89b2d;
    font-size: 30px;
    letter-spacing: 0;
    line-height: 1.5em;
    margin-bottom: 40px;
    padding-top: 30px;
}

.error404 #contents .error-txt {
    margin-bottom: 40px;
    text-align: center;
}

.error404 #contents .link-box {
    margin: 0 auto 90px;
    max-width: 700px;
}

.error404 #contents .link-box .right .link-btn {
    margin: 0 0 0 auto;
}

.error404 #contents .link-box .right .link-btn::after {
    transform: rotate(180deg);
    left: 20px;
    right: unset;
}

#contents .w-100 {
    width: 100%;
}

#contents .sp-txt {
    display: none;
}

ul.style-none {
    padding: 0;
}

ul.style-none li {
    list-style: none;
}

/* other */
.pc-none {
    display: none;
}

.sp-none {
    display: block;
}

.sp-none.inline {
    display: inline-block;
}

/* inquiry */
form table input {
    background-color: #eee;
    border: none;
    padding: 0.7em;
    width: 70%;
}

#contents input:-internal-autofill-selected {
    box-shadow: 0 0 0 1000px #eee inset;
    background-color: #eee;
}

textarea {
    background-color: #eee;
    border: none;
    width: 100%;
    padding: 0.7em;
}

input[type="radio"] {
    width: auto;
}

input[type="checkbox"] {
    width: 20px;
}

input[type="submit"] {
    background-color: #ffdb49;
    border: 0;
    color: #0a0a0a;
    font-weight: 500;
    display: block;
    margin: auto;
    margin-top: 35px;
    max-width: 400px;
    padding: 15px;
    transition: 0.3s;
    width: 100%;
}

input[type="submit"]:hover {
    opacity: 0.5;
}

input[type="button"].wpcf7c-btn-back {
    background-color: #999;
    border: 0;
    color: #fff;
    display: block;
    left: 0;
    margin: auto;
    margin-left: 0;
    margin-top: 45px;
    max-width: 200px;
    padding: 15px;
    right: 0;
}

.wpcf7-validation-errors {
    background-color: #f5f1e6;
    border: 2px solid #f7e700;
    border-width: 0;
}

.wpcf7-radio span.wpcf7-list-item {
    max-width: max-content;
    width: 100%;
    display: block;
}

.wpcf7-form-control-wrap.entry_year input {
    max-width: 65px;
}

.wpcf7-form-control-wrap.address_num input {
    margin-left: 5px;
    max-width: 95px;
}

input[type="button"].wpcf7c-btn-back {
    margin: 0 0 0 -15px;
}

span.wpcf7-list-item {
    display: block;
    margin: 0;
}

/* pc sp button */
.view-button {
    align-items: center;
    display: flex;
    justify-content: center;
    width: 100%;
}

.view-button p.pc-button {
    display: none;
}

.view-button p.sp-button {
    display: block;
    text-align: left;
}

/* img decoration */
.image-border img {
    border: 1px solid #ccc;
}

.img-border {
    border: 1px solid #ccc;
    padding: 10px;
}

/* pdf */
a[href$=".pdf"] {
    position: relative;
}

/* single 投稿詳細ページ  */
.single #contents h2 {
    font-size: 170%;
    letter-spacing: 0.03em;
    line-height: 1.5em;
    margin-bottom: 30px;
    text-align: left;
}

.single #contents img.qr-img {
    border: 1px solid #eaeaea;
}

/* btn */
.link-btn {
    border: 3px solid #4b4642;
    color: #4b4642;
    display: block;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.1em;
    padding: 14px;
    position: relative;
    text-align: center;
    transition: 0.3s ease all;
    max-width: 100%;
    width: 340px;
}

.link-btn:hover {
    background-color: #4b4642;
    color: #fff;
    text-decoration: none;
}

.link-btn::after {
    content: "";
    display: block;
    border-style: solid;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 7px solid #4b4642;
    border-right: 0;
    width: 0;
    height: 0;
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
    margin: auto;
    transition: 0.3s ease all;
}

#contents .link-btn.link-style {
    border: 5px solid #b8e6f3;
    color: #fff;
    font-weight: bold;
    font-size: 40px;
    max-width: 620px;
    margin-bottom: 90px;
    padding: 50px 40px 51px 170px;
    text-align: left;
    width: 100%;
}

#contents .link-btn.link-style::before {
    background: url(../image/contents/style/start_img.png) no-repeat center / contain;
    content: "";
    display: block;
    height: 138px;
    width: 105px;
    position: absolute;
    left: 35px;
    top: 0;
    bottom: 0;
    margin: auto;
}

.link-btn.link-style:hover {
    opacity: 0.5;
}

.link-btn.link-style::after {
    border-left: 7px solid #fff;
}

.link-btn.link-style .sub-ttl {
    display: block;
    font-size: 57%;
    letter-spacing: .05em;
    margin-bottom: 20px;
}

.link-btn.anchor {
    width: 100%;
    margin-top: 30px;
}

.link-btn:hover::after {
    border-left: 7px solid #fff;
}

.link-btn.anchor::after {
    transform: rotate(90deg);
}

.link-btn.center {
    margin: 0 auto;
}

#topcontrol {
    background-image: url(../image/base/navi_pagetop.png);
    background-position: center;
    background-repeat: no-repeat;
    height: 70px;
    transition: 0.3s;
    width: 70px;
}

#topcontrol:hover {
    transition: 0.3s;
    opacity: 0.5 !important;
}

.link-bnr {
    display: inline-block;
    transition: 0.3s;
}

.link-bnr:hover {
    opacity: 0.5;
    text-decoration: none;
    transition: 0.3s;
}

/* blog */
#contents .blog-group img {
    border: 3px solid #454545;
}

#contents .blog-box {
    display: flex;
    flex-wrap: wrap;
    gap: 30px 0;
    justify-content: flex-start;
}

#contents .blog-box .blog-group {
    margin-right: 20px;
    width: calc(100% / 5 - 16px);
}

#contents .blog-box .blog-group:nth-child(5n), #contents .blog-box .blog-group:last-child {
    margin-right: 0;
}

#contents .blog-box a {
    color: #4b4642;
}

#contents .blog-box .ttl {
    font-weight: bold;
    font-size: 24px;
    letter-spacing: .1em;
    margin-bottom: 0;
}

#contents .blog-box .day {
    font-weight: 400;
    letter-spacing: .1em;
}

#contents .blog-box .photo {
    margin-bottom: 15px;
}

/* news */
body#news {
    background-color: #f5f3e7;
}

#news-list {
    margin: 0 auto;
    max-width: 1300px;
}

.news-contents {
    display: grid;
    gap: 10px 0;
    margin-top: 20px;
    max-width: 1300px;
}

#contents .news-group {
    align-items: center;
    background-color: #fff;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
    padding: 20px;
}

#contents .news-group:last-child {
    margin-bottom: 0;
}

#contents .news-group .txt {
    align-items: center;
    display: flex;
}

#contents .news-group p.day {
    color: #464646;
    margin-right: 20px;
    position: relative;
    top: 1px;
    width: 110px;
}

#contents .news-group p {
    margin-bottom: 0;
}

#contents .news-group .ttl {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0;
    margin-bottom: 0;
    width: calc(100% - 130px);
}

.page-numbers {
    background-color: #54b8d3;
    padding: 8px 19px;
    color: #fff;
    font-size: 16px;
    transition: .3s;
    text-decoration: none;
    margin-right: 5px;
    margin-bottom: 10px;
    border-radius: 3px;
}

.page-numbers:last-child {
    margin-right: 0;
}

.page-numbers.dots:hover {
    opacity: 1;
}

.page-num-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.page-numbers.current {
    background-color: #4b4642;
    margin-right: 5px;
}

.page-numbers.current:hover {
    color: #fff;
    opacity: 1;
    pointer-events: none;
}

.page-numbers:hover {
    text-decoration: none;
    opacity: 0.5;
}

@media screen and (min-width: 960px) {
    #openMenu, .sp-ico {
        display: none;
    }

    .header.mobile-.header {
        height: 155px;
    }

    body.mobile-view {
        margin-top: 0;
    }

    .header .sp-ico {
        display: none;
    }

    .sp-bottom-nav {
        display: none !important;
    }

    /* PC時に電話番号を起動させない */
    a[href*="tel:"] {
        cursor: default;
        pointer-events: none;
        text-decoration: none;
    }

    #contents a[href*="tel:"] {
        color: #4b4642;
    }

    .mobile-header.header p.sp-button {
        left: 0;
        position: relative;
        right: 0;
        top: 0;
    }

    .mobile-header.header p.sp-button a {
        margin: auto;
        width: 100%;
        background: #56bfdb;
        color: #fff;
        text-decoration: none;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 9999;
        font-size: 200%;
        padding: 27px 0;
    }

    .mobile-view #page-ttl {
        margin-top: 230px;
    }
}

@media screen and (max-width: 1600px) {
    .footer-sitemap li:nth-child(14) a {
        border-left: none;
    }

    .footer-sitemap li:nth-child(12) a {
        border-left: 1px solid #fff;
    }

    .footer-inner {
        max-width: 1200px;
    }

    /* 無料査定 */
    #contents .free-box .main-txt {
        font-size: 33px;
        margin-bottom: 25px;
    }
}

@media screen and (max-width: 1500px) {
    #contents .blog-box .ttl {
        font-size: 22px;
    }

    #g-navi .navi-list li a {
        font-size: 16px;
        padding: 3px 4px 4px;
    }

    /* 無料査定 */
    #contents .free-box .main-txt {
        font-size: 28px;
        margin-bottom: 20px;
    }

    #contents .free-box .link-btn {
        font-size: 40px;
        padding: 70px 15px 70px 55px;
    }

    #contents .free-box .link-btn::after {
        border-top: 10px solid transparent;
        border-bottom: 10px solid transparent;
        border-left: 10px solid #fff;
        right: 45px;
    }
}

@media screen and (max-width: 1400px) {
    #contents .voice-box .voice-item {
        width: calc((100% - 10px * 1) / 2);
    }
}

@media screen and (max-width: 1300px) {
    .footer-inner {
        max-width: 1160px;
    }

    #contents {
        padding-bottom: 370px;
    }

    .footer-sitemap a {
        font-size: 16px;
    }

    #page-ttl {
        margin-top: 127px;
    }

    .mobile-view #page-ttl {
        margin-top: 210px;
    }

    .header-inner {
        padding: 17px 0 15px;
    }

    .header-inner .nav-top .sub-btn {
        width: calc(100% - 390px);
    }

    .header .img-logo {
        width: 390px;
    }

    .header-inner .nav-top {
        margin-bottom: 15px;
    }

    .header-inner .nav-top .sub-btn a {
        font-size: 15px;
        padding: 6px 40px 6px 20px;
    }

    br.br-1300 {
        display: block;
    }

    #g-navi .navi-list li a {
        font-size: 14px;
        letter-spacing: .05em;
    }

    /* 無料査定 */
    #contents .free-box .main-txt {
        font-size: 24px;
        margin-bottom: 17px;
    }

    #contents .free-box .link-btn {
        font-size: 35px;
        padding: 60px 15px 60px 40px;
    }

    #contents .free-box .link-btn::after, #contents .main-view .main-ttl + .link-btn::after {
        border-top: 8px solid transparent;
        border-bottom: 8px solid transparent;
        border-left: 8px solid #fff;
        right: 40px;
    }
}

@media screen and (max-width: 1140px) {
    .link-btn.link-style .sub-ttl {
        margin-bottom: 10px;
    }

    #contents .link-btn.link-style {
        font-size: 30px;
        max-width: 470px;
        padding: 35px 40px 36px 130px;
    }

    #contents .link-btn.link-style::before {
        height: 105px;
        width: 75px;
    }

    #contents h4 {
        font-size: 20px;
    }

    #contents .voice-box .voice-item a {
        padding: 25px 40px 25px 25px;
    }

    #contents .voice-box .voice-item a::after {
        border-top: 5px solid transparent;
        border-bottom: 5px solid transparent;
        border-left: 7px solid #4b4642;
        right: 20px;
    }

    #contents .voice-box .voice-item .ttl-box .ttl {
        font-size: 20px;
    }

    #contents .voice-box .voice-item .ttl-box {
        gap: 10px;
        width: calc(100% - 105px);
    }

    #contents .voice-box .voice-item a::before {
        height: 80px;
        width: 80px;
    }

    #contents .free-box .txt {
        font-size: 18px;
    }

    .footer-sitemap li:nth-child(12) a {
        border-left: none;
    }

    .footer-sitemap li:nth-child(10) a, .footer-sitemap li:nth-child(17) a {
        border-left: 1px solid #fff;
    }

    .footer-inner {
        max-width: 860px;
    }

    .mobile-view #page-ttl {
        margin-top: 200px;
    }

    #page-ttl {
        margin-top: 117px;
    }

    .header-inner .nav-top .sub-btn {
        width: calc(100% - 370px);
    }

    .header .img-logo {
        width: 370px;
    }

    .header-inner .nav-top .sub-btn a {
        font-size: 14px;
        padding: 3px 30px 3px 20px;
        width: 185px;
    }

    #g-navi .navi-list li a {
        font-size: 12px;
        letter-spacing: .03em;
        padding: 1px 3px 2px;
    }

    br.br-1140 {
        display: block;
    }

    #contents {
        padding-bottom: 379px;
    }

    .footer, #contents p, #contents li {
        font-size: 15px;
    }

    #contents .news-group p.day {
        font-size: 16px;
        margin-right: 20px;
        width: 91px;
    }

    .page-numbers {
        font-size: 14px;
        padding: 5px 18px;
    }

    #contents .news-group {
        padding: 15px;
    }

    #contents .news-group .ttl {
        font-size: 16px;
        width: calc(100% - 111px);
    }

    .link-btn {
        font-size: 16px;
        padding: 10px;
    }

    /* 下層ページ */
    #contents h2 {
        font-size: 32px;
    }

    .single #contents h2 {
        font-size: 26px;
    }

    #contents h3 {
        font-size: 22px;
        padding: 7px 13px 9px;
    }

    .table-01 th, .table-01 td, .table-02 th, .table-02 td {
        font-size: 15px;
    }

    #contents h2 .en-ttl {
        margin-top: 20px;
    }

    /* ブログ */
    #contents .blog-box .blog-group {
        width: calc(100% / 3 - 14px);
    }

    #contents .blog-box .blog-group:nth-child(5n) {
        margin-right: 20px;
    }

    #contents .blog-box .blog-group:nth-child(3n) {
        margin-right: 0;
    }

    #contents .blog-box .ttl {
        font-size: 19px;
    }

    #contents .blog-box .photo {
        margin-bottom: 10px;
    }

    /* 無料査定 */
    #contents .free-box .main-txt {
        font-size: 28px;
        line-height: 1.5em;
        margin-bottom: 25px;
    }

    #contents .free-box {
        grid-template-columns: 100%;
        gap: 30px;
        padding: 45px 40px 50px;
    }

    #contents .free-box .link-btn {
        font-size: 30px;
        padding: 40px 15px 40px 50px;
        max-width: 550px;
        margin: 0 auto;
        width: 100%;
    }
}

/* view-959 Mobile,Tablet */
@media screen and (max-width: 959px) {
    .copyright {
        padding-bottom: 70px;
    }

    .sp-bottom-nav {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 999;
    }

    .bottom-nav-list {
        background-color: #fff;
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }

    .sp-bottom-nav .bottom-nav-item {
        border-top: 1px solid #fff;
        width: 100%;
    }

    .sp-bottom-nav .bottom-nav-item:first-child {
        border-right: 1px solid #fff;
    }

    .sp-bottom-nav .bottom-nav-item a {
        display: flex;
        padding: 10px;
        color: #fff;
        font-weight: 400;
        letter-spacing: 0.1em;
        transition: .5s;
        align-items: center;
        justify-content: center;
        position: relative;
    }

    .sp-bottom-nav .bottom-nav-item a::before {
        background: url(../image/base/ico_mail.svg) no-repeat center / contain;
        content: "";
        display: block;
        height: 21px;
        margin-right: 3px;
        width: 21px;
    }

    .sp-bottom-nav .bottom-nav-item:nth-child(2) a::before {
        background-image: url(../image/base/ico_tel_white.svg);
    }

    .sp-bottom-nav .bottom-nav-item a:hover {
        opacity: 0.6;
        text-decoration: none;
        transition: .5s;
    }

    #contents .free-box .link-btn::after {
        right: 30px;
    }

    .header-inner .nav-top {
        margin-bottom: 0;
    }

    .header-inner .nav-top .sub-btn {
        display: none;
    }

    .error404 #contents .link-box .txt-2box {
        width: 48%;
    }

    /* header */
    .header-inner {
        padding: 12px 0;
        width: 96%;
    }

    .header {
        align-items: center;
        background: #fff;
        display: flex;
        justify-content: space-between;
        padding: 0;
        top: 0;
        width: 100%;
    }

    .sp-ico {
        display: flex;
        flex-wrap: wrap;
    }

    #openMenu {
        top: 0;
        bottom: 0;
        right: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-left: 20px;
    }

    .header .img-logo {
        width: 360px;
        height: auto;
    }

    /* nav */
    .nav-area {
        background-color: transparent;
        border-top: 1px solid #FFF;
        display: none;
        left: 0;
        position: absolute;
        left: 0;
        top: 44px;
        width: 100%;
        z-index: 999;
        margin-bottom: 50px;
    }

    .nav-area.open {
        display: block;
    }

    .navi-inner {
        height: auto;
    }

    .sp-icon {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        margin-right: 0;
    }

    .sp-tel img {
        display: inline-block;
    }

    .sp-icon .sp-nav-txt {
        color: #fff;
        display: block;
        font-size: 10px;
        letter-spacing: 0.05em;
        margin-top: -13px;
    }

    .sp-tel img, #openMenu img {
        width: 45px;
        background-color: #56bfdb;
    }

    #g-navi {
        background-color: transparent;
        height: auto;
        overflow: auto;
        overflow-x: hidden;
        max-height: calc(100svh - 69px);
    }

    #g-navi.open {
        background-color: #fff;
        border-top: 1px solid #dedede;
        display: block;
        left: 0;
        position: absolute;
        right: 0;
        width: 100%;
        top: 100%;
        z-index: 99999;
    }

    #g-navi .navi-list {
        display: block;
        height: auto;
        margin: 0;
        position: relative;
        width: 100%;
        z-index: 0;
        order: unset;
    }

    #g-navi .navi-list li, #g-navi .navi-list li:first-child {
        border-bottom: 1px solid #dedede;
        border-right: none;
        border-left: none;
        margin: 0;
        margin-bottom: 0;
        max-width: none;
        font-size: 90%;
        height: 100%;
        padding: 0;
        width: 100%;
        background-color: #f5f3e8;
        color: #4b4642;
    }

    nav .navi-list .child-menu li {
        border: none;
        width: 100%;
    }

    #g-navi .navi-list li a {
        color: #4b4642;
        font-size: 15px;
        height: auto;
        letter-spacing: .05em;
        padding: 11px 20px;
        position: relative;
        text-align: left;
        width: 100%;
    }

    #g-navi .navi-list li a::before {
        content: "";
        display: block;
        border-style: solid;
        border-top: 5px solid transparent;
        border-bottom: 5px solid transparent;
        border-left: 6px solid #4b4642;
        border-right: 0;
        width: 0;
        height: 0;
        position: absolute;
        right: 18px;
        top: 0;
        bottom: 0;
        margin: auto;
    }

    #g-navi .navi-list li.style a::before, #g-navi .navi-list li.contact a::before {
        border-left: 6px solid #fff;
    }

    #g-navi .navi-list li.style a, #g-navi .navi-list li.contact a {
        color: #fff;
    }

    .nav-area li a.sp-none {
        display: none;
    }

    #g-navi .child-nav .child-item:last-child {
        border-bottom: 0;
    }

    #g-navi .navi-list li::before {
        background-color: #fff;
        height: 45px;
    }

    #g-navi ul.navi-list li .nav-ttl {
        display: block;
        position: absolute;
        right: 0;
        top: 0;
        height: 46px;
        width: 46px;
    }

    #g-navi ul.navi-list li span.nav-ttl.open::before {
        transform: rotate(180deg);
    }

    #g-navi ul.navi-list li .child {
        background-color: transparent;
        display: none;
        max-width: 100%;
        padding: 0;
        position: relative;
        width: 100%;
        box-shadow: none;
        border-top: 1px solid #dedede;
        visibility: visible;
        opacity: 1;
        transition: unset;
    }

    #g-navi ul.navi-list li span.nav-ttl::before, #g-navi ul.navi-list li span.nav-ttl::after {
        position: absolute;
        content: "";
        top: 47%;
        right: 0;
        left: 0;
        margin: auto;
        height: 2px;
        width: 13px;
        background: #4b4642;
        transition: all .3s ease-in-out;
    }

    nav .navi-list .child ul {
        width: 100%;
        padding: 0px;
    }

    /* footer */
    .footer {
        height: auto;
        min-height: 139px;
        text-align: center;
        padding-bottom: 0;
        position: absolute;
    }

    .footer .address {
        border-left-width: 0;
        padding: 0;
        text-align: center;
        width: 100%;
    }

    .footer .logo-area {
        width: 100%;
    }

    .footer-detail {
        flex-wrap: wrap;
        max-width: 400px;
        width: 90%;
    }

    .footer .inner {
        margin: 0 auto;
        width: 94%;
    }

    .view-button p.sp-button {
        display: none;
    }

    .footer-sitemap .sp-none {
        display: none;
    }

    /* error */
    .error404 #contents .error-txt {
        text-align: left;
    }

    .error404 #contents .error-txt br {
        display: none;
    }

    .error404 #contents h2 {
        font-size: 25px;
        margin-bottom: 30px;
    }

    br.br-959 {
        display: block;
    }

    br.br-none-959 {
        display: none;
    }

    /* 下層共通 */
    #contents .news-group {
        display: block;
        padding: 15px 10px;
    }

    #contents .news-group .ttl {
        font-size: 15px;
        width: 100%;
    }

    #contents .news-group p.day {
        margin-right: 0;
        width: 100%;
    }

    #contents .news-group p.day {
        margin-bottom: 3px;
    }

    /* contents */
    body {
        min-width: 100%;
    }

    #contents {
        padding-bottom: 354px;
        padding-top: 0;
    }

    /* page ttl*/
    #page-ttl, .mobile-view #page-ttl {
        margin-top: 69px;
        padding: 45px 0 39px;
        text-align: center;
    }

    #page-ttl .inner h1 {
        font-size: 1.5em;
    }

    /* hx */
    #contents h2 {
        margin-bottom: 30px;
    }

    /* カラム数 */
    .txt-2box, .img-2box, .img-2box-txt, .img-2box.option-ico, .img-2box-txt.option-text {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }

    .txt-2box.end {
        margin-right: 0;
    }

    .txt-3box {
        margin-right: 0;
        width: 100%;
    }

    .txt-3box.end {
        margin-right: 0;
    }

    .txt-4box {
        margin-right: 15px;
    }

    .txt-4box:nth-child(2n) {
        margin-right: 0;
    }

    /* table */
    .table-01 {
        width: 100%;
    }

    .table-01 tr {
        border-bottom: 1px solid #d4d4d4;
    }

    .table_over table {
        min-width: 710px;
    }

    .table-01 th {
        border: none;
        display: block;
        margin-left: 0;
        margin-right: 0;
        padding: 10px 15px;
        width: 100%;
    }

    .table-01 td {
        border: none;
        display: block;
        padding: 10px 15px;
    }

    .table-01 textarea {
        max-width: 100%;
        width: 100%;
    }

    .table-01.w-100 th {
        width: 100%;
    }

    .table-02 th, .table-02 td {
        padding: 10px;
    }

    /* view-none */
    .pc-none {
        display: block;
    }

    .pc-none.inline {
        display: inline;
    }

    .sp-none, .sp-none.inline, .header-inner .home-sub-area.sp-none {
        display: none;
    }

    input, select,textarea {
        font-size: 16px;
        width: 100%;
    }

    input[type="submit"] {
        width: 100%;
    }

    input[type="checkbox"], input[type="radio"] {
        width: auto;
    }

    #topcontrol {
        /* pagetopへ戻るボタン。jsのため!importantを使用 */
        display: none !important;
    }

    /* 買取査定・売却査定 */
    #contents .free-box {
        padding: 40px 15px 50px;
    }

    #contents .free-box .main-txt {
        font-size: 25px;
        margin-bottom: 25px;
    }

    #contents .free-box .link-btn {
        font-size: 27px;
        padding: 35px 15px 35px 50px;
    }
}

@media screen and (max-width: 767px) {
    #contents .voice-box .voice-item {
        width: 100%;
    }
}

@media screen and (max-width: 640px) {
    .error404 #contents .link-box {
        margin-bottom: 65px;
    }

    .error404 #contents h2 {
        font-size: 22px;
        text-align: left;
    }

    .error404 #contents h2 br {
        display: none;
    }

    br.br-640 {
        display: block;
    }

    /* ブログ */
    #contents .blog-box {
        gap: 10px 0;
    }

    #contents .blog-box .blog-group {
        width: calc(100% / 2 - 10px);
    }

    #contents .blog-box .blog-group:nth-child(3n) {
        margin-right: 20px;
    }

    #contents .blog-box .blog-group:nth-child(2n) {
        margin-right: 0;
    }

    /* 無料査定 */
    #contents .free-box .main-txt {
        font-size: 26px;
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 559px) {
    #contents .box-mb {
        margin-bottom: 70px;
    }

    .link-btn.link-style .sub-ttl {
        margin-bottom: 5px;
    }

    #contents .link-btn.link-style {
        font-size: 25px;
        margin-bottom: 60px;
        max-width: 100%;
        padding: 25px;
        text-align: center;
    }

    #contents .link-btn.link-style::before {
        display: none;
    }

    .google-map.works {
        height: 350px;
    }

    .sp-bottom-nav .bottom-nav-item a::before {
        height: 19px;
        width: 19px;
    }

    .sp-bottom-nav .bottom-nav-item a {
        font-size: 15px;
    }

    #contents .bg-beige.area {
        padding: 60px 0 80px;
    }

    #contents h4 {
        font-size: 18px;
        margin-bottom: 15px;
    }

    .bg-wide {
        padding-bottom: 60px;
    }

    #contents .voice-box .voice-item a::after {
        right: 15px;
    }

    #contents .voice-box .voice-item a {
        gap: 20px;
        padding: 20px 35px 20px 15px;
    }

    #contents .voice-box .voice-item .ttl-box {
        width: calc(100% - 90px);
    }

    #contents .voice-box .voice-item a::before {
        height: 70px;
        width: 70px;
    }

    #contents .voice-box .voice-item .ttl-box .ttl {
        font-size: 18px;
    }

    #contents .voice-box .voice-item .ttl-box .category {
        font-size: 14px;
    }

    .error404 #contents .link-box .right .link-btn::after {
        left: 10px;
    }

    .link-btn::after {
        right: 15px;
    }

    #g-navi {
        max-height: calc(100svh - 65px);
    }

    .header .img-logo {
        width: min(80%, 340px);
    }

    #g-navi .navi-list li a {
        padding: 10px 15px;
    }

    #g-navi .navi-list li a::before {
        right: 13px;
    }

    br.br-559 {
        display: block;
    }

    br.br-none-559 {
        display: none;
    }

    .table-01 th, .table-01 td, .table-02 th, .table-02 td, #contents table td li, #contents table td p {
        font-size: 14px;
    }

    .link-btn {
        font-size: 15px;
        max-width: 100%;
        width: 100%;
    }

    #contents .sp-txt {
        display: block;
    }

    #contents {
        padding-bottom: 407px;
    }

    .error404 #contents .error-txt {
        margin-bottom: 25px;
    }

    .error404 #contents img {
        width: 80px;
    }

    input[type="submit"] {
        max-width: 100%;
    }

    .page-numbers {
        padding: 3px 14px;
    }

    .table-01 th, .table-01 td {
        padding: 10px;
    }

    #page-ttl, .mobile-view #page-ttl {
        margin-top: 65px;
        padding: 43px 0 38px;
    }

    #contents .inner {
        width: 93%;
    }

    #contents .mb-100 {
        margin-bottom: 70px;
    }

    #contents h2 {
        font-size: 25px;
        line-height: 1.4em;
    }

    #contents h2 .en-ttl {
        margin-top: 10px;
    }

    #contents h3 {
        font-size: 18px;
        margin-bottom: 25px;
        padding: 5px 10px;
    }

    #breadcrumb {
        width: 93%;
    }

    .copyright {
        font-size: 13px;
    }

    .footer .address {
        font-size: 14px;
    }

    .view-button p.pc-button {
        display: block;
        margin: 15px 0;
    }

    .view-button p.pc-button a {
        border: 1px solid #fff;
        color: #fff;
        display: block;
        font-size: 14px;
        letter-spacing: 0.05em;
        margin: 0 auto 30px;
        max-width: 278px;
        padding: 5px;
        position: relative;
        text-align: center;
        text-decoration: none;
        transition: 0.3s;
        width: 100%;
    }

    .footer-sitemap .list-border {
        margin-bottom: 0;
    }

    .view-button {
        display: block;
        text-align: center;
        width: 100%;
    }

    #contents .news-group .ttl {
        line-height: 1.7em;
    }

    .header-inner {
        padding: 10px 0;
        width: 95%;
    }

    #contents .mb-120 {
        margin-bottom: 90px;
    }

    #contents .mb-65 {
        margin-bottom: 45px;
    }

    #contents .blog-box .ttl {
        font-size: 18px;
    }

    /* 無料査定 */
    #contents .free-box {
        padding: 35px 15px 45px;
    }

    #contents .free-box .txt {
        font-size: 17px;
    }

    #contents .free-box .main-txt .main {
        line-height: 1.6em;
    }

    #contents .free-box .link-btn::after, #contents .main-view .main-ttl + .link-btn::after {
        border-top: 7px solid transparent;
        border-bottom: 7px solid transparent;
        border-left: 7px solid #fff;
    }

    #contents .free-box .main-txt {
        font-size: 21px;
    }

    #contents .free-box .link-btn {
        font-size: 23px;
        padding: 30px 15px 30px 25px;
    }

    #contents .free-box .link-btn::after {
        border-top: 7px solid transparent;
        border-bottom: 7px solid transparent;
        border-left: 7px solid #fff;
        right: 15px;
    }
}

/* 管理画面ログイン後 上部メニューの固定化 */
#wpadminbar {
    position: fixed;
}
