img, iframe {
    max-width: 100%;
    max-height: 100%;
}

body {
    font-family: karla, "Noto Sans JP","æ¸¸ã‚´ã‚·ãƒƒã‚¯ä½“", YuGothic, "æ¸¸ã‚´ã‚·ãƒƒã‚¯ Medium", "Yu Gothic Medium", "æ¸¸ã‚´ã‚·ãƒƒã‚¯", "Yu Gothic", "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ãƒ’ãƒ©ã‚®ãƒŽè§’ã‚´ ProN W3", "ãƒ¡ã‚¤ãƒªã‚ª", Meiryo, "ï¼­ï¼³ ï¼°ã‚´ã‚·ãƒƒã‚¯", "MS PGothic", sans-serif;
    color: #333;
}

@media screen and (min-width: 769px) {
    .sp {
        display: none !important;
    }
}

@media screen and (max-width: 767px) {
    .pc {
        display: none !important;
    }
}

/* ----------------------------------------
* fix parts
---------------------------------------- */
.fixLogo {
    background: #87c8ce;
    border-radius: 0 0 50px 0;
    padding-top: 12px;
    display: flex;
    justify-content: center;
    position: fixed;
    width: 180px;
    height: 196px;
    z-index: 900;
    transition: all 0.3s, z-index 0s;
}

a.fixLogo:hover {
    opacity: 1;
    background: #a7d9de;
}

.fixLogo img {
    width: 96px;
    height: 153px;
}

.fixed .fixLogo {
    width: 198px;
    height: 60px;
}

.fixBtnArea {
    position: fixed;
    right: 0;
    z-index: 10;
    width: 0;
    height: 0;
}

.drawer_button * {
    margin: 0;
    padding: 0;
    outline: none;
    border: none;
    font: inherit;
    font-family: inherit;
    font-size: 100%;
    font-style: inherit;
    font-weight: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    text-align: left;
    text-decoration: none;
    list-style: none;
}

.drawer_button {
    padding: 0px;
    border-radius: 10px;
    width: 54px;
    height: 54px;
    position: absolute;
    top: 30px;
    right: 18px;
    background: #ebebeb;
    border: none;
    text-align: center;
    letter-spacing: 0.1em;
    cursor: pointer;
    outline: none;
    z-index: 1002;
    /* transition: 0.2s; */
    color: #000;
}

.drawer_button .drawer_bar {
    background: #fff;
    display: block;
    width: 28px;
    height: 2px;
    transition: all 0.2s;
    position: absolute;
    left: 17px;
}

.drawer_button .drawer_bar1 {
    top: 40%;
}

.drawer_button .drawer_bar2 {
    top: 56%;
}

.drawer_button .drawer_bar3 {
    top: 69%;
}

.drawer_button.active .drawer_bar {
    /* width: 35.36px; */
    /* left: 7.5px */
}

.drawer_button.active .drawer_bar1 {
    top: 32%;
    transform: translateY(10px) rotate(-45deg);
    transform-origin: center;
}

.drawer_button.active .drawer_bar2 {
    top: 65%;
    transform: translateY(-10px) rotate(45deg);
    transform-origin: center;
}

.drawer_button.active .drawer_menu_text {
    display: none;
}

.drawer_button.active .drawer_close {
    display: block;
}

.drawer_text {
    width: 100%;
    position: absolute;
    bottom: -20px;
    left: 0;
    text-align: center;
    font-size: 10px;
}

.drawer_close {
    letter-spacing: 0.08em;
    display: none;
}

.drawer {
    /* visibility: hidden; */
    opacity: 0;
    transition: 0.5s;
    width: 620px;
    height: 100vh;
    /* max-height: 600px; */
    /* min-height: 900px; */
    padding: 32px 60px 90px;
    padding-right: 80px;
    /* width: 0; */
    z-index: 1000;
    transform: translateY(-120%);
    position: fixed;
    top: 0;
    right: 0;
    overflow: scroll;
}

.drawer.open {
    /* border-radius: 0 0 0 20px; */
    background: #f7f7f7;
    /* visibility: visible; */
    opacity: 1;
    /* width: auto; */
    /* position: relative; */
    transform: translate(0);
}

