*,
:after,
:before {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

a,
body,
dd,
div,
dl,
dt,
h1,
h2,
h3,
h4,
html,
img,
li,
ol,
p,
table,
td,
th,
tr,
ul {
    border: 0;
    vertical-align: bottom
}

article,
aside,
div,
figcaption,
figure,
footer,
header,
nav,
section {
    display: block
}

span {
    display: inline-block
}

li,
ol,
ul {
    list-style: none;
    list-style-type: none
}

a,
dd,
div,
dt,
h1,
h2,
h3,
h4,
li,
p,
span,
td,
th {
    text-align: left
}

a {
    text-decoration: none
}

button,
input,
select,
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
    border: none;
    border-radius: 0;
    font: inherit;
    font-size: 100%;
    outline: none
}

textarea {
    resize: vertical
}

button,
input[type=button],
input[type=submit],
label,
select {
    cursor: pointer
}

:root {
    --header-height: 8rem;
    --my-preset--c-white: #fff;
    --my-preset--c-black: #000;
    --my-preset--c-gray: #515151;
    --my-preset--c-light-gray: #eaeef2;
    --my-preset--c-blue: #304566;
    --my-preset--c-ligth-blue: #a4b5bf;
    --my-preset--c-darkblue: #102942;
    --my-preset--c-light-yellow: #eae9e2;
    --my-preset--c-yellow: #c6a649;
    --my-preset--font-family--noto-sans-jp: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    --my-preset--font-family--raleway: "Raleway", sans-serif
}

@media screen and (max-width:960px) {
    :root {
        --header-height: 10.5rem
    }
}

:root {
    --my-preset--background: var(--my-preset--c-white);
    --my-preset--color-text: var(--my-preset--c-black);
    --my-preset--base-font-family: var(--my-preset--font-family--noto-sans-jp)
}

html {
    font-size: 10px
}

@media screen and (max-width:1800px) {
    html {
        font-size: .5555555556vw
    }
}

@media screen and (max-width:960px) {
    html {
        font-size: 1.3333333333vw
    }
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background: var(--my-preset--background);
    color: var(--my-preset--color-text);
    font-family: var(--my-preset--base-font-family);
    font-size: 1.5rem;
    letter-spacing: .05em;
    line-height: 1.5;
}

@media screen and (max-width:960px) {
    body {
        font-size: 2.4rem
    }
}

a {
    color: inherit;
    display: inline-block
}

@media(hover:hover) {
    a:not([class]) {
        transition: opacity .3s ease
    }

    a:not([class]):hover {
        opacity: .7
    }
}

picture {
    line-height: 1
}

img {
    height: auto;
    max-width: 100%
}


/* header */
.l-header {
    position: relative;
}

.l-header__inner {
    background-color: var(--my-preset--c-white);
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    transition: all .3s ease;
    visibility: hidden;
    z-index: 1000
}

.l-header.is-active .l-header__inner {
    opacity: 1;
    visibility: visible
}


.l-header__logo {
    padding: 1.5rem 3.5rem;
    width: 20rem
}

.l-header__box {
    display: flex;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1001;
}

.l-header__tel {
    align-items: center;
    background: #135b8e;
    color: var(--my-preset--c-white);
    display: flex;
    font-size: 1.8rem;
    font-weight: 700;
    height: 7rem;
    justify-content: center;
    line-height: 1.5555555556;
    width: 24.3rem;
}

.l-header__tel-icon {
    line-height: 1;
    margin-right: 1rem;
    width: 1.1rem
}

.l-header__menu {
    width: 7rem;
    height: 7rem;
    background: var(--my-preset--c-white);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    cursor: pointer;
    position: relative;
    z-index: 1000;
}

.l-header__menu-top,
.l-header__menu-bottom {
    width: 52%;
    height: 1px;
    background: var(--my-preset--c-black);
    transition: all .3s;
}

.l-header__menu-top {
    transform: translateY(-.5rem);
}

.l-header__menu-top.rotateTop {
    transform: rotate(40deg);
    background: var(--my-preset--c-white);
}


.l-header__menu-bottom {
    transform: translateY(.5rem);
}

.l-header__menu-bottom.rotateBottom {
    transform: rotate(-40deg) translateY(-1px);
    background: var(--my-preset--c-white);
}

.telNone {
    opacity: 0;
    pointer-events: none;
}

.l-header__gnav {
    height: 100svh;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1000;
    width: 72.1rem;
    background: var(--my-preset--c-ligth-blue);
    opacity: 0;
    transition: all .3s;
    pointer-events: none;
    display: flex;
    justify-content: center;
    align-items: center;
}

.l-header__nav {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 5rem;
}

.l-header__list {
    width: fit-content;
}  

.l-header__link {
    display: block;
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--my-preset--c-white);
}

.l-header__nav__btnBox {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 4.7rem;
}

.l-header__nav__btn {
    .p-contact__head__link  {
        margin-bottom: 0;
        width: 30.1rem;
        height: 7.3rem;
        color: var(--my-preset--c-white);
    }
    .p-contact__head__link-materials {
        background: #135b8e;
    }
}

.l-header__gnav.translateGnav {
    opacity: 1;
    pointer-events: all;
}

.menuBg {
    background: var(--my-preset--c-ligth-blue);
}


@media screen and (max-width:960px) {
    .l-header {
        display: flex;
        height: 7rem;
        left: 0;
        position: fixed;
        right: 0;
        top: 0;
        z-index: 1000
    }
    .l-header__inner {
        padding: 0 1rem;
        position: static;
        width: 66.66%
    }
    .l-header__logo {
        align-items: center;
        display: flex;
        height: 100%;
        padding: 0;
        /* width: 23rem */
        position: relative;
        left: 2.5rem;
        /* top: 1.8rem; */
        width: 12.3rem
    }
    .l-header__tel {
        flex: 1;
        font-size: 2.2rem;
        height: auto;
        position: static;
        width: 25rem;
        transition: all .3s;
    }
    .l-header__gnav {
        width: 100%;
    }
    .l-header__link  {
        font-size: 4rem;
    }
    .l-header__nav__btn  {
        .p-contact__head__link {
            width: 33.1rem;
            height: 9.3rem;
        }
    }
}

/* footer */
.l-footer {
    background: #222728;
    padding: 8rem 0 4.5rem;
    text-align: center
}

.l-footer__logo {
    margin: 0 0 3rem;
    width: 13.2rem
}

.l-footer__sns-list {
    display: flex;
    justify-content: center;
    margin: 0 0 1rem
}

.l-footer__sns-item {
    padding: 1rem
}

.l-footer__sns-link {
    transition: .6s ease;
    width: 2.5rem
}

@media(hover:hover) {
    .l-footer__sns-link:hover {
        opacity: .8
    }
}

.l-footer__link {
    color: #7b7b7b;
    font-size: 1.3rem;
    letter-spacing: .025em;
    line-height: 2.1538461538
}

.l-footer__copyright {
    color: #7b7b7b;
    font-size: 1.3rem;
    letter-spacing: .025em;
    line-height: 2.4615384615
}

@media screen and (max-width:960px) {
    .l-footer {
        padding: 8rem 4rem 19rem
    }
    .l-footer__logo {
        margin: 0 0 2.5rem;
        width: 19rem
    }
    .l-footer__sns-item {
        padding: 1.5rem
    }
    .l-footer__sns-link {
        width: 3.3rem
    }
    .l-footer__link {
        font-size: 2.2rem
    }
    .l-footer__copyright {
        font-size: 2.2rem
    }
}


.l-fixed-contents {
    bottom: 50%;
    position: fixed;
    right: 0;
    z-index: 999;
    transform: translateY(50%);
    display: flex;
    flex-direction: column;
    gap: .7rem;
    @media screen and (max-width:960px) {
        flex-direction: row;
        gap: 0;
        bottom: 0;
        transform: translateY(0);
    }
}

@media screen and (max-width:960px) {
    .l-fixed-contents {
        left: 0
    }
}

/* 固定ボタン */
.l-fixed-contents__link {
    align-items: center;
    background: #102942;
    /* background: #135b8e; */
    color: var(--my-preset--c-white);
    display: flex;
    flex-direction: column;
    font-size: 1.3rem;
    height: 9rem;
    justify-content: center;
    letter-spacing: .08em;
    line-height: 1.5384615385;
    text-align: center;
    transition: transform .6s cubic-bezier(0, .7, .3, 1);
    width: 9rem;
}

.l-fixed-contents__link-reservation {
    background: var(--my-preset--c-yellow);
}

@media(hover:hover) {
    .l-fixed-contents__link:hover {
        transform: scale(1.1)
    }
}

.l-fixed-contents__link-icon {
    margin: 0 0 .5rem;
    width: 2.7rem
}

@media screen and (max-width:960px) {
    .l-fixed-contents__link {
        flex-direction: row;
        font-size: 2.8rem;
        height: 10rem;
        width: 100%
    }
    .l-fixed-contents__link-icon {
        line-height: 1;
        margin: 0 1.2rem 0 0;
        width: 3rem
    }
}


/* l-main */
.l-main {
    overflow: hidden
}

.l-section {
    position: relative
}

.l-inner {
    margin: 0 auto;
    max-width: 128rem;
    padding: 0 4rem;
    width: 100%;
}

.c-img-cover {
    height: 100%;
    inset: 0;
    margin: auto;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    width: 100%;
}

.c-section-title {
    font-feature-settings: "palt";
    font-size: 1.6rem;
    font-weight: 400;
    letter-spacing: .2em;
    line-height: 1.375
}

.c-section-subtitle {
    font-feature-settings: "palt";
    font-family: var(--my-preset--font-family--raleway);
    font-size: 3.6rem;
    font-weight: 700;
    letter-spacing: .2em;
    line-height: 1.5555555556
}

