@charset "UTF-8";
/*==================================================================================================
	TOP
==================================================================================================*/
#top {
    /* スタイルのポイント */
}
#top .mv_inner {
    width: 100%;
    height: 100svh;
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}
#top .mv_content {
    position: relative;
    width: 100%;
    height: 100%;
    overflow-x: clip;
}
#top .mv_layer {
    position: absolute;
    aspect-ratio: 1920/926;
    width: max(100vw, 207.343412527svh);
    height: max(100svh, 48.2291666667vw);
    top: 50%;
    left: 50%;
    translate: -50% -50%;
}
#top .mv_layer.-layer_01 {
    z-index: 1;
}
#top .mv_layer.-layer_01 .mv_parts.-car_01 {
    top: 23%;
    left: 90%;
    width: 5%;
    -webkit-animation: wobble 1.5s steps(2) infinite;
    animation: wobble 1.5s steps(2) infinite;
}
#top .mv_layer.-layer_01 .mv_parts.-car_02 {
    top: 2%;
    left: 47%;
    width: 5%;
    -webkit-animation: wobble 2.5s steps(2) infinite;
    animation: wobble 2.5s steps(2) infinite;
}
#top .mv_layer.-layer_01 .mv_parts.-car_03 {
    top: 8%;
    left: 17%;
    width: 5%;
    -webkit-animation: wobble 3s steps(2) infinite;
    animation: wobble 3s steps(2) infinite;
}
#top .mv_layer.-layer_02 {
    z-index: 2;
}
#top .mv_layer.-layer_02 .mv_parts.-car_01 {
    top: 89%;
    left: 40%;
    width: 5%;
    -webkit-animation: wobble 1.5s steps(2) infinite;
    animation: wobble 1.5s steps(2) infinite;
}
#top .mv_layer.-layer_02 .mv_parts.-car_02 {
    top: 53%;
    left: 76%;
    width: 5%;
    -webkit-animation: wobble 3.5s steps(2) infinite;
    animation: wobble 3.5s steps(2) infinite;
}
#top .mv_layer.-layer_02 .mv_parts.-people_01 {
    top: 20%;
    left: 66%;
    width: 6%;
    -webkit-animation: bounce_03 4s ease-in-out infinite;
    animation: bounce_03 4s ease-in-out infinite;
}
#top .mv_layer.-layer_02 .mv_parts.-people_02 {
    top: 25%;
    left: 56%;
    width: 3%;
    -webkit-animation: bounce_04 2.5s ease-in-out infinite;
    animation: bounce_04 2.5s ease-in-out infinite;
}
#top .mv_layer.-layer_02 .mv_parts.-people_03 {
    top: 46%;
    left: 84%;
    width: 5%;
    -webkit-animation: bounce_03 2.8s ease-in-out infinite;
    animation: bounce_03 2.8s ease-in-out infinite;
}
#top .mv_layer.-layer_02 .mv_parts.-people_04 {
    top: 34%;
    left: 3%;
    width: 7%;
    -webkit-animation: bounce_03 5s ease-in-out infinite;
    animation: bounce_03 5s ease-in-out infinite;
}
#top .mv_layer.-layer_02 .mv_parts.-people_05 {
    top: 22%;
    left: 87%;
    width: 1.5%;
    -webkit-animation: bounce_02 3s ease-in-out infinite;
    animation: bounce_02 3s ease-in-out infinite;
}
#top .mv_layer.-layer_02 .mv_parts.-people_06 {
    top: 17%;
    left: 54%;
    width: 1.25%;
    -webkit-animation: bounce_04 2s ease-in-out infinite;
    animation: bounce_04 2s ease-in-out infinite;
}
#top .mv_layer.-layer_02 .mv_parts.-people_07 {
    top: 21%;
    left: 50%;
    width: 1.25%;
    -webkit-animation: bounce_03 2s ease-in-out infinite;
    animation: bounce_03 2s ease-in-out infinite;
}
#top .mv_layer.-layer_02 .mv_parts.-people_08 {
    top: 33%;
    left: 94%;
    width: 3%;
    -webkit-animation: bounce_02 4s ease-in-out infinite;
    animation: bounce_02 4s ease-in-out infinite;
}
#top .mv_layer.-layer_02 .mv_parts.-people_09 {
    top: 68%;
    left: 56%;
    width: 5%;
    -webkit-animation: bounce_03 3.5s ease-in-out infinite;
    animation: bounce_03 3.5s ease-in-out infinite;
}
#top .mv_layer.-layer_02 .mv_parts.-people_10 {
    top: 34%;
    left: 27%;
    width: 4.5%;
    -webkit-animation: bounce_04 4s ease-in-out infinite;
    animation: bounce_04 4s ease-in-out infinite;
}
#top .mv_layer.-layer_02 .mv_parts.-ship_01 {
    top: 52%;
    left: -1%;
    width: 4%;
}
#top .mv_layer.-layer_03 {
    z-index: 3;
}
#top .mv_layer.-layer_03 .mv_parts.-people_01 {
    top: 81%;
    left: 85%;
    width: 3%;
    -webkit-animation: bounce_03 3s ease-in-out infinite;
    animation: bounce_03 3s ease-in-out infinite;
}
#top .mv_layer.-layer_03 .mv_parts.-people_02 {
    top: 72%;
    left: 25%;
    width: 2%;
    -webkit-animation: bounce_04 2.5s ease-in-out infinite;
    animation: bounce_04 2.5s ease-in-out infinite;
}
#top .mv_layer.-layer_03 .mv_parts.-people_03 {
    top: 84%;
    left: 21%;
    width: 1.75%;
    -webkit-animation: bounce_02 2.8s ease-in-out infinite;
    animation: bounce_02 2.8s ease-in-out infinite;
}
#top .mv_layer.-layer_04 {
    z-index: 4;
}
#top .mv_layer.-layer_04 .-cloud_01 {
    animation: fluffy 6s reverse linear infinite;
}
#top .mv_layer.-layer_04 .-cloud_02 {
    animation: fluffy_02 5s reverse linear infinite;
}
#top .mv_layer.-layer_04 .-cloud_03 {
    -webkit-animation: fluffy 7s linear infinite;
    animation: fluffy 7s linear infinite;
}
#top .mv_bg {
    position: relative;
}
#top .mv_bg.-bg_01 {
    z-index: 1;
}
#top .mv_bg.-bg_02 {
    z-index: 2;
}
#top .mv_bg.-bg_03 {
    z-index: 3;
}
#top .mv_bg.-bg_04 {
    z-index: 4;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
#top .mv_bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    display: block;
    position: relative;
}
#top .mv_parts {
    position: absolute;
    z-index: 5;
}
#top .mv_catch {
    position: absolute;
    z-index: 10;
    top: 50%;
    left: min(5cqw, 5em);
    translate: 0 -50%;
    display: flex;
    flex-direction: column;
    gap: min(1.5vw, 1.25em) 0;
}
#top .mv_catch .img img {
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: left;
    object-position: left;
    height: min(8.5vw, 90px);
}
#top .mv_news {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 15;
    width: 100%;
    padding: 0.75em 5% 1.25em;
    background-color: #fff;
    border-bottom: 2px solid #ecece9;
    box-shadow: 0px 10px 10px -12.5px rgba(0, 0, 0, 0.1);
}
#top .mv_news::before {
    content: "";
    position: absolute;
    top: -22.5px;
    left: 0;
    width: 100%;
    height: 25px;
    background-image: url(../img/top/news_wave.png);
    background-size: 1000px 25px;
    background-repeat: repeat-x;
    animation: wave-loop 15s reverse linear infinite;
    z-index: 15;
}
#top .mv_news .news_inner {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1em 5%;
    align-items: center;
}
@media (max-width: 840px) {
    #top .mv_news .news_inner {
        align-items: flex-end;
    }
}
#top .mv_news .news_content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 2.5em;
}
@media (max-width: 840px) {
    #top .mv_news .news_content {
        flex-direction: column;
        align-items: flex-start;
    }
}
#top .mv_news .news_secttl {
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    letter-spacing: 0.1em;
    white-space: nowrap;
}
#top .mv_news .news_item {
    flex: 1;
    min-width: 0;
}
#top .mv_news .news_link {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25em 0.5em;
}
@media (max-width: 840px) {
    #top .mv_news .news_link {
        flex-direction: column;
        align-items: flex-start;
    }
}
#top .mv_news .news_link:hover .news_ttl::after {
    width: 100%;
}
#top .mv_news .news_ttl {
    flex: 1;
    min-width: 0;
    font-weight: 500;
    line-height: 1.45;
    position: relative;
}
@media (max-width: 540px) {
    #top .mv_news .news_ttl {
        display: block;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        width: 12em;
    }
}
#top .mv_news .news_ttl::after {
    content: "";
    position: absolute;
    bottom: -0.15em;
    left: 0;
    width: 0%;
    height: 1px;
    background-color: #443521;
    transition: width 0.5s;
}
#top .mv_news .news_morebtn {
    background-color: #fff;
    padding: 0.75em 1.25em;
    border: 1px solid #443521;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 0.5em;
    flex: 0 0 200px;
    max-width: 100%;
    font-weight: 700;
    line-height: 1.35;
}
@media (max-width: 540px) {
    #top .mv_news .news_morebtn {
        flex: 0 0 auto;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }
}
#top .mv_news .news_morebtn:hover {
    background-color: #f0b400;
    color: #fff;
}
#top .mv_news .news_morebtn:hover::after {
    translate: 0.25em -0.25em;
    background-color: #fff;
}
#top .mv_news .news_morebtn span {
    font: inherit;
}
@media (max-width: 540px) {
    #top .mv_news .news_morebtn span .sp-none {
        display: none;
    }
}
#top .mv_news .news_morebtn::after {
    content: "";
    width: 1em;
    height: 1em;
    translate: 0 0.05em;
    rotate: -45deg;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: #443521;
    transition: background-color 0.5s, translate 0.5s;
}
#top .feature {
    background-color: #f0f6e1;
    padding: clamp(3.6em, 10cqw, 10em) 10%;
    margin: 0 auto;
    overflow: hidden;
    min-height: 800px;
    height: 120svh;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media (max-width: 840px) {
    #top .feature {
        min-height: auto;
        height: auto;
        padding: clamp(3.6em, 10cqw, 10em) 5% calc(clamp(3.6em, 10cqw, 10em) * 3.5);
    }
}
#top .feature_content {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: clamp(3.6em, 10cqw, 10em) 5%;
    margin-top: -20vh;
}
@media (max-width: 840px) {
    #top .feature_content {
        margin-top: 0;
    }
}
#top .feature_map {
    width: 47.5%;
    scale: 1;
    -webkit-transform-origin: 63% 73%;
    transform-origin: 63% 73%;
    position: relative;
    z-index: 5;
}
@media (max-width: 840px) {
    #top .feature_map {
        width: 100%;
        scale: 4.25;
        margin: -15% 0;
        -webkit-transform-origin: 62% 73%;
        transform-origin: 62% 73%;
    }
}
#top .feature_map .name {
    position: absolute;
    bottom: 27%;
    right: 37.5%;
    width: 7%;
    opacity: 0;
    -webkit-transform: translateY(15px);
    transform: translateY(15px);
}
#top .feature_map .name img {
    -o-object-fit: contain;
    object-fit: contain;
}
#top .feature_map .building {
    position: absolute;
    bottom: 29%;
    right: 36.5%;
    width: 9%;
    opacity: 0;
    -webkit-transform: translateY(15px);
    transform: translateY(15px);
}
#top .feature_unit {
    width: 47.5%;
    position: relative;
    z-index: 10;
}
@media (max-width: 840px) {
    #top .feature_unit {
        width: 100%;
    }
}
#top .feature_secttl {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25em 0;
    margin-bottom: clamp(1.5em, 4cqw, 2.5em);
}
#top .feature_secttl .en {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    color: #A29A90;
}
#top .feature_secttl .en::before {
    content: "( ";
}
#top .feature_secttl .en::after {
    content: " )";
}
#top .feature_secttl .ja {
    font-size: min(12cqw, clamp(2.4rem, 4vw, 3.6rem));
    line-height: 1.35;
    letter-spacing: 0.1em;
}
#top .feature_txt {
    width: 65%;
}
@media (max-width: 840px) {
    #top .feature_txt {
        width: 100%;
    }
}
#top .feature_morebtn {
    background-color: #fff;
    padding: 0.75em 1.25em;
    border: 1px solid #443521;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 0.5em;
    width: 260px;
    max-width: 100%;
    margin: 2em auto 0 0;
    font-weight: 700;
    line-height: 1.35;
}
#top .feature_morebtn:hover {
    background-color: #f0b400;
    color: #fff;
}
#top .feature_morebtn:hover::after {
    translate: 0.25em -0.25em;
    background-color: #fff;
}
#top .feature_morebtn span {
    font: inherit;
}
#top .feature_morebtn::after {
    content: "";
    width: 1em;
    height: 1em;
    translate: 0 0.05em;
    rotate: -45deg;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: #443521;
    transition: background-color 0.5s, translate 0.5s;
}
#top .feature_illust {
    position: absolute;
    bottom: 0;
    right: -20%;
    width: 40%;
    -webkit-animation: fluffy 4s ease-in-out infinite;
    animation: fluffy 4s ease-in-out infinite;
}
@media (max-width: 840px) {
    #top .feature_illust {
        display: none;
    }
}
#top .for {
    margin-top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
}
@media (max-width: 840px) {
    #top .for {
        margin: calc(clamp(3.6em, 10cqw, 10em) * -1) auto clamp(3.6em, 10cqw, 10em);
    }
}
#top .for::before {
    content: "";
    position: absolute;
    top: calc(max(clamp(3.6em, 10cqw, 10em), 8.5vw) * -1 + 2px);
    left: 0;
    width: 100%;
    height: max(clamp(3.6em, 10cqw, 10em), 8.5vw);
    background-color: #fff;
    -webkit-mask-image: url(../img/cmn/sec_curve.svg);
    mask-image: url(../img/cmn/sec_curve.svg);
    -webkit-mask-size: 100%;
    mask-size: 100%;
    -webkit-mask-position: bottom;
    mask-position: bottom;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}