body:before {
    content: "";
    display: block;
    width: 100vw;
    height: 120vh;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 10;
    visibility: hidden;
    background: #000;
    opacity: 0;
    transition: 0.3s;
}

body.open:before {
    content: "";
    visibility: visible;
    opacity: 0.6;
}

.drawerLogo {
    display: block;
    font-size: 60px;
    font-weight: 600;
    line-height: 1;
}

.drawerNav {
    margin-top: 60px;
    display: flex;
    flex-wrap: wrap;
}

.drawerNavClm {
    width: 50%;
}

.drawerNavClm + .drawerNavClm {
    /* margin-left: 120px; */
}

.drawerNavItem {
}

.drawerNavItem +.drawerNavItem {
    margin-top: 32px;
}

.drawerNavItem > a {
    display: block;
    font-size: 20px;
    font-weight: 600;
    color: #414141;
}

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

.drawerNavItem__child a {
    width: 50%;
    display: block;
    margin-top: 16px;
    padding-left: 20px;
    font-size: 18px;
    color: #707070;
}

.drawerContact__box {
    margin-top: 32px;
    width: 100%;
    border-radius: 10px;
    background: #fff;
    padding-left: 32px;
    padding-bottom: 32px;
    text-align: center;
}

.drawerContact__box + .drawerContact__box {
    /* margin-top: 24px; */
}

.drawerContact__box h3 {
    margin-top: 24px;
    font-size: 16px;
    font-weight: 600;
}