.c-fadein-item {
    opacity: 0;
    transform: translateY(2rem);
    transition: all .8s ease
}

.c-fadein-item.is-fadein {
    opacity: 1;
    transform: translate(0)
}

.c-required-plate {
    background: #c80a14;
    color: var(--my-preset--c-white);
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.6666666667;
    padding: 0 5px 2px;
    position: relative;
    top: -2px;
    vertical-align: middle
}

@media screen and (max-width:960px) {
    .c-required-plate {
        font-size: 2.2rem
    }
}

/* p-mv */
.p-mv {
    height: 100vh
    /* height: 70vh */
}

.p-mv__bg {
    height: 78%
}

.p-mv__bg__swiper {
    display: block;
    height: 100%;
    width: 100vw
}

.p-mv__bg__swiper-item {
    display: block;
    /* height: 101rem; */
    position: relative;
    height: 100%;
}

.p-mv__bg__swiper-item img {
    height: 100%;
    inset: 0;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    transform: scale(1);
    transition: all 11s ease;
    width: 100%
}

.p-mv__bg__swiper-item.swiper-slide-active img,
.p-mv__bg__swiper-item.swiper-slide-duplicate-active img,
.p-mv__bg__swiper-item.swiper-slide-prev img {
    transform: scale(1.1)
}

.p-mv__logo {
    left: 6rem;
    position: absolute;
    top: 3rem;
    width: 13.3rem;
    z-index: 10
}

.p-mv__title {
    position: absolute;
    left: 50%;
    top: 5vw;
    z-index: 1;
    transform: translateX(-50%) !important;
    width: 81.5rem;
    color: var(--my-preset--c-white);
    font-weight: 700;
    transition: all .6s ease .4s;
}

/* .p-mv__subtitle {
    position: absolute;
    left: 50%;
    top: 12vw;
    z-index: 1;
    transform: translateX(-50%);
    font-size: 2.5rem;
    color: var(--my-preset--c-white);
} */

/* .p-mv__inner {
    bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: absolute;
    left: 0;
    top: 0;
    width: 71rem;
    z-index: 20
} */

@media screen and (max-width:960px) {
    .p-mv__bg {
        height: 64%;
    }
    .p-mv__bg__swiper-item {
        /* padding: 178% 0 0 */
    }
    .p-mv__logo {
        left: 3.7rem;
        top: 1.8rem;
        width: 12.3rem
    }
    /* .p-mv__inner {
        align-items: center;
        justify-content: flex-start;
        padding: 16rem 0 0;
        width: 100%
    } */
    .p-mv__title {
        top: 20vw;
        width: 66.1rem;
    }
}

.p-mv__campain {
    position: relative;
    height: 22%;
    background: #164b68;
}
.p-mv__campain-box {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50% ,-50%);
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 6.9rem;
    max-width:  85%;
    width: 100%;
}
@media screen and (max-width:960px) {
    .p-mv__campain {
        padding: 0 4rem;
        height: 36%;
    }
    .p-mv__campain-box {
        position: relative;
        flex-direction: column;
        gap: 1rem;
        max-width: 100%;
        /* top: 0; */
        /* transform: translateY(0); */
    }
}

/* p-campain */
/* .p-campain {
    height: 30vh;
    background: #135b8e;
} */

/* p-itro */
.p-intro {
    padding: 14rem 0 0;
    margin-bottom: 15rem;
}

.p-intro__body {
    display: flex;
    flex-direction: row-reverse
}

.p-intro__body__outer {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding: 30rem 6rem 10rem 10rem;
    position: relative;
    width: 50%
}

.p-intro__body__bg {
    background: #ede8e2;
    inset: 0;
    opacity: 0;
    position: absolute;
    transform: translateY(2rem);
    transition: all .6s ease;
    z-index: -1
}

.p-intro__body.is-fadein .p-intro__body__bg {
    opacity: 1;
    transform: translate(0)
}

.p-intro__body__bg-text {
    margin: 0 7rem 0 auto;
    max-width: 100%;
    opacity: 0;
    transform: translate(-4rem);
    transition: all .6s ease .4s;
    width: 58rem
}

.p-intro__body.is-fadein .p-intro__body__bg-text {
    opacity: 1;
    transform: translate(0)
}

.p-intro__body__subtitle {
    display: inline-block;
    font-size: 2rem;
    letter-spacing: .1em;
    line-height: 2.25;
    margin: 0 0 .5rem;
    position: relative
}

.p-intro__body__subtitle:before {
    background: #939393;
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    right: 0;
    width: 24rem
}

.p-intro__body__title {
    font-size: 3.7rem;
    letter-spacing: .1em;
    line-height: 1.7027027027;
    margin: 0 0 4rem
}

.p-intro__body__desc {
    font-size: 1.6rem;
    letter-spacing: .08em;
    line-height: 2.375
}

.p-intro__body__inner {
    max-width: 58.5rem;
    padding: 0 0 0 3rem;
    width: 100%
}

.p-intro__body__imgs {
    flex: 1;
    padding: 17rem 0 30rem
}

.p-intro__body__imgs-main {
    position: relative;
    width: 63rem
}

.p-intro__body__imgs-sub {
    position: absolute;
    right: 2.5rem;
    top: 13rem;
    transform: translate(100%);
    width: 38rem
}

@media screen and (max-width:960px) {
    .p-intro {
        padding: 0;
        margin-bottom: 0rem;
    }
    .p-intro__body {
        flex-direction: column
    }
    .p-intro__body__outer {
        padding: 16rem 4rem 40rem;
        width: 100%
    }
    .p-intro__body__bg {
        left: auto;
        width: 55%
    }
    .p-intro__body__bg-text {
        margin: 0 -.5rem 0 auto;
        width: 39.2rem
    }
    .p-intro__body__subtitle {
        font-size: 2.8rem;
        line-height: 1.6071428571;
        margin: 0 0 3rem
    }
    .p-intro__body__subtitle:before {
        width: 25rem
    }
    .p-intro__body__title {
        font-size: 4.5rem;
        line-height: 1.3111111111
    }
    .p-intro__body__desc {
        font-size: 2.8rem;
        line-height: 1.6428571429
    }
    .p-intro__body__inner {
        max-width: 100%;
        padding: 0
    }
    .p-intro__body__imgs {
        margin: -22.5rem 0 0;
        padding: 0 0 28rem
    }
    .p-intro__body__imgs-main {
        width: 55.2rem
    }
    .p-intro__body__imgs-sub {
        right: 12.5rem;
        top: 19.5rem;
        width: 32.8rem
    }
}

/* p-works */
.p-works {
    /* background: #102942; */
    overflow: hidden;
    padding: 11.5rem 0 9rem;
    margin-bottom: 15rem;
}

.p-works__inner {
    display: flex;
}

.p-works__head {
    align-items: center;
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: center;
    padding: 0 0 17rem 3.5rem;
}

.p-works__body {
    width: 146rem;
    position: relative;
}

.p-works__swiper {
    padding: 0 30rem 0 1rem;
    width: 146rem;
}

.p-works__swiper-item {
    padding: 0 1.5rem;
}

.p-works__swiper-link {
    display: block;
}

.p-works__swiper-thumb {
    overflow: hidden;
    position: relative;
}

.p-works__swiper-thumb:before {
    content: "";
    display: block;
    padding: 147.14% 0 0;
}

.p-works__swiper-thumb img {
    transition: transform .8s cubic-bezier(0, .7, .3, 1);
}

@media(hover:hover) {
    .p-works__swiper-thumb:hover img {
        transform: scale(1.1);
    }
}

.p-works__swiper-title {
    /* color: var(--my-preset--c-white); */
    font-size: 1.6rem;
    height: 8rem;
    letter-spacing: .08em;
    line-height: 2;
    padding: 1.5rem 0 0;
}

.p-works__swiper-arrows {
    /* background: var(--my-preset--c-white); */
    background: #eaeef2;
    /* bottom: 8rem; */
    bottom: 0;
    display: flex;
    height: 7rem;
    left: 0rem;
    position: absolute;
    width: 7rem;
    z-index: 10;
}

.p-works__swiper-arrow {
    align-items: center;
    display: flex;
    justify-content: center;
    position: relative;
    width: 50%
}

.p-works__swiper-arrow.-prev {
    padding: 0 0 0 .5rem
}

.p-works__swiper-arrow.-next {
    padding: 0 .5rem 0 0
}

.p-works__swiper-arrow:before {
    content: "";
    display: block;
    height: 1rem;
    transform: rotate(45deg);
    width: 1rem
}

.p-works__swiper-arrow.-prev:before {
    border-bottom: 1px solid var(--my-preset--c-black);
    border-left: 1px solid var(--my-preset--c-black)
}

.p-works__swiper-arrow.-next:before {
    border-right: 1px solid var(--my-preset--c-black);
    border-top: 1px solid var(--my-preset--c-black)
}

@media screen and (min-width:1801px) {
    .p-works__body {
        width: 81vw;
    }
    .p-works__swiper {
        padding: 0 16.6vw 0 1rem;
        width: 81vw;
    }
}