#top .for_inner {
    display: flex;
    justify-content: center;
    gap: 1.5em 3.5%;
    z-index: 10;
    width: 100%;
    margin-top: calc(max(clamp(3.6em, 10cqw, 10em), 8.5vw) * -0.5);
}
@media (max-width: 840px) {
    #top .for_inner {
        flex-direction: column;
        align-items: center;
        gap: 1.5em 0;
    }
}
@media (max-width: 540px) {
    #top .for_inner {
        margin-top: 0;
    }
}
#top .for_morebtn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 1em;
    position: relative;
    border: 1px solid #443521;
    border-radius: 100px;
    padding: 0.75em 2.5em;
    background-color: #fff;
    width: calc((100% - 3.5em) / 2);
}
@media (max-width: 840px) {
    #top .for_morebtn {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }
}
#top .for_morebtn::before {
    content: "";
    width: min(10vw, 100px);
    height: min(10vw, 100px);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
#top .for_morebtn:nth-of-type(1)::before {
    background-image: url(../img/top/for_icon_01.png);
}
#top .for_morebtn:nth-of-type(2)::before {
    background-image: url(../img/top/for_icon_02.png);
}
#top .for_morebtn:hover {
    background-color: #f0b400;
    color: #fff;
}
#top .for_morebtn:hover .for_ttl .en,
#top .for_morebtn:hover .for_ttl .ja {
    color: #fff;
}
#top .for_morebtn:hover .for_arrow::before {
    background-color: #fff;
}
#top .for_morebtn:hover .for_arrow::after {
    translate: -35% -65%;
    background-color: #443521;
}
#top .for_content {
    display: flex;
    align-items: center;
    gap: 0 1em;
}
#top .for_ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25em 0;
}
#top .for_ttl .en {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    color: #A29A90;
    transition: color 0.5s;
}
#top .for_ttl .en::before {
    content: "( ";
}
#top .for_ttl .en::after {
    content: " )";
}
#top .for_ttl .ja {
    font-size: min(12cqw, clamp(2.4rem, 4vw, 3.6rem) * 0.9);
    line-height: 1.35;
    transition: color 0.5s;
}
#top .for_arrow {
    width: min(5cqw, 2.5em);
    height: min(5cqw, 2.5em);
    position: relative;
}
#top .for_arrow::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #443521;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    border-radius: min(1.5vw, 1em);
    transition: background-color 0.5s;
}
#top .for_arrow::after {
    content: "";
    position: absolute;
    width: 40%;
    height: 40%;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    rotate: -45deg;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: #fff;
    transition: background-color 0.5s, translate 0.5s;
}
#top .for_illust {
    position: absolute;
    z-index: 5;
}
#top .for_illust.-house {
    top: calc(max(clamp(3.6em, 10cqw, 10em), 8.5vw) * -0.8);
    left: 5%;
    width: 7.5%;
}
@media (max-width: 840px) {
    #top .for_illust.-house {
        width: 12.5%;
        bottom: 0;
    }
}
#top .for_illust.-town {
    top: calc(max(clamp(3.6em, 10cqw, 10em), 8.5vw) * -0.8);
    right: 5%;
    width: 8.5%;
}
@media (max-width: 840px) {
    #top .for_illust.-town {
        width: 12.5%;
        bottom: 0;
    }
}
#top .for_illust.-people {
    width: 5%;
    display: -ms-grid;
    display: grid;
    grid-template-areas: "stack";
}
@media (max-width: 840px) {
    #top .for_illust.-people {
        width: 7.5%;
    }
}
#top .for_illust.-people img {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: stack;
    width: 100%;
    height: auto;
    transition: opacity 0.2s ease;
    /* 切り替わりを少し滑らかにする場合 */
}
#top .for_illust.-people img.img_02 {
    opacity: 0;
    /* 最初は透明 */
}
#top .properties {
    /* 3. 動く方のバー（ドラッグ部分） */
}
#top .properties_head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: clamp(1.5em, 4cqw, 2.5em) 0;
}
@media (max-width: 840px) {
    #top .properties_head {
        flex-direction: column-reverse;
    }
}
#top .properties_content {
    width: 40%;
}
@media (max-width: 840px) {
    #top .properties_content {
        width: 100%;
    }
}
#top .properties_illust {
    width: 35%;
}
@media (max-width: 840px) {
    #top .properties_illust {
        width: 90%;
        max-width: 400px;
        margin: 0 auto;
    }
}
#top .properties_secttl {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25em 0;
    margin-bottom: clamp(1.5em, 4cqw, 2.5em);
}
#top .properties_secttl .en {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    color: #A29A90;
}
#top .properties_secttl .en::before {
    content: "( ";
}
#top .properties_secttl .en::after {
    content: " )";
}
#top .properties_secttl .ja {
    font-size: min(12cqw, clamp(2.4rem, 4vw, 3.6rem));
    line-height: 1.35;
    letter-spacing: 0.1em;
}
#top .properties_slide {
    margin-right: calc(50% - 50vw);
    margin-top: clamp(3.6em, 8cqw, 5em);
}
#top .properties_item {
    width: 30vw;
    min-width: 580px;
    margin-right: 5%;
}
@media (max-width: 840px) {
    #top .properties_item {
        width: 75vw;
        min-width: auto;
        margin-right: 7.5%;
    }
}
#top .properties_scrollbar {
    height: 2px;
    background: #e0e0e0;
    margin-top: clamp(3.6em, 8cqw, 5em);
}
#top .properties .properties_scrollbar.swiper-scrollbar {
    position: relative;
    /* 外に出した時は必須 */
    height: 1px;
    /* かなり細めに設定 */
    background-color: #dcdcdc;
    /* ベースの薄い線 */
    margin-top: 40px;
    /* スライダーとの距離 */
    border-radius: 0;
    /* 角を丸めない */
}
#top .properties .properties_scrollbar .swiper-scrollbar-drag {
    background-color: #4a392a;
    /* 濃い茶色 */
    height: 3px;
    /* ベースより少し太くすると画像に近い質感に */
    top: -1px;
    /* 細い線の中央に合わせる調整 */
    border-radius: 0;
    width: 25% !important;
}
#top .properties_btns {
    display: flex;
    justify-content: flex-end;
    margin-top: 2em;
    position: relative;
}
#top .properties_nav {
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    left: 0;
    width: 6em;
    height: 2.5em;
}
#top .properties_nav .prev,
#top .properties_nav .next {
    width: 2.5em;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    margin-top: 0;
    background-color: #fff;
    border-radius: 100px;
    border: 1px solid #443521;
}
#top .properties_nav .prev::before,
#top .properties_nav .next::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 35%;
    height: 50%;
    background-color: #443521;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    transition: background-color 0.5s;
}
#top .properties_nav .prev::after,
#top .properties_nav .next::after {
    display: none;
}
#top .properties_nav .prev:hover::before,
#top .properties_nav .next:hover::before {
    background-color: #f0b400;
}
#top .properties_nav .prev {
    left: 0;
}
#top .properties_nav .next {
    right: 0;
}
#top .properties_nav .next::before {
    translate: -50% -50%;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}
