@charset "utf-8";

/*----------------------------- リセット & 共通設定 -----------------------------*/
html {
    box-sizing: border-box;
    scroll-behavior: smooth;
    -ms-overflow-style: scrollbar;
    overflow-x: hidden;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

body, h1, h2, h3, h4, h5, h6, p, ul[class], ol[class], figure, blockquote, dl, dd {
    margin: 0;
}

ul, ol {
    list-style: none;
    padding: 0;
    margin: 0;
}

img, picture {
    max-width: 100%;
    height: auto;
    display: block;
}

table {
    border-collapse: collapse;
}

input, button, textarea, select {
    font: inherit;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
input[type="number"],
textarea {
    -webkit-appearance: none;
    border-radius: 0;
}

input[type="search"],
input[type="submit"],
input[type="button"] {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    box-sizing: border-box;
    cursor: pointer;
}

input[type="search"]::-webkit-search-decoration,
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
    display: none;
}

h1, h2, h3, h4, h5, h6 {
    clear: both;
    font-weight: normal;
}

li {
    list-style: none;
}

.clearfix::after {
    content: "";
    display: block;
    clear: both;
}

hr {
    height: 1px;
    border: none;
}

address, em {
    font-style: normal;
}

article > * + * {
    margin: 0;
}

a {
    text-decoration: none;
    display: block;
    cursor: pointer;
    -webkit-text-decoration: none;
}

a:not([class]) {
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
}

a[href*="tel:"] {
    display: inline;
}

@media (min-width: 599px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}

@supports (-webkit-touch-callout: none) {
    html {
        height: -webkit-fill-available;
    }
    body {
        min-height: 100vh;
        min-height: -webkit-fill-available;
    }
}

/*----------------------------- 基本スタイル -----------------------------*/
body {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.8;
    position: relative;
    background: #fff;
    color: #333333;
    overflow-x: hidden;
}

a {
    color: #333333;
    transition: .2s;
}

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

.flex {
    display: flex;
    flex-wrap: wrap;
}

.inner,
ul.inner {
    max-width: 1120px;
    width: calc(100% - 80px);
    margin: 0 auto;
    box-sizing: border-box;
}

.sp {
    display: none;
}

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

.imgRd img {
    border-radius: 0 15px 0 15px;
}

.hr {
    background-color: #CCCCCC;
    margin: 88px 0;
}

.orange {
    color: #EB8C00;
}

/*modBtn1,modBtn2*/
.modBtn1.center {
    text-align: center;
    margin-top: 48px;
}

.modBtn1 a,
.modBtn1 .a {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    column-gap: 2px;
    border: none;
    padding: 0;
    background: none;
}

.modBtn1 a .btnInner ,
.modBtn1 .a .btnInner {
    position: relative;
    font-weight: 700;
    text-align: center;
    padding: 10.5px 16px;
    height: 100%;
    color: #fff;
    background-color: #333333;
    display: inline-block;
    transition: .2s;
    border-radius: 5px;
}

.modBtn1.min a .btnInner,
.modBtn1.min .a .btnInner {
    min-width: 197px;
}

.modBtn2 a .btnInner {
    padding: 9px 14px;
    min-width: 123px;
    background-color: #EB8C00;
    border: 1px solid #EB8C00;
}

.modBtn1 a .icon,
.modBtn1 .a .icon {
    position: relative;
    font-weight: 700;
    text-align: center;
    padding: 10.5px 16px;
    height: 100%;
    width: 48px;
    background: url(../img/common/icon-right-white.svg) no-repeat center right 17px;
    background-size: 7px;
    background-color: #333333;
    display: inline-block;
    transition: .2s;
    border-radius: 5px;
}

.modBtn2 a .icon {
    padding: 9px 16px;
    background-color: #EB8C00;
    border: 1px solid #EB8C00;
}

.modBtn1 a .icon::before,
.modBtn1 .a .icon::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    margin: auto;
    width: 12px;
    height: 1px;
    border-radius: 1px;
    transition: .2s;
    background-color: #fff;
}

.modBtn1White a .btnInner {
    background-color: #fff;
    color: #333333;
}

.modBtn1White a .icon {
    background-color: #fff;
    color: #333333;
    background-image: url(../img/common/icon-right-black.svg);
}

.modBtn1White a .icon::before {
    background-color: #333333;
}

/*hover*/
@media screen and (min-width: 1024px){

    .modBtn1 a:hover .btnInner,
    .modBtn1 a:hover .icon,
    .modBtn1 .a:hover .btnInner,
    .modBtn1 .a:hover .icon {
        background-color: #EB8C00;
    }

    .modBtn2 a:hover .btnInner,
    .modBtn2 a:hover .icon {
        color: #EB8C00;
        background-color: #F4F0EC;
    }

    .modBtn1 a:hover .icon,
    .modBtn1 .a:hover .icon {
        background-position: center right 15px;
    }

    .modBtn2 a:hover .icon {
        background-image: url(../img/common/icon-right-orange.svg);
    }

    .modBtn1 a:hover .icon::before,
    .modBtn1 .a:hover .icon::before {
        width: 16px;
    }

    .modBtn2 a:hover .icon::before {
        background-color: #EB8C00;
    }

    .modBtn1White a:hover .btnInner {
        background-color: #EB8C00;
        color: #fff;
        margin: 0;
    }

    .modBtn1White a:hover .icon {
        background-color: #EB8C00;
        color: #fff;
        background-image: url(../img/common/icon-right-white.svg);
        margin: 0;
    }

    .modBtn1White a:hover .icon::before {
        background-color: #fff;
    }

}

/*modBtn3*/
.modBtn3 {
    width: 100%;
    max-width: 320px;
}

.modBtn3 a {
    position: relative;
    font-size: 18px;
    font-weight: 700;
    min-height: 72px;
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    padding: 0 36px 0 77px;
    background-color: #fff;
    border: 1px solid #CCCCCC;
    border-radius: 5px;
    background-repeat: no-repeat;
    background-size: 48px;
    background-position: center left 16px;
}

.modBtn3.mail a {
    background-image: url(../img/common/icon-mail.png);
}

.modBtn3.file a {
    background-image: url(../img/common/icon-file.png);
}

.modBtn3 a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    margin: auto;
    width: 12px;
    height: 1px;
    border-radius: 1px;
    transition: .2s;
    background-color: #333333;
}

.modBtn3 a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    margin: auto;
    width: 6px;
    height: 12px;
    transition: .2s;
    background: url(../img/common/icon-right-black.svg) no-repeat center;
    background-size: 100% auto;
}

/*hover*/
@media screen and (min-width: 600px){

    .modBtn3 a:hover {
        border: 1px solid #EB8C00;
    }

    .modBtn3 a:hover::before {
        width: 16px;
        background-color: #EB8C00;
    }

    .modBtn3 a:hover::after {
        background-image: url(../img/common/icon-right-orange.svg);
    }

}

/*modBtn4*/
.modBtn4 {
    width: 100%;
    max-width: 320px;
}

.modBtn4 a {
    position: relative;
    min-height: 72px;
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    padding: 0 36px 0 18px;
    background-color: #EB8C00;
    border: 1px solid #EB8C00;
    border-radius: 5px;
}

.modBtn4 a .ja {
    font-size: 20px;
    font-weight: 700;
    margin-right: 12px;
    color: #fff;
}

.modBtn4 a .en {
    font-size: 12px;
    font-weight: 700;
    color: #fff;
}

.modBtn4 a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    margin: auto;
    width: 12px;
    height: 1px;
    border-radius: 1px;
    transition: .2s;
    background-color: #fff;
}

.modBtn4 a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    margin: auto;
    width: 6px;
    height: 12px;
    transition: .2s;
    background: url(../img/common/icon-right-white.svg) no-repeat center;
    background-size: 100% auto;
}

/*hover*/
@media screen and (min-width: 600px){

    .modBtn4 a:hover {
        background-color: #F4F0EC;
    }

    .modBtn4 a:hover .ja,
    .modBtn4 a:hover .en {
        color: #EB8C00;
    }

    .modBtn4 a:hover::before {
        width: 16px;
        background-color: #EB8C00;
    }

    .modBtn4 a:hover::after {
        background-image: url(../img/common/icon-right-orange.svg);
    }

}

/*modBtn5*/
.modBtn5 {
    text-align: right;
    margin-top: 20px;
}

.modBtn5 a,
.modBtn5 .a {
    position: relative;
    padding: 0 28px 5px 0; 
    border-bottom: 1px dotted #707070;
    display: inline-block;
}

.modBtn5.insta a {
    padding-left: 19px;
    background: url(../img/common/instagram.svg) no-repeat top 9px left;
    background-size: 13.52px;
}

.modBtn5 a .icon,
.modBtn5 .a .icon {
    position: absolute;
    bottom: 8px;
    right: 0;
    width: 20px;
    height: 20px;
    border-radius: 5px;
    background: url(../img/common/mod-btn-5.svg) no-repeat top 7.5px right 6.5px;
    background-size: 3px;
    background-color: #333333;
    display: inline-block;
    transition: .2s;
}

.modBtn5 a .icon::before,
.modBtn5 .a .icon::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    margin: auto;
    width: 6px;
    height: 1px;
    border-radius: 1px;
    transition: .2s;
    background-color: #fff;
}

/*hover*/
@media screen and (min-width: 1024px){

    .modBtn5 a:hover .icon,
    a:hover .modBtn5 .a .icon {
        background-color: #EB8C00;
        background-position: top 7.5px right 6px;
    }

    .modBtn5 a:hover .icon::before,
    a:hover .modBtn5 .a .icon::before {
        width: 8px;
    }

}

/*modBtn6*/
.modBtn6 {
    min-height: 64px;
    max-width: 330px;
    min-width: 265px;
    width: 100%;
}

.modBtn6s {
    min-height: 72px;
}

.modBtn6 a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    height: 100%;
    width: 100%;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.6;
    background-color: #333333;
    color: #fff;
    border-radius: 5px;
}

.modBtn6 a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 24.5px;
    transform: translateY(-50%);
    margin: auto;
    width: 1px;
    height: 20px;
    border-radius: 1px;
    transition: .2s;
    background-color: #fff;
}

.modBtn6 a::after {
    content: "";
    position: absolute;
    top: calc(50% + 5px);
    right: 15px;
    transform: translateY(-50%);
    margin: auto;
    width: 20px;
    height: 10px;
    transition: .2s;
    background: url(../img/common/icon-bottom-white.svg) no-repeat center;
    background-size: 100% auto;
}

.modBtn6 a .small {
    display: block;
    font-size: 13px;
}

/*hover*/
@media screen and (min-width: 1024px){

    .modBtn6 a:hover {
        background-color: #EB8C00;
    }

    .modBtn6 a:hover::before {
        height: 24px;
    }

    .modBtn6 a:hover::after {
        top: calc(50% + 7px);
    }

}

/*modBtn7*/
.modBtn7 {
    width: 100%;
    max-width: 300px;
}

.modBtn7 a {
    position: relative;
    font-size: 15px;
    font-weight: 700;
    min-height: 60px;
    line-height: 1.2;
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    padding: 0 35px 0 58px;
    background-color: #fff;
    border: 1px solid #333333;
    border-radius: 5px;
    background-repeat: no-repeat;
    background-size: 37px;
    background-position: center left 12px;
}

.modBtn7.message a {
    background-image: url(../img/common/icon-message.svg);
}

.modBtn7.company a {
    background-image: url(../img/common/icon-company.svg);
}

.modBtn7.staff a {
    background-image: url(../img/common/icon-staff.svg);
}

.modBtn7.showr a {
    background-image: url(../img/common/icon-showr.svg);
}

.modBtn7.magazin a {
    background-image: url(../img/common/icon-magazin.svg);
}

.modBtn7.sustainability a {
    background-image: url(../img/common/icon-sustainability.svg);
}

.modBtn7.partners a {
    background-image: url(../img/common/icon-partners.svg);
}

.modBtn7 a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    margin: auto;
    width: 12px;
    height: 1px;
    border-radius: 1px;
    transition: .2s;
    background-color: #333333;
}

.modBtn7 a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    margin: auto;
    width: 6px;
    height: 12px;
    transition: .2s;
    background: url(../img/common/icon-right-black.svg) no-repeat center;
    background-size: 100% auto;
}

/*hover*/
@media screen and (min-width: 600px){

    .modBtn7 a:hover {
        border: 1px solid #EB8C00;
        color: #EB8C00;
    }

    .modBtn7 a:hover::before {
        width: 16px;
        background-color: #EB8C00;
    }

    .modBtn7 a:hover::after {
        background-image: url(../img/common/icon-right-orange.svg);
    }

    .modBtn7.message a:hover {
        background-image: url(../img/common/icon-message-hover.svg);
    }

    .modBtn7.company a:hover {
        background-image: url(../img/common/icon-company-hover.svg);
    }

    .modBtn7.staff a:hover {
        background-image: url(../img/common/icon-staff-hover.svg);
    }

    .modBtn7.showr a:hover {
        background-image: url(../img/common/icon-showr-hover.svg);
    }

    .modBtn7.magazin a:hover {
        background-image: url(../img/common/icon-magazin-hover.svg);
    }

    .modBtn7.sustainability a:hover {
        background-image: url(../img/common/icon-sustainability-hover.svg);
    }

    .modBtn7.partners a:hover {
        background-image: url(../img/common/icon-partners-hover.svg);
    }

}

/*modBtn9*/
.modBtn9 {
    width: 100%;
    max-width: 335px;
    margin: 56px auto 0 auto;
}

.modBtn9 a {
    position: relative;
    min-height: 64px;
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 29px 0 18px;
    background-color: #EB8C00;
    border: 1px solid #EB8C00;
    border-radius: 5px;
    font-size: 17px;
    font-weight: 700;
    margin-right: 12px;
    color: #fff;
}

.modBtn9 a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    margin: auto;
    width: 12px;
    height: 1px;
    border-radius: 1px;
    transition: .2s;
    background-color: #fff;
}

.modBtn9 a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    margin: auto;
    width: 6px;
    height: 12px;
    transition: .2s;
    background: url(../img/common/icon-right-white.svg) no-repeat center;
    background-size: 100% auto;
}

/*hover*/
@media screen and (min-width: 600px){

    .modBtn9 a:hover {
        background-color: #FFF8ED;
        color: #EB8C00;
    }

    .modBtn9 a:hover::before {
        width: 16px;
        background-color: #EB8C00;
    }

    .modBtn9 a:hover::after {
        background-image: url(../img/common/icon-right-orange.svg);
    }

}

/*returnBtn*/
.returnBtn {
    width: 100%;
    max-width: 100px;
}

.returnBtn button {
    position: relative;
    min-height: 48px;
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    padding-left: 39px;
    background-color: #A3A2A2;
    border: none;
    transition: .2s;
    border-radius: 5px;
    font-weight: 700;
    color: #fff;
    cursor: pointer;
}

.returnBtn button::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 8px;
    transform: translateY(-50%);
    margin: auto;
    width: 12px;
    height: 1px;
    border-radius: 1px;
    transition: .2s;
    background-color: #fff;
}

.returnBtn button::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 8px;
    transform: translateY(-50%);
    margin: auto;
    width: 6px;
    height: 12px;
    transition: .2s;
    background: url(../img/common/icon-left-white.svg) no-repeat center;
    background-size: 100% auto;
}

/*hover*/
@media screen and (min-width: 600px){

    .returnBtn button:hover {
        background-color: #666666;
    }

    .returnBtn button:hover::before {
        width: 16px;
    }

}

/*sectionTitle*/
.sectionTitle {
    position: relative;
    margin-bottom: 48px;
    text-align: center;
}

.sectionTitle .title {
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
}

