@charset "UTF-8";
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
    box-sizing: border-box;
    border-style: solid;
    border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
    line-height: 1.15;
    /* 1 */
    -webkit-text-size-adjust: 100%;
    flow.flow-listli.wrapimg/* 2 */
    -webkit-tap-highlight-color: transparent;
    /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
    margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
    display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
    margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
    margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
    font-weight: bold;
}

dd {
    margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
    box-sizing: content-box;
    /* 1 */
    height: 0;
    /* 1 */
    overflow: visible;
    /* 2 */
    border-top-width: 1px;
    margin: 0;
    clear: both;
    color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
    font-family: monospace, monospace;
    /* 1 */
    font-size: inherit;
    /* 2 */
}

address {
    font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
    background-color: transparent;
    text-decoration: none;
    color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
    text-decoration: underline;
    /* 2 */
    text-decoration: underline dotted;
    /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
    font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
    font-family: monospace, monospace;
    /* 1 */
    font-size: inherit;
    /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img,
embed,
object,
iframe {
    vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
    -webkit-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    outline: 0;
    border-radius: 0;
    text-align: inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type="checkbox"] {
    -webkit-appearance: checkbox;
    appearance: checkbox;
}

[type="radio"] {
    -webkit-appearance: radio;
    appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
    /* 1 */
    overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
    /* 1 */
    text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}

button[disabled],
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled] {
    cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
    display: none;
}

/**
 * Remove padding
 */
option {
    padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
    margin: 0;
    padding: 0;
    min-width: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
    color: inherit;
    /* 2 */
    display: table;
    /* 1 */
    max-width: 100%;
    /* 1 */
    padding: 0;
    /* 3 */
    white-space: normal;
    /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
    vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
    overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type="search"] {
    outline-offset: -2px;
    /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* 1 */
    font: inherit;
    /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
    cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
    display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
    display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable] {
    outline: none;
}

/* Table */
/* ============================================ */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

caption {
    text-align: left;
}

td,
th {
    vertical-align: top;
    padding: 0;
}

th {
    text-align: left;
    font-weight: bold;
}

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
    display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
    display: none;
}

body {
    background: #f8f8f8;
    font-family: kozuka-gothic-pr6n, sans-serif;
    font-style: normal;
}

h2 {
    font-family: kozuka-gothic-pr6n, sans-serif;
    font-weight: 700;
    font-style: normal;
}

h3 {
    font-family: kozuka-gothic-pr6n, sans-serif;
    font-weight: 700;
    font-style: normal;
}

header {
    padding: 1.5625vw 7.29167vw 1.5625vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    position: relative;
    box-shadow: 0 3px 6px rgb(0 0 0 / 5%);
}

@media screen and (max-width: 768px) {
    header {
        padding: 15px;
    }
}

header img {
    width: 13.02083vw;
}

@media screen and (max-width: 768px) {
    header img {
        width: 150px;
    }
}

@media screen and (max-width: 768px) {
    header nav {
        display: none;
    }
}

header nav .gnav {
    display: flex;
    align-items: center;
}

header nav .gnav li {
    margin-right: 1.5625vw;
}

header nav .gnav li a {
    font-size: 0.9375vw;
    font-weight: 700;
    letter-spacing: 0.2em;
    font-family: kozuka-gothic-pr6n, sans-serif;
    font-weight: 700;
    font-style: normal;
}

header nav .gnav li:nth-child(6) {
    margin-right: 3.64583vw;
}

header nav .gnav li:last-child a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #dd5511;
    color: #fff;
    padding: 1.04167vw;
}

header nav .gnav li:last-child a svg {
    width: 2.1875vw;
}

.slidemenu-btn {
    display: none;
    z-index: 99999;
    height: 15px;
    position: absolute;
    right: 35px;
    bottom: 23px;
}

.slidemenu-btn .first,
.slidemenu-btn .second,
.slidemenu-btn .third {
    background: #dd5511;
    width: 25px;
    height: 1px;
    display: block;
    transition: 0.2s;
    position: absolute;
}

.slidemenu-btn .first {
    top: 0;
}

.slidemenu-btn .second {
    top: 49%;
}

.slidemenu-btn .third {
    bottom: 0;
}

.slidemenu-btn .txt {
    font-size: 10px;
    font-weight: 700;
    color: #dd5511;
    letter-spacing: 0.2em;
    line-height: 1;
    margin-top: 3px;
    position: absolute;
    bottom: -15px;
}

@media screen and (max-width: 768px) {
    .slidemenu-btn {
        display: flex;
        align-items: center;
        flex-direction: column;
    }
}

.slidemenu-btn.-active {
    /* margin-top: 20px; */
}

.slidemenu-btn.-active .first {
    transform: rotate(45deg);
}

.slidemenu-btn.-active .second {
    display: none;
}

.slidemenu-btn.-active .third {
    transform: rotate(-45deg);
}

.slidemenu-btn.-active .first,
.slidemenu-btn.-active .second,
.slidemenu-btn.-active .third {
    margin: 7px;
    background: #fff;
}

.slidemenu-btn.-active .txt {
    margin-top: 8px;
    color: #fff;
}

.slidemenu-list {
    position: fixed;
    right: 100%;
    width: 100%;
    height: 100%;
    z-index: 9998;
    transition: 0.2s;
    background: #dd5511;
    top: 0;
}

.slidemenu-list .wrap {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-content: center;
    flex-direction: column;
    padding: 0 30px;
}

.slidemenu-list .wrap .ttl {
    font-size: 30px;
    text-align: center;
    color: #dd5511;
}

.slidemenu-list ul li {
    margin: 20px 0;
    text-align: center;
}

.slidemenu-list ul li a {
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.04em;
    font-size: 16px;
    text-decoration: none;
    text-align: center;
}

.slidemenu-list ul li a span {
    display: block;
    font-size: 12px;
    letter-spacing: 0.2em;
}

body.open .slidemenu-list {
    right: 0;
}

.footer-nav {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #dd5511;
    padding: 2.08333vw 0;
    margin-top: 2.60417vw;
}

@media screen and (max-width: 768px) {
    .footer-nav {
        padding: 20px 0;
        margin-top: 30px;
    }
}

.footer-nav nav {
    width: 100%;
}

.footer-nav nav .gnav {
    display: flex;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 768px) {
    .footer-nav nav .gnav {
        flex-direction: column;
    }
}

.footer-nav nav .gnav li {
    margin-right: 1.5625vw;
}

@media screen and (max-width: 768px) {
    .footer-nav nav .gnav li {
        margin-right: 0;
        margin-bottom: 10px;
    }
}

.footer-nav nav .gnav li a {
    font-size: 0.9375vw;
    font-weight: 700;
    letter-spacing: 0.2em;
    font-family: kozuka-gothic-pr6n, sans-serif;
    font-weight: 700;
    font-style: normal;
    color: #fff;
}

@media screen and (max-width: 768px) {
    .footer-nav nav .gnav li a {
        font-size: 12px;
    }
}

.key {
    width: 100%;
    position: relative;
    background: #fbfbfc;
    overflow: hidden;
}

.key:before {
    content: "";
    background: rgba(255, 255, 255, 0.55);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: absolute;
    display: block;
    z-index: 1;
}

.key video {
    width: 100%;
    height: 83vh;
    object-fit: cover;
    mix-blend-mode: multiply;
    object-position: bottom;
    position: relative;
}

@media screen and (max-width: 768px) {
    .key video {
        height: 250px;
    }
}

.key .copy {
    position: absolute;
    right: -19.79167vw;
    top: 1.5625vw;
    font-size: 9.375vw;
    white-space: nowrap;
    display: none;
}

.key .copy .bold {
    font-weight: 700;
    margin-right: 2.60417vw;
}

.key .copy .gray {
    color: #c8c9ca;
}

.key .copy .thin {
    font-weight: 200;
}

.key .datail {
    position: absolute;
    bottom: -6.61458vw;
    background: #fff;
    line-height: 1.875;
    font-size: 0.83333vw;
    right: 9.89583vw;
    padding: 2.60417vw;
}