#top .properties_nav .swiper-button-lock {
    display: none !important;
}
#top .properties_morebtn {
    background-color: #fff;
    padding: 0.75em 1.25em;
    border: 1px solid #443521;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 0.5em;
    width: 200px;
    max-width: 100%;
    font-weight: 700;
    line-height: 1.35;
}
#top .properties_morebtn:hover {
    background-color: #f0b400;
    color: #fff;
}
#top .properties_morebtn:hover::after {
    translate: 0.25em -0.25em;
    background-color: #fff;
}
#top .properties_morebtn span {
    font: inherit;
}
#top .properties_morebtn::after {
    content: "";
    width: 1em;
    height: 1em;
    translate: 0 0.05em;
    rotate: -45deg;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: #443521;
    transition: background-color 0.5s, translate 0.5s;
}
#top .properties_parts {
    position: absolute;
    bottom: -15%;
    left: 0;
    width: 11.5%;
    -webkit-animation: wobble 1.5s steps(2) infinite;
    animation: wobble 1.5s steps(2) infinite;
}
@media (max-width: 840px) {
    #top .properties_parts {
        display: none;
    }
}
#top .guide-voice {
    position: relative;
    width: 100%;
    min-height: 100svh;
    height: auto;
    z-index: 10;
}
@media (max-width: 840px) {
    #top .guide-voice {
        min-height: auto;
        height: auto;
    }
}
#top .guide {
    position: absolute;
    top: 55%;
    left: 50%;
    translate: -50% -50%;
    z-index: 10;
    width: 100%;
    margin: 0 0;
    opacity: 1;
}
@media (max-width: 840px) {
    #top .guide {
        position: relative;
        top: auto;
        left: auto;
        translate: 0 0;
        width: 100%;
        margin: 0 0;
        opacity: 1;
    }
}
#top .guide_content {
    width: 45%;
}
@media (max-width: 840px) {
    #top .guide_content {
        width: 100%;
    }
}
#top .guide_inner {
    padding: clamp(3.6em, 8cqw, 5em) min(5cqw, 5em);
    background-image: url(../img/top/faq_bg.png);
    background-size: cover;
    background-position: 50% 100%;
    background-repeat: no-repeat;
    border-radius: min(5vw, 50px);
}
#top .guide_copy {
    font-size: min(12cqw, clamp(2.4rem, 4vw, 3.6rem));
    line-height: 1.35;
    letter-spacing: 0.1em;
    margin-bottom: 1.25em;
}
#top .guide_btns {
    margin-top: 1.5em;
    display: flex;
    flex-direction: column;
    gap: 0.5em 0;
}
#top .guide_morebtn {
    background-color: #fff;
    padding: 0.75em 1.25em;
    border: 1px solid #443521;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 0.5em;
    width: 200px;
    max-width: 100%;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
}
#top .guide_morebtn:hover {
    background-color: #f0b400;
    color: #fff;
}
#top .guide_morebtn:hover .guide_arrow::before {
    background-color: #fff;
}
#top .guide_morebtn:hover .guide_arrow::after {
    translate: -35% -65%;
    background-color: #443521;
}
#top .guide_morebtn span {
    font: inherit;
    flex: 1;
    min-width: 0;
}
#top .guide_arrow {
    width: min(5cqw, 1.5em);
    height: min(5cqw, 1.5em);
    position: relative;
    flex: 0 0 min(5cqw, 1.5em);
}
#top .guide_arrow::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #443521;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    border-radius: 100px;
    transition: background-color 0.5s;
}
#top .guide_arrow::after {
    content: "";
    position: absolute;
    width: 40%;
    height: 40%;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    rotate: -45deg;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: #fff;
    transition: background-color 0.5s, translate 0.5s;
}
#top .guide_img {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 50%;
    aspect-ratio: 1/1;
}
@media (max-width: 840px) {
    #top .guide_img {
        position: relative;
        width: calc(100% + min(5cqw, 5em));
        aspect-ratio: 1/0.85;
        margin-bottom: calc(clamp(3.6em, 8cqw, 5em) * -1);
    }
}
#top .guide_illust {
    position: absolute;
}
#top .guide_illust.-human {
    bottom: 0;
    right: 35%;
    width: 25%;
    z-index: 5;
}
#top .guide_illust.-house_01 {
    bottom: 30%;
    left: 0;
    width: 30%;
    z-index: 3;
}
#top .guide_illust.-house_02 {
    bottom: 33%;
    right: 0%;
    width: 35%;
    z-index: 3;
}
#top .guide_illust.-tips_01 {
    top: 22%;
    left: 0;
    width: 45%;
    z-index: 5;
    -webkit-animation: tips-01 2s steps(2) infinite;
    animation: tips-01 2s steps(2) infinite;
}
@media (max-width: 840px) {
    #top .guide_illust.-tips_01 {
        top: 15%;
    }
}
#top .guide_illust.-tips_02 {
    top: 18%;
    left: 48%;
    width: 45%;
    z-index: 5;
    -webkit-animation: tips-01 3.5s steps(2) infinite;
    animation: tips-01 3.5s steps(2) infinite;
}
@media (max-width: 840px) {
    #top .guide_illust.-tips_02 {
        top: 10%;
    }
}
#top .cloud_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
    z-index: 10;
    pointer-events: none;
}
@media (max-width: 840px) {
    #top .cloud_overlay {
        display: none;
    }
}
#top .cloud_overlay .cloud_01,
#top .cloud_overlay .cloud_02,
#top .cloud_overlay .cloud_03,
#top .cloud_overlay .cloud_04,
#top .cloud_overlay .cloud_05 {
    position: absolute;
    opacity: 0;
}
#top .cloud_overlay .cloud_01 {
    top: 5%;
    left: -100%;
    width: 100%;
    z-index: 1;
}
#top .cloud_overlay .cloud_02 {
    top: 5%;
    left: -40%;
    width: 40%;
    z-index: 5;
}
#top .cloud_overlay .cloud_03 {
    bottom: -7.5%;
    right: -100%;
    width: 120%;
    z-index: 2;
}
#top .cloud_overlay .cloud_04 {
    bottom: 10%;
    right: -40%;
    width: 40%;
    z-index: 5;
}
#top .cloud_overlay .cloud_05 {
    bottom: -2.5%;
    left: -100%;
    width: 100%;
    z-index: 1;
}
#top .voice {
    margin-top: -100svh !important;
    min-height: 100svh;
    z-index: 10;
    width: 100%;
    margin: 0 0;
    opacity: 0;
    z-index: 20;
    padding-bottom: clamp(3.6em, 10cqw, 10em);
}
@media (max-width: 840px) {
    #top .voice {
        margin-top: clamp(3.6em, 10cqw, 10em) !important;
        margin: clamp(3.6em, 10cqw, 10em) auto;
        min-height: auto;
        height: auto;
        padding-bottom: 0;
        opacity: 1;
    }
}
#top .voice_secttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25em 0;
    margin-bottom: clamp(1.5em, 4cqw, 2.5em);
}
#top .voice_secttl .en {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    color: #A29A90;
}
#top .voice_secttl .en::before {
    content: "( ";
}
#top .voice_secttl .en::after {
    content: " )";
}
#top .voice_secttl .ja {
    font-size: min(12cqw, clamp(2.4rem, 4vw, 3.6rem));
    line-height: 1.35;
    letter-spacing: 0.1em;
}
#top .voice_morebtn {
    background-color: #fff;
    padding: 0.75em 1.25em;
    border: 1px solid #443521;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 0.5em;
    margin: 2em 0 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    font-weight: 700;
    line-height: 1.35;
}
#top .voice_morebtn:hover {
    background-color: #f0b400;
    color: #fff;
}
#top .voice_morebtn:hover::after {
    translate: 0.25em -0.25em;
    background-color: #fff;
}
#top .voice_morebtn span {
    font: inherit;
}
#top .voice_morebtn::after {
    content: "";
    width: 1em;
    height: 1em;
    translate: 0 0.05em;
    rotate: -45deg;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: #443521;
    transition: background-color 0.5s, translate 0.5s;
}
#top .company {
    padding: clamp(3.6em, 10cqw, 10em) 10% calc(max(clamp(3.6em, 10cqw, 10em), 8.5vw) + clamp(3.6em, 8cqw, 5em));
    margin: 0 auto;
    background-color: #FBF5EE;
}
@media (max-width: 840px) {
    #top .company {
        padding: clamp(3.6em, 10cqw, 10em) 5% calc(clamp(3.6em, 10cqw, 10em) + 50px);
    }
}
#top .company::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: max(clamp(3.6em, 10cqw, 10em), 8.5vw);
    background-color: #fff;
    -webkit-mask-image: url(../img/cmn/sec_curve.svg);
    mask-image: url(../img/cmn/sec_curve.svg);
    -webkit-mask-size: 100%;
    mask-size: 100%;
    -webkit-mask-position: bottom;
    mask-position: bottom;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}
#top .company_head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: clamp(1.5em, 4cqw, 2.5em) 0;
}
@media (max-width: 840px) {
    #top .company_head {
        flex-direction: column-reverse;
    }
}
#top .company_content {
    width: 40%;
}
@media (max-width: 840px) {
    #top .company_content {
        width: 100%;
    }
}
#top .company_illust.-head {
    width: 45%;
    aspect-ratio: 4/2.25;
    position: relative;
}
@media (max-width: 840px) {
    #top .company_illust.-head {
        width: 90%;
        max-width: 400px;
        margin: 0 auto;
    }
}
#top .company_illust.-head .illust {
    position: absolute;
}
#top .company_illust.-head .illust.-main {
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 100%;
}
#top .company_illust.-head .illust.-people {
    bottom: 12%;
    right: 19%;
    width: 23%;
    -webkit-animation: wobble 1.5s steps(2) infinite;
    animation: wobble 1.5s steps(2) infinite;
}
#top .company_illust.-town {
    position: absolute;
    z-index: 5;
    bottom: 3.5%;
    left: 5%;
    width: 8.5%;
}
@media (max-width: 840px) {
    #top .company_illust.-town {
        width: 12.5%;
        bottom: 0;
    }
}
#top .company_illust.-house {
    position: absolute;
    z-index: 5;
    bottom: 3.5%;
    right: 5%;
    width: 7.5%;
}
@media (max-width: 840px) {
    #top .company_illust.-house {
        width: 12.5%;
        bottom: 0;
    }
}
#top .company_illust.-car {
    position: absolute;
    z-index: 5;
    width: 6%;
}
@media (max-width: 840px) {
    #top .company_illust.-car {
        width: 10%;
    }
}
#top .company_secttl {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25em 0;
    margin-bottom: clamp(1.5em, 4cqw, 2.5em);
}
#top .company_secttl .en {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    color: #A29A90;
}
#top .company_secttl .en::before {
    content: "( ";
}
#top .company_secttl .en::after {
    content: " )";
}
#top .company_secttl .ja {
    font-size: min(12cqw, clamp(2.4rem, 4vw, 3.6rem));
    line-height: 1.35;
    letter-spacing: 0.1em;
}
#top .company_morebtn {
    background-color: #fff;
    padding: 0.75em 1.25em;
    border: 1px solid #443521;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 0.5em;
    width: 200px;
    max-width: 100%;
    margin: 2em auto 0 0;
    font-weight: 700;
    line-height: 1.35;
}
#top .company_morebtn:hover {
    background-color: #f0b400;
    color: #fff;
}
#top .company_morebtn:hover::after {
    translate: 0.25em -0.25em;
    background-color: #fff;
}
#top .company_morebtn span {
    font: inherit;
}
#top .company_morebtn::after {
    content: "";
    width: 1em;
    height: 1em;
    translate: 0 0.05em;
    rotate: -45deg;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: #443521;
    transition: background-color 0.5s, translate 0.5s;
}
#top .company_list {
    margin: clamp(3.6em, 8cqw, 5em) auto 0;
    display: flex;
    flex-wrap: wrap;
    gap: clamp(1.5em, 4cqw, 2.5em) 3.5%;
}
@media (max-width: 540px) {
    #top .company_list {
        width: 400px;
        max-width: 70%;
    }
}
#top .company_item {
    width: 31%;
}
@media (max-width: 540px) {
    #top .company_item {
        width: 100%;
    }
}
#top .company_note {
    display: block;
    margin: 1.5em auto 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 1.25em;
}
@media (max-width: 840px) {
    #top .company_note {
        font-size: 1em;
    }
}