@media screen and (max-width:960px) {
    .p-works {
        padding: 9rem 0 4rem;
        margin-bottom: 0rem;
    }
    .p-works__inner {
        flex-direction: column;
    }
    .p-works__head {
        /* padding: 0 0 5rem; */
        padding: 0 0 5rem 5rem;
        align-items: flex-start;
    }
    .p-works__body {
        padding: 0 0 0 4rem;
        width: 100%;
    }
    .p-works__swiper {
        padding: 0 11.5rem 0 0;
        width: 100%;
    }
    .p-works__swiper-title {
        font-size: 2.8rem;
        height: 14.2rem;
        padding: 3rem 0 0;
    }
    .p-works__swiper-arrows {
        bottom: 14.2rem;
        height: 9.2rem;
        width: 9.2rem;
        left: auto;
        top: -15rem;
        right: 2rem;
    }

    .lightbox {
        position: fixed;
        top: 50% !important;
        transform: translateY(-50%);
    }

    .lightboxOverlay {
    outline: none;
    }
}

/* p-openhouse */
.p-openhouse-container {
    padding: 10.5rem 0 9.2rem;
    background: var(--my-preset--c-darkblue);
    position: relative;
    z-index: 1;
    color: var(--my-preset--c-white);
    @media screen and (max-width:960px)  {
        padding: 8rem 0 9rem;
    }

}

.p-openhouse-container::after {
    content: "";
    display: block;
    width: 20rem;
    height: 20rem;
    background: var(--my-preset--c-darkblue);
    position: absolute;
    left: 50%;
    bottom: 1.1rem;
    z-index: -1;
    transform: translateX(-50%) rotate(45deg);
}

.p-openhouse__main {
    background: #ede8e2;
    padding: 9.2rem 0 11.1rem;
}

.p-openhouse__inner {
    background: var(--my-preset--c-white);
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 0 10rem;
}

@media screen and (max-width:960px) {
    .p-openhouse__main {
        padding: 7.9rem 1.5rem 10.6rem;
    }

    .p-openhouse__inner {
        padding: 0 0 10rem;
        margin: 0;
    }
}

.p-openhouse__subtitle {
    font-family: var(--my-preset--font-family--raleway);
    font-size: 3.6rem;
    font-weight: 700;
    letter-spacing: .2em;
    line-height: 1.2777777778;
    margin: 0 0 1.5rem;
    text-align: center;
    color: #fefefe;

    @media screen and (max-width:960px)  {
        font-size: 3.8rem;
    }
}

.p-openhouse__subtitle small {
    font-size: 2.7rem
}

.p-openhouse__subtitle-ja,
.p-openhouse__lead {
    text-align: center;
}

.p-openhouse__subtitle-ja {
    /* margin-bottom: 5rem; */

    @media screen and (max-width:960px) {
        font-size: 2.8rem;
        /* margin-bottom: 4.5rem; */
    }
}

.p-openhouse__lead {
    font-size: 2.6rem;

    @media screen and (max-width:960px) {
        font-size: 3.4rem;
    }
}

.p-openhouse__title {
    align-items: center;
    display: flex;
    font-size: 4rem;
    font-weight: 400;
    gap: 2rem;
    justify-content: center;
    letter-spacing: .2em;
    line-height: 1.3333333333;
    margin: 0 0 3.5rem;
    color: #fefefe;
}

@media screen and (max-width:960px) {
    .p-openhouse__title {
        font-size: 4.2rem;
        padding: 0 4rem
    }
}

.p-openhouse__label {
    align-items: center;
    background: #fff;
    display: inline-flex;
    gap: 2.5rem;
    padding: .8rem 3.4rem .8rem 2.4rem
}

.p-openhouse__label-name {
    align-items: center;
    border: 1px solid #38393e;
    border-radius: 50%;
    color: #38393e;
    display: flex;
    font-size: 1.2rem;
    font-weight: 700;
    height: 3.6rem;
    justify-content: center;
    letter-spacing: .08em;
    line-height: 1;
    width: 3.6rem
}

.p-openhouse__label-text {
    color: #38393e;
    font-size: 3.2rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.25
}

.p-openhouse__label-text span {
    font-size: 2rem;
}

.p-openhouse__label-cat {
    background-color: #38393e;
    border-radius: 50vh;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.4666666667;
    padding: .7rem 2rem
}

.p-openhouse__lead__text {
    font-size: 1.8rem;
    padding: 1rem 0 0;
    text-align: center
}

@media screen and (max-width:960px) {
    .p-openhouse__lead__text {
        font-size: 2.6rem;
        padding: 1.5rem 0 0
    }
}

.p-openhouse__head {
    margin: 0 calc(50% - 50vw) 4rem;
    padding: 0 0 11rem;
    position: relative
}

@media screen and (max-width:960px) {
    .p-openhouse__head {
        margin: 0 0 6rem;
        padding: 0 0 31rem
    }
}

.p-openhouse__head__outer {
    position: relative;
    z-index: 1
}

.p-openhouse__head__outer:before {
    background: #38393e;
    content: "";
    display: block;
    inset: 0;
    position: absolute;
    z-index: -1
}

.p-openhouse__head__inner {
    margin: 0 auto;
    max-width: 148rem;
    /* padding: 0 4rem; */
    position: relative;
    width: 100%
}

@media screen and (max-width:960px) {
    .p-openhouse__head__inner {
        align-items: center;
        display: flex;
        flex-direction: column;
        padding: 6rem 4rem 21rem
    }
}

.p-openhouse__head__container {
    padding: 19.5rem 2.5rem 23rem;
    width: 58rem
}

@media screen and (max-width:960px) {
    .p-openhouse__head__container {
        padding: 0;
        width: auto
    }
}

.p-openhouse__head__subtitle {
    font-size: 2rem;
    letter-spacing: .2em;
    line-height: 2.75
}

@media screen and (max-width:960px) {
    .p-openhouse__head__subtitle {
        font-size: 2.8rem;
        line-height: 1.9642857143
    }
}

.p-openhouse__head__title {
    font-size: 3.8rem;
    font-size: 2.8rem;
    font-weight: 400;
    letter-spacing: .2em;
    line-height: 1.4473684211;
    margin: 0 0 4rem
}

@media screen and (max-width:960px) {
    .p-openhouse__head__title {
        font-size: 4.4rem;
        font-size: 3.4rem;
        line-height: 1.4318181818;
        margin: 0 0 1rem
    }
}

.p-openhouse__head__address {
    font-size: 1.6rem;
    line-height: 1.75
}

@media screen and (max-width:960px) {
    .p-openhouse__head__address {
        font-size: 2.8rem
    }
}

.p-openhouse__head__img {
    bottom: -11rem;
    position: absolute;
    right: calc(50% - 50vw);
    width: 101.5rem;
    z-index: 10
}

@media screen and (max-width:960px) {
    .p-openhouse__head__img {
        bottom: -31rem;
        left: 4rem;
        right: 4rem;
        width: auto
    }
}

.p-openhouse__concept {
    margin: 0 calc(50% - 50vw);
    padding: 4rem 0 11rem
}

.p-openhouse__concept-inner {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 148rem;
    padding: 0 6.5rem;
    width: 100%
}

@media screen and (max-width:960px) {
    .p-openhouse__concept-inner {
        flex-direction: column;
        gap: 3rem;
        padding: 0 4rem
    }
}

.p-openhouse__concept-img {
    width: 52rem
}

.p-openhouse__concept-img img {
    width: 100%
}

@media screen and (max-width:960px) {
    .p-openhouse__concept-img {
        width: 100%
    }
}

.p-openhouse__concept-body {
    width: 71rem
}

@media screen and (max-width:960px) {
    .p-openhouse__concept-body {
        width: 100%
    }
}

.p-openhouse__concept-title {
    font-size: 1.6rem;
    letter-spacing: .1em;
    line-height: 1.625;
    margin: 0 0 1.5rem
}

@media screen and (max-width:960px) {
    .p-openhouse__concept-title {
        font-size: 2.8rem;
        margin: 0 0 2rem
    }
}

.p-openhouse__concept-text {
    font-size: 1.6rem;
    letter-spacing: .08em;
    line-height: 2.375
}

@media screen and (max-width:960px) {
    .p-openhouse__concept-text {
        font-size: 2.8rem;
        line-height: 1.6428571429
    }
}

.p-openhouse__concept-text span {
    font-weight: 700;
}

.p-openhouse__contents {
    margin: 0 auto;
    max-width: 104rem;
    padding: 0 4rem;
    width: 100%;
    @media screen and (max-width: 960px) {
        padding: 0 2.4rem;
    }
}

/* swiper追加 */
.p-openhouse-swiper__wrapper {
    padding-top: 10rem;
    margin-bottom: 4rem;
    @media screen and (max-width: 960px) {
        padding-top: 7rem;
        margin-bottom: 2rem;
    }
}

.p-openhouse-swiper__open {
    margin-bottom: 6.5rem;
    padding: 1rem 0;
    /* background: #135b8e; */
    background: #164b68;
    border-radius: 5rem;
    font-size: 2.6rem;
    font-weight: 700;
    color: var(--my-preset--c-white);
    text-align: center;
    @media screen and (max-width: 960px) {
        font-size: 2.8rem;
    }
}

.p-openhouse-swiper__box {
    display: flex;
    align-items: center;
    gap: 3.2rem;
    margin: 0 auto 6.5rem;
    width: fit-content;
    @media screen and (max-width: 960px) {
        gap: 2rem;
        margin: 0 auto 6.5rem;
    }
}

.p-openhouse-swiper__title-address {
    padding: .5rem 3rem;
    background: var(--my-preset--c-darkblue);
    font-size: 2.4rem;
    font-weight: 700;
    color: var(--my-preset--c-white);
    letter-spacing: 0.06em;
    /* line-height: 1; */
    border-radius: 50px;
    white-space: nowrap;
    @media screen and (max-width: 960px) {
        padding: 0.5rem 2rem;
        font-size: 2.4rem;
    }
}

.p-openhouse-swiper__title {
    font-size: 4.2rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.06em;
    @media screen and (max-width: 960px) {
        font-size: 4.8rem;
    }
}