.key .datail .read {
    color: #595857;
    width: 12.23958vw;
    margin: 0 auto 1.5625vw;
    letter-spacing: 0.04em;
}

.key .datail .link {
    text-align: right;
}

.key .datail .link a {
    font-size: 0.9375vw;
    color: #dd5511;
    border-bottom: 0.10417vw solid #dd5511;
    display: block;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding-bottom: 0.52083vw;
}

@media screen and (max-width: 768px) {
    .key .datail .link a {
        font-size: 14px;
        padding-bottom: 10px;
    }
}

.key svg {
    width: 67.70833vw;
    position: absolute;
    right: 1.5625vw;
    top: 10.41667vw;
    animation: slidein 5s ease 0s 1 alternate none running;
    z-index: 2;
}

@media screen and (max-width: 768px) {
    .key svg {
        width: 320px;
    }
}

@keyframes slidein {
    0% {
        right: -100%;
    }
    100% {
        right: 1.5625vw;
    }
}

.grade {
    margin-top: 5.20833vw;
    padding: 0 7.29167vw;
}

@media screen and (max-width: 768px) {
    .grade {
        margin-top: 50px;
        padding: 0 20px;
        width: 100%;
    }
}

.grade h2 {
    font-size: 3.33333vw;
    font-weight: 700;
    margin-bottom: 2.60417vw;
    letter-spacing: 0.15em;
}

@media screen and (max-width: 768px) {
    .grade h2 {
        font-size: 24px;
        margin-bottom: 30px;
    }
}

.grade h2 span {
    color: #dd5511;
}

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

@media screen and (max-width: 768px) {
    .grade .grade-list {
        flex-direction: column;
    }
}

.grade .grade-list li {
    width: 50%;
    display: flex;
    /* align-items: flex-end; */
    margin-bottom: 5.72917vw;
    position: relative;
    cursor: pointer;
}

@media screen and (max-width: 768px) {
    .grade .grade-list li {
        width: 100%;
        margin-bottom: 40px;
        flex-direction: column;
    }
}

.grade .grade-list li a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.grade .grade-list li .content {
    width: 11.97917vw;
    margin-right: 0.78125vw;
}

@media screen and (max-width: 768px) {
    .grade .grade-list li .content {
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
    }
}

.grade .grade-list li .content .ttl {
    font-size: 1.66667vw;
    letter-spacing: 0.04em;
    font-weight: 700;
    font-family: kozuka-gothic-pr6n, sans-serif;
    font-weight: 700;
    font-style: normal;
}

@media screen and (max-width: 768px) {
    .grade .grade-list li .content .ttl {
        font-size: 20px;
    }
}

.grade .grade-list li .content .ttl::first-letter {
    color: #dd5511;
}

.grade .grade-list li .content .sub-ttl {
    font-size: 1.04167vw;
    margin-bottom: 1.04167vw;
    letter-spacing: 0.04em;
    margin-top: 0.26042vw;
    font-family: kozuka-gothic-pr6n, sans-serif;
    font-weight: 700;
    font-style: normal;
}

@media screen and (max-width: 768px) {
    .grade .grade-list li .content .sub-ttl {
        font-size: 16px;
        margin-bottom: 10px;
        margin-top: 5px;
    }
}

.grade .grade-list li .content .read {
    font-size: 0.73333vw;
    letter-spacing: 0.04em;
    line-height: 1.7;
    margin-bottom: 1.5625vw;
    color: #595857;
    letter-spacing: 0.04em;
}

@media screen and (max-width: 768px) {
    .grade .grade-list li .content .read {
        font-size: 14px;
        margin-bottom: 20px;
    }
}

.grade .grade-list li .content .link {
    font-size: 0.83333vw;
    color: #595857;
    font-weight: 700;
    letter-spacing: 0.04em;
    border-bottom: 1px solid #dd5511;
    padding-bottom: 5px;
}

@media screen and (max-width: 768px) {
    .grade .grade-list li .content .link {
        font-size: 16px;
        text-align: right;
    }
}

.grade .grade-list li .content .link:after {
    content: "";
    background: url(../images/common/arrow.png) no-repeat center/cover;
    width: 0.98958vw;
    height: 0.83333vw;
    display: inline-block;
    margin-left: 0.52083vw;
    vertical-align: middle;
}

@media screen and (max-width: 768px) {
    .grade .grade-list li .content .link:after {
        width: 19px;
        height: 16px;
        margin-left: 10px;
    }
}

.grade .grade-list li .thumb {
    width: 57%;
    height: auto;
}

@media screen and (max-width: 768px) {
    .grade .grade-list li .thumb {
        width: 100%;
    }
}

.grade .grade-list li .thumb img {
    width: 100%;
    object-fit: cover;
/*    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    filter: grayscale(100%);*/
}

.property {
    padding: 0 7.29167vw;
    position: relative;
    cursor: pointer;
}

@media screen and (max-width: 768px) {
    .property {
        padding: 0 20px;
        width: 100%;
    }
}

.property .datail {
    background: #dd5511;
    width: 31.77083vw;
    padding: 3.125vw;
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 768px) {
    .property .datail {
        width: 100%;
        padding: 20px;
    }
}

.property .datail h2 {
    font-size: 3.33333vw;
    font-weight: 700;
    margin-bottom: 1.04167vw;
    letter-spacing: 0.15em;
}

@media screen and (max-width: 768px) {
    .property .datail h2 {
        font-size: 22px;
    }
}

.property .datail h2::first-letter {
    color: #fff;
}

.property .datail .sub-ttl {
    font-size: 1.35417vw;
    color: #fff;
    margin-bottom: 3.125vw;
}

@media screen and (max-width: 768px) {
    .property .datail .sub-ttl {
        font-size: 14px;
        margin-bottom: 10px;
    }
}

.property .datail .read {
    font-size: 0.9375vw;
    line-height: 1.7;
    width: 24.21875vw;
    color: #1a1a1a;
    letter-spacing: 0.04em;
}

@media screen and (max-width: 768px) {
    .property .datail .read {
        font-size: 14px;
        width: 100%;
    }
}

.property .bg {
    position: absolute;
    right: 7.29167vw;
    top: 3.64583vw;
    z-index: 0;
    width: 59%;
    /*filter: grayscale(100%);*/
}

@media screen and (max-width: 768px) {
    .property .bg {
        width: 100%;
        right: 0;
        top: 50px;
    }
}

.property .bg img {
    width: 100%;
    height: 49.53125vw;
    object-fit: cover;
}

.property .property-info {
    margin-top: 6.25vw;
    position: relative;
    z-index: 2;
    margin-left: 6.66667vw;
    width: 26.14583vw;
}

@media screen and (max-width: 768px) {
    .property .property-info {
        width: 100%;
        margin-left: 0;
        margin-top: 40px;
    }
}

@media screen and (max-width: 768px) {
    .property .property-info .thumb {
        width: 100%;
    }
}

/*.property .property-info .thumb img {
    filter: grayscale(100%);
}*/

@media screen and (max-width: 768px) {
    .property .property-info .thumb img {
        width: 100%;
    }
}

.property .property-info .content {
    margin-top: 1.5625vw;
}

.property .property-info .content .ttl {
    font-size: 1.30208vw;
    letter-spacing: 0.05em;
    margin-bottom: 0.78125vw;
}

.property .property-info .content .read {
    font-size: 0.83333vw;
    line-height: 2;
    letter-spacing: 0.04em;
}

.property .link {
    text-align: left;
    margin-top: 1.5625vw;
    color: #595857;
    font-weight: 700;
    letter-spacing: 0.04em;
    border-bottom: 1px solid #dd5511;
    padding-bottom: 5px;
}

@media screen and (max-width: 768px) {
    .property .link {
        font-size: 20px;
        margin-top: 20px;
    }
}

.property .link:after {
    content: "";
    background: url(../images/common/arrow.png) no-repeat center/cover;
    width: 0.98958vw;
    height: 0.83333vw;
    display: inline-block;
    margin-left: 0.52083vw;
    vertical-align: middle;
}

@media screen and (max-width: 768px) {
    .property .link:after {
        width: 19px;
        height: 16px;
    }
}

.property a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
}