/*==================================================================================================
	お知らせ
==================================================================================================*/
#news .archive_inner {
    z-index: 10;
}
#news .archive_list {
    display: flex;
    flex-direction: column;
}
#news .archive_item {
    border-bottom: 1px solid #A29A90;
}
#news .archive_item:first-child {
    border-top: 1px solid #A29A90;
}
#news .archive_link {
    padding: 1.5em min(5cqw, 1em);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0 1em;
}
@media (max-width: 840px) {
    #news .archive_link {
        padding: 0.75em min(5cqw, 1em);
    }
}
#news .archive_link:hover .archive_arrow::before {
    background-color: #f0b400;
}
#news .archive_link:hover .archive_arrow::after {
    translate: -35% -50%;
    background-color: #fff;
}
#news .archive_content {
    display: flex;
    align-items: center;
    gap: 0.15em 1em;
    flex: 1;
    min-width: 0;
}
@media (max-width: 840px) {
    #news .archive_content {
        flex-direction: column;
        align-items: flex-start;
    }
}
#news .archive_ttl {
    flex: 1;
    min-width: 0;
    font-weight: 500;
    line-height: 1.45;
    position: relative;
}
#news .archive_arrow {
    width: min(15cqw, 2.5em);
    height: min(15cqw, 2.5em);
    position: relative;
    flex: 0 0 min(15cqw, 2.5em);
}
@media (max-width: 840px) {
    #news .archive_arrow {
        flex: 0 0 min(10cqw, 2em);
        width: min(10cqw, 2em);
        height: min(10cqw, 2em);
    }
}
#news .archive_arrow::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #443521;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    border-radius: min(3.5vw, 1em);
    transition: background-color 0.5s;
}
@media (max-width: 840px) {
    #news .archive_arrow::before {
        border-radius: min(2vw, 0.75em);
    }
}
#news .archive_arrow::after {
    content: "";
    position: absolute;
    width: 40%;
    height: 40%;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: #fff;
    transition: background-color 0.5s, translate 0.5s;
}
#news .archive_illust {
    z-index: 5;
}
#news .archive_illust.-forest {
    margin: calc(clamp(3.6em, 8cqw, 5em) * 1.15) auto -5%;
    width: 400px;
    max-width: 60%;
    -webkit-animation: bounce 4s infinite;
    animation: bounce 4s infinite;
}
#news .archive_illust.-cloud_01 {
    bottom: 50%;
    left: 5%;
    width: 7.5%;
    -webkit-animation: fluffy 3s linear infinite;
    animation: fluffy 3s linear infinite;
    position: absolute;
}
@media (max-width: 840px) {
    #news .archive_illust.-cloud_01 {
        display: none;
    }
}
#news .archive_illust.-cloud_02 {
    top: 25%;
    right: 5%;
    width: 7.5%;
    -webkit-animation: fluffy_02 3s linear infinite;
    animation: fluffy_02 3s linear infinite;
    position: absolute;
}
@media (max-width: 840px) {
    #news .archive_illust.-cloud_02 {
        display: none;
    }
}
#news .article_ttl {
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    line-height: 1.45;
    margin: 0.5em 0;
    padding-bottom: 0.75em;
    position: relative;
}
#news .article_ttl::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #A29A90;
    -webkit-mask-image: url(../img/cmn/dotted_horz.svg);
    mask-image: url(../img/cmn/dotted_horz.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: repeat-x;
    mask-repeat: repeat-x;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
}
#news .article_content img {
    width: auto;
    margin: 1em 0;
    border-radius: min(5vw, 10px);
}
#news .article_illust {
    z-index: 5;
}
#news .article_illust.-forest {
    margin: calc(clamp(3.6em, 8cqw, 5em) * 1.15) auto -5%;
    width: 400px;
    max-width: 60%;
    -webkit-animation: bounce 4s infinite;
    animation: bounce 4s infinite;
}
#news .article_backbtn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 0.5em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    font-weight: 700;
    line-height: 1.35;
    margin-top: 1.5em;
    margin: clamp(3.6em, 8cqw, 5em) auto 0;
    border: none;
    background-color: transparent;
}
#news .article_backbtn:hover::before {
    translate: -0.5em 0;
}
#news .article_backbtn span {
    font: inherit;
    font-family: "Montserrat", sans-serif;
    font-weight: 500;
}
#news .article_backbtn::before {
    content: "";
    width: 1em;
    height: 1em;
    rotate: 180deg;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: #443521;
    transition: background-color 0.5s, translate 0.5s;
}

/*==================================================================================================
	事業紹介
==================================================================================================*/
#business .about_inner {
    display: flex;
    flex-direction: column;
    gap: clamp(3.6em, 8cqw, 5em) 0;
}
#business .about_content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: clamp(1.5em, 4cqw, 2.5em) 5%;
}
@media (max-width: 840px) {
    #business .about_content {
        flex-direction: column-reverse;
        width: 85%;
    }
}
#business .about_content.-top .about_unit {
    width: 50%;
}
@media (max-width: 840px) {
    #business .about_content.-top .about_unit {
        width: 100%;
    }
}
#business .about_content.-top .about_illust {
    width: 45%;
    padding: 0 10% 0 5%;
}
@media (max-width: 840px) {
    #business .about_content.-top .about_illust {
        width: 50%;
        max-width: 360px;
        padding: 0;
        margin: 0 auto;
    }
}
#business .about_content.-bottom {
    flex-direction: row-reverse;
}
@media (max-width: 840px) {
    #business .about_content.-bottom {
        flex-direction: column-reverse;
        margin-left: auto;
    }
}
#business .about_content.-bottom .about_unit {
    width: 40%;
}
@media (max-width: 840px) {
    #business .about_content.-bottom .about_unit {
        width: 100%;
    }
}
#business .about_content.-bottom .about_map {
    width: 50%;
    position: relative;
}
@media (max-width: 840px) {
    #business .about_content.-bottom .about_map {
        width: 100%;
        max-width: 540px;
        margin: 0 auto;
    }
}
#business .about_content.-bottom .about_map .deco {
    position: absolute;
    top: 15%;
    left: -15%;
    width: 40%;
    -webkit-animation: fluffy 3s linear infinite;
    animation: fluffy 3s linear infinite;
}
#business .about_copy {
    font-size: min(12cqw, clamp(2.4rem, 4vw, 3.6rem));
    line-height: 1.35;
    letter-spacing: 0.1em;
    margin-bottom: 1.25em;
}
#business .flow {
    padding-inline: 10%;
    margin-top: calc(max(clamp(3.6em, 10cqw, 10em), 8.5vw) + clamp(3.6em, 10cqw, 10em));
    padding-top: 50px;
    padding-bottom: calc(max(clamp(3.6em, 10cqw, 10em), 8.5vw) + clamp(3.6em, 10cqw, 10em));
}
#business .flow::before {
    content: "";
    position: absolute;
    top: calc(max(clamp(3.6em, 10cqw, 10em), 8.5vw) * -1 + 2px);
    left: 0;
    width: 100%;
    height: max(clamp(3.6em, 10cqw, 10em), 8.5vw);
    background-color: #f0f6e1;
    -webkit-mask-image: url(../img/cmn/sec_curve.svg);
    mask-image: url(../img/cmn/sec_curve.svg);
    -webkit-mask-size: 100%;
    mask-size: 100%;
    -webkit-mask-position: bottom;
    mask-position: bottom;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}
#business .flow::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: max(clamp(3.6em, 10cqw, 10em), 8.5vw);
    background-color: #fff;
    -webkit-mask-image: url(../img/cmn/sec_curve.svg);
    mask-image: url(../img/cmn/sec_curve.svg);
    -webkit-mask-size: 100%;
    mask-size: 100%;
    -webkit-mask-position: bottom;
    mask-position: bottom;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}
#business .flow_inner {
    z-index: 10;
}
#business .flow_img {
    position: absolute;
    z-index: 5;
    width: 20%;
    opacity: 0;
    scale: 0;
    transition: 0.5s opacity, 1s scale;
}
#business .flow_img.-active {
    opacity: 1;
    scale: 1;
}
@media (max-width: 540px) {
    #business .flow_img {
        width: 25%;
    }
}
#business .flow_img.-img_01 {
    top: -5cqw;
    right: -10%;
}
#business .flow_img.-img_02 {
    bottom: -5cqw;
    left: -10%;
}
#business .flow_img.-img_03 {
    top: -5cqw;
    right: -10%;
}
#business .flow_img.-img_04 {
    bottom: -5cqw;
    left: -10%;
}
#business .flow_illust {
    position: absolute;
    z-index: 5;
}
#business .flow_illust.-tree {
    top: calc(max(clamp(3.6em, 10cqw, 10em), 8.5vw) * -0.8);
    left: 5%;
    width: 6.5%;
}
@media (max-width: 840px) {
    #business .flow_illust.-tree {
        width: 10.5%;
    }
}
#business .flow_illust.-house {
    top: calc(max(clamp(3.6em, 10cqw, 10em), 8.5vw) * -0.8);
    right: 5%;
    width: 7.5%;
}
@media (max-width: 840px) {
    #business .flow_illust.-house {
        width: 12.5%;
    }
}
#business .flow_illust.-people {
    width: 5%;
    display: -ms-grid;
    display: grid;
    grid-template-areas: "stack";
}
@media (max-width: 840px) {
    #business .flow_illust.-people {
        width: 7.5%;
    }
}
#business .flow_illust.-people img {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: stack;
    width: 100%;
    height: auto;
    transition: opacity 0.2s ease;
    /* 切り替わりを少し滑らかにする場合 */
}
#business .flow_illust.-people img.img_02 {
    opacity: 0;
    /* 最初は透明 */
}
#business .flow_illust.-cloud_01 {
    bottom: 50%;
    left: 5%;
    width: 7.5%;
    -webkit-animation: fluffy 3s linear infinite;
    animation: fluffy 3s linear infinite;
}
@media (max-width: 840px) {
    #business .flow_illust.-cloud_01 {
        display: none;
    }
}
#business .flow_illust.-cloud_02 {
    bottom: 35%;
    right: 5%;
    width: 7.5%;
    -webkit-animation: fluffy_02 3s linear infinite;
    animation: fluffy_02 3s linear infinite;
}
@media (max-width: 840px) {
    #business .flow_illust.-cloud_02 {
        display: none;
    }
}

/*==================================================================================================
	売りたい方へ・買いたい方へ
==================================================================================================*/
#sellers .flow_sticky,
#buyers .flow_sticky {
    position: sticky;
    top: 180px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
}
@media (max-width: 840px) {
    #sellers .flow_sticky,
    #buyers .flow_sticky {
        position: relative;
        top: 0;
        height: auto;
    }
}
#sellers .flow_inner,
#buyers .flow_inner {
    display: flex;
    justify-content: space-between;
    gap: 0 15%;
}
@media (max-width: 840px) {
    #sellers .flow_inner,
    #buyers .flow_inner {
        flex-direction: column;
    }
}
#sellers .flow_list,
#buyers .flow_list {
    flex: 1;
    min-width: 0;
    margin-top: 125px;
    gap: 3.5em 0;
}
@media (max-width: 840px) {
    #sellers .flow_list,
    #buyers .flow_list {
        margin-top: 0;
        flex: 0 0 auto;
        width: 87.5%;
        gap: 1.25em 0;
        margin-left: 12.5%;
    }
}
#sellers .flow_item,
#buyers .flow_item {
    border: 1px solid rgba(162, 154, 144, 0.5);
    transition: 0.5s border-color;
}
#sellers .flow_item.-active,
#buyers .flow_item.-active {
    border-color: #443521;
}
#sellers .flow_item.-active .flow_img,
#buyers .flow_item.-active .flow_img {
    scale: 1;
    opacity: 1;
}
#sellers .flow_item:nth-child(2) .flow_img, #sellers .flow_item:nth-child(3) .flow_img, #sellers .flow_item:nth-child(4) .flow_img, #sellers .flow_item:nth-child(5) .flow_img,
#buyers .flow_item:nth-child(2) .flow_img,
#buyers .flow_item:nth-child(3) .flow_img,
#buyers .flow_item:nth-child(4) .flow_img,
#buyers .flow_item:nth-child(5) .flow_img {
    width: 12.5%;
    left: -10%;
}
@media (max-width: 840px) {
    #sellers .flow_item:nth-child(2) .flow_img, #sellers .flow_item:nth-child(3) .flow_img, #sellers .flow_item:nth-child(4) .flow_img, #sellers .flow_item:nth-child(5) .flow_img,
    #buyers .flow_item:nth-child(2) .flow_img,
    #buyers .flow_item:nth-child(3) .flow_img,
    #buyers .flow_item:nth-child(4) .flow_img,
    #buyers .flow_item:nth-child(5) .flow_img {
        width: 17.5%;
        left: -15%;
    }
}
#sellers .flow_img,
#buyers .flow_img {
    position: absolute;
    top: -5%;
    left: -8.5%;
    width: 15%;
    scale: 0;
    opacity: 0;
    transition: 0.5s scale, 0.5s opacity;
}
@media (max-width: 840px) {
    #sellers .flow_img,
    #buyers .flow_img {
        width: 22.5%;
        left: -13.5%;
    }
}
#sellers .flow_img img,
#buyers .flow_img img {
    aspect-ratio: 1/1;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
}
#sellers .flow_bg,
#buyers .flow_bg {
    position: absolute;
    width: 100%;
    height: 60%;
    top: 0;
    left: 0;
    z-index: -1;
}
#sellers .flow_bg .bg,
#buyers .flow_bg .bg {
    position: sticky;
    width: 100%;
    background-color: #eee;
    top: 200px;
    opacity: 0.5;
}
#sellers .flow_bg .bg img,
#buyers .flow_bg .bg img {
    position: absolute;
}
#sellers .flow_bg .bg.-bg_01,
#buyers .flow_bg .bg.-bg_01 {
    -webkit-animation: fluffy 3s linear infinite;
    animation: fluffy 3s linear infinite;
}
#sellers .flow_bg .bg.-bg_01 img,
#buyers .flow_bg .bg.-bg_01 img {
    top: 50%;
    translate: 0 140%;
    left: -5%;
    width: 35%;
}
#sellers .flow_bg .bg.-bg_02,
#buyers .flow_bg .bg.-bg_02 {
    -webkit-animation: fluffy_02 3s linear infinite;
    animation: fluffy_02 3s linear infinite;
}
#sellers .flow_bg .bg.-bg_02 img,
#buyers .flow_bg .bg.-bg_02 img {
    top: 0;
    right: -5%;
    width: 35%;
}