.p-openhouse-swiper__accordion-box {
    margin-bottom: 4rem;
}

.p-openhouse-swiper__accordion-box .p-openhouse-swiper__accordion__item{
    border: none;
}

.p-openhouse-swiper__accordion__model-catch-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--my-preset--c-gray);
}

.p-openhouse-swiper__accordion__model-catch {
    margin-bottom: 2.8rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    font-size: 2.6rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    @media screen and (max-width: 960px) {
        margin-bottom: 4rem;
        width: 91%;
        font-size: 3.6rem;
        letter-spacing: 0.06em;
        gap: 3rem;
    }
}

.p-openhouse-swiper__accordion__model-catch span {
    font-size: 1.6rem;
    font-weight: 400;
    @media screen and (max-width: 960px) {
        font-size: 2.8rem;
    }
}

.p-openhouse-swiper__accordion__model-catch-button {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 4rem;
    width: 4rem;
    border-radius: 50px;
    background: var(--my-preset--c-darkblue);
    @media screen and (max-width: 960px) {
        height: 5rem;
        width: 5rem;
    }
}

.p-openhouse-swiper__accordion__model-catch-button-top {
    display: inline-block;
    width: 2rem;
    height: 2px;
    background: #fff;
}

.p-openhouse-swiper__accordion__model-catch-button-bottom {
    position: absolute;
    display: inline-block;
    width: 2rem;
    height: 2px;
    transform: rotate(90deg);
    background: #fff;
    transition: 0.2s;
}
/* クリックしてopen-rotateクラスがついた時 */
.open-rotate {
    /* 適宜調整 */
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}
/* /クリックしてopenクラスがついた時 */

.p-openhouse-swiper__accordion__model-detail-box {
    padding-top: 2.8rem;
    display: none;
    @media screen and (max-width: 960px) {
        padding-top: 3rem;
    }
    
}
.p-openhouse-swiper__accordion__model-detail-box.open {
    display: block;
}

.p-openhouse-swiper__accordion__model-detail {
    font-size: 1.6rem;
    @media screen and (max-width:960px) {
        font-size: 2.8rem;
    }
}

.p-openhouse-swiper__container {
    width: 92%;
    margin: 0 auto;
    position: relative;
    @media screen and (max-width:960px)  {
        width: 100%;
    }

    .p-openhouse-swiper-main__prev::after,
    .p-openhouse-swiper-main__next::after {
        content: "";
        display: block;
        border-top: 2px solid var(--my-preset--c-black);
        width: 5rem;
        height: 5rem;
        position: absolute;
        top: -5rem;
        @media screen and (max-width:960px) {
            width: 8rem;
            height: 8rem;
            top: -4rem;
        }
    }

    .p-openhouse-swiper-main__prev::after {
        border-left: 2px solid var(--my-preset--c-black);
        transform: rotate(-45deg);
        left: -3rem;
        @media screen and (max-width:960px) {
            left: -1.8rem;
        }
    }

    .p-openhouse-swiper-main__next::after {
        border-right: 2px solid var(--my-preset--c-black);
        transform: rotate(45deg);
        right: -3rem;
        @media screen and (max-width:960px) {
            right: -1.8rem;
        }
    }
}

.p-openhouse-swiper-main__img,
.p-openhouse-swiper-thumbs__img {
    width: 100%;
    object-fit: cover;
}



.p-openhouse-swiper-thumbs {
    margin: 1.8rem 0;
    @media screen and (max-width:960px) {
        width: 90%;
        margin: 3rem auto;
    }
    
}

.p-openhouse-swiper-thumbs__slide {
    opacity: 0.5;
}

.swiper-slide-thumb-active {
    opacity: 1;
}

.p-openhouse-swiper__container {
    .p-openhouse-swiper-thumbs__prev,
    .p-openhouse-swiper-thumbs__next {
        position: absolute;
        top: auto;
        bottom: 0;
        background: var(--my-preset--c-darkblue);
        opacity: 1;
        width: 2.5rem;
        height: 8rem;
        color: var(--my-preset--c-white);

        @media screen and (max-width:960px) {
            height: 7.4rem;
        }
    }

    .p-openhouse-swiper-thumbs__prev {
        left: -4rem;
        @media screen and (max-width:960px) {
            left: 0;
        }
    }

    .p-openhouse-swiper-thumbs__next {
        right: -4rem;
        @media screen and (max-width:960px) {
            right: 0;
        }
    }

    .p-openhouse-swiper-thumbs__prev::after,
    .p-openhouse-swiper-thumbs__next::after {
        font-size: 2.5rem;
    }
} 

.p-openhouse-swiper__note {
    text-align: right;
    font-size: 1.2rem;
    @media screen and (max-width:960px) {
        font-size: 1.4rem;
    }
}
/* /swiper追加 */


.p-openhouse__intro {
    display: flex;
    width: 60%;
    margin: 0 auto 4rem;
}

@media screen and (max-width:960px) {
    .p-openhouse__intro {
        flex-direction: column;
        width: 100%;
    }
}

.p-openhouse__intro__catch {
    align-items: center;
    display: flex;
    padding: 0 2rem 2rem 0;
    width: 44%
}

@media screen and (max-width:960px) {
    .p-openhouse__intro__catch {
        margin: 0 0 4rem;
        padding: 0;
        width: 100%
    }
}

.p-openhouse__intro__catch-text {
    font-size: 2rem;
    letter-spacing: .08em;
    line-height: 1.75
}

@media screen and (max-width:960px) {
    .p-openhouse__intro__catch-text {
        font-size: 2.8rem;
        line-height: 1.6428571429
    }
}

.p-openhouse__intro__point {
    flex: 1;
}

.p-openhouse__intro__point-title {
    font-size: 2.6rem;
    letter-spacing: .1em;
    line-height: 1.625;
    margin-bottom: 2rem;
}

@media screen and (max-width:960px) {
    .p-openhouse__intro__point-title {
        font-size: 3.6rem
    }
}

.p-openhouse__intro__point-item {
    font-size: 1.6rem;
    letter-spacing: .08em;
    line-height: 1.5625;
    margin-bottom: 2rem;
    padding: 0 0 0 3rem;
    position: relative
}

.p-openhouse__intro__point-item:before {
    background: var(--my-preset--c-black);
    content: "";
    display: block;
    height: 1.8rem;
    left: 0;
    position: absolute;
    top: .7rem;
    width: .7rem;
}

@media screen and (max-width:960px) {
    .p-openhouse__intro__point-item {
        font-size: 2.8rem;
    }

    .p-openhouse__intro__point-item:before {
        height: 2.5rem;
        top: .9rem;
        width: .8rem;
    }
}

.p-openhouse__intro__point-list {
    display: flex;
    flex-wrap: wrap;
}

.p-openhouse__address {
    margin-bottom: 6.8rem;
    background: var(--my-preset--c-light-gray);
    @media screen and (max-width:960px) {
        margin-bottom: 7.9rem;
    }
}

.p-openhouse__address__flex {
    display: flex;
    align-items: center;
    padding: 3rem 5rem;
    gap: 3.5rem;
    position: relative;
    font-size: 1.6rem;
    @media screen and (max-width:960px)  {
        flex-direction: column;
        align-items: start;
        gap: 3.2rem;
        padding: 3.5rem 2rem;
        font-size: 2.8rem;
    }

    dt {
        width: 13.5rem;
        height: 3.6rem;
        display: flex;
        justify-content: center;
        align-items: center;
        background: var(--my-preset--c-darkblue);
        color: var(--my-preset--c-white);
        @media screen and (max-width:960px) {
            width: 16.5rem;
            height: 4.6rem;
        }
    }
}

.p-openhouse__address__flex:not(:last-child)::after {
    content: "";
    width: 100%;
    border: 1px solid #e2e4e6;
    position: absolute;
    bottom: 0;
    left: 0;
}

.p-openhouse__photo {
    margin: 0 -1rem;
}

@media screen and (max-width:960px) {
    .p-openhouse__photo {
        margin: 0 -.5rem;
    }
}

.p-openhouse__photo-item {
    padding: 2rem 1rem;
    width: 50%;
}

.p-openhouse__photo-item.-small {
    width: 33.3333333333%;
}

@media screen and (max-width:960px) {
    .p-openhouse__photo-item {
        padding: 2rem .5rem;
        width: 100%
    }

    .p-openhouse__photo-item.-small {
        width: 33.3333333333%
    }
}

.p-openhouse__photo-text {
    font-size: 1.6rem;
    letter-spacing: .08em;
    line-height: 2.125;
    padding: .5rem
}

@media screen and (max-width:960px) {
    .p-openhouse__photo-text {
        font-size: 2.8rem;
        line-height: 1.6428571429;
        padding: 1rem .5rem 2rem
    }
}

.p-openhouse__photo-notice {
    color: #8c8c8c;
    font-size: 1.6rem;
    font-weight: 400;
    letter-spacing: .08em;
    line-height: 1.5625;
    margin: 0 0 2rem;
    text-align: center
}

@media screen and (max-width:960px) {
    .p-openhouse__photo-notice {
        font-size: 2.6rem
    }
}

.p-openhouse__gallery {
    border: 1px solid var(--my-preset--c-black);
    display: block;
    font-size: 1.6rem;
    letter-spacing: .08em;
    line-height: 2.375;
    margin: 0 auto 5rem;
    max-width: 60.8rem;
    padding: 1.8rem 0;
    position: relative;
    text-align: center;
    transition: background .6s cubic-bezier(0, .7, .3, 1);
    width: 100%
}