.sectionTitle .title .en {
    font-size: 13px;
    line-height: 1;
    color: #0C5900;
    display: block;
    margin-bottom: 12px;
}

.sectionTitle .title .ja {
    font-size: 32px;
    line-height: 1.6;
    display: block;
}

.sectionTitle .text {
    margin-top: 23px;
}

/*textLink*/
.textLink {
    display: inline;
    text-decoration: underline;
    color: #EB8C00;
}

@media screen and (min-width: 1024px){

    .textLink:hover {
        text-decoration: none;
        opacity: .7;
    }

}

/*タイトル*/
.h2 {
    position: relative;
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
    margin-bottom: 43px;
    border-left: 2px solid #EB8C00;
    padding: 5px 0 5px 14px;
}

.h2 .ja {
    display: block;
    font-size: 33px;
    line-height: 1.4;
}

.h2 .en {
    display: block;
    font-size: 15px;
    color: #EB8C00;
    margin-top: 6px;
}

/*h3*/
.h3 {
    position: relative;
    font-family: "Zen Old Mincho", serif;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.4;
    padding-bottom: 10px;
    margin-bottom: 32px;
    border-bottom: 1px solid #CCCCCC;
}

.h3::before {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    height: 1px;
    width: 48px;
    background-color: #EB8C00;
}

.h4 {
    position: relative;
    font-family: "Zen Old Mincho", serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.4;
    padding: 0 0 12px 26px;
    margin-bottom: 24px;
    border-bottom: 1px dotted #707070;
}

.h4::before {
    content: "";
    position: absolute;
    top: 9px;
    left: 0;
    height: 14px;
    width: 14px;
    border-radius: 0 3px 0 3px;
    background-color: #EB8C00;
}

.h5 {
    position: relative;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    padding-left: 18px;
    margin-bottom: 13px;
}

.h5::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 0;
    width: 10px;
    height: 10px;
    border-radius: 10px;
    background: #EB8C00;
}

.h6 {
    position: relative;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.4;
    padding-left: 17px;
    margin-bottom: 16px;
    background: url(../img/common/h6.svg) no-repeat top 11px left;
    background-size: 10px;
}

/*ol*/
ol.listNum {
    counter-reset: item;
    margin: 25px 0;
}

ol.listNum2 {
    margin-top: 16px;
}

ol.listNum li {
    position: relative;
    padding-left: 22px;
    margin-bottom: 3px;
}

ol.listNum li::before {
    position: absolute;
    top: 0;
    left: 0;
    counter-increment: item;
    content: counter(item)'.';
}

ol.listNum2 li::before {
    position: absolute;
    top: 4px;
    left: 0;
    width: 15px;
    height: 15px;
    counter-increment: item;
    content: counter(item)'';
    font-size: 12px;
    text-align: center;
}

ol.listNum2 li::after {
    content: "";
    position: absolute;
    top: 8px;
    left: 0;
    width: 15px;
    height: 15px;
    border-radius: 15px;
    border: 1px solid #333;
}

/*ul*/
.list li {
    position: relative;
    padding-left: 22px;
    margin-bottom: 5px;
}

.list li:last-child {
    margin-bottom: 0;
}

.list li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
}

@media screen and (min-width: 600px){

    .list li {
        margin-bottom: 3px;
    }

}

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

    ol.listNum2 {
        margin-top: 9px;
    }

}

/*pageSection*/
.pageSection {
    margin-bottom: 120px;
}

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

    .pageSection {
        margin-bottom: 72px;
    }

}

/*pageMv*/
.pageMv {
    position: relative;
    background-color: #F4F0EC;
    padding: 53px 0 110px 0;
    margin-top: 90px;
}

.pageMv .pageMvInner {
    text-align: right;
}

.pageMvSimple {
    position: relative;
    background-color: #F4F0EC;
    padding: 14px 0 11px 0;
    margin-top: 90px;
    margin-bottom: 97px;
}

.pageMv::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 96px;
    border-radius: 80px 80px 0 0;
    background-color: #fff;
}

.pageTitle {
    position: relative;
    margin-bottom: 38px;
    text-align: center;
}

.pageTitle .en,
.pageTitle .ja {
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
}

.pageTitle .en {
    position: relative;
    font-size: 14px;
    line-height: 1;
    display: inline-block;
    padding-left: 16px;
    margin-bottom: 8px;
}

.pageTitle .en::before {
    content: "";
    position: absolute;
    top: 4px;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 8px;
    background-color: #EB8C00;
}

.pageTitle .ja {
    font-size: 36px;
    line-height: 1.6;
    display: block;
}

/*パンくず*/
ul.breadcrumb {
    display: inline-block;
    text-align: left;
}

.breadcrumb li {
    position: relative;
    font-size: 13px;
    display: inline;
}

.breadcrumb li:not(:last-of-type)::after {
    content: "";
    display: inline-block;
    margin: 0 3px;
    width: 9.02px;
    height: 9.59px;
    background: url(../img/common/breadcrumb-icon.svg) no-repeat center;
    background-size: 9.02px;
}

.breadcrumb li a {
    text-decoration: underline;
    display: inline;
}

/*hover*/
@media screen and (min-width: 1024px){

    .breadcrumb li a:hover {
        opacity: .7;
        text-decoration: none;
    }

}

/*table*/
.table,
.table th,
.table td {
	border-collapse: collapse;
}

.table {
    width: 100%;
}

.table th {
	background-color: #F2F2F2;
}

/*table1*/
.table1 {
    border-top: 1px solid #707070;
    table-layout: fixed;
}

.table1 th,
.table1 td {
    border-bottom: 1px solid #707070;
    vertical-align: top;
    padding: 20px;
    text-align: left;
}

.table1 th {
    font-weight: 700;
	background: #F2F2F2;
    width: 23.21428571%;
    min-width: 188px;
}

.table3 th {
    width: 16.78571429%;
}

.table1 td {
    letter-spacing: .03em;
}

.table3 th,
.table3 td {
    padding: 13px 20px;
}

/*table2*/
.table2 {
    width: 100%;
    border: 1px solid #CCCCCC;
    text-align: center;
    margin: 0 auto;
    width: 960.39px;
}

.table2 tr:first-child th:nth-child(1) {
    width: 152px;
}

.table2 tr:first-child th:nth-child(2),
.table2 tr:first-child th:nth-child(3),
.table2 tr:first-child th:nth-child(4),
.table2 tr:first-child th:nth-child(5),
.table2 tr:first-child th:nth-child(6) {
    width: 125px;
}

.table2 tr:first-child th:nth-child(7),
.table2 tr:first-child th:nth-child(8) {
    width: 92px;
}

.table2 tr:first-child th,
.table2 td:nth-child(1) {
    padding: 11px 0;
}

.table2 tr:nth-child(2) th {
    width: 62px;
    padding: 7px 0;
}

.table2 th,
.table2 td {
    border-right: 1px solid #C8C8C8;
    border-bottom: 1px solid #C8C8C8;
    font-weight: 500;
}

.table2 .bg1 td {
    background-color: #ECF8EA;
}

.table2 .bg2 td {
    background-color: #F4F0EC;
}

.table2 .bold td:first-child {
    font-weight: 700;
}

.tableScroll {
    overflow-x: auto;
    overflow-y: hidden;
}

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

    .hamburger .innerTablet,
    .hamburger ul.innerTablet {
        max-width: 568px;
    }

}

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

    .innerTablet,
    ul.innerTablet {
        max-width: 568px;
    }

}

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

    .inner,
    ul.inner {
        width: calc(100% - 40px);
    }

    .inner2,
    ul.inner2,
    .inner3 {
        width: calc(100% - 32px);
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .hr {
        margin: 48px 0;
    }

    /*pageMv*/
    .pageMvSimple {
        margin-top: 56px;
        margin-bottom: 48px;
    }

    .pageMv {
        padding: 36px 0 69px 0;
        margin-top: 56px;
    }

    .pageMv2 {
        padding: 18px 0 69px 0;
    }

    .pageMv::before {
        height: 56px;
        border-radius: 40px 40px 0 0;
    }

    .pageTitle {
        margin-bottom: 54px;
    }

    .pageMv2 .pageTitle {
        margin-bottom: 37px;
    }

    .pageTitle .en {
        font-size: 12px;
        padding: 0 14px;
        margin-bottom: 0;
    }

    .pageTitle .en::before {
        width: 6px;
        height: 6px;
    }

    .pageTitle .ja {
        font-size: 29px;
        line-height: 1.4;
        margin-top: -8px;
    }

    /*sectionTitle*/
    .sectionTitle {
        margin-bottom: 30px;
    }

    .sectionTitle .title .en {
        font-size: 12px;
        margin-bottom: 10px;
    }

    .sectionTitle .title .ja {
        font-size: 25px;
        line-height: 1.4;
    }

    .sectionTitle .text {
        margin-top: 20px;
    }

    .h2 {
        margin-bottom: 32px;
        padding: 6px 0 6px 14px;
    }

    .h2 .ja {
        font-size: 26px;
    }

    .h2 .en {
        font-size: 13px;
        margin-top: 4px;
    }

    /*h3*/
    .h3 {
        font-size: 23px;
        padding-bottom: 8px;
        margin-bottom: 24px;
    }

    .h3::before {
        width: 32px;
    }

    .h4 {
        font-size: 20px;
        padding: 0 0 8px 20px;
    }

    .h6 {
        font-size: 18px;
        padding-left: 18px;
        background-position: top 9px left;
    }

    .h4::before {
        top: 7px;
        height: 12px;
        width: 12px;
    }

    /*modBtn1*/
    .modBtn1.center {
        margin-top: 28px;
    }

    /*modBtn3*/
    .modBtn3 {
        max-width: 296px;
    }

    .modBtn3 a {
        min-height: 56px;
        padding: 0 30px 0 56px;
        background-size: 36px;
        background-position: center left 10px;
    }

    .modBtn3 a::before,
    .modBtn3 a::after {
        right: 9px;
    }

    /*modBtn4*/
    .modBtn4 {
        max-width: 295px;
    }

    .modBtn4 a {
        min-height: 56px;
        padding: 0 30px 0 16px;
    }

    .modBtn4 a .ja {
        font-size: 18px;
        margin-right: 11px;
    }

    .modBtn4 a::before,
    .modBtn4 a::after {
        right: 9px;
    }

    /*modBtn9*/
    .modBtn9 {
        margin: 48px auto 0 auto;
    }

    /*table1*/    
    .table1 th,
    .table1 td {
        display: block;
        width: 100%;
        min-width: auto;
    }

    .table1 th {
        border-bottom: none;
        padding: 12px 10px;
    }

    .table1 td {
        padding: 18px 10px;
    }

}

/*--------------------------------------------------------------------------------------------------------------------

ヘッダー

--------------------------------------------------------------------------------------------------------------------*/
.header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #fff;
    z-index: 11;
    height: 90px;
    padding: 0 min(176px,12.571428571428573vw) 0 min(40px,2.857142857142857vw);
    transition: .5s;
}

.header .headerInner {
    justify-content: flex-end;
    align-items: center;
    height: 100%;
}

.header.headerScroll {
    box-shadow: 0px 2px 6px 0px rgba(51, 51, 51, 0.12);
} 

/*-----------------------------メニュー*/
.header .nav {
    width: calc(100% - 167px - min(32px,2.2857142857142856vw));
    height: 100%;
}

/*navList*/
.header .navList {
    position: relative;
    justify-content: flex-end;
    align-items: center;
    column-gap: min(32px,2.2857142857142856vw);
    height: 100%;
}

.navList li {
    position: relative;
}

.navList .main {
    position: relative;
    font-weight: 700;
    display: inline-block;
}

.header .navList .main {
    font-size: min(15px,1.0714285714285714vw);
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 5px 0;
}

/* 下線 */
.navList .main::after,
.subMenu li a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: #EB8C00;
    transform: scaleX(0);
    transform-origin: left;
    opacity: 0;
    transition:
        transform 0.2s ease,
        opacity 0.2s ease;
}

/*hover*/
@media screen and (min-width: 1024px){

    .navList .main:hover {
        color: #EB8C00;
    }

    .navList .main:hover::after,
    .subMenu li a:hover::after {
        transform: scaleX(1);
        opacity: 1;
    }

}

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

    /*-----------------------------メニュー*/
    .header .nav {
        display: none;
    }

}

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

    .header {
        height: 56px;
    }

}

/*fixLogo*/
.fixLogo {
    position: fixed;
    top: 20px;
    left: min(40px,2.857142857142857vw);
    width: 11.928571428571429vw;
    max-width: 167px;
    z-index: 11;
}

.fixLogo img {
    width: 100%;
}

.fixLogo .text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

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

    /*fixLogo*/
    .fixLogo {
        left: 40px;
        width: 167px;
    }

}

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

    .fixLogo {
        top: 9px;
        left: 16px;
        width: 108px;
    }

}

/*--------------------------------------------------------------------------------------------------------------------

ハンバーガーメニュー

--------------------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------三本ライン*/
.hamburger .line {
    position: fixed;
    top: 0;
    right: min(40px,2.857142857142857vw);
    display: flex;
    height: 90px;
    width: 48px;
    justify-content: center;
    align-items: center;
    z-index: 999999;
	cursor: pointer;
}

.hamburger .line span,
.hamburger .line span:before,
.hamburger .line span:after {
    content: '';
    display: block;
    right: 0;
    height: 2px;
    width: 40px;
    background-color: #333333;
    position: absolute;
}

/*.line1*/
.hamburger .line span.line1:before {
    bottom: 14px;
    width: 48px;
}

.hamburger .line span.line1:after {
    top: 14px;
    width: 32px;
}

/*open*/
.hamburger .line.is-activeLine::before {
    content: "CLOSE";
    position: absolute;
    bottom: 5px;
    right: 3px;
    font-size: 13px;
    font-weight: 500;
}

.hamburger .line.is-activeLine span,
.hamburger .line.is-activeLine span:before,
.hamburger .line.is-activeLine span:after {
    width: 48px;
}

.hamburger .line.is-activeLine span.line1 {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}

.hamburger .line.is-activeLine span.line1::before {
    bottom: 0;
    transform: rotate(45deg);
}

.hamburger .line.is-activeLine span.line1::after {
    top: 0;
    transform: rotate(-45deg);
}

/* アニメーション前のメニューの状態 */
.hamburger .line.is-activeLine span.line1 {
    pointer-events: auto;
    opacity: 1;
}

/* アニメーション後のメニューの状態 */
.hamburger .line.is-activeLine span.line1 {
    pointer-events: none;
    opacity: 0;
}

.hamburger .line.is-activeLine span.line1 {
    pointer-events: none;
    opacity: 0;
}

/* アニメーション後のメニューの状態 */
.hamburger .line.is-activeLine span.line1 {
    pointer-events: auto;
    opacity: 1;
}

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

    .hamburger .line {
        right: 40px;
    }

}

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

    .hamburger .line {
        right: 16px;
        height: 56px;
        width: 34px;
    }

    .hamburger .line span,
    .hamburger .line span:before,
    .hamburger .line span:after {
        width: 33px;
    }

    /*.line1*/
    .hamburger .line span.line1:before {
        bottom: 11px;
        width: 40px;
    }

    .hamburger .line span.line1:after {
        top: 11px;
        width: 27px;
    }

    .hamburger .line.is-activeLine span.line1 {
        top: 20px;
    }

    .hamburger .line.is-activeLine span,
    .hamburger .line.is-activeLine span:before,
    .hamburger .line.is-activeLine span:after {
        width: 33px;
    }

    .hamburger .line.is-activeLine::before {
        font-size: 11px;
        right: 0;
    }

}