.flow {
    margin-top: 6.25vw;
    padding: 0 10.41667vw;
}

@media screen and (max-width: 768px) {
    .flow {
        margin-top: 30px;
        padding: 0 20px;
    }
}

.flow h2 {
    font-size: 3.33333vw;
    font-weight: 700;
    margin-bottom: 2.60417vw;
    letter-spacing: 0.15em;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .flow h2 {
        font-size: 24px;
        margin-bottom: 20px;
    }
}

.flow h2::first-letter {
    color: #dd5511;
}

.flow .flow-list li {
    background: #fff;
    border: 0.05208vw solid #707070;
    margin-bottom: 3.125vw;
}

@media screen and (max-width: 768px) {
    .flow .flow-list li {
        margin-bottom: 10px;
    }
}

.flow .flow-list li .li-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.52083vw 0.52083vw 0.52083vw 1.5625vw;
    cursor: pointer;
}

@media screen and (max-width: 768px) {
    .flow .flow-list li .li-wrap {
        padding: 10px 10px 10px 20px;
        flex-direction: column;
    }
}

.flow .flow-list li .num {
    font-size: 2.60417vw;
}

@media screen and (max-width: 768px) {
    .flow .flow-list li .num {
        font-size: 20px;
    }
}

.flow .flow-list li .ttl {
    font-size: 1.45833vw;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-align: center;
    line-height: 1.5;
}

@media screen and (max-width: 768px) {
    .flow .flow-list li .ttl {
        font-size: 16px;
    }
}

.flow .flow-list li .wrap {
    display: flex;
    align-items: center;
}

.flow .flow-list li .wrap img {
    width: 5.20833vw;
}

@media screen and (max-width: 768px) {
    .flow .flow-list li .wrap img {
        width: 30px;
        margin: 10px 0;
    }
}

.flow .flow-list li .wrap .arrow {
    width: 3.20833vw;
}

@media screen and (max-width: 768px) {
    .flow .flow-list li .wrap .arrow {
        width: 30px;
        margin: 10px 0;
    }
}

.flow .flow-list li .wrap img:first-child {
    margin-right: 1.5625vw;
}

@media screen and (max-width: 768px) {
    .flow .flow-list li .wrap img:first-child {
        margin-right: 10px;
    }
}

.flow .flow-list li .ac-wrap {
    display: none;
}

.flow .flow-list li .ac {
    border-top: 0.05208vw solid #707070;
    padding: 1.5625vw 1.5625vw 1.5625vw 2.60417vw;
}

@media screen and (max-width: 768px) {
    .flow .flow-list li .ac {
        padding: 20px;
    }
}

.flow .flow-list li .ac .ttl {
    font-size: 1.25vw;
    letter-spacing: 0.2em;
    margin-bottom: 0.78125vw;
    text-align: left;
}

@media screen and (max-width: 768px) {
    .flow .flow-list li .ac .ttl {
        font-size: 14px;
    }
}

.flow .flow-list li .ac .read {
    font-size: 0.9375vw;
    letter-spacing: 0.2em;
    line-height: 1.5;
}

@media screen and (max-width: 768px) {
    .flow .flow-list li .ac .read {
        font-size: 14px;
    }
}

.flow .flow-list li .ac .close {
    border: 0.05208vw solid #707070;
    width: 23.38542vw;
    margin: 0 auto;
    font-size: 1.04167vw;
    line-height: 2.34375vw;
    text-align: center;
    margin-top: 2.34375vw;
    letter-spacing: 0.2em;
    cursor: pointer;
}

@media screen and (max-width: 768px) {
    .flow .flow-list li .ac .close {
        width: 100%;
        line-height: 40px;
        font-size: 16px;
    }
}

.flow .flow-list li.active .ac {
    display: block;
}

.warranry {
    padding: 0 7.29167vw;
    margin-bottom: 6.25vw;
}

@media screen and (max-width: 768px) {
    .warranry {
        padding: 0 20px;
        margin-bottom: 20px;
    }
}

.warranry .warranry-list li {
    position: relative;
    background: #fff;
}

.warranry .warranry-list li .ttl-wrap {
    padding: 2.60417vw 0;
    cursor: pointer;
}

@media screen and (max-width: 768px) {
    .warranry .warranry-list li .ttl-wrap {
        padding: 30px 0;
    }
}

.warranry .warranry-list li .ttl-wrap .ttl {
    font-size: 3.33333vw;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .warranry .warranry-list li .ttl-wrap .ttl {
        font-size: 24px;
    }
}

.warranry .warranry-list li .ttl-wrap .ttl::first-letter {
    color: #dd5511;
}

.warranry .warranry-list li .ttl-wrap .sub-ttl {
    font-size: 1.25vw;
    letter-spacing: 0.04em;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .warranry .warranry-list li .ttl-wrap .sub-ttl {
        font-size: 14px;
    }
}

.warranry .warranry-list li .ttl-wrap:after {
    content: "";
    background: url(../images/index/arrow01.png) no-repeat center/cover;
    display: inline-block;
    width: 5.9375vw;
    height: 5.9375vw;
    position: absolute;
    right: 4.6875vw;
    top: 2.60417vw;
}

@media screen and (max-width: 768px) {
    .warranry .warranry-list li .ttl-wrap:after {
        width: 30px;
        height: 30px;
        right: 20px;
        top: 35px;
    }
}

.warranry .warranry-list li .ac-wrap {
    padding: 2.08333vw;
    background: #f5f3f2;
    display: none;
}

@media screen and (max-width: 768px) {
    .warranry .warranry-list li .ac-wrap {
        padding: 20px;
    }
}

.warranry .warranry-list li .ac-wrap .ac {
    padding: 2.08333vw;
    background: #fff;
    border: 0.05208vw solid #707070;
    position: relative;
}

@media screen and (max-width: 768px) {
    .warranry .warranry-list li .ac-wrap .ac {
        padding: 20px;
    }
}

.warranry .warranry-list li .ac-wrap .ac .ac-ttl {
    font-weight: bold;
    font-size: 1.14583vw;
    margin-bottom: 0.52083vw;
}

@media screen and (max-width: 768px) {
    .warranry .warranry-list li .ac-wrap .ac .ac-ttl {
        font-size: 14px;
    }
}

.warranry .warranry-list li .ac-wrap .ac .ac-read {
    font-size: 0.9375vw;
    line-height: 2;
}

@media screen and (max-width: 768px) {
    .warranry .warranry-list li .ac-wrap .ac .ac-read {
        font-size: 14px;
        width: 100%;
    }
}

.warranry .warranry-list li .ac-wrap .ac .material-icons-outlined {
    font-size: 3.64583vw;
    position: absolute;
    right: 1.04167vw;
    top: calc(50% - 2vw);
}

@media screen and (max-width: 768px) {
    .warranry .warranry-list li .ac-wrap .ac .material-icons-outlined {
        bottom: 15px !important;
        top: auto !important;
        right: 20px;
    }
}

@media screen and (max-width: 768px) {
    .warranry .warranry-list li .ac-wrap .ac .material-icons-outlined img {
        width: 30px;
    }
}

.warranry .warranry-list li .close {
    border: 0.05208vw solid #707070;
    width: 23.38542vw;
    margin: 0 auto;
    font-size: 1.04167vw;
    line-height: 2.34375vw;
    text-align: center;
    margin-top: 2.34375vw;
    letter-spacing: 0.2em;
    cursor: pointer;
    background: #fff;
}

@media screen and (max-width: 768px) {
    .warranry .warranry-list li .close {
        width: 100%;
        font-size: 14px;
        line-height: 45px;
        margin-top: 30px;
        border: 1px solid #707070;
    }
}

.faq {
    background: #fff;
    padding: 0 7.29167vw;
}

@media screen and (max-width: 768px) {
    .faq {
        padding: 0 50px;
    }
}

.faq .faq-click {
    margin-bottom: 2.60417vw;
    padding: 5.20833vw;
    cursor: pointer;
}

@media screen and (max-width: 768px) {
    .faq .faq-click {
        margin-bottom: 30px;
        padding: 20px;
    }
}