.p-openhouse__gallery:after {
    background-color: var(--my-preset--c-black);
    content: "";
    display: inline-block;
    height: 1px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(50%, -50%);
    transition: background .6s cubic-bezier(0, .7, .3, 1);
    width: 10.8rem
}

@media(hover:hover) {
    .p-openhouse__gallery:hover {
        background-color: #fff
    }
}

@media screen and (max-width:960px) {
    .p-openhouse__gallery {
        font-size: 2.6rem;
        padding: .4em 0
    }
}
.p-openhouse__banner {
    margin-bottom: 6.8rem;
    @media screen and (max-width:960px) {
        margin-bottom: 7.9rem;
    }
}

.p-openhouse__cv__box-01  {
    margin-bottom: 10rem;
}

.p-openhouse__cv__box {
    display: flex;
    justify-content: center;
    gap: 6rem;
    @media screen and (max-width:960px) {
        flex-direction: column;
        align-items: center;
        gap: 4rem;
    }
}

.p-openhouse__cv {
    background: #102942;
    border: 1px solid #102942;
    color: var(--my-preset--c-white);
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 2.375;
    position: relative;
    text-align: center;
    transition: all .6s cubic-bezier(0, .7, .3, 1);
    width: 35rem;
    height: 8.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: left;
    padding: 0 4rem;
    @media screen and (max-width:960px) {
            font-size: 3rem;
            width: 100%;
            height: 13rem;
    }
}

.p-openhouse__cv-reservation {
    border: 1px solid var(--my-preset--c-yellow);
    background: var(--my-preset--c-yellow);
}

.p-openhouse__cv:after {
    content: "";
    position: absolute; 
    /* right: 4rem;  */
    right: 3rem;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    display: block;
    margin-left: 20px;
    width: 12px;
    height: 12px;
    border-top: 1px solid var(--my-preset--c-white);
    border-right: 1px solid var(--my-preset--c-white);
    color: var(--my-preset--c-black);
    transition: all .6s cubic-bezier(0, .7, .3, 1);
    @media screen and (max-width:960px)  {
        width: 20px;
        height: 20px;
        right: 4rem;
        border-top: 2px solid var(--my-preset--c-white);
        border-right: 2px solid var(--my-preset--c-white);
    }
}

@media(hover:hover) {
    .p-openhouse__cv:hover {
        background: var(--my-preset--c-white);
        color: #102942
    }
    .p-openhouse__cv:hover:after {
        border-top: 1px solid currentColor;
        border-right: 1px solid currentColor;
    }

    .p-openhouse__cv:hover img {
        filter: invert(100%)!important;
    }
}

.p-openhouse__architect-label {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1.75;
    margin: 0 0 1rem;
    padding: 2rem 0 0
}

@media screen and (max-width:960px) {
    .p-openhouse__architect-label {
        align-items: center;
        display: flex;
        font-size: 2.8rem;
        gap: 1.8rem;
        margin: 0 0 3rem
    }

    .p-openhouse__architect-label:after {
        background-color: currentColor;
        content: "";
        display: block;
        flex: 1;
        height: 1px
    }
}

.p-openhouse__architect-inner {
    display: flex
}

.p-openhouse__architect-body {
    display: flex;
    gap: 2.2rem;
    width: 42.4rem
}

@media screen and (max-width:960px) {
    .p-openhouse__architect-body {
        flex: 1;
        flex-direction: column;
        gap: 2rem;
        width: auto
    }
}

.p-openhouse__architect-img {
    width: 15.5rem
}

@media screen and (max-width:960px) {
    .p-openhouse__architect-img {
        width: 17.2rem
    }
}

.p-openhouse__architect-content {
    flex: 1
}

.p-openhouse__architect-title {
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: .08em;
    line-height: 1.25;
    margin: 0 0 .5rem
}

@media screen and (max-width:960px) {
    .p-openhouse__architect-title {
        font-size: 2.8rem;
        line-height: 1.2142857143
    }
}

.p-openhouse__architect-subtitle {
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 2.0833333333
}

@media screen and (max-width:960px) {
    .p-openhouse__architect-subtitle {
        font-size: 1.7rem;
        line-height: 1.4705882353
    }
}

.p-openhouse__architect-lead {
    align-items: center;
    display: flex;
    font-size: 1.2rem;
    font-weight: 400;
    gap: .4rem;
    letter-spacing: .08em;
    line-height: 2.0833333333
}

.p-openhouse__architect-lead:before {
    background-color: #000;
    content: "";
    display: inline-block;
    height: 1px;
    width: 1.5rem
}

@media screen and (max-width:960px) {
    .p-openhouse__architect-lead {
        font-size: 1.7rem;
        line-height: 1.4705882353
    }
}

.p-openhouse__architect-side {
    display: flex;
    flex: 1;
    justify-content: space-between;
    margin: 0 -1.5rem 0 0
}

.p-openhouse__architect-side__label {
    font-size: 1.6rem;
    letter-spacing: .08em;
    line-height: 1.5625
}

@media screen and (max-width:960px) {
    .p-openhouse__architect-side__label {
        display: none
    }
}

.p-openhouse__architect__slider {
    margin: 0;
    width: 50rem
}

@media screen and (max-width:960px) {
    .p-openhouse__architect__slider {
        padding: 0 0 5.5rem;
        width: 46.5rem
    }
}

.p-openhouse__architect__slider-slide {
    padding: 0 1.5rem
}

.p-openhouse__architect__slider-slide img {
    width: 100%
}

.p-openhouse__architect__slider-pagination .swiper-pagination-bullet {
    background-color: gray;
    height: 1.8rem;
    margin: 0 1.4rem !important;
    opacity: 1;
    width: 1.8rem
}

.p-openhouse__architect__slider-pagination .swiper-pagination-bullet-active {
    background-color: #135b8e
}

@media screen and (min-width:961px) {
    .p-openhouse__architect__slider-pagination {
        display: none
    }
}

.p-openhouse__architect-bottom {
    align-items: center;
    display: flex;
    gap: 1.2rem;
    padding: 2rem 0 0
}

.p-openhouse__architect-bottom:before {
    background-color: currentColor;
    content: "";
    display: block;
    flex: 1;
    height: 1px
}

@media screen and (max-width:960px) {
    .p-openhouse__architect-bottom {
        justify-content: center;
        margin: 0 0 4rem
    }

    .p-openhouse__architect-bottom:before {
        display: none
    }
}

.p-openhouse__architect-profile {
    align-items: center;
    color: currentColor;
    display: flex;
    font-size: 1.6rem;
    gap: 1rem;
    letter-spacing: .08em;
    line-height: 1.5625
}

.p-openhouse__architect-profile:after {
    background: no-repeat 50%/100% url(../images/icon_arrow.png);
    content: "";
    display: inline-block;
    height: .7rem;
    width: 4.8rem
}

@media screen and (max-width:960px) {
    .p-openhouse__architect-profile {
        font-size: 2.8rem
    }

    .p-openhouse__architect-profile:after {
        height: 1.3rem;
        width: 7.2rem
    }
}

.p-architect__modal-list__item {
    display: none;
    inset: 0;
    position: fixed;
    z-index: 9500
}

@media screen and (max-width:960px) {
    .p-architect__modal-list__item {
        padding: 3rem
    }
}

.p-architect__modal-list__item-bg {
    background: rgba(0, 0, 0, .6);
    inset: 0;
    position: absolute
}

.p-architect__modal-list__item-content {
    background: #fff;
    height: 100rem;
    left: 50%;
    max-height: 95%;
    max-width: 95%;
    padding: 5.5rem 8rem 8rem;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 120rem
}

@media screen and (max-width:960px) {
    .p-architect__modal-list__item-content {
        height: 100%;
        padding: 6rem 0 8rem;
        width: 100%
    }
}

.p-architect__modal-list__item-content__inner {
    height: 100%;
    overflow-y: auto
}

@media screen and (max-width:960px) {
    .p-architect__modal-list__item-content__inner {
        padding: 0 3rem 4rem 4.5rem
    }
}

.p-architect__modal-list__item-head {
    display: grid;
    gap: 1.5rem 2rem;
    grid-template-columns: 20rem auto
}

@media screen and (max-width:960px) {
    .p-architect__modal-list__item-head {
        gap: 3.5rem 3rem;
        grid-template-columns: 23.5rem auto
    }
}

.p-architect__modal-list__item-head__thumb {
    grid-column: 1/2;
    grid-row: 1/3
}

@media screen and (max-width:960px) {
    .p-architect__modal-list__item-head__thumb {
        grid-row: 1/2
    }
}

.p-architect__modal-list__item-head__profile {
    grid-column: 2/3;
    grid-row: 1/2;
    padding: .5rem 0 0
}

@media screen and (max-width:960px) {
    .p-architect__modal-list__item-head__profile {
        display: flex;
        flex-direction: column;
        gap: 3rem;
        justify-content: center
    }
}

.p-architect__modal-list__item-head__name {
    font-size: 2.4rem;
    letter-spacing: .03em;
    line-height: 1.5
}

.p-architect__modal-list__item-head__name small {
    font-size: 1.4rem
}

@media screen and (max-width:960px) {
    .p-architect__modal-list__item-head__name {
        font-size: 3.6rem
    }

    .p-architect__modal-list__item-head__name small {
        display: block;
        font-size: 1.8rem
    }
}

.p-architect__modal-list__item-head__company {
    font-size: 1.6rem;
    letter-spacing: .03em;
    line-height: 2.25;
    margin: 0 0 1.5rem
}

@media screen and (max-width:960px) {
    .p-architect__modal-list__item-head__company {
        font-size: 2.4rem;
        line-height: 1.5
    }
}

.p-architect__modal-list__item-head__content {
    grid-column: 2/3;
    grid-row: 2/3
}