/*-----------------------------------------------------------------------中のメニュー*/
.hamburger .menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box; /* 追加 */
    z-index: 11;
    background-color: #F4F0EC;
    padding: 108px 0;
    scrollbar-width: none; /* Firefox用 */
    -ms-overflow-style: none; /* IE・Edge旧対応 */
}

.hamburger .menu::-webkit-scrollbar {
    display: none; /* Chrome/Safari用 */
}

/*動き*/
/* アニメーション前のメニューの状態 */
.hamburger .menu {
    pointer-events: none;
    opacity: 0;
    transition: .2s;
}

/* アニメーション後のメニューの状態 */
.hamburger .menu.is-active {
    pointer-events: auto;
    opacity: 1;
}

.hamburger .menu.is-active::after {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 56px;
    background-color: #F4F0EC;
    z-index: 10;
    display: none;
}

.hamburger .innerTablet {
    width: 100%;
}

/*menu*/
.hamburger .menu .menuInner {
    padding: 64px 70px 125px 70px;
    background: url(../img/common/illustration06.svg) no-repeat left 70px bottom 45px;
    background-size: 361px;
    background-color: #fff;
    border-radius: 30px;
    justify-content: space-between;
    column-gap: 64px;
    min-height: 100%;
    max-width: 1200px;
}

.hamburger .menu .left {
    width: calc(100% - 384px);
    justify-content: space-between;
    height: 100%;
}

.navList .navGroup {
    position: relative;
    margin-bottom: 20px;
}

.hamburger .menu .navList .main {
    font-size: 18px;
}

.hamburger .menu .navList .toggleBtn {
    display: none;
}

.subMenu {
    padding: 3px 0 0 10px;
}

.subMenu li a {
    position: relative;
    font-size: 15px;
    margin-top: 5px;
    display: inline-block;
    padding: 0 0 5px 14px;
}

.footer .subMenu li a {
    font-size: 14px;
    margin-top: 5px;
    padding: 0 0 0 14px;
}

.subMenu li a::before {
    content: "";
    position: absolute;
    top: 14px;
    left: 0;
    width: 12px;
    height: 1px;
    background-color: #CCCCCC;
}

.hamburger .menu .right {
    width: 320px;
}

.hamburger .menu .right .btnList {
    padding-bottom: 20px;
    margin-bottom: 32px;
    border-bottom: 1px dotted #707070;
}

.hamburger .menu .right .btnList li {
    margin-bottom: 12px;
}

.telBtn {
    position: relative;
    padding: 0 0 0 70px;
    background: url(../img/common/icon-tel.png) no-repeat top left 16px;
    background-size: 48px;
    margin-bottom: 32px;
}

.telBtn a {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 48px;
    color: #EB8C00;
    display: block;
}

.telBtn .cm {
    display: block;
    font-size: 13px;
    padding-left: 3px;
}

.snsLink {
    align-items: center;
    column-gap: 16px;
}

.hamburger .menu .right .snsLink {
    justify-content: flex-end;
}

.snsLink a {
    position: relative;
}

.snsLink li:last-child a img {
    width: 31.92px;
    height: 31.92px;
}

.snsLink a img.hover {
    position: absolute;
    top: 0;
    left: 0;
    transition: .2s;
    opacity: 0;
}

/*hover*/
@media screen and (min-width: 1024px){

    .snsLink a:hover img.hover {
        opacity: 1;
    }

}

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

    .hamburger .menu .menuInner {
        width: calc(100% - min(80px,5.714285714285714vw));
    }

    .hamburger .menu .navList {
        width: 50%;
    }

    .hamburger .menu .navList3 {
        margin-top: -40px;
    }

}

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

    .hamburger .menu .menuInner {
        width: calc(100% - 80px);
        justify-content: center;
    }

    .hamburger .menu .left,
    .hamburger .menu .right {
        max-width: 320px;
    }

    .hamburger .menu .left,
    .hamburger .menu .right,
    .hamburger .menu .navList {
        width: 100%;
    }

    .hamburger .menu .navList3 {
        margin-top: 0;
    }

    .hamburger .menu .navList .toggleBtn {
        display: block;
        position: absolute;
        top: 6px;
        right: 0;
        width: 21px;
        height: 21px;
    }

    .hamburger .menu .navList .toggleBtn::before,
    .hamburger .menu .navList .toggleBtn::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        margin: auto;
        border-radius: 2px;
        background-color: #EB8C00;
    }

    .hamburger .menu .navList .toggleBtn::before {
        width: 100%;
        height: 2px;
    }

    .hamburger .menu .navList .toggleBtn::after {
        height: 100%;
        width: 2px;
    }

    .hamburger .menu .navList .toggleBtn.is-active::after {
        height: 0;
        width: 0;
    }

    .hamburger .menu .navList .child {
        display: none;
    }

}

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

    .hamburger .menu .menuInner {
        flex-direction: column;
        background-position: center bottom 32px;
        background-size: 295px;
        padding-bottom: 133px;
    }

    .hamburger .menu .left,
    .hamburger .menu .right {
        margin: 0 auto;
        max-width: 296px;
    }

}

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

    .hamburger .menu {
        padding: 71px 0 60px 0;
    }

    .hamburger .menu.is-active::after {
        display: block;
    }

    .hamburger .menu .menuInner {
        padding: 32px 24px 133px 24px;
        border-radius: 20px;
        width: calc(100% - 32px);
    }

    .subMenu {
        padding-left: 24px;
    }

    .hamburger .menu .right .btnList {
        padding-bottom: 4px;
        margin-bottom: 16px;
    }

    .telBtn {
        padding: 0 0 0 59px;
        background-position: top 6px left 17px;
        background-size: 36px;
        margin-bottom: 16px;
    }

    .telBtn a {
        font-size: 30px;
        line-height: 44px;
    }

    .telBtn .cm {
        padding-left: 2px;
    }

}

/*--------------------------------------------------------------------------------------------------------------------

フッター
--------------------------------------------------------------------------------------------------------------------*/
/*footerContact*/
.footerContact {
    position: relative;
    z-index: 1;
    padding-top: 52px;
    background: url(../img/common/footer-contact-bg.jpg) no-repeat center top;
    background-size: 1920px;
}

.footerContactInner {
    position: relative;
    padding-bottom: 100px;
}

.footerContact .abText {
    position: absolute;
    top: 27px;
    left: 0;
}

.footerContactList {
    justify-content: space-between;
    row-gap: 32px;
    max-width: 847px;
    width: calc(100% - 180px);
}

.footerContactList .box {
    position: relative;
    width: 45.6906729%;
    padding-right: 30px;
    background-repeat: no-repeat;
    background-position: top 16px right 5px;
}

.footerContactList .box.request {
    background-image: url(../img/common/request-information.svg);
    background-size: 13.79px;
}

.footerContactList .box.mail {
    background-image: url(../img/common/mail.svg);
    background-size: 12px;
}

.footerContactList .box .boxInner {
    position: relative;
    padding: 33px 33px 36px 33px;
    background-color: #fff;
    border: 1px solid #CCCCCC;
    border-radius: 0 15px 0 15px;
    text-align: center;
}

.footerContactList .box .boxInner .title {
    font-size: 20px;
    font-weight: 700;
    padding-top: 54px;
    margin-bottom: 27px;
}

.footerContactList .box .boxInner .title.file {
    background: url(../img/common/icon-file-simple.svg) no-repeat center top;
    background-size: 34.8px;
}

.footerContactList .box .boxInner .title.mail {
    background: url(../img/common/icon-mail-simple.svg) no-repeat center top 12px;
    background-size: 42.73px;
}

.footerContactList .box .boxInner .modBtn1 a {
    justify-content: center;
    max-width: 262px;
    width: 100%;
}

.footerContactList .box .boxInner .modBtn1 .btnInner {
    width: 100%;
    max-width: 212px;
}

/*box3*/
.footerContactList .box3 {
    background-image: url(../img/common/call.svg);
    background-size: 12px;
    background-position: top 6px right 5px;
    width: 100%;
}

.footerContactList .box3 .boxInner {
    padding: 17px 23px;
    column-gap: 13px;
}

.footerContactList .box3 .boxInner .title {
    background: url(../img/common/icon-tel.png) no-repeat center left;
    background-size: 64px;
    padding: 25px 0 15px 72px;
    margin: 0;
    text-align: left;
}

.footerContactList .box3 .boxInner .tel {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 38px;
    font-weight: 700;
    line-height: 2;
    color: #EB8C00;
}

.footerContactList .box3 .boxInner .cm {
    position: absolute;
    top: 50%;
    right: 6px;
    transform: translateY(-50%);
    margin: auto;
    padding: 17px 24.5px 10px 24.5px;
    width: 210px;
    border-left: 1px solid #CCCCCC;
}

@media screen and (min-width: 1920px){

    .footerContact {
        background-size: 100% auto;
    }

}

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

    .footerContactList .box3 .boxInner {
        justify-content: center;
        column-gap: 33px;
        padding-right: 215px;
    }

    .footerContactList .box3 .boxInner .title {
        order: 1;
        width: 100%;
        max-width: 292px;
        text-align: center;
    }

    .footerContactList .box3 .boxInner .tel {
        order: 3;
        width: 100%;
    }

    .footerContactList .box3 .boxInner .cm {
        order: 2;
        height: calc(100% - 66px);
        padding: 32px 25px;
    }

}

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

    .footerContactList {
        width: calc(100% - 160px);
    }

    .footerContactList .box {
        width: 100%;
    }

    .footerContactList .box .boxInner {
        padding: 19px 33px 25px 33px;
    }

    .footerContactList .box3 .boxInner {
        padding: 17px 215px 17px 23px;
    }

    .footerContactList .box .boxInner .title {
        margin-bottom: 20px;
    }

    .footerContactList .box3 .boxInner .title {
        margin-bottom: 0;
    }

}

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

    .footerContactList .box3 .boxInner {
        padding: 22px 17px 18px 17px;
    }

    .footerContactList .box3 .boxInner .cm {
        position: relative;
        top: auto;
        right: auto;
        transform: none;
        margin: 0;
        padding: 13px 0 0 0;
        width: 100%;
        border-top: 1px solid #CCCCCC;
        border-left: none;
        order: 3;
    }

}

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

    .footerContact {
        padding-top: 79px;
        background-position: center top 12px;
        background-size: 800px;
    }

    .footerContactInner {
        padding-bottom: 70px;
    }

    .footerContact .sectionTitle {
        margin-bottom: 43px;
    }

    .footerContact .abText {
        top: -79px;
        left: 4px;
        width: 100%;
        max-width: 230.87px;
    }

    .footerContact .abText img {
        width: 100%;
    }

    .footerContactList {
        width: 100%;
        row-gap: 18px;
    }

    .footerContactList .box {
        padding-right: 22px;
        background-position: top 6px right 6px;
    }

    .footerContactList .box.request {
        background-size: 11.18px;
    }

    .footerContactList .box.mail {
        background-size: 9.71px;
    }

    .footerContactList .box .boxInner .title {
        font-size: 18px;
        padding-top: 49px;
    }

    .footerContactList .box .boxInner .title.file {
        background-size: 29.67px;
    }

    /*box3*/
    .footerContactList .box3 {
        background-size: 9.86px;
    }

    .footerContactList .box3 .boxInner .title {
        background-size: 48px;
        padding: 11px 0 11px 61px;
    }

    .footerContactList .box3 .boxInner .tel {
        line-height: 1.5;
        margin-bottom: 10px;
    }
    
    .footerContactList .box3 .boxInner .cm {
        padding: 9px 0 0 10px;
    }

    .footerContactList .box .boxInner .modBtn1 a {
        max-width: 247px;
    }

}

/*footer*/
.footer {
    position: relative;
    padding: 73px 0 15px 0;
    border-top: 1px solid #CCCCCC;
}
@media screen and (max-width: 799px) {
.footer {
       padding: 73px 0 65px 0;
}
}

.footer .footerInner {
    position: relative;
    justify-content: space-between;
    padding: 0 40px min(292px,18vw) 40px;
    background: url(../img/common/illustration08.jpg) no-repeat center bottom;
    background-size: 100% auto;
    max-width: 1200px;
    column-gap: 60px;
    row-gap: 32px;
    width: 100%;
}

/*left*/
.footer .left {
    width: 264px;
}

.footer .logo {
    max-width: 167px;
}

.footer .logo img {
    width: 100%;
}

.footer .logo .text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.footer .left .info {
    margin: 19px 0 13px 0;
}

/*right*/
.footer .right {
    max-width: 655px;
    width: calc(100% - 324px);
    justify-content: space-between;
    column-gap: 40px;
}

.footer .right .navList3 {
    min-width: 173px;
}

.footer .right .navList .modBtn1 {
    margin-bottom: 32px;
}

.footer .right .navList .pp .subMenu,
.footer .right .navList .pp.navGroup,
.footer .right .navList .pp .subMenu li a {
    padding: 0;
    margin: 0;
}

.footer .right .navList .pp .subMenu li a::before {
    display: none;
}

/*copy*/
.footer .copy {
    font-size: 13px;
    text-align: center;
    padding-top: 8px;
}

/*pageTop*/
.pageTopInner {
    position: absolute;
    top: -32px;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    max-width: 1320px;
    height: 62px;
}

.pageTop {
    position: absolute;
    top: 0;
    right: 0;
    width: 62px;
    height: 62px;
    z-index: 10;
    transition: .2s;
    cursor: pointer;
    background: url(../img/common/back_btn.svg) no-repeat center;
    background-size: cover;
}

/*hover*/
@media screen and (min-width: 1024px){

    .pageTop:hover {
        background-image: url(../img/common/back_btn-hover.svg);
    }

}

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

    .footer .footerInner {
        justify-content: center;
    }
    
    .footer .left,
    .footer .right {
        width: 100%;
    }

    .footer .logo {
        margin: 0 auto;
    }

    .footer .left .info {
        text-align: center;
    }

    .footer .snsLink {
        justify-content: center;
    }

}

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

    .footer .footerInner {
        padding-bottom: 165px;
        background-size: 800px;
    }

    .footer .right .navList1,
    .footer .right .navList2,
    .footer .right .navList3 .navGroup {
        display: none;
    }

    .footer .right .navList3 .navGroup.pp {
        display: block;
        text-align: center;
    }

    .footer .right {
        justify-content: center;
    }

    .footer .right .navList .modBtn1 {
        margin-bottom: 20px;
    }
    
}

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

    .footer {
        padding: 46px 0 70px 0;
    }

    .footer .left .info {
        margin: 18px 0 12px 0;
    }

    /*copy*/
    .footer .copy {
        padding-top: 20px;
    }

}

/*--------------------------------------------------------------------------------------------------------------------

トップページ

--------------------------------------------------------------------------------------------------------------------*/
/*-----------------------------MV*/
.mv {
    position: relative;
    margin-top: 100px;
    margin-bottom: 96px;
    background: url(../img/top/mv-bg-pc.jpg) no-repeat center top 271px;
    background-size: 1920px;
}

.mv .mvInner {
    position: relative;
    width: calc(100% - 54px);
    max-width: 1346px;
    padding: 0 13px 0 0;
}

.mv .mvInner .abIlust {
    position: absolute;
    bottom: -23px;
    left: 292px;
    width: 218px;
    height: 202px;
    z-index: 2;
}

.mv .mvInner .left {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    padding-top: 32px;
    max-width: 1200px;
}

.mv .mvInner .left .title,
.mv .mvInner .left .text {
    width: 239px;
}

.mv .mvInner .left .title {
    margin: 0 0 63px 76px;
}

.mv .mvInner .left .text {
    font-size: 14px;
    line-height: 1.9285714286;
}

.mv .mvSwiper {
    width: 100%;
    height: 620px;
}