.faq .faq-click h2 {
    font-size: 3.33333vw;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.15em;
}

@media screen and (max-width: 768px) {
    .faq .faq-click h2 {
        font-size: 20px;
    }
}

.faq .faq-click h2::first-letter {
    color: #dd5511;
}

.faq .faq-click h2 span {
    font-size: 1.45833vw;
    display: block;
    color: #595757;
    margin-top: 1.04167vw;
    letter-spacing: 0.04em;
}

@media screen and (max-width: 768px) {
    .faq .faq-click h2 span {
        font-size: 14px;
    }
}

.faq .faq-ac {
    display: none;
}

.faq .faq-ac > p {
    font-size: 1.04167vw;
    text-align: center;
    width: 47.65625vw;
    margin: 0 auto;
    color: #595757;
    line-height: 1.7;
}

@media screen and (max-width: 768px) {
    .faq .faq-ac > p {
        width: 100%;
    }
}

.faq .faq-ac .tab {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-top: 5.20833vw;
    margin-bottom: 100;
}

.faq .faq-ac .tab li {
    width: calc(100% / 3);
    text-align: center;
    line-height: 3.64583vw;
    font-size: 1.25vw;
    background: #e7e6e5;
    font-weight: 700;
    letter-spacing: 0.04em;
    cursor: pointer;
    margin-right: 2.60417vw;
    transition: 0.2s;
}

.faq .faq-ac .tab li:last-child {
    margin-right: 0;
}

.faq .faq-ac .tab li.active {
    background: #dd5511;
    color: #fff;
}

.faq .faq-ac .faq-wrap {
    display: none;
    padding-bottom: 5.20833vw;
}

.faq .faq-ac .faq-wrap.show {
    display: block;
}

.faq .faq-ac .faq-wrap > .ttl {
    font-size: 1.5625vw;
    border-bottom: 0.05208vw solid #595757;
    margin-bottom: 2.08333vw;
    font-weight: 700;
    padding-bottom: 0.78125vw;
    letter-spacing: 0.04em;
}

.faq .faq-ac .faq-wrap li {
    margin-bottom: 2.60417vw;
}

.faq .faq-ac .faq-wrap li:last-child {
    margin-bottom: 0;
}

.faq .faq-ac .faq-wrap li .ttl {
    font-size: 1.14583vw;
    margin-bottom: 1.5625vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #dd5511;
}

.faq .faq-ac .faq-wrap li .ttl:before {
    content: "Q";
}

.faq .faq-ac .faq-wrap li .read {
    font-size: 0.9375vw;
    margin-top: 1.04167vw;
    letter-spacing: 0.04em;
    line-height: 1.7;
}

.faq .faq-ac .faq-wrap li .read:before {
    content: "A";
    font-weight: 700;
}


.faq .wrap p.read {
    font-size: 1vw;
    line-height: 1.5;
    text-align: left;
}
@media screen and (max-width: 768px) {
    .faq .wrap p.read {
        font-size: 14px;
    }
}

.faq p.link {
    line-height: 1.5;
    margin: 20px auto;
    font-size: 1vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding-bottom: 5px;
    
}
@media screen and (max-width: 768px) {
    .faq p.link {
        font-size: 14px;
        text-align: right;
        border-bottom: 1px solid #dd5511;
    }
}
.faq p.link a {
    font-weight: 700;
    letter-spacing: 0.04em;
    border-bottom: 1px solid #dd5511;
    color: #595857;
    padding: 0 15px 10px 15px;
}
@media screen and (max-width: 768px) {
    .faq p.link a{
        text-align: right;
        border: none;
        padding: 0 0 5px 0;
    }
}
.faq p.link a:after {
    content: "";
    background: url(../images/common/arrow.png) no-repeat center/cover;
    width: 0.98958vw;
    height: 0.83333vw;
    display: inline-block;
    margin-left: 0.52083vw;
    vertical-align: middle;
}
@media screen and (max-width: 768px) {
    .faq p.link a:after {
        width: 19px;
        height: 16px;
        margin-left: 10px;
    }
}


.directions {
    text-align: center;
/*    padding: 2.60417vw 7.29167vw;*/
}

.directions img {
    width: 100%;
}

.directions iframe {
    height: 52.08333vw;
}

@media screen and (max-width: 768px) {
    .directions iframe {
        padding: 50px 0;
        height: 500px;
    }
}

.estimate-form {
    background: #fff;
    margin-bottom: 36.45833vw;
}

.estimate-form .estima-ttl-wrap {
    padding: 6.25vw 0;
}

.estimate-form .estima-ttl-wrap .ttl {
    font-size: 4.47917vw;
    font-weight: 700;
    text-align: center;
}

.estimate-form .estima-ttl-wrap .ttl::first-letter {
    color: #dd5511;
}

.estimate-form .estima-ttl-wrap .ttl span {
    font-size: 1.45833vw;
    display: block;
    color: #595757;
    margin-top: 1.04167vw;
}

footer {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: centŹr;
    margin-top: 5.20833vw;
}

@media screen and (max-width: 768px) {
    footer {
        margin-top: 10px;
    }
}

footer .img {
    width: 3vw;
    margin-bottom: 4.16667vw;
}

@media screen and (max-width: 768px) {
    footer .img {
        width: 30px;
        margin-bottom: 20px;
    }
}

footer .img img {
    width: 100%;
}

footer .logo {
    margin-bottom: 4.16667vw;
    width: 15vw;
}

@media screen and (max-width: 768px) {
    footer .logo {
        margin-bottom: 20px;
        width: 150px;
    }
}

footer .logo img {
    width: 100%;
}

footer .company-ttl {
    font-size: 1.82292vw;
    font-weight: 700;
    letter-spacing: 0.04em;
}

@media screen and (max-width: 768px) {
    footer .company-ttl {
        font-size: 20px;
    }
}