@media screen and (max-width:960px) {
    .p-architect__modal-list__item-head__content {
        grid-column: 1/3
    }
}

.p-architect__modal-list__item-head__desc {
    font-size: 1.6rem;
    letter-spacing: .06em;
    line-height: 1.6875
}

@media screen and (max-width:960px) {
    .p-architect__modal-list__item-head__desc {
        font-size: 2.6rem;
        line-height: 1.5384615385
    }
}

.p-architect__modal-list__item-body {
    display: flex;
    flex-wrap: wrap;
    padding: 4.5rem 0 0
}

@media screen and (max-width:960px) {
    .p-architect__modal-list__item-body {
        padding: 6.5rem 0 0
    }
}

.p-architect__modal-list__item-body__inner {
    padding: 0 4rem 0 0;
    width: 68rem
}

@media screen and (max-width:960px) {
    .p-architect__modal-list__item-body__inner {
        padding: 0;
        width: 100%
    }
}

.p-architect__modal-list__item-body__title {
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1.5;
    margin: 0 0 2.5rem;
    padding: 0 87% 0 0;
    position: relative
}

.p-architect__modal-list__item-body__title:after {
    background: #3f3b38;
    content: "";
    height: 1px;
    opacity: .2;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 87%
}

@media screen and (max-width:960px) {
    .p-architect__modal-list__item-body__title {
        font-size: 2.8rem;
        line-height: 1.2142857143;
        padding: 0 77% 0 0
    }

    .p-architect__modal-list__item-body__title:after {
        width: 77%
    }
}

.p-architect__modal-list__item-body__data {
    margin: 0 0 4.5rem;
    width: 100%
}

@media screen and (max-width:960px) {
    .p-architect__modal-list__item-body__data {
        margin: 0 0 3rem
    }
}

.p-architect__modal-list__item-body__data-row {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 1.9285714286
}

@media screen and (max-width:960px) {
    .p-architect__modal-list__item-body__data-row {
        font-size: 2.2rem;
        line-height: 2
    }
}

.p-architect__modal-list__item-body__data-head {
    font-weight: 500;
    width: 10rem
}

@media screen and (max-width:960px) {
    .p-architect__modal-list__item-body__data-head {
        width: 14rem
    }
}

.p-architect__modal-list__item-body__data-desc {
    padding: 0 0 0 2rem
}

@media screen and (max-width:960px) {
    .p-architect__modal-list__item-body__data-desc {
        padding: 0 0 0 1.5rem
    }
}

.p-architect__modal-list__item-body__side {
    flex: 1;
    padding: 1rem 0 0 4rem
}

@media screen and (max-width:960px) {
    .p-architect__modal-list__item-body__side {
        padding: 4rem 0 0
    }
}

.p-architect__modal-list__item-body__side-link {
    background-color: #d9d8d7;
    display: block;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 1.9285714286;
    padding: .7rem;
    text-align: center
}

.p-architect__modal-list__item-body__side-link:after {
    background: no-repeat 50%/100% url(../images/icon_external.svg);
    content: "";
    display: inline-block;
    height: 1.3rem;
    transform: translate(.7rem, .1rem);
    width: 1.3rem
}

@media screen and (max-width:960px) {
    .p-architect__modal-list__item-body__side-link {
        font-size: 2.6rem;
        line-height: 2;
        padding: 1.4rem
    }

    .p-architect__modal-list__item-body__side-link:after {
        height: 2.2rem;
        transform: translate(1rem, .1rem);
        width: 2.2rem
    }
}

.p-architect__modal__close {
    align-items: center;
    bottom: 0;
    display: flex;
    height: 6rem;
    justify-content: center;
    position: absolute;
    right: 0;
    width: 8rem
}

.p-architect__modal__close:after,
.p-architect__modal__close:before {
    background-color: var(--my-preset--c-black);
    content: "";
    display: block;
    height: 2px;
    position: absolute;
    width: 2rem
}

.p-architect__modal__close:before {
    transform: rotate(45deg)
}

.p-architect__modal__close:after {
    transform: rotate(-45deg)
}
.p-openhouse__case {
    margin: 0 0 7.5rem;
}

@media screen and (max-width:960px) {
    .p-architect__modal__close {
        height: 10.5rem;
        width: 9.5rem
    }

    .p-architect__modal__close:after,
    .p-architect__modal__close:before {
        height: 2px;
        width: 3rem
    }

    .p-openhouse__case {
        padding: 1rem 0 4rem;
    }
}

.p-openhouse__case-title {
    font-size: 1.6rem;
    line-height: 1.5625;
    margin: 0 0 .5rem;
    font-weight: 400;
}

@media screen and (max-width:960px) {
    .p-openhouse__case-title {
        font-size: 2.8rem;
        margin: 0 0 1rem
    }
}

.p-openhouse__case-list {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem
}

@media screen and (max-width:960px) {
    .p-openhouse__case-list {
        gap: 4rem 5rem
    }
}

.p-openhouse__case-list__item {
    width: calc(25% - 1.5rem);
    img {
        width: 100%;
    }
}

@media screen and (max-width:960px) {
    .p-openhouse__case-list__item {
        width: calc(50% - 2.5rem)
    }
}

.p-seminar__architect {
    margin: 0 0 4rem;
    padding: 0 0 2rem
}

@media screen and (max-width:960px) {
    .p-seminar__architect {
        margin: 0
    }
}

.p-seminar__architect-label {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1.75;
    margin: 0 0 1rem
}

@media screen and (max-width:960px) {
    .p-seminar__architect-label {
        align-items: center;
        display: flex;
        font-size: 2.8rem;
        gap: 1.8rem;
        margin: 0 0 3rem
    }

    .p-seminar__architect-label:after {
        background-color: currentColor;
        content: "";
        display: block;
        flex: 1;
        height: 1px
    }
}

.p-seminar__architect-inner {
    display: flex
}

.p-seminar__architect-body {
    display: flex;
    gap: 7rem;
    width: 100%
}

@media screen and (max-width:960px) {
    .p-seminar__architect-body {
        gap: 2.5rem
    }
}

.p-seminar__architect-img {
    width: 19.3rem
}

@media screen and (max-width:960px) {
    .p-seminar__architect-img {
        width: 16.6rem
    }
}

.p-seminar__architect-content {
    flex: 1
}

.p-seminar__architect-title {
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: .08em;
    line-height: 1.25;
    margin: 0 0 .5rem
}

@media screen and (max-width:960px) {
    .p-seminar__architect-title {
        font-size: 2.8rem;
        line-height: 1.2142857143
    }
}

.p-seminar__architect-subtitle {
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 2.0833333333
}

@media screen and (max-width:960px) {
    .p-seminar__architect-subtitle {
        font-size: 1.7rem;
        line-height: 1.4705882353
    }
}

.p-seminar__architect-lead {
    align-items: center;
    display: flex;
    font-size: 1.2rem;
    font-weight: 400;
    gap: .4rem;
    letter-spacing: .08em;
    line-height: 2.0833333333;
    margin: 0 0 2rem
}

.p-seminar__architect-lead:before {
    background-color: #000;
    content: "";
    display: inline-block;
    height: 1px;
    width: 1.5rem
}

@media screen and (max-width:960px) {
    .p-seminar__architect-lead {
        font-size: 1.7rem;
        line-height: 1.4705882353
    }
}

.p-seminar__architect-text {
    font-size: 1.6rem;
    letter-spacing: .08em;
    line-height: 1.875
}

@media screen and (max-width:960px) {
    .p-seminar__architect-text {
        font-size: 2.8rem;
        line-height: 1.6428571429
    }
}

.p-seminar__architect-side {
    display: flex;
    flex: 1;
    justify-content: space-between;
    margin: 0 -1.5rem 0 0
}

.p-seminar__architect-side__label {
    font-size: 1.6rem;
    letter-spacing: .08em;
    line-height: 1.5625
}

@media screen and (max-width:960px) {
    .p-seminar__architect-side__label {
        display: none
    }
}

.p-seminar__architect__slider {
    margin: 0;
    width: 50rem
}

@media screen and (max-width:960px) {
    .p-seminar__architect__slider {
        padding: 0 0 5.5rem;
        width: 46.5rem
    }
}

.p-seminar__architect__slider-slide {
    padding: 0 1.5rem
}

.p-seminar__architect__slider-slide img {
    width: 100%
}

.p-seminar__architect__slider-pagination .swiper-pagination-bullet {
    background-color: gray;
    height: 1.8rem;
    margin: 0 1.4rem !important;
    opacity: 1;
    width: 1.8rem
}

.p-seminar__architect__slider-pagination .swiper-pagination-bullet-active {
    background-color: #135b8e
}

@media screen and (min-width:961px) {
    .p-seminar__architect__slider-pagination {
        display: none
    }
}

.p-seminar__architect-bottom {
    align-items: center;
    display: flex;
    gap: 1.2rem;
    padding: 2rem 0 0
}

.p-seminar__architect-bottom:before {
    background-color: currentColor;
    content: "";
    display: block;
    flex: 1;
    height: 1px
}

@media screen and (max-width:960px) {
    .p-seminar__architect-bottom {
        justify-content: center;
        padding: 4rem 0 0
    }

    .p-seminar__architect-bottom:before {
        display: none
    }
}

.p-seminar__architect-profile {
    align-items: center;
    color: currentColor;
    display: flex;
    font-size: 1.6rem;
    gap: 1rem;
    letter-spacing: .08em;
    line-height: 1.5625
}

.p-seminar__architect-profile:after {
    background: no-repeat 50%/100% url(../images/icon_arrow.png);
    content: "";
    display: inline-block;
    height: .7rem;
    width: 4.8rem
}