.mv .mvSwiper .swiper-slide-active .swiper-img img,
.mv .mvSwiper .swiper-slide-duplicate-active .swiper-img img,
.mv .mvSwiper .swiper-slide-prev .swiper-img img {
    animation: zoomUp 4s linear 0s normal both;
}

.mv .mvSwiper .swiper-slide .swiper-img {
    height: 100%;
    border-radius: 0 15px 0 15px;
    overflow: hidden;
}

.mv .mvSwiper .swiper-slide img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}

.mv .swiper-pagination-bullets.swiper-pagination-horizontal {
    position: absolute;
    bottom: -5px;
    left: calc(50% + 5px);
    transform: translateX(-50%);
    margin: auto;
    text-align: left;
    max-width: 1200px;
    width: calc(100% - 77px);
}

.mv .swiper-pagination-bullets.swiper-pagination-horizontal::before {
    content: "";
    position: absolute;
    bottom: 11px;
    left: 15px;
    width: 78.7px;
    height: 1px;
    background-color: #CCCCCC;
}

.mv .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    border-radius: 0;
    transform: rotate(45deg);
    border: 1px solid #CCCCCC;
    background-color: #F4F0EC;
    opacity: 1;
    margin: 0 16px 0 4px !important;
}

.mv .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #EB8C00;
}

.mv .abText {
    margin-top: 8px;
    text-align: right;
    max-width: 1346px;
    width: calc(100% - 54px);
}

.mv .abText .abTextInner {
    position: relative;
    font-family: "Zen Old Mincho", serif;
    font-size: 14px;
    font-weight: 500;
    color: #4E5E56;
    display: inline-block;
    padding-left: 40px;
}

.mv .abText .abTextInner::before {
    content: "";
    position: absolute;
    top: 13px;
    left: 0;
    width: 32px;
    height: 1px;
    background-color: #4E5E56;
}

.mv .right {
    position: relative;
    overflow: hidden;
    padding-left: 365px;
    padding-bottom: 10px;
}

.mv .target{
    transition: 2s clip-path; /*0.5秒でクリップマスクを動かす*/
}

.mv .target img{
    width: 100%;
}

.mv .animeRight{
    clip-path: inset(0 0 0 100%);/*右から左へ動くクリップマスク*/
}

.mv .show{
    clip-path: inset(0 0 0 0);/*クリップマスクを広げる*/
}

@media screen and (min-width: 1920px){
    
    .mv {
        background-size: 100% auto;
    }

}

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

    .mv {
        margin-top: 115px;
        background: url(../img/top/mv-bg-sp.jpg) no-repeat center top 150px;
        background-size: 100% auto;
    }

    .mv .mvInner {
        width: calc(100% - 80px);
        padding: 0;
    }

    .mv .mvInner .abIlust {
        left: 0;
        bottom: 0;
    }

    .mv .mvInner .left {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        margin: 0 0 27px 0;
        padding-top: 0;
    }

    .mv .mvInner .left .title {
        margin: 0 0 20px 0;
        width: 74.28266667%;
        min-width: 278.56px;
    }

    .mv .mvInner .left .text {
        width: 97.133333%;
    }

    .mv .mvInner .left .title img {
        width: 100%;
        max-width: 400px;
    }

    .mv .abText .abTextInner {
        display: none;
    }

    .mv .mvSwiper {
        height: 77.06666666666668vw;
        min-height: 289px;
        padding: 0 0 49px 0;
    }

    .mv .swiper-pagination-bullet {
        margin: 0 4px 0 16px !important;
    }

    .mv .swiper-pagination-bullets.swiper-pagination-horizontal {
        width: 100%;
        text-align: right;
        bottom: -3px;
        left: 50%;
    }

    .mv .swiper-pagination-bullets.swiper-pagination-horizontal::before {
        left: auto;
        right: 15px;
    }

}

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

    .mv {
        margin-bottom: 60px;
        margin-top: 81px;
    }

    .mv .mvInner {
        width: calc(100% - 32px);
    }

    .mv .mvInner .abIlust {
        left: 4px;
        width: 144.3px;
        height: 124.08px;
    }

    .mv .mvInner .left {
        padding: 0 4px;
    }

    .mv .mvInner .left .text {
        font-size: 13px;
        line-height: 1.8;
    }

    .mv .swiper-pagination-bullets.swiper-pagination-horizontal::before {
        bottom: 11px;
        right: 9px;
        width: 70.62px;
    }

    .mv .swiper-pagination-bullet {
        width: 8px;
        height: 8px;
        margin: 0 12px 0 3px !important;
    }

    .mv .swiper-pagination-bullet:last-child {
        margin: 0 7px 0 3px !important;
    }

}

/*introTop*/
.introTop {
    position: relative;
}

.introTop::before {
    content: "";
    position: absolute;
    top: 113px;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    width: 938px;
    height: 1414px;
    background: url(../img/top/intro_img_back.jpg) no-repeat top center;
    background-size: cover;
}

.introTop .introTopSection {
    position: relative;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1320px;
    padding-left: min(100px,7.142857142857142vw);
}

.introTop .introTopSection .text1 {
    width: 352px;
    padding-top: 22px;
}

.introTop .introTopSection .img1 {
    position: relative;
    max-width: 625px;
    width: 51.348485%;
    padding: 0 7.954545454% 75px 0;
}

.introTop .introTopSection .illust1 {
    position: relative;
    max-width: 592.5px;
    width: 48.901786%;
    margin-top: -157px;
}

.introTop .introTopSection .text2 {
    max-width: 597px;
    width: 49.227273%;
    padding-top: 12px;
}

.introTop .introTopSection .img2 {
    max-width: 500px;
    width: 41.666666666%;
    margin-top: -121px;
}

.introTop .introTopSection .illust2 {
    max-width: 531px;
    width: 44.25%;
    padding-right: 8.416666666%;
    margin-top: -129px;
}

.introTop .introTopSection .img .bg {
    border-radius: 0 15px 0 15px;
}

.introTop .introTopSection .img1 .bg1 {
    max-height: 353px;
    height: 31.517857142857142vw;
}

.introTop .introTopSection .img1 .bg2 {
    position: absolute;
    bottom: 0;
    right: 0;
    max-height: 140px;
    height: 12.5vw;
    max-width: 220px;
    width: 35.2%;
}

@media screen and (min-width: 900px){

    .introTop .introTopSection .text .modBtn1 {
        text-align: left;
        margin-top: 32px;
    }

}

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

    .introTop .introTopSection .illust1 {
        margin-top: -4vw;
    }

    .introTop .introTopSection .img2 {
        margin-top: -9vw;
    }

    .introTop .introTopSection .illust2 {
        margin-top: -7vw;
        padding-right: 0;
    }

}

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

    .introTop .introTopSection {
        padding-left: 0;
        row-gap: 44px;
    }

    .introTop .introTopSection .text1 {
        width: 100%;
        padding-top: 0;
    }

    .introTop .introTopSection .img1 {
        width: 100%;
        max-width: 100%;
        padding: 0 55px 36px 0;
        margin-left: auto;
    }

    .introTop .introTopSection .illust1 {
        max-width: 335px;
        width: 100%;
        margin-top: -60px;
    }

    .introTop .introTopSection .text2 {
        max-width: 100%;
        width: 100%;
        text-align: center;
        padding-top: 0;
    }

    .introTop .introTopSection .text2 .modBtn1 {
        text-align: center;
    }

    .introTop .introTopSection .img2 {
        max-width: 100%;
        width: 100%;
        margin-top: 0;
        padding: 0 max(65px,17.333333333%) 0 7px;
        max-height: 100%;
        height: 38.93333333333333vw;
    }


    .introTop .introTopSection .illust2 {
        max-width: 318.15px;
        width: 100%;
        padding-right: 0;
        margin-top: -154px;
        margin-left: auto;
    }

    .introTop .introTopSection .img1 .bg1 {
        max-height: 100%;
        height: 50.66666666666667vw;
    }

    .introTop .introTopSection .img1 .bg2 {
        max-height: 100%;
        height: 23.733333333333334vw;
        min-width: 140px;
        max-width: 100%;
        width: 37.333333333%;
    }

}

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

    .introTop::before {
        top: 0;
        width: 800px;
        height: 1207px;
    }

    .introTop .introTopSection .text2 {
        text-align: left;
    }

}

/*kominkaTop*/
.kominkaTop {
    position: relative;
    padding: 79px 0 100px 0;
}

.kominkaTop::after {
    content: "";
    position: absolute;
    top: 165px;
    left: 0;
    width: 100%;
    height: calc(100% - 165px);
    background-image: linear-gradient(0deg, #f4f0ec, transparent);
}

.kominkaTop .kominkaTopSection {
    position: relative;
    z-index: 1;
    justify-content: space-between;
    align-items: flex-end;
    row-gap: 44px;
    padding-bottom: 127px;
    background: url(../img/top/illustration03.png) no-repeat top 9px left;
    background-size: 173.13px;
}

.kominkaTop .kominkaTopSection .img1 {
    width: 18.3928571%;
}

.kominkaTop .kominkaTopSection .text {
    width: 32.1428571%;
}

.kominkaTop .kominkaTopSection .img2 {
    width: 39.2857142%;
}

.kominkaTop .kominkaTopSection .img {
    position: relative;
}

.kominkaTop .kominkaTopSection .img .bg {
    border-radius: 0 15px 0 15px;
}

.kominkaTop .kominkaTopSection .img1 .bg {
    aspect-ratio: 1;
}

.kominkaTop .kominkaTopSection .img2 .bg {
    max-height: 390px;
    height: 32.5vw;
}

.kominkaTop .kominkaTopSection .img2 img.abIlust {
    position: absolute;
    bottom: max(-37px,-3.0833333333333335vw);
    right: 0;
    min-width: 112.81px;
    max-width: 171.46px;
    width: 14.288333333333334vw;
    min-height: 49.04px;
    max-height: 74.54px;
    height: 6.211666666666668vw;
}

.kominkaTop .kominkaTopSection .text .sectionTitle,
.introTop .introTopSection .text .sectionTitle {
    text-align: left;
}

.kominkaTop .kominkaTopSection .text .cm {
    text-align: left;
}

@media screen and (min-width: 600px){

    .kominkaTop .kominkaTopSection .text .sectionTitle,
    .introTop .introTopSection .text .sectionTitle {
        margin-bottom: 30px;
    }

    .kominkaTop .kominkaTopSection .text .sectionTitle .ja {
        white-space: nowrap;
    }

    .kominkaTop .kominkaTopSection .text .modBtn1 {
        text-align: left;
        margin-top: 32px;
    }

}

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

    .kominkaTop::after {
        top: 0;
        height: 100%;
    }

    .kominkaTop .kominkaTopSection {
        background: url(../img/top/illustration03-sp.png) no-repeat top 9px right;
        background-size: 102.59px;
    }

    .kominkaTop .kominkaTopSection .img1 {
        position: absolute;
        bottom: 87px;
        right: 33%;
        width: 18.3928571%;
        z-index: 1;
    }

    .kominkaTop .kominkaTopSection .text {
        width: 48%;
    }

}

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

    .kominkaTop {
        padding: 56px 0 76px 0;
    }

    .kominkaTop .kominkaTopSection {
        padding-bottom: 96px;
        justify-content: flex-end;
    }

    .kominkaTop .kominkaTopSection .img1 {
        min-width: 120px;
        right: 215px;
        bottom: 56px;
    }

    .kominkaTop .kominkaTopSection .text {
        width: 100%;
        order: 1;
    }

    .kominkaTop .kominkaTopSection .img2 {
        min-width: 261.56px;
        order: 2;
    }

    .kominkaTop .kominkaTopSection .img2 .bg {
        min-height: 231px;
    }

    .kominkaTop .kominkaTopSection .img2 img.abIlust {
        bottom: -27px;
        max-width: 171.46px;
    }

}

/*projectsTop*/
.projectsTop {
    position: relative;
    padding-top: 99px;
}

.projectsTop::before {
    content: "";
    position: absolute;
    top: -75px;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    max-width: 1106px;
    width: 100%;
    height: 119.44px;
    background: url(../img/top/illustration05.png) no-repeat center right;
    background-size: auto 100%;
}

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

    .projectsTop {
        padding-top: 64px;
    }

    .projectsTop::before {
        top: -64px;
        width: calc(100% - 40px);
        height: 90.25px;
    }

}

/*showTop*/
.showTop {
    position: relative;
    padding: 109px 0 110px 0;
    border-bottom: 1px solid #CCCCCC;
}

.showTop::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    max-width: 1200px;
    width: 100%;
    height: 159px;
    background: url(../img/top/illustration06.jpg) no-repeat center right;
    background-size: auto 100%;
}

.showTop::after {
    content: "";
    position: absolute;
    top: 438px;
    left: 0;
    width: 100%;
    height: 309px;
    background-color: #F4F0EC;
}

.showTop .showTopSection {
    position: relative;
    padding-bottom: 88px;
    z-index: 1;
}

.showTop .showTopSection .img {
    position: relative;
    height: 380px;
    width: 54.6428571%;
}

.showTop .showTopSection .img img.bg {
    border-radius: 0 15px 0 0;
}

.showTop .showTopSection .img img.abIlust {
    position: absolute;
    bottom: -11px;
    right: -83px;
    width: 125px;
    height: 173px;
}

.showTop .showTopSection .text {
    position: absolute;
    top: 104px;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    width: 100%;
    padding-left: min(704px,58vw);
}

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

    .showTop .showTopSection .img {
        width: 48.642857%;
    }

    .showTop .showTopSection .text {
        padding-left: min(704px,53vw);
    }

}

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

    .showTop::before {
        display: none;
    }

    .showTop::after {
        top: 35.46666666666667vw;
        height: 112.00000000000001vw;
        min-height: 420px;
        max-height: 650px;
    }

    .showTop .showTopSection .img {
        width: 85.33333333%;
        max-height: 380px;
        min-height: 154px;
        height: 41vw;
        margin-bottom: 55px;
    }

    .showTop .showTopSection .text {
        position: relative;
        padding-left: 0;
        top: auto;
        left: 0;
        transform: none;
        margin: 0;
    }

}

@media screen and (max-width: 599px){
    
    .showTop {
        padding: 64px 0;
    }

    .showTop::after {
        max-height: 500px;
    }

    .showTop .showTopSection {
        padding-bottom: 54px;
    }

    .showTop .showTopSection .img img.abIlust {
        bottom: -29px;
        right: -26px;
        width: 83px;
        height: 114px;
    }

}

/*bannerList*/
.bannerList {
    position: relative;
    justify-content: space-between;
    row-gap: 34px;
    z-index: 1;
}

.kominkaTop .bannerList {
    row-gap: 47px;
}

.bannerList .box {
    position: relative;
    width: 47.8571428%;
    padding-right: 32px;
    background-repeat: no-repeat;
    background-position: top 4px right 3px;
    background-size: 13.17px;
}

.bannerList .box.voice {
    background-image: url(../img/top/customer-voices.svg);
}

.bannerList .box.about {
    background-image: url(../img/top/about.svg);
}

.bannerList .box.new {
    background-image: url(../img/top/new-construction.svg);
}

.bannerList .box.reform {
    background-image: url(../img/top/reform.svg);
}

.bannerList .box .img {
    position: relative;
    border-radius: 0 15px 0 15px;
    overflow: hidden;
    max-height: 283px;
    height: 23.583333333333336vw;
}

.kominkaTop .bannerList .box .img {
    max-height: 300px;
    height: 25vw;
    margin-bottom: 10px;
}

.overray .box .img::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #333333;
    opacity: .3;
    z-index: 1;
}

.bannerList .box .img img {
    transition: .3s;
}

.bannerList .box .img .ab {
    content: "";
    position: absolute;
    font-family: "Zen Old Mincho", serif;
    font-size: clamp(21px, 2.083333333333333vw, 25px);
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
    z-index: 1;
}