.modal-wrap {
    display: none;
    position: fixed;
    background: rgba(26, 26, 26, 0.8);
    top: 0;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.modal-wrap.is-open {
    display: flex;
}

.modal-wrap .modal {
    width: 100%;
    height: 100%;
    background: #fff;
    width: 62.5vw;
    height: calc(100% - 10vh);
    overflow: scroll;
    position: relative;
}

@media screen and (max-width: 768px) {
    .modal-wrap .modal {
        width: 95%;
    }
}

.modal-wrap .modal .container {
    width: 52.08333vw;
    margin: 0 auto;
    padding: 2.60417vw 0;
}

@media screen and (max-width: 768px) {
    .modal-wrap .modal .container {
        width: 100%;
        padding: 20px;
    }
}

.modal-wrap .modal .container h2 {
    font-size: 2.29167vw;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.15em;
    margin-bottom: 2.60417vw;
}

@media screen and (max-width: 768px) {
    .modal-wrap .modal .container h2 {
        font-size: 20px;
        margin-bottom: 20px;
    }
}

.modal-wrap .modal .container h2::first-letter {
    color: #dd5511;
}

.modal-wrap .modal .container h2 span {
    font-size: 0.9375vw;
    display: block;
    color: #595757;
    margin-top: 1.04167vw;
    letter-spacing: 0.04em;
}

@media screen and (max-width: 768px) {
    .modal-wrap .modal .container h2 span {
        font-size: 14px;
    }
}

.modal-wrap .modal .container .company {
    width: 100%;
    margin-bottom: 3.64583vw;
}

.modal-wrap .modal .container .company tr th {
    background: #dd5511;
    color: #fff;
    font-size: 0.78125vw;
    text-align: center;
    padding: 0.78125vw 0;
    border: 0.05208vw solid #fff;
    letter-spacing: 0.04em;
}

.modal-wrap .modal .container .company tr td {
    font-size: 0.78125vw;
    padding: 0.78125vw 0.52083vw;
    border: 0.05208vw solid #dd5511;
    letter-spacing: 0.04em;
}

.modal-wrap .modal .container iframe {
    width: 100%;
}

.modal-wrap .modal .container .forcus-modal .forcus-list {
    display: flex;
    flex-wrap: wrap;
}

.modal-wrap .modal .container .forcus-modal .forcus-list li {
    width: 16.30208vw;
    margin-right: 1.5625vw;
}

.modal-wrap .modal .container .forcus-modal .forcus-list li:nth-child(3n) {
    margin-right: 0;
}

.modal-wrap .modal .container .forcus-modal .forcus-list li .thumb {
    width: 100%;
    margin-bottom: 0.52083vw;
}

.modal-wrap .modal .container .forcus-modal .forcus-list li .thumb img {
    width: 100%;
    object-fit: cover;
}

.modal-wrap .modal .container .forcus-modal .forcus-list li .content .ttl {
    font-size: 1.04167vw;
    letter-spacing: 0.04em;
    margin-bottom: 0.26042vw;
    font-weight: 700;
}

@media screen and (max-width: 768px) {
    .modal-wrap .modal .container .forcus-modal .forcus-list li .content .ttl {
        font-size: 16px;
        margin-bottom: 5px;
    }
}

.modal-wrap .modal .container .forcus-modal .forcus-list li .content .read {
    font-size: 0.83333vw;
    letter-spacing: 0.04em;
    margin-bottom: 1.5625vw;
}

@media screen and (max-width: 768px) {
    .modal-wrap .modal .container .forcus-modal .forcus-list li .content .read {
        font-size: 14px;
        margin-bottom: 20px;
    }
}

.modal-wrap .modal .container .forcus-modal .forcus-list li .content .btn {
    background: #f5f3f2;
    font-size: 0.83333vw;
    letter-spacing: 0.04em;
    margin: 0 auto;
    width: 9.375vw;
    line-height: 2.60417vw;
    text-align: center;
    cursor: pointer;
}

@media screen and (max-width: 768px) {
    .modal-wrap .modal .container .forcus-modal .forcus-list li .content .btn {
        width: 100%;
        font-size: 14px;
        line-height: 45px;
    }
}

.modal-wrap .modal .container .forcus-modal .thumb-big {
    width: 100%;
    height: 26.04167vw;
    margin-bottom: 1.04167vw;
}

.modal-wrap .modal .container .forcus-modal .thumb-big img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.modal-wrap .modal .container .forcus-modal .content .ttl {
    font-size: 1.04167vw;
    letter-spacing: 0.04em;
    margin-bottom: 0.52083vw;
}

@media screen and (max-width: 768px) {
    .modal-wrap .modal .container .forcus-modal .content .ttl {
        font-size: 16px;
        margin-bottom: 5px;
    }
}

.modal-wrap .modal .container .forcus-modal .content .read {
    font-size: 0.83333vw;
    letter-spacing: 0.04em;
    margin-bottom: 0.52083vw;
    line-height: 2;
}

@media screen and (max-width: 768px) {
    .modal-wrap .modal .container .forcus-modal .content .read {
        font-size: 14px;
    }
}

.modal-wrap .modal .container .forcus-modal .content .cost {
    font-size: 0.625vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 2;
}

@media screen and (max-width: 768px) {
    .modal-wrap .modal .container .forcus-modal .content .cost {
        font-size: 12px;
    }
}

.modal-wrap button {
    font-size: 2.1875vw;
    position: sticky;
    left: 59.375vw;
    top: 1.04167vw;
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .modal-wrap button {
        font-size: 20px;
        left: 89%;
        top: 20px;
    }
}

h3 {
    background: #dd5511;
    font-size: 1.875vw;
    font-weight: 700;
    padding: 1.04167vw;
    width: 26.04167vw;
    margin-bottom: 2.60417vw;
    position: relative;
    line-height: 1.5;
}

@media screen and (max-width: 768px) {
    h3 {
        width: 320px;
        font-size: 24px;
        padding: 10px 20px;
        margin-bottom: 30px;
        letter-spacing: 0.04em;
    }
}

h3:before {
    content: "";
    background: #dd5511;
    width: 40%;
    height: 100%;
    position: absolute;
    right: 100%;
    top: 0;
}

h3::first-letter {
    color: #fff;
}

h3 span {
    color: #fff;
    font-weight: 700;
    font-size: 0.9375vw;
    display: block;
}

@media screen and (max-width: 768px) {
    .-grade- h3 span {
        font-size: 14px;
    }
}

.-grade- h4 {
    font-size: 1.45833vw;
    color: #595757;
    margin-bottom: 1.04167vw;
}

@media screen and (max-width: 768px) {
    .-grade- h4 {
        font-size: 16px;
        margin-bottom: 20px;
    }
}

.-grade- h4 span {
    color: #dd5511;
    margin-right: 0.52083vw;
}

.-grade- .key {
    position: relative;
    margin-bottom: 7.8125vw;
    width: 100%;
    /* height: 369px;*/
}

@media screen and (max-width: 768px) {
    .-grade- .key {
        height: auto;
        overflow: auto;
    }
}

.-grade- .key:before {
    display: none;
}

.-grade- .key img {
    width: 100%;
    object-fit: cover;
    height: 100%;
    filter: grayscale(1);
}

@media screen and (max-width: 768px) {
    .-grade- .key img {
        height: 250px;
    }
}

.-grade- .key .info {
    background: #dd5511;
    width: 20.83333vw;
    padding: 1.5625vw;
    position: absolute;
    right: 2.60417vw;
    bottom: -5.20833vw;
}

@media screen and (max-width: 768px) {
    .-grade- .key .info {
        width: 100%;
        padding: 20px;
        right: 0;
        position: static;
    }
}

.-grade- .key .info h2 {
    text-align: left;
    margin-bottom: 1.04167vw;
}

@media screen and (max-width: 768px) {
    .-grade- .key .info h2 {
        margin-bottom: 20px;
    }
}

.-grade- .key .info h2::first-letter {
    color: #fff;
}

.-grade- .key .info h2 span {
    color: #fff;
    margin-top: 0.26042vw;
}

.-grade- .key .info .read {
    font-size: 0.83333vw;
    line-height: 1.7;
    margin-bottom: 1.5625vw;
    color: #fff;
}

@media screen and (max-width: 768px) {
    .-grade- .key .info .read {
        font-size: 14px;
        margin-bottom: 10px;
    }
}

.-grade- .key .info .btn {
    display: flex;
}

@media screen and (max-width: 768px) {
    .-grade- .key .info .btn {
        flex-direction: column;
    }
}

.-grade- .key .info .btn li {
    margin-right: 0.52083vw;
}

@media screen and (max-width: 768px) {
    .-grade- .key .info .btn li {
        margin-right: 0;
        margin-bottom: 10px;
    }
}

.-grade- .key .info .btn li:last-child {
    margin-right: 0;
    margin-bottom: 0;
}

.-grade- .key .info .btn li a {
    border: solid #fff 0.05208vw;
    line-height: 2.08333vw;
    display: block;
    font-size: 0.83333vw;
    letter-spacing: 0.04em;
    font-weight: 700;
    color: #fff;
    padding: 0 1.5625vw;
}

@media screen and (max-width: 768px) {
    .-grade- .key .info .btn li a {
        border: solid #fff 1px;
        line-height: 45px;
        font-size: 14px;
        padding: 0 20px;
    }
}

.-grade- .wrap .item {
    margin-bottom: 48px;
}

@media screen and (max-width: 768px) {
    .-grade- .wrap .item {
        margin-bottom: 50px;
    }
}

.-grade- .wrap .item .thumb {
    position: relative;
    text-align: center;
}

.-grade- .wrap .item .thumb img {
    max-height: 300px;
    max-width: 100%;
    /*margin: 32px auto;*/
}

.-grade- .wrap .item .thumb .info {
    background: #dd5511;
    padding: 1.60417vw;
    width: 100%;
    color: #fff;
    line-height: 1.7;
    letter-spacing: 0.04em;
}

.-grade- .wrap .item .thumb .info p {
    font-size: 0.83333vw;
    text-align: left;
}
.-grade- .wrap .item .thumb .info span {
    font-size: 0.766vw;
    text-align: left;
}

@media screen and (max-width: 768px) {
    .-grade- .wrap .item .thumb .info p {
        font-size: 14px;
    }
}

@media screen and (max-width: 768px) {
    .-grade- .wrap .item .thumb .info {
        position: static;
        width: 100%;
        padding: 20px;
        font-size: 14px;
        line-height: 2;
    }
    .-grade- .wrap .item .thumb .info span {
        font-size: 14px;
        line-height: 1.5;
        display: block;
    }
}

.equipment {
    margin: 0 auto;
    width: 70%;
    margin-bottom: 5vw;
}

@media screen and (max-width: 768px) {
    .equipment {
        width: 400px;
    }
}

.equipment tr th {
    background: #dd5511;
    padding: 0.90083vw 0;
    text-align: center;
    color: #fff;
    font-size: 0.83333vw;
}

.equipment tr th:nth-child(1) {
    width: 10.41667vw;
}

@media screen and (max-width: 768px) {
    .equipment tr th:nth-child(1) {
        width: auto;
    }
}

@media screen and (max-width: 768px) {
    .equipment tr th {
        font-size: 12px;
        width: 50px;
    }
}

.equipment tr td {
    border: 0.05208vw solid #ddd;
    font-size: 0.83333vw;
    letter-spacing: 0.04em;
    padding: 1.04167vw 0;
    vertical-align: middle;
    text-align: center;
    width: 8.33333vw;
}

@media screen and (max-width: 768px) {
    .equipment tr td {
        font-size: 12px;
        padding: 10px;
        width: auto;
    }
}

@media screen and (max-width: 768px) {
    .-grade- .scroll {
        overflow: scroll;
    }
}

.scroll_btn {
    position: fixed;
    background-color: #ffffff;
    border-radius: 4.6875vw;
    width: 4.16667vw;
    height: 4.16667vw;
    z-index: 999;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    bottom: 2.60417vw;
    right: 4.6875vw;
    cursor: pointer;
    box-shadow: 0 0 10px 0 rgb(0 0 0 / 15%);
}

@media screen and (max-width: 768px) {
    .scroll_btn {
        width: 50px;
        height: 50px;
    }
}

.scroll_btn span {
    font-size: 2.60417vw;
}

@media screen and (max-width: 768px) {
    .scroll_btn span {
        font-size: 16px;
    }
}

#modal-10 .container > p {
    font-size: 1.04167vw;
    text-align: center;
    width: 47.65625vw;
    margin: 0 auto;
    color: #595757;
    line-height: 1.7;
}

