body {
    position: relative;
    font-family: "EB Garamond", serif;
    overflow-x: hidden;
    color: #2b2b2b
}

@media screen and (max-width: 1050px) {
    body {
        font-size: 14px
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    body {
        font-size: 2.8vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    body {
        font-size: 14px
    }
}

pre {
    white-space: pre-wrap
}

a,
input,
button {
    text-decoration: none;
    color: inherit;
    outline: none
}

img {
    vertical-align: middle
}

figure {
    margin: 0;
    padding: 0
}

a,
input,
textarea {
    outline: none
}

* {
    box-sizing: border-box
}

*,
*::before,
*::after {
    box-sizing: border-box
}

ul,
ol {
    padding: 0
}

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
    margin: 0
}

html {
    height: -webkit-fill-available
}

body {
    min-height: 100vh;
    min-height: -webkit-fill-available;
    text-rendering: optimizeSpeed
}

ul,
ol {
    list-style: none
}

img {
    max-width: 100%;
    display: block
}

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

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

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

.js-animeElement {
    transition-property: all;
    transition-duration: .8s;
    opacity: 0
}

.js-animeElement.show {
    transition-property: all;
    transition-duration: .8s;
    opacity: 1;
    transform: translateX(0) translateY(0)
}

.js-fadeUp {
    transform: translateX(0) translateY(5%)
}

.js-fadeUp-1 {
    transform: translateX(0) translateY(5%);
    transition-delay: .3s !important
}

.js-fadeUp-2 {
    transform: translateX(0) translateY(5%);
    transition-delay: .6s !important
}

.js-fadeUp-3 {
    transform: translateX(0) translateY(5%);
    transition-delay: .9s !important
}

.js-fadeDown {
    transform: translateX(0) translateY(-5%)
}

.js-fadeDown-1 {
    transform: translateX(0) translateY(-5%);
    transition-delay: .3s !important
}

.js-fadeDown-2 {
    transform: translateX(0) translateY(-5%);
    transition-delay: .6s !important
}

.js-fadeDown-3 {
    transform: translateX(0) translateY(-5%);
    transition-delay: .9 !important
}

.js-fadeToRight {
    transform: translateX(-5%) translateY(0)
}

.js-fadeToRight-1 {
    transform: translateX(-5%) translateY(0);
    transition-delay: .3s !important
}

.js-fadeToRight-2 {
    transform: translateX(-5%) translateY(0);
    transition-delay: .6s !important
}

.js-fadeToRight-3 {
    transform: translateX(-5%) translateY(0);
    transition-delay: .3s !important
}

.js-fadeToLeft {
    transform: translateX(5%) translateY(0)
}

.js-fadeToLeft-1 {
    transform: translateX(5%) translateY(0);
    transition-delay: .3s !important
}

.js-fadeToLeft-2 {
    transform: translateX(5%) translateY(0);
    transition-delay: .6s !important
}

.js-fadeToLeft-3 {
    transform: translateX(5%) translateY(0);
    transition-delay: .3s !important
}

.l-header {
    max-width: 1540px;
    margin: 46px auto 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 20px;
    padding-right: 20px
}

@media screen and (max-width: 1050px) {
    .l-header {
        max-width: 100%;
        z-index: 9999;
        padding-left: 0;
        padding-right: 0;
        display: block;
        margin-top: 0;
        top: 0;
        width: 100vw;
        height: 100svh;
        left: 0;
        transition-property: background-color;
        transition-duration: .3s;
        pointer-events: none;
        position: absolute;
        padding-top: 0;
        transform: translateY(-33.6vw)
    }

    .l-header.isOpened {
        background-color: #fff;
        transition-property: background-color;
        transition-duration: .3s
    }

    .l-header.isOpened .l-header_logo {
        opacity: 1 !important;
        transition-property: opacity;
        transition-duration: .3s
    }

    .l-header:is(:not(.js-header)) {
        position: absolute;
        top: -33.4vw;
        height: unset;
        padding-top: 0;
        transform: translateY(0)
    }
}

.l-header_logo {
    display: block;
    width: 370px
}

@media screen and (max-width: 1050px) {
    .l-header_logo {
        width: 49.6vw;
        margin-bottom: 3.4vw;
        margin-left: 9vw;
        pointer-events: auto
    }
}

.l-header_nav {
    display: flex;
    align-items: center;
    gap: 35px;
    justify-content: flex-end
}

@media screen and (max-width: 1050px) {
    .l-header_nav {
        display: block;
        opacity: 0;
        transition-property: opacity;
        transition-duration: .3s;
        pointer-events: none
    }

    .l-header_nav.isOpened {
        pointer-events: auto;
        opacity: 1;
        transition-property: opacity;
        transition-duration: .3s
    }

    .l-header_nav.-btnOnly {
        opacity: 1;
        flex-flow: row;
        display: flex;
        pointer-events: auto;
        position: absolute;
        right: 6vw;
        top: 2vw
    }

    .l-header_nav.-btnOnly .l-header_nav_btns {
        align-items: flex-end;
        gap: 2vw;
        padding: 0;
        transform: scale(0.8)
    }
}

.l-header_nav_links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 36px;
    justify-content: flex-end
}

@media screen and (max-width: 1050px) {
    .l-header_nav_links {
        display: block;
        padding: 0 16.2vw
    }
}

.l-header_nav_link {
    font-size: 15px;
    letter-spacing: .1rem;
    line-height: 1
}