.bannerList .box.new .img .ab {
    top: 16px;
    left: 24px;
}

.bannerList .box.reform .img .ab {
    bottom: 23px;
    right: 26px;
}

.bannerList .box .title {
    position: relative;
    font-family: "Zen Old Mincho", serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
    padding: 15px 64px 15px 0;
    border-bottom: 1px dotted #707070;
}

.bannerList .box .title .icon {
    position: absolute;
    bottom: 18px;
    right: 0;
    width: 32px;
    height: 32px;
    border-radius: 5px;
    background: url(../img/common/mod-btn-5.svg) no-repeat top 12.5px right 10px;
    background-size: 4px;
    background-color: #333333;
    display: inline-block;
    transition: .2s;
}

.bannerList .box .title .icon::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    margin: auto;
    width: 10px;
    height: 1px;
    border-radius: 1px;
    transition: .2s;
    background-color: #fff;
}

.bannerList .box .cm {
    margin-top: 16px;
}

/*hover*/
@media screen and (min-width: 1024px){

    .bannerList .box:hover .img img {
        transform: scale(1.1);
    }

    .bannerList .box:hover .title .icon {
        background-position: top 12.5px right 9px;
        background-color: #EB8C00;
    }

    .bannerList .box:hover .title .icon::before {
        width: 13px;
    }

}

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

    .bannerList .box {
        width: 100%;
    }

    .bannerList .box .img {
        max-height: 100%;
        min-height: 175px;
        height: 48vw;
    }

    .kominkaTop .bannerList .box .img {
        max-height: 100%;
        min-height: 186px;
        height: 49.6vw;
    }

}

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

    .bannerList .box {
        padding-right: 23px;
        background-position: top 4px right 5px;
        background-size: 11px;
    }

    .bannerList .box .title {
        font-size: 26px;
        margin-top: 8px;
        padding: 8px 50px 8px 0;
    }

    .bannerList .box .title .icon {
        bottom: 10px;
    }

    .bannerList .box.new .img .ab {
        top: 15px;
        left: 21px;
    }

    .bannerList .box.new .img .ab {
        bottom: 18px;
        right: 15px;
    }

    .bannerList .box.reform .img .ab {
        bottom: 17px;
        right: 14px;
    }

    .kominkaTop .bannerList {
        row-gap: 30px;
    }

}

/*eventTop*/
.eventTop {
    padding: 88px 0 84px 0;
    background-color: #F4F0EC;
}

.houseList {
    column-gap: 34px;
    row-gap: 32px;
}

.houseList.houseListEvent {
    column-gap: 42px;
    row-gap: 24px;
}

.houseList.houseListEstate {
    column-gap: 40px;
    row-gap: 48px;
}

.houseList a {
    width: calc(100% / 4 - 25.5px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.houseList.houseListEvent a {
    width: calc(100% / 4 - 31.5px);
}

.houseList.houseListEstate a {
    width: calc(100% / 3 - 26.7px);
}

.houseList a .img {
    position: relative;
    width: 100%;
    border-radius: 0 15px 0 15px;
    overflow: hidden;
    margin-bottom: 9px;
}

.houseList.houseListProjects a .img img {
    aspect-ratio: 1;
}

.houseList.houseListEvent a .img {
    height: 15.666666666666668vw;
    max-height: 188px;
}

.houseList.houseListEstate a .img {
    height: 18.333333333333332vw;
    max-height: 220px;
    margin-bottom: 16px;
}

.houseList.houseListEstate a .img .tag {
    position: absolute;
    top: 0;
    left: 0;
    font-weight: 700;
    color: #fff;
    background-color: #EB8C00;
    padding: 1px 15px;
    border-radius: 0 0 5px 0;
    text-align: center;
    display: inline-block
}

.houseList a .img img {
    transition: .3s;
}

.houseList a .date {
    font-size: 14px;
    font-weight: 700;
    color: #666666;
}

.houseList a .title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.575;
    margin: 0 0 12px 0;
    display: inline-block;
    text-decoration: underline;
}

.houseList.houseListEvent a .title {
    font-size: 16px;
    margin: 8px 0 12px 0;
}

.houseList.houseListEstate a .title {
    font-size: 16px;
    text-decoration: none;
    margin: 0;
}

.houseList.houseListEstate a .price {
    font-weight: 700;
    color: #F82055;
}

.houseList.houseListEstate a .price .l {
    font-size: 24px;
    line-height: 1.4;
    display: inline-block;
}

.houseList.houseListEstate a .map {
    padding-left: 16.63px;
    margin: 5px 0;
    background: url(../img/common/icon-map.svg) no-repeat top 6px left;
    background-size: 12.63px;
}

.houseList.houseListEstate a .area {
    margin-bottom: 8px;
}

.houseList.houseListEstate a .modBtn5 {
    margin-left: auto;
    margin-top: 10px;
}

.houseList .category {
    font-size: 12px;
    text-align: center;
    line-height: 1.3;
    min-width: 86px;
    border-radius: 30px;
    border: 1px solid #707070;
    background-color: #fff;
    display: inline-block;
    padding: 3px 9px;
    transition: .2s;
}

/*hover*/
@media screen and (min-width: 1024px){

    .houseList a:hover .img img {
        transform: scale(1.1);
    }

    .houseList a:hover .title {
        color: #666666;
        text-decoration: none;
    }

    .houseList.houseListEstate a:hover .title {
        color: inherit;
    }

    .houseList a:hover .category {
        border: 1px solid #0C5900;
        background-color: #0C5900;
        color: #fff;
    }

    .houseList.houseListEstate a:hover .category {
        border: 1px solid #707070;
        background-color: #fff;
        color: inherit;
    }

}

@media screen and (min-width: 600px){

    .eventTop .sectionTitle {
        margin-bottom: 32px;
    }

}

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

    .houseList a {
        width: calc(100% / 2 - 17px);
    }

    .houseList.houseListEvent a {
        width: calc(100% / 2 - 21px);
    }

    .houseList.houseListEstate a {
        width: calc(100% / 2 - 20px);
    }

    .houseList.houseListEvent a .img {
        height: 32vw;
        max-height: 100%;
    }

    .houseList.houseListEstate a .img {
        height: 26.8vw;
        max-height: 100%;
    }

}

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

    .eventTop {
        padding: 48px 18px;
    }

    .houseList.houseListProjects {
        column-gap: 27px;
    }

    .houseList.houseListEstate {
        row-gap: 24px;
    }

    .houseList.houseListEvent a,
    .houseList.houseListEstate a {
        width: 100%;
    }
    
    .houseList a .img {
        margin-bottom: 9px;
    }

    .houseList.houseListEvent a .img {
        height: 60vw;
        min-height: 226px;
    }

    .houseList.houseListEstate a .img {
        height: 56.8vw;
        min-height: 213px;
    }

    .houseList.houseListProjects a .title {
        font-size: 17px;
        line-height: 1.8;
        margin: 0 0 8px 0;
    }

}

/*postTop*/
.postTop {
    justify-content: space-between;
    align-items: center;
    padding: 88px 9px 88px 0;
}

.postTop .right {
    width: 68.468484%;
}

.postTop .modBtn1 .btnInner {
    min-width: 123px;
}

@media screen and (min-width: 800px){

    .postTop .sectionTitle {
        text-align: left;
    }

}

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

    .postTop {
        justify-content: center;
        padding: 88px 0;
    }

    .postTop .right {
        width: 100%;
        margin-bottom: 32px;
    }

    .postTop .modBtn1.pc {
        display: none;
    }

    .postTop .modBtn1.sp {
        display: block;
    }

}

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

    .postTop {
        padding: 48px 0;
    }

}

/*instaTop*/
.instaTop {
    position: relative;
    padding: 94px 0 93px 0;
    border-top: 1px solid #CCCCCC;
}

.instaTop .text {
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
    margin-bottom: 13px;
}

.instaTop .instaSwiper {
    position: relative;
    padding: 0 15px;
}

.instaTop .instaSwiper .swiper-wrapper {
    transition-timing-function: linear;
}
.instaTop .instaSwiper .swiper-wrapper img{
    height: 250px;
}

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

    .instaTop .instaSwiper {
        width: 100%;
        max-width: 250px;
        padding: 0;
    }

}

@media screen and (min-width: 600px){

    .instaTop .sectionTitle {
        margin-bottom: 3px;
    }

}

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

    .instaTop {
        padding: 70px 0 57px 0;
    }

    .instaTop .text {
        margin-bottom: 12px;
    }

}

/*topicsTop*/
.topicsTop {
    position: relative;
    padding: 5px 0 72px 0;
}

.topicsTop::before {
    content: "";
    position: absolute;
    top: 55px;
    left: 0;
    width: 100%;
    height: calc(100% - 55px);
    background-color: #F4F0EC;
}

.topicsTop .inner {
    overflow: hidden;
}

.topicsTop .topicsSwiper {
    position: relative;
    padding-bottom: 51px;
}

.topicsTop .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: -7px;
}

.topicsTop .swiper-pagination-bullet,
.roomSwiper .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background-color: #CCCCCC;
    border: 1px solid #CCCCCC;
    opacity: 1;
    margin: 0 8px !important;
}

.topicsTop .swiper-pagination-bullet.swiper-pagination-bullet-active,
.roomSwiper .swiper-pagination-bullet.swiper-pagination-bullet-active {
    border: 1px solid #333333;
    background-color: #FFFFFF;
}

.topicsTop a img {
    transition: .2s;
}

/*hover*/
@media screen and (min-width: 1024px){

    .topicsTop a:hover img {
        opacity: .7;
    }

}

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

    .topicsTop .inner {
        width: 100%;
        max-width: 264px;
        overflow: visible;
    }

}

@media screen and (min-width: 600px){

    .topicsTop .sectionTitle {
        margin-bottom: 50px;
    }

}

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

    .topicsTop {
        padding: 5px 0 56px 0;
    }

    .topicsTop::before {
        top: 53px;
        height: calc(100% - 53px);
    }

    .topicsTop .topicsSwiper {
        padding-bottom: 36px;
    }

}

/*magazineTop*/
.magazineTop {
    padding: 96px 0 68px 0;
}

.magazineList {
    justify-content: center;
    column-gap: 53px;
    row-gap: 24px;
}

.magazineList .box {
    width: calc(100% / 4 - 39.8px);
    text-align: center;
}

.magazineList .box img {
    transition: .2s;
    margin: 0 auto 14px auto;
}

.magazineList .box .title {
    font-weight: 700;
    display: inline-block;
    text-decoration: underline;
}

/*hover*/
@media screen and (min-width: 1024px){

    .magazineList .box:hover img {
        opacity: .7;
    }

    .magazineList .box:hover .title {
        text-decoration: none;
    }

}

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

    .magazineList {
        max-width: 533px;
        margin: 0 auto;
    }
    
    .magazineList .box {
        width: calc(100% / 2 - 26.5px);
    }

}

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

    .magazineTop {
        padding: 56px 0 64px 0;
    }

    .magazineList {
        column-gap: 24px;
    }

    .magazineList .box {
        width: calc(100% / 2 - 12px);
    }

    .magazineList .box img {
        margin: 0 auto 8px auto;
    }

}

/*faqList*/
.faqList .box {
    border-radius: 10px;
    background-color: #D8E7FF;
    margin-bottom: 13px;
}

.faqList .box .toggleBtn {
    position: relative;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.66666667;
    padding: 35px 75px 35px 111px;
    cursor: pointer;
    color: #0B54C8;
    border-radius: 10px 10px 0 0;
    transition: .2s;
}

.faqList .box .toggleBtn.is-active {
    background-color: #9EC0F8;
}

.faqList .box .toggleBtn::before,
.faqList .box .toggleBtn::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    margin: auto;
    background-color: #0B54C8;
    border-radius: 2px;
}

.faqList .box .toggleBtn::before {
    right: 37px;
    width: 14px;
    height: 2px;
}

.faqList .box .toggleBtn::after {
    right: 43px;
    height: 14px;
    width: 2px;
}

.faqList .box .toggleBtn.is-active::after { /* アイコン縦棒なし（開いてるとき） */
    opacity: 0;
}

.faqList .box .qa {
    position: absolute;
    left: 37px;
    font-family: "Roboto", sans-serif;
    font-size: 27px;
    font-weight: 500;
    width: 50px;
    height: 50px;
    line-height: 50px;
    border-radius: 50px;
    text-align: center;
    color: #fff;
    background-color: #3A71C9;
}

.faqList .box .toggleBtn.is-active .qa.q {
    color: #3A71C9;
    background-color: #fff;
}

.faqList .box .qa.q {
    top: 50%;
    transform: translateY(-50%);
    margin: auto;
}

.faqList .box .qa.a {
    top: 23px;
}

.faqList .box .child {
    position: relative;
    display: none;
    padding: 23px 37px 30px 111px;
}

.faqList .box .child p {
    min-height: 53px;
}

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

    .faqList .box {
        border-radius: 6px;
        margin-bottom: 10px;
    }

    .faqList .box .toggleBtn {
        font-size: 17px;
        line-height: 1.64705882;
        padding: 14px 59px 14px 73px;
        border-radius: 6px 6px 0 0;
    }

    .faqList .box .toggleBtn::before {
        right: 21px;
        width: 11.28px;
    }

    .faqList .box .toggleBtn::after {
        right: 26px;
        height: 11.28px;
    }

    .faqList .box .qa {
        left: 20px;
        font-size: 18px;
        width: 35px;
        height: 35px;
        line-height: 35px;
    }

    .faqList .box .qa.a {
        top: 20px;
    }

    .faqList .box .child {
        position: relative;
        display: none;
        padding: 20px 22px 24px 73px;
    }

}

/*pagination*/
.pagination {
    margin-top: 72px;
}

.pagination .flex {
    justify-content: center;
    align-items: center;
    column-gap: 10px;
    row-gap: 10px;
}

.pagination .button a {
    width: 8.49px;
    height: 16.97px;
    margin: 0 auto;
    transition: .2s;
}

.pagination .button.prev a {
    background: url(../img/common/pagination-prev.svg) no-repeat center;
    background-size: 100% auto;
}

.pagination .button.prev a:hover {
    background-image: url(../img/common/pagination-prev-hover.svg);
}

.pagination .button.next a {
    background: url(../img/common/pagination-next.svg) no-repeat center;
    background-size: 100% auto;
}

.pagination .button.next a:hover {
    background-image: url(../img/common/pagination-next-hover.svg);
}

.pagination .num a {
    font-weight: 400;
    width: 40px;
    height: 40px;
    text-align: center;
    border: 2px solid #CCCCCC;
    padding-top: 4px;
    color: #333;
    transition: .2s;
    background-color: #fff;
}

.pagination .num a:hover {
    border: 2px solid #0B54C8;
    color: #0B54C8;
}

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

    .pagination {
        width: 100%;
        margin-top: 50px;
        max-width: 240px;
    }

    .pagination .button {
        width: 100%;
    }

}

/*postList*/
.postList a {
    position: relative;
    padding: 14px 75px 14px 30px;
    transition: .2s;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    background: url(../img/common/post-icon.svg) no-repeat center right 30px;
    background-size: 32px;
    background-color: #F2F2F2;
    border: 1px solid #F2F2F2;
    border-radius: 30px;
    margin-bottom: 19px;
}

.postList a:last-child {
    margin-bottom: 0;
}

.postList .date {
    margin-right: 12px;
}

.postList .category {
    font-size: 12px;
    text-align: center;
    color: #fff;
    padding: 1px;
    border-radius: 30px;
    margin-right: 12px;
}

.postList.postListBlog .category {
    background-color: #EB8C00;
    min-width: 112px;
}