@media screen and (max-width: 768px) {
    #modal-10 .container > p {
        font-size: 12px;
        width: 100%;
    }
}

#modal-10 .container .tab {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-top: 5.20833vw;
    margin-bottom: 2.08333vw;
    flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
    #modal-10 .container .tab {
        margin-top: 20px;
        margin-bottom: 20px;
    }
}

#modal-10 .container .tab li {
    width: calc((100% / 3) - 1vw);
    text-align: center;
    line-height: 3.64583vw;
    font-size: 1.25vw;
    background: #e7e6e5;
    font-weight: 700;
    letter-spacing: 0.04em;
    cursor: pointer;
    margin-right: 1.04167vw;
    margin-bottom: 1.04167vw;
    transition: 0.2s;
}

@media screen and (max-width: 768px) {
    #modal-10 .container .tab li {
        width: 49%;
        font-size: 14px;
        line-height: 35px;
    }
}

@media screen and (max-width: 768px) {
    #modal-10 .container .tab li:nth-child(2n) {
        margin-right: 0;
    }
}

#modal-10 .container .tab li:nth-child(3n) {
    margin-right: 0;
}

#modal-10 .container .tab li.active {
    background: #dd5511;
    color: #fff;
}

#modal-10 .container .faq-wrap {
    display: none;
    padding-bottom: 5.20833vw;
}

#modal-10 .container .faq-wrap.show {
    display: block;
}

#modal-10 .container .faq-wrap > .ttl {
    font-size: 1.5625vw;
    border-bottom: 0.05208vw solid #595757;
    margin-bottom: 2.08333vw;
    font-weight: 700;
    padding-bottom: 0.78125vw;
    letter-spacing: 0.04em;
}

@media screen and (max-width: 768px) {
    #modal-10 .container .faq-wrap > .ttl {
        font-size: 14px;
        margin-bottom: 20px;
        border-bottom: 1px solid #595757;
        padding-bottom: 10px;
    }
}

#modal-10 .container .faq-wrap li {
    margin-bottom: 2.60417vw;
}

@media screen and (max-width: 768px) {
    #modal-10 .container .faq-wrap li {
        margin-bottom: 30px;
    }
}

#modal-10 .container .faq-wrap li:last-child {
    margin-bottom: 0;
}

#modal-10 .container .faq-wrap li .ttl {
    font-size: 1.14583vw;
    margin-bottom: 1.5625vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #dd5511;
}

@media screen and (max-width: 768px) {
    #modal-10 .container .faq-wrap li .ttl {
        font-size: 14px;
        margin-bottom: 10px;
        line-height: 1.5;
    }
}

#modal-10 .container .faq-wrap li .ttl:before {
    content: "Q";
}

#modal-10 .container .faq-wrap li .read {
    font-size: 1.14583vw;
    margin-top: 1.04167vw;
    letter-spacing: 0.04em;
    line-height: 1.7;
    padding-left: 1.1em;
    text-indent: -1.1em;
}

@media screen and (max-width: 768px) {
    #modal-10 .container .faq-wrap li .read {
        font-size: 14px;
        margin-top: 10px;
        line-height: 2;
    }
}

#modal-10 .container .faq-wrap li .read:before {
    content: "A";
    font-size: 1.04167vw;
    font-weight: 700;
}

#modal-3 button {
    position: sticky;
    left: 58.85417vw;
    right: auto;
}

@media screen and (max-width: 768px) {
    #modal-3 button {
        font-size: 20px;
        left: 89%;
        top: 20px;
    }
}

#modal-3 .works-list-wrap .works-list {
    display: flex;
    flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
    #modal-3 .works-list-wrap .works-list {
        flex-direction: column;
        justify-content: space-between;
    }
}

#modal-3 .works-list-wrap .works-list li {
    width: calc(100% / 3);
    padding: 1.04167vw;
}

@media screen and (max-width: 768px) {
    #modal-3 .works-list-wrap .works-list li {
        width: 100%;
        margin-bottom: 20px;
    }
}

#modal-3 .works-list-wrap .works-list li .thumb {
    margin-bottom: 1.04167vw;
    height: 150px;
    background-color: #f8f8f8;
}

@media screen and (max-width: 768px) {
    #modal-3 .works-list-wrap .works-list li .thumb {
        margin-bottom: 20px;
    }
}

#modal-3 .works-list-wrap .works-list li .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#modal-3 .works-list-wrap .works-list li .content .ttl {
    font-size: 1.04167vw;
    letter-spacing: 0.04em;
    margin-bottom: 0.52083vw;
}

@media screen and (max-width: 768px) {
    #modal-3 .works-list-wrap .works-list li .content .ttl {
        font-size: 16px;
        margin-bottom: 10px;
    }
}

#modal-3 .works-list-wrap .works-list li .content .ttl span {
    font-size: 0.83333vw;
    display: block;
    margin-top: 0.52083vw;
}

@media screen and (max-width: 768px) {
    #modal-3 .works-list-wrap .works-list li .content .ttl span {
        font-size: 14px;
    }
}

#modal-3 .works-list-wrap .works-list li .content .area {
    font-size: 0.625vw;
    margin-bottom: 0.52083vw;
    line-height: 2;
}

@media screen and (max-width: 768px) {
    #modal-3 .works-list-wrap .works-list li .content .area {
        font-size: 12px;
        margin-bottom: 5px;
    }
}

#modal-3 .works-list-wrap .works-list li .content .area span {
    font-size: 0.625vw;
    margin-left: 0;
    display: block;
}

@media screen and (max-width: 768px) {
    #modal-3 .works-list-wrap .works-list li .content .area span {
        font-size: 12px;
    }
}

#modal-3 .works-list-wrap .works-list li .content .read {
    font-size: 0.67708vw;
    letter-spacing: 0.04em;
    line-height: 2;
    margin-bottom: 1.04167vw;
}