.drawerContact__btn {
    /* margin: 20px auto 0; */
    border-radius: 100px;
    background: #333;
    width: 250px;
    height: 58px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.drawerContact__btn span {
    padding-right: 24px;
}

.drawerBtn img {
    width: 36px;
    height: auto;
    position: absolute;
    right: 32px;
}

.drawerContact__btn img {
    width: 28px;
    height: 28px;
    position: absolute;
    right: 20px;
}

.drawerMail__desc {
    display: block;
    margin-top: 18px;
    font-size: 14px;
}

.drawerBtnWrap {
    margin-top: 12px;
    /* display: inline-flex; */
    align-items: center;
    gap: 20px;
    position: relative;
}

.mail .drawerBtnWrap > img {
    width: 48px;
    height: auto;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.tel .drawerBtnWrap > img {
    width: 42px;
    height: auto;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.drawerContact__num {
    font-size: 32px;
    font-weight: 600;
}

.drawerTel__desc {
    display: inline-block;
    border: 1px solid;
    border-radius: 100px;
    margin-top: 12px;
    padding: 8px 24px;
    font-size: 14px;
    font-weight: 600;
}

.drawer.open a {
    transition: 0.2s;
}

.drawer.open a:hover {
    opacity: 0.7;
}

.drawer .bottomImg {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 300px;
    height: auto;
}

.fixBtn {
    background: #333;
    border-radius: 10px;
    width: 62px;
    height: 62px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    right: 1.26vw;
    transition: 0.2s;
}

.fixBtn.-tel {
    top: 90px;
}

.fixBtn.-tel img {
    width: 14px;
    height: 18px;
}

.fixBtn.-mail {
    top: 100px;
}

.fixBtn.-mail img {
    width: 29px;
    height: 21px;
}

.fixBtn:hover {
    opacity: 0.8;
}

a {
    transition: 0.2s;
}

a:hover {
    opacity: 0.8;
}

/*top page*/
.topFv__visual {
    border-radius: 0 0 100px 0;
    width: max(90vw,920px);
    height: 37.5vw;
    height: max(37.5vw,500px);
    overflow: hidden;
}

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

.topFv {
    position: relative;
}

.topFv:after {
    background: #f7f7f7;
    width: 100%;
    height: 240px;
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
}

.topFv__catch {
    margin-left: 4vw;
    /* line-height: 1; */
}

.topFv__catch h1 {
    margin-top: -3.865vw;
    font-size: 7.63vw;
    font-weight: 700;
    line-height: 1;
}

.topFv__catch span {
    font-size: 1.666vw;
    font-weight: 700;
}

.scroll {
    position: absolute;
    top: 24vw;
    right: calc(4vw + 22px);
    transform: rotate(90deg);
    transform-origin: bottom right;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    padding-bottom: 10px;
}

.scroll:after {
    background: #111;
    width: 180px;
    height: 2px;
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0
}

.headNav {
    padding-right: 14vw;
    width: 100%;
    height: 80px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.headNav__item {
    /* margin-left: 16px; */
    font-weight: 600;
}

.headNav__item:not(:last-child) {
    /* margin-right: 16px; */
}

.headNav__item:not(:last-child):after {
    display: inline-block;
    content: "/";
    margin: 0 16px;
}

.l-wrap-l {
    margin: 0 auto;
    padding-left: 8vw;
    padding-right: 8vw;
    width: 100%;
    /* max-width: 1200px; */
}

.l-wrap-m {
    margin: 0 auto;
    width: 1080px;
}

.concept {
    padding-top: 60px;
    padding-bottom: 24px;
    display: flex;
    justify-content: space-between;
    position: relative;
}

.conceptCatch {
    margin-left: -1.25vw;
    padding-right: 4vw;
    writing-mode: vertical-rl;
    font-size: 3.33vw;
    font-weight: 600;
    line-height: 1.5em;
    letter-spacing: 0.1em;
}

.conceptText {
    margin-top: 5.5vw;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    position: relative;
}

.conceptLines {
    margin-right: 7vw;
    padding-top: 4vw;
    writing-mode: vertical-rl;
    letter-spacing: 0.1em;
    line-height: 2.5em;
    font-size: max(1.25vw,16px);
    font-weight: 500;
}

.topSectionTitle {
    padding-bottom: 6px;
    font-size: 1.6666vw;
    font-weight: 700;
    position: relative;
    display: inline-block;
}

.topSectionTitle:after {
    background: #111;
    width: 100%;
    height: 1px;
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0
}

.bg-wave-gr,.bg-wave-wh {
    position: absolute;
    width: 100%;
    height: auto;
    left: 0;
    top: 0;
}

.bg-wave-gr2 {
    position: absolute;
    width: 100%;
    height: auto;
    left: 0;
    top: 0;
}

.bg-wave-gr img, .bg-wave-wh img {
    width: 100%;
}

.concept .topSectionTitle {
    position: absolute;
    top: 0;
    right: 22px;
    transform-origin: bottom right;
    transform: rotate(90deg) translate(62px, 0px);
    line-height: 1;
}

.conceptVisual {
    width: 48%;
    display: flex;
    align-items: center;
}

.conceptVisual__item.vertical {
    width: 100%;
    padding-top: calc(100% / 2 * 3);
}

.conceptVisual__item.land {
    width: 100%;
    padding-top: calc(100% / 3 * 2);
}

.conceptVisual__item.square {
    width: 100%;
    padding-top: 100%;
}

.conceptVisual__item {
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}

.conceptVisual__item + .conceptVisual__item {
    margin-top: 1.6vw;
}

.conceptVisual .left {
    width: calc(100% / 3);
}

.conceptVisual .right {
    margin-left: 1.6vw;
    width: calc(100% / 3 * 2 - 1.6vw);
}

.conceptVisual__item img {
    width: 100%;
    height: 100%;
    position: absolute;
    /* object-fit: cover; */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.marche {
    /* padding-bottom: 180px; */
    background: linear-gradient(180deg, #f2f6fa, #fff);
    position: relative;
    /* display: flex; */
    /* flex-wrap: wrap; */
}

.marcheSlides {
    width: 55%;
    position: absolute;
    right: 0;
    top: 0;
}

.marcheText {
    padding-top: 8.33vw;
    position: relative;
}

.marcheMovie {
    margin-top: 120px;
    width: 100%;
    display: flex;
    align-items: center;
}

.marcheCatch {
    margin-top: 3.33vw;
    font-size: 3.33vw;
    font-weight: 600;
    line-height: 1.5em;
    letter-spacing: 0.06em;
}

.marcheLines {
    margin-top: 3.33vw;
    width: max(32vw,400px);
    letter-spacing: 0.06em;
}

.marcheLines p {
    font-size: max(16px,1.11vw);
    font-weight: 500;
    line-height: 2em;
}

.marcheLines p + p {
    margin-top: 1.5em;
}

.marcheSlideLeft {
    width: max(22.222vw,240px);
    height: max(27.777vw,300px);
    position: absolute;
    top: max(27vw,350px);
    right: max(23vw,240px);
    z-index: 1;
}

.marcheSlideLeft .slick-track {
    position: relative;
    display: flex;
    height: 100%;
    /* width: 100% !important; */
}

.marcheSlideLeft .slick-list {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.marcheSlideLeft__item {
    width: 100%;
    height: 100%;
    border-radius: 10px;
    overflow: hidden;
}

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

.marcheSlideRight {
    position: absolute;
    top: 0;
    right: 0;
    width: max(34.722vw,400px);
    height: max(41.666vw,500px);
    z-index: 0;
    /* overflow: hidden; */
}

.marcheSlideRight .slick-track {
    position: relative;
    display: flex;
    height: 100%;
    /* width: 100% !important; */
}

.marcheSlideRight .slick-list {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.marcheSlideRight__item {
    width: 100%;
    height: 100%;
    border-radius: 10px;
    overflow: hidden;
}

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

.slick-dots li {
    display: inline-block;
    margin-right: 12px;
    width: 20px;
    height: 20px;
    position: relative;
}

.slick-dots li.slick-active {
    position: relative;
    background: #fff;
    border-radius: 50%;
    text-align: center;
    overflow: hidden;
    z-index: 1;
}

.slick-dots li.slick-active::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -10px;
    width: 20px;
    height: 20px;
    background: #000;
    transform-origin: right 10px;
    z-index: 2;
    animation: rotate-circle-left 6s linear forwards;
}

.slick-dots li.slick-active::after {
    content: "";
    display: block;
    position: absolute;
    top: 0px;
    left: 10px;
    width: 20px;
    height: 20px;
    background: #000;
    transform-origin: left 10px;
    z-index: 3;
    animation: rotate-circle-right 6s linear forwards;
}

.slick-dots li.slick-active:hover:before, .slick-dots li.slick-active:hover:after {
    animation: none;
}

@keyframes rotate-circle-right {
    0% {
        transform: rotate(0deg);
        background: #000;
    }

    50% {
        transform: rotate(180deg);
        background: #000;
    }

    50.001% {
        transform: rotate(360deg);
        background: #fff;
    }

    100% {
        transform: rotate(360deg);
        background: #fff;
    }
}

@keyframes rotate-circle-left {
    0% {
        transform: rotate(0deg);
    }

    50% {
        transform: rotate(0deg);
    }

    99.99% {
        background: #000;
    }

    100% {
        transform: rotate(180deg);
        background: #fff;
    }
}

.slick-dots button {
    font-size: 0;
    border: none;
    border-radius: 50%;
    background: #fff;
    padding: 0;
    width: 18px;
    height: 18px;
    display: inline-block;
    position: relative;
    z-index: 6;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.slick-dots button:before {
    content: "";
    background: #ccc;
    border-radius: 50%;
    width: 6px;
    height: 6px;
    display: inline-block;
}

.slick-dots li.slick-active button:before {
    background: #000;
}

ul.slick-dots {
    position: absolute;
    top: 0;
    transform: translateY(-100%);
}

.marcheMovie__box {
    padding-left: 4vw;
    width: 55%;
}

.marcheMovie__box video {
    width: 100%;
    height: auto;
}

.marcheMovie__caption {
    border-radius: 0 0 100px 0;
    padding: 4.2vw 0px 4.8vw 5.25vw;
    background: #f7f7f7;
    width: 45%;
}

.marcheMovie__caption h3 {
    font-size: max(16px,1.11vw);
    font-weight: 600;
    padding-bottom: 8px;
    border-bottom: 1px solid;
    display: inline-block;
}

.marcheMovie__caption span {
    margin-top: 12px;
    display: block;
    font-weight: 500;
    font-size: max(16px,1.11vw);
}

.site {
    background: #f7f7f7;
    padding-bottom: 90px;
    position: relative;
}

.siteText {
    padding-top: 250px;
    position: relative;
    text-align: center;
}

.siteCatch {
    margin-top: 24px;
    font-size: 32px;
    font-weight: 600;
}

.siteLines {
    margin-top: 24px;
    font-size: 18px;
}

.sitePlan {
    margin-top: 60px;
    display: flex;
}

.sitePlanWrap {
    background: #fff;
    /* margin: 0 auto; */
    padding: 60px 0;
    width: calc(100% - 80px);
    position: relative;
}

.sitePlan__item {
    margin: 0 auto;
    width: 650px;
    height: 0;
    visibility: hidden;
    transition: 0.3s;
}

.sitePlan__item.active {
    height: auto;
    visibility: visible;
    opacity: 1;
}

.sitePlan__item svg {
    width: 100%;
    height: 100%;
}

.sitePlan__item svg rect:hover, .sitePlan__item svg path:hover {
    opacity: 0.3 !important;
    /* fill: #111; */
}

.sitePlanBtn {
    display: flex;
    flex-direction: column;
}

.sitePlanBtn span {
    background: #dbdbdb;
    width: 80px;
    height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 700;
}

.sitePlanBtn span.active {
    background: #fff;
}

.siteUnit {
    margin-top: 6.25vw;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 3vw;
}

.siteUnit__item {
    border-radius: 10px;
    width: 31%;
    overflow: hidden;
    position: relative;
}

.siteUnit__item span {
    border: 2px solid #fff;
    padding: 14px 0;
    width: 160px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    font-size: min(2.5vw,32px);
    font-weight: 500;
    text-align: center;
    color: #fff;
    z-index: 2;
}

.siteUnit__item:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    background: #000;
    opacity: 0.3;
}

.contactBtn {
    margin: 60px auto 0;
    border-radius: 100px;
    background: #111;
    width: 380px;
    height: 86px;
    display: inline-block;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.about {
    margin-top: 90px;
    padding-bottom: 90px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.aboutCatch {
    margin-top: 24px;
    font-size: 32px;
    font-weight: 600;
}

.aboutList {
    margin-top: 60px;
    width: 100%;
}

.aboutItem {
    border-top: 2px solid;
    display: flex;
    line-height: 1.5em;
}

.aboutItem dt {
    padding: 24px 0;
    width: 220px;
    text-align: center;
    flex-shrink: 0;
}

.aboutItem dd {
    border-left: 1px solid;
    padding: 24px 0;
    padding-left: 60px;
}

.aboutItem:last-child {
    border-bottom: 2px solid;
}

footer {
    background: #f7f7f7;
    position: relative;
}

.footerHead {
    font-size: 40px;
    font-weight: 600;
    text-align: center;
    position: relative;
}

footer:before {
    content: "";
    display: block;
    width: 100%;
    height: 20px;
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
}

.footerDesc {
    margin-top: 42px;
    display: block;
    text-align: center;
}

.footerContact {
    margin-top: 60px;
    display: flex;
    justify-content: space-between;
}

.footerContact__box {
    border-radius: 10px;
    background: #fff;
    width: 48%;
    padding-bottom: 48px;
    text-align: center;
}

.footerContact__ttl {
    border-bottom: 1px solid;
    padding-top: 32px;
    padding-bottom: 4px;
    font-size: 20px;
    font-weight: 700;
    display: inline-block;
}

.footerContact__box h3 {
    margin-top: 18px;
    font-size: 22px;
    font-weight: 600;
}

.footerContact__btn {
    /* margin: 20px auto 0; */
    border-radius: 100px;
    background: #333;
    width: 300px;
    height: 68px;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.footerContact__btn span {
    padding-right: 8px;
}

.contactBtn img {
    width: 36px;
    height: auto;
    position: absolute;
    right: 32px;
}

.footerContact__btn img {
    width: 32px;
    height: 32px;
    position: absolute;
    right: 24px;
}

.footerMail__desc {
    display: block;
    margin-top: 32px;
}

.footerBtnWrap {
    margin-top: 20px;
    /* display: inline-flex; */
    align-items: center;
    gap: 20px;
    position: relative;
}

.mail .footerBtnWrap > img {
    width: 48px;
    height: auto;
    position: absolute;
    left: 6%;
    top: 50%;
    transform: translateY(-50%);
}

.tel .footerBtnWrap > img {
    width: 48px;
    height: auto;
    position: absolute;
    left: 24px;
    top: 50%;
    transform: translateY(-50%);
}

.footerContact__num {
    font-size: 52px;
    font-weight: 600;
}

.footerTel__desc {
    display: inline-block;
    border: 1px solid;
    border-radius: 100px;
    margin-top: 24px;
    padding: 8px 24px;
    font-size: 14px;
    font-weight: 600;
}

.footerInfo {
    background: #fff;
    border-radius: 10px;
    margin-top: 48px;
    padding: 32px 0;
    text-align: center;
}

.footerInfo__ttl dt {
    font-weight: 600;
}

.footerInfo__ttl dd {
    margin-top: 12px;
    font-size: 20px;
    font-weight: 600;
}

.footerInfo__desc {
    display: block;
    margin-top: 24px;
    line-height: 1.5em;
}

.footerInfo__desc a {
    text-decoration: underline;
}

.copyright {
    display: block;
    margin: 60px 0 32px;
    text-align: center;
}

.footerMap {
    width: 100%;
}

.footerMap iframe {
    width: 100%;
}

/* DETAIL */
.detail .headNav {
    position: absolute;
    color: #fff;
    z-index: 1;
}

.detailHead {
    width: 100%;
    height: 600px;
    position: relative;
    z-index: 0;
}

.detailHead__visual {
    width: 100%;
    height: 100%;
}

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

.detailHead__txt {
    background: rgba(0,0,0,.2);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.03em;
}

.detailHead__ttl .main {
    margin: 8px auto;
    font-size: 60px;
}

.detailHead__ttl span {
    display: block;
    text-align: center;
}

.detailHead__txt .small {
    font-size: 20px;
}

.detailContent {
    margin-top: 90px;
    padding-bottom: 90px;
    border-bottom: 1px solid #f7f7f7;
}

.floorPlan {
    display: flex;
}

.floorPlan__ttl {
    display: inline-block;
    flex-shrink: 0;
    font-size: 20px;
    font-weight: 600;
}

.floorPlan__ttl span {
    border-bottom: 1px solid;
    margin-bottom: 8px;
    padding-bottom: 4px;
    display: inline-block;
    font-weight: 600;
}

.detailInfo {
    margin-top: 90px;
}

.detailSlide {
    margin-top: 60px;
    font-size: 0;
    position: relative;
}

.prev-arrow, .next-arrow {
    position: absolute;
    content: "";
    display: block;
    top: 0;
    width: 50%;
    max-width: 38vw;
    height: calc(1080px / 3 * 2);
    z-index: 5;
    cursor: pointer;
}

.prev-arrow {
    left: 0;
}

.next-arrow {
    right: 0;
}

.prev-arrow span,.next-arrow span {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.prev-arrow span img,.next-arrow span img {
    width: 48px;
    height: auto;
}

.prev-arrow span {
    left: 24px;
}

.next-arrow span {
    right: 24px;
}

.detailSlideMain__item {
    width: 100%;
    height: calc(1080px / 3 * 2);
    display: flex !important;
    justify-content: center;
    font-size: 0;
    background: #f7f7f7;
    border-radius: 5px;
    overflow: hidden;
}

.detailSlideMain__item img {
    /* width: 100%; */
    height: auto;
    justify-content: center;
    font-size: 0;
}

.detailSlideThumb.slick-initialized.slick-slider {
    margin-top: 1%;
    width: 100%;
}

.detailSlideThumb.slick-list {
    width: 100%;
}

.detailSlideThumb__item {
    border-radius: 5px;
    padding-top: calc(19% / 3 * 2);
    width: 19%;
    font-size: 0;
    position: relative;
    overflow: hidden;
    transition: 0.2s;
}

.detailSlideThumb__item:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border: solid 4px transparent;
    transition: 0.2s;
}

.detailSlideThumb__item:hover:after {
    border-color: #ccc;
}

.detailSlideThumb__item.slick-current:after {
    border-color: #333;
}

.detailSlideThumb__item img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    object-fit: cover;
    transition: 0.2s;
}

.detailSlideThumb .slick-track {
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap;
    transform: none !important;
    row-gap: 12px;
    column-gap: calc(5% /4);
}

.detailSlideThumb .slick-track:before, .detailSlideThumb .slick-track:after {
    display: none;
}

.detail .siteUnit {
    margin-bottom: 90px;
}

@media screen and (max-width: 1200px) {
    .l-wrap-m {
        width: 800px;
    }

    body {
        min-width: 1024px;
        font-size: max(1.333vw,14px)
    }

    .headNav.l-wrap-l {
        padding-right: 10vw;
    }

    .footerContact__box h3 {
        font-size: 18px;
    }

    .footerContact__btn {
        margin-left: 32px;
        width: 260px;
        height: 60px;
        /* padding-left: 24px; */
        font-size: 16px;
    }

    .mail .footerBtnWrap > img {
        width: 42px;
    }

    .footerContact__btn img {
        width: 28px;
        height: auto;
        right: 20px;
    }

    .tel .footerBtnWrap > img {
        width: 42px;
    }

    .footerContact__num {
        margin-left: 32px;
        padding-top: 4px;
        font-size: 42px;
        display: block;
    }

    .footerContact__btn span {
        padding-right: 12px;
    }
}

@media screen and (max-width: 767px) {
    body {
        min-width: unset;
    }

    .fixLogo {
        padding-top: 6px;
        width: 120px;
        height: 128px;
        border-radius: 0 0 20px 0;
    }

    .fixLogo img {
        width: 64px;
        height: 99px;
    }

    .fixBtn {
        border-radius: 5px;
        width: 46px;
        height: 46px;
        right: 2vw;
        top: 10px;
        right: 2vw;
    }

    .fixBtn.-mail {
        top: 64px;
    }

    .fixBtn.-mail img {
        width: 22px;
        height: auto;
    }

    .topFv__visual {
        padding-top: 42px;
        width: 100%;
        height: 100vw;
    }

    .headNav {
        display: none;
    }

    .scroll {
        display: none;
    }

    .topFv__catch span {
        margin-top: 8px;
        font-size: 16px;
        display: block;
    }

    .topFv__catch h1 {
        margin-top: -30px;
        font-size: 60px;
        line-height: 0.8;
    }

    .drawer {
        width: 100%;
    }

    .drawer_button .drawer_bar {
        width: 21px;
        left: 12px;
    }

    .drawer {
        padding: 24px 4vw;
    }

    .open {
    }

    .open .fixLogo {
        z-index: 1;
    }

    .drawerNavClm {
        width: 100%;
    }

    .drawerNavClm + .drawerNavClm {
        margin-top: 42px;
    }

    .drawerNav {
        margin-top: 42px;
    }

    .drawerLogo {
        font-size: 48px;
    }

    .drawer_button.active .drawer_bar1 {
        transform: translateY(8px) rotate(-45deg);
    }

    .drawer_button.active .drawer_bar2 {
        transform: translateY(-8px) rotate(45deg);
    }

    .drawerNavItem +.drawerNavItem {
        margin-top: 42px;
    }

    .drawerNavItem__child a {
        margin-top: 24px;
    }

    .drawerContact__box {
        padding-left: 12px;
    }

    .drawerContact__btn {
        margin-left: 24px;
    }

    .l-wrap-m {
        width: 100%;
    }

    .fixLogo {
        padding-top: 6px;
        width: 120px;
        height: 128px;
        border-radius: 0 0 20px 0;
    }

    .fixLogo img {
        width: 72px;
        height: 112px;
    }

    .fixBtn {
        border-radius: 5px;
        width: 46px;
        height: 46px;
        2right: 2vw;2right: 2vw;2right: 2v;2right: 2; top: 10px;
        right: 2vw;
    }

    .fixBtn.-mail {
        top: 64px;
    }

    .fixBtn.-mail img {
        width: 22px;
        height: auto;
    }

    .concept {
        flex-direction: column;
        justify-content: flex-start;
        padding-bottom: 60px;
    }

    .conceptVisual {
        width: 100%;
    }

    .conceptVisual__item.vertical {
    }

    .conceptText {
        margin-top: 60px;
    }

    .topSectionTitle {
        font-size: 20px;
    }

    .conceptCatch {
        padding-right: 12vw;
        font-size: max(26px,6.5vw);
    }

    .conceptLines {
        font-size: max(14px,3.73vw);
    }

    .marcheSlideLeft {
        margin-top: -86px;
        width: 50%;
        height: 220px;
        position: static;
    }

    .marcheLines {
        margin-top: 24px;
        width: 100%;
    }

    .marche {
    }

    .marcheSlides {
        width: 100%;
        position: static;
        display: flex;
        flex-direction: column-reverse;
    }

    .marcheSlideRight {
        margin-left: auto;
        position: static;
        width: 70vw;
        height: 90vw;
    }

    .marcheCatch {
        margin-top: 24px;
        font-size: 24px;
    }

    .marcheText {
        padding-top: 60px;
    }

    .marcheLines p {
        font-size: 14px;
    }

    .marcheMovie {
        margin-top: 60px;
        margin-left: -8vw;
        margin-right: -8vw;
        width: calc(100% + 16vw);
        flex-direction: column-reverse;
    }

    .marcheMovie__box {
        padding-left: 0;
        width: 100%;
        font-size: 0;
    }

    .marcheMovie__caption {
        border-radius: 50px 50px 0 0;
        width: 100%;
        padding: 24px 20px 24px;
        text-align: center;
    }

    .marcheMovie__caption h3 {
        font-size: 16px;
    }

    .marcheMovie__caption span {
        font-size: 14px;
    }

    .siteText {
        padding-top: 90px;
    }

    .siteCatch {
        font-size: 24px;
    }

    .siteLines {
        font-size: 14px;
        line-height: 1.5em;
    }

    .sitePlan__item {
        padding: 0 4vw;
        width: 100%;
    }

    .sitePlanWrap {
        width: 100%;
        padding-bottom: 32px;
    }

    .sitePlan {
        flex-direction: column;
    }

    .sitePlanBtn {
        flex-direction: row;
    }

    .sitePlanBtn span {
        width: 50%;
        height: 60px;
        border-radius: 10px 10px 0 0;
    }

    .siteUnit__item {
        width: 48%;
    }

    .siteUnit {
        margin-top: 32px;
        padding: 0 4vw;
    }

    .siteUnit__item span {
        padding: 10px 0;
        width: 130px;
        font-size: 24px;
    }

    .contactBtn {
        margin-top: 48px;
        width: 300px;
        height: 70px;
        font-size: 16px;
        padding-right: 16px;
    }

    .contactBtn img {
        width: 30px;
    }

    .site {
        padding-bottom: 60px;
    }

    .about {
        margin-top: 60px;
    }

    .aboutCatch {
        font-size: 24px;
    }

    .aboutList {
        margin-top: 42px;
        padding: 0 4vw;
    }

    .aboutItem dt {
        width: 120px;
    }

    .aboutItem {
        font-size: 13px;
    }

    .aboutItem dd {
        padding: 24px 12px;
    }

    .footerHead {
        font-size: 24px;
    }

    .footerDesc {
    margin-top: 24px;
    line-height: 1.5em;
}

    footer:before {
        height: 13px;
    }

    .footerContact {
        flex-direction: column;
        justify-content: flex-start;
        row-gap: 24px;
        max-width: 375px;
    }

    .footerContact__box {
        width: 100%;
    }

    .footerInfo {
        margin-top: 24px;
    }

    .copyright {
        margin-top: 24px;
    }

    .detailSlideMain__item {
        height: calc(100vw / 3 * 2);
    }

    .detailHead {
        height: 400px;
    }

    .detailHead__ttl .main {
        font-size: 48px;
    }

    .detailHead__txt {
        padding-top: 42px;
    }

    .detailContent {
        margin-top: 60px;
        padding-bottom: 60px;
    }

    .floorPlan {
        flex-direction: column;
    }

    .floorPlan__img {
        margin-top: 32px;
    }

    .floorPlan__ttl {
        text-align: center;
    }

    .detailInfo {
        margin-top: 60px;
        padding: 0 4vw;
    }

    .prev-arrow, .next-arrow {
        height: calc(100vw / 3 * 2);
    }

    .prev-arrow span img, .next-arrow span img {
        width: 24px;
    }

    .detailSlideThumb.slick-initialized.slick-slider {
        margin-top: 12px;
    }

    .detail .siteUnit {
        margin-top: 60px;
        margin-bottom: 60px;
    }
}