.postList.postListNews .category {
    background-color: #0C5900;
    min-width: 92px;
}

.postList .title {
    font-size: 15px;
    font-weight: 500;
}

/*hover*/
@media screen and (min-width: 1024px){

    .postList a:hover {
        background-color: #fff;
    }

    .postList.postListBlog a:hover {
        border: 1px solid #EB8C00;
        background-image: url(../img/common/post-icon-orange.svg);
    }

    .postList.postListNews a:hover {
        border: 1px solid #0C5900;
        background-image: url(../img/common/post-icon-green.svg);
    }

}

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

    .postList a {
        padding: 14.5px 56px 14.5px 19px;
        background-position: center right 12px;
        margin-bottom: 12px;
    }

    .postList .date {
        margin-right: 6px;
    }

    .postList .category {
        margin-right: 0;
    }

    .postList .title {
        width: 100%;
    }

}

/*form*/
.form {
    max-width: 964px;
    margin: 0 auto;
}

.form .box {
    margin-bottom: 19px;
}

.form .box label {
    width: 303px;
    font-weight: 700;
    padding: 13px 10px 0 0;
}

.form .box7 label {
    padding: 0 10px 0 0;
}

.form .box label .red {
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    width: 50px;
    height: 25px;
    line-height: 25px;
    border-radius: 2px;
    background-color: #EBEBEB;
    color: #DB2356;
    display: inline-block;
    margin: 0 0 0 12px;
    vertical-align: top;
}

.form .box input,
.form .box textarea,
.form .box select {
    -webkit-appearance: none;
    appearance: none;
    width: calc(100% - 303px);
    border: 1px solid #7C7C7C;
    padding: 10px 20px;
}

.form input::placeholder {
    color: #909090; /* 好きな色に変更 */
    opacity: 1; /* 透明度を確保 */
}
  
.form select option:first-child {
    color: #666; /* 好きな色に変更 */
}
  
.form select {
    color: #666; /* 通常の選択肢の色 */
}
  
.form .box textarea {
    min-height: 180px;
}

.form .box select {
    width: 340px;
    background: url(../img/common/arrow.jpg) no-repeat top right;
    background-size: auto 100%;
    appearance: none;
    cursor: pointer;
}

.form .box6 .right {
    column-gap: 24px;
    row-gap: 12px;
    width: calc(100% - 303px);
}

.form .box6 select {
    width: 180px;
}

.form .box6 .time {
    position: relative;
    width: 219px;
    padding-right: 39px;
}

.form .box6 .time::after {
    content: "時頃";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    margin: auto;
}

.form .box6 input[type="text"] {
    width: 100%;
}

.form .img {
    margin: 0 auto 48px auto;
    text-align: center;
}

.form .img img {
    width: 210px;
    margin: 0 auto 2px auto;
}

.form .img input {
    width: 220px;
    border: 1px solid #7C7C7C;
    padding: 9px;
    margin-bottom: 5px;
}

.form .policy {
    margin-top: 48px;
    margin-bottom: 40px;
    text-align: center;
}

.form .policy .scroll {
    max-width: 509px;
    height: 228px;
    overflow-y: scroll;
    overflow-x: hidden;
    margin: 0 auto 17px auto;
    border: 1px solid #B3B3B3;
    padding: 17px 37px 19px 34px;
    font-size: 15px;
    text-align: left;
}
  
.form input[type="radio"],
.form input[type="checkbox"] {
    display: none;
}

.form .policy label {
    display: flex;
    align-items: center;
    cursor: pointer;
    justify-content: center;
}
  
.form .radio,
.form .check {
    display: inline-block;
    cursor: pointer;
}

.form .radio-icon,
.form .check-icon {
    display: inline-block;
    vertical-align: top;
    background-repeat: no-repeat;
    background-position: center left;
    background-size: auto 100%;
    width: 20px;
    height: 20px;
    margin: 4px 6px 0 0;
}

.form .radio-icon {
    background-image: url(../img/common/radio-check-no.svg);
}

.form input[type="radio"]:checked + .radio-icon {
    background: url(../img/common/radio-check.svg) no-repeat center left;
    background-size: auto 100%;
}

.form .check-icon {
    background-image: url(../img/common/check-no.jpg);
}
  
.form input[type="checkbox"]:checked + .check-icon {
    background: url(../img/common/check.jpg) no-repeat center left;
    background-size: auto 100%;
}

/*policy*/
.policy .title {
    display: block;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 24px;
}

.policy .section {
    margin: 2em 0;
}

.policy .section:last-child {
    margin-bottom: 0;
}

.form .policy .check-icon {
    margin-top: 2px;
}

/*formBtn*/
.formBtn {
    justify-content: center;
    align-items: center;
    column-gap: 32px;
    row-gap: 16px;
}

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

    .form .box {
        margin-bottom: 18px;
    }

    .form .box label {
        width: 100%;
        margin-bottom: 10px;
    }
    
    .form .box input,
    .form .box textarea {
        width: 100%;
        padding: 9px 18px;
    }

    .form .box select {
        padding: 9px 18px;
    }

    .form .box2 select {
        width: 100%;
    }

    .form .box2 {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-self: flex-start;
        align-items: flex-start;
    }
    
    .form .box2 input,
    .form .box3 select {
        max-width: 100%;
    }

    .form .box6 .right {
        width: 100%;  
        column-gap: 19px; 
    }

    .form .box6 select {
        width: 158px;
    }

    .form .box6 .time {
        width: 198px;
        padding-right: 40px;
    }
    
    .form .policy .scroll {
        max-width: 100%;
        height: 250px;
        padding: 15px 35px 15px 16px;
    }

}

@media screen and (max-width: 599px){
    
    .form .box textarea {
        min-height: 220px;
    }

    .form .box label .red {
        margin: 2px 0 0 12px;
    }

    .form .img {
        margin: 32px auto;
    }

    .form .policy {
        margin: 40px 4px 24px 4px;
    }

    .form .policy .scroll {
        height: 228px;
    }

    .policy .title {
        font-size: 17px;
    }

    .formBtn {
        flex-direction: column;
    }

    .formBtn .modBtn1 {
        order: 1;
    }

    .formBtn .returnBtn {
        order: 2;
    }

}

/*voiceList*/
.voiceList .voiceListSection {
    position: relative;
    padding: 40px 43px;
    margin-bottom: 48px;
    border: 5px solid #F4F0EC;
    border-radius: 0 15px 0 15px;
    background-color: #fff;
}

.voiceList .voiceListSection:last-child {
    margin-bottom: 0;
}

.voiceList .voiceListSection::before {
    content: "";
    position: absolute;
    top: -5px;
    left: 44px;
    width: 72px;
    height: 29px;
    background: url(../img/voice/tag.svg) no-repeat center;
    background-size: cover;
}

.voiceList .voiceListSection .point {
    font-weight: 700;
    line-height: 1;
    padding-left: 158px;
    background-repeat: no-repeat;
    background-position: center left;
    background-size: 150px;
}

.voiceList .voiceListSection .point10 {
    background-image: url(../img/voice/star10.svg);
}

.voiceList .voiceListSection .point9 {
    background-image: url(../img/voice/star9.svg);
}

.voiceList .voiceListSection .point8 {
    background-image: url(../img/voice/star8.svg);
}

.voiceList .voiceListSection .point7 {
    background-image: url(../img/voice/star7.svg);
}

.voiceList .voiceListSection .point6 {
    background-image: url(../img/voice/star6.svg);
}
.voiceList .voiceListSection .point5 {
    background-image: url(../img/voice/star5.svg);
}

.voiceList .voiceListSection .point4 {
    background-image: url(../img/voice/star4.svg);
}

.voiceList .voiceListSection .point3 {
    background-image: url(../img/voice/star3.svg);
}

.voiceList .voiceListSection .point2 {
    background-image: url(../img/voice/star2.svg);
}

.voiceList .voiceListSection .point1 {
    background-image: url(../img/voice/star1.svg);
}
.voiceList .voiceListSection .point0 {
    background-image: url(../img/voice/star0.svg);
}

.voiceList .voiceListSection .total {
    display: inline-block;
    vertical-align: middle;
    font-weight: 700;
    margin-bottom: 9px;
}

.voiceList .voiceListSection .dt {
    margin-bottom: 11px;
}

.voiceList .voiceListSection .total .point {
    margin-left: 12px;
}

.voiceList .voiceListSection .dt .point {
    margin-left: 4px;
}

.voiceList .voiceListSection .h3 {
    margin-bottom: 24px;
}

.voiceList .voiceListSection .imgBox {
    position: relative;
    min-height: 240px;
    padding-right: 43.833333%;
}

.voiceList .voiceListSection .imgBox .title {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.44;
    margin-bottom: 21px;
}

.voiceList .voiceListSection .imgBox .img {
    position: absolute;
    top: 0;
    right: 0;
    width: 38%;
    max-height: 240px;
    height: 20vw;
    border-radius: 0 15px 0 15px;
    overflow: hidden;
}

.voiceList .voiceListSection .pointList {
    padding: 32px 0 28px 0;
    margin-bottom: 24px;
    justify-content: space-between;
    column-gap: 48px;
    row-gap: 13px;
    border-bottom: 1px dotted #707070;
}

.voiceList .voiceListSection .pointList .box {
    width: calc(50% - 24px);
}

.voiceList .voiceListSection .pointList .box .dl {
    margin-bottom: 13px;
}

.voiceList .voiceListSection .pointList .box .dl:last-child {
    margin-bottom: 0;
}

.voiceList .voiceListSection .dt .title {
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    line-height: 30px;
    border-radius: 100px;
    border: 1px solid #333333;
    min-width: 138px;
}

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

    .voiceList .voiceListSection .pointList .box {
        width: 100%;
    }

}

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

    .voiceList .voiceListSection {
        padding: 40px 21px 30px 21px;
        margin-bottom: 24px;
    }

    .voiceList .voiceListSection::before {
        left: 23px;
    }

    .voiceList .voiceListSection .total {
        margin-bottom: 8px;
    }

    .voiceList .voiceListSection .imgBox {
        min-height: auto;
        padding-right: 0;
    }

    .voiceList .voiceListSection .imgBox .title {
        margin-bottom: 16px;
    }

    .voiceList .voiceListSection .imgBox .img {
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
        min-height: 172px;
        max-height: 100%;
        height: 45.86666666666667vw;
        margin-bottom: 11px;
    }

    .voiceList .voiceListSection .pointList {
        padding: 21px 0;
    }

    .voiceList .voiceListSection .dt .title {
        font-size: 12px;
        line-height: 27px;
        min-width: 128px;
    }

    .voiceList .voiceListSection .dt {
        white-space: nowrap;
    }

    .voiceList .voiceListSection .dt .point {
        font-size: 13px;
        padding-left: 134px;
        background-size: 130px;
    }

}

/*kodawariPageTop*/
.kodawariPageTop {
    position: relative;
    justify-content: space-between;
    margin-bottom: 98px;
}

.kodawariPageTop .left {
    position: relative;
    width: 48.08333333%;
    z-index: 1;
}

.kodawariPageTop .right {
    width: 36.66666667%;
    min-height: 245px;
    max-height: 620px;
    height: 51.66666666666667vw;
}

.kodawariPageTop .left .img {
    margin-bottom: 56px;
}

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

    .kodawariPageTop .left {
        width: 100%;
    }

    .kodawariPageTop .right {
        position: absolute;
        top: 0;
        right: 0;
        width: 36.66666667%;
        max-height: 371px;
        height: 44.333333vw;
    }

    .kodawariPageTop .left .img {
        width: 55.23733333%;
    }

}

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

    .kodawariPageTop {
        margin-bottom: 48px;
    }

    .kodawariPageTop .right {
        width: 174px;
        max-height: 100%;
        height: 245px;
    }

    .kodawariPageTop .left .img {
        margin: 0 0 37px 16px;
        width: 207.14px;
        height: 287.52px;
    }

}

/*kodawariPageSection*/
.kodawariPageSection {
    border-bottom: 1px solid #CCCCCC;
    margin-bottom: 85px;
}

.kodawariPageSectionLast {
    border-bottom: none;
    margin-bottom: 0;
}

.kodawariPageSection .kodawariPageSectionTitle {
    position: relative;
    margin-bottom: 47px;
}

.kodawariPageSection .kodawariPageSectionTitle .img {
    position: absolute;
    top: 0;
    right: 0;
    width: 57.14285714%;
    min-height: 220px;
    height: 420px;
}

.kodawariPageSection.kodawariPageSectionOdd .kodawariPageSectionTitle .img {
    left: 0;
}

.kodawariPageSection .kodawariPageSectionTitle .text {
    padding-top: 93px;
}

.kodawariPageSection .kodawariPageSectionTitle .title {
    position: relative;
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
    font-size: 28px;
    line-height: 1.4;
    padding: 7px 0 0 52.5px;
    margin-bottom: 70px;
    width: 38.30357143%;
}

.kodawariPageSection.kodawariPageSectionOdd .kodawariPageSectionTitle .title {
    margin-left: auto;
}

.kodawariPageSection .kodawariPageSectionTitle .title .num {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 20px;
    padding-right: 9px;
    border-right: 1px solid #707070;
}

.kodawariPageSection .kodawariPageSectionTitle .title .small {
    display: block;
    font-size: 16px;
    line-height: 1.575;
    margin-bottom: 8px;
}

.kodawariPageSection .kodawariPageSectionTitle .box {
    position: relative;
    width: 55.35714286%;
    padding: 40px;
    background-color: #fff;
}

.kodawariPageSection.kodawariPageSectionOdd .kodawariPageSectionTitle .box {
    margin-left: auto;
}

.kodawariPageSection .kodawariPageSectionBg {
    max-width: 1013px;
    margin: 0 auto 88px auto;
    padding-right: 33px;
}

.kodawariPageSection .kodawariPageSectionBg {
    background: url(../img/kodawari/sincerity.svg) no-repeat top right;
    background-size: 15.8px;
}

.kodawariPageSection .kodawariPageSectionBg .kodawariPageSectionBgInner {
    padding: 41px 56px 32px 40px;
    border-radius: 0 15px 0 15px;
    background-color: #F4F0EC;
    justify-content: space-between;
    align-items: flex-start;
    row-gap: 16px;
}

.kodawariPageSection .kodawariPageSectionBg .kodawariPageSectionBgInner .img {
    width: 34.95475113%;
}

.kodawariPageSection .kodawariPageSectionBg .kodawariPageSectionBgInner .text {
    width: 57.80542986%;
}

.kodawariPageSection .kodawariPageSectionBg .kodawariPageSectionBgInner .text .title {
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
    font-size: 25px;
    line-height: 1.33;
    margin-bottom: 20px;
}

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

    .kodawariPageSection .kodawariPageSectionTitle .img {
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
        height: 58.666666666666664vw;
    }

    .kodawariPageSection.kodawariPageSectionOdd .kodawariPageSectionTitle .img {
        left: auto;
    }

    .kodawariPageSection .kodawariPageSectionTitle .text {
        padding-top: 24px;
    }

    .kodawariPageSection .kodawariPageSectionTitle .title {
        width: 100%;
        margin-bottom: 24px;
    }

    .kodawariPageSection .kodawariPageSectionTitle .title br.pc {
        display: none;
    }

    .kodawariPageSection .kodawariPageSectionTitle .box {
        width: 100%;
        padding: 0;
    }

}

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

    .kodawariPageSection {
        margin-bottom: 48px;
    }

    .kodawariPageSectionLast,
    .kodawariPageSection.kodawariPageSectionLast .kodawariPageSectionTitle {
        margin-bottom: 0;
    }

    .kodawariPageSection .kodawariPageSectionTitle {
        margin-bottom: 48px;
    }

    .kodawariPageSection .kodawariPageSectionTitle .title {
        font-size: 24px;
        padding: 0 0 0 39.5px;
    }

    .kodawariPageSection .kodawariPageSectionTitle .title .num {
        font-size: 16px;
        padding-right: 8px;
    }

    .kodawariPageSection .kodawariPageSectionTitle .title .small {
        font-size: 14px;
        line-height: 1.8;
    }

    .kodawariPageSection .kodawariPageSectionBg {
        margin: 0 auto 48px auto;
        padding-right: 20px;
    }

    .kodawariPageSection .kodawariPageSectionBg {
        background-position: top 5px right 5px;
        background-size: 11.26px;
    }

    .kodawariPageSection .kodawariPageSectionBg .kodawariPageSectionBgInner {
        justify-content: center;
        padding: 32px 17px;
    }

    .kodawariPageSection .kodawariPageSectionBg .kodawariPageSectionBgInner .img {
        width: 100%;
        max-width: 240px;
    }

    .kodawariPageSection .kodawariPageSectionBg .kodawariPageSectionBgInner .text {
        width: 100%;
    }

    .kodawariPageSection .kodawariPageSectionBg .kodawariPageSectionBgInner .text .title {
        font-size: 20px;
        margin-bottom: 16px;
    }

}