/*==================================================================================================
	物件情報
==================================================================================================*/
#properties .archive {
    padding-bottom: clamp(3.6em, 8cqw, 5em);
}
#properties .archive_inner {
    z-index: 10;
}
#properties .archive_list {
    margin-top: clamp(3.6em, 8cqw, 5em);
    display: flex;
    flex-wrap: wrap;
    gap: clamp(3.6em, 8cqw, 5em) 5%;
}
#properties .archive_item {
    width: 47.5%;
}
@media (max-width: 840px) {
    #properties .archive_item {
        width: 100%;
    }
}
#properties .archive_bg {
    position: absolute;
    width: 100%;
    height: calc(50% + max(clamp(3.6em, 10cqw, 10em), 8.5vw));
    left: 0;
    bottom: calc(max(clamp(3.6em, 10cqw, 10em), 8.5vw) * -1.25);
    background-color: #FBF5EE;
    z-index: -1;
}
#properties .archive_bg::before {
    content: "";
    position: absolute;
    top: calc(max(clamp(3.6em, 10cqw, 10em), 8.5vw) * -1 + 2px);
    left: 0;
    width: 100%;
    height: max(clamp(3.6em, 10cqw, 10em), 8.5vw);
    background-color: #FBF5EE;
    -webkit-mask-image: url(../img/cmn/sec_curve.svg);
    mask-image: url(../img/cmn/sec_curve.svg);
    -webkit-mask-size: 100%;
    mask-size: 100%;
    -webkit-mask-position: bottom;
    mask-position: bottom;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}
#properties .archive_bg::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: max(clamp(3.6em, 10cqw, 10em), 8.5vw);
    background-color: #fff;
    -webkit-mask-image: url(../img/cmn/sec_curve.svg);
    mask-image: url(../img/cmn/sec_curve.svg);
    -webkit-mask-size: 100%;
    mask-size: 100%;
    -webkit-mask-position: bottom;
    mask-position: bottom;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}
#properties .archive_illust {
    position: absolute;
    z-index: 5;
}
@media (max-width: 840px) {
    #properties .archive_illust {
        display: none;
    }
}
#properties .archive_illust.-people {
    top: 30%;
    right: 3.5%;
    width: 3.5%;
}
#properties .archive_illust.-tree {
    top: 47.5%;
    left: 3.5%;
    width: 5%;
}
#properties .archive_illust.-cloud {
    bottom: 5%;
    right: 5%;
    width: 7.5%;
    -webkit-animation: fluffy 3s linear infinite;
    animation: fluffy 3s linear infinite;
}
#properties .article_inner {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(3.6em, 8cqw, 5em) 5%;
    z-index: 10;
}
#properties .article_slide {
    width: 47.5%;
    height: 750px;
    position: relative;
    border-radius: min(5vw, 30px);
}
@media (max-width: 840px) {
    #properties .article_slide {
        width: 100%;
        height: auto;
    }
}
#properties .article_slide .slide_item {
    overflow: hidden;
    border-radius: min(5vw, 30px);
    border: 2px solid rgba(162, 154, 144, 0.3);
    width: 100%;
    height: auto;
}
#properties .article_slide .slide_item img {
    width: 100%;
    height: 100%;
    aspect-ratio: 16/9;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#properties .article_slide .slide_nav {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
#properties .article_slide .slide_nav .prev,
#properties .article_slide .slide_nav .next {
    width: 2em;
    height: 2em;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0;
    background-color: #fff;
    border-radius: 100px;
    left: 50%;
    translate: -50% -50%;
}
#properties .article_slide .slide_nav .prev::before,
#properties .article_slide .slide_nav .next::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 35%;
    height: 50%;
    background-color: #443521;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    transition: background-color 0.5s;
}
#properties .article_slide .slide_nav .prev::after,
#properties .article_slide .slide_nav .next::after {
    display: none;
}
#properties .article_slide .slide_nav .prev:hover::before,
#properties .article_slide .slide_nav .next:hover::before {
    background-color: #f0b400;
}
#properties .article_slide .slide_nav .prev {
    top: 2em;
}
@media (max-width: 840px) {
    #properties .article_slide .slide_nav .prev {
        top: 50% !important;
        left: 1.5em !important;
    }
}
#properties .article_slide .slide_nav .prev::before {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
}
@media (max-width: 840px) {
    #properties .article_slide .slide_nav .prev::before {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }
}
#properties .article_slide .slide_nav .next {
    top: auto !important;
    bottom: 0em;
}
@media (max-width: 840px) {
    #properties .article_slide .slide_nav .next {
        top: 50% !important;
        right: 0em !important;
        bottom: auto !important;
        left: auto !important;
    }
}
#properties .article_slide .slide_nav .next::before {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}
@media (max-width: 840px) {
    #properties .article_slide .slide_nav .next::before {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
}
#properties .article_content {
    width: 47.5%;
}
@media (max-width: 840px) {
    #properties .article_content {
        width: 100%;
    }
}
#properties .article_head {
    position: relative;
    padding-bottom: 1.5em;
}
#properties .article_head::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #A29A90;
    -webkit-mask-image: url(../img/cmn/dotted_horz.svg);
    mask-image: url(../img/cmn/dotted_horz.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: repeat-x;
    mask-repeat: repeat-x;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
}
#properties .article_ttl {
    font-size: min(12cqw, clamp(2rem, 3.2vw, 2.4rem));
    line-height: 1.45;
    font-weight: 500;
    padding-bottom: 0.75em;
}
#properties .article_price {
    white-space: nowrap;
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
}
#properties .article_price::before,
#properties .article_price .num, #properties .article_price::after {
    line-height: 1;
}
#properties .article_price::before {
    content: "￥";
    font-family: "Montserrat", sans-serif;
    font-size: 1.25em;
}
#properties .article_price .num {
    font-family: "Montserrat", sans-serif;
    font-size: clamp(2.4rem, 4vw, 3.6rem);
}
#properties .article_price::after {
    content: "万円";
}
#properties .article_conditions {
    display: flex;
    flex-direction: column;
    gap: 0.15em 0;
    margin: 1.5em 0;
}
#properties .article_data .data_list {
    display: flex;
    flex-direction: column;
}
#properties .article_data .data_item {
    display: flex;
    flex-wrap: wrap;
    gap: 0.15em 1em;
    border-bottom: 1px solid rgba(162, 154, 144, 0.25);
    padding: 0.75em min(5cqw, 1em);
}
#properties .article_data .data_item:first-child {
    border-top: 1px solid rgba(162, 154, 144, 0.25);
}
#properties .article_data .data_term {
    width: 30%;
    font-weight: 500;
    color: #A29A90;
}
@media (max-width: 840px) {
    #properties .article_data .data_term {
        flex: 0 0 auto;
        width: 100%;
    }
}
#properties .article_data .data_desc {
    width: calc(70% - 1em);
    color: #443521;
}
@media (max-width: 840px) {
    #properties .article_data .data_desc {
        flex: 0 0 auto;
        width: 100%;
    }
}
#properties .article_btn {
    margin-top: 1.5em;
    background-color: #ca0a37;
    padding: 1em 1em;
    position: relative;
}
#properties .article_btn span {
    display: block;
    text-align: center;
    line-height: 1.45;
    color: #fff;
}
#properties .article_btn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1em;
    translate: 0 -50%;
    width: 1em;
    height: 1em;
    rotate: -45deg;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: #fff;
    transition: top 0.5s, right 0.5s;
}
#properties .article_btn:hover {
    background-color: #b60932;
}
#properties .article_btn:hover::after {
    top: 45%;
    right: calc(1em - 5px);
}
#properties .article_illust {
    z-index: 5;
}
#properties .article_illust.-cloud {
    position: absolute;
    bottom: 35%;
    right: 3.5%;
    width: 7.5%;
    -webkit-animation: fluffy 3s linear infinite;
    animation: fluffy 3s linear infinite;
}
@media (max-width: 840px) {
    #properties .article_illust.-cloud {
        display: none;
    }
}
#properties .article_illust.-forest {
    margin: calc(clamp(3.6em, 8cqw, 5em) * 1.15) auto -5%;
    width: 400px;
    max-width: 60%;
    -webkit-animation: bounce 4s infinite;
    animation: bounce 4s infinite;
}
#properties .article_backbtn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 0.5em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    font-weight: 700;
    line-height: 1.35;
    margin-top: 1.5em;
    margin: clamp(3.6em, 8cqw, 5em) auto 0;
    border: none;
    background-color: transparent;
}
#properties .article_backbtn:hover::before {
    translate: -0.5em 0;
}
#properties .article_backbtn span {
    font: inherit;
    font-family: "Montserrat", sans-serif;
    font-weight: 500;
}
#properties .article_backbtn::before {
    content: "";
    width: 1em;
    height: 1em;
    rotate: 180deg;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: #443521;
    transition: background-color 0.5s, translate 0.5s;
}

/*==================================================================================================
	ご利用者様の声
==================================================================================================*/
#voice .archive_inner {
    z-index: 10;
}
#voice .archive_item:last-child .cmn_voice_content {
    container-type: inline-size;
}
#voice .archive_item:last-child .cmn_voice_content::before {
    content: "";
    position: absolute;
    bottom: -5cqw;
    right: -3.5%;
    width: calc(clamp(3.6em, 8cqw, 5em) * 1.35);
    height: calc(clamp(3.6em, 8cqw, 5em) * 1.35);
    background-image: url(../img/voice/house.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
#voice .archive_illust {
    z-index: 5;
}
#voice .archive_illust.-cloud_01 {
    position: absolute;
    bottom: 30%;
    left: 5%;
    width: 7.5%;
    -webkit-animation: fluffy 3s linear infinite;
    animation: fluffy 3s linear infinite;
}
@media (max-width: 840px) {
    #voice .archive_illust.-cloud_01 {
        display: none;
    }
}
#voice .archive_illust.-cloud_02 {
    position: absolute;
    top: 30%;
    right: 5%;
    width: 7.5%;
    -webkit-animation: fluffy_02 3s linear infinite;
    animation: fluffy_02 3s linear infinite;
}
@media (max-width: 840px) {
    #voice .archive_illust.-cloud_02 {
        display: none;
    }
}
#voice .archive_illust.-forest {
    margin: calc(clamp(3.6em, 8cqw, 5em) * 1.15) auto -5%;
    width: 400px;
    max-width: 60%;
    -webkit-animation: bounce 4s infinite;
    animation: bounce 4s infinite;
}