@media screen and (max-width:960px) {
    .p-seminar__architect-profile {
        font-size: 2.8rem
    }

    .p-seminar__architect-profile:after {
        height: 1.3rem;
        width: 7.2rem
    }
}


/* p-series */
.p-series {
    padding: 15.7rem 0 14.4rem;
}
@media screen and (max-width:960px) {
    .p-series  {
        padding: 10.9rem 0 20rem;
    }
}

.p-series__inner {
    margin: 0 auto;
    max-width: 162rem;
    /* padding: 0 4rem; */
    width: 100%;
}
@media screen and (max-width:960px) {
    .p-series__inner  {
        max-width: auto;
        padding: 0 3.9rem;
    }
}

.p-series__ttl {
    margin-bottom: 5.4rem;
    font-size: 3.65rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-align: center;
}
@media screen and (max-width:960px) {
    .p-series__ttl {
        margin-bottom: 4.4rem;
        font-size: 5rem;
    }
}

.p-series__sub {
    margin-bottom: 7.5rem;
    font-size: 2.2rem;
    text-align: center;
}
@media screen and (max-width:960px)  {
    .p-series__sub {
        margin-bottom: 6.2rem;
        font-size: 2.5rem;
        line-height: 2.08;
    }
}

.p-series__container {
    display: flex;
    justify-content: space-between;
}
@media screen and (max-width:960px) {
    .p-series__container {
        flex-direction: column;
    }
}

.p-series__box {
    /* width: calc((100% / 3) - 2rem); */
    width: 51rem;
}
@media screen and (max-width:960px) {
    .p-series__box {
        width: 100%;
        margin-bottom: 9rem;
    }
    .p-series__box:nth-last-child(1) {
        margin-bottom: 0;
    }
}

.p-series__box__pic {
    position: relative;
    margin-bottom: 3.3rem;
    width: 100%;
    height: 28rem;
    background: #aaa;
    overflow: hidden;
}
@media screen and (max-width:960px)  {
    .p-series__box__pic {
        margin-bottom: 3.6rem;
        height: 37rem;
    }
}

.p-series__box__name {
    position: absolute;
    z-index: 1;
    top: 2.5rem;
    left: 50%;
    transform: translateX(-50%);
    font-size: 2.8rem;
    font-weight: 700;
    color: var(--my-preset--c-white);
    pointer-events: none;
}
@media screen and (max-width:960px) {
    .p-series__box__name {
        font-size: 3.7rem;
    }
}

.p-series__box__link {
    display: block;
    width: 100%;
    height: 100%;
    transition: transform .8s cubic-bezier(0, .7, .3, 1);
}
.p-series__box__link:hover {
    transform: scale(1.1);
}
.p-series__box__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.p-series__box__txt {
    margin-bottom: 2rem;
    font-size: 1.6rem;
    line-height: 2.1;
}
@media screen and (max-width:960px)  {
    .p-series__box__txt {
        margin-bottom: 2.5rem;
        font-size: 2.5rem;
    }
}

.p-series__box-btn {
    width: 12rem;
    @media screen and (max-width:960px) {
        width: 15.3rem;
    }
}

.p-series__box-btn__link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    padding: .3rem 0 .5rem;
    width: 100%;
    background: var(--my-preset--c-darkblue);
    border: 1px solid var(--my-preset--c-darkblue);
    font-size: 1.6rem;
    color: var(--my-preset--c-white);
    transition: all .6s cubic-bezier(0, .7, .3, 1);
    @media screen and (max-width:960px) {
        padding: 0 0 .5rem;
        font-size: 2.5rem;
    }
}

.p-series__box-btn__link::after {
    content: "";
    display: block;
    position: absolute;
    right: 1.2rem;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 8px;
    height: 8px;
    border-top: 1px solid var(--my-preset--c-white);
    border-right: 1px solid var(--my-preset--c-white);
    color: var(--my-preset--c-black);
    transition: all .6s cubic-bezier(0, .7, .3, 1);
}
@media screen and (max-width:960px) {
    .p-series__box-btn__link::after {
        width: 5px;
        height: 5px;
        right: 2.2rem;
    }
}

.p-series__box-btn__link:hover {
    background: transparent;
    color: var(--my-preset--c-darkblue);
}
.p-series__box-btn__link:hover::after {
    border-top: 1px solid var(--my-preset--c-darkblue);
    border-right: 1px solid var(--my-preset--c-darkblue);
}

/* p-concept */
.p-concept {
    background-color: #38393e;
    color: #fff;
    padding: 0 0 1.5rem
}

@media screen and (max-width:960px) {
    .p-concept {
        padding: 0 0 2rem
    }
}

.p-concept__inner {
    max-width: 1920px;
    padding: 0
}

.p-concept__head {
    padding: 8rem 0 10rem
}

@media screen and (max-width:960px) {
    .p-concept__head {
        padding: 5rem 0 7rem
    }
}

.p-concept__title {
    font-size: 2.8rem;
    font-weight: 400;
    letter-spacing: .2em;
    line-height: 1;
    text-align: center
}

.p-concept__title span {
    -webkit-text-stroke: 1px #a6a6a6;
    font-feature-settings: "palt";
    color: transparent;
    font-family: var(--my-preset--font-family--raleway);
    font-size: 10.3rem;
    font-weight: 700;
    letter-spacing: .08em
}

@media screen and (max-width:960px) {
    .p-concept__title {
        font-size: 3.3rem
    }
}

.p-concept__list {
    border-top: 1px solid #a6a6a6
}

.p-concept__list-item {
    border-bottom: 1px solid #a6a6a6;
    display: flex;
    gap: 3rem;
    padding: 1.5rem;
}

@media screen and (min-width:961px) {
    .p-concept__list-item:nth-child(2n) {
        flex-direction: row-reverse
    }
}

@media screen and (max-width:960px) {
    .p-concept__list-item {
        flex-direction: column;
        padding: 1.5rem 1.5rem 2rem
    }
}

.p-concept__list-item__content {
    align-items: center;
    display: flex;
    justify-content: center;
    width: 50%
}

@media screen and (max-width:960px) {
    .p-concept__list-item__content {
        padding: 5rem 2.5rem 3rem;
        width: 100%
    }
}

.p-concept__list-item__content-inner {
    max-width: 100%;
    width: 52rem
}

@media screen and (max-width:960px) {
    .p-concept__list-item__content-inner {
        width: 100%
    }
}

.p-concept__list-item__subtitle {
    align-items: center;
    display: flex;
    margin: 0 0 3rem
}

.p-concept__list-item__subtitle-num {
    -webkit-text-stroke: 1px #a6a6a6;
    font-feature-settings: "palt";
    color: transparent;
    font-family: var(--my-preset--font-family--raleway);
    font-size: 10.3rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: .8737864078;
    opacity: 0;
    transform: translate(-2rem);
    transition: .6s cubic-bezier(0, .7, .3, 1)
}

@media screen and (max-width:960px) {
    .p-concept__list-item__subtitle-num {
        font-size: 13rem
    }
}

.p-concept__list-item.is-fadein .p-concept__list-item__subtitle-num {
    opacity: 1;
    transform: translate(0)
}

.p-concept__list-item__subtitle-text {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.25;
    opacity: 0;
    transform: translate(-2rem);
    transition: .6s cubic-bezier(0, .7, .3, 1) .2s
}

@media screen and (max-width:960px) {
    .p-concept__list-item__subtitle-text {
        font-size: 2.8rem;
        line-height: 1.6785714286
    }
}

.p-concept__list-item.is-fadein .p-concept__list-item__subtitle-text {
    opacity: 1;
    transform: translate(0)
}

.p-concept__list-item__title {
    font-size: 2.7rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.6785714286;
    margin: 0 0 2.5rem;
    opacity: 0;
    transition: .8s ease .2s
}

@media screen and (max-width:960px) {
    .p-concept__list-item__title {
        font-size: 4.4rem;
    }
}

.p-concept__list-item.is-fadein .p-concept__list-item__title {
    opacity: 1;
}

.p-concept__list-item__desc {
    font-feature-settings: "palt";
    font-size: 1.6rem;
    letter-spacing: .025em;
    line-height: 2.125;
    opacity: 0;
    transition: .8s ease .2s;
}

@media screen and (max-width:960px) {
    .p-concept__list-item__desc {
        font-size: 2.8rem;
        line-height: 1.6428571429;
    }
}

.p-concept__list-item.is-fadein .p-concept__list-item__desc {
    opacity: 1;
}

.p-concept__list-item__img {
    height: 57.5rem;
    overflow: hidden;
    position: relative;
    width: 50%;
}

.p-concept__list-item__img img {
    height: 100%;
    inset: 0;
    -o-object-fit: cover;
    object-fit: cover;
    opacity: 0;
    position: absolute;
    transform: scale(1.1);
    transition: .6s ease .4s;
    width: 100%;
}

@media screen and (max-width:960px) {
    .p-concept__list-item__img {
        height: 46.9rem;
        width: 100%;
    }
}

.p-concept__list-item.is-fadein .p-concept__list-item__img img {
    opacity: 1;
    transform: scale(1);
}

.p-parallax {
    background: no-repeat 50%/cover url(../images/parallax.jpg) fixed;
    height: 103.5rem;
}

@media screen and (max-width:960px) {
    .p-parallax {
        background: no-repeat 50%/cover url(../images/parallax.jpg);
        height: 44rem;
    }
}

.p-contact__head {
    background: no-repeat 50%/cover url(../images/contact_head.jpg);
    padding: 12rem 0 7rem;
}

@media screen and (max-width:960px) {
    .p-contact__head {
        background-image: url(../images/contact_head_sp.jpg);
        padding: 14.5rem 0;
    }
}