@media screen and (max-width: 768px) {
    #modal-3 .works-list-wrap .works-list li .content .read {
        font-size: 13px;
        margin-bottom: 10px;
    }
}

#modal-3 .works-list-wrap .works-list li .content .btn {
    text-align: center;
    cursor: pointer;
}

#modal-3 .works-list-wrap .works-list li .content .btn a {
    font-size: 0.83333vw;
    padding: 5px 1.04167vw;
    background: #f8f8f8;
}

@media screen and (max-width: 768px) {
    #modal-3 .works-list-wrap .works-list li .content .btn a {
        font-size: 14px;
        padding: 15px;
        display: block;
    }
}

#modal-11 button {
    position: sticky;
    left: 58.85417vw;
    right: auto;
}

@media screen and (max-width: 768px) {
    #modal-11 button {
        font-size: 20px;
        left: 89%;
        top: 20px;
    }
}

#modal-11 .works-modal .thumb-big {
    width: 100%;
    height: 26.04167vw;
    margin-bottom: 1.04167vw;
    position: relative;
}

#modal-11 .works-modal .thumb-big .copy {
    position: absolute;
    left: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.8);
    padding: 1.04167vw 0.52083vw;
}

#modal-11 .works-modal .thumb-big img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#modal-11 .works-modal .content {
    margin-top: -7.29167vw;
}

#modal-11 .works-modal .content .ttl {
    font-size: 1.45833vw;
    letter-spacing: 0.04em;
    margin-bottom: 1.04167vw;
}

#modal-11 .works-modal .content .ttl span {
    font-size: 0.83333vw;
    margin-left: 1.5625vw;
}

#modal-11 .works-modal .content .area {
    font-size: 0.9375vw;
    margin-bottom: 1.04167vw;
}

#modal-11 .works-modal .content .area span {
    font-size: 0.83333vw;
    margin-left: 1.5625vw;
}

#modal-11 .works-modal .content .read {
    font-size: 0.67708vw;
    letter-spacing: 0.04em;
    margin-bottom: 0.52083vw;
    line-height: 2;
}

#modal-11 .works-modal .content .btn {
    text-align: right;
}

#modal-11 .works-modal .content .btn a {
    font-size: 0.83333vw;
    padding: 5px 1.04167vw;
    background: #f8f8f8;
}

.modal button {
    position: sticky;
    left: 58.85417vw;
    right: auto;
    z-index: 999999;
}

@media screen and (max-width: 768px) {
    .modal button {
        font-size: 20px;
        left: 89%;
        top: 20px;
    }
}

.slider {
    position: relative;
    background: #f8f8f8;
}

.slider .main_img {
    width: 52.08333vw;
    height: 28.64583vw;
    object-fit: contain;
    font-family: "object-fit: contain; object-position: bottom;";
}

@media screen and (max-width: 768px) {
    .slider .main_img {
        width: 100%;
        height: 250px;
    }
}

.slider span {
    position: absolute;
    top: 50%;
    font-size: 4.6875vw;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    color: #e7e6e5;
}

.slider .back {
    left: -2.08333vw;
}

@media screen and (max-width: 768px) {
    .slider .back {
        left: 0px;
    }
}

.slider .next {
    right: -3.64583vw;
}

@media screen and (max-width: 768px) {
    .slider .next {
        right: -25px;
    }
}

.slider .copy {
    position: absolute;
    left: 0;
    bottom: 1.5625vw;
    padding: 0.52083vw;
    background: rgba(255, 255, 255, 0.8);
    font-size: 1.04167vw;
    letter-spacing: 0.04em;
}

@media screen and (max-width: 768px) {
    .slider .copy {
        font-size: 14px;
        bottom: 30px;
        padding: 5px 10px;
    }
}

@media screen and (max-width: 768px) {
    .forcus-modal {
        padding: 0 20px;
    }
}

.forcus-modal .forcus-list {
    display: flex;
    flex-wrap: wrap;
}

.forcus-modal .forcus-list li {
    width: 16.30208vw;
    margin-right: 1.5625vw;
}

@media screen and (max-width: 768px) {
    .forcus-modal .forcus-list li {
        width: 100%;
    }
}

.forcus-modal .forcus-list li:nth-child(3n) {
    margin-right: 0;
}

.forcus-modal .forcus-list li .thumb {
    width: 100%;
    margin-bottom: 0.52083vw;
}

.forcus-modal .forcus-list li .thumb img {
    width: 100%;
    object-fit: cover;
}

.forcus-modal .forcus-list li .content .ttl {
    font-size: 1.04167vw;
    letter-spacing: 0.04em;
    margin-bottom: 0.26042vw;
    font-weight: 700;
}

@media screen and (max-width: 768px) {
    .forcus-modal .forcus-list li .content .ttl {
        font-size: 14px;
        margin-bottom: 5px;
    }
}

.forcus-modal .forcus-list li .content .moyori-wrap {
    margin-bottom: 1.5625vw;
    margin-top: 1.04167vw;
}

@media screen and (max-width: 768px) {
    .forcus-modal .forcus-list li .content .moyori-wrap {
        margin-bottom: 20px;
        margin-top: 20px;
    }
}

.forcus-modal .forcus-list li .content .moyori-wrap .read {
    font-size: 0.83333vw;
    letter-spacing: 0.04em;
    line-height: 1.5;
}

@media screen and (max-width: 768px) {
    .forcus-modal .forcus-list li .content .moyori-wrap .read {
        font-size: 14px;
    }
}

.forcus-modal .forcus-list li .content .moyori-wrap .read:last-of-type {
    margin-bottom: 0;
}

.forcus-modal .forcus-list li .content .btn {
    background: #f5f3f2;
    font-size: 0.83333vw;
    letter-spacing: 0.04em;
    margin: 0 auto;
    width: 9.375vw;
    line-height: 2.60417vw;
    text-align: center;
    cursor: pointer;
}

.forcus-modal .content {
    margin-top: 1.04167vw;
}

.forcus-modal .content .ttl {
    font-size: 1.45833vw;
    letter-spacing: 0.04em;
    margin-bottom: 0.52083vw;
}

.forcus-modal .content .read {
    font-size: 0.83333vw;
    letter-spacing: 0.04em;
    margin-bottom: 0.52083vw;
    line-height: 2;
}

.forcus-modal .content .cost {
    font-size: 0.625vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 2;
}

.forcus-modal .thumb-wrap {
    display: flex;
}

.forcus-modal .thumb-wrap .back,
.forcus-modal .thumb-wrap .next {
    cursor: pointer;
}

.forcus-modal ul {
    margin-top: 0.52083vw;
    display: flex;
    overflow-x: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
    width: 100%;
}

.forcus-modal ul::-webkit-scrollbar {
    display: none;
}

@media screen and (max-width: 768px) {
    .forcus-modal ul {
        margin-bottom: 20px;
    }
}

.forcus-modal ul li {
    flex: 0 0 auto;
    width: 5.20833vw;
    height: 2.60417vw;
    overflow: hidden;
    margin-right: 0.52083vw;
}

@media screen and (max-width: 768px) {
    .forcus-modal ul li {
        width: 100px;
        height: 50px;
        margin-right: 5px;
    }
}

.forcus-modal ul li img {
    width: 100%;
    object-fit: cover;
    object-position: bottom;
    font-family: "object-fit: cover; object-position: bottom;";
}

.forcus-modal ul li:last-child {
    margin-right: 0;
}

.forcus-modal ul li:not(.active) {
    display: none;
}

.forcus-modal ul .active {
    display: block;
}

.forcus-modal ul .slider_view {
    border: 6px solid #000000;
}

#modal-11 .modal .container {
    padding: 0;
}

/*# sourceMappingURL=index.css.map */
header svg path {
    fill: #fff !important;
}

footer .copy {
    text-align: center;
    padding: 1.60417vw 0;
    color: #fff;
    background-color: #dd5511;
    width: 100%;
    margin-top: -2px;
    font-size: 9px;
}
.scroll_btn {
    border-radius: 90% !important;
}
.scroll_btn a {
    display: block;
}