/*moreBanner*/
.moreBanner {
    position: relative;
    padding-top: min(189px,15.75vw);
}

.moreBanner .abText {
    position: absolute;
    top: min(103px,8.583333333333334vw);
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
    font-size: min(96px,7.9vw);
    line-height: 1;
    color: #F4F0EC;
    white-space: nowrap;
}

.moreBanner .moreBannerBg {
    position: relative;
    padding: 85px 20px;
    background: url(../img/common/more-banner.jpg) no-repeat center;
    background-size: cover;
    border-radius: 0 15px 0 15px;
    overflow: hidden;
    text-align: center;
}

.moreBanner .moreBannerBg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #333333;
    opacity: .6;
}

.moreBanner .moreBannerBg .title,
.moreBanner .moreBannerBg .text {
    position: relative;
    color: #fff;
}

.moreBanner .moreBannerBg .title {
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
    font-size: 32px;
    line-height: 1.4;
}

.moreBanner .moreBannerBg .text {
    margin: 32px 0 56px 0;
}

.moreBanner .moreBannerBg .btnList {
    max-width: 590px;
    margin: 0 auto;
    justify-content: center;
    column-gap: 96px;
    row-gap: 12px;
}

.moreBanner .moreBannerBg .btnList .btnInner {
    width: 197px;
}

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

    .moreBanner {
        padding-top: 18.933333333333334vw;
    }

    .moreBanner .abText {
        top: 12.3vw;
        font-size: 7.199999999999999vw;
    }

    .moreBanner .moreBannerBg {
        padding: 32px 20px;
    }

    .moreBanner .moreBannerBg .title {
        font-size: 28px;
    }

    .moreBanner .moreBannerBg .text {
        margin: 16px 0;
        text-align: left;
    }

}

/*sectionBottom*/
.sectionBottom {
    margin-bottom: 72px;
}

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

    .sectionBottom {
        margin-bottom: 48px;
    }

}

/*pageSectionFlex*/
.pageSectionFlex {
    justify-content: space-between;
    align-items: center;
    row-gap: 24px;
    margin-bottom: 65px;
}

.pageSectionFlex .text {
    width: 38.91666667%;
}

.pageSectionFlex .img {
    width: 51.07142857%;
    height: 400px;
}

.pageSectionFlex .text .title {
    position: relative;
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
    font-size: 28px;
    line-height: 1.4;
    margin-bottom: 32px;
}

/*featuresPage*/
.featuresPageTop {
    margin-bottom: 64px;
}

.featuresPageTop .illust {
    margin: 48px 0 0 57px;
}

/*housingPage,showroomPageTop*/
.housingPageTop .text,
.showroomPageTop .text,
.kominkaPageTop .text {
    width: 41.69642857%;
}

.housingPageTop1 .title {
    padding: 10px 0;
}

.showroomPageTop1 .title {
    padding: 39px 0 2px 0;
}

.housingPageTop1 .illust {
    position: absolute;
    top: 0;
    left: 230px;
}

.housingPageTop2 .title {
    padding: 31px 0 0 0;
}

.housingPageTop2 .illust {
    position: absolute;
    top: 0;
    left: 328px;
}

.showroomPageTop1 .illust {
    position: absolute;
    top: 0;
    left: 260px;
}

.showroomPageTop2 .illust {
    margin: 8px 0 0 auto;
}

.kominkaPageTop1 .title {
    padding: 41px 0 0 0;
}

.kominkaPageTop1 .illust {
    position: absolute;
    top: 0;
    left: 284px;
}

.kominkaPageTop2 .img {
    position: relative;
}

.kominkaPageTop2 .illust {
    position: absolute;
    bottom: -21px;
    left: 11px;
    width: 240px;
    height: 110px;
}

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

    .pageSectionFlex .text {
        width: 100%;
    }

    .pageSectionFlex .img {
        width: 100%;
        height: 62.66666666666667vw;
    }

    /*featuresPage*/
    .featuresPageTop .illust {
        margin: 16px auto 0 auto;
    }

}

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

    .pageSectionFlex,
    .featuresPageTop {
        margin-bottom: 40px;
    }

    .pageSectionFlex .text .title {
        font-size: 23px;
        margin-bottom: 24px;
    }

    /*featuresPage*/
    .featuresPageTop .illust {
        width: 239px;
    }

    /*housingPage*/
    .housingPageTop1 .title {
        padding: 6px 0;
    }

    .housingPageTop1 .illust {
        width: 140px;
        left: 195px;
    }

    .housingPageTop2 .title {
        padding: 26px 0 0 0;
    }

    .housingPageTop2 .illust {
        left: 223px;
        width: 112px;
    }

    .showroomPageTop1 .title {
        padding: 21px 0 5px 0;
    }

    .showroomPageTop1 .illust {
        left: 200px;
        width: 98px;
    }

    .showroomPageTop2 .illust {
        margin: 2px 0 0 auto;
        width: 154px;
    }

    .kominkaPageTop1 .title {
        padding: 16px 0 0 0;
    }

    .kominkaPageTop1 .illust {
        left: 216px;
        width: 119px;
    }

    .kominkaPageTop2 .illust {
        bottom: -6px;
        left: 7px;
        width: 158px;
        height: 73px;
    }

}

/*anchorBtnList*/
ul.anchorBtnList {
    justify-content: center;
    column-gap: 24px;
    row-gap: 12px;
    margin-bottom: 64px;
}

.anchorBtnList2 li {
    width: calc(100% / 2 - 12px);
}

.anchorBtnList3 li {
    width: calc(100% / 3 - 16px);
}

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

    ul.anchorBtnList {
        margin-bottom: 48px;
    }

    .anchorBtnList li {
        width: 100%;
    }

}

/*pageSectionFlex2*/
.pageSectionFlex2 {
    column-gap: 64px;
    row-gap: 40px;
    margin-bottom: 40px;
}

.pageSectionFlex2.mt {
    margin-top: 40px;
}

#features3 .pageSectionFlex2 {
    margin-bottom: 0;
}

.pageSectionFlex2 .box {
    width: calc(50% - 32px);
}

.pageSectionFlex2 .box .img {
    height: 23vw;
    max-height: 276px;
}

.pageSectionFlex2 .box .title {
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
    font-size: 23px;
    line-height: 1.4;
    margin: 20px 0 16px 0;
}

.pageSectionFlex2 .box .title .small {
    display: block;
    font-size: 14px;
    margin-bottom: 4px;
}
.pageSectionFlex2.reform {
    margin: 48px 0;
    column-gap: 7%;
}

.pageSectionFlex2.reform .box.left {
    width: 51%;
}

.pageSectionFlex2.reform .box.right {
    width: 42%;
}

.pageSectionFlex2.reform .box .img {
    height: 27vw;
    max-height: 300px;
}

.pageSectionFlex2.reform .box .title {
    font-size: 28px;
    margin: 0 0 32px 0;
}

.pageSectionFlex2.reform .box .title .small {
    font-size: 16px;
}

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

    .pageSectionFlex2 .box {
        width: 100%;
    }

    .pageSectionFlex2 .box .img {
        height: 53.333333333333336vw;
        max-height: 100%;
        min-height: 200px;
    }

}

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

    .pageSectionFlex2 {
        row-gap: 24px;
        margin-bottom: 24px;
    }

    .pageSectionFlex2.mt {
        margin-top: 32px;
    }
    .pageSectionFlex2.reform {
        margin: 48px 0 32px;
    }

    .pageSectionFlex2.reform .box.left,
    .pageSectionFlex2.reform .box.right {
        width: 100%;
    }

    .pageSectionFlex2.reform .box .title {
        margin: 0 0 20px 0;
        font-size: 23px;
    }

    .pageSectionFlex2 .box .title .small {
        margin-bottom: 0;
    }
    .pageSectionFlex2.reform .box .img {
    min-height: 176px;
    height: 47vw;
    }
}

/*pageSectionFlex3*/
.pageSectionFlex3 {
    column-gap: 41px;
    row-gap: 40px;
    margin-top: 40px;
}

.pageSectionFlex3 .box {
    width: calc(100% / 3 - 27.4px);
}

.pageSectionFlex3 .box .img {
    height: 15.083333333333334vw;
    max-height: 181px;
}

.pageSectionFlex3 .box .title {
    font-weight: 700;
    font-size: 18px;
    line-height: 1.4;
    margin: 20px 0 16px 0;
}

.pageSectionFlex3 .box .title b {
    display: block;
    font-size: 15px;
    margin-bottom: 2px;
}

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

    .pageSectionFlex3 .box {
        width: 100%;
    }

    .pageSectionFlex3 .box .img {
        height: 53.333333333333336vw;
        max-height: 100%;
        min-height: 200px;
    }

}

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

    .pageSectionFlex3 {
        margin-top: 32px;
        row-gap: 24px;
    }

}

/*acList*/
.acList .box {
    border: 1px solid #CCCCCC;
    border-radius: 5px;
    overflow: hidden;
}

.acList .box .toggleBtn {
    position: relative;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    background-color: #F4F0EC;
    padding: 23px 60px 23px 25px;
    cursor: pointer;
}

.acList .box .toggleBtn::before,
.acList .box .toggleBtn::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    margin: auto;
    border-radius: 2px;
    background-color: #EB8C00;
}

.acList .box .toggleBtn::before {
    right: 24px;
    width: 21px;
    height: 2px;
}

.acList .box .toggleBtn::after {
    right: 34px;
    width: 2px;
    height: 21px;
}

.acList .box .toggleBtn.is-active::after {
    height: 0;
    width: 0;
}

.acList .box .child {
    position: relative;
    display: none;
    padding: 40px 60px 45px 60px;
}

.acList .box section {
    margin-bottom: 24px;
}

.acList .box section:last-child {
    margin-bottom: 0;
}

.acList.sw .box .toggleBtn {
    background: url(../img/housing/icon-sw.svg) no-repeat left 17px center/60px auto;
    background-color: #F4F0EC;
    font-size: 24px;
    padding: 20px 60px 20px 102px;
}

.acList.sw .box .subTtl {
    display: block;
    font-size: 16px;
}

.acList.sw .box .lead {
    margin-bottom: 24px;
}

.acList.sw .box .summary {
    color: #EB8C00;
    font-weight: 700;
}
/*featuresPage*/
.featuresPage .acList {
    margin-top: 48px;
}

.featuresPage .acList .box .section {
    margin-bottom: 32px;
}

/*acListFaq*/
.acListFaq .box {
    margin-bottom: 16px;
}

.acListFaq .box:last-child {
    margin-bottom: 0;
}

.acListFaq .box .toggleBtn {
    font-size: 16px;
    padding: 20px 60px 20px 54px;
}

.acListFaq .box .toggleBtn.is-active {
    color: #EB8C00;
}

.acListFaq .box .qa {
    position: absolute;
    top: 20px; 
    left: 20px;
    font-size: 16px;
    font-weight: 700;
    color: #EB8C00;
}

.acListFaq .box .child {
    padding: 22px 60px 26px 56px;
}

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

    .acList .box .toggleBtn {
        font-size: 16px;
        line-height: 1.6875;
        padding: 23px 50px 22px 11px;
    }

    .acList .box .toggleBtn2 {
        padding: 0 50px 0 11px;
        height: 72px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .acList .box .toggleBtn::before {
        right: 15px;
    }

    .acList .box .toggleBtn::after {
        right: 24px;
    }

    .acList .box .child {
        padding: 32px 16px;
    }

    .acList .box section {
        margin-bottom: 16px;
    }

    .acList .box section:last-child {
        margin-bottom: 0;
    }

                                                                                                                                .acList.sw .box .toggleBtn {
                                                                                                                                    background: url(../img/housing/icon-sw.svg) no-repeat left 12px center/48px auto;
                                                                                                                                    background-color: #F4F0EC;
                                                                                                                                    font-size: 19px;
                                                                                                                                    padding: 12px 42px 10px 74px;
                                                                                                                                    line-height: 1.45;
                                                                                                                                }
                                                                
                                                                                                                                .acList.sw .box .subTtl {
                                                                                                                                    font-size: 13px;
                                                                                                                                }
                                                                
                                                                                                                                .acList.sw .box .lead {
                                                                                                                                    margin-bottom: 16px;
                                                                                                                                }
                                                                
                                                                                                                                .acList.sw .box .child {
                                                                                                                                    padding: 24px 16px 46px;
                                                                                                                                }
    /*featuresPage*/
    .featuresPage .acList {
        margin-top: 32px;
    }

    .featuresPage .acList .box .section {
        margin-bottom: 24px;
    }

    /*acListFaq*/
    .acListFaq .box {
        margin-bottom: 12px;
    }

    .acListFaq .box:last-child {
        margin-bottom: 0;
    }

    .acListFaq .box .toggleBtn {
        padding: 14px 48px 13px 45px;
    }

    .acListFaq .box .qa {
        top: 14px; 
        left: 14px;
    }

    .acListFaq .box .child {
        padding: 15px 18px 21px 45px;
    }

}

/*pageSection*/
.pageSection .imgSection {
    margin: 40px auto 56px auto;
}

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

    .pageSection .imgSection {
        margin: 32px auto 24px auto;
    }

    .pageSection .imgRoadMap {
        max-width: 335px;
    }

}

/*pageBgSection*/
.pageBgSection {
    position: relative;
    padding: 0 25px 36px 25px;
    margin: 0 auto 72px auto;
    max-width: 960px;
}

.pageBgSection::before {
    content: "";
    position: absolute;
    top: 20px;
    left: 0;
    width: 100%;
    height: calc(100% - 20px);
    border-radius: 0 15px 0 15px;
    background-color: #F4F0EC;
}

.pageBgSection .title {
    position: relative;
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
    font-size: 27px;
    line-height: 1.4;
    text-align: center;
    padding-bottom: 12px;
    margin-bottom: 32px;
}

.pageBgSection .title::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    width: 48px;
    height: 1px;
    background-color: #EB8C00;
}

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

    .pageBgSection {
        padding: 0 25px 27px 25px;
        margin: 0 auto 40px auto;
    }

    .pageBgSection .title {
        font-size: 23px;
        padding-bottom: 8px;
        margin-bottom: 24px;
    }

    .pageBgSection .title::before {
        width: 32px;
        height: 2px;
    }

}

/*searchBox*/
.searchBox {
    position: relative;
    max-width: 771px;
    margin: 0 auto;
}

.searchBox .box {
    row-gap: 12px;
    margin-bottom: 5px;
}

.searchBox .box .bold {
    font-size: 16px;
    font-weight: 700;
    width: 168px;
}