.p-contact__head__title {
    font-size: 6.2rem;
    letter-spacing: .07em;
    line-height: 1.0806451613;
    margin: 0 0 5rem;
}

@media screen and (max-width:960px) {
    .p-contact__head__title {
        margin: 0 0 8rem;
    }
}

.p-contact__head__box {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4rem;
    @media screen and (max-width:960px) {
        flex-direction: column;
        margin-bottom: 9.2rem;
    }
}

.p-contact__head__text {
    font-size: 1.7rem;
    letter-spacing: .025em;
    line-height: 1.8823529412;
}

@media screen and (max-width:960px) {
    .p-contact__head__text {
        font-size: 2.8rem;
        line-height: 1.5;
    }
}

.p-contact__head__tel {
    font-size: 5.1rem;
    letter-spacing: .07em;
    line-height: 1.0980392157
}

.p-contact__head__link {
    align-items: center;
    background: #fff;
    color: var(--my-preset--c-black);
    display: flex;
    height: 8.4rem;
    justify-content: center;
    margin-bottom: 3.5rem;
    max-width: 100%;
    position: relative;
    transition: opacity .6s ease;
    width: 35.7rem;
    @media screen and (max-width:960px) {
        margin-bottom: 0;
    }
}

@media(hover:hover) {
    .p-contact__head__link:hover {
        opacity: .7
    }
}

.p-contact__head__link-reservation {
    background: var(--my-preset--c-yellow);
    color: var(--my-preset--c-white);
}


@media screen and (max-width:960px) {
    .p-contact__head__link {
        height: 11rem;
        width: 50rem
    }
}

.p-contact__head__link-icon {
    transform: translate(-2rem);
    width: 2.8rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width:960px) {
    .p-contact__head__link-icon {
        transform: translate(-2.5rem);
        width: 4rem
    }
}

.p-contact__head__link-text {
    font-size: 2.5rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.9
}

@media screen and (max-width:960px) {
    .p-contact__head__link-text {
        font-size: 3.5rem
    }
}

.p-company {
    padding: 19rem 0
}

@media screen and (max-width:960px) {
    .p-company {
        padding: 16rem 0
    }
}

.p-company__inner {
    max-width: 102rem
}

.p-company__intro {
    margin: 0 0 6.5rem;
    padding: 0 1.5rem
}

@media screen and (max-width:960px) {
    .p-company__intro {
        padding: 0 2rem
    }
}

.p-company__intro__contents {
    flex: 1;
    padding: 0 7.5rem 0 0
}

@media screen and (max-width:960px) {
    .p-company__intro__contents {
        padding: 0
    }
}

.p-company__intro__text {
    font-size: 1.6rem;
    letter-spacing: .025em;
    line-height: 2
}

@media screen and (max-width:960px) {
    .p-company__intro__text {
        font-size: 2.8rem;
        line-height: 1.6785714286
    }
}

.p-company__data {
    border-bottom: 1px solid var(--my-preset--c-black);
    border-spacing: 0;
    width: 100%
}

.p-company__data-desc,
.p-company__data-head {
    border-top: 1px solid var(--my-preset--c-black);
    font-size: 1.6rem;
    letter-spacing: .08em;
    line-height: 2.125;
    padding: 2rem 3.5rem;
    vertical-align: baseline
}

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

    .p-company__data-desc,
    .p-company__data-head {
        font-size: 2.4rem;
        line-height: 2.2083333333;
        padding: 2rem 2.5rem
    }
}

.p-company__data-head {
    font-weight: 700;
    padding: 2rem 0 2rem 2.5rem;
    width: 23%
}

@media screen and (max-width:960px) {
    .p-company__data-head {
        width: 22%
    }
}

.p-company__data-desc {
    padding: 2rem 0 2rem 3.5rem
}

@media screen and (max-width:960px) {
    .p-company__data-desc {
        padding: 2rem 0 2rem 2.5rem
    }
}

.p-thanks {
    font-size: 1.6rem;
    line-height: 1.875;
    padding: 20rem 0
}

@media screen and (max-width:960px) {
    .p-thanks {
        font-size: 2.4rem
    }
}

.p-thanks__title {
    font-size: 4rem;
    font-weight: 500;
    line-height: 1.25;
    margin: 0 0 2rem
}

.p-thanks__link {
    background: #232727;
    color: #fff;
    padding: 2rem 5rem
}

.u-fc-white {
    color: var(--my-preset--c-white) !important
}

.u-fc-red {
    color: #d04141 !important
}

.u-fc-blue {
    color: var(--my-preset--c-blue) !important
}

.u-fw-400 {
    font-weight: 400 !important
}

.u-fw-500 {
    font-weight: 500 !important
}

.u-fw-600 {
    font-weight: 600 !important
}

.u-fw-700 {
    font-weight: 700 !important
}

.u-fs-70p {
    font-size: 70% !important
}

.u-fs-80p {
    font-size: 80% !important
}

.u-ff-roboto {
    font-family: Roboto, sans-serif !important
}

.u-ff-raleway {
    font-family: var(--my-preset--font-family--raleway) !important
}

.u-ta-center {
    text-align: center !important
}

.u-ta-left {
    text-align: left !important
}

.u-ta-right {
    text-align: right !important
}

@media screen and (min-width:961px) {
    .u-ta-center-pc {
        text-align: center !important
    }
}

@media screen and (max-width:960px) {
    .u-ta-center-sp {
        text-align: center !important
    }
}

.u-ffs-palt {
    font-feature-settings: "palt"
}

.u-lineHeight-0 {
    line-height: 0
}

.u-lineHeight-08 {
    line-height: .8
}

.u-textDeco-underline {
    text-decoration: underline
}

.u-w-100 {
    width: 100% !important
}

.u-pt-0 {
    padding-top: 0 !important
}

.u-pt-1rem {
    padding-top: 1rem !important
}

.u-pt-2rem {
    padding-top: 2rem !important
}

.u-pt-3rem {
    padding-top: 3rem !important
}

.u-pt-4rem {
    padding-top: 4rem !important
}

.u-pt-5rem {
    padding-top: 5rem !important
}

@media screen and (min-width:961px) {
    .u-pt-0-pc {
        padding-top: 0 !important
    }
}

@media screen and (max-width:960px) {
    .u-pt-9rem-sp {
        padding-top: 9rem !important
    }
}

.u-pb-1rem {
    padding-bottom: 1rem !important
}

.u-pb-2rem {
    padding-bottom: 2rem !important
}

.u-pb-3rem {
    padding-bottom: 3rem !important
}

.u-pb-4rem {
    padding-bottom: 4rem !important
}

.u-pb-5rem {
    padding-bottom: 5rem !important
}

.u-pb-6rem {
    padding-bottom: 6rem !important
}

@media screen and (min-width:961px) {
    .u-pb-39rem-pc {
        padding-bottom: 39rem !important
    }

    .u-pl-17rem-pc {
        padding-left: 17rem !important
    }

    .p-pr-4rem-pc {
        padding-right: 4rem !important
    }
}

@media screen and (max-width:960px) {
    .u-pl-2rem-sp {
        padding-left: 2rem !important
    }

    .u-pr-2rem-sp {
        padding-right: 2rem !important
    }
}

.u-mb-0 {
    margin-bottom: 0 !important
}

.u-mb-1rem {
    margin-bottom: 1rem !important
}

.u-mb-2rem {
    margin-bottom: 2rem !important
}

.u-mb-3rem {
    margin-bottom: 3rem !important
}

.u-mb-4rem {
    margin-bottom: 4rem !important
}

.u-mb-5rem {
    margin-bottom: 5rem !important
}

.u-mb-8rem {
    margin-bottom: 8rem !important
}

.u-mb-9rem {
    margin-bottom: 9rem !important
}

.u-ml-1rem {
    margin-left: 1rem !important
}

.u-ml-neg1rem {
    margin-left: -1rem !important
}

.u-ml-neg2rem {
    margin-left: -2rem !important
}

.u-mr-1rem {
    margin-right: 1rem !important
}

.u-mlr-auto {
    margin-left: auto !important;
    margin-right: auto !important
}

@media screen and (min-width:961px) {
    .u-ml-auto-pc {
        margin-left: auto !important
    }
}

@media screen and (max-width:960px) {
    .u-mb-1rem-sp {
        margin-bottom: 1rem !important
    }

    .u-mb-2rem-sp {
        margin-bottom: 2rem !important
    }

    .u-mb-3rem-sp {
        margin-bottom: 3rem !important
    }

    .u-mb-4rem-sp {
        margin-bottom: 4rem !important
    }

    .u-mb-7rem-sp {
        margin-bottom: 7rem !important
    }

    .u-mb-8rem-sp {
        margin-bottom: 8rem !important
    }

    .u-pc {
        display: none
    }
}

@media screen and (min-width:961px) {
    .u-sp {
        display: none
    }
}

.u-display-block {
    display: block !important
}

.u-display-flex {
    display: flex !important
}

.u-display-none {
    display: none !important
}

.u-justifyContent-spaceBetween {
    justify-content: space-between !important
}

.u-justifyContent-center {
    justify-content: center !important
}

.u-flexWrap-wrap {
    flex-wrap: wrap !important
}

.u-alignItems-center {
    align-items: center
}

.u-alignItems-flexStart {
    align-items: flex-start
}

@media screen and (min-width:961px) {
    .u-flexDirection-rowReverse-pc {
        flex-direction: row-reverse !important
    }
}

.u-bg-lightBlue {
    background-color: #d2e0e9 !important
}

.u-bg-lightYellow {
    background-color: var(--my-preset--c-light-yellow) !important
}