@media screen and (max-width: 768px) {
    #faq {
        padding: 0 7.29167vw;
    }
    #faq .container {
        flex-wrap: wrap !important;
    }
    #faq .wrap {
        width: 100% !important;
        padding: 0 !important;
        margin-bottom: 20px;
    }
    #faq .wrap img {
        width: 100% !important;
        height: auto !important;
    }
    #grade .equipment {
        width: 100% !important;
    }
    #flow .illust {
        width: 100px;
    }
}

.grade-table {
    width: 70%;
    margin: 0 auto 50px auto;
}
.grade-table tr td {
    border: 0.05208vw solid #595757;
    vertical-align: middle;
    text-align: center;
    padding: 0.52083vw;
}
.grade-table tr td img {
    width: 15vw;
    height: 9vw;
    object-fit: cover;
}
.grade-table tr td a:focus {
    display: none;
}
.grade-table tr td:first-child {
    font-size: 0.72917vw;
    letter-spacing: 0.04em;
    width: 8.33333vw;
}
.grade-table td > a {
    display: block !important;
}
.grade-table tr td:first-child span {
    font-size: 0.72917vw;
    display: block;
}
.grade-table tr:first-child td {
    background: #dd5511;
    font-size: 0.72917vw;
    padding: 1vw 0;
    color: #fff;
    letter-spacing: 0.04em;
    text-align: center;
    vertical-align: middle;
}

@media screen and (max-width: 768px) {
    .grade-table {
        width: 100% !important;
    }
    .grade-table tr td {
        border: 1px solid #595757;
        padding: 5px;
        width: 20%;
        white-space: nowrap;
    }
    .grade-table tr:first-child td {
        font-size: 12px;
        padding: 5px;
    }
    .grade-table tr td:first-child {
        font-size: 12px;
        width: auto;
    }
    .grade-table tr td:first-child span {
        font-size: 10px;
    }
}

.black_add > div {
    position: relative;
}
.black_add > div::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 15vw;
    background-color: #000000;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    color: #fff;
    font-size: 0.72917vw;
    font-weight: 700;
    padding: 6px 0px;
}
.texttoilet01 > div::after {
    content: "トイレ";
    font-size: 0.72917vw;
}

.textstairs01 > div::after {
    content: "階　段";
    font-size: 0.72917vw;
}

@media screen and (max-width: 768px) {
    .black_add > div::after {
        font-size: 9px;
        padding: 2px 0px;
    }
}

.pc {
    display: block;
}
.sp {
    display: none;
}
@media screen and (max-width: 768px) {
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
}

/* 220916追記 */
.top_header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
}

header .slidemenu-btn {
    position: relative;
    height: 15px;
    right: auto;
    top: auto;
    bottom: auto;
    right: 20px;
    top: -5px;
}
body > .key {
    margin-top: 6.9vw;
}
#grade {
    margin-top: -6.9vw;
    padding-top: 10vw;
    margin-bottom: 5vw;
}

#construction {
    margin-top: -1.9vw;
    padding-top: 6.9vw;
}

#flow {
    margin-top: -6.9vw;
    padding-top: 15vw;
}

#faq {
    margin-top: -6.9vw;
    padding-top: 6.9vw;
}

#gallery {
    margin: -10vw auto 5vw auto ;
    padding-top: 9.9vw;
}

#warranry {
    padding-bottom: 4vw;
}

@media screen and (max-width: 768px) {
    body > .key {
        margin-top: 54px;
    }

    #grade {
        margin-top: -34px;
        padding-top: 84px;
        margin-bottom: 80px;
    }

    #construction {
        margin-top: -84px;
        padding-top: 84px;
    }

    #flow {
        margin-top: -54px;
        padding-top: 84px;
    }

    #faq {
        margin-top: -10px;
        padding-top: 74px;
    }

    #gallery {
        padding: 0vw;
        padding-top: 0;
        margin: 0 auto 10vw;
    }

    #warranry {
        padding-bottom: 30px;
    }
}

.modal .container .key {
    overflow: visible;
}

a {
    outline: none !important;
}

.open {
    overflow: hidden;
}

.works-list .ttl {
    font-weight: 700;
}

.works-list .showWork {
    font-weight: 700;
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}

.forcus-modal .ttl {
    font-weight: 700;
}

.forcus-modal .cost {
    font-size: 0.83333vw !important;
    letter-spacing: 0.04em !important;
    margin-bottom: 0.52083vw !important;
    line-height: 2 !important;
    font-weight: 300 !important;
}

@media screen and (max-width: 768px) {
    .forcus-modal .cost {
        font-size: 14px !important;
    }
}

.modal .container .item .thumb .info {
    margin-top: 2vw;
}

@media screen and (max-width: 768px) {
    .modal .container .item .thumb .info {
        margin-top: 20px;
    }
}

.text_02 {
    text-align: left;
    font-weight: bold;
    margin-left: 2.2vw;
    font-size: 1.2vw;
}

@media screen and (max-width: 768px) {
    .text_02 {
        margin-left: 0;
        font-size: 12px;
    }
}

.forcus-modal .content {
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
}

.faq-click {
    cursor: auto !important;
}

.estimate table .wrap .text {
    white-space: pre-wrap;
    width: 100%;
}

.estimate .selectdiv {
    -webkit-appearance: none;
}
/* 220916追記 */

/* estimate */
.estimate_sp {
    display: none;
    margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
    .estimate_pc {
        display: none !important;
    }
    .estimate_sp {
        display: block;
    }
}

.estimate_sp li {
    background-color: #f2f2f2;
    margin-bottom: 20px;
    position: relative;
}

.estimate_sp h4 {
    padding: 15px 0 0px;
}

.estimate_sp h4 p {
    padding-left: 20px;
    border-bottom: 2px solid #707070;
    color: #707070;
    padding-bottom: 10px;
    font-weight: 500;
}

.estimate_sp .wrap {
    padding: 10px;
    color: #707070;
    margin-top: 10px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.estimate_sp .wrap .left {
    width: 45%;
    background-color: #f2f2f2;
}

.estimate_sp .wrap .left img {
    width: 100%;
}

.estimate_sp .wrap .right {
    width: 53%;
    background-color: #f2f2f2;
}

.estimate_sp .wrap .right .ttl {
    font-size: 16px;
    font-weight: 500;
    color: #707070;
    margin-bottom: 10px;
}

.estimate_sp .wrap .right .read {
    font-size: 12px;
    line-height: 1.5;
    color: #707070;
    margin-bottom: 15px;
    font-weight: 500;
    white-space: pre-line;
    text-align: start;
}

.estimate_sp .wrap .right .box .head {
    display: flex;
}

.estimate_sp .wrap .right .box .head p {
    width: 50%;
    text-align: center;
    border-bottom: 2px solid #707070;
    color: #707070;
    padding-bottom: 10px;
    font-size: 12px;
    font-weight: 500;
}

.estimate_sp .wrap .right .box .body {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.estimate_sp .wrap .right .box .body .selectdiv,
.estimate_sp .wrap .right .box .body p {
    width: 50%;
}

.estimate_sp .wrap .right .box .body p {
    text-align: center;
    font-weight: 500;
}

#table > section {
    display: none;
}

#table > .show {
    display: block;
}

.estimate_sp .tsubo-wrap {
    display: flex;
    width: 50%;
    justify-content: center;
}

.estimate_sp .tsubo-wrap input {
    background: #fff;
    width: 5.20833vw;
    text-align: right;
}

@media screen and (max-width: 768px) {
    .estimate_sp .tsubo-wrap input {
        width: 50px;
    }
}

.estimate_sp .tsubo-wrap input.min {
    width: 2.60417vw;
    -webkit-appearance: none !important;
    margin: 0 !important;
    -moz-appearance: textfield !important;
}

@media screen and (max-width: 768px) {
    .estimate_sp .tsubo-wrap input.min {
        width: 20px;
    }
}

.estimate_sp select {
    text-align: end;
    padding-right: 39px !important;
}

.estimate_sp h4 {
    position: relative;
}
.estimate_sp .abs {
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    position: absolute;
    right: 20px;
}
@media screen and (max-width: 768px) {
    .estimate_sp .tsubo-wrap {
        align-items: flex-end;
    }
}

/* estimate */