/*==================================================================================================
	会社案内
==================================================================================================*/
#company .greeting_inner {
    background-color: #f0f6e1;
    padding: clamp(3.6em, 8cqw, 5em) min(5cqw, 5em);
    border-radius: min(5vw, 30px);
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
}
@media (max-width: 840px) {
    #company .greeting_inner {
        flex-direction: column-reverse;
    }
}
#company .greeting_content {
    width: 80%;
}
@media (max-width: 840px) {
    #company .greeting_content {
        width: 100%;
    }
}
#company .greeting_name {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 0 0.5em;
    margin-top: 1em;
}
#company .greeting_name .name {
    font-size: 1.25em;
    font-weight: 700;
}
#company .greeting_illust.-people {
    width: 12.5%;
    -webkit-animation: wobble 1.5s steps(2) infinite;
    animation: wobble 1.5s steps(2) infinite;
}
@media (max-width: 840px) {
    #company .greeting_illust.-people {
        width: 20%;
        margin-right: 5%;
        margin-bottom: -15%;
    }
}
#company .greeting_illust.-tree {
    position: absolute;
    bottom: -5%;
    left: -5%;
    width: 10%;
}
@media (max-width: 840px) {
    #company .greeting_illust.-tree {
        width: 15%;
        left: -2.5%;
    }
}
#company .outline_inner {
    display: flex;
    flex-wrap: wrap;
    gap: 0 7.5%;
}
@media (max-width: 840px) {
    #company .outline_inner {
        flex-direction: column;
    }
}
#company .outline_data {
    flex: 1;
    min-width: 0;
    position: relative;
}
@media (max-width: 840px) {
    #company .outline_data {
        flex: 0 0 auto;
        width: 100%;
    }
}
#company .outline_data .data_list {
    display: flex;
    flex-direction: column;
}
#company .outline_data .data_item {
    display: flex;
    flex-wrap: wrap;
    gap: 0.15em 1em;
    border-bottom: 1px solid rgba(162, 154, 144, 0.25);
    padding: 1.25em min(5cqw, 1em);
}
#company .outline_data .data_item:first-child {
    border-top: 1px solid rgba(162, 154, 144, 0.25);
}
@media (max-width: 840px) {
    #company .outline_data .data_item {
        padding: 0.75em min(5cqw, 1em);
    }
}
#company .outline_data .data_term {
    flex: 0 0 120px;
    font-weight: 500;
    color: #A29A90;
}
@media (max-width: 840px) {
    #company .outline_data .data_term {
        flex: 0 0 auto;
        width: 100%;
    }
}
#company .outline_data .data_desc {
    flex: 1;
    min-width: 0;
    color: #443521;
}
@media (max-width: 840px) {
    #company .outline_data .data_desc {
        flex: 0 0 auto;
        width: 100%;
    }
}
#company .outline_data .data_illust {
    position: absolute;
    top: 50%;
    right: 3.5%;
    translate: 0 -50%;
    width: 30%;
}
@media (max-width: 840px) {
    #company .outline_data .data_illust {
        width: 40%;
    }
}
#company .access_inner {
    display: flex;
    flex-wrap: wrap;
    gap: calc(clamp(1.5em, 4cqw, 2.5em) * 1.5) 7.5%;
}
@media (max-width: 840px) {
    #company .access_inner {
        flex-direction: column-reverse;
    }
}
#company .access_map {
    width: 50%;
    height: 500px;
    position: relative;
}
@media (max-width: 840px) {
    #company .access_map {
        width: 100%;
    }
}
#company .access_map iframe {
    width: 100%;
    height: 100%;
    border-radius: min(5vw, 30px);
}
#company .access_illust {
    position: absolute;
}
#company .access_illust.-people {
    left: -3.5%;
    bottom: 15%;
    width: 10%;
}
#company .access_illust.-car {
    right: -3.5%;
    bottom: 15%;
    width: 15%;
}
#company .access_content {
    width: 42.5%;
}
@media (max-width: 840px) {
    #company .access_content {
        width: 100%;
    }
}
#company .access_txt {
    font-size: 1.25em;
    margin-bottom: 1em;
}
#company .access_btn {
    background-color: #fff;
    padding: 0.75em 1.25em;
    border: 1px solid #443521;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 0.5em;
    width: 200px;
    max-width: 100%;
    font-weight: 700;
    line-height: 1.35;
    margin-top: 1.5em;
}
#company .access_btn:hover {
    background-color: #f0b400;
    color: #fff;
}
#company .access_btn:hover::after {
    translate: 0.25em -0.25em;
    background-color: #fff;
}
#company .access_btn span {
    font: inherit;
    font-family: "Montserrat", sans-serif;
    font-weight: 500;
}
#company .access_btn::after {
    content: "";
    width: 1em;
    height: 1em;
    translate: 0 0.05em;
    rotate: -45deg;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: #443521;
    transition: background-color 0.5s, translate 0.5s;
}
#company .gallery {
    background-color: #FBF5EE;
    padding: clamp(3.6em, 10cqw, 10em) 10% calc(max(clamp(3.6em, 10cqw, 10em), 8.5vw) + clamp(1.5em, 4cqw, 2.5em));
    margin-bottom: 0;
}
@media (max-width: 840px) {
    #company .gallery {
        padding: clamp(3.6em, 10cqw, 10em) 5%;
    }
}
#company .gallery::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: max(clamp(3.6em, 10cqw, 10em), 8.5vw);
    background-color: #fff;
    -webkit-mask-image: url(../img/cmn/sec_curve.svg);
    mask-image: url(../img/cmn/sec_curve.svg);
    -webkit-mask-size: 100%;
    mask-size: 100%;
    -webkit-mask-position: bottom;
    mask-position: bottom;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}
#company .gallery_inner {
    display: flex;
    flex-wrap: wrap;
    gap: 0 7.5%;
}
#company .gallery_head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    position: relative;
}
#company .gallery_illust.-camera {
    width: 20%;
    margin-right: 10%;
}
@media (max-width: 840px) {
    #company .gallery_illust.-camera {
        position: absolute;
        margin-right: 0;
        right: 5%;
        width: 25%;
        top: 0;
    }
}
#company .gallery_illust.-tree {
    position: absolute;
    bottom: 0%;
    left: 10%;
    width: 6.5%;
    z-index: 10;
}
@media (max-width: 840px) {
    #company .gallery_illust.-tree {
        width: 10%;
    }
}
#company .gallery_illust.-cloud {
    position: absolute;
    z-index: 10;
    bottom: 2.5%;
    right: 5%;
    width: 12.5%;
    -webkit-animation: fluffy 4s ease-in-out infinite;
    animation: fluffy 4s ease-in-out infinite;
}
@media (max-width: 840px) {
    #company .gallery_illust.-cloud {
        width: 17.5%;
    }
}
#company .gallery_slide {
    margin-top: calc(clamp(1.5em, 4cqw, 2.5em) * 1.5);
    margin-inline: calc(50% - 50vw);
    padding-bottom: 80px;
    position: relative;
}
#company .gallery_pagination {
    bottom: 30px;
}
#company .gallery_pagination .swiper-pagination-bullet {
    margin: 0 0.5em;
    background: #443521;
    opacity: 1;
}
#company .gallery_pagination .swiper-pagination-bullet-active {
    background: #f0b400;
    opacity: 1;
}

/*==================================================================================================
	お問い合わせ
==================================================================================================*/
#contact .tel-line {
    margin-bottom: calc(min(clamp(3.6em, 10cqw, 10em), 8.5vw) * 1);
    z-index: 10;
}
#contact .tel-line_list {
    max-width: 1024px;
    display: flex;
    flex-wrap: wrap;
    gap: 3em 5em;
    border: 1px solid #A29A90;
    border-radius: min(5vw, 30px);
    padding: clamp(1.5em, 4cqw, 2.5em) min(5cqw, 2.5em);
    background-color: #fff;
}
#contact .tel-line_item {
    width: calc((100% - 5em) / 2);
    position: relative;
    container-type: inline-size;
}
@media (max-width: 1024px) {
    #contact .tel-line_item {
        width: 100%;
    }
}
#contact .tel-line_item:not(:last-child)::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: -2.5em;
    width: 2px;
    height: 100%;
    background-color: #A29A90;
    -webkit-mask-image: url(../img/cmn/dotted_vert.svg);
    mask-image: url(../img/cmn/dotted_vert.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: repeat-y;
    mask-repeat: repeat-y;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
}
@media (max-width: 1024px) {
    #contact .tel-line_item:not(:last-child)::after {
        bottom: -1.5em;
        right: 0;
        width: 100%;
        height: 2px;
        background-color: #A29A90;
        -webkit-mask-image: url(../img/cmn/dotted_horz.svg);
        mask-image: url(../img/cmn/dotted_horz.svg);
        -webkit-mask-size: contain;
        mask-size: contain;
        -webkit-mask-repeat: repeat-x;
        mask-repeat: repeat-x;
    }
}
#contact .tel-line_item:nth-child(1) .tel-line_icon {
    background-image: url(../img/cmn/icon_tel.png);
}
#contact .tel-line_item:nth-child(2) .tel-line_icon {
    background-image: url(../img/cmn/icon_line.png);
    width: calc(min(20cqw, 50px) * 1.25);
}
#contact .tel-line_icon {
    margin: 0 auto 1em;
    width: min(20cqw, 50px);
    min-height: 50px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
@media (min-width: 1025px) {
    #contact .tel-line_icon {
        display: none;
    }
}
#contact .tel-line_note {
    display: block;
    text-align: center;
    line-height: 1.6;
}
#contact .tel-line_tel {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25em 0;
}
#contact .tel-line_tel:hover .num {
    color: #f0b400;
}
#contact .tel-line_tel .num {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-size: min(12cqw, clamp(2.4rem, 4vw, 3.6rem));
    display: inline-block;
    line-height: 1;
    display: flex;
    align-items: center;
    gap: 0 0.25em;
    transition: color 0.5s;
    margin-bottom: 0.15em;
}
#contact .tel-line_tel .num::before {
    content: "";
    width: 1.5em;
    height: 1.5em;
    background-image: url(../img/cmn/icon_tel.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
@media (max-width: 1024px) {
    #contact .tel-line_tel .num::before {
        display: none;
    }
}
#contact .tel-line_tel .time {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: baseline;
    gap: 0.25em 0.75em;
}
#contact .tel-line_tel .time span {
    line-height: 1;
}
#contact .tel-line_tel .time .en {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-size: 1.15em;
}
#contact .tel-line_note {
    display: flex;
    align-items: center;
    gap: 0 0.75em;
    justify-content: center;
}
#contact .tel-line_note::before {
    content: "";
    display: inline-block;
    width: 4em;
    height: 4em;
    background-image: url(../img/cmn/icon_line.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
@media (max-width: 1024px) {
    #contact .tel-line_note::before {
        display: none;
    }
}
#contact .tel-line_btn {
    background-color: #f0f6e1;
    padding: 0.75em 1.25em;
    border: 1px solid #443521;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 0.5em;
    width: 200px;
    max-width: 100%;
    margin: 1em auto 0;
    font-weight: 700;
    line-height: 1.35;
}
#contact .tel-line_btn:hover {
    background-color: #f0b400;
    color: #fff;
}
#contact .tel-line_btn:hover::after {
    translate: 0.25em -0.25em;
    background-color: #fff;
}
#contact .tel-line_btn span {
    font: inherit;
}
#contact .tel-line_btn::after {
    content: "";
    width: 1em;
    height: 1em;
    translate: 0 0.05em;
    rotate: -45deg;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: #443521;
    transition: background-color 0.5s, translate 0.5s;
}
#contact .form {
    margin-top: calc(min(clamp(3.6em, 10cqw, 10em), 8.5vw) * -1);
    padding-top: calc(min(clamp(3.6em, 10cqw, 10em), 200px) * 1);
    padding-bottom: calc(max(clamp(3.6em, 10cqw, 10em), 8.5vw) + clamp(3.6em, 10cqw, 10em));
}
@media (max-width: 1024px) {
    #contact .form {
        margin-top: calc(min(clamp(3.6em, 10cqw, 10em), 8.5vw) * -2);
        padding-top: calc(min(clamp(3.6em, 10cqw, 10em), 200px) * 2);
    }
}
#contact .form::before {
    content: "";
    position: absolute;
    top: calc(max(clamp(3.6em, 10cqw, 10em), 8.5vw) * -1 + 2px);
    left: 0;
    width: 100%;
    height: max(clamp(3.6em, 10cqw, 10em), 8.5vw);
    background-color: #f0f6e1;
    -webkit-mask-image: url(../img/cmn/sec_curve.svg);
    mask-image: url(../img/cmn/sec_curve.svg);
    -webkit-mask-size: 100%;
    mask-size: 100%;
    -webkit-mask-position: bottom;
    mask-position: bottom;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}