@media screen and (max-width: 1050px) {
    .l-header_nav_link {
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 15px;
        width: 100%;
        padding: 4vw 6.2vw 4vw 2.4vw;
        border-bottom: 1px solid #c4c4c4
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .l-header_nav_link {
        font-size: 3vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .l-header_nav_link {
        font-size: 15px
    }
}

@media screen and (max-width: 1050px) {
    .l-header_nav_link:after {
        content: "";
        width: 1.6vw;
        height: 2.4vw;
        background: url("../img/arw_r_s.png") no-repeat;
        background-size: contain;
        background-position: center
    }
}

.l-header_nav_btns {
    display: flex;
    align-items: center;
    gap: 16px
}

@media screen and (max-width: 1050px) {
    .l-header_nav_btns {
        padding: 0 16.2vw;
        margin-top: 6.8vw;
        flex-flow: column;
        align-items: flex-start;
        gap: 4vw
    }
}

.l-header_nav_btns.btnOnly {
    gap: 30px
}

.l-header_nav_btns.btnOnly .l-header_nav_btn {
    width: unset;
    padding: 0 10px
}

.l-header_nav_btn {
    font-size: 14px;
    letter-spacing: .07rem;
    color: #2b2b2b;
    background-color: #e5e5e5;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 29px
}

@media screen and (max-width: 1050px) {
    .l-header_nav_btn {
        font-size: 16px;
        width: 17.2vw;
        height: 7.2vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .l-header_nav_btn {
        font-size: 3.2vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .l-header_nav_btn {
        font-size: 16px
    }
}

.l-header_nav_btn:nth-child(2) {
    width: 45px
}

@media screen and (max-width: 1050px) {
    .l-header_nav_btn:nth-child(2) {
        width: 11vw
    }
}

.l-header_menubar {
    width: 7.4vw;
    height: 5.4vw;
    position: absolute;
    display: block;
    right: 16vw;
    top: 6vw;
    pointer-events: auto
}

.l-header_menubar span {
    width: 100%;
    height: 1px;
    background-color: #474747;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    transition-property: opacity, transform;
    transition-duration: .3s
}

.l-header_menubar span:nth-child(1) {
    transform: translateY(-2.6vw)
}

.l-header_menubar span:nth-child(3) {
    transform: translateY(2.6vw)
}

.l-header_menubar.isOpened span {
    transition-property: opacity, transform;
    transition-duration: .3s
}

.l-header_menubar.isOpened span:nth-child(1) {
    transform: translateY(0) rotate(-45deg)
}

.l-header_menubar.isOpened span:nth-child(2) {
    opacity: 0
}

.l-header_menubar.isOpened span:nth-child(3) {
    transform: translateY(0) rotate(45deg)
}

.l-footer {
    margin-top: 40px
}

@media screen and (max-width: 1050px) {
    .l-footer {
        margin-top: 7.6vw;
        padding: 0 16vw
    }
}

.l-footer_links,
.l-footer_btns {
    border-top: 1px solid #c9c9c9;
    border-bottom: 1px solid #c9c9c9;
    display: flex;
    align-items: center;
    justify-content: center
}

.l-footer_links {
    padding: 20px;
    gap: 22px;
    font-size: 15px;
    letter-spacing: .1rem
}

@media screen and (max-width: 1050px) {
    .l-footer_links {
        padding: 0;
        font-size: 15px;
        gap: 0;
        flex-flow: column
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .l-footer_links {
        font-size: 3vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .l-footer_links {
        font-size: 15px
    }
}

@media screen and (max-width: 1050px) {
    .l-footer_link {
        padding: 4vw;
        display: block;
        width: 100%;
        text-align: center
    }

    .l-footer_link:not(:last-child) {
        border-bottom: 1px solid #c9c9c9
    }
}

.l-footer_btns {
    padding: 16px;
    gap: 30px
}

@media screen and (max-width: 1050px) {
    .l-footer_btns {
        padding: 3vw;
        gap: 2vw
    }
}

.l-footer_btn {
    background-color: #e5e5e5;
    padding: 6px 8px;
    font-size: 14px;
    letter-spacing: .07rem
	color: #2b2b2b;
}

@media screen and (max-width: 1050px) {
    .l-footer_btn {
        font-size: 14px;
        padding: 1vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .l-footer_btn {
        font-size: 2.8vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .l-footer_btn {
        font-size: 14px
    }
}

.l-footer_copyright {
    padding: 12px 10px 10px;
    font-size: 12px;
    letter-spacing: .1rem;
    display: block;
    text-align: center
}

@media screen and (max-width: 1050px) {
    .l-footer_copyright {
        padding: 1.6vw 0 10.2vw;
        font-size: 12px;
        letter-spacing: .06rem
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .l-footer_copyright {
        font-size: 2.4vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .l-footer_copyright {
        font-size: 12px
    }
}

.l-access {
    margin-top: 73px;
    max-width: 1040px;
    padding: 0 20px;
    margin-left: auto;
    margin-right: auto
}

@media screen and (max-width: 1050px) {
    .l-access {
        max-width: 100%;
        padding: 0 16vw
    }
}

@media screen and (max-width: 1050px) {
    .l-access {
        margin-top: 12vw
    }
}

.l-access_main {
    display: grid;
    grid-template-columns: auto 480px;
    gap: 11px
}

@media screen and (max-width: 1050px) {
    .l-access_main {
        grid-template-columns: 1fr;
        gap: 9.2vw
    }
}

.l-access_info {
    padding-top: 13px
}

@media screen and (max-width: 1050px) {
    .l-access_info {
        padding-top: 0
    }
}

.l-access_detail {
    margin-top: 60px;
    line-height: 2.1
}

@media screen and (max-width: 1050px) {
    .l-access_detail {
        margin-top: 10.4vw
    }
}

.l-access_detail th {
    text-align: left;
    font-weight: normal;
    letter-spacing: .05rem;
    width: 119px
}

@media screen and (max-width: 1050px) {
    .l-access_detail th {
        width: 16.8vw;
        letter-spacing: .03rem
    }
}

.l-access_detail td {
    letter-spacing: .1rem
}

@media screen and (max-width: 1050px) {
    .l-access_detail td {
        letter-spacing: .03rem
    }
}

.l-access_train {
    margin-top: 43px;
    letter-spacing: .1rem;
    font-size: 14px;
    line-height: 2.1
}

@media screen and (max-width: 1050px) {
    .l-access_train {
        margin-top: 3vw;
        letter-spacing: .03rem;
        font-size: 14px
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .l-access_train {
        font-size: 2.8vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .l-access_train {
        font-size: 14px
    }
}

.l-access_map figcaption {
    display: flex;
    align-items: center;
    justify-content: space-between;
    letter-spacing: .1rem;
    margin-top: 24px
}

@media screen and (max-width: 1050px) {
    .l-access_map figcaption {
        margin-top: 5.2vw;
        letter-spacing: .03rem;
        font-size: 16px;
        align-items: flex-end;
        flex-flow: column-reverse
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .l-access_map figcaption {
        font-size: 3.2vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .l-access_map figcaption {
        font-size: 16px
    }
}

.l-access_map figcaption a {
    display: inline-flex;
    align-items: center
}

.l-access_map figcaption a:after {
    content: "";
    width: 23px;
    height: 23px;
    background: url("../img/arw_r.png") no-repeat;
    background-size: contain;
    background-position: center;
    margin-left: 7px
}

@media screen and (max-width: 1050px) {
    .l-access_map figcaption a:after {
        width: 5.2vw;
        height: 5.2vw;
        margin-left: 0.8vw
    }
}

.l-access_top {
	text-align: right;
}

.l-access_top a {
    display: inline-flex;
    align-items: center;
		letter-spacing: .1rem;
}

.l-access_top a:after {
    content: "";
    width: 23px;
    height: 23px;
    background: url("../img/arw_r.png") no-repeat;
    background-size: contain;
    background-position: center;
    margin-left: 7px
}

@media screen and (max-width: 1050px) {
    .l-access_top a:after {
        width: 5.2vw;
        height: 5.2vw;
        margin-left: 0.8vw
    }
}

.l-access_sns {
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 23px
}

@media screen and (max-width: 1050px) {
    .l-access_sns {
        margin-top: 20.6vw;
        gap: 4.6vw
    }
}

.l-access_sns_btn {
    width: 50px;
    display: block
}

@media screen and (max-width: 1050px) {
    .l-access_sns_btn {
        width: 10vw
    }
}

.l-page {
    max-width: 1040px;
    padding: 0 20px;
    margin-left: auto;
    margin-right: auto
}

@media screen and (max-width: 1050px) {
    .l-page {
        max-width: 100%;
        padding: 0 16vw
    }
}

.l-page.-contact {
    margin-top: 80px
}

@media screen and (max-width: 1050px) {
    .l-page.-contact {
        margin-top: 44vw
    }
}

.c-secTitle {
    font-size: 16px;
    font-weight: bold;
    letter-spacing: .1rem;
    background-color: #e5e5e5;
    padding: 0 4px;
    width: fit-content
}

@media screen and (max-width: 1050px) {
    .c-secTitle {
        font-size: 16px;
        letter-spacing: .05rem
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .c-secTitle {
        font-size: 3.2vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .c-secTitle {
        font-size: 16px
    }
}

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

    .c-secTitle:is(.p-topCurrent .c-secTitle),
    .c-secTitle:is(.p-topOther .c-secTitle),
    .c-secTitle:is(.p-postArchive .c-secTitle) {
        font-size: 14px
    }
}

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

    .c-secTitle:is(.p-topCurrent .c-secTitle),
    .c-secTitle:is(.p-topOther .c-secTitle),
    .c-secTitle:is(.p-postArchive .c-secTitle) {
        font-size: 2.8vw
    }
}

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

    .c-secTitle:is(.p-topCurrent .c-secTitle),
    .c-secTitle:is(.p-topOther .c-secTitle),
    .c-secTitle:is(.p-postArchive .c-secTitle) {
        font-size: 14px
    }
}

.c-moreBtn {
    font-size: 14px;
    color: #fff;
    background-color: #606060;
    letter-spacing: .05rem;
    padding: 2px 4px;
    display: inline-block
}

@media screen and (max-width: 1050px) {
    .c-moreBtn {
        font-size: 14px;
        padding: 1vw 2vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .c-moreBtn {
        font-size: 2.8vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .c-moreBtn {
        font-size: 14px
    }
}

.c-blockTitle {
    border: 1px solid #c9c9c9;
    padding: 12px;
    text-align: center;
    letter-spacing: .1rem;
    font-size: 16px
}

@media screen and (max-width: 1050px) {
    .c-blockTitle {
        padding: 2.4vw 3vw;
        font-size: 14px;
        letter-spacing: .05rem
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .c-blockTitle {
        font-size: 2.8vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .c-blockTitle {
        font-size: 14px
    }
}

.c-pager {
    margin-top: 94px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px
}

@media screen and (max-width: 1050px) {
    .c-pager {
        margin-top: 9.4vw;
        flex-wrap: wrap;
        gap: 2vw
    }
}

.c-pager>* {
    width: 28px;
    height: 28px;
    border: 1px solid #c9c9c9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: #c9c9c9
}

@media screen and (max-width: 1050px) {
    .c-pager>* {
        width: 5vw;
        height: 5vw;
        font-size: 12px
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .c-pager>* {
        font-size: 2.4vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .c-pager>* {
        font-size: 12px
    }
}

.c-pager>*:is(:not(a)) {
    color: #fff5f5;
    background-color: #111;
    border-color: #111
}

.p-topFv {
    margin-top: 52px;
    max-width: 1040px;
    padding: 0 20px;
    margin-left: auto;
    margin-right: auto
}

@media screen and (max-width: 1050px) {
    .p-topFv {
        max-width: 100%;
        padding: 0 16vw
    }
}

@media screen and (max-width: 1050px) {
    .p-topFv {
        margin-top: 44vw;
        display: none
    }
}

.p-topCurrent {
    max-width: 1040px;
    padding: 0 20px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 69px
}

@media screen and (max-width: 1050px) {
    .p-topCurrent {
        max-width: 100%;
        padding: 0 16vw
    }
}

@media screen and (max-width: 1050px) {
    .p-topCurrent {
        margin-top: 47vw
    }
}

.p-topCurrent:nth-child(2) {
    margin-top: 165px
}

@media screen and (max-width: 1050px) {
    .p-topCurrent:nth-child(2) {
        margin-top: 11.2vw
    }
}

@media screen and (max-width: 1050px) {
    .p-topCurrent_list {
        margin-top: 6vw
    }
}

.p-topCurrent_list li {
    margin-top: 51px
}

@media screen and (max-width: 1050px) {
    .p-topCurrent_list li {
        margin-top: 6.4vw
    }
}

.p-topCurrent_list li img {
    height: auto
}

@media screen and (max-width: 1050px) {
    .p-topCurrent_list li img {
        width: 100%;
        margin: 0 auto
    }
}

.p-topCurrent_list_link {
    display: grid;
    grid-template-columns: 287px auto;
    gap: 102px;
    align-items: center
}

@media screen and (max-width: 1050px) {
    .p-topCurrent_list_link {
        gap: 10.6vw;
        grid-template-columns: 1fr
    }
}

.p-topCurrent_list_title {
    font-weight: bold;
    letter-spacing: .1rem;
    font-size: 18px;
    line-height: 1.6
}

@media screen and (max-width: 1050px) {
    .p-topCurrent_list_title {
        font-size: 15px;
        letter-spacing: 0
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-topCurrent_list_title {
        font-size: 3vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-topCurrent_list_title {
        font-size: 15px
    }
}

.p-topCurrent_list_detail {
    line-height: 1.875;
    margin-bottom: 14px
}

@media screen and (max-width: 1050px) {
    .p-topCurrent_list_detail {
        margin-bottom: 9vw
    }
}

.p-topOther {
    max-width: 1040px;
    padding: 0 20px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 209px
}

@media screen and (max-width: 1050px) {
    .p-topOther {
        max-width: 100%;
        padding: 0 16vw
    }
}

@media screen and (max-width: 1050px) {
    .p-topOther {
        margin-top: 8.4vw
    }
}

.p-topOther .c-secTitle {
    margin-bottom: 42px
}

@media screen and (max-width: 1050px) {
    .p-topOther .c-secTitle {
        margin-bottom: 4vw
    }
}

.p-topOther .c-moreBtn {
    margin-top: 44px
}

@media screen and (max-width: 1050px) {
    .p-topOther .c-moreBtn {
        margin-top: 6.4vw
    }
}

.p-topOther_list li:not(:last-child) {
    margin-bottom: 15px
}

@media screen and (max-width: 1050px) {
    .p-topOther_list li:not(:last-child) {
        margin-bottom: 6.4vw
    }
}

@media screen and (max-width: 1050px) {
    .p-topOther_list li {
        line-height: 1.875
    }
}

.p-topOther_list_link {
    display: grid;
    grid-template-columns: 359px auto;
    letter-spacing: .1rem
}

@media screen and (max-width: 1050px) {
    .p-topOther_list_link {
        grid-template-columns: 1fr
    }
}

.p-topBnr {
    max-width: 1040px;
    padding: 0 20px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 143px
}

@media screen and (max-width: 1050px) {
    .p-topBnr {
        max-width: 100%;
        padding: 0 16vw
    }
}

@media screen and (max-width: 1050px) {
    .p-topBnr {
        margin-top: 19.6vw
    }
}

.p-topBnr img {
    width: fit-content;
    margin: 0 auto
}

.p-topBnr_info {
    letter-spacing: .1rem;
    font-size: 14px
}

@media screen and (max-width: 1050px) {
    .p-topBnr_info {
        font-size: 14px;
        display: flex;
        flex-flow: column-reverse;
        gap: 2.6vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-topBnr_info {
        font-size: 2.8vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-topBnr_info {
        font-size: 14px
    }
}

.p-topBnr_info_title {
    font-size: 30px;
    margin-top: 16px
}

@media screen and (max-width: 1050px) {
    .p-topBnr_info_title {
        margin-top: 0;
        font-size: 20px;
        text-align: center
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-topBnr_info_title {
        font-size: 4vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-topBnr_info_title {
        font-size: 20px
    }
}

@media screen and (max-width: 1050px) {
    .p-topBnr_info_detail {
        text-align: center;
        font-size: 14px
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-topBnr_info_detail {
        font-size: 2.8vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-topBnr_info_detail {
        font-size: 14px
    }
}

.p-topBnr_arw {
    position: absolute;
    display: flex;
    align-items: center;
    right: 40px;
    bottom: 54px
}

@media screen and (max-width: 1050px) {
    .p-topBnr_arw {
        display: none
    }
}

.p-topBnr_arw:after {
    content: "";
    width: 23px;
    height: 23px;
    background: url("../img/arw_r.png") no-repeat;
    background-size: contain;
    background-position: center;
    margin-left: 10px
}

.p-aboutSum {
    margin-top: 92px;
    letter-spacing: .1rem
}

@media screen and (max-width: 1050px) {
    .p-aboutSum {
        margin-top: 44vw
    }
}

.p-aboutSum>section {
    display: grid;
    grid-template-columns: auto 465px;
    gap: 19px
}

@media screen and (max-width: 1050px) {
    .p-aboutSum>section {
        gap: 1.4vw;
        display: flex;
        flex-direction: column-reverse
    }
}

.p-aboutSum .c-secTitle {
    margin-bottom: 42px
}

@media screen and (max-width: 1050px) {
    .p-aboutSum .c-secTitle {
        margin-bottom: 8.4vw
    }
}

.p-aboutSum_title {
    font-size: 16px
}

@media screen and (max-width: 1050px) {
    .p-aboutSum_title {
        font-size: 14px
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-aboutSum_title {
        font-size: 2.8vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-aboutSum_title {
        font-size: 14px
    }
}

.p-aboutSum_txt {
    font-size: 14px;
    line-height: 2.1;
    margin-top: 12px
}

@media screen and (max-width: 1050px) {
    .p-aboutSum_txt {
        font-size: 14px;
        letter-spacing: .03rem;
        line-height: 1.875;
        margin-top: 2.4vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-aboutSum_txt {
        font-size: 2.8vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-aboutSum_txt {
        font-size: 14px
    }
}

.p-aboutDetail {
    margin-top: 128px;
    max-width: 1040px;
    padding: 0 20px;
    margin-left: auto;
    margin-right: auto
}

@media screen and (max-width: 1050px) {
    .p-aboutDetail {
        max-width: 100%;
        padding: 0 16vw
    }
}

@media screen and (max-width: 1050px) {
    .p-aboutDetail {
        margin-top: 12.8vw
    }
}

.p-aboutDetail_img {
    margin-top: 50px
}

@media screen and (max-width: 1050px) {
    .p-aboutDetail_img {
        margin-top: 5vw
    }
}

.p-aboutDetail_img img {
    width: 100%
}

.p-aboutDetail_floor {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 26px;
    margin-top: 64px;
    margin-bottom: 120px
}

@media screen and (max-width: 1050px) {
    .p-aboutDetail_floor {
        margin-top: 6.4vw;
        margin-bottom: 12vw;
        gap: 2vw
    }
}

.p-aboutDetail_sec_title {
    text-align: center;
    margin-bottom: 15px;
    letter-spacing: .1rem;
    font-size: 20px;
    font-weight: normal
}

@media screen and (max-width: 1050px) {
    .p-aboutDetail_sec_title {
        font-size: 16px;
        margin-bottom: 2vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-aboutDetail_sec_title {
        font-size: 3.2vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-aboutDetail_sec_title {
        font-size: 16px
    }
}

.p-aboutDetail_sec_img {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3px
}

@media screen and (max-width: 1050px) {
    .p-aboutDetail_sec_img {
        gap: 0.6vw
    }
}

.p-aboutPrice {
    margin-top: 154px;
    margin-bottom: 121px;
    max-width: 1040px;
    padding: 0 20px;
    margin-left: auto;
    margin-right: auto
}

@media screen and (max-width: 1050px) {
    .p-aboutPrice {
        max-width: 100%;
        padding: 0 16vw
    }
}

@media screen and (max-width: 1050px) {
    .p-aboutPrice {
        margin-top: 15.4vw;
        margin-bottom: 12vw
    }
}

.p-aboutPrice_sum {
    background-color: #f2f2f2;
    padding: 36px 18px;
    text-align: center;
    letter-spacing: .1rem;
    font-size: 17px;
    margin-top: 34px;
    width: 100%
}

@media screen and (max-width: 1050px) {
    .p-aboutPrice_sum {
        padding: 6.8vw;
        letter-spacing: .03rem;
        font-size: 15px;
        margin-top: 3.4vw;
        text-align: left
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-aboutPrice_sum {
        font-size: 3vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-aboutPrice_sum {
        font-size: 15px
    }
}

.p-aboutPrice_sum span {
    display: block;
    line-height: 1.8;
    margin: auto;
    width: fit-content;
    text-align: left
}

.p-aboutPrice_sum span:not(:last-child) {
    margin-bottom: 28px
}

@media screen and (max-width: 1050px) {
    .p-aboutPrice_sum span:not(:last-child) {
        margin-bottom: 2.8vw
    }
}

.p-aboutPrice_rule {
    padding: 0 23px;
    margin-top: 46px;
    font-size: 14px;
    line-height: 2.1;
    letter-spacing: .1rem
}

@media screen and (max-width: 1050px) {
    .p-aboutPrice_rule {
        margin-top: 4.6vw;
        font-size: 13px;
        padding: 0
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-aboutPrice_rule {
        font-size: 2.6vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-aboutPrice_rule {
        font-size: 13px
    }
}

.p-postArchive {
    max-width: 1040px;
    padding: 0 20px;
    margin-left: auto;
    margin-right: auto
}

@media screen and (max-width: 1050px) {
    .p-postArchive {
        max-width: 100%;
        padding: 0 16vw
    }
}

.p-postArchive:nth-child(2) {
    margin-top: 98px;
    margin-bottom: 155px
}

@media screen and (max-width: 1050px) {
    .p-postArchive:nth-child(2) {
        margin-top: 44vw;
        margin-bottom: 16vw
    }
}

.p-postArchive .c-secTitle {
    margin-bottom: 80px
}

@media screen and (max-width: 1050px) {
    .p-postArchive .c-secTitle {
        margin-bottom: 8vw
    }
}

.p-postArchive_list li:not(:last-child) {
    margin-bottom: 80px
}

@media screen and (max-width: 1050px) {
    .p-postArchive_list li:not(:last-child) {
        margin-bottom: 8vw
    }
}

.p-postArchive_list_link {
    display: grid;
    grid-template-columns: 220px auto;
    gap: 102px;
    align-items: center
}

@media screen and (max-width: 1050px) {
    .p-postArchive_list_link {
        grid-template-columns: 1fr;
        gap: 4vw
    }
}

.p-postArchive_list_thumb {
    height: auto
}

@media screen and (max-width: 1050px) {
    .p-postArchive_list_thumb {
        width: 32.4vw;
        margin: 0 auto
    }
}

.p-postArchive_list_title {
    letter-spacing: .1rem;
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 5px
}

@media screen and (max-width: 1050px) {
    .p-postArchive_list_title {
        font-size: 15px;
        margin-bottom: 1vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-postArchive_list_title {
        font-size: 3vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-postArchive_list_title {
        font-size: 15px
    }
}

.p-postArchive_list_detail {
    line-height: 2.1
}

.p-postArchive_list .c-moreBtn {
    margin-top: 14px
}

@media screen and (max-width: 1050px) {
    .p-postArchive_list .c-moreBtn {
        margin-top: 2.8vw
    }
}

.p-postDetail {
    max-width: 1040px;
    padding: 0 20px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 76px;
    margin-bottom: 126px
}

@media screen and (max-width: 1050px) {
    .p-postDetail {
        max-width: 100%;
        padding: 0 16vw
    }
}

@media screen and (max-width: 1050px) {
    .p-postDetail {
        margin-top: 44vw;
        margin-bottom: 12.6vw
    }
}

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

@media screen and (max-width: 1050px) {
    .p-postDetail_thumb img {
        width: 100%;
        margin: 0 auto
    }
}

.p-postDetail_thumb figcaption {
    margin-top: 27px;
    letter-spacing: .1rem
}

@media screen and (max-width: 1050px) {
    .p-postDetail_thumb figcaption {
        margin-top: 5vw
    }
}

.p-postDetail_thumb_name {
    font-size: 20px;
    margin-bottom: 5px;
    font-weight: bold
}

@media screen and (max-width: 1050px) {
    .p-postDetail_thumb_name {
        font-size: 15px;
        margin-bottom: 1vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-postDetail_thumb_name {
        font-size: 3vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-postDetail_thumb_name {
        font-size: 15px
    }
}

.p-postDetail_thumb_detail {
    line-height: 2.5
}

@media screen and (max-width: 1050px) {
    .p-postDetail_thumb_detail {
        line-height: 1.875
    }
}

.p-postDetail_content {
    margin-top: 102px;
    letter-spacing: .1rem
}

@media screen and (max-width: 1050px) {
    .p-postDetail_content {
        margin-top: 10.2vw
    }
}

.p-postDetail_content h2 {
    margin-bottom: 10px;
    font-size: 16px
}

@media screen and (max-width: 1050px) {
    .p-postDetail_content h2 {
        font-size: 14px;
        margin-bottom: 2vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-postDetail_content h2 {
        font-size: 2.8vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-postDetail_content h2 {
        font-size: 14px
    }
}

.p-postDetail_content h2:not(:nth-child(1)) {
    margin-top: 76px
}

@media screen and (max-width: 1050px) {
    .p-postDetail_content h2:not(:nth-child(1)) {
        margin-top: 7.6vw
    }
}

.p-postDetail_content h3 {
    margin-top: 50px;
    font-weight: normal;
    margin-bottom: 15px;
    font-size: 15px
}

@media screen and (max-width: 1050px) {
    .p-postDetail_content h3 {
        margin-top: 5vw;
        font-size: 13px;
        margin-bottom: 1.6vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-postDetail_content h3 {
        font-size: 2.6vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-postDetail_content h3 {
        font-size: 13px
    }
}

.p-postDetail_content p {
    font-size: 14px;
    line-height: 2.1
}

@media screen and (max-width: 1050px) {
    .p-postDetail_content p {
        font-size: 13px;
        line-height: 1.875
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-postDetail_content p {
        font-size: 2.6vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-postDetail_content p {
        font-size: 13px
    }
}

.p-postDetail_otherpost {
    margin-top: 199px;
    position: relative;
    text-align: center
}

@media screen and (max-width: 1050px) {
    .p-postDetail_otherpost {
        margin-top: 20vw
    }
}

.p-postDetail_otherpost_link {
    position: absolute;
    top: 0;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
    left: 0;
    width: 26px;
    height: 26px;
    background: url("../img/arw_l.png") no-repeat;
    background-size: contain;
    background-position: center
}

@media screen and (max-width: 1050px) {
    .p-postDetail_otherpost_link {
        width: 4.6vw;
        height: 4.6vw
    }
}

.p-postDetail_otherpost_link.next {
    left: unset;
    right: 0;
    background-image: url(../img/arw_r.png)
}

.p-postDetail_otherpost_tolist {
    font-size: 14px;
    letter-spacing: .07rem
}

@media screen and (max-width: 1050px) {
    .p-postDetail_otherpost_tolist {
        font-size: 15px
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-postDetail_otherpost_tolist {
        font-size: 3vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-postDetail_otherpost_tolist {
        font-size: 15px
    }
}

.p-flagFlow {
    margin-top: 270px;
    margin-bottom: 104px;
    max-width: 1040px;
    padding: 0 20px;
    margin-left: auto;
    margin-right: auto
}

@media screen and (max-width: 1050px) {
    .p-flagFlow {
        max-width: 100%;
        padding: 0 16vw
    }
}

@media screen and (max-width: 1050px) {
    .p-flagFlow {
        margin-top: 27vw;
        margin-bottom: 10.4vw
    }
}

.p-flagFlow .c-blockTitle {
    margin-bottom: 71px
}

@media screen and (max-width: 1050px) {
    .p-flagFlow .c-blockTitle {
        margin-bottom: 7vw
    }
}

.p-flagFlow_steps {
    width: 807px;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    gap: 92px
}

@media screen and (max-width: 1050px) {
    .p-flagFlow_steps {
        width: 100%;
        gap: 10vw
    }
}

.p-flagFlow_steps li {
    display: grid;
    grid-template-columns: 72px auto 561px
}

@media screen and (max-width: 1050px) {
    .p-flagFlow_steps li {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 4vw 0
    }
}

.p-flagFlow_steps_num {
    font-style: italic;
    font-size: 56px;
    letter-spacing: 1rem;
    line-height: 1;
    font-weight: normal
}

@media screen and (max-width: 1050px) {
    .p-flagFlow_steps_num {
        width: 16vw;
        font-size: 40px
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-flagFlow_steps_num {
        font-size: 8vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-flagFlow_steps_num {
        font-size: 40px
    }
}

.p-flagFlow_steps_title {
    font-weight: normal;
    text-align: center;
    padding-top: 5px;
    letter-spacing: .1rem;
    font-size: 20px
}

@media screen and (max-width: 1050px) {
    .p-flagFlow_steps_title {
        width: fit-content;
        font-size: 18px
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-flagFlow_steps_title {
        font-size: 3.6vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-flagFlow_steps_title {
        font-size: 18px
    }
}

.p-flagFlow_steps_title span {
    display: block;
    font-size: 16px
}

@media screen and (max-width: 1050px) {
    .p-flagFlow_steps_title span {
        font-size: 14px
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-flagFlow_steps_title span {
        font-size: 2.8vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-flagFlow_steps_title span {
        font-size: 14px
    }
}

.p-flagFlow_steps_txt {
    padding-top: 23px;
    padding-left: 74px;
    font-size: 14px;
    letter-spacing: .03rem;
    line-height: 2.8;
    display: flex;
    gap: 45px
}

@media screen and (max-width: 1050px) {
    .p-flagFlow_steps_txt {
        width: 100%;
        padding-left: 0;
        padding-top: 0;
        line-height: 1.875;
        flex-flow: column;
        gap: 3vw;
        font-size: 13px
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-flagFlow_steps_txt {
        font-size: 2.6vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-flagFlow_steps_txt {
        font-size: 13px
    }
}

.p-flagFlow_steps_txt a {
    display: inline-block;
    margin-top: 5px;
    align-self: start;
    width: fit-content;
    padding: 0 8px;
    line-height: 2;
    letter-spacing: .05rem;
    color: #fff;
    background-color: #606060
}

@media screen and (max-width: 1050px) {
    .p-flagFlow_steps_txt a {
        margin-top: 1vw;
        padding: 0 1.6vw
    }
}

.p-flagFlow_note {
    text-align: center;
    width: fit-content;
    margin: 121px auto 0;
    letter-spacing: .1rem;
    line-height: 2.5
}

@media screen and (max-width: 1050px) {
    .p-flagFlow_note {
        margin-top: 12vw;
        line-height: 1.875;
        text-align: left
    }
}

.p-flagPrice {
    max-width: 1040px;
    padding: 0 20px;
    margin-left: auto;
    margin-right: auto
}

@media screen and (max-width: 1050px) {
    .p-flagPrice {
        max-width: 100%;
        padding: 0 16vw
    }
}

.p-flagPrice:nth-child(5) {
    margin-top: 105px;
    margin-bottom: 124px
}

@media screen and (max-width: 1050px) {
    .p-flagPrice:nth-child(5) {
        margin-top: 10.4vw;
        margin-bottom: 12.4vw
    }
}

.p-flagPrice .c-blockTitle {
    margin-bottom: 57px
}

@media screen and (max-width: 1050px) {
    .p-flagPrice .c-blockTitle {
        margin-bottom: 5.2vw
    }
}

.p-flagPrice_detail {
    width: 890px;
    margin-left: auto;
    margin-right: auto;
    line-height: 2.5;
    border-top: 1px solid rgba(112, 112, 112, .3);
    border-collapse: collapse;
    background-color: #f5f5f5
}

@media screen and (max-width: 1050px) {
    .p-flagPrice_detail {
        width: 100%
    }
}

.p-flagPrice_detail tr {
    border-bottom: 1px solid rgba(112, 112, 112, .3)
}

@media screen and (max-width: 1050px) {
    .p-flagPrice_detail tr {
        display: grid;
        grid-template-columns: 1fr
    }
}

.p-flagPrice_detail th,
.p-flagPrice_detail td {
    padding: 15px 0
}

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

    .p-flagPrice_detail th,
    .p-flagPrice_detail td {
        padding: 3vw 0
    }
}

.p-flagPrice_detail th {
    font-weight: normal;
    width: 202px
}

@media screen and (max-width: 1050px) {
    .p-flagPrice_detail th {
        padding-bottom: 0;
        width: 100%
    }
}

.p-flagPrice_detail td {
    padding-left: 103px
}

@media screen and (max-width: 1050px) {
    .p-flagPrice_detail td {
        padding-left: 0;
        padding-top: 0;
        text-align: center
    }
}

.p-flagPrice_note {
    width: 100%;
    margin: 30px auto 0;
    letter-spacing: .1rem;
    line-height: 2.5;
    padding: 24px 38px
}

@media screen and (max-width: 1050px) {
    .p-flagPrice_note {
        width: 100%;
        margin-top: 3vw;
        line-height: 1.875;
        padding: 4vw
    }
}

.p-flagSum {
    margin-top: 97px;
    max-width: 1040px;
    padding: 0 20px;
    margin-left: auto;
    margin-right: auto;
    max-width: 1286px;
    padding-left: 38px;
    padding-right: 10px
}

@media screen and (max-width: 1050px) {
    .p-flagSum {
        max-width: 100%;
        padding: 0 16vw
    }
}

@media screen and (max-width: 1050px) {
    .p-flagSum {
        margin-top: 44vw;
        width: 100%;
        padding-left: 16vw;
        padding-right: 16vw
    }
}

.p-flagSum_main {
    position: relative;
    width: 997px;
    margin: 0 auto
}

@media screen and (max-width: 1050px) {
    .p-flagSum_main {
        width: 100%
    }
}

.p-flagSum_main_thumb img {
    width: 664px;
    transform: translateX(-95px)
}

@media screen and (max-width: 1050px) {
    .p-flagSum_main_thumb img {
        width: 100%;
        transform: translateX(0)
    }
}

.p-flagSum_main_info {
    padding-top: min(11.0416666667vw, 212px);
    position: absolute;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    top: 0
}

@media screen and (max-width: 1050px) {
    .p-flagSum_main_info {
        padding-top: 6vw;
        position: relative
    }
}

.p-flagSum_main_info .inner {
    width: 390px
}

@media screen and (max-width: 1050px) {
    .p-flagSum_main_info .inner {
        width: 100%
    }
}

.p-flagSum_main_info .logo {
    width: 317px
}

@media screen and (max-width: 1050px) {
    .p-flagSum_main_info .logo {
        width: 100%
    }
}

.p-flagSum_main_info .catch {
    letter-spacing: .1rem;
    line-height: 1.8;
    margin: 88px 0
}

@media screen and (max-width: 1050px) {
    .p-flagSum_main_info .catch {
        margin: 8vw 0
    }
}

.p-flagSum_main_info .title {
    letter-spacing: .03rem;
    font-weight: normal;
    line-height: 1.8;
    font-size: 16px;
    width: 390px;
    margin-top: 31px
}

@media screen and (max-width: 1050px) {
    .p-flagSum_main_info .title {
        width: 100%;
        font-size: 14px;
        margin-top: 4vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-flagSum_main_info .title {
        font-size: 2.8vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-flagSum_main_info .title {
        font-size: 14px
    }
}

@media screen and (min-width: 1051px) {
    .p-flagSum_main_info .title span {
        font-size: 14px
    }
}

@media screen and (min-width: 1051px)and (max-width: 1050px) {
    .p-flagSum_main_info .title span {
        font-size: 12px
    }
}

@media screen and (min-width: 1051px)and (max-width: 1050px)and (max-width: 1050px) {
    .p-flagSum_main_info .title span {
        font-size: 2.4vw
    }
}

@media screen and (min-width: 1051px)and (max-width: 1050px)and (max-width: 500px) {
    .p-flagSum_main_info .title span {
        font-size: 12px
    }
}

.p-flagSum_main_info .title em {
    font-weight: 900;
    font-style: normal
}

.p-flagSum_txt {
    margin: 88px auto 0;
    width: 997px;
    line-height: 1.8;
    letter-spacing: .1rem
}

@media screen and (max-width: 1050px) {
    .p-flagSum_txt {
        margin-top: 8.8vw;
        width: 100%
    }
}

.p-contactInfo:nth-child(2) {
    margin-top: 53px
}

@media screen and (max-width: 1050px) {
    .p-contactInfo:nth-child(2) {
        margin-top: 6vw
    }
}

.p-contactInfo:nth-child(3) {
    margin-top: 69px;
    margin-bottom: 111px
}

@media screen and (max-width: 1050px) {
    .p-contactInfo:nth-child(3) {
        margin-top: 7vw;
        margin-bottom: 11.2vw
    }
}

.p-contactInfo .c-secTitle {
    margin-bottom: 10px
}

@media screen and (max-width: 1050px) {
    .p-contactInfo .c-secTitle {
        margin-bottom: 2vw
    }
}

.p-contactInfo_tel {
    font-style: italic;
    letter-spacing: .1rem;
    font-size: 39px
}

@media screen and (max-width: 1050px) {
    .p-contactInfo_tel {
        font-size: 20px
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-contactInfo_tel {
        font-size: 4vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-contactInfo_tel {
        font-size: 20px
    }
}

.p-contactInfo_tel.-l {
    font-size: 56px
}

@media screen and (max-width: 1050px) {
    .p-contactInfo_tel.-l {
        font-size: 30px
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-contactInfo_tel.-l {
        font-size: 6vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-contactInfo_tel.-l {
        font-size: 30px
    }
}

.p-contactInfo_txt {
    font-weight: bold;
    line-height: 2
}

@media screen and (max-width: 1050px) {
    .p-contactInfo_txt {
        font-size: 13px;
        margin-top: 2vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-contactInfo_txt {
        font-size: 2.6vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-contactInfo_txt {
        font-size: 13px
    }
}

.p-contactForm {
    margin-top: 42px;
    margin-bottom: 231px;
    width: 625px
}

@media screen and (max-width: 1050px) {
    .p-contactForm {
        margin-top: 4.2vw;
        margin-bottom: 23vw;
        width: 100%
    }
}

.p-contactForm_row {
    margin-bottom: 64px;
    padding-left: 13px
}

@media screen and (max-width: 1050px) {
    .p-contactForm_row {
        margin-bottom: 6.4vw;
        padding-left: 0
    }
}

.p-contactForm_label {
    margin-bottom: 23px;
    font-size: 16px;
    letter-spacing: .1rem
}

@media screen and (max-width: 1050px) {
    .p-contactForm_label {
        margin-bottom: 3.6vw;
        font-size: 15px
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-contactForm_label {
        font-size: 3vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-contactForm_label {
        font-size: 15px
    }
}

.p-contactForm_label span {
    font-size: 12px;
    margin-left: 16px
}

@media screen and (max-width: 1050px) {
    .p-contactForm_label span {
        font-size: 10px;
        margin-left: 2vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-contactForm_label span {
        font-size: 2vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-contactForm_label span {
        font-size: 10px
    }
}

.p-contactForm_date>p {
    gap: 20px;
    display: flex;
    align-items: center
}

@media screen and (max-width: 1050px) {
    .p-contactForm_date>p {
        flex-flow: column;
        gap: 2vw;
        align-items: flex-start
    }
}

.p-contactForm_date>p>span:nth-child(2) {
    font-size: 20px;
    font-weight: bold
}

@media screen and (max-width: 1050px) {
    .p-contactForm_date>p>span:nth-child(2) {
        font-size: 16px
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-contactForm_date>p>span:nth-child(2) {
        font-size: 3.2vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-contactForm_date>p>span:nth-child(2) {
        font-size: 16px
    }
}

.p-contactForm_confirm {
    padding-left: 23px;
    display: grid;
    gap: 51px;
    grid-template-columns: auto 297px;
    align-items: center
}

@media screen and (max-width: 1050px) {
    .p-contactForm_confirm {
        grid-template-columns: 1fr;
        gap: 4vw;
        padding-left: 0
    }
}

.p-contactForm_confirm .wpcf7-previous {
    appearance: none;
    -webkit-appearance: none;
    border: none;
    color: rgba(0, 0, 0, 0);
    background-color: rgba(0, 0, 0, 0);
    border-radius: 0;
    color: #2b2b2b;
    font-size: 16px;
    text-decoration: underline;
    cursor: pointer
}

@media screen and (max-width: 1050px) {
    .p-contactForm_confirm .wpcf7-previous {
        font-size: 14px;
        width: fit-content;
        margin: 0 auto;
        display: block
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-contactForm_confirm .wpcf7-previous {
        font-size: 2.8vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-contactForm_confirm .wpcf7-previous {
        font-size: 14px
    }
}

.p-contactForm_agree {
    font-size: 14px;
    line-height: 2.5;
    letter-spacing: .1rem
}

@media screen and (max-width: 1050px) {
    .p-contactForm_agree {
        font-size: 14px;
        line-height: 1.875;
        width: fit-content;
        margin: 0 auto;
        display: block;
        text-align: center
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-contactForm_agree {
        font-size: 2.8vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-contactForm_agree {
        font-size: 14px
    }
}

.p-contactForm_agree a {
    text-decoration: underline
}

.p-contactForm_btn .wpcf7-spinner {
    display: none
}

.p-contactForm_btn input[type=submit] {
    appearance: none;
    -webkit-appearance: none;
    border: none;
    color: rgba(0, 0, 0, 0);
    background-color: rgba(0, 0, 0, 0);
    border-radius: 0;
    padding: 0;
    width: 100%;
    height: 123px;
    color: #fff;
    background-color: #231f20;
    font-size: 27px;
    letter-spacing: .1rem;
    cursor: pointer
}

@media screen and (max-width: 1050px) {
    .p-contactForm_btn input[type=submit] {
        height: 20vw;
        font-size: 20px
    }
}

@media screen and (max-width: 1050px)and (max-width: 1050px) {
    .p-contactForm_btn input[type=submit] {
        font-size: 4vw
    }
}

@media screen and (max-width: 1050px)and (max-width: 500px) {
    .p-contactForm_btn input[type=submit] {
        font-size: 20px
    }
}

.p-contactForm input[type=radio] {
    display: none;
    padding-left: 0
}

.p-contactForm input[type=radio]+span {
    display: flex;
    align-items: center;
    position: relative;
    cursor: pointer
}

.p-contactForm input[type=radio]+span:before {
    content: "";
    margin-right: 15px;
    width: 20px;
    height: 20px;
    border-radius: 20px;
    border: 1px solid #707070
}

@media screen and (max-width: 1050px) {
    .p-contactForm input[type=radio]+span:before {
        width: 3.2vw;
        height: 3.2vw;
        margin-right: 2vw;
        border-radius: 100vw
    }
}

.p-contactForm input[type=radio]+span:after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
    left: 5px;
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 10px;
    background-color: #707070;
    display: none
}

@media screen and (max-width: 1050px) {
    .p-contactForm input[type=radio]+span:after {
        width: 1.2vw;
        height: 1.2vw;
        left: 1vw;
        border-radius: 100vw
    }
}

.p-contactForm input[type=radio]:checked+span:after {
    display: block
}

.p-contactForm input[type=text],
.p-contactForm input[type=email],
.p-contactForm input[type=tel],
.p-contactForm textarea {
    border: none;
    width: 100%;
    border-radius: 0;
    border-bottom: 1px solid rgba(112, 112, 112, .3);
    padding-bottom: 10px;
    resize: none;
    color: #2b2b2b
}

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

    .p-contactForm input[type=text],
    .p-contactForm input[type=email],
    .p-contactForm input[type=tel],
    .p-contactForm textarea {
        padding-bottom: 3vw
    }
}

.p-contactForm textarea {
    height: 215px
}

@media screen and (max-width: 1050px) {
    .p-contactForm textarea {
        height: 30vw
    }
}

.p-contactForm input[type=date] {
    width: 221px;
    appearance: none;
    border: 1px solid #707070;
    padding: 5px 10px
}

@media screen and (max-width: 1050px) {
    .p-contactForm input[type=date] {
        width: 40vw;
        padding: 2vw 3vw
    }
}

.p-contactForm input[type=date]:after {
    display: none
}

.p-contactForm ::placeholder {
    color: #d1cfcf
}

.p-contactForm .wpcf7-radio {
    display: flex;
    gap: 30px
}

@media screen and (max-width: 1050px) {
    .p-contactForm .wpcf7-radio {
        flex-flow: column;
        gap: 2vw
    }
}

.p-contactForm .wpcf7-list-item {
    margin-left: 0
}

.wpcf7-response-output {
    border: 1px solid #2b2b2b !important;
    padding: 20px !important;
    width: 500px;
    margin: 50px 0 0 !important
}

/*# sourceMappingURL=style.css.map */