.searchBox .box .right {
    width: calc(100% - 168px);
}

.searchBox .box label {
    margin: 0 27px 16px 0;
}

.searchBox .box label:last-child {
    margin-right: 0;
}

.searchBox .modBtn1 {
    margin-top: 16px;
}

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

    .searchBox .box {
        margin-bottom: 8px;
    }

    .searchBox .box .bold,
    .searchBox .box .right {
        width: 100%;
    }

    .searchBox .box label {
        margin: 0 16px 16px 0;
    }

    .searchBox .box label:last-child {
        margin-right: 0;
    }

    .searchBox .modBtn1 {
        margin-top: 16px;
    }

}

/*pageSingleTop*/
.pageSingleTop {
    margin-bottom: 48px;
}

.pageSingleTop .category {
    font-size: 14px;
    text-align: center;
    line-height: 1.2;
    min-width: 94px;
    border-radius: 30px;
    border: 1px solid #333333;
    background-color: #fff;
    display: inline-block;
    margin-bottom: 10px;
    padding: 4px 10px;
}

.pageSingleTop .h2 {
    margin-bottom: 40px;
}

.pageSingleTop .infoList {
    row-gap: 8px;
}

.pageSingleTop .infoList .dl {
    padding-right: 32px;
    margin-right: 32px;
    border-right: 1px solid #CCCCCC;
    display: flex;
    align-items: center;
}

.pageSingleTop .infoList .dl:last-child {
    padding-right: 0;
    margin-right: 0;
    border-right: none;
}

.pageSingleTop .infoList .dt {
    font-weight: 700;
    text-align: center;
    line-height: 29px;
    min-width: 92px;
    border-radius: 5px;
    background-color: #EB8C00;
    color: #fff;
    display: inline-block;
    margin-right: 16px;
}

.pageSingleTop .infoList .price {
    font-weight: 700;
    font-size: 20px;
    color: #F82055;
}

.pageSingleTop .infoList .price .l {
    font-size: 32px;
    line-height: 1.4;
    display: inline-block;
}

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

    .pageSingleTop .infoList .dl:first-child {
        padding-right: 0;
        margin-right: 0;
        border-right: none;
    }

    .pageSingleTop .infoList .dl {
        padding: 6px 32px 6px 0;
    }

    .pageSingleTop .infoList .dl:first-child {
        width: 100%;
    }

}

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

    .pageSingleTop {
        margin-bottom: 24px;
    }

    .pageSingleTop .h2 {
        margin-bottom: 27px;
    }

    .pageSingleTop .infoList {
        row-gap: 0;
    }

    .pageSingleTop .infoList .dl {
        padding: 6px 16px 6px 0;
        margin-right: 16px;
    }

    .pageSingleTop .infoList .dt {
        min-width: 84px;
    }

}

/*gallery*/
.gallery {
    max-width: 920px;
    margin: 0 auto 72px auto;
}

.gallery .estateSwiper {
    margin-bottom: 32px;
}

.gallery .swiper-slide {
    width: 100%;
    height: 100%;
}

.gallery .estateSwiper .swiper-slide {
    height: 60vw;
    max-height: 600px;
}

.gallery .sliderThumbnail .swiper-slide {
    height: 9.076999999999998vw;
    max-height: 90px;
    cursor: pointer;
    overflow: hidden;
}

.gallery .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

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

    .gallery {
        margin: 0 auto 40px auto;
    }

    .gallery .estateSwiper {
        margin-bottom: 16px;
    }

    .gallery .estateSwiper .swiper-slide {
        height: 58.13333333333334vw;
        max-height: 100%;
    }

    .gallery .sliderThumbnail .swiper-slide {
        height: 13.066666666666665vw;
        max-height: 100%;
    }

}

/*estateTable*/
@media screen and (max-width: 799px){

    .estateTable th,
    .estateTable td {
        display: block;
        width: 100%;
    }

    .estateTable th {
        border-bottom: none;
    }

}

/*estatePage*/
.estatePage .modBtn1 {
    margin-top: 32px;
}

.estateMap iframe {
    width: 100%;
    height: 290px;
    margin-top: 56px;
}

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

    .estatePage .modBtn1 {
        margin-top: 24px;
    }

    .estateMap iframe {
        height: 380px;
        margin-top: 48px;
    }

}

/*recruitPageSection*/
.recruitPageSection {
    margin-bottom: 96px;
}

.recruitPageSection .box {
    margin-bottom: 56px;
}

.recruitPageSection .box:last-child {
    margin-bottom: 0;
}

.pageSectionFlex1 {
    justify-content: space-between;
    row-gap: 24px;
}

.pageSectionFlex1 .text {
    width: 51.42857143%;
}

.pageSectionFlex1 .img {
    width: 42.85714286%;
    height: 315px;
}

.pageSectionFlex1 .text .title {
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.4;
    margin-bottom: 24px;
}

.processList .box {
    position: relative;
    padding-bottom: 62px;
    background: url(../img/common/icon-step.svg) no-repeat center bottom 16px;
    background-size: 50px;
}

.processList .box:last-child {
    padding-bottom: 0;
    background: none;
}

.processList .box .num {
    width: 110px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: #fff;
    background-color: #EB8C00;
    border-radius: 0 0 0 15px;
}

.processList .box .num .l {
    display: block;
    line-height: 1;
    font-size: 32px;
    margin-top: -5px;
}

.processList .box .dl {
    width: calc(100% - 110px);
    padding: 20px 35px;
    background-color: #F4F0EC;
    display: flex;
    align-items: center;
    border-radius: 0 15px 0 0;
}

.processList .box .dl .dt {
    padding: 10px 32px 10px 0;
    margin-right: 32px;
    border-right: 1px solid #CCCCCC;
    font-size: 20px;
    font-weight: 700;
    width: 114px;
    text-align: center;
}

.processList .box .dl .dd {
    width: calc(100% - 146px);
}

.recruitPage .modBtn1 {
    margin-top: 64px;
}

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

    .pageSectionFlex1 .text {
        order: 2;
        width: 100%;
    }

    .pageSectionFlex1 .img {
        order: 1;
        width: 100%;
        height: 58.666666666666664vw;
    }

}

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

    .recruitPageSection {
        margin-bottom: 64px;
    }

    .recruitPageSection .box {
        margin-bottom: 32px;
    }

    .recruitPageSection .box:last-child {
        margin-bottom: 0;
    }

    .pageSectionFlex1 .text .title {
        font-size: 21px;
        margin-bottom: 15px;
    }

    .processList .box {
        padding-bottom: 54px;
        background-position: center bottom 12px;
    }

    .processList .box:last-child {
        padding-bottom: 0;
    }

    .processList .box .num {
        width: 48px;
        font-size: 12px;
    }

    .processList .box .num .l {
        font-size: 26px;
    }

    .processList .box .dl {
        flex-direction: column;
        width: calc(100% - 48px);
        padding: 12px 13px;
    }

    .processList .box .dl .dt {
        padding: 0;
        margin: 0 0 3px 0;
        border-right: none;
        font-size: 19px;
        width: 100%;
        text-align: left;
    }

    .processList .box .dl .dd {
        width: 100%;
    }

    .recruitPage .modBtn1 {
        margin-top: 40px;
    }

}

/*showroomPageSectionBg*/
.showroomPageSectionBg {
    padding-right: 33px;
}

.showroomPageSectionBg1 {
    margin-top: 56px;
}

.showroomPageSectionBg {
    position: relative;
}

.showroomPageSectionBg1 {
    background: url(../img/showroom/kids-space.svg) no-repeat top right 3px;
    background-size: 15.79px;
}

.showroomPageSectionBg2 {
    background: url(../img/showroom/facilities-and-amenities.svg) no-repeat top right 4px;
    background-size: 13.17px;
}

.showroomPageSectionBg .showroomPageSectionBgInner {
    border-radius: 0 15px 0 15px;
    background-color: #F4F0EC;
}

.showroomPageSectionBg1 .showroomPageSectionBgInner {
    padding: 36px 41px 36px 45px;
}

.showroomPageSectionBg2 .showroomPageSectionBgInner {
    padding: 32px 43px;
}

.showroomPageSectionBg .showroomPageSectionBgInner .flex {
    justify-content: space-between;
    row-gap: 24px;
}

.showroomPageSectionBg1 .showroomPageSectionBgInner .flex .img {
    position: relative;
    width: 38%;
}

.showroomPageSectionBg1 .showroomPageSectionBgInner .flex .text {
    width: 55.6%;
    padding-bottom: 74px;
}

.showroomPageSectionBg1 .illust {
    position: absolute;
    bottom: -7px;
    left: -177px;
    border-radius: 0;
    width: 190px;
    height: 103px;
}

.showroomPageSectionBg2 .list {
    max-width: 864px;
}

.showroomPageSectionBg2 .list li {
    display: inline-block;
    width: 412px;
}

.showroomPageSectionBg2 .list li:nth-child(odd) {
    margin-right: 35px;
}

.showroomPage .modBtn9 {
    margin-top: 64px;
}

.showroomPage .pageSectionFlex1,
.floorSection {
    margin-bottom: 48px;
}

.floorSection .pageSectionFlex1 .text {
    width: 50%;
}

.floorSection .pageSectionFlex1 .img {
    height: 26.25vw;
    max-height: 315px;
}

.floorSection .pageSectionFlex1 .table th {
    width: 188px;
}

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

    .floorSection .pageSectionFlex1 .text {
        width: 100%;
    }

    .floorSection .pageSectionFlex1 .img {
        width: 100%;
        height: 58.666666666666664vw;
        max-height: 100%;
    }

}

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

    .showroomPageSectionBg1 .showroomPageSectionBgInner .flex .img {
        width: 100%;
        padding: 0 10px 15px 10px;
    }

    .showroomPageSectionBg1 .showroomPageSectionBgInner .flex .text {
        width: 100%;
        padding: 0;
    }

    .showroomPageSectionBg1 .illust {
        bottom: 0;
        left: auto;
        right: 0;
        width: 190px;
        height: 103px;
    }

}

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

    .showroomPageSectionBg {
        padding-right: 20px;
    }

    .showroomPageSectionBg1 {
        margin-top: 32px;
    }

    .showroomPageSectionBg1 {
        background-position: top right 4px;
        background-size: 11.1px;
    }

    .showroomPageSectionBg .showroomPageSectionBgInner {
        padding: 24px 18px;
    }

    .showroomPageSectionBg .h4 {
        margin-bottom: 16px;
    }

    .showroomPageSectionBg1 .illust {
        width: 142px;
        height: 77px;
    }

    .showroomPage .modBtn9 {
        margin-top: 40px;
    }

    .showroomPage .pageSectionFlex1 {
        margin-bottom: 32px;
    }

    .floorSection {
        margin-bottom: 40px;
    }

    .floorSection .pageSectionFlex1 .table th {
        width: 100%;
    }

    .showroomPageSectionBg2 {
        background-position: right 5px;
        background-size: 9.71px;
    }

    .showroomPageSectionBg2 .showroomPageSectionBgInner {
        padding: 24px 17px;
    }

    .showroomPageSectionBg2 .list {
        padding: 0 4px;
    }

    .showroomPageSectionBg2 .list li {
        display: block;
        width: 100%;
    }

    .showroomPageSectionBg2 .list li:nth-child(odd) {
        margin-right: 0;
    }

}

/*roomSwiper*/
.roomSwiper {
    position: relative;
    max-width: 670px;
    margin: 0 auto 48px auto;
    padding-bottom: 44px;
}

.roomSwiper .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 0;
}

.roomSwiper .box {
    display: flex;
    justify-content: space-between;
    padding: 25px 19px;
    border-radius: 0 15px 0 15px;
    border: 5px solid #F4F0EC;
    box-sizing: border-box;
    row-gap: 20px;
}

.roomSwiper .box .img {
    width: 260px;
    height: 240px;
}

.roomSwiper .box .text {
    width: 330px;
}

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

    .roomSwiper {
        max-width: 260px;
    }

    .roomSwiper .box {
        padding: 19px 15px;
    }

    .roomSwiper .box .img {
        width: 220px;
        height: 204px;
    }

    .roomSwiper .box .text {
        width: 100%;
    }

}

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

    .roomSwiper {
        margin: 0 auto 32px auto;
    }

}

/*linkListBox*/
.linkListBox {
    max-width: 100%;
    margin-top: 96px;
}

.linkListBox ul.linkList {
    max-width: 1005px;
    margin: 0 auto;
}

.linkListBox ul.linkList li {
    display: inline-block;
    margin: 0 16px 16px 16px;
}

.linkListBox ul.linkList li:last-child {
    margin: 0 16px;
}

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

    .linkListBox ul.linkList {
        max-width: 669px;
    }

}

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

    .linkListBox ul.linkList {
        max-width: 300px;
    }

    .linkListBox ul.linkList li {
        margin: 0 0 16px 0;
    }

    .linkListBox ul.linkList li:last-child {
        margin: 0;
    }

}

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

    .linkListBox {
        padding: 0 18px 32px 18px;
        margin-top: 48px;
    }

}

/*kominkaPage*/
.kominkaPage .acList {
    margin-top: 56px;
}

.kominkaPage .acList .list {
    margin: 16px 0 10px 0;
}

.kominkaPage .acList .pageSectionFlex3 {
    column-gap: 32px;
    row-gap: 16px;
    margin-top: 32px;
}

.kominkaPage .acList .pageSectionFlex3 .box {
    border: none;
    border-radius: 0;
    margin-bottom: 0;
}

.kominkaPage .acList .pageSectionFlex3 .box .img {
    height: 16.666666666666664vw;
    max-height: 200px;
}

.kominkaPage .roadMapSection .h4 {
    margin-top: 32px;
}

.kominkaPage .pageBgSection {
    margin-top: 64px;
    padding-bottom: 76px;
}

.kominkaPage .pageBgSection::before {
    height: calc(100% - 60px);
}

.markList {
    position: relative;
    column-gap: 10px;
    row-gap: 10px;
    justify-content: center;
    align-items: center;
}

.markList li {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.6;
    padding: 10px;
    background-color: #fff;
    text-align: center;
}

.markList li:last-child {
    font-weight: 500;
    padding: 0;
    background-color: inherit;
}

.kominkaPage .pageBgSection .illust {
    position: absolute;
    bottom: 0;
    right: -32px;
}

.kominkaPage .bnr_kominka{
text-align: center;
}

.kominkaPage .bnr_kominka a{
    display: inline-block;
}
.kominkaPage .bnr_kominka a:hover {
    opacity: .7;
}

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

    ul.markList {
        max-width: 332px;
        margin: 0 auto;
        justify-content: flex-end;
    }

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

    .kominkaPage .pageBgSection .illust {
        left: 10px;
    }

}

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

    .kominkaPage .acList .pageSectionFlex3 .box .img {
        height: 49.6vw;
        max-height: 100%;
        min-height: 186px;
    }

}

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

    .kominkaPage .acList {
        margin-top: 32px;
    }

    .kominkaPage .acList .pageSectionFlex3 {
        margin-top: 24px;
        padding: 0 6px;
    }

    ul.markList {
        max-width: 304px;
    }

    .markList li {
        font-size: 16px;
        padding: 6px 6.8px;
    }

    .markList li:first-child {
        padding: 6px 6px;
    }

    .markList li:last-child {
        padding: 0;
    }

    .kominkaPage .pageBgSection {
        margin-top: 72px;
        padding-bottom: 58px;
    }

    .kominkaPage .pageBgSection::before {
        height: calc(100% - 58px);
    }

}

/*reservePage*/
.reservePage .pageBgSection ul.list {
    max-width: 840px;
    margin: 0 auto;
}

.reservePage .pageBgSection ul.list a {
    text-decoration: none;
}