#contact .form::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: max(clamp(3.6em, 10cqw, 10em), 8.5vw);
    background-color: #fff;
    -webkit-mask-image: url(../img/cmn/sec_curve.svg);
    mask-image: url(../img/cmn/sec_curve.svg);
    -webkit-mask-size: 100%;
    mask-size: 100%;
    -webkit-mask-position: bottom;
    mask-position: bottom;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}
#contact .form_inner {
    z-index: 10;
}
#contact .form_content {
    margin-top: clamp(1.5em, 4cqw, 2.5em);
}
#contact .form_list {
    display: flex;
    flex-wrap: wrap;
    gap: 2em 5%;
}
#contact .form_item {
    display: flex;
    flex-direction: column;
    gap: 0.75em 0;
    width: 100%;
}
#contact .form_item.-half {
    width: 47.5%;
}
@media (max-width: 840px) {
    #contact .form_item.-half {
        width: 100%;
    }
}
#contact .form_item .label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-weight: 500;
    gap: 0 0.75em;
}
@media (max-width: 840px) {
    #contact .form_item .label {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }
}
#contact .form_item .label.-required::after {
    color: #fff;
    border-radius: 2.5px;
    font-size: 0.8em;
    padding: 0 0.75em;
    content: "必須";
    background-color: #589665;
}
#contact .form_item .label + * {
    width: 100%;
    height: 3.5em;
}
#contact .form_item .input {
    padding: 0.5em min(5cqw, 1em);
    border-radius: min(5vw, 10px);
    border: 1px solid #443521;
    outline: none;
}
#contact .form_item .input.-error {
    border-color: #eb594c;
}
#contact .form_item .textarea {
    resize: vertical;
    padding: 0.5em min(5cqw, 1em);
    border-radius: min(5vw, 10px);
    border: 1px solid #443521;
    outline: none;
    height: auto;
}
#contact .form_item .input::-webkit-input-placeholder,
#contact .form_item .p-postal-code::-webkit-input-placeholder,
#contact .form_item .textarea::-webkit-input-placeholder {
    color: #ddd;
    opacity: 1;
    font-weight: 400;
}
#contact .form_item .input::-moz-placeholder,
#contact .form_item .p-postal-code::-moz-placeholder,
#contact .form_item .textarea::-moz-placeholder {
    color: #ddd;
    opacity: 1;
    font-weight: 400;
}
#contact .form_item .input::-ms-input-placeholder,
#contact .form_item .p-postal-code::-ms-input-placeholder,
#contact .form_item .textarea::-ms-input-placeholder {
    color: #ddd;
    opacity: 1;
    font-weight: 400;
}
#contact .form_item .input::placeholder,
#contact .form_item .p-postal-code::placeholder,
#contact .form_item .textarea::placeholder {
    color: #ddd;
    opacity: 1;
    font-weight: 400;
}
#contact .form_item .input.-error::-webkit-input-placeholder {
    color: #eb594c;
    opacity: 1;
}
#contact .form_item .input.-error::-moz-placeholder {
    color: #eb594c;
    opacity: 1;
}
#contact .form_item .input.-error::-ms-input-placeholder {
    color: #eb594c;
    opacity: 1;
}
#contact .form_item .input.-error::placeholder {
    color: #eb594c;
    opacity: 1;
}
#contact .form_item .radio {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    height: auto;
}
@media (max-width: 840px) {
    #contact .form_item .radio {
        min-height: 2.5em;
    }
}
#contact .form_item .radio_list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 1.5em;
}
#contact .form_item .radio_item {
    position: relative;
    display: flex;
}
#contact .form_item .radio_item input[type=radio] {
    width: 0;
    visibility: hidden;
}
#contact .form_item .radio_item input[type=radio]:checked + label::before {
    background-color: #f0b400;
}
#contact .form_item .radio_item input[type=radio]:checked + label::after {
    scale: 0.9;
    opacity: 1;
}
#contact .form_item .radio_item label {
    position: relative;
    cursor: pointer;
    padding-left: 2em;
}
#contact .form_item .radio_item label::before {
    background-color: #fff;
    border: 1px solid #443521;
    content: "";
    position: absolute;
    display: block;
    height: 1.5em;
    width: 1.5em;
    left: 0;
    top: 50%;
    border-radius: 50%;
    translate: 0 -47.5%;
    transition: 0.5s background-color;
}
#contact .form_item .radio_item label::after {
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    content: "";
    display: block;
    height: 0.75em;
    width: 0.45em;
    position: absolute;
    top: 50%;
    left: 0.5em;
    translate: 0 -60%;
    opacity: 0;
    rotate: 45deg;
    scale: 0.7;
    opacity: 0;
    transition: 0.35s scale, 0.5s opacity;
}
#contact .form_item .radio_txt {
    font-size: 0.85em;
    width: 100%;
    margin-top: 0.5em;
}
#contact .form_item .checkbox {
    display: flex;
    align-items: center;
    height: auto;
}
@media (max-width: 840px) {
    #contact .form_item .checkbox {
        min-height: 2.5em;
    }
}
#contact .form_item .checkbox_list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 1.5em;
}
#contact .form_item .checkbox_item {
    position: relative;
    display: flex;
}
#contact .form_item .checkbox_item input[type=checkbox] {
    width: 0;
    visibility: hidden;
}
#contact .form_item .checkbox_item input[type=checkbox]:checked + label::before {
    background-color: #f0b400;
}
#contact .form_item .checkbox_item input[type=checkbox]:checked + label::after {
    scale: 0.9;
    opacity: 1;
}
#contact .form_item .checkbox_item label {
    position: relative;
    cursor: pointer;
    padding-left: 2em;
}
#contact .form_item .checkbox_item label::before {
    background-color: #fff;
    border: 1px solid #443521;
    content: "";
    position: absolute;
    display: block;
    height: 1.5em;
    width: 1.5em;
    left: 0;
    top: 50%;
    border-radius: 5px;
    translate: 0 -47.5%;
    transition: 0.5s background-color;
}
#contact .form_item .checkbox_item label::after {
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    content: "";
    display: block;
    height: 0.75em;
    width: 0.45em;
    position: absolute;
    top: 50%;
    left: 0.5em;
    translate: 0 -60%;
    opacity: 0;
    rotate: 45deg;
    scale: 0.7;
    opacity: 0;
    transition: 0.35s scale, 0.5s opacity;
}
#contact .form_item .address {
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 0.75em 0;
}
#contact .form_item .address_item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35em 1.5em;
}
#contact .form_item .address_item .label {
    flex: 0 0 100px;
}
@media (max-width: 840px) {
    #contact .form_item .address_item .label {
        flex: 0 0 auto;
        width: 100%;
    }
}
#contact .form_item .address_item .input,
#contact .form_item .address_item .textarea,
#contact .form_item .address_item .num {
    flex: 1;
    min-width: 0;
    margin-bottom: 0px !important;
}
@media (max-width: 840px) {
    #contact .form_item .address_item .input,
    #contact .form_item .address_item .textarea,
    #contact .form_item .address_item .num {
        flex: 0 0 auto;
        width: 100%;
    }
}
#contact .form_item .address_item .num {
    display: flex;
    align-items: center;
    gap: 0 0.25em;
}
#contact .form_item .address_item #c_address_01,
#contact .form_item .address_item #c_address_02,
#contact .form_item .address_item #c_p-address_01,
#contact .form_item .address_item #c_p-address_02 {
    border-radius: min(5vw, 10px);
    border: 1px solid #443521;
    width: 200px;
    max-width: 100%;
    flex: 0 0 auto;
}
#contact .form_item .address_item #c_address_01,
#contact .form_item .address_item #c_p-address_01 {
    height: 3.5em;
    width: 180px;
    max-width: calc(100% - 1.25em);
}
#contact .form_item .address .textarea {
    resize: vertical;
    padding: 0.5em;
    border-radius: min(5vw, 10px);
    border: 1px solid #443521;
    outline: none;
    height: auto;
    width: 100%;
    margin-bottom: -5px;
    min-height: 3.5em;
}
#contact .form_item .unit {
    display: flex;
    align-items: center;
    gap: 0 0.75em;
}
#contact .form_item .unit #c_e-area,
#contact .form_item .unit #c_b-area,
#contact .form_item .unit #c_l-area {
    height: 3.5em;
}
#contact .form_item .unit .input {
    flex: 1;
    min-width: 0;
}
#contact .form_item .unit .radio_list {
    gap: 0 0.75em;
}
#contact .form_item .totalnum {
    display: flex;
    align-items: center;
    gap: 0 0.5em;
}
#contact .form_item .totalnum .input {
    flex: 1;
    min-height: 3.5em;
    min-width: 0;
}
#contact .form_item .note {
    color: #eb594c;
    font-weight: 700;
    display: block;
    margin-bottom: 0.5em;
}
#contact .form_policy {
    margin-top: clamp(3.6em, 8cqw, 5em);
    background-color: #fff;
    padding: clamp(1.5em, 4cqw, 2.5em) min(5cqw, 2.5em);
    border-radius: min(5vw, 30px);
    border: 1px solid #443521;
    height: 500px;
    overflow-y: auto;
}
#contact .form_policy .policy_headtxt {
    margin-bottom: 1.5em;
    font-weight: 700;
}
#contact .form_policy .policy_list {
    display: flex;
    flex-direction: column;
    gap: 1.5em 0;
    margin-left: 1em;
}
#contact .form_policy .policy_item {
    list-style: decimal;
}
#contact .form_policy .policy_item::marker {
    font-weight: 600;
    font-family: "Montserrat", sans-serif;
}
#contact .form_policy .policy_ttl {
    font-weight: 700;
    display: block;
    margin-bottom: 0.25em;
}
#contact .form_agree {
    margin-top: min(5cqw, 2.5em);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1em 0;
}
#contact .form_agree input[type=checkbox] {
    width: 0;
    visibility: hidden;
}
#contact .form_agree input[type=checkbox]:checked + label::before {
    background-color: #f0b400;
}
#contact .form_agree input[type=checkbox]:checked + label::after {
    scale: 0.9;
    opacity: 1;
}
#contact .form_agree label {
    position: relative;
    cursor: pointer;
    padding-left: 2em;
}
#contact .form_agree label::before {
    background-color: #fff;
    border: 1px solid #443521;
    content: "";
    position: absolute;
    display: block;
    height: 1.5em;
    width: 1.5em;
    left: 0;
    top: 50%;
    border-radius: 5px;
    translate: 0 -47.5%;
    transition: 0.5s background-color;
}
#contact .form_agree label::after {
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    content: "";
    display: block;
    height: 0.75em;
    width: 0.45em;
    position: absolute;
    top: 50%;
    left: 0.5em;
    translate: 0 -60%;
    opacity: 0;
    rotate: 45deg;
    scale: 0.7;
    opacity: 0;
    transition: 0.35s scale, 0.5s opacity;
}
#contact .form_btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 0.5em;
    max-width: 100%;
    border: none;
    border: 1px solid transparent;
    border-radius: min(5vw, 20px);
    text-align: center;
    transition: color 0.5s, background-color 0.5s, border-color 0.5s;
    font-size: 1.25em;
    padding: 1em 2.5em;
    width: 360px;
    margin: 2em auto 0;
    background: #eee;
}
@media (max-width: 540px) {
    #contact .form_btn {
        width: 80%;
        padding-left: 1em;
    }
}
#contact .form_btn span {
    flex: 1;
    min-width: 0;
    font-weight: 500;
    line-height: 1.45;
    position: relative;
}
#contact .form_btn .btn_arrow {
    flex: 0 0 min(10cqw, 2em);
    width: min(10cqw, 2em);
    height: min(10cqw, 2em);
    position: relative;
}
#contact .form_btn .btn_arrow::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #aaa;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    border-radius: min(2vw, 0.75em);
    transition: background-color 0.5s;
}
#contact .form_btn .btn_arrow::after {
    content: "";
    position: absolute;
    width: 40%;
    height: 40%;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: #fff;
    transition: background-color 0.5s, translate 0.5s;
}
#contact .form_btn.-active {
    background-color: #fff;
    border-color: #443521;
}
#contact .form_btn.-active span {
    color: #443521;
}
#contact .form_btn.-active .btn_arrow::before {
    background-color: #443521;
}
#contact .form_btn.-active:hover .btn_arrow::before {
    background-color: #f0b400;
}
#contact .form_btn.-active:hover .btn_arrow::after {
    translate: -35% -50%;
    background-color: #fff;
}
#contact .form_illust {
    z-index: 5;
    position: absolute;
}
@media (max-width: 840px) {
    #contact .form_illust {
        display: none;
    }
}
#contact .form_illust.-forest {
    margin: calc(clamp(3.6em, 8cqw, 5em) * 1.15) auto -5%;
    width: 400px;
    max-width: 60%;
    -webkit-animation: bounce 4s infinite;
    animation: bounce 4s infinite;
}
#contact .form_illust.-cloud_01 {
    top: 15%;
    right: 5%;
    width: 7.5%;
    -webkit-animation: fluffy 3s linear infinite;
    animation: fluffy 3s linear infinite;
}
#contact .form_illust.-cloud_02 {
    top: 30%;
    left: 5%;
    width: 7.5%;
    -webkit-animation: fluffy_02 3s linear infinite;
    animation: fluffy_02 3s linear infinite;
}
#contact .form_illust.-tree_01 {
    top: 40%;
    left: 5%;
    width: 5%;
}
#contact .form_illust.-tree_02 {
    bottom: 40%;
    right: 5%;
    width: 5%;
}
#contact .form_illust.-cloud_03 {
    bottom: 30%;
    left: 5%;
    width: 7.5%;
    -webkit-animation: fluffy 3s linear infinite;
    animation: fluffy 3s linear infinite;
}
#contact .form_illust.-house {
    bottom: 0.5%;
    right: 5%;
    width: 7.5%;
}
@media (max-width: 840px) {
    #contact .form_illust.-house {
        display: block;
        width: 15%;
    }
}

.mailphp {
    max-width: 1024px;
    margin: 0 auto;
}
.mailphp p {
    margin: 1em 0;
}
.mailphp .mailphp-header {
    text-align: center;
}
.mailphp .mailphp-header .mailphp-header-inner {
    font-weight: 900;
    font-size: 2.4rem;
    margin: 0px;
    color: #aaa;
    border: none;
}
.mailphp .mailphp-header .mailphp-header-title {
    margin-bottom: 1.25em;
    position: relative;
    display: block;
    text-align: center;
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    color: #000;
}
.mailphp .mailphp-main {
    flex-grow: 1;
    margin: 3em 0;
    margin: 10px 0px 30px;
}
.mailphp .mailphp-main .mailphp-main-inner p {
    text-align: center;
}
.mailphp .mailphp-footer {
    margin-bottom: 0px;
}
.mailphp .confirm-items,
.mailphp .error-items {
    margin: 1.5em 0;
}
.mailphp .confirm-items .confirm-item,
.mailphp .confirm-items .error-item,
.mailphp .error-items .confirm-item,
.mailphp .error-items .error-item {
    display: flex;
    margin-bottom: 1px;
}
.mailphp .confirm-items .confirm-item-body,
.mailphp .confirm-items .error-item-body,
.mailphp .error-items .confirm-item-body,
.mailphp .error-items .error-item-body {
    flex: 1;
}

.mailphp-header-title {
    font-size: calc(clamp(2rem, 3.2vw, 2.4rem) * 1.25);
    text-align: center;
    display: block;
    color: #303030;
    margin-bottom: 1em;
    font-weight: 500;
}
.mailphp-header-txt {
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
}

.confirm_custom {
    background-color: #f0f6e1;
    padding: calc(clamp(3.6em, 10cqw, 10em) + 80px) 10% calc(max(clamp(3.6em, 10cqw, 10em), 8.5vw) + clamp(3.6em, 8cqw, 5em));
    margin-bottom: 0;
    position: relative;
}
@media (max-width: 840px) {
    .confirm_custom {
        padding: calc(clamp(3.6em, 10cqw, 10em) + 100px) 5% calc(max(clamp(3.6em, 10cqw, 10em), 8.5vw) + clamp(3.6em, 8cqw, 5em));
    }
}
.confirm_custom::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: max(clamp(3.6em, 10cqw, 10em), 8.5vw);
    background-color: #fff;
    -webkit-mask-image: url(../img/cmn/sec_curve.svg);
    mask-image: url(../img/cmn/sec_curve.svg);
    -webkit-mask-size: 100%;
    mask-size: 100%;
    -webkit-mask-position: bottom;
    mask-position: bottom;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}
.confirm_custom_inner {
    max-width: 1024px;
    margin: 0 auto;
}
.confirm_custom_illust {
    z-index: 5;
    position: absolute;
}
@media (max-width: 840px) {
    .confirm_custom_illust {
        display: none;
    }
}
.confirm_custom_illust.-forest {
    margin: calc(clamp(3.6em, 8cqw, 5em) * 1.15) auto -5%;
    width: 400px;
    max-width: 60%;
    -webkit-animation: bounce 4s infinite;
    animation: bounce 4s infinite;
}
.confirm_custom_illust.-cloud_01 {
    top: 15%;
    right: 5%;
    width: 7.5%;
    -webkit-animation: fluffy 3s linear infinite;
    animation: fluffy 3s linear infinite;
}
.confirm_custom_illust.-cloud_02 {
    top: 30%;
    left: 5%;
    width: 7.5%;
    -webkit-animation: fluffy_02 3s linear infinite;
    animation: fluffy_02 3s linear infinite;
}
.confirm_custom_illust.-tree_01 {
    top: 40%;
    left: 5%;
    width: 5%;
}
.confirm_custom_illust.-tree_02 {
    bottom: 40%;
    right: 5%;
    width: 5%;
}
.confirm_custom_illust.-cloud_03 {
    bottom: 30%;
    left: 5%;
    width: 7.5%;
    -webkit-animation: fluffy 3s linear infinite;
    animation: fluffy 3s linear infinite;
}
.confirm_custom_illust.-house {
    bottom: 0.5%;
    right: 5%;
    width: 7.5%;
}
@media (max-width: 840px) {
    .confirm_custom_illust.-house {
        display: block;
        width: 15%;
    }
}

.confirm-items {
    width: 100%;
    margin-top: 30px;
}
.confirm-items tbody {
    width: 100%;
}
.confirm-items tbody tr {
    display: flex;
    flex-direction: column;
    gap: 0.5em 0;
}
.confirm-items tbody tr th {
    display: block;
    font-weight: 500;
    text-align: left;
}
.confirm-items tbody tr td {
    display: block;
    text-align: left;
    background-color: #fbfdf7;
    min-height: 3.5em;
    display: flex;
    align-items: center;
    padding: 1em min(5cqw, 1em);
    border-radius: min(5vw, 10px);
    margin-bottom: 1em;
}

.error-items .error-item {
    border-radius: 5px;
    padding: 1em;
    display: flex;
    flex-wrap: wrap;
    background-color: #fff;
}
.error-items .error-item:not(:last-child) {
    margin-bottom: 5px;
}
.error-items .error-item-label {
    display: block;
    width: 150px;
}
@media screen and (max-width: 840px) {
    .error-items .error-item-label {
        width: 100%;
    }
}
.error-items .error-item-body {
    display: block;
    width: calc(100% - 150px);
    padding-left: 1em;
    word-break: break-all;
    color: #c40000;
}
@media screen and (max-width: 840px) {
    .error-items .error-item-body {
        width: 100%;
        padding-left: 0px;
    }
}

.confirm-btns {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}
.confirm-btns .confirm-btn.confirm-btn-submit {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 0.5em;
    max-width: 100%;
    border: none;
    border: 1px solid #443521;
    border-radius: min(5vw, 20px);
    text-align: center;
    transition: color 0.5s, background-color 0.5s, border-color 0.5s;
    font-size: 1.25em;
    padding: 1em 2.5em;
    width: 360px;
    margin: 1em auto 0;
    background: #fff;
}
@media (max-width: 540px) {
    .confirm-btns .confirm-btn.confirm-btn-submit {
        width: 80%;
        padding-left: 1em;
    }
}
.confirm-btns .confirm-btn.confirm-btn-submit span {
    flex: 1;
    min-width: 0;
    font-weight: 500;
    line-height: 1.45;
    position: relative;
}
.confirm-btns .confirm-btn.confirm-btn-submit .btn_arrow {
    flex: 0 0 min(10cqw, 2em);
    width: min(10cqw, 2em);
    height: min(10cqw, 2em);
    position: relative;
}
.confirm-btns .confirm-btn.confirm-btn-submit .btn_arrow::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #443521;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    border-radius: min(2vw, 0.75em);
    transition: background-color 0.5s;
}
.confirm-btns .confirm-btn.confirm-btn-submit .btn_arrow::after {
    content: "";
    position: absolute;
    width: 40%;
    height: 40%;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: #fff;
    transition: background-color 0.5s, translate 0.5s;
}
.confirm-btns .confirm-btn.confirm-btn-submit:hover .btn_arrow::before {
    background-color: #f0b400;
}
.confirm-btns .confirm-btn.confirm-btn-submit:hover .btn_arrow::after {
    translate: -35% -50%;
    background-color: #fff;
}
.confirm-btns .confirm-btn.confirm-btn-back {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 0.5em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    font-weight: 700;
    line-height: 1.35;
    margin-top: 1.5em;
    margin: clamp(1.5em, 4cqw, 2.5em) auto 0;
    border: none;
    background-color: transparent;
}
.confirm-btns .confirm-btn.confirm-btn-back:hover::before {
    translate: -0.5em 0;
}
.confirm-btns .confirm-btn.confirm-btn-back span {
    font: inherit;
    font-family: "Montserrat", sans-serif;
    font-weight: 500;
    color: #443521;
}
.confirm-btns .confirm-btn.confirm-btn-back::before {
    content: "";
    width: 1em;
    height: 1em;
    rotate: 180deg;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: #443521;
    transition: background-color 0.5s, translate 0.5s;
}

.error_messe {
    margin-top: 30px;
    text-align: center;
}

/*==================================================================================================
	プライバシーポリシー
==================================================================================================*/
/*==================================================================================================
	404,サンクスページ
==================================================================================================*/
#error .sec,
#thanks .sec {
    padding: calc(clamp(3.6em, 10cqw, 10em) + 80px) 10% clamp(3.6em, 8cqw, 5em);
    margin: 0 auto;
}
@media (max-width: 840px) {
    #error .sec,
    #thanks .sec {
        padding: calc(clamp(3.6em, 10cqw, 10em) + 100px) 5% clamp(3.6em, 8cqw, 5em);
    }
}
#error .sec .cmn_secttl,
#thanks .sec .cmn_secttl {
    align-items: center;
}
#error .sec_txt,
#thanks .sec_txt {
    text-align: center;
}
#error .sec_btn,
#thanks .sec_btn {
    background-color: #fff;
    padding: 0.75em 1.25em;
    border: 1px solid #443521;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 0.5em;
    margin: 2em auto 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    font-weight: 700;
    line-height: 1.35;
}
#error .sec_btn:hover,
#thanks .sec_btn:hover {
    background-color: #f0b400;
    color: #fff;
}
#error .sec_btn:hover::after,
#thanks .sec_btn:hover::after {
    translate: 0.25em -0.25em;
    background-color: #fff;
}
#error .sec_btn span,
#thanks .sec_btn span {
    font: inherit;
}
#error .sec_btn::after,
#thanks .sec_btn::after {
    content: "";
    width: 1em;
    height: 1em;
    translate: 0 0.05em;
    rotate: -45deg;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: #443521;
    transition: background-color 0.5s, translate 0.5s;
}