@charset "UTF-8";
/*==================================================================================================
	TOP
==================================================================================================*/
#top .mv {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
}
#top .mv::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgb(173, 162, 156);
    background: linear-gradient(0deg, rgba(173, 162, 156, 0) 0%, rgba(173, 162, 156, 0.7) 100%);
    z-index: 10;
    mix-blend-mode: multiply;
}
#top .mv_inner {
    position: relative;
}
#top .mv_catch {
    position: absolute;
    top: min(20vw, 180px);
    right: 10%;
    width: min(25vh, 360px);
    z-index: 100;
}
@media (max-width: 540px) {
    #top .mv_catch {
        top: 50%;
        width: 20vh;
        max-width: 45vw;
        right: auto;
        left: 50%;
        translate: -50% -50%;
    }
}
#top .mv_catch img {
    -webkit-filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.5));
    filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.5));
}
#top .mv_hd {
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 100;
}
#top .mv_video {
    width: 100%;
    height: 100vh;
    -o-object-fit: cover;
    object-fit: cover;
}
@media (max-width: 540px) {
    #top .mv_video {
        height: 130vw;
    }
}
#top .mv_video video {
    -o-object-fit: cover;
    object-fit: cover;
    height: 100vh;
    width: 100%;
}
@media (max-width: 540px) {
    #top .mv_video video {
        height: 130vw;
    }
}
#top .copy {
    display: none;
    background-color: #fff;
    margin-top: 100vh;
    padding: calc(clamp(120px, 16vw, 300px) * 0.75) 5%;
}
@media screen and (max-width: 540px) {
    #top .copy {
        margin-top: 130vw;
        padding: calc(clamp(120px, 16vw, 300px) * 0.75) 5%;
    }
}
#top .copy_inner {
    opacity: 0;
    translate: 0 15px;
    transition: translate 1s, opacity 1s;
}
#top .copy_inner.-active {
    translate: 0 0;
    opacity: 1;
}
#top .about {
    margin-top: 100vh;
    background-color: #fff;
    padding-top: clamp(50px, 8vw, 80px);
    padding-bottom: calc(clamp(50px, 8vw, 80px) * 3);
}
@media (max-width: 540px) {
    #top .about {
        margin-top: 130vw;
    }
}
#top .about_inner {
    z-index: 10;
}
#top .about_secttl {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}
#top .about_content {
    display: flex;
    flex-direction: column;
}
#top .about_unit {
    width: 700px;
    max-width: 100%;
    margin: 0 auto;
}
#top .about_catch {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
#top .about_catch .ja,
#top .about_catch .en {
    opacity: 0;
    translate: 0 15px;
    transition: translate 1s, opacity 1s;
}
#top .about_catch .ja.-active,
#top .about_catch .en.-active {
    translate: 0 0;
    opacity: 1;
}
#top .about_catch .ja {
    font-size: calc(clamp(3.2rem, 4.6vw, 4.6rem) * 0.6);
    line-height: 1.4;
}
#top .about_catch .ja .blue {
    color: #0093b7;
    font-size: calc(clamp(3.2rem, 4.6vw, 4.6rem) * 0.8);
}
#top .about_catch .en {
    color: rgba(118, 134, 142, 0.5);
    font-family: "Kumbh Sans", serif;
    font-size: 1.4rem;
    font-weight: 200;
    margin-top: 0.5em;
}
#top .about_txt {
    font-size: 1.8rem;
    margin: 1em 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 0.75em 0;
}
#top .about_txt budoux-ja {
    line-height: 2.5;
}
@media (max-width: 540px) {
    #top .about_txt budoux-ja {
        line-height: 2;
    }
}
@media (max-width: 540px) {
    #top .about_txt {
        font-size: 1.6rem;
    }
}
#top .about_txt p {
    font: inherit;
}
#top .about_txt p .ttl {
    font-size: 1.25em;
    display: block;
    margin-bottom: 0.5em;
    margin-top: 1em;
}
#top .about_txt p .blue {
    color: #0093b7;
}
#top .about_txt span {
    display: inline-block;
}
#top .about_txt .point {
    display: block;
    font-size: 1.15em;
    color: #0093b7;
    margin-top: 0.5em;
}
#top .about_txt .sub {
    font-size: 0.85em;
    color: #76848C;
}
#top .about_morebtn {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    margin-top: 2.5em;
    margin-left: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border: 1px solid #ccc;
    padding: 0.25em 1.5em;
}
#top .about_morebtn::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 1em;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #0093b7;
    border: 1px solid #0093b7;
    transition: scale 0.5s, background-color 0.5s;
}
#top .about_morebtn::after {
    content: "";
    position: relative;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    margin-left: 0.5em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: translate 0.5s;
}
#top .about_morebtn:hover::before {
    scale: 1.25;
    background-color: transparent;
}
#top .about_morebtn:hover::after {
    translate: 0.5em 0;
}
#top .about_morebtn:hover span {
    color: #0093b7;
}
#top .about_morebtn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    position: relative;
    z-index: 10;
    padding-left: 1em;
    line-height: 1.4;
    transition: color 0.5s;
}
#top .about_morebtn.-lg {
    margin-inline: auto;
    width: 540px;
    max-width: 100%;
    justify-content: center;
    background-color: #ecf6fd;
    border: none;
    margin-top: 0;
    padding: 0.5em 1.5em;
}
#top .about_morebtn.-lg span {
    font-family: "Zen Kaku Gothic New", "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Sans-Serif;
}
#top .about_morebtns {
    display: flex;
    flex-wrap: wrap;
    gap: 1em 3.5%;
    width: 540px;
    max-width: 100%;
    margin: 1.5em auto 0;
}
#top .about_morebtns .about_morebtn {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    margin-top: 2.5em;
    margin-left: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border: 1px solid #ccc;
    padding: 0.25em 1.5em;
}
#top .about_morebtns .about_morebtn::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 1em;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #0093b7;
    border: 1px solid #0093b7;
    transition: scale 0.5s, background-color 0.5s;
}
#top .about_morebtns .about_morebtn::after {
    content: "";
    position: relative;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    margin-left: 0.5em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: translate 0.5s;
}
#top .about_morebtns .about_morebtn:hover::before {
    scale: 1.25;
    background-color: transparent;
}
#top .about_morebtns .about_morebtn:hover::after {
    translate: 0.5em 0;
}
#top .about_morebtns .about_morebtn:hover span {
    color: #0093b7;
}
#top .about_morebtns .about_morebtn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    position: relative;
    z-index: 10;
    padding-left: 1em;
    line-height: 1.4;
    transition: color 0.5s;
}
#top .about_morebtns .about_morebtn {
    margin-inline: auto;
    width: 48.25%;
    background-color: #fff;
    justify-content: center;
    margin-top: 0;
    padding: 0.5em 0.5em 0.5em 0.25em;
}
@media (max-width: 840px) {
    #top .about_morebtns .about_morebtn {
        background-color: transparent;
    }
}
@media (max-width: 540px) {
    #top .about_morebtns .about_morebtn {
        width: 70%;
    }
}
#top .about_morebtns .about_morebtn span {
    font-family: "Zen Kaku Gothic New", "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Sans-Serif;
    font-size: calc(clamp(2rem, 2vw, 2.4rem) * 0.75);
}
#top .about_morebtns .about_morebtn::after {
    width: 1em;
    height: 1em;
}
#top .about_img {
    position: absolute;
    max-width: 300px;
    width: 15%;
}
@media (max-width: 840px) {
    #top .about_img {
        width: 25%;
        opacity: 0.15;
    }
}
@media (max-width: 540px) {
    #top .about_img {
        width: 30%;
    }
}
#top .about_img.-img01 {
    top: 10%;
    left: 10%;
}
@media (max-width: 840px) {
    #top .about_img.-img01 {
        left: 5%;
    }
}
#top .about_img.-img02 {
    top: 20%;
    right: 0;
}
#top .about_img.-img03 {
    top: 47.5%;
    left: 0;
}
#top .about_img.-img04 {
    bottom: 15%;
    right: 15%;
}
@media (max-width: 840px) {
    #top .about_img.-img04 {
        bottom: 30%;
        right: 5%;
    }
}
#top .about_img.-img05 {
    bottom: 10%;
    left: 15%;
}
#top .safety {
    background-color: #fff;
    padding-top: calc(clamp(50px, 8vw, 80px) * 1);
    padding-bottom: calc(clamp(50px, 8vw, 80px) * 1.5);
    background-image: url(../img/top/safety_bg.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
@media (max-width: 540px) {
    #top .safety {
        padding-top: 0;
    }
}
#top .safety::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ffffff;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
}
#top .safety_secttl {
    margin: 0 auto 2em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    text-align: center;
    font-size: calc(clamp(2.4rem, 3.6vw, 3.2rem) * 0.8);
    line-height: 1.4;
}
#top .safety_secttl .blue {
    color: #0093b7;
    font-size: calc(clamp(2.4rem, 3.6vw, 3.2rem) * 1.25);
}
#top .safety_point .point_list {
    display: flex;
    flex-direction: column;
    max-width: 1280px;
    margin: 0 auto;
}
#top .safety_point .point_item {
    display: flex;
    flex-wrap: wrap;
    border-top: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
    align-items: stretch;
    padding: 2em 0;
    position: relative;
    container-type: inline-size;
}
#top .safety_point .point_item:last-child {
    border-top: none;
}
#top .safety_point .point_img {
    width: 40%;
}
#top .safety_point .point_img img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
}
@media (max-width: 540px) {
    #top .safety_point .point_img.-pc {
        display: none;
    }
}
@media (min-width: 541px) {
    #top .safety_point .point_img.-sp {
        display: none;
    }
}
@media (max-width: 540px) {
    #top .safety_point .point_img.-sp {
        width: 100%;
        margin: 1.5em 0 1.5em;
    }
}
#top .safety_point .point_content {
    width: 60%;
    padding: 30px 0 30px 5%;
}
@media (max-width: 540px) {
    #top .safety_point .point_content {
        width: 100%;
        padding: 0 0;
    }
}
#top .safety_point .point_ttl {
    font-size: calc(clamp(2.4rem, 3.6vw, 3.2rem) * 0.8);
    line-height: 1.4;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0.5em;
}
#top .safety_point .point_ttl span {
    line-height: 1.4;
}
#top .safety_point .point_morebtn {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    margin-top: 2.5em;
    margin-left: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border: 1px solid #ccc;
    padding: 0.25em 1.5em;
}
#top .safety_point .point_morebtn::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 1em;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #0093b7;
    border: 1px solid #0093b7;
    transition: scale 0.5s, background-color 0.5s;
}
#top .safety_point .point_morebtn::after {
    content: "";
    position: relative;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    margin-left: 0.5em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: translate 0.5s;
}
#top .safety_point .point_morebtn:hover::before {
    scale: 1.25;
    background-color: transparent;
}
#top .safety_point .point_morebtn:hover::after {
    translate: 0.5em 0;
}
#top .safety_point .point_morebtn:hover span {
    color: #0093b7;
}
#top .safety_point .point_morebtn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    position: relative;
    z-index: 10;
    padding-left: 1em;
    line-height: 1.4;
    transition: color 0.5s;
}
#top .safety_point .point_morebtn {
    margin-top: 1.5em;
    padding: 0.5em 0.5em 0.5em 1.5em;
    width: 400px;
    max-width: 100%;
}
@media (max-width: 540px) {
    #top .safety_point .point_morebtn {
        width: 260px;
    }
}
#top .safety_point .point_morebtn span {
    font-family: "Zen Kaku Gothic New", "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Sans-Serif;
    font-size: calc(clamp(2rem, 2vw, 2.4rem) * 0.8);
}
#top .safety_point .point_num {
    position: absolute;
    top: 0.25em;
    right: 0.25em;
    line-height: 1;
    color: #76848C;
    font-family: "Poppins", serif;
    font-size: 8cqw;
    font-weight: 100;
    opacity: 0.35;
}
@media (max-width: 540px) {
    #top .safety_point .point_num {
        font-size: 12cqw;
    }
}
#top .safety_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 50px 2.5%;
    margin: clamp(50px, 8vw, 80px) auto;
}
@media (max-width: 540px) {
    #top .safety_list {
        gap: 30px 0;
    }
}
#top .safety_item {
    width: 31.6666666667%;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
}
@media (max-width: 1280px) {
    #top .safety_item {
        width: 48.75%;
    }
}
@media (max-width: 540px) {
    #top .safety_item {
        width: 100%;
    }
}
#top .safety_link:hover {
    scale: 1.025;
}
#top .safety_img {
    position: relative;
    container-type: inline-size;
}
#top .safety_img .num {
    position: absolute;
    top: -0.75em;
    left: 0.25em;
    color: #76848C;
    font-family: "Poppins", serif;
    font-size: 15cqw;
    font-weight: 100;
    opacity: 0.5;
}
@media (max-width: 540px) {
    #top .safety_img .num {
        font-size: 12cqw;
    }
}
#top .safety_icon .num {
    position: absolute;
    top: -0.75em;
    left: 0;
    color: #76848C;
    font-family: "Poppins", serif;
    font-size: calc(clamp(4.6rem, 8vw, 10rem) * 0.8);
    font-weight: 100;
    opacity: 0.1;
}
@media (max-width: 540px) {
    #top .safety_icon .num {
        font-size: calc(clamp(4.6rem, 8vw, 10rem) * 1.5);
    }
}
#top .safety_ttl {
    font-size: 2rem;
    line-height: 1.4;
    text-align: center;
    margin-bottom: 0.35em;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 0.5em;
}
#top .safety_content {
    margin: 0 auto;
    display: none;
}
#top .safety_txt {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    color: #76848C;
    line-height: 1.5;
}
#top .safety_after {
    border: solid 1px #ccc;
    padding: 30px 5% 50px;
    position: relative;
    max-width: 1280px;
    margin: 0 auto clamp(50px, 8vw, 80px);
}
@media (max-width: 540px) {
    #top .safety_after {
        padding: 15px 5% 35px;
    }
}
#top .safety_after::after {
    content: "";
    position: absolute;
    left: 47.5%;
    bottom: 0;
    translate: 0 -50%;
    width: 2em;
    height: 2em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: left 0.5s;
}
#top .safety_after:hover {
    scale: 1.05;
    border-color: #0093b7;
}
#top .safety_after:hover::after {
    left: 50%;
}
#top .safety_after .after_ttl {
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    line-height: 1.4;
    text-align: center;
    margin-bottom: 0.5em;
    color: #0093b7;
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
}
@media (max-width: 840px) {
    #top .safety_after .after_ttl {
        margin-bottom: 0.35em;
    }
}
#top .safety_after .after_ttl .en {
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    line-height: 1.4;
    font-size: 2rem;
}
#top .safety_after .after_ttl .ja {
    font-size: 1.4rem;
    color: #76868e;
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    line-height: 1.2;
}
#top .safety_after .after_content {
    margin: 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-height: 45px;
}
#top .safety_after .after_txt {
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    font-size: calc(clamp(2rem, 2vw, 2.4rem) * 0.8);
}
#top .safety_after .after_txt .lg {
    font-size: clamp(2rem, 2vw, 2.4rem);
}
#top .performance {
    background-color: #fff;
    padding-top: calc(clamp(50px, 8vw, 80px) * 1);
    padding-bottom: calc(clamp(50px, 8vw, 80px) * 2);
    display: none;
}
#top .performance_secttl {
    margin: 0 auto 2em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    text-align: center;
    font-size: calc(clamp(2.4rem, 3.6vw, 3.2rem) * 0.8);
    line-height: 1.4;
    display: none;
}
#top .performance_secttl .blue {
    color: #0093b7;
    font-size: calc(clamp(2.4rem, 3.6vw, 3.2rem) * 1.25);
}
#top .performance_list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 2.5%;
}
#top .performance_item {
    width: 100%;
}
#top .performance_link {
    border: solid 1px #ccc;
    padding: 30px 5% 50px;
    position: relative;
}
@media (max-width: 540px) {
    #top .performance_link {
        padding: 15px 5% 35px;
    }
}
#top .performance_link::after {
    content: "";
    position: absolute;
    left: 47.5%;
    bottom: 0;
    translate: 0 -50%;
    width: 2em;
    height: 2em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: left 0.5s;
}
#top .performance_link:hover {
    scale: 1.05;
    border-color: #0093b7;
}
#top .performance_link:hover::after {
    left: 50%;
}
#top .performance_ttl {
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    line-height: 1.4;
    text-align: center;
    margin-bottom: 0.5em;
    color: #0093b7;
    display: flex;
    flex-direction: column;
    align-items: center;
}
@media (max-width: 840px) {
    #top .performance_ttl {
        margin-bottom: 0.35em;
    }
}
#top .performance_ttl .en {
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    line-height: 1.4;
}
#top .performance_ttl .ja {
    font-size: 1.4rem;
    color: #76868e;
}
#top .performance_content {
    margin: 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-height: 45px;
}
#top .performance_txt {
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    font-size: calc(clamp(2rem, 2vw, 2.4rem) * 0.8);
}
#top .performance_txt .lg {
    font-size: clamp(2rem, 2vw, 2.4rem);
}
#top .voice {
    background-color: #fff;
}
#top .voice_inner {
    display: flex;
    align-items: flex-start;
}
@media (max-width: 1280px) {
    #top .voice_inner {
        flex-direction: column;
    }
}
#top .voice_secttl {
    white-space: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
}
#top .voice_secttl::before {
    left: 0;
    translate: 0 0;
}
@media (max-width: 1280px) {
    #top .voice_secttl {
        width: 100%;
    }
}
#top .voice_slider {
    flex: 1;
    padding-left: 10%;
}
@media (max-width: 1280px) {
    #top .voice_slider {
        width: 100%;
        padding-left: 0;
    }
}
#top .voice_layout {
    margin-right: calc(50% - 50vw);
    position: relative;
    padding-left: 100px;
}
@media (max-width: 1024px) {
    #top .voice_layout {
        padding-left: 80px;
    }
}
@media (max-width: 540px) {
    #top .voice_layout {
        padding-left: 0;
    }
}
#top .voice_list {
    color: #0093b7;
    padding-top: 1.25em;
}
#top .voice_item {
    width: 40vw;
    padding-right: min(50px, 5%);
}
@media (max-width: 1280px) {
    #top .voice_item {
        width: 60vw;
    }
}
@media (max-width: 540px) {
    #top .voice_item {
        width: 90vw;
    }
}
#top .voice_link {
    position: relative;
}
#top .voice_link:hover .voice_img img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}
#top .voice_name {
    position: absolute;
    background-color: #76848C;
    padding: 0em 1em;
    left: 1em;
    top: -0.75em;
    z-index: 10;
    display: inline-flex;
    flex-wrap: wrap;
}
#top .voice_name span {
    font-size: 1.25em;
}
#top .voice_name span:not(:first-child):before {
    content: " / ";
    color: #fff;
    padding: 0 0.25em;
}
#top .voice_img {
    aspect-ratio: 4/3;
    overflow: hidden;
}
#top .voice_img img {
    width: 100%;
    height: 100%;
    -o-object-position: center;
    object-position: center;
    -o-object-fit: cover;
    object-fit: cover;
}
#top .voice_copy {
    position: absolute;
    background-color: #fff;
    z-index: 10;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 90%;
    right: 0;
    bottom: 0;
    color: #0093b7;
    font-size: clamp(2rem, 2vw, 2.4rem);
    line-height: 1.4;
    padding: 0.25em 1em;
}
#top .voice_btn {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50px;
    display: flex;
    flex-direction: column;
}
@media (max-width: 540px) {
    #top .voice_btn {
        width: 70px;
        flex-direction: row-reverse;
        bottom: auto;
        top: -10px;
    }
}
#top .voice_btn .btn {
    width: 50px;
    height: 50px;
    border-top: 1px solid #0093b7;
    border-bottom: 1px solid #0093b7;
}
@media (max-width: 540px) {
    #top .voice_btn .btn {
        width: 35px;
        height: 35px;
        border-top: none;
        border-bottom: none;
        border-left: 1px solid #0093b7;
        border-right: 1px solid #0093b7;
    }
}
#top .voice_btn .btn:nth-child(1) {
    border-bottom: none;
}
@media (max-width: 540px) {
    #top .voice_btn .btn:nth-child(1) {
        border-left: none;
    }
}
#top .voice_btn .btn .next,
#top .voice_btn .btn .prev {
    width: 100%;
    height: 100%;
    border: none;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center center;
    mask-position: center center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: #0093b7;
}
#top .voice_btn .btn .next {
    -webkit-mask-image: url(../img/cmn/slider_next.svg);
    mask-image: url(../img/cmn/slider_next.svg);
}
#top .voice_btn .btn .prev {
    -webkit-mask-image: url(../img/cmn/slider_prev.svg);
    mask-image: url(../img/cmn/slider_prev.svg);
}
#top .voice_morebtn {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    margin-top: 2.5em;
    margin-left: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border: 1px solid #ccc;
    padding: 0.25em 1.5em;
}
#top .voice_morebtn::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 1em;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #0093b7;
    border: 1px solid #0093b7;
    transition: scale 0.5s, background-color 0.5s;
}
#top .voice_morebtn::after {
    content: "";
    position: relative;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    margin-left: 0.5em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: translate 0.5s;
}
#top .voice_morebtn:hover::before {
    scale: 1.25;
    background-color: transparent;
}
#top .voice_morebtn:hover::after {
    translate: 0.5em 0;
}
#top .voice_morebtn:hover span {
    color: #0093b7;
}
#top .voice_morebtn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    position: relative;
    z-index: 10;
    padding-left: 1em;
    line-height: 1.4;
    transition: color 0.5s;
}
#top .voice_morebtn {
    position: absolute;
    left: 0;
    top: 40%;
    margin-top: 0;
}
@media (max-width: 1280px) {
    #top .voice_morebtn {
        position: relative;
        left: auto;
        top: auto;
        margin-top: 3em;
    }
}
#top .feature {
    background-color: #fff;
    display: none;
}
#top .feature_inner {
    display: flex;
    flex-direction: column;
}
#top .feature_secttl {
    margin: 0 auto 2em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}
#top .feature_item:nth-child(1) .feature_img {
    aspect-ratio: 16/6;
    background-position: center;
    background-image: url(../img/top/feature_01.jpg);
    background-size: cover;
}
@media (max-width: 840px) {
    #top .feature_item:nth-child(1) .feature_img {
        aspect-ratio: 16/9;
    }
}
#top .feature_item:nth-child(2) {
    margin-top: clamp(80px, 12vw, 150px);
}
#top .feature_item:nth-child(2) .feature_morebtn span {
    padding-left: 1em;
}
#top .feature_item:nth-child(2) .feature_img {
    aspect-ratio: 16/6;
    background-position: center;
    background-image: url(../img/top/feature_02.jpg);
    background-size: cover;
}
@media (max-width: 840px) {
    #top .feature_item:nth-child(2) .feature_img {
        aspect-ratio: 16/9;
    }
}
#top .feature_ttl {
    font-size: calc(clamp(3.2rem, 4.6vw, 4.6rem) * 0.6);
    line-height: 1.4;
    margin-bottom: 1em;
    margin-top: 1.5em;
}
#top .feature_ttl .blue {
    color: #0093b7;
    font-size: calc(clamp(3.2rem, 4.6vw, 4.6rem) * 0.8);
}
#top .feature_point .point_list {
    display: flex;
    flex-direction: column;
    gap: 2em;
}
#top .feature_point .point_item .ttl {
    font-size: calc(clamp(2rem, 2vw, 2.4rem) * 0.85);
    line-height: 1.4;
    margin-bottom: 0.35em;
}
#top .feature_morebtn {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    margin-top: 2.5em;
    margin-left: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border: 1px solid #ccc;
    padding: 0.25em 1.5em;
}
#top .feature_morebtn::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 1em;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #0093b7;
    border: 1px solid #0093b7;
    transition: scale 0.5s, background-color 0.5s;
}
#top .feature_morebtn::after {
    content: "";
    position: relative;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    margin-left: 0.5em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: translate 0.5s;
}
#top .feature_morebtn:hover::before {
    scale: 1.25;
    background-color: transparent;
}
#top .feature_morebtn:hover::after {
    translate: 0.5em 0;
}
#top .feature_morebtn:hover span {
    color: #0093b7;
}
#top .feature_morebtn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    position: relative;
    z-index: 10;
    padding-left: 1em;
    line-height: 1.4;
    transition: color 0.5s;
}
#top .feature_morebtn .icon {
    width: 1.25em;
    height: 1.25em;
    background-image: url(../img/top/btn_logo.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 1.5em;
}
#top .feature_morebtn .ja {
    font-family: "Zen Kaku Gothic New", "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Sans-Serif;
}
#top .feature_img {
    -webkit-mask-size: auto 200%;
    mask-size: auto 200%;
}
#top .feature_img.-active {
    -webkit-animation-duration: 2.5s;
    animation-duration: 2.5s;
}
#top .lineup {
    background-color: #fff;
    padding-bottom: 0;
}
#top .lineup::before {
    content: "";
    position: absolute;
    top: clamp(80px, 16vw, 200px);
    left: 0;
    width: 50%;
    height: 100%;
    background-color: #f1f2f3;
}
#top .lineup_inner {
    background-color: #f1f2f3;
    padding: clamp(50px, 8vw, 120px) 0;
}
#top .lineup_secttl {
    align-items: flex-start;
    justify-content: flex-start;
}
#top .lineup_secttl::before {
    left: 0;
    translate: 0 0;
}
#top .lineup_about {
    font-size: 1.6rem;
    line-height: 2.25;
    padding-right: 5%;
}
#top .lineup_list {
    margin-top: clamp(50px, 8vw, 120px);
    display: flex;
    flex-direction: column;
    gap: clamp(80px, 12vw, 150px) 0;
}
#top .lineup_item {
    position: relative;
}
#top .lineup_item:nth-child(2), #top .lineup_item:nth-child(3) {
    margin-top: clamp(50px, 8vw, 80px);
}
#top .lineup_item:nth-child(2)::after, #top .lineup_item:nth-child(3)::after {
    content: "";
    position: absolute;
    top: calc(clamp(50px, 8vw, 80px) * -1.5);
    left: 0;
    width: 95%;
    height: 1px;
    background-color: #ccc;
}
#top .lineup_item#linera {
    scroll-margin-top: 150px;
}
#top .lineup_head {
    padding-right: 5%;
    position: relative;
}
#top .lineup_head .head_ttl {
    position: relative;
    background-color: #fff;
    display: flex;
    align-items: center;
    width: 540px;
    max-width: 90%;
    padding: 1em min(2em, 5%);
}
#top .lineup_head .head_ttl .ttl_num {
    font-size: 1.5rem;
    line-height: 1;
    color: #0093b7;
    font-size: calc(clamp(4.6rem, 8vw, 10rem) * 0.8);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
}
#top .lineup_head .head_ttl .ttl_name {
    border-left: 1px solid #aaa;
    padding-left: min(2em, 5%);
    margin-left: min(2em, 5%);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}
#top .lineup_head .head_ttl .ttl_name .type {
    font-size: clamp(2rem, 2vw, 2.4rem);
    line-height: 1.4;
}
#top .lineup_head .head_ttl .ttl_name .img {
    width: 100%;
}
#top .lineup_head .head_content {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0px 10%;
}
#top .lineup_head .head_catch {
    display: flex;
    flex-direction: column;
    margin-top: clamp(50px, 8vw, 80px);
}
#top .lineup_head .head_catch .min,
#top .lineup_head .head_catch .ja,
#top .lineup_head .head_catch .en {
    opacity: 0;
    translate: 0 15px;
    transition: translate 1s, opacity 1s;
}
#top .lineup_head .head_catch .min.-active,
#top .lineup_head .head_catch .ja.-active,
#top .lineup_head .head_catch .en.-active {
    translate: 0 0;
    opacity: 1;
}
#top .lineup_head .head_catch .ja {
    font-size: calc(clamp(2.4rem, 3.6vw, 3.2rem) * 0.8);
    line-height: 1.4;
}
#top .lineup_head .head_catch .ja .blue {
    font-size: calc(clamp(2.4rem, 3.6vw, 3.2rem) * 1.25);
    color: #0093b7;
    line-height: 1.4;
}
#top .lineup_head .head_catch .en {
    color: rgba(118, 134, 142, 0.5);
    font-family: "Kumbh Sans", serif;
    font-size: 1.4rem;
    font-weight: 200;
}
#top .lineup_head .head_img {
    margin-top: clamp(50px, 8vw, 80px);
}
@media (min-width: 541px) {
    #top .lineup_head .head_img {
        display: none;
    }
}
@media (min-width: 541px) {
    #top .lineup_head .head_img.-linera {
        display: block;
    }
    #top .lineup_head .head_img.-linera img {
        aspect-ratio: 4/3;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: center;
        object-position: center;
    }
}
#top .lineup_head .head_btns {
    margin-left: auto;
}
#top .lineup_head .head_btns a {
    width: 485px;
    max-width: 100%;
}
#top .lineup_head .head_btns a:nth-child(2) {
    margin-top: 0.75em;
}
@media (max-width: 540px) {
    #top .lineup_head .head_btns a {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }
}
#top .lineup_head .head_morebtn {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    margin-top: 2.5em;
    margin-left: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border: 1px solid #ccc;
    padding: 0.25em 1.5em;
}
#top .lineup_head .head_morebtn::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 1em;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #0093b7;
    border: 1px solid #0093b7;
    transition: scale 0.5s, background-color 0.5s;
}
#top .lineup_head .head_morebtn::after {
    content: "";
    position: relative;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    margin-left: 0.5em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: translate 0.5s;
}
#top .lineup_head .head_morebtn:hover::before {
    scale: 1.25;
    background-color: transparent;
}
#top .lineup_head .head_morebtn:hover::after {
    translate: 0.5em 0;
}
#top .lineup_head .head_morebtn:hover span {
    color: #0093b7;
}
#top .lineup_head .head_morebtn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    position: relative;
    z-index: 10;
    padding-left: 1em;
    line-height: 1.4;
    transition: color 0.5s;
}
#top .lineup_head .head_morebtn {
    margin-right: 5%;
}
@media (max-width: 840px) {
    #top .lineup_head .head_morebtn {
        margin-right: 0;
    }
}
#top .lineup_head .head_morebtn::before {
    top: 52.5%;
}
#top .lineup_head .head_morebtn span {
    font-size: calc(clamp(2rem, 2vw, 2.4rem) * 0.85);
}
#top .lineup_head .head_morebtn .ja {
    font-family: "Zen Kaku Gothic New", "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Sans-Serif;
}
#top .lineup_head .head_deco {
    font-size: calc(clamp(4.6rem, 8vw, 10rem) * 1.35);
    top: -0.6em;
    left: 27.5%;
    line-height: 1;
    position: absolute;
}
@media (max-width: 840px) {
    #top .lineup_head .head_deco {
        left: auto;
        right: 2.5%;
    }
}
#top .lineup_head .head_deco span {
    display: inline-block;
    font-family: "Kumbh Sans", serif;
    font-weight: 300;
    font-size: calc(clamp(4.6rem, 8vw, 10rem) * 1.35);
    color: transparent;
    text-stroke: 1px #0093b7;
    -webkit-text-stroke: 1px #0093b7;
    line-height: 1;
    opacity: 0;
    translate: 0 -0.5em;
    transition: translate 0.5s, opacity 1s;
}
@media (max-width: 840px) {
    #top .lineup_head .head_deco span {
        font-size: 10vw;
    }
}
#top .lineup_head .head_deco span.-active {
    opacity: 0.25;
    translate: 0 0;
}
#top .lineup_works {
    margin-top: calc(clamp(50px, 8vw, 80px) * 1);
    display: flex;
    align-items: flex-start;
}
@media (max-width: 1280px) {
    #top .lineup_works {
        flex-wrap: wrap;
    }
}
#top .lineup_works .works_secttl {
    width: 320px;
    flex-direction: column-reverse;
    align-items: flex-start;
    margin-bottom: 1.5em;
}
#top .lineup_works .works_secttl::before {
    left: 0;
    translate: 0 0;
}
#top .lineup_works .works_secttl .ja {
    margin-left: -0.1em;
}
#top .lineup_works .works_slider {
    width: calc(100% - 320px);
}
@media (max-width: 1280px) {
    #top .lineup_works .works_slider {
        width: 100%;
    }
}
#top .lineup_works .works_layout {
    position: relative;
    padding-left: 100px;
}
@media (max-width: 1024px) {
    #top .lineup_works .works_layout {
        padding-left: 80px;
    }
}
@media (max-width: 540px) {
    #top .lineup_works .works_layout {
        padding-left: 0;
    }
}
#top .lineup_works .works_list {
    color: #0093b7;
    padding-top: 1.25em;
}
#top .lineup_works .works_item {
    width: 30vw;
    padding-right: min(50px, 5%);
}
@media (max-width: 1280px) {
    #top .lineup_works .works_item {
        width: 50vw;
    }
}
@media (max-width: 540px) {
    #top .lineup_works .works_item {
        width: 80vw;
    }
}
#top .lineup_works .works_link {
    position: relative;
}
#top .lineup_works .works_link:hover .voice_img img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}
#top .lineup_works .works_name {
    position: absolute;
    background-color: #76848C;
    padding: 0em 1em;
    left: 1em;
    top: -0.75em;
    z-index: 10;
    display: inline-flex;
    flex-wrap: wrap;
}
#top .lineup_works .works_name span {
    font-size: 1.25em;
}
#top .lineup_works .works_name span:not(:first-child):before {
    content: " / ";
    color: #fff;
    padding: 0 0.25em;
}
#top .lineup_works .works_img {
    overflow: hidden;
}
#top .lineup_works .works_img img {
    aspect-ratio: 4/3;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#top .lineup_works .works_copy {
    position: absolute;
    background-color: #fff;
    z-index: 10;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 90%;
    right: 0;
    bottom: 0;
    color: #333;
    font-size: 2rem;
    line-height: 1.4;
    padding: 0.25em 1em;
}
@media (max-width: 840px) {
    #top .lineup_works .works_copy {
        font-size: 1.8rem;
    }
}
#top .lineup_works .works_btn {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50px;
    display: flex;
    flex-direction: column;
}
@media (max-width: 540px) {
    #top .lineup_works .works_btn {
        width: 70px;
        flex-direction: row-reverse;
        bottom: auto;
        left: auto;
        right: 5%;
        top: -77px;
    }
}
#top .lineup_works .works_btn .btn {
    width: 50px;
    height: 50px;
    border-top: 1px solid #0093b7;
    border-bottom: 1px solid #0093b7;
}
@media (max-width: 540px) {
    #top .lineup_works .works_btn .btn {
        width: 35px;
        height: 35px;
        border-top: none;
        border-bottom: none;
        border-left: 1px solid #0093b7;
        border-right: 1px solid #0093b7;
    }
}
#top .lineup_works .works_btn .btn:nth-child(1) {
    border-bottom: none;
}
@media (max-width: 540px) {
    #top .lineup_works .works_btn .btn:nth-child(1) {
        border-left: none;
    }
}
#top .lineup_works .works_btn .btn .next,
#top .lineup_works .works_btn .btn .prev {
    width: 100%;
    height: 100%;
    border: none;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center center;
    mask-position: center center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: #0093b7;
}
#top .lineup_works .works_btn .btn .next {
    -webkit-mask-image: url(../img/cmn/slider_next.svg);
    mask-image: url(../img/cmn/slider_next.svg);
}
#top .lineup_works .works_btn .btn .prev {
    -webkit-mask-image: url(../img/cmn/slider_prev.svg);
    mask-image: url(../img/cmn/slider_prev.svg);
}
#top .data {
    background-color: #fff;
    padding: 0 0;
}
#top .data_inner {
    background-image: url(../img/top/banner.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
#top .data_link {
    position: relative;
    padding: clamp(50px, 8vw, 120px) min(50px, 5%);
}
#top .data_link::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    opacity: 0.9;
    transition: opacity 0.5s;
}
#top .data_link:hover::before {
    opacity: 0.7;
}
#top .data_link:hover .data_morebtn::before {
    scale: 1.25;
    background-color: transparent;
}
#top .data_link:hover .data_morebtn::after {
    right: -2.5em;
}
#top .data_link:hover .data_morebtn span {
    color: #0093b7;
}
#top .data_ttl {
    font-size: calc(clamp(3.2rem, 4.6vw, 4.6rem) * 0.8);
    line-height: 1.4;
    position: relative;
    z-index: 10;
    text-align: center;
}
#top .data_ttl .blue {
    color: #0093b7;
}
#top .data_morebtn {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 3em auto 0;
}
#top .data_morebtn::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 0;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #0093b7;
    border: 1px solid #0093b7;
    transition: scale 0.5s, background-color 0.5s;
}
#top .data_morebtn::after {
    content: "";
    position: absolute;
    right: -2em;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    margin-left: 0.5em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: right 0.5s;
}
#top .data_morebtn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    position: relative;
    z-index: 10;
    padding-left: 1em;
    line-height: 1.4;
    transition: color 0.5s;
}
#top .insta {
    background-color: #fff;
    padding: calc(clamp(120px, 16vw, 300px) * 0.5) 5%;
}
#top .insta_link {
    position: relative;
}
#top .insta_link::after {
    content: "";
    position: absolute;
    top: 52.5%;
    right: 3em;
    translate: 0 -50%;
    width: 2em;
    height: 2em;
    -webkit-mask-image: url(../img/top/insta_link.svg);
    mask-image: url(../img/top/insta_link.svg);
    mask-mode: alpha;
    -webkit-mask-position: center center;
    mask-position: center center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    background-color: #fff;
    transition: top 0.5s, right 0.5s;
}
#top .insta_link:hover {
    translate: 0 -5px;
}
#top .insta_link:hover::after {
    top: calc(52.5% - 10px);
    right: calc(3em - 7.5px);
}
#top .insta_img img.-active {
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
}
#top .news {
    background-color: #fafafa;
    padding: calc(clamp(120px, 16vw, 300px) * 0.5) 5%;
}
#top .news#event {
    scroll-margin-top: 130px;
}
#top .news_inner {
    display: flex;
    flex-direction: column;
}
@media (max-width: 1280px) {
    #top .news_inner {
        flex-direction: column;
    }
}
#top .news_secttl {
    margin: 0 auto 2em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}
#top .news_list {
    flex-grow: 1;
    margin-right: calc(50% - 50vw);
    padding: 0 5% 0 5%;
    display: flex;
    flex-wrap: wrap;
}
@media (max-width: 1280px) {
    #top .news_list {
        padding: 0;
        margin-right: 0;
    }
}
#top .news_item {
    width: 33.3333333333%;
    border: 1px solid #76848C;
}
@media (max-width: 840px) {
    #top .news_item {
        width: 50%;
    }
}
#top .news_item:not(:first-child) {
    border-left: none;
}
@media (max-width: 840px) {
    #top .news_item:not(:first-child) {
        border-left: 1px solid #76848C;
    }
}
@media (max-width: 840px) {
    #top .news_item:nth-child(2n) {
        border-left: none;
    }
}
@media (max-width: 840px) {
    #top .news_item:last-child {
        border-top: none;
    }
}
#top .news_link {
    padding: 1em 1em;
    display: flex;
    flex-direction: column;
}
#top .news_link:hover .news_eyecatch img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}
#top .news_link:hover .news_ttl {
    color: #0093b7;
}
#top .news_eyecatch {
    position: relative;
    overflow: hidden;
}
#top .news_eyecatch img {
    aspect-ratio: 1/1;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#top .news_eyecatch img.-active {
    -webkit-animation-duration: 2.5s;
    animation-duration: 2.5s;
}
#top .news_category {
    color: #fff;
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    padding: 0em 2em;
    display: inline-block;
    margin-top: -1em;
    margin-left: -1em;
    z-index: 10;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}
#top .news_category.news_tax01 {
    background-color: #76848C;
}
#top .news_category.news_tax02 {
    background-color: #b2002b;
}
#top .news_time {
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    text-align: right;
}
#top .news_ttl {
    font-size: 1.8rem;
    line-height: 1.4;
    margin: 1em 0 1.5em;
    transition: color 0.5s;
}
#top .news_morebtn {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    margin-top: 2.5em;
    margin-left: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border: 1px solid #ccc;
    padding: 0.25em 1.5em;
}
#top .news_morebtn::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 1em;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #0093b7;
    border: 1px solid #0093b7;
    transition: scale 0.5s, background-color 0.5s;
}
#top .news_morebtn::after {
    content: "";
    position: relative;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    margin-left: 0.5em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: translate 0.5s;
}
#top .news_morebtn:hover::before {
    scale: 1.25;
    background-color: transparent;
}
#top .news_morebtn:hover::after {
    translate: 0.5em 0;
}
#top .news_morebtn:hover span {
    color: #0093b7;
}
#top .news_morebtn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    position: relative;
    z-index: 10;
    padding-left: 1em;
    line-height: 1.4;
    transition: color 0.5s;
}
#top .news_morebtn {
    position: absolute;
    left: 0;
    top: 40%;
    margin-top: 0;
}
@media (max-width: 1280px) {
    #top .news_morebtn {
        position: relative;
        left: auto;
        top: auto;
        margin-top: 3em;
    }
}

#js-iemiru-cms-index-page {
    position: relative;
    z-index: 10;
    background-color: #fafafa;
    padding: 0 0;
    margin-top: 0;
}
#js-iemiru-cms-index-page::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% 0;
    width: 100vw;
    height: 100%;
    background-color: #fafafa;
}
#js-iemiru-cms-index-page #iemiru-cms-index-page {
    max-width: 1024px;
    margin: 0 auto;
    position: relative;
    z-index: 10;
}

.contact {
    background-color: #0093b7;
    padding: clamp(80px, 8vw, 120px) 5%;
}
.contact_secttl {
    margin: 0 auto 2em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}
.contact_secttl::before {
    background-color: #0093b7;
}
.contact_secttl .en span {
    color: #fff;
}
.contact_secttl .ja {
    color: #fff;
}
.contact_secttl.-active {
    translate: 0 0;
    opacity: 1;
}
.contact_secttl.-active::before {
    width: 2em;
    background-color: #fff;
}
.contact_catch {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.contact_catch .ja,
.contact_catch .en {
    opacity: 0;
    translate: 0 15px;
    transition: translate 1s, opacity 1s;
}
.contact_catch .ja.-active,
.contact_catch .en.-active {
    translate: 0 0;
    opacity: 1;
}
.contact_catch .ja {
    font-size: calc(clamp(3.2rem, 4.6vw, 4.6rem) * 0.8);
    line-height: 1.4;
    color: #fff;
}
.contact_catch .ja .blue {
    color: #0093b7;
}
.contact_catch .en {
    color: rgba(255, 255, 255, 0.5);
    font-family: "Kumbh Sans", serif;
    font-size: 1.6rem;
    font-weight: 200;
}
.contact_txt {
    color: #fff;
    line-height: 2.25;
    margin: 1.5em 0;
    text-align: center;
}
.contact_btn {
    margin: clamp(50px, 8vw, 80px) auto 0;
    max-width: 1024px;
}
.contact_btn .btn_list {
    border: 1px solid #fff;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.contact_btn .btn_item {
    width: 50%;
    position: relative;
}
@media (max-width: 840px) {
    .contact_btn .btn_item {
        width: 100%;
    }
}
.contact_btn .btn_item:hover::after {
    opacity: 0.35;
}
.contact_btn .btn_item::after {
    content: "";
    position: absolute;
    width: calc(100% - 5px);
    height: calc(100% - 5px);
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    background-color: #006a84;
    opacity: 0;
    transition: opacity 0.5s;
}
.contact_btn .btn_item:nth-child(1) .btn_link::before {
    -webkit-mask-image: url(../img/cmn/icon_mail.svg);
    mask-image: url(../img/cmn/icon_mail.svg);
}
.contact_btn .btn_item:nth-child(2)::before {
    content: "";
    position: absolute;
    background-color: #fff;
    width: 1px;
    height: 70%;
    top: 50%;
    left: 0;
    translate: 0 -50%;
}
@media (max-width: 840px) {
    .contact_btn .btn_item:nth-child(2)::before {
        width: 95%;
        height: 1px;
        top: 0;
        left: 50%;
        translate: -50% 0;
    }
}
.contact_btn .btn_item:nth-child(2) .btn_link::before {
    -webkit-mask-image: url(../img/cmn/icon_tel.svg);
    mask-image: url(../img/cmn/icon_tel.svg);
}
.contact_btn .btn_link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: clamp(20px, 3vw, 30px) 3em;
    position: relative;
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    z-index: 10;
    min-height: 135px;
}
@media (max-width: 840px) {
    .contact_btn .btn_link {
        min-height: auto;
    }
}
.contact_btn .btn_link::before {
    content: "";
    position: absolute;
    background-color: #fff;
    top: 50%;
    left: 1em;
    translate: 0 -50%;
    transition: background-color 0.5s;
    -webkit-mask-image: url(../img/cmn/icon_mail.svg);
    mask-image: url(../img/cmn/icon_mail.svg);
    mask-mode: alpha;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 1.5em;
    height: 1.5em;
}
.contact_btn .btn_link::after {
    content: "";
    position: absolute;
    width: 1.25em;
    height: 1em;
    right: 1em;
    top: 50%;
    translate: 0 -50%;
    margin-bottom: 0.25em;
    display: inline-block;
    -webkit-mask-image: url(../img/cmn/btn_arrow.svg);
    mask-image: url(../img/cmn/btn_arrow.svg);
    mask-mode: alpha;
    -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: right 0.5s;
}
.contact_btn .btn_link:hover::after {
    right: 0.5em;
}
.contact_btn .btn_link span {
    color: #fff;
}
.contact_btn .btn_link .en {
    font-size: calc(clamp(2.4rem, 3.6vw, 3.2rem) * 1.25);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
}
.contact_btn .btn_link .num {
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    line-height: 1.4;
}
.contact_btn .btn_link .ja {
    line-height: 1.4;
    font-size: 1.6rem;
}

/*==================================================================================================
	会社案内
==================================================================================================*/
#about .greeting {
    background-color: #fff;
}
#about .greeting_inner {
    display: flex;
}
@media (max-width: 1280px) {
    #about .greeting_inner {
        flex-direction: column;
    }
}
@media (max-width: 1280px) {
    #about .greeting_content {
        margin-top: 10%;
    }
}
#about .greeting_catch {
    display: flex;
    flex-direction: column;
}
#about .greeting_catch .ja,
#about .greeting_catch .en,
#about .greeting_catch .sub {
    opacity: 0;
    translate: 0 15px;
    transition: translate 1s, opacity 1s;
}
#about .greeting_catch .ja.-active,
#about .greeting_catch .en.-active,
#about .greeting_catch .sub.-active {
    translate: 0 0;
    opacity: 1;
}
#about .greeting_catch .ja {
    font-size: calc(clamp(3.2rem, 4.6vw, 4.6rem) * 0.8);
    line-height: 1.4;
}
#about .greeting_catch .ja .blue {
    color: #0093b7;
}
#about .greeting_catch .sub {
    font-size: 1.8rem;
}
#about .greeting_catch .en {
    color: rgba(118, 134, 142, 0.5);
    font-family: "Kumbh Sans", serif;
    font-size: calc(clamp(2rem, 2vw, 2.4rem) * 0.8);
    font-weight: 200;
}
#about .greeting_txt {
    font-size: 2rem;
    line-height: 2.25;
    margin: 1.5em 0;
    word-break: auto-phrase;
}
@media (max-width: 1280px) {
    #about .greeting_txt {
        font-size: 1.8rem;
    }
}
#about .greeting_insta {
    width: 60%;
    margin-top: 3em;
}
@media (max-width: 840px) {
    #about .greeting_insta {
        width: 85%;
    }
}
#about .greeting_insta .insta_link {
    position: relative;
}
#about .greeting_insta .insta_link::after {
    content: "";
    position: absolute;
    top: 52.5%;
    right: 3em;
    translate: 0 -50%;
    width: 2em;
    height: 2em;
    -webkit-mask-image: url(../img/top/insta_link.svg);
    mask-image: url(../img/top/insta_link.svg);
    mask-mode: alpha;
    -webkit-mask-position: center center;
    mask-position: center center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    background-color: #fff;
    transition: top 0.5s, right 0.5s;
}
#about .greeting_insta .insta_link:hover {
    translate: 0 -5px;
}
#about .greeting_insta .insta_link:hover::after {
    top: calc(52.5% - 10px);
    right: calc(3em - 7.5px);
}
#about .greeting_insta .insta_img img.-active {
    -webkit-animation-duration: 2.5s;
    animation-duration: 2.5s;
}
#about .greeting_movie {
    margin-top: 5em;
}
#about .greeting_movie iframe {
    width: 100%;
    height: auto;
    max-width: 800px;
    aspect-ratio: 16/9;
}
#about .greeting_morebtn {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    margin-top: 2.5em;
    margin-left: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border: 1px solid #ccc;
    padding: 0.25em 1.5em;
}
#about .greeting_morebtn::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 1em;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #0093b7;
    border: 1px solid #0093b7;
    transition: scale 0.5s, background-color 0.5s;
}
#about .greeting_morebtn::after {
    content: "";
    position: relative;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    margin-left: 0.5em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: translate 0.5s;
}
#about .greeting_morebtn:hover::before {
    scale: 1.25;
    background-color: transparent;
}
#about .greeting_morebtn:hover::after {
    translate: 0.5em 0;
}
#about .greeting_morebtn:hover span {
    color: #0093b7;
}
#about .greeting_morebtn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    position: relative;
    z-index: 10;
    padding-left: 1em;
    line-height: 1.4;
    transition: color 0.5s;
}
#about .greeting_img {
    width: 100%;
    margin-left: calc(50% - 50vw);
    padding: 0 5%;
    margin-top: 15%;
}
@media (max-width: 1280px) {
    #about .greeting_img {
        margin-top: 0;
        width: 100%;
        margin-right: 0;
        padding: 0;
        padding-left: 15%;
    }
}
@media (max-width: 540px) {
    #about .greeting_img {
        padding-left: 5%;
    }
}
#about .greeting_img .img_list {
    display: flex;
    flex-direction: column;
}
#about .greeting_img .img_item:nth-child(1) {
    width: 75%;
    margin-left: auto;
}
#about .greeting_img .img_item:nth-child(2) {
    width: 57%;
    margin-top: 5%;
}
#about .philosophy {
    padding-top: 0;
}
#about .philosophy_copy {
    font-size: calc(clamp(3.2rem, 4.6vw, 4.6rem) * 0.8);
    line-height: 1.4;
    text-align: center;
    margin-bottom: 2em;
    display: block;
    color: #0093b7;
}
#about .philosophy_copy span {
    display: inline-block;
}
#about .philosophy_list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 1.5%;
    margin-top: 2em;
}
#about .philosophy_item {
    width: 32.3333333333%;
    background-color: #fafafa;
    padding: 1em 2em;
}
@media (max-width: 700px) {
    #about .philosophy_item {
        width: 100%;
    }
}
#about .philosophy_ttl {
    font-size: 2rem;
    line-height: 1.4;
    margin-bottom: 0.5em;
    color: #0093b7;
    display: block;
}
#about .profile {
    padding-top: 0;
}
#about .profile_inner {
    display: flex;
    align-items: start;
}
@media (max-width: 1280px) {
    #about .profile_inner {
        flex-direction: column;
    }
}
#about .profile_inner .profile_secttl {
    width: 300px;
}
#about .profile_inner .profile_content {
    width: calc(100% - 300px);
    padding-left: 5%;
}
@media (max-width: 1280px) {
    #about .profile_inner .profile_content {
        width: auto;
    }
}
#about .profile_inner .profile_content .list .item {
    display: flex;
    flex-wrap: wrap;
    padding: 1.75em 0;
    border-top: 1px solid #ccc;
}
#about .profile_inner .profile_content .list .item:last-child {
    border-bottom: 1px solid #ccc;
}
#about .profile_inner .profile_content .list .item .ttl {
    width: 150px;
    color: #0093b7;
    padding-left: 1em;
}
#about .profile_inner .profile_content .list .item .txt {
    width: calc(100% - 150px);
}
@media (max-width: 540px) {
    #about .profile_inner .profile_content .list .item .txt {
        width: 100%;
        padding-left: 1em;
    }
}
#about .profile_inner .profile_content .map {
    margin-top: 3%;
    margin-right: calc(50% - 50vw);
}
#about .profile_inner .profile_content .map iframe {
    width: 100%;
    height: 450px;
}

/*==================================================================================================
	お問い合わせ

==================================================================================================*/
#contact .head {
    padding-bottom: 0;
}
#contact .head .head_btn {
    margin-bottom: 0.5em;
    width: 100%;
    max-width: 520px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: clamp(20px, 3vw, 30px) 3em;
    position: relative;
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    z-index: 10;
    border: solid 1px #1a1a1a;
}
@media (max-width: 840px) {
    #contact .head .head_btn {
        min-height: auto;
    }
}
#contact .head .head_btn::before {
    content: "";
    position: absolute;
    background-color: #0093b7;
    top: 50%;
    left: 1em;
    translate: 0 -50%;
    transition: background-color 0.5s;
    -webkit-mask-image: url(../img/cmn/icon_tel.svg);
    mask-image: url(../img/cmn/icon_tel.svg);
    mask-mode: alpha;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 1.5em;
    height: 1.5em;
}
#contact .head .head_btn::after {
    content: "";
    position: absolute;
    width: 1.25em;
    height: 1em;
    right: 1em;
    top: 50%;
    translate: 0 -50%;
    margin-bottom: 0.25em;
    display: inline-block;
    -webkit-mask-image: url(../img/cmn/btn_arrow.svg);
    mask-image: url(../img/cmn/btn_arrow.svg);
    mask-mode: alpha;
    -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: #1a1a1a;
    transition: right 0.5s;
}
#contact .head .head_btn:hover::after {
    right: 0.5em;
}
#contact .head .head_btn .num {
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    line-height: 1.4;
}
#contact .head .head_btn .ja {
    line-height: 1.4;
    font-size: 1.6rem;
}
#contact .form {
    padding-top: 2em;
}
#contact .form .form_inner {
    background-color: #f5f5f5;
    padding: clamp(30px, 5vw, 50px) min(50px, 5%);
}
#contact .form .form_inner .form_list .form_item {
    display: flex;
    padding: 1em 0;
}
@media (max-width: 700px) {
    #contact .form .form_inner .form_list .form_item {
        flex-wrap: wrap;
    }
}
#contact .form .form_inner .form_list .form_item .item_ttl {
    width: 200px;
    display: flex;
    align-items: center;
}
@media (max-width: 700px) {
    #contact .form .form_inner .form_list .form_item .item_ttl {
        width: 100%;
        padding-bottom: 0.5em;
    }
}
#contact .form .form_inner .form_list .form_item .item_ttl .label_required {
    font-size: 12px;
    background-color: #0093b7;
    padding: 0.15em 0.8em;
    color: #fff;
    margin-left: 0.5em;
}
#contact .form .form_inner .form_list .form_item .item_ttl + * {
    width: calc(100% - 200px);
}
@media (max-width: 700px) {
    #contact .form .form_inner .form_list .form_item .item_ttl + * {
        width: 100%;
    }
}
#contact .form .form_inner .form_list .form_item .radio_list {
    display: flex;
}
#contact .form .form_inner .form_list .form_item .radio_list .radio_item {
    margin-right: 1em;
}
#contact .form .form_inner .form_list .form_item .input {
    border: none;
    padding: 0.5em;
    background-color: #fff;
    border: none;
    outline: none;
}
#contact .form .form_inner .form_list .form_item .textarea {
    resize: vertical;
    border: none;
    padding: 0.5em;
    background-color: #fff;
    border: none;
    outline: none;
}
#contact .form .form_inner .form_list .form_item #c_name_01, #contact .form .form_inner .form_list .form_item #c_name_02 {
    width: calc(50% - 100px);
}
@media (max-width: 700px) {
    #contact .form .form_inner .form_list .form_item #c_name_01, #contact .form .form_inner .form_list .form_item #c_name_02 {
        width: 100%;
    }
}
#contact .form .form_inner .form_list .form_item input[type=radio] {
    accent-color: #0093b7;
}
#contact .form .form_inner .form_agree {
    margin-top: 40px;
}
#contact .form .form_inner .form_agree .txt .agree_link {
    display: inline-block;
    color: #0093b7;
}
#contact .form .form_inner .form_agree .agree_check {
    margin-top: 1em;
    text-align: center;
}
#contact .form .form_inner .form_agree .agree_check input[type=checkbox] {
    accent-color: #0093b7;
    border-radius: 0;
    background-color: inherit;
}
#contact .form .form_inner .form_btn {
    border-radius: 0;
    border: none;
    background-color: inherit;
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    margin: 1.5em auto 0;
}
#contact .form .form_inner .form_btn:after {
    content: "";
    position: relative;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    right: -0.5em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: 0.5s;
}
#contact .form .form_inner .form_btn.-active {
    color: #1a1a1a;
    transition: 0.5s;
}
#contact .form .form_inner .form_btn.-active:hover {
    color: #0093b7;
}
#contact .form .form_inner .form_btn.-active:hover:after {
    right: -1em;
}

/*==================================================================================================
	確認画面
==================================================================================================*/
.confirmation_inner .confirmation_ttl {
    text-align: center;
    font-size: calc(clamp(3.2rem, 4.6vw, 4.6rem) * 0.8);
    margin-bottom: 1em;
    line-height: 1.4;
}
.confirmation_inner .confirmation_txt {
    text-align: center;
}
.confirmation_inner form {
    width: 100%;
    margin-top: 1em;
}
.confirmation_inner form table {
    width: 100%;
    margin: 0 auto;
    max-width: 800px;
}
.confirmation_inner form tbody th, .confirmation_inner form tbody td {
    border: none;
    font-size: 1.6rem;
}
.confirmation_inner form tbody tr {
    display: flex;
    flex-wrap: wrap;
    padding: 1.75em 0;
    border-bottom: solid 1px #ccc;
}
.confirmation_inner form tbody tr:first-child {
    border-top: solid 1px #ccc;
}
.confirmation_inner form tbody th {
    width: 180px;
    background-color: inherit;
    color: #0093b7;
    text-align: left;
}
@media (max-width: 540px) {
    .confirmation_inner form tbody th {
        width: 100%;
    }
}
.confirmation_inner form tbody td {
    width: calc(100% - 180px);
}
@media (max-width: 540px) {
    .confirmation_inner form tbody td {
        width: 100%;
    }
}
.confirmation_inner .confirmation_btn {
    display: flex;
    align-items: center;
    flex-direction: column;
    margin-top: 2em;
}
.confirmation_inner .confirmation_btn .btn {
    background-color: inherit;
    display: inline-block;
    border: none;
    border-radius: 0;
}
.confirmation_inner .confirmation_btn .submit_btn {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    margin-bottom: 0.5em;
}
.confirmation_inner .confirmation_btn .submit_btn::after {
    content: "";
    position: relative;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    margin-left: 0.5em;
    right: 0;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: right 0.5s;
}
.confirmation_inner .confirmation_btn .submit_btn:hover::after {
    right: -0.5em;
}
.confirmation_inner .confirmation_btn .submit_btn:hover span {
    color: #0093b7;
}
.confirmation_inner .confirmation_btn .submit_btn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-weight: 200;
    position: relative;
    z-index: 10;
    line-height: 1.4;
    transition: color 0.5s;
}
.confirmation_inner .confirmation_btn .back_btn:hover {
    color: #0093b7;
}

/*==================================================================================================
	お知らせ
==================================================================================================*/
#news .archive_inner .archive_lists {
    display: flex;
    flex-wrap: wrap;
}
#news .archive_inner .archive_item {
    padding: 1em;
    width: calc(33.3333333333% + 1px);
    border: solid 1px #76848C;
    margin-top: -1px;
    margin-left: -1px;
}
#news .archive_inner .archive_item .item_img {
    aspect-ratio: 380/330;
    overflow: hidden;
}
#news .archive_inner .archive_item .item_img img {
    height: 100%;
    width: auto;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#news .archive_inner .archive_item .item_info {
    position: relative;
    text-align: right;
}
#news .archive_inner .archive_item .item_info .tax_item {
    background-color: #76848C;
    color: #fff;
    padding: 0 2em 0.15em 1em;
    position: absolute;
    left: -1em;
    top: -15px;
}
#news .archive_inner .archive_item .item_ttl {
    font-size: 1.8rem;
    display: inline-block;
    margin-top: 1em;
}
#news .archive_inner .archive_item a:hover .item_img img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}
#news .archive_inner .archive_item a:hover .item_ttl {
    color: #0093b7;
    transition: color 0.3s;
}
#news .single_head {
    margin: 2em 0;
}
#news .single_info {
    display: flex;
}
#news .single_category {
    background-color: #76848C;
    color: #fff;
    padding: 0.15em 1em 0 1em;
    line-height: 1.25;
}
#news .single_date {
    margin-left: 1em;
}
#news .single_ttl {
    color: #0093b7;
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    margin-top: 1em;
    display: inline-block;
}
#news .single_body img {
    margin: 1em 0;
    width: auto;
    display: inline-block;
}

/*==================================================================================================
	特徴
==================================================================================================*/
#feature .about {
    padding-bottom: calc(clamp(50px, 8vw, 80px) * 1.5);
}
#feature .about_head {
    display: flex;
    flex-direction: column;
}
#feature .about_head .ja,
#feature .about_head .en {
    opacity: 0;
    translate: 0 15px;
    transition: translate 1s, opacity 1s;
}
#feature .about_head .ja.-active,
#feature .about_head .en.-active {
    translate: 0 0;
    opacity: 1;
}
#feature .about_head .ja {
    font-size: calc(clamp(3.2rem, 4.6vw, 4.6rem) * 0.8);
    line-height: 1.4;
    text-align: center;
}
#feature .about_head .ja .blue {
    color: #0093b7;
}
#feature .about_content {
    width: 100%;
}
#feature .about_txt {
    margin: 2em 0;
    line-height: 2;
    text-align: center;
}
#feature .about_img {
    margin: clamp(50px, 8vw, 80px) calc(50% - 50vw) 0;
    aspect-ratio: 4.5/1;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    background-image: url(../img/05_feature/about.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
@media (max-width: 540px) {
    #feature .about_img {
        display: none;
    }
}
#feature .reason {
    padding-top: 0;
}
#feature .reason_secttl {
    margin: 0 auto 2em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    text-align: center;
    font-size: calc(clamp(2.4rem, 3.6vw, 3.2rem) * 0.8);
    line-height: 1.4;
}
#feature .reason_secttl .blue {
    color: #0093b7;
    font-size: calc(clamp(2.4rem, 3.6vw, 3.2rem) * 1.25);
}
#feature .reason_list {
    display: flex;
    flex-direction: column;
    margin-top: calc(clamp(50px, 8vw, 80px) * -0.5);
}
#feature .reason_item {
    display: flex;
    flex-wrap: wrap;
    gap: calc(clamp(50px, 8vw, 80px) * 0.5) 5%;
    border-bottom: solid 1px #eee;
    padding: calc(clamp(50px, 8vw, 80px) * 0.5) 0;
}
#feature .reason_img.-pc {
    width: 45%;
}
@media (max-width: 540px) {
    #feature .reason_img.-pc {
        display: none;
    }
}
#feature .reason_img.-sp {
    margin: calc(clamp(50px, 8vw, 80px) * 0.25) 0 calc(clamp(50px, 8vw, 80px) * 0.5);
}
@media (min-width: 541px) {
    #feature .reason_img.-sp {
        display: none;
    }
}
#feature .reason_img img {
    aspect-ratio: 4/3;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#feature .reason_content {
    width: 50%;
    position: relative;
}
@media (max-width: 540px) {
    #feature .reason_content {
        width: 100%;
    }
}
#feature .reason_ttl {
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    line-height: 1.4;
    margin-bottom: 0.5em;
    color: #0093b7;
    display: flex;
    flex-direction: column;
}
@media (max-width: 840px) {
    #feature .reason_ttl {
        margin-bottom: 0.35em;
    }
}
#feature .reason_ttl .en {
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    line-height: 1.4;
}
#feature .reason_ttl .ja {
    font-size: 1.4rem;
    color: #76868e;
}
#feature .reason_copy {
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    font-size: calc(clamp(2rem, 2vw, 2.4rem) * 0.8);
    margin-bottom: 1em;
}
#feature .reason_copy .lg {
    font-size: clamp(2rem, 2vw, 2.4rem);
}
#feature .reason_morebtn {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    margin-top: 2.5em;
    margin-left: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border: 1px solid #ccc;
    padding: 0.25em 1.5em;
}
#feature .reason_morebtn::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 1em;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #0093b7;
    border: 1px solid #0093b7;
    transition: scale 0.5s, background-color 0.5s;
}
#feature .reason_morebtn::after {
    content: "";
    position: relative;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    margin-left: 0.5em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: translate 0.5s;
}
#feature .reason_morebtn:hover::before {
    scale: 1.25;
    background-color: transparent;
}
#feature .reason_morebtn:hover::after {
    translate: 0.5em 0;
}
#feature .reason_morebtn:hover span {
    color: #0093b7;
}
#feature .reason_morebtn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    position: relative;
    z-index: 10;
    padding-left: 1em;
    line-height: 1.4;
    transition: color 0.5s;
}
@media (max-width: 540px) {
    #feature .reason_morebtn {
        margin-top: 1.5em;
    }
}
#feature .reason_num {
    position: absolute;
    top: -0.1em;
    right: 0;
    color: rgba(0, 147, 183, 0.1);
    font-family: "Poppins", serif;
    font-size: clamp(5.5rem, 9vw, 13rem);
    font-weight: 100;
    line-height: 1;
    z-index: -1;
}
@media (max-width: 540px) {
    #feature .reason_num {
        font-size: 15vw;
    }
}

/*==================================================================================================
	家づくり / 職人がつくる家
==================================================================================================*/
#performance .about {
    position: relative;
}
#performance .about:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 95%;
    background: linear-gradient(0deg, rgba(0, 145, 181, 0.1) 0%, rgba(0, 145, 181, 0.1) 50%, #ffffff 100%);
}
@media (max-width: 1024px) {
    #performance .about:before {
        bottom: 0;
        top: auto;
    }
}
#performance .about_head {
    display: flex;
    flex-direction: column;
}
#performance .about .about_content {
    display: flex;
}
@media (max-width: 1024px) {
    #performance .about .about_content {
        flex-wrap: wrap-reverse;
    }
}
#performance .about .about_content .content_body {
    width: 65%;
    margin-top: 3%;
}
@media (max-width: 1024px) {
    #performance .about .about_content .content_body {
        width: 100%;
        margin-top: 5%;
    }
}
#performance .about .about_content .content_body ul {
    display: flex;
    flex-direction: column;
    gap: 0.5em 0;
}
#performance .about .about_content .content_body ul li {
    display: flex;
    flex-direction: column;
}
#performance .about .about_content .content_body ul li .ttl {
    font-size: 1.8rem;
    color: #0093b7;
}
#performance .about .about_content .content_txt {
    font-size: 1.8rem;
    line-height: 2.25;
    margin: 1.5em 0;
    word-break: auto-phrase;
}
@media (max-width: 1280px) {
    #performance .about .about_content .content_txt {
        font-size: 1.6rem;
    }
}
#performance .about .about_content .content_txt .content_subttl {
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    display: block;
    margin-bottom: 0.5em;
    line-height: 1.4;
}
#performance .about .about_content .content_img {
    margin-right: calc(50% - 50vw);
    margin-top: 2em;
    margin-left: auto;
    padding-left: 5%;
}
@media (max-width: 1024px) {
    #performance .about .about_content .content_img {
        width: 100%;
        padding-left: 0;
    }
}
#performance .about .about_content .content_img img {
    aspect-ratio: 780/890;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#performance .tsudoeru {
    padding-top: 0;
    padding-bottom: clamp(60px, 10vw, 150px);
}
@media (max-width: 1024px) {
    #performance .tsudoeru {
        padding-top: calc(clamp(50px, 8vw, 80px) * 2);
    }
}
#performance .tsudoeru_head {
    display: flex;
    align-items: flex-start;
}
@media (max-width: 1280px) {
    #performance .tsudoeru_head {
        flex-wrap: wrap;
    }
}
#performance .tsudoeru .head_img.-pc {
    margin-left: calc(50% - 50vw);
    padding-left: 2%;
    aspect-ratio: 3/3;
    background-image: url(../img/05_feature/tsudoeru.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    width: 55%;
}
@media (max-width: 1280px) {
    #performance .tsudoeru .head_img.-pc {
        width: 100%;
        aspect-ratio: 16/9;
        margin-left: 0;
    }
}
#performance .tsudoeru .head_img.-sp {
    margin-left: calc(50% - 50vw);
    padding-left: 0;
    aspect-ratio: 846/458;
    background-image: url(../img/05_feature/tsudoeru.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    margin-top: 50px;
}
#performance .tsudoeru .head_content {
    display: flex;
    flex-direction: column;
    width: 45%;
    margin-left: auto;
    margin-top: 5%;
}
@media (max-width: 1280px) {
    #performance .tsudoeru .head_content {
        width: 100%;
    }
}
#performance .tsudoeru .head_content .tsudoeru_list {
    margin-top: 1.5em;
    display: flex;
    flex-direction: column;
    gap: 0.25em 0;
}
#performance .tsudoeru .head_content .tsudoeru_item {
    font-size: 1.6rem;
    line-height: 1.75;
    background-color: rgba(0, 147, 183, 0.1);
    padding: 0.75em 1em 0.75em 2.5em;
    position: relative;
}
#performance .tsudoeru .head_content .tsudoeru_item::before {
    content: "";
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    left: 1em;
    width: 0.5em;
    height: 0.5em;
    background-color: #0093b7;
    border-radius: 50%;
}
#performance .tsudoeru .head_content .tsudoeru_item .blue {
    color: #0093b7;
}
#performance .tsudoeru .head_subttl {
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    display: block;
    line-height: 1.4;
}
#performance .tsudoeru .head_txt {
    font-size: 1.8rem;
    line-height: 2.25;
    margin: 1.5em 0 1.5em 0;
    word-break: auto-phrase;
}
@media (max-width: 1280px) {
    #performance .tsudoeru .head_txt {
        font-size: 1.6rem;
    }
}
#performance .tsudoeru .head_txt .head_subttl {
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    display: block;
    margin-bottom: 0.5em;
    line-height: 1.4;
}
#performance .effect {
    padding-top: 0;
    padding-bottom: clamp(60px, 10vw, 150px);
}
#performance .effect#effect {
    scroll-margin-top: 150px;
}
#performance .effect_head {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
}
@media (max-width: 1280px) {
    #performance .effect_head {
        flex-wrap: wrap;
    }
}
#performance .effect .head_img.-pc {
    margin-right: calc(50% - 50vw);
    padding-right: 2%;
    aspect-ratio: 846/458;
    background-image: url(../img/05_feature/performance_img02.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    width: 55%;
}
@media (max-width: 1280px) {
    #performance .effect .head_img.-pc {
        display: none;
    }
}
#performance .effect .head_img.-sp {
    margin-right: calc(50% - 50vw);
    padding-right: 0;
    aspect-ratio: 846/458;
    background-image: url(../img/05_feature/performance_img02.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    margin-top: 50px;
}
@media (min-width: 1281px) {
    #performance .effect .head_img.-sp {
        display: none;
    }
}
#performance .effect .head_content {
    display: flex;
    flex-direction: column;
    width: 45%;
    margin-right: auto;
    margin-top: 5%;
}
@media (max-width: 1280px) {
    #performance .effect .head_content {
        width: 100%;
    }
}
#performance .effect .head_content .ja,
#performance .effect .head_content .en {
    opacity: 0;
    translate: 0 15px;
    transition: translate 1s, opacity 1s;
}
#performance .effect .head_content .ja.-active,
#performance .effect .head_content .en.-active {
    translate: 0 0;
    opacity: 1;
}
#performance .effect .head_content .ja {
    font-size: calc(clamp(3.2rem, 4.6vw, 4.6rem) * 0.8);
    line-height: 1.4;
}
#performance .effect .head_content .ja .blue {
    color: #0093b7;
}
#performance .effect .head_content .en {
    color: rgba(118, 134, 142, 0.5);
    font-family: "Kumbh Sans", serif;
    font-size: calc(clamp(2rem, 2vw, 2.4rem) * 0.8);
    font-weight: 200;
}
#performance .effect .head_txt {
    font-size: 1.8rem;
    line-height: 2.25;
    margin: 3em 0 1.5em 0;
    word-break: auto-phrase;
}
@media (max-width: 1280px) {
    #performance .effect .head_txt {
        font-size: 1.6rem;
    }
}
#performance .effect .head_txt .head_subttl {
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    display: block;
    margin-bottom: 0.5em;
    line-height: 1.4;
}
#performance .wall {
    padding-top: 0;
    padding-bottom: clamp(60px, 10vw, 150px);
}
#performance .wall_copy {
    display: flex;
    flex-direction: column;
}
#performance .wall_copy .ja,
#performance .wall_copy .en {
    opacity: 0;
    translate: 0 15px;
    transition: translate 1s, opacity 1s;
}
#performance .wall_copy .ja.-active,
#performance .wall_copy .en.-active {
    translate: 0 0;
    opacity: 1;
}
#performance .wall_copy .ja {
    font-size: calc(clamp(3.2rem, 4.6vw, 4.6rem) * 0.8);
    line-height: 1.4;
}
#performance .wall_copy .ja .blue {
    color: #0093b7;
}
#performance .wall_copy .en {
    color: rgba(118, 134, 142, 0.5);
    font-family: "Kumbh Sans", serif;
    font-size: calc(clamp(2rem, 2vw, 2.4rem) * 0.8);
    font-weight: 200;
}
#performance .wall_head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    max-width: 1024px;
    margin: 0 auto;
    padding-top: clamp(50px, 8vw, 80px);
}
#performance .wall_head .head_content {
    width: 60%;
}
@media (max-width: 840px) {
    #performance .wall_head .head_content {
        width: 100%;
    }
}
#performance .wall_head .head_ttl {
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    display: block;
    margin-bottom: 0.5em;
    line-height: 1.4;
}
#performance .wall_head .head_txt .cmn_details_inner {
    margin-top: 1em;
}
#performance .wall_head .head_img.-sp {
    margin: calc(clamp(50px, 8vw, 80px) * 0.5) 0;
    max-width: 540px;
}
@media (min-width: 841px) {
    #performance .wall_head .head_img.-sp {
        display: none;
    }
}
#performance .wall_head .head_img.-pc {
    width: 37.5%;
}
@media (max-width: 840px) {
    #performance .wall_head .head_img.-pc {
        display: none;
    }
}
#performance .wall_list {
    display: flex;
    flex-direction: column;
    gap: clamp(50px, 8vw, 80px) 0;
    max-width: 1280px;
    margin: clamp(50px, 8vw, 80px) auto 0;
}
#performance .wall_item {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 95%;
}
@media (max-width: 840px) {
    #performance .wall_item {
        width: 100%;
    }
}
#performance .wall_item:first-child .wall_img.-pc {
    display: flex;
    justify-content: center;
}
@media (max-width: 840px) {
    #performance .wall_item:first-child .wall_img.-pc {
        display: none;
    }
}
#performance .wall_item:first-child .wall_img.-pc img {
    width: 360px;
    max-width: 80%;
}
@media (max-width: 840px) {
    #performance .wall_item:first-child .wall_img.-sp {
        display: flex;
        justify-content: center;
    }
    #performance .wall_item:first-child .wall_img.-sp img {
        width: 420px;
        max-width: 80%;
    }
}
#performance .wall_item:nth-child(even) {
    margin-left: auto;
    flex-direction: row-reverse;
}
#performance .wall_link {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    margin-top: 2.5em;
    margin-left: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border: 1px solid #ccc;
    padding: 0.25em 1.5em;
}
#performance .wall_link::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 1em;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #0093b7;
    border: 1px solid #0093b7;
    transition: scale 0.5s, background-color 0.5s;
}
#performance .wall_link::after {
    content: "";
    position: relative;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    margin-left: 0.5em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: translate 0.5s;
}
#performance .wall_link:hover::before {
    scale: 1.25;
    background-color: transparent;
}
#performance .wall_link:hover::after {
    translate: 0.5em 0;
}
#performance .wall_link:hover span {
    color: #0093b7;
}
#performance .wall_link span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    position: relative;
    z-index: 10;
    padding-left: 1em;
    line-height: 1.4;
    transition: color 0.5s;
}
#performance .wall_link {
    margin: 1em auto 0 0;
    font-size: 1.8rem;
}
#performance .wall_link span {
    font-family: "Zen Kaku Gothic New", "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Sans-Serif;
    font-size: 1.8rem;
}
#performance .wall_content {
    width: 52.5%;
}
@media (max-width: 840px) {
    #performance .wall_content {
        width: 100%;
    }
}
#performance .wall_ttl {
    display: flex;
    flex-direction: column;
    margin-bottom: 1.25em;
    line-height: 1.4;
}
#performance .wall_ttl .sub {
    font-size: 1.25em;
    opacity: 0.7;
}
#performance .wall_ttl .main {
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    color: #0093b7;
    line-height: 1.4;
}
#performance .wall_txt .cmn_details_inner {
    margin-top: 1em;
}
#performance .wall_txt .blue {
    color: #0093b7;
}
#performance .wall_txt .notice {
    font-size: 0.9em;
    opacity: 0.7;
    margin-top: 1em;
}
#performance .wall_img.-sp {
    margin: calc(clamp(50px, 8vw, 80px) * 0.5) 0;
}
@media (min-width: 841px) {
    #performance .wall_img.-sp {
        display: none;
    }
}
#performance .wall_img.-pc {
    width: 42.5%;
}
@media (max-width: 840px) {
    #performance .wall_img.-pc {
        display: none;
    }
}
#performance .wall_movie {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: clamp(50px, 8vw, 80px) 0;
}
#performance .wall_movie::before {
    content: "";
    display: block;
    width: 100vw;
    height: 100%;
    background-color: #fafafa;
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% 0;
    z-index: -2;
}
#performance .wall_movie::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% 0;
    width: 100vw;
    height: 50%;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
    z-index: -1;
}
#performance .wall_movie iframe {
    width: 100%;
    height: auto;
    max-width: 800px;
    aspect-ratio: 16/9;
}
#performance .wall_movie p {
    margin-top: calc(clamp(50px, 8vw, 80px) * 0.75);
    text-align: center;
}
#performance .wall_banner {
    margin: clamp(50px, 8vw, 80px) auto 0;
    width: 540px;
    max-width: 100%;
}
#performance .wall_banner a:hover {
    opacity: 0.8;
}
#performance .living {
    padding-top: 0;
}
#performance .living_lists {
    display: flex;
    flex-wrap: wrap;
    gap: 80px;
}
@media (max-width: 1280px) {
    #performance .living_lists {
        gap: 40px;
    }
}
#performance .living_item {
    width: calc((100% - 80px) / 2);
}
@media (max-width: 1280px) {
    #performance .living_item {
        width: calc((100% - 40px) / 2);
    }
}
@media (max-width: 840px) {
    #performance .living_item {
        width: 100%;
        display: flex;
        flex-direction: column;
    }
}
#performance .living_item .item_ttl {
    display: flex;
    flex-direction: column;
}
@media (max-width: 840px) {
    #performance .living_item .item_ttl {
        order: 2;
    }
}
#performance .living_item .item_ttl .ja {
    padding-top: 1.5em;
    font-size: clamp(2.8rem, 3.6vw, 3.6rem);
    line-height: 1.4;
    color: #0093b7;
}
#performance .living_item .item_ttl .en {
    color: rgba(118, 134, 142, 0.5);
    font-family: "Kumbh Sans", serif;
    font-size: calc(clamp(2rem, 2vw, 2.4rem) * 0.8);
    font-weight: 200;
}
#performance .living_item .item_content {
    margin-top: 2.5em;
}
@media (max-width: 840px) {
    #performance .living_item .item_content {
        order: 3;
    }
}
#performance .living_item .item_subttl {
    font-size: clamp(2rem, 2vw, 2.4rem);
}
#performance .living_item .item_txt {
    margin-top: 1em;
}
#performance .living_item .item_voice {
    margin-top: 1em;
}
#performance .living_item .item_voice .voice_ttl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    position: relative;
    border-bottom: solid 1px #76848c;
    gap: 0 0.75em;
    padding-bottom: 0.5em;
    padding-right: 3em;
    cursor: pointer;
}
#performance .living_item .item_voice .voice_ttl .en {
    color: #0093b7;
    font-size: 2rem;
    line-height: 1.2;
}
#performance .living_item .item_voice .voice_ttl .ja {
    font-size: 1.8rem;
}
#performance .living_item .item_voice .voice_ttl .toggle {
    position: absolute;
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    top: 50%;
    right: 0.5em;
    translate: 0 -50%;
    width: 0.5em;
    height: 0.5em;
    display: none;
}
#performance .living_item .item_voice .voice_ttl .toggle::before, #performance .living_item .item_voice .voice_ttl .toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 100%;
    height: 1px;
    opacity: 1;
    background-color: #76848C;
    transition: 0.5s background-color, 0.5s rotate, 0.5s opacity;
}
#performance .living_item .item_voice .voice_ttl .toggle::after {
    rotate: 90deg;
}
#performance .living_item .item_voice .voice_ttl.-close .toggle::before, #performance .living_item .item_voice .voice_ttl.-close .toggle::after {
    background-color: #0093b7;
}
#performance .living_item .item_voice .voice_ttl.-close .toggle::before {
    rotate: 90deg;
    opacity: 0;
}
#performance .living_item .item_voice .voice_ttl.-close .toggle::after {
    rotate: 180deg;
}
#performance .living_item .item_voice .voice_ttl:hover .toggle::before, #performance .living_item .item_voice .voice_ttl:hover .toggle::after {
    background-color: #0093b7;
}
#performance .living_item .item_voice .voice_txt {
    font-size: 1.6rem;
    display: flex;
    align-items: center;
    position: relative;
    background-color: rgba(0, 147, 183, 0.1);
    padding: 1.5em 1.5em;
    margin-top: 0.5em;
}
#performance .living_item .item_voice .voice_txt:before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    background-color: #0093b7;
    border-radius: 50%;
    margin-right: 0.35em;
    position: absolute;
    top: 2.25em;
    left: 1em;
}
#performance .living_item .item_img {
    margin-top: 2em;
}
@media (max-width: 840px) {
    #performance .living_item .item_img {
        order: 1;
    }
}
#performance .living_item .item_img img {
    aspect-ratio: 2/1;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#performance .after {
    padding-top: 0;
}
#performance .after#after {
    scroll-margin-top: 150px;
}
#performance .after_catch {
    opacity: 0;
    translate: 0 15px;
    transition: translate 1s, opacity 1s;
    max-width: 700px;
    margin: 0 auto 50px;
}
#performance .after_catch.-active {
    translate: 0 0;
    opacity: 1;
}
#performance .after_figure {
    width: 100%;
    margin: 30px auto;
}
#performance .after_figure img {
    margin: 30px auto;
}
#performance .after_figure .txt {
    font-size: 1.15em;
}
#performance .after_figure .txt .blue {
    color: #0093b7;
    font-size: calc(clamp(2.4rem, 3.6vw, 3.2rem) * 0.8);
}
#performance .after_content {
    margin-top: clamp(50px, 8vw, 80px);
}
#performance .after_subttl {
    font-size: clamp(2rem, 2vw, 2.4rem);
    margin-bottom: 1em;
    color: #0093b7;
}
#performance .after_img .img_list {
    display: flex;
    flex-wrap: wrap;
    gap: 30px 1.5%;
    margin: 30px 0;
}
#performance .after_img .img_item {
    width: 18.8%;
}
#performance .after_img .img_item .img {
    position: relative;
}
#performance .after_img .img_item .img .ttl {
    position: absolute;
    bottom: 0;
    left: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    background-color: #76848C;
    color: #fff;
    padding: 0.15em 0.35em;
}
@media (max-width: 840px) {
    #performance .after_img .img_item .img .ttl {
        font-size: 1.6vw;
    }
}
#performance .after_img .img_item .note {
    display: none;
    margin-top: 0.5em;
    font-size: 0.9em;
    line-height: 1.6;
}
#performance .after_point .point_list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 1.5%;
    margin: 30px 0;
}
#performance .after_point .point_item {
    width: 32.3333333333%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1em;
    border: solid 1px #ccc;
    padding: 1em 1em;
}
@media (max-width: 540px) {
    #performance .after_point .point_item {
        flex-direction: row;
        width: 100%;
    }
}
#performance .after_point .point_item .icon {
    position: relative;
    width: 150px;
    max-width: 70%;
}
@media (max-width: 540px) {
    #performance .after_point .point_item .icon {
        width: 50px;
    }
}
#performance .after_point .point_item .ttl {
    display: block;
    font-size: clamp(2rem, 2vw, 2.4rem);
    line-height: 1.4;
    text-align: center;
}
@media (max-width: 540px) {
    #performance .after_point .point_item .ttl {
        font-size: 1.6rem;
        text-align: left;
        width: calc(100% - 50px);
    }
}
#performance .after_point .point_item .ttl .blue {
    color: #0093b7;
}
#performance .after_banner {
    margin: 100px auto 0;
    width: 300px;
}
#performance .after_banner:hover {
    opacity: 0.8;
}

#craftmanship .about {
    position: relative;
    padding-bottom: clamp(120px, 16vw, 200px);
}
#craftmanship .about:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 95%;
    background: linear-gradient(0deg, rgba(0, 145, 181, 0.1) 0%, rgba(0, 145, 181, 0.1) 50%, #ffffff 100%);
}
@media (max-width: 1024px) {
    #craftmanship .about:before {
        bottom: 0;
        top: auto;
    }
}
#craftmanship .about_inner {
    display: flex;
    align-items: start;
}
@media (max-width: 1024px) {
    #craftmanship .about_inner {
        flex-wrap: wrap;
    }
}
#craftmanship .about_img {
    margin-left: calc(50% - 50vw);
    margin-top: 15%;
    margin-right: auto;
}
@media (max-width: 1024px) {
    #craftmanship .about_img {
        width: 100%;
        margin-top: 2em;
    }
}
#craftmanship .about_img img {
    max-width: 780px;
    aspect-ratio: 780/775;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#craftmanship .about_content {
    display: flex;
    flex-direction: column;
    width: 65%;
    padding-left: 5%;
}
@media (max-width: 1024px) {
    #craftmanship .about_content {
        width: 100%;
        padding-left: 0;
        margin-top: 5%;
    }
}
#craftmanship .about_content .content_body {
    margin-top: 5%;
}
#craftmanship .about_content .content_txt {
    font-size: 1.8rem;
    line-height: 2.25;
    margin: 1.5em 0;
    word-break: auto-phrase;
}
@media (max-width: 1280px) {
    #craftmanship .about_content .content_txt {
        font-size: 1.6rem;
    }
}
#craftmanship .about_content .content_txt .content_subttl {
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    display: block;
    margin-bottom: 0.5em;
    line-height: 1.4;
}
#craftmanship .effect {
    padding-top: 0;
}
@media (max-width: 1024px) {
    #craftmanship .effect {
        padding-top: calc(clamp(50px, 8vw, 80px) * 2);
    }
}
#craftmanship .effect_head {
    display: flex;
    flex-direction: column;
    margin-bottom: 5%;
}
#craftmanship .effect_head .ja,
#craftmanship .effect_head .en {
    opacity: 0;
    translate: 0 15px;
    transition: translate 1s, opacity 1s;
}
#craftmanship .effect_head .ja.-active,
#craftmanship .effect_head .en.-active {
    translate: 0 0;
    opacity: 1;
}
#craftmanship .effect_head .ja {
    font-size: calc(clamp(3.2rem, 4.6vw, 4.6rem) * 0.8);
    line-height: 1.4;
}
#craftmanship .effect_head .ja .blue {
    color: #0093b7;
}
#craftmanship .effect_head .en {
    color: rgba(118, 134, 142, 0.5);
    font-family: "Kumbh Sans", serif;
    font-size: calc(clamp(2rem, 2vw, 2.4rem) * 0.8);
    font-weight: 200;
}
#craftmanship .effect .head_txt {
    font-size: 1.8rem;
    line-height: 2.25;
    margin: 3em 0 1.5em 0;
    word-break: auto-phrase;
}
@media (max-width: 1280px) {
    #craftmanship .effect .head_txt {
        font-size: 1.6rem;
    }
}
#craftmanship .effect .head_txt .head_subttl {
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    line-height: 1.4;
    display: block;
    margin-bottom: 0.5em;
}
#craftmanship .effect_content {
    display: flex;
}
@media (max-width: 1024px) {
    #craftmanship .effect_content {
        flex-wrap: wrap;
    }
}
#craftmanship .effect_content .content_img {
    margin-left: calc(50% - 50vw);
    padding-left: 2%;
}
@media (max-width: 1024px) {
    #craftmanship .effect_content .content_img {
        width: 100%;
        padding-left: 5%;
    }
}
#craftmanship .effect_content .content_img .lists {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 40px;
}
@media (max-width: 1024px) {
    #craftmanship .effect_content .content_img .lists {
        flex-direction: column;
    }
}
#craftmanship .effect_content .content_img .item:nth-child(1) {
    margin-left: auto;
    padding-left: 15%;
}
@media (max-width: 1280px) {
    #craftmanship .effect_content .content_img .item:nth-child(1) {
        width: 100%;
    }
}
#craftmanship .effect_content .content_img .item:nth-child(1) img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#craftmanship .effect_content .content_img .item:nth-child(2) {
    max-width: 420px;
    margin-right: auto;
    aspect-ratio: 420/376;
}
@media (max-width: 1280px) {
    #craftmanship .effect_content .content_img .item:nth-child(2) {
        width: 80%;
        max-width: 420px;
    }
}
#craftmanship .effect_content .content_img .item:nth-child(2) img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#craftmanship .effect_content .content_body {
    width: 100vw;
    margin-left: 5%;
    padding-top: 0;
}
@media (max-width: 1280px) {
    #craftmanship .effect_content .content_body {
        width: 100%;
    }
}
@media (max-width: 1024px) {
    #craftmanship .effect_content .content_body {
        margin-left: 0;
        margin-top: 8%;
    }
}
#craftmanship .effect_content .content_body .lists {
    display: flex;
    flex-wrap: wrap;
    gap: 80px;
}
@media (max-width: 1280px) {
    #craftmanship .effect_content .content_body .lists {
        gap: 40px;
    }
}
#craftmanship .effect_content .content_body .item {
    position: relative;
    width: 100%;
}
#craftmanship .effect_content .content_body .item:before {
    content: "";
    border-top: solid 1px #545150;
    display: block;
    width: 65%;
    position: absolute;
    right: 20%;
    top: 0;
}
#craftmanship .effect_content .content_body .item:after {
    position: absolute;
    top: 0;
    right: 0;
    color: rgba(0, 147, 183, 0.1);
    font-family: "Poppins", serif;
    font-size: clamp(5.5rem, 9vw, 13rem);
    font-weight: 100;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
#craftmanship .effect_content .content_body .item:nth-child(1):after {
    content: "01";
    letter-spacing: 10px;
}
#craftmanship .effect_content .content_body .item:nth-child(2):after {
    content: "02";
}
#craftmanship .effect_content .content_body .item:nth-child(3):after {
    content: "03";
}
#craftmanship .effect_content .content_body .item:nth-child(4):after {
    content: "04";
}
#craftmanship .effect_content .content_body .item:nth-child(5):after {
    content: "05";
}
#craftmanship .effect_content .content_body .item_ttl {
    display: flex;
    flex-direction: column;
}
#craftmanship .effect_content .content_body .item_ttl .ja {
    padding-top: 1.5em;
    font-size: clamp(2.8rem, 3.6vw, 3.6rem);
    line-height: 1.4;
    color: #0093b7;
}
#craftmanship .effect_content .content_body .item_ttl .en {
    color: rgba(118, 134, 142, 0.5);
    font-family: "Kumbh Sans", serif;
    font-size: calc(clamp(2rem, 2vw, 2.4rem) * 0.8);
    font-weight: 200;
}
#craftmanship .effect_content .content_body .item_content {
    margin-top: 2.5em;
    border-left: solid 2px #0093b7;
    padding-left: 2em;
}
#craftmanship .effect_content .content_body .item_subttl {
    font-size: clamp(2rem, 2vw, 2.4rem);
}
#craftmanship .effect_content .content_body .item_txt {
    margin-top: 1em;
}
#craftmanship .effect_content .content_body .item_voice {
    margin-top: 2em;
    background-color: rgba(0, 147, 183, 0.1);
    padding: 1.5em 1em;
}
#craftmanship .effect_content .content_body .item_voice .voice_ttl {
    display: flex;
    align-items: center;
    margin-top: -2.5em;
}
#craftmanship .effect_content .content_body .item_voice .voice_ttl .en {
    color: #0093b7;
    font-size: 2rem;
}
#craftmanship .effect_content .content_body .item_voice .voice_ttl .ja {
    padding-left: 0.5em;
    font-size: 1.8rem;
}
#craftmanship .effect_content .content_body .item_voice .voice_txt {
    font-size: 1.6rem;
    padding-top: 0.5em;
    display: flex;
    align-items: center;
    position: relative;
    padding-left: 1em;
}
#craftmanship .effect_content .content_body .item_voice .voice_txt:before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    background-color: #0093b7;
    border-radius: 50%;
    margin-right: 0.35em;
    position: absolute;
    top: 1.25em;
    left: 0;
}
#craftmanship .effect_content .content_body .item_lists {
    display: flex;
    flex-direction: column;
    margin-top: 1em;
}
#craftmanship .effect_content .content_body .item .list {
    width: 90%;
    display: flex;
    flex-wrap: wrap-reverse;
    padding: 1em 0;
}
@media (max-width: 840px) {
    #craftmanship .effect_content .content_body .item .list {
        width: 100%;
    }
}
#craftmanship .effect_content .content_body .item .list:nth-child(even) {
    margin-left: auto;
}
#craftmanship .effect_content .content_body .item .list .list_body {
    width: 65%;
}
@media (max-width: 840px) {
    #craftmanship .effect_content .content_body .item .list .list_body {
        width: 100%;
        padding-top: 1em;
    }
}
#craftmanship .effect_content .content_body .item .list .list_body .ttl {
    font-size: 2rem;
}
#craftmanship .effect_content .content_body .item .list .list_body .txt {
    margin-top: 1em;
}
#craftmanship .effect_content .content_body .item .list .list_img {
    padding-left: 1em;
    width: 35%;
}
@media (max-width: 840px) {
    #craftmanship .effect_content .content_body .item .list .list_img {
        width: 100%;
        padding-left: 0;
    }
}

#performance .cmn_feature_head,
#craftmanship .cmn_feature_head {
    display: flex;
    flex-direction: column;
}
#performance .cmn_feature_head .ja,
#performance .cmn_feature_head .en,
#craftmanship .cmn_feature_head .ja,
#craftmanship .cmn_feature_head .en {
    opacity: 0;
    translate: 0 15px;
    transition: translate 1s, opacity 1s;
}
#performance .cmn_feature_head .ja.-active,
#performance .cmn_feature_head .en.-active,
#craftmanship .cmn_feature_head .ja.-active,
#craftmanship .cmn_feature_head .en.-active {
    translate: 0 0;
    opacity: 1;
}
#performance .cmn_feature_head .ja,
#craftmanship .cmn_feature_head .ja {
    font-size: calc(clamp(3.2rem, 4.6vw, 4.6rem) * 0.8);
    line-height: 1.4;
}
#performance .cmn_feature_head .ja .blue,
#craftmanship .cmn_feature_head .ja .blue {
    color: #0093b7;
}
#performance .cmn_feature_head .en,
#craftmanship .cmn_feature_head .en {
    color: rgba(118, 134, 142, 0.5);
    font-family: "Kumbh Sans", serif;
    font-size: calc(clamp(2rem, 2vw, 2.4rem) * 0.8);
    font-weight: 200;
}

/*==================================================================================================
	Concept
==================================================================================================*/
#concept .theme {
    padding-bottom: 0;
}
#concept .theme_copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
#concept .theme_copy .main {
    font-size: clamp(3.2rem, 4.6vw, 4.6rem);
    color: #0093b7;
    letter-spacing: 0.05em;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    line-height: 1.4;
}
#concept .theme_copy .main span {
    font: inherit;
}
#concept .theme_copy .sub {
    font-size: 2rem;
    color: #76848C;
    letter-spacing: 0.05em;
    margin-top: 1em;
}
@media (max-width: 840px) {
    #concept .theme_copy .sub {
        font-size: 1.8rem;
    }
}
#concept .theme_list {
    display: flex;
    flex-direction: column;
    margin-top: clamp(50px, 8vw, 80px);
    gap: calc(clamp(50px, 8vw, 80px) * 1.5) 10%;
}
@media (max-width: 1280px) {
    #concept .theme_list {
        gap: calc(clamp(50px, 8vw, 80px) * 1) 0;
    }
}
#concept .theme_item {
    display: flex;
    gap: 0 7.5%;
    position: relative;
}
#concept .theme_item:nth-child(odd) .theme_img {
    margin-right: calc(50% - 50vw);
}
@media (max-width: 1280px) {
    #concept .theme_item:nth-child(odd) .theme_img {
        margin-right: 0;
        margin-left: calc(50% - 50vw);
    }
}
#concept .theme_item:nth-child(odd) .theme_img .fixed {
    right: 0;
}
@media (max-width: 1280px) {
    #concept .theme_item:nth-child(odd) .theme_img .fixed {
        right: auto;
        left: 0;
    }
}
#concept .theme_item:nth-child(odd) .theme_num {
    left: 0;
}
#concept .theme_item:nth-child(even) {
    flex-direction: row-reverse;
}
@media (max-width: 1280px) {
    #concept .theme_item:nth-child(even) {
        flex-direction: column;
        margin-left: auto;
    }
}
#concept .theme_item:nth-child(even) .theme_img {
    margin-left: calc(50% - 50vw);
}
@media (max-width: 1280px) {
    #concept .theme_item:nth-child(even) .theme_img {
        margin-left: 0;
        margin-right: calc(50% - 50vw);
    }
}
#concept .theme_item:nth-child(even) .theme_img .fixed {
    left: 0;
}
@media (max-width: 1280px) {
    #concept .theme_item:nth-child(even) .theme_img .fixed {
        right: 0;
        left: auto;
    }
}
#concept .theme_item:nth-child(even) .theme_num {
    right: 0;
}
#concept .theme_item:nth-child(1) .theme_img .fixed {
    background-image: url(../img/concept/theme_01.jpg);
}
#concept .theme_item:nth-child(2) .theme_img .fixed {
    background-image: url(../img/concept/theme_03.jpg);
}
#concept .theme_item:nth-child(3) .theme_img .fixed {
    background-image: url(../img/concept/theme_04.jpg);
}
#concept .theme_item:nth-child(4) .theme_img .fixed {
    background-image: url(../img/concept/theme_04.jpg);
}
@media (max-width: 1280px) {
    #concept .theme_item {
        flex-direction: column;
        width: 80%;
    }
}
@media (max-width: 540px) {
    #concept .theme_item {
        width: 90%;
    }
}
#concept .theme_ttl {
    margin-top: 15%;
    position: relative;
}
@media (max-width: 1280px) {
    #concept .theme_ttl {
        margin-top: 0;
        margin-bottom: 1em;
    }
}
#concept .theme_ttl .tag {
    font-size: calc(clamp(2rem, 2vw, 2.4rem) * 0.8);
    background-color: rgba(118, 132, 140, 0.75);
    color: #fff;
    padding: 0.15em 0.5em;
}
#concept .theme_ttl .ttl {
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    display: flex;
    flex-wrap: wrap;
    line-height: 1.4;
    white-space: nowrap;
    margin-top: -0.15em;
}
@media (max-width: 1280px) {
    #concept .theme_ttl .ttl {
        white-space: normal;
        flex-wrap: wrap;
    }
}
#concept .theme_ttl .ttl .blue {
    color: #0093b7;
    line-height: 1.4;
}
#concept .theme_ttl .num {
    position: absolute;
    top: -1.25em;
    left: -0.25em;
    font-size: calc(clamp(4.6rem, 8vw, 10rem) * 0.8);
    color: #0093b7;
    line-height: 1.4;
    white-space: nowrap;
    font-family: "Poppins", serif;
    font-weight: 100;
    opacity: 0.35;
}
#concept .theme_content {
    width: 100%;
    border-bottom: solid 1px #76848C;
    padding-bottom: 2.5em;
}
@media (max-width: 1280px) {
    #concept .theme_content {
        width: 100%;
    }
}
#concept .theme_img {
    position: relative;
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    width: auto;
    height: auto;
    aspect-ratio: 2.5/1;
    margin: 0 0 1.5em;
}
@media (max-width: 1280px) {
    #concept .theme_img {
        aspect-ratio: 16/9;
    }
}
@media (max-width: 540px) {
    #concept .theme_img {
        aspect-ratio: 3/4;
    }
}
#concept .theme_img .fixed {
    position: fixed;
    top: 50%;
    translate: 0 -50%;
    width: 70%;
    height: 100vh;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
@media (max-width: 1280px) {
    #concept .theme_img .fixed {
        width: 80%;
    }
}
@media (max-width: 540px) {
    #concept .theme_img .fixed {
        width: 90%;
    }
}
#concept .theme_num {
    position: absolute;
    top: 0;
    font-size: clamp(2rem, 2vw, 2.4rem);
    color: #0093b7;
    line-height: 1.4;
    white-space: nowrap;
    font-family: "Poppins", serif;
    font-weight: 200;
}
@media (max-width: 1280px) {
    #concept .theme_num {
        position: relative;
        font-size: 2rem;
        margin-bottom: 1.5em;
    }
}
#concept .theme_txt .blue {
    color: #0093b7;
    font-size: 1.25em;
}
#concept .feature {
    background-color: #fff;
    padding: clamp(50px, 8vw, 80px) 5% clamp(80px, 16vw, 200px);
}
#concept .feature_morebtn {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    margin: 0 auto 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: calc(clamp(50px, 8vw, 80px) * 0.5) 1.5em calc(clamp(50px, 8vw, 80px) * 0.5) 2.5em;
    color: #fff;
    background-color: rgba(0, 147, 183, 0.8);
    transition: background-color 0.5s;
}
@media (max-width: 540px) {
    #concept .feature_morebtn {
        font-size: 6vw;
    }
}
#concept .feature_morebtn::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 1em;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #fff;
    border: 1px solid #fff;
    transition: scale 0.5s, background-color 0.5s;
}
#concept .feature_morebtn::after {
    content: "";
    position: relative;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    margin-left: 0.5em;
    display: inline-block;
    background-color: #fff;
    -webkit-mask-image: url(../img/cmn/btn_arrow.svg);
    mask-image: url(../img/cmn/btn_arrow.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    transition: translate 0.5s, right 0.5s;
}
#concept .feature_morebtn > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    line-height: 1.35;
}
#concept .feature_morebtn > div div {
    line-height: 1.35;
}
#concept .feature_morebtn span {
    font-family: "Zen Kaku Gothic New", "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Sans-Serif;
    font-size: clamp(2rem, 2vw, 2.4rem);
    color: #fff;
    position: relative;
    z-index: 10;
    line-height: 1.35;
    transition: color 0.5s;
}
@media (max-width: 540px) {
    #concept .feature_morebtn span {
        font-size: 6vw;
    }
}
#concept .feature_morebtn:hover {
    background-color: #0093b7;
}
#concept .feature_morebtn:hover::before {
    scale: 1.25;
    background-color: transparent;
}
#concept .feature_morebtn:hover::after {
    translate: 0.5em 0;
}

/*==================================================================================================
	Lineup
==================================================================================================*/
#original .about_head,
#trettio .about_head {
    max-width: 700px;
    margin: 0 auto;
    display: none;
}
#original .about_head .head_lists,
#trettio .about_head .head_lists {
    display: flex;
    flex-wrap: wrap;
    gap: 1em 5%;
}
#original .about_head .head_item,
#trettio .about_head .head_item {
    width: 47.5%;
    position: relative;
    transition: scale 0.5s;
}
#original .about_head .head_item::before,
#trettio .about_head .head_item::before {
    position: absolute;
    content: "";
    left: 50%;
    translate: -50% 0;
    bottom: -1em;
    width: 0;
    height: 2px;
    background-color: #0093b7;
    transition: width 0.5s;
}
#original .about_head .head_item.-active,
#trettio .about_head .head_item.-active {
    scale: 1.075;
}
#original .about_head .head_item.-active::before,
#trettio .about_head .head_item.-active::before {
    width: 40%;
}
#original .about_head .head_item:hover,
#trettio .about_head .head_item:hover {
    scale: 1.075;
}
#original .about_head .head_item:hover::before,
#trettio .about_head .head_item:hover::before {
    width: 40%;
}
#original .about_head .head_link,
#trettio .about_head .head_link {
    padding: 1em 5% 0.75em;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
    position: relative;
}
#original .about_head .head_link .type,
#trettio .about_head .head_link .type {
    font-size: 2rem;
    line-height: 1.4;
}
@media (max-width: 840px) {
    #original .about_head .head_link .type,
    #trettio .about_head .head_link .type {
        font-size: 1.8rem;
    }
}
#original .about_head .head_link .img,
#trettio .about_head .head_link .img {
    width: 100%;
}
#original .about_content,
#trettio .about_content {
    display: flex;
}
@media (max-width: 1024px) {
    #original .about_content,
    #trettio .about_content {
        flex-wrap: wrap;
    }
}
#original .about_content .content_body,
#trettio .about_content .content_body {
    width: 55%;
    position: relative;
}
@media (max-width: 1280px) {
    #original .about_content .content_body,
    #trettio .about_content .content_body {
        width: 100%;
    }
}
#original .about_content .content_body .body_ttl,
#trettio .about_content .content_body .body_ttl {
    padding-top: 2em;
    margin-bottom: 7.5%;
    position: relative;
    width: 540px;
    max-width: 90%;
}
#original .about_content .content_body .body_txt,
#trettio .about_content .content_body .body_txt {
    margin-top: 2.5em;
    line-height: 2.2;
}
#original .about_content .content_body .body_recommend,
#trettio .about_content .content_body .body_recommend {
    width: 100%;
    margin-top: 10%;
    background-color: rgba(0, 147, 183, 0.1);
    padding: 2em;
    position: relative;
}
@media (max-width: 840px) {
    #original .about_content .content_body .body_recommend,
    #trettio .about_content .content_body .body_recommend {
        width: 100%;
    }
}
#original .about_content .content_body .body_recommend .ttl,
#trettio .about_content .content_body .body_recommend .ttl {
    display: inline-block;
    color: #0093b7;
    font-size: clamp(2rem, 2vw, 2.4rem);
    position: absolute;
    left: 1em;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 0;
}
#original .about_content .content_body .body_recommend .lists,
#trettio .about_content .content_body .body_recommend .lists {
    display: flex;
    flex-direction: column;
}
#original .about_content .content_body .body_recommend .item,
#trettio .about_content .content_body .body_recommend .item {
    border-bottom: solid 1px #76848C;
    padding: 0.7em 0 0.7em 0.5em;
    display: flex;
    align-items: center;
}
#original .about_content .content_body .body_recommend .item:before,
#trettio .about_content .content_body .body_recommend .item:before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    background-color: #0093b7;
    border-radius: 50%;
    margin-right: 0.35em;
}
#original .about_content .content_body .body_deco,
#trettio .about_content .content_body .body_deco {
    font-size: clamp(4.6rem, 8vw, 10rem);
    bottom: 2.5em;
    left: 1em;
    line-height: 1;
    position: absolute;
    display: flex;
}
#original .about_content .content_body .body_deco span,
#trettio .about_content .content_body .body_deco span {
    display: inline-block;
    font-family: "Kumbh Sans", serif;
    font-weight: 300;
    font-size: calc(clamp(4.6rem, 8vw, 10rem) * 1.8);
    color: transparent;
    text-stroke: 1px #0093b7;
    -webkit-text-stroke: 1px #0093b7;
    line-height: 1;
    opacity: 0;
    translate: 0 -0.5em;
    transition: translate 0.5s, opacity 1s;
}
@media (max-width: 840px) {
    #original .about_content .content_body .body_deco span,
    #trettio .about_content .content_body .body_deco span {
        font-size: 15vw;
    }
}
#original .about_content .content_body .body_deco span.-active,
#trettio .about_content .content_body .body_deco span.-active {
    opacity: 0.25;
    translate: 0 0;
}
#original .about_content .content_body .body_img,
#trettio .about_content .content_body .body_img {
    width: 80%;
    margin-left: calc(50% - 50vw);
}
@media (min-width: 1025px) {
    #original .about_content .content_body .body_img,
    #trettio .about_content .content_body .body_img {
        display: none;
    }
}
@media (max-width: 540px) {
    #original .about_content .content_body .body_img,
    #trettio .about_content .content_body .body_img {
        width: 100%;
    }
}
#original .about_content .content_body .body_img img,
#trettio .about_content .content_body .body_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    aspect-ratio: 3/4;
}
#original .about_content .content_body .body_img .lists,
#trettio .about_content .content_body .body_img .lists {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
#original .about_content .content_body .body_img .lists .item:nth-child(1),
#trettio .about_content .content_body .body_img .lists .item:nth-child(1) {
    width: 75%;
    aspect-ratio: 600/655;
    margin-left: auto;
}
#original .about_content .content_body .body_img .lists .item:nth-child(2),
#trettio .about_content .content_body .body_img .lists .item:nth-child(2) {
    width: 64%;
    aspect-ratio: 533/477;
    margin-right: 0;
}
#original .about_content .content_body .body_img .lists .item img,
#trettio .about_content .content_body .body_img .lists .item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#original .about_content .content_img,
#trettio .about_content .content_img {
    margin-right: calc(50% - 50vw);
    padding-left: 5%;
    padding-right: 2%;
}
@media (max-width: 1024px) {
    #original .about_content .content_img,
    #trettio .about_content .content_img {
        display: none;
    }
}
#original .about_content .content_img .lists,
#trettio .about_content .content_img .lists {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
#original .about_content .content_img .lists .item:nth-child(1),
#trettio .about_content .content_img .lists .item:nth-child(1) {
    width: 75%;
    aspect-ratio: 600/655;
    margin-left: auto;
}
#original .about_content .content_img .lists .item:nth-child(2),
#trettio .about_content .content_img .lists .item:nth-child(2) {
    width: 64%;
    aspect-ratio: 533/477;
    margin-right: 0;
}
#original .about_content .content_img .lists .item img,
#trettio .about_content .content_img .lists .item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#original #original_content .content_body,
#trettio #original_content .content_body {
    width: 70%;
}
@media (max-width: 1280px) {
    #original #original_content .content_body,
    #trettio #original_content .content_body {
        width: 90%;
    }
}
@media (max-width: 1024px) {
    #original #original_content .content_body,
    #trettio #original_content .content_body {
        width: 100%;
    }
}
#original #original_content .body_img,
#trettio #original_content .body_img {
    width: 100%;
}
#original #original_content .body_ttl .sub,
#trettio #original_content .body_ttl .sub {
    left: inherit;
    left: 1em;
}
@media (max-width: 1600px) {
    #original #original_content .body_ttl .sub,
    #trettio #original_content .body_ttl .sub {
        right: -160px;
    }
}
@media (max-width: 1024px) {
    #original #original_content .body_ttl .sub,
    #trettio #original_content .body_ttl .sub {
        right: 0;
    }
}
#original #original_content .body_txt .body_subttl,
#trettio #original_content .body_txt .body_subttl {
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    display: block;
    margin-bottom: 0.5em;
    line-height: 1.75;
}
#original .point,
#trettio .point {
    padding-top: 0;
}
#original .point_content,
#trettio .point_content {
    display: flex;
    align-items: flex-start;
}
@media (max-width: 1280px) {
    #original .point_content,
    #trettio .point_content {
        flex-wrap: wrap;
    }
}
#original .point_img,
#trettio .point_img {
    margin-left: calc(50% - 50vw);
    aspect-ratio: 1/1;
}
@media (max-width: 1280px) {
    #original .point_img,
    #trettio .point_img {
        margin-top: 0;
        max-width: 760px;
    }
}
#original .point_img img,
#trettio .point_img img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}
#original .point_body,
#trettio .point_body {
    width: 90%;
    padding-left: 10%;
}
@media (max-width: 1280px) {
    #original .point_body,
    #trettio .point_body {
        margin-top: 10%;
        width: 100%;
        padding-left: 0;
    }
}
#original .point_subttl,
#trettio .point_subttl {
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    display: block;
    margin-bottom: 2.5em;
    line-height: 1.75;
}
#original .point_lists,
#trettio .point_lists {
    display: flex;
    flex-wrap: wrap;
    gap: 80px;
}
@media (max-width: 1280px) {
    #original .point_lists,
    #trettio .point_lists {
        gap: 40px;
    }
}
#original .point .item,
#trettio .point .item {
    position: relative;
    width: 100%;
}
#original .point .item:before,
#trettio .point .item:before {
    content: "";
    border-top: solid 1px #545150;
    display: block;
    width: 65%;
    position: absolute;
    right: 20%;
    top: 0;
}
#original .point .item:after,
#trettio .point .item:after {
    position: absolute;
    top: 0;
    right: 0;
    color: rgba(0, 147, 183, 0.1);
    font-family: "Poppins", serif;
    font-size: clamp(5.5rem, 9vw, 13rem);
    font-weight: 100;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
#original .point .item:nth-child(1):after,
#trettio .point .item:nth-child(1):after {
    content: "01";
    letter-spacing: 10px;
}
#original .point .item:nth-child(2):after,
#trettio .point .item:nth-child(2):after {
    content: "02";
}
#original .point .item:nth-child(3):after,
#trettio .point .item:nth-child(3):after {
    content: "03";
}
#original .point .item:nth-child(4):after,
#trettio .point .item:nth-child(4):after {
    content: "04";
}
#original .point .item:nth-child(5):after,
#trettio .point .item:nth-child(5):after {
    content: "05";
}
#original .point .item_ttl,
#trettio .point .item_ttl {
    display: inline-block;
    padding-top: 1.5em;
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    line-height: 1.4;
    color: #0093b7;
}
#original .point .item_txt,
#trettio .point .item_txt {
    margin-top: 1em;
    width: 100%;
}
#original .works,
#trettio .works {
    padding-top: 0;
}
#original .works_inner,
#trettio .works_inner {
    display: flex;
    align-items: flex-start;
}
@media (max-width: 1280px) {
    #original .works_inner,
    #trettio .works_inner {
        flex-direction: column;
    }
}
#original .works_secttl,
#trettio .works_secttl {
    width: 500px;
}
@media (max-width: 1600px) {
    #original .works_secttl,
    #trettio .works_secttl {
        width: 400px;
    }
}
#original .works_lineup,
#trettio .works_lineup {
    width: calc(100% - 500px);
    flex-grow: 1;
    margin-right: calc(50% - 50vw);
}
@media (max-width: 1280px) {
    #original .works_lineup,
    #trettio .works_lineup {
        width: 106%;
    }
}
#original .works_lineup .works_slider,
#trettio .works_lineup .works_slider {
    width: 100%;
}
@media (max-width: 1280px) {
    #original .works_lineup .works_slider,
    #trettio .works_lineup .works_slider {
        width: 100%;
        padding-left: 0;
    }
}
#original .works_lineup .works_layout,
#trettio .works_lineup .works_layout {
    position: relative;
    padding-left: 100px;
}
@media (max-width: 1024px) {
    #original .works_lineup .works_layout,
    #trettio .works_lineup .works_layout {
        padding-left: 80px;
    }
}
@media (max-width: 540px) {
    #original .works_lineup .works_layout,
    #trettio .works_lineup .works_layout {
        padding-left: 0;
        padding-top: 50px;
    }
}
#original .works_lineup .works_list,
#trettio .works_lineup .works_list {
    color: #0093b7;
    padding-top: 1.25em;
}
#original .works_lineup .works_item,
#trettio .works_lineup .works_item {
    width: 35vw;
    padding-right: min(50px, 5%);
}
@media (max-width: 1280px) {
    #original .works_lineup .works_item,
    #trettio .works_lineup .works_item {
        width: 50vw;
    }
}
@media (max-width: 540px) {
    #original .works_lineup .works_item,
    #trettio .works_lineup .works_item {
        width: 80vw;
    }
}
#original .works_lineup .works_link,
#trettio .works_lineup .works_link {
    position: relative;
}
#original .works_lineup .works_link:hover .voice_img img,
#trettio .works_lineup .works_link:hover .voice_img img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}
#original .works_lineup .works_name,
#trettio .works_lineup .works_name {
    position: absolute;
    background-color: #76848C;
    padding: 0em 1em;
    left: 1em;
    top: -0.75em;
    z-index: 10;
    display: inline-flex;
    flex-wrap: wrap;
}
#original .works_lineup .works_name span,
#trettio .works_lineup .works_name span {
    padding-right: 0.25em;
    font-size: 1.25em;
}
#original .works_lineup .works_name span:not(:first-child):before,
#trettio .works_lineup .works_name span:not(:first-child):before {
    content: "/";
    padding: 0 0.25em;
}
#original .works_lineup .works_img,
#trettio .works_lineup .works_img {
    overflow: hidden;
}
#original .works_lineup .works_img img,
#trettio .works_lineup .works_img img {
    aspect-ratio: 4/3;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#original .works_lineup .works_copy,
#trettio .works_lineup .works_copy {
    position: absolute;
    background-color: #fff;
    z-index: 10;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 90%;
    right: 0;
    bottom: 0;
    color: #333;
    font-size: 2rem;
    line-height: 1.4;
    padding: 0.25em 1em;
}
@media (max-width: 840px) {
    #original .works_lineup .works_copy,
    #trettio .works_lineup .works_copy {
        font-size: 1.8rem;
    }
}
#original .works_lineup .works_btn,
#trettio .works_lineup .works_btn {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50px;
    display: flex;
    flex-direction: column;
}
@media (max-width: 540px) {
    #original .works_lineup .works_btn,
    #trettio .works_lineup .works_btn {
        width: 70px;
        flex-direction: row-reverse;
        bottom: auto;
        top: -10px;
    }
}
#original .works_lineup .works_btn .btn,
#trettio .works_lineup .works_btn .btn {
    width: 50px;
    height: 50px;
    border-top: 1px solid #0093b7;
    border-bottom: 1px solid #0093b7;
}
@media (max-width: 540px) {
    #original .works_lineup .works_btn .btn,
    #trettio .works_lineup .works_btn .btn {
        width: 35px;
        height: 35px;
        border-top: none;
        border-bottom: none;
        border-left: 1px solid #0093b7;
        border-right: 1px solid #0093b7;
    }
}
#original .works_lineup .works_btn .btn:nth-child(1),
#trettio .works_lineup .works_btn .btn:nth-child(1) {
    border-bottom: none;
}
@media (max-width: 540px) {
    #original .works_lineup .works_btn .btn:nth-child(1),
    #trettio .works_lineup .works_btn .btn:nth-child(1) {
        border-left: none;
    }
}
#original .works_lineup .works_btn .btn .next,
#original .works_lineup .works_btn .btn .prev,
#trettio .works_lineup .works_btn .btn .next,
#trettio .works_lineup .works_btn .btn .prev {
    width: 100%;
    height: 100%;
    border: none;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center center;
    mask-position: center center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: #0093b7;
}
#original .works_lineup .works_btn .btn .next,
#trettio .works_lineup .works_btn .btn .next {
    -webkit-mask-image: url(../img/cmn/slider_next.svg);
    mask-image: url(../img/cmn/slider_next.svg);
}
#original .works_lineup .works_btn .btn .prev,
#trettio .works_lineup .works_btn .btn .prev {
    -webkit-mask-image: url(../img/cmn/slider_prev.svg);
    mask-image: url(../img/cmn/slider_prev.svg);
}
#original .works_morebtn,
#trettio .works_morebtn {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    margin-top: 2.5em;
    margin-left: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border: 1px solid #ccc;
    padding: 0.25em 1.5em;
}
#original .works_morebtn::before,
#trettio .works_morebtn::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 1em;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #0093b7;
    border: 1px solid #0093b7;
    transition: scale 0.5s, background-color 0.5s;
}
#original .works_morebtn::after,
#trettio .works_morebtn::after {
    content: "";
    position: relative;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    margin-left: 0.5em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: translate 0.5s;
}
#original .works_morebtn:hover::before,
#trettio .works_morebtn:hover::before {
    scale: 1.25;
    background-color: transparent;
}
#original .works_morebtn:hover::after,
#trettio .works_morebtn:hover::after {
    translate: 0.5em 0;
}
#original .works_morebtn:hover span,
#trettio .works_morebtn:hover span {
    color: #0093b7;
}
#original .works_morebtn span,
#trettio .works_morebtn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    position: relative;
    z-index: 10;
    padding-left: 1em;
    line-height: 1.4;
    transition: color 0.5s;
}
#original .works_morebtn,
#trettio .works_morebtn {
    position: absolute;
    left: 0;
    top: 40%;
    margin-top: 0;
}
@media (max-width: 1280px) {
    #original .works_morebtn,
    #trettio .works_morebtn {
        position: relative;
        left: auto;
        top: auto;
        margin-top: 3em;
    }
}
#original .bottom,
#trettio .bottom {
    padding-top: 0;
    position: relative;
}
#original .bottom:before,
#trettio .bottom:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 60%;
    background: linear-gradient(0deg, rgba(0, 145, 181, 0.1) 0%, rgba(0, 145, 181, 0.1) 50%, #ffffff 100%);
}
#original .bottom_head,
#trettio .bottom_head {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}
#original .bottom_head .head_ttl,
#trettio .bottom_head .head_ttl {
    color: #0093b7;
    font-size: clamp(2.2rem, 3.6vw, 3.2rem);
}
#original .bottom_head .head_morebtn,
#trettio .bottom_head .head_morebtn {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    margin-top: 3em;
}
#original .bottom_head .head_morebtn::before,
#trettio .bottom_head .head_morebtn::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 0;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #0093b7;
    border: 1px solid #0093b7;
    transition: scale 0.5s, background-color 0.5s;
}
#original .bottom_head .head_morebtn::after,
#trettio .bottom_head .head_morebtn::after {
    content: "";
    position: absolute;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: right 0.5s;
    -webkit-transform: translate(100%, -50%);
    transform: translate(100%, -50%);
    top: 50%;
    right: -0.5em;
}
#original .bottom_head .head_morebtn:hover::before,
#trettio .bottom_head .head_morebtn:hover::before {
    scale: 1.25;
    background-color: transparent;
}
#original .bottom_head .head_morebtn:hover::after,
#trettio .bottom_head .head_morebtn:hover::after {
    right: -1em;
}
#original .bottom_head .head_morebtn:hover span,
#trettio .bottom_head .head_morebtn:hover span {
    color: #0093b7;
}
#original .bottom_head .head_morebtn span,
#trettio .bottom_head .head_morebtn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-weight: 200;
    position: relative;
    z-index: 10;
    padding-left: 1em;
    line-height: 1.4;
    transition: color 0.5s;
}
#original .bottom_content,
#trettio .bottom_content {
    margin-top: 8%;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
#original .bottom_content .lists,
#trettio .bottom_content .lists {
    display: flex;
    align-items: flex-start;
    gap: 30px;
}
@media (max-width: 840px) {
    #original .bottom_content .lists,
    #trettio .bottom_content .lists {
        gap: 20px;
    }
}
@media (max-width: 700px) {
    #original .bottom_content .lists,
    #trettio .bottom_content .lists {
        gap: 10px;
    }
}
#original .bottom_content .lists .item img,
#trettio .bottom_content .lists .item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: bottom;
    object-position: bottom;
}
#original .bottom_content .lists .item:nth-child(1),
#trettio .bottom_content .lists .item:nth-child(1) {
    margin-top: 2em;
    aspect-ratio: 530/550;
    max-height: 530px;
}
#original .bottom_content .lists .item:nth-child(2),
#trettio .bottom_content .lists .item:nth-child(2) {
    aspect-ratio: 545/565;
    margin-top: 4em;
}
#original .bottom_content .lists .item:nth-child(3),
#trettio .bottom_content .lists .item:nth-child(3) {
    aspect-ratio: 960/550;
}

#original .model {
    padding-top: 0;
}
#original .model#model {
    scroll-margin-top: 100px;
}
#original .model_img {
    aspect-ratio: 16/6;
    background-position: center;
    background-image: url(../img/07_data/model_pc.png);
    background-size: cover;
    background-repeat: no-repeat;
    margin-top: clamp(50px, 8vw, 80px);
    -webkit-mask-size: auto 200%;
    mask-size: auto 200%;
    margin: 0 calc(50% - 50vw);
}
#original .model_img.-active {
    -webkit-animation-duration: 2.5s;
    animation-duration: 2.5s;
}
@media (max-width: 840px) {
    #original .model_img {
        aspect-ratio: 16/15;
        background-image: url(../img/07_data/model_mb.png);
    }
}
#original .model_content {
    width: 100%;
    margin-top: clamp(50px, 8vw, 80px);
}
#original .model_lists {
    display: flex;
    flex-direction: column;
}
#original .model_lists li .item_head {
    background-color: rgba(118, 132, 140, 0.1);
    padding: 1em;
    position: relative;
    overflow: inherit;
}
#original .model_lists li .item_head:before {
    display: none;
}
#original .model_lists li .item_head:after {
    content: "";
    display: block;
    width: 10px;
    height: 5px;
    background-image: url(../img/07_data/arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 1em;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
    transition: transform 0.5s, -webkit-transform 0.5s;
}
#original .model_lists li .item_head .ja {
    font-size: calc(clamp(2rem, 2vw, 2.4rem) * 0.8);
}
#original .model_lists li .item_head .en {
    position: absolute;
    color: #0093b7;
    font-size: 2rem;
    font-weight: 200;
    font-family: "Kumbh Sans", serif;
    top: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0.5em;
    z-index: 1;
}
#original .model_lists li.uk-open .item_head {
    background-color: rgba(0, 147, 183, 0.1);
}
#original .model_lists li.uk-open .item_head:after {
    -webkit-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
}
#original .model_lists li:hover .item_head {
    background-color: rgba(0, 147, 183, 0.1);
}
#original .model_lists li .item_body {
    margin-bottom: 4em;
}
#original .model_lists li .item_body_img {
    width: 100%;
    height: 100%;
    aspect-ratio: 16/9;
    overflow: hidden;
}
#original .model_lists li .item_body_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#original .model_slider {
    display: none;
}
#original .model_value {
    margin-top: 1.5em;
}
#original .model_value .value_lists {
    display: flex;
}
#original .model_value .value_lists .item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-right: solid 1px #76848C;
    padding: 0.5em 1em;
    min-width: 105px;
}
#original .model_value .value_lists .item:first-child {
    border-left: solid 1px #76848C;
}
#original .model_value .value_lists .item .ttl {
    color: #0093b7;
    display: flex;
    align-items: center;
}
#original .model_value .value_lists .item .ttl_tip {
    background-color: inherit;
    border: none;
    display: flex;
    margin-left: 0.25em;
}
#original .model_value .value_lists .item .ttl_tip img {
    width: 18px;
    height: 18px;
}
#original .model_value .value_lists .item .value {
    font-size: calc(clamp(2rem, 2vw, 2.4rem) * 0.8);
}
#original .model_datalist {
    margin-top: 2em;
}
#original .model_datalist .datalist_lists {
    display: flex;
    flex-direction: column;
}
#original .model_datalist .datalist_lists .item {
    border-top: solid 1px #a5a5a5;
    padding: 1.25em 0.5em;
    display: flex;
}
#original .model_datalist .datalist_lists .item:last-child {
    border-bottom: solid 1px #a5a5a5;
}
#original .model_datalist .datalist_lists .item .ttl {
    width: 100px;
    color: #0093b7;
}
#original .model_datalist .datalist_lists .item .txt {
    width: calc(100% - 100px);
    padding-left: 1em;
}
#original .model_note {
    margin-top: 1.5em;
    display: block;
    color: #888;
    line-height: 1.8;
    font-size: 0.95em;
}
#original .model_link {
    padding: 1em 5% 0.75em 2.5%;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
    position: relative;
    width: 450px;
    max-width: 70%;
    margin: clamp(50px, 8vw, 80px) auto 0;
}
#original .model_link .type {
    font-size: 2rem;
    line-height: 1.4;
}
@media (max-width: 840px) {
    #original .model_link .type {
        font-size: 1.8rem;
    }
}
#original .model_link .img {
    display: flex;
    align-items: flex-end;
}
@media (max-width: 540px) {
    #original .model_link .img {
        flex-direction: column;
        align-items: flex-start;
    }
}
#original .model_link .img img {
    width: calc(100% - 4em);
}
@media (max-width: 540px) {
    #original .model_link .img img {
        width: 100%;
    }
}
#original .model_link .img span {
    translate: -2em -0.25em;
}
@media (max-width: 540px) {
    #original .model_link .img span {
        translate: 0.25em 0;
    }
}
#original .model_link::after {
    content: "";
    position: absolute;
    width: 1.5em;
    height: 1.5em;
    right: 1.25em;
    top: 50%;
    translate: 0 -50%;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: right 0.5s;
}
#original .model_link:hover::after {
    right: 0.5em;
}

@media (max-width: 1024px) {
    #trettio .about_content {
        flex-wrap: wrap-reverse;
    }
}
#trettio .about_content .content_img {
    margin-left: calc(50% - 50vw);
    margin-right: 0;
    padding-right: 5%;
    padding-left: 2%;
}
@media (max-width: 1024px) {
    #trettio .about_content .content_img {
        margin-top: 5%;
    }
}
#trettio .about_content .content_img .lists .item:nth-child(1) {
    width: 100%;
    aspect-ratio: 750/790;
    margin-right: auto;
    margin-left: 0;
}
#trettio .about_content .content_img .lists .item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#trettio .about .content_body .body_subttl {
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    display: block;
    margin-bottom: 0.5em;
    line-height: 1.75;
}
#trettio .point {
    padding-top: clamp(120px, 16vw, 300px);
}
@media (max-width: 1280px) {
    #trettio .point_content {
        flex-wrap: wrap-reverse;
    }
}
#trettio .point_img {
    margin-right: calc(50% - 50vw);
    margin-left: 0;
    aspect-ratio: 1/1;
}
@media (max-width: 1280px) {
    #trettio .point_img {
        margin-top: 0;
    }
}
#trettio .point_img img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}
#trettio .point_lists {
    width: 90%;
    padding-right: 10%;
    padding-left: 0;
}
@media (max-width: 1280px) {
    #trettio .point_lists {
        margin-top: 10%;
    }
}
@media (max-width: 840px) {
    #trettio .point_lists {
        width: 100%;
        padding-right: 5%;
    }
}
#trettio .plan {
    padding-top: 0;
}
#trettio .plan_tab .tab_lists {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px 60px;
}
#trettio .plan_tab .tab_lists .item {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    cursor: pointer;
}
#trettio .plan_tab .tab_lists .item::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 0;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #928985;
    border: 1px solid #928985;
    transition: scale 0.5s, background-color 0.5s;
}
#trettio .plan_tab .tab_lists .item:not(.act):hover::before {
    background-color: #0093b7;
    border: 1px solid #0093b7;
    scale: 1.25;
    background-color: transparent;
}
#trettio .plan_tab .tab_lists .item:not(.act):hover span {
    color: #0093b7;
}
#trettio .plan_tab .tab_lists .item span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    position: relative;
    z-index: 10;
    padding-left: 1em;
    line-height: 1.4;
    transition: color 0.5s;
    color: #928985;
}
#trettio .plan_tab .tab_lists .item span > span {
    font-family: "Zen Kaku Gothic New", "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Sans-Serif;
    padding-left: 0;
    font-size: calc(clamp(2rem, 2vw, 2.4rem) * 0.9);
}
#trettio .plan_tab .tab_lists .item.act {
    cursor: default;
}
#trettio .plan_tab .tab_lists .item.act:before {
    background-color: #0093b7;
    border: 1px solid #0093b7;
}
#trettio .plan_tab .tab_lists .item.act:after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #1a1a1a;
    position: absolute;
    bottom: 0;
    left: 0;
}
#trettio .plan_tab .tab_lists .item.act span {
    color: #1a1a1a;
}
#trettio .plan_content {
    margin-top: 5%;
}
#trettio .plan_content .list {
    display: none;
}
#trettio .plan_content .list.act {
    display: block;
    background-color: #f1f2f3;
    padding: clamp(20px, 6vw, 60px) 0 150px 0;
    max-width: 1280px;
    margin: 5em auto;
    position: relative;
}
#trettio .plan_content .content_ttl {
    margin-left: -10%;
    display: flex;
    flex-direction: column;
    padding: 0 5%;
}
#trettio .plan_content .content_ttl .en {
    color: #0093b7;
    font-family: "Kumbh Sans", serif;
    font-size: clamp(3.2rem, 4.6vw, 4.6rem);
    font-weight: 200;
    line-height: 1;
}
#trettio .plan_content .content_ttl .en > span {
    font-family: "Zen Kaku Gothic New", "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Sans-Serif;
    padding-left: 0;
    font-weight: 200;
}
#trettio .plan_content .content_head {
    display: flex;
    align-items: center;
    margin-top: 5%;
    padding: 0 5%;
}
@media (max-width: 1280px) {
    #trettio .plan_content .content_head {
        flex-wrap: wrap;
    }
}
#trettio .plan_content .content_head .head_img {
    margin-left: -10%;
    aspect-ratio: 3/2;
}
#trettio .plan_content .content_head .head_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#trettio .plan_content .content_head .head_body {
    padding-left: 5%;
    width: 55%;
}
@media (max-width: 1280px) {
    #trettio .plan_content .content_head .head_body {
        width: 100%;
        margin-top: 2em;
        padding-left: 0;
    }
}
#trettio .plan_content .content_head .head_body .ttl {
    color: #0093b7;
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    line-height: 1.5;
}
#trettio .plan_content .content_head .head_body .txt {
    margin-top: 1em;
    line-height: 2.2;
}
@media (max-width: 1280px) {
    #trettio .plan_content .content_head.-even {
        flex-wrap: wrap-reverse;
    }
}
#trettio .plan_content .content_head.-even .head_img {
    margin-right: calc(50% - 50vw);
    margin-left: 0;
}
#trettio .plan_content .content_head.-even .head_body {
    padding-left: 0;
    width: 54%;
    margin-right: 5%;
}
@media (max-width: 1280px) {
    #trettio .plan_content .content_head.-even .head_body {
        width: 100%;
        margin-right: 0;
    }
}
#trettio .plan_content .content_img {
    margin-top: 8%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    aspect-ratio: 3/1;
}
#trettio .plan_content .content_img.-alku {
    background-image: url(../img/09_trettio/alku_img02.jpg);
}
#trettio .plan_content .content_img.-grad {
    background-image: url(../img/09_trettio/grad_img_02.jpg);
}
#trettio .plan_content .content_img.-valo {
    background-image: url(../img/09_trettio/valo_img_02.jpg);
}
#trettio .plan_content .content_img.-hiraya {
    background-image: url(../img/09_trettio/hiraya_img_02.jpg);
}
#trettio .plan_content .content_body {
    max-width: calc(1024px + 10%);
    margin: 0 auto;
    padding: 0 5%;
}
#trettio .plan_content .content_body .content_txt {
    margin-top: 8%;
    line-height: 2.2;
}
#trettio .plan_content .content_body .body_lists {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 8%;
}
#trettio .plan_content .content_body .body_lists .item {
    width: calc((100% - 20px) / 2);
    aspect-ratio: 3/2;
}
#trettio .plan_content .content_body .body_lists .item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#trettio .plan_content .content_tab {
    position: absolute;
    bottom: 3%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    left: 50%;
    width: 100%;
    max-width: 1024px;
    padding: 0 5%;
}
#trettio .plan_content .content_tab .tab_lists {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px 40px;
}
#trettio .plan_content .content_tab .tab_lists .item {
    position: relative;
    display: flex;
    align-items: center;
    transition: none;
    cursor: pointer;
}
#trettio .plan_content .content_tab .tab_lists .item::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 0;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #928985;
    border: 1px solid #928985;
    transition: scale 0.5s, background-color 0.5s;
}
#trettio .plan_content .content_tab .tab_lists .item:not(.act):hover::before {
    background-color: #0093b7;
    border: 1px solid #0093b7;
    scale: 1.25;
    background-color: transparent;
}
#trettio .plan_content .content_tab .tab_lists .item:not(.act):hover span {
    color: #0093b7;
}
#trettio .plan_content .content_tab .tab_lists .item span {
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    position: relative;
    z-index: 10;
    padding-left: 1em;
    line-height: 1.4;
    transition: color 0.5s;
    color: #928985;
}
#trettio .plan_content .content_tab .tab_lists .item span > span {
    font-family: "Zen Kaku Gothic New", "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Sans-Serif;
    padding-left: 0;
}
#trettio .plan_content .content_tab .tab_lists .item.act {
    cursor: default;
}
#trettio .plan_content .content_tab .tab_lists .item.act:before {
    background-color: #0093b7;
    border: 1px solid #0093b7;
}
#trettio .plan_content .content_tab .tab_lists .item.act:after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #1a1a1a;
    position: absolute;
    bottom: 0;
    left: 0;
}
#trettio .plan_content .content_tab .tab_lists .item.act span {
    color: #1a1a1a;
}
#trettio .visit {
    padding: clamp(50px, 8vw, 80px) 5%;
    background-color: #fafafa;
}
#trettio .visit_secttl {
    text-align: center;
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    line-height: 1.4;
    margin-bottom: 1em;
}
#trettio .visit_txt {
    text-align: center;
}
#trettio .visit_list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 2.5%;
    margin-top: 2em;
}
#trettio .visit_item {
    width: 31.6666666667%;
}
@media (max-width: 840px) {
    #trettio .visit_item {
        width: 48.75%;
    }
}
@media (max-width: 540px) {
    #trettio .visit_item {
        width: 100%;
    }
}
#trettio .visit_link:hover {
    opacity: 0.7;
}
#trettio .bottom_content .lists .item:nth-child(1) {
    margin-top: 2em;
    aspect-ratio: 400/550;
    max-height: inherit;
    max-width: 400px;
}
#trettio .bottom_content .lists .item:nth-child(2) {
    aspect-ratio: 530/550;
    margin-top: 0;
}
#trettio .bottom_content .lists .item:nth-child(3) {
    aspect-ratio: 545/565;
    margin-top: 3em;
    max-width: 545px;
}
#trettio .bottom_content .lists .item:nth-child(4) {
    aspect-ratio: 370/565;
    max-width: 370px;
}

#reform .about_content {
    margin-top: 3.5%;
    display: flex;
    flex-direction: row-reverse;
}
@media (max-width: 1024px) {
    #reform .about_content {
        flex-direction: column;
    }
}
#reform .about_content .content_body {
    width: 55%;
    position: relative;
}
@media (max-width: 1280px) {
    #reform .about_content .content_body {
        width: 100%;
    }
}
#reform .about_content .content_body .body_copy {
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    display: block;
    margin-bottom: 0.5em;
    line-height: 1.75;
}
@media (max-width: 1024px) {
    #reform .about_content .content_body .body_copy {
        margin-top: 1.5em;
    }
}
#reform .about_content .content_body .body_subcopy {
    font-size: calc(clamp(2.4rem, 3.6vw, 3.2rem) * 0.7);
    line-height: 1.75;
}
#reform .about_content .content_body .body_ttl {
    padding-top: 2em;
    margin-bottom: 7.5%;
    position: relative;
    width: 540px;
    max-width: 90%;
}
@media (max-width: 1024px) {
    #reform .about_content .content_body .body_ttl {
        padding-top: 0;
    }
}
#reform .about_content .content_body .body_txt {
    margin-top: 2.5em;
    line-height: 2.2;
}
#reform .about_content .content_body .body_img {
    width: auto;
    margin-left: calc(50% - 50vw);
}
@media (min-width: 1025px) {
    #reform .about_content .content_body .body_img {
        display: none;
    }
}
#reform .about_content .content_body .body_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    aspect-ratio: 4/3;
}
#reform .about_content .content_img {
    margin-right: 0;
    margin-left: calc(50% - 50vw);
    padding-left: 2%;
}
@media (max-width: 1024px) {
    #reform .about_content .content_img {
        display: none;
    }
}
#reform .about_content .content_img .lists {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
#reform .about_content .content_img .lists .item:nth-child(1) {
    width: 85%;
    aspect-ratio: 600/655;
}
#reform .about_content .content_img .lists .item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#reform .point {
    padding-top: 0;
}
#reform .point_content {
    display: flex;
    align-items: flex-start;
}
@media (max-width: 1280px) {
    #reform .point_content {
        flex-wrap: wrap;
    }
}
@media (max-width: 1280px) {
    #reform .point_body {
        margin-top: 10%;
        width: 100%;
        padding-left: 0;
    }
}
#reform .point_subttl {
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    display: block;
    margin-bottom: 2.5em;
    line-height: 1.75;
}
#reform .point_lists {
    display: flex;
    flex-wrap: wrap;
    gap: 80px;
}
@media (max-width: 1280px) {
    #reform .point_lists {
        gap: 40px;
    }
}
#reform .point .item {
    position: relative;
    width: 100%;
}
#reform .point .item:before {
    content: "";
    border-top: solid 1px #545150;
    display: block;
    width: 85%;
    position: absolute;
    left: 0;
    top: 0;
}
#reform .point .item:after {
    position: absolute;
    top: 0;
    right: 0;
    color: rgba(0, 147, 183, 0.1);
    font-family: "Poppins", serif;
    font-size: clamp(5.5rem, 9vw, 13rem);
    font-weight: 100;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
#reform .point .item:nth-child(1):after {
    content: "01";
    letter-spacing: 10px;
}
#reform .point .item:nth-child(1) .item_const .const_lists {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 1.5%;
    margin-top: 2em;
}
#reform .point .item:nth-child(1) .item_const .const_item {
    width: 32.3333333333%;
    background-color: #fafafa;
    padding: 1em 1em;
}
@media (max-width: 540px) {
    #reform .point .item:nth-child(1) .item_const .const_item {
        width: 100%;
    }
}
#reform .point .item:nth-child(1) .item_const .const_item .ttl {
    font-size: 1.15em;
    margin-bottom: 0.5em;
    color: #0093b7;
}
#reform .point .item:nth-child(1) .item_const .const_note {
    margin-top: 1em;
    color: #aaa;
    display: block;
    font-size: 0.85em;
}
#reform .point .item:nth-child(2):after {
    content: "02";
}
#reform .point .item:nth-child(2) .item_part .part_lists {
    display: flex;
    flex-wrap: wrap;
    gap: 2.5em 2.5%;
    margin-top: 2em;
}
@media (max-width: 540px) {
    #reform .point .item:nth-child(2) .item_part .part_lists {
        gap: 2.5em 5%;
    }
}
#reform .point .item:nth-child(2) .item_part .part_item {
    width: 31.6666666667%;
}
@media (max-width: 540px) {
    #reform .point .item:nth-child(2) .item_part .part_item {
        width: 47.5%;
    }
}
#reform .point .item:nth-child(2) .item_part .part_item .img {
    position: relative;
}
#reform .point .item:nth-child(2) .item_part .part_item .img img {
    aspect-ratio: 1/1;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#reform .point .item:nth-child(2) .item_part .part_item .img .ttl {
    position: absolute;
    top: 0;
    left: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    background-color: #fff;
    color: #0093b7;
    font-size: 1.15em;
    padding: 0.15em 1em;
}
#reform .point .item:nth-child(2) .item_part .part_item .txt {
    margin-top: 0.5em;
}
#reform .point .item:nth-child(3):after {
    content: "03";
}
#reform .point .item:nth-child(4):after {
    content: "04";
}
#reform .point .item:nth-child(4) .item_const .const_lists {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 1.5%;
    margin-top: 2em;
}
#reform .point .item:nth-child(4) .item_const .const_item {
    width: 32.3333333333%;
    background-color: #fafafa;
    padding: 1em 1em;
}
@media (max-width: 540px) {
    #reform .point .item:nth-child(4) .item_const .const_item {
        width: 100%;
    }
}
#reform .point .item:nth-child(4) .item_const .const_item .ttl {
    font-size: 1.15em;
    margin-bottom: 0.5em;
    color: #0093b7;
}
#reform .point .item:nth-child(4) .item_const .const_note {
    margin-top: 1em;
    color: #aaa;
    display: block;
    font-size: 0.85em;
}
#reform .point .item:nth-child(5):after {
    content: "05";
}
#reform .point .item:nth-child(5) .item_reason {
    margin-top: 1em;
}
#reform .point .item:nth-child(5) .item_reason .reason_lists {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 0;
}
#reform .point .item:nth-child(5) .item_reason .reason_item {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
#reform .point .item:nth-child(5) .item_reason .reason_item .ttl {
    background-color: rgba(0, 147, 183, 0.5);
    color: #fff;
    padding: 0.35em 1em;
    width: 180px;
}
#reform .point .item:nth-child(5) .item_reason .reason_item .txt {
    width: calc(100% - 180px);
    padding-left: 1em;
}
@media (max-width: 540px) {
    #reform .point .item:nth-child(5) .item_reason .reason_item .txt {
        width: 100%;
    }
}
#reform .point .item_ttl {
    display: inline-block;
    padding-top: 1.5em;
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    line-height: 1.4;
    color: #0093b7;
}
#reform .point .item_txt {
    margin-top: 1em;
    width: 100%;
}
#reform .bottom {
    padding-top: 0;
    position: relative;
}
#reform .bottom:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 60%;
    background: linear-gradient(0deg, rgba(0, 145, 181, 0.1) 0%, rgba(0, 145, 181, 0.1) 50%, #ffffff 100%);
}
#reform .bottom_head {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}
#reform .bottom_head .head_ttl {
    color: #0093b7;
    font-size: clamp(2.2rem, 3.6vw, 3.2rem);
}
#reform .bottom_head .head_morebtn {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    margin-top: 3em;
}
#reform .bottom_head .head_morebtn::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 0;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #0093b7;
    border: 1px solid #0093b7;
    transition: scale 0.5s, background-color 0.5s;
}
#reform .bottom_head .head_morebtn::after {
    content: "";
    position: absolute;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: right 0.5s;
    -webkit-transform: translate(100%, -50%);
    transform: translate(100%, -50%);
    top: 50%;
    right: -0.5em;
}
#reform .bottom_head .head_morebtn:hover::before {
    scale: 1.25;
    background-color: transparent;
}
#reform .bottom_head .head_morebtn:hover::after {
    right: -1em;
}
#reform .bottom_head .head_morebtn:hover span {
    color: #0093b7;
}
#reform .bottom_head .head_morebtn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-weight: 200;
    position: relative;
    z-index: 10;
    padding-left: 1em;
    line-height: 1.4;
    transition: color 0.5s;
}
#reform .bottom_content {
    margin-top: 8%;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
#reform .bottom_content .lists {
    display: flex;
    align-items: flex-start;
    gap: 30px;
}
@media (max-width: 840px) {
    #reform .bottom_content .lists {
        gap: 20px;
    }
}
@media (max-width: 700px) {
    #reform .bottom_content .lists {
        gap: 10px;
    }
}
#reform .bottom_content .lists .item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: bottom;
    object-position: bottom;
}
#reform .bottom_content .lists .item:nth-child(1) {
    width: 30%;
    aspect-ratio: 4/3;
}
#reform .bottom_content .lists .item:nth-child(2) {
    margin-top: 2em;
    aspect-ratio: 530/550;
    width: 30%;
}
#reform .bottom_content .lists .item:nth-child(3) {
    width: calc(40% - 60px);
    margin-top: 4em;
}
@media (max-width: 840px) {
    #reform .bottom_content .lists .item:nth-child(3) {
        width: calc(40% - 40px);
    }
}
@media (max-width: 700px) {
    #reform .bottom_content .lists .item:nth-child(3) {
        width: calc(40% - 20px);
    }
}

/*==================================================================================================
	データ
==================================================================================================*/
#flow .flow_inner {
    display: flex;
    align-items: flex-start;
}
@media (max-width: 840px) {
    #flow .flow_inner {
        flex-wrap: wrap;
    }
}
#flow .flow_secttl {
    width: 450px;
    display: none;
}
@media (max-width: 840px) {
    #flow .flow_secttl {
        width: 100%;
    }
}
#flow .flow_head {
    display: flex;
    flex-direction: column;
    align-items: center;
}
#flow .flow_head .ja,
#flow .flow_head .en {
    opacity: 0;
    translate: 0 15px;
    transition: translate 1s, opacity 1s;
}
#flow .flow_head .ja.-active,
#flow .flow_head .en.-active {
    translate: 0 0;
    opacity: 1;
}
#flow .flow_head .ja {
    font-size: calc(clamp(3.2rem, 4.6vw, 4.6rem) * 0.8);
    line-height: 1.4;
    text-align: center;
}
#flow .flow_head .ja .blue {
    color: #0093b7;
}
#flow .flow_head .en {
    color: rgba(118, 134, 142, 0.5);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
}
#flow .flow_content {
    width: 100%;
}
@media (max-width: 840px) {
    #flow .flow_content {
        width: 100%;
    }
}
#flow .flow_content .content_txt {
    margin: 2em 0;
    line-height: 2;
    text-align: center;
}
#flow .flow .flow_morebtn {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    margin-top: 2.5em;
    margin-left: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border: 1px solid #ccc;
    padding: 0.25em 1.5em;
}
#flow .flow .flow_morebtn::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 1em;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #0093b7;
    border: 1px solid #0093b7;
    transition: scale 0.5s, background-color 0.5s;
}
#flow .flow .flow_morebtn::after {
    content: "";
    position: relative;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    margin-left: 0.5em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: translate 0.5s;
}
#flow .flow .flow_morebtn:hover::before {
    scale: 1.25;
    background-color: transparent;
}
#flow .flow .flow_morebtn:hover::after {
    translate: 0.5em 0;
}
#flow .flow .flow_morebtn:hover span {
    color: #0093b7;
}
#flow .flow .flow_morebtn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    position: relative;
    z-index: 10;
    padding-left: 1em;
    line-height: 1.4;
    transition: color 0.5s;
}
#flow .flow .flow_morebtn {
    margin-inline: auto;
}
#flow .flow .flow_morebtn span {
    font-family: "Zen Kaku Gothic New", "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Sans-Serif;
    font-size: calc(clamp(2rem, 2vw, 2.4rem) * 0.8);
    line-height: 1.6;
    padding-left: 1.5em;
}
#flow .model {
    padding-top: 0;
    display: none;
}
#flow .model_img {
    aspect-ratio: 16/6;
    background-position: center;
    background-image: url(../img/07_data/model_pc.png);
    background-size: cover;
    margin-top: clamp(50px, 8vw, 80px);
    -webkit-mask-size: auto 200%;
    mask-size: auto 200%;
    margin: 0 calc(50% - 50vw);
}
#flow .model_img.-active {
    -webkit-animation-duration: 2.5s;
    animation-duration: 2.5s;
}
@media (max-width: 840px) {
    #flow .model_img {
        aspect-ratio: 16/15;
        background-image: url(../img/07_data/model_mb.png);
    }
}
#flow .model_content {
    width: 100%;
    margin-top: clamp(50px, 8vw, 80px);
}
#flow .model_lists {
    display: flex;
    flex-direction: column;
}
#flow .model_lists li .item_head {
    background-color: rgba(118, 132, 140, 0.1);
    padding: 1em;
    position: relative;
    overflow: inherit;
}
#flow .model_lists li .item_head:before {
    display: none;
}
#flow .model_lists li .item_head:after {
    content: "";
    display: block;
    width: 10px;
    height: 5px;
    background-image: url(../img/07_data/arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 1em;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
    transition: transform 0.5s, -webkit-transform 0.5s;
}
#flow .model_lists li .item_head .ja {
    font-size: calc(clamp(2rem, 2vw, 2.4rem) * 0.8);
}
#flow .model_lists li .item_head .en {
    position: absolute;
    color: #0093b7;
    font-size: 2rem;
    font-weight: 200;
    font-family: "Kumbh Sans", serif;
    top: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0.5em;
    z-index: 1;
}
#flow .model_lists li.uk-open .item_head {
    background-color: rgba(0, 147, 183, 0.1);
}
#flow .model_lists li.uk-open .item_head:after {
    -webkit-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
}
#flow .model_lists li:hover .item_head {
    background-color: rgba(0, 147, 183, 0.1);
}
#flow .model_lists li .item_body {
    margin-bottom: 4em;
}
#flow .model_lists li .item_body_img {
    width: 100%;
    height: 100%;
    aspect-ratio: 16/9;
    overflow: hidden;
}
#flow .model_lists li .item_body_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#flow .model_slider {
    display: none;
}
#flow .model_value {
    margin-top: 1.5em;
}
#flow .model_value .value_lists {
    display: flex;
}
#flow .model_value .value_lists .item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-right: solid 1px #76848C;
    padding: 0.5em 1em;
    min-width: 105px;
}
#flow .model_value .value_lists .item:first-child {
    border-left: solid 1px #76848C;
}
#flow .model_value .value_lists .item .ttl {
    color: #0093b7;
    display: flex;
    align-items: center;
}
#flow .model_value .value_lists .item .ttl_tip {
    background-color: inherit;
    border: none;
    display: flex;
    margin-left: 0.25em;
}
#flow .model_value .value_lists .item .ttl_tip img {
    width: 18px;
    height: 18px;
}
#flow .model_value .value_lists .item .value {
    font-size: calc(clamp(2rem, 2vw, 2.4rem) * 0.8);
}
#flow .model_datalist {
    margin-top: 2em;
}
#flow .model_datalist .datalist_lists {
    display: flex;
    flex-direction: column;
}
#flow .model_datalist .datalist_lists .item {
    border-top: solid 1px #a5a5a5;
    padding: 1.25em 0.5em;
    display: flex;
}
#flow .model_datalist .datalist_lists .item:last-child {
    border-bottom: solid 1px #a5a5a5;
}
#flow .model_datalist .datalist_lists .item .ttl {
    width: 100px;
    color: #0093b7;
}
#flow .model_datalist .datalist_lists .item .txt {
    width: calc(100% - 100px);
    padding-left: 1em;
}
#flow .model_note {
    margin-top: 1.5em;
    display: block;
    color: #888;
    line-height: 1.8;
    font-size: 0.95em;
}
#flow .model_link {
    padding: 1em 5% 0.75em 2.5%;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
    position: relative;
    width: 450px;
    max-width: 70%;
    margin: clamp(50px, 8vw, 80px) auto 0;
}
#flow .model_link .type {
    font-size: 2rem;
    line-height: 1.4;
}
@media (max-width: 840px) {
    #flow .model_link .type {
        font-size: 1.8rem;
    }
}
#flow .model_link .img {
    display: flex;
    align-items: flex-end;
}
@media (max-width: 540px) {
    #flow .model_link .img {
        flex-direction: column;
        align-items: flex-start;
    }
}
#flow .model_link .img img {
    width: calc(100% - 4em);
}
@media (max-width: 540px) {
    #flow .model_link .img img {
        width: 100%;
    }
}
#flow .model_link .img span {
    translate: -2em -0.25em;
}
@media (max-width: 540px) {
    #flow .model_link .img span {
        translate: 0.25em 0;
    }
}
#flow .model_link::after {
    content: "";
    position: absolute;
    width: 1.5em;
    height: 1.5em;
    right: 1.25em;
    top: 50%;
    translate: 0 -50%;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: right 0.5s;
}
#flow .model_link:hover::after {
    right: 0.5em;
}
#flow .graph {
    padding-top: 0;
}
#flow .graph_head {
    display: flex;
    justify-content: center;
    align-items: center;
}
#flow .graph_head img {
    width: auto;
    height: 45px;
}
#flow .graph_head .ttl {
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    padding-left: 0.5em;
}
#flow .graph_content {
    margin-top: 2em;
}
#flow .graph_content .lists {
    display: flex;
    gap: 30px 20px;
}
@media (max-width: 1280px) {
    #flow .graph_content .lists {
        gap: 30px 10px;
    }
}
@media (max-width: 700px) {
    #flow .graph_content .lists {
        flex-wrap: wrap;
    }
}
#flow .graph_content .item {
    width: calc(33.3333333333% - 20px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px 10px;
}
@media (max-width: 1280px) {
    #flow .graph_content .item {
        width: calc(33.3333333333% - 10px);
    }
}
@media (max-width: 700px) {
    #flow .graph_content .item {
        width: calc(50% - 10px);
    }
}
@media (max-width: 540px) {
    #flow .graph_content .item {
        width: 100%;
        max-width: 90%;
        margin-inline: auto;
    }
}
#flow .graph_content .item_ttl {
    text-align: center;
    font-size: 2rem;
}
#flow .graph_banner {
    margin-top: 10%;
    text-align: center;
}
#flow .graph_banner a {
    display: inline-block;
}
#flow .graph_banner a:hover {
    opacity: 0.8;
}
#flow .graph_banner a img {
    width: 100%;
    max-width: 840px;
}

/*==================================================================================================
	施工実績
==================================================================================================*/
#works .archive_inner {
    display: flex;
    align-items: flex-start;
    position: relative;
}
@media (max-width: 840px) {
    #works .archive_inner {
        flex-wrap: wrap;
    }
}
#works .archive_nav {
    width: 15%;
    visibility: hidden;
}
@media (min-width: 841px) {
    #works .archive_nav {
        position: sticky;
        top: 120px;
        left: 5%;
    }
}
@media (max-width: 840px) {
    #works .archive_nav {
        width: 100%;
    }
}
#works .archive_nav .nav_lists {
    display: flex;
    flex-direction: column;
    gap: 1em;
}
@media (max-width: 840px) {
    #works .archive_nav .nav_lists {
        flex-direction: row;
    }
}
@media (max-width: 840px) {
    #works .archive_nav .nav_lists .item {
        padding-right: 20px;
    }
}
#works .archive_nav .nav_lists .item a span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: "Kumbh Sans", serif;
    color: #c9c9c9;
    font-weight: 200;
    position: relative;
    transition: 0.5s;
}
#works .archive_nav .nav_lists .item a span:before {
    position: absolute;
    content: "";
    top: 55%;
    left: 0;
    translate: 0 -50%;
    width: 10px;
    height: 1px;
    background-color: #c9c9c9;
    opacity: 0;
    transition: opacity 0.8s;
}
#works .archive_nav .nav_lists .item a:hover span {
    display: flex;
    align-items: center;
    padding-left: 0.75em;
    position: relative;
}
#works .archive_nav .nav_lists .item a:hover span:before {
    opacity: 1;
}
#works .archive_nav .nav_lists .item.-active a span {
    padding-left: 0.75em;
    color: #0093b7;
}
#works .archive_nav .nav_lists .item.-active a span:before {
    opacity: 1;
    background-color: #0093b7;
}
#works .archive_content {
    width: 85%;
    position: relative;
    background-color: #f3f4f5;
    padding: 5% 0 5% 5%;
    margin-left: auto;
}
@media (max-width: 840px) {
    #works .archive_content {
        width: 100%;
        margin-top: 2em;
        padding-top: 10%;
        padding-bottom: 10%;
    }
}
#works .archive_content:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    background-color: #f3f4f5;
    z-index: -1;
}
#works .archive_content .content_lists {
    display: flex;
    flex-wrap: wrap;
    gap: 80px 20px;
}
@media (max-width: 540px) {
    #works .archive_content .content_lists {
        gap: 40px;
    }
}
#works .archive_content .content_lists .item {
    width: calc((100% - 40px) / 3);
    position: relative;
}
@media (max-width: 1280px) {
    #works .archive_content .content_lists .item {
        width: calc((100% - 40px) / 2);
    }
}
@media (max-width: 700px) {
    #works .archive_content .content_lists .item {
        width: 100%;
    }
}
#works .archive_content .content_lists .item a {
    display: block;
    overflow: hidden;
}
#works .archive_content .content_lists .item a .item_img {
    -webkit-transform: scale(1);
    transform: scale(1);
    transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
    transition: transform 0.5s, -webkit-transform 0.5s;
}
#works .archive_content .content_lists .item a .item_img img {
    aspect-ratio: 4/3;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#works .archive_content .content_lists .item a .item_data {
    background-color: #76848C;
    padding: 0 0.5em;
    position: absolute;
    left: 1em;
    top: -0.75em;
    display: inline-flex;
    flex-wrap: wrap;
}
#works .archive_content .content_lists .item a .item_data span {
    color: #fff;
}
#works .archive_content .content_lists .item a .item_data span:not(:first-child):before {
    content: "/";
    padding: 0 0.25em;
}
#works .archive_content .content_lists .item a .item_ttl {
    position: absolute;
    bottom: -0.25px;
    right: 0;
    background-color: #fff;
    padding: 0.25em 1em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 90%;
    line-height: 1.4;
}
#works .archive_content .content_lists .item a .item_ttl .ja {
    font-size: 1.4rem;
}
#works .archive_content .content_lists .item a:hover .item_img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}
#works .single_content {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
}
#works .single_head {
    width: 35%;
    margin-top: 10%;
    position: sticky;
    top: 180px;
    height: 100px;
}
@media (max-width: 1024px) {
    #works .single_head {
        width: 100%;
        margin-top: 0;
        position: relative;
        top: 0;
        height: auto;
    }
}
#works .single_info {
    background-color: #76848C;
    padding: 0 1em;
    display: inline-flex;
    flex-wrap: wrap;
}
#works .single_info span {
    color: #fff;
    font-size: 1.25em;
}
#works .single_info span:not(:first-child):before {
    content: "/";
    padding: 0 0.25em;
}
#works .single_ttl {
    display: block;
    margin-top: 2em;
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
}
@media (max-width: 1024px) {
    #works .single_ttl {
        margin-top: 1em;
    }
}
#works .single_body {
    width: 65%;
    padding-right: 5%;
}
@media (max-width: 1024px) {
    #works .single_body {
        width: 100%;
        padding-right: 0;
        margin-top: 3em;
    }
}
#works .single_body .body_mainimg {
    aspect-ratio: 3/2;
}
#works .single_body .body_mainimg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#works .single_body .body_gallery {
    margin-top: 2em;
}
#works .single_body .body_gallery ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px min(10px, 1.5%);
}
#works .single_body .body_gallery li {
    width: calc((100% - min(10px, 1.5%) * 3) / 4);
}
@media (max-width: 540px) {
    #works .single_body .body_gallery li {
        width: calc((100% - min(10px, 1.5%) * 2) / 3);
    }
}
#works .single_body .body_gallery li a {
    padding: 0;
    border: none;
    aspect-ratio: 3/2;
}
#works .single_body .body_gallery li a img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#works .single_body .body_txt {
    margin-top: 2em;
}
#works .single_body .body_datalist {
    margin-top: 2em;
}
#works .single_body .body_datalist ul li {
    display: flex;
    flex-wrap: wrap;
    border-top: solid 1px #a5a5a5;
    padding: 1em 0;
}
#works .single_body .body_datalist ul li:last-child {
    border-bottom: solid 1px #a5a5a5;
}
#works .single_body .body_datalist ul li .ttl {
    width: 25%;
    color: #0093b7;
}
#works .single_body .body_datalist ul li .txt {
    width: 75%;
}
#works .single_backbtn {
    margin-top: 5%;
}

/*==================================================================================================
	お客様の声
==================================================================================================*/
#voice .voice_lists {
    display: flex;
    flex-wrap: wrap;
    gap: 4em 40px;
}
#voice .voice_lists .item {
    width: calc((100% - 40px) / 2);
    position: relative;
}
@media (max-width: 1024px) {
    #voice .voice_lists .item {
        width: 100%;
    }
}
#voice .voice_lists .item a {
    display: block;
    overflow: hidden;
}
#voice .voice_lists .item a .item_img {
    aspect-ratio: 770/470;
    -webkit-transform: scale(1);
    transform: scale(1);
    transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
    transition: transform 0.5s, -webkit-transform 0.5s;
}
#voice .voice_lists .item a .item_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#voice .voice_lists .item a .item_info {
    background-color: #76848C;
    padding: 0 2em;
    position: absolute;
    top: 0;
    left: 1em;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1;
}
#voice .voice_lists .item a .item_info span {
    color: #fff;
    font-size: 1.25em;
}
#voice .voice_lists .item a .item_info span:not(:first-child):before {
    content: "/";
    padding: 0 0.25em;
}
#voice .voice_lists .item a .item_ttl {
    position: absolute;
    background-color: #fff;
    bottom: 0;
    right: 0;
    padding: 1em;
    font-size: clamp(2rem, 2vw, 2.4rem);
    color: #0093b7;
}
#voice .voice_lists .item a:hover .item_img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}
#voice .single_content {
    display: flex;
    flex-wrap: wrap;
}
#voice .single_head {
    width: 37%;
    margin-top: 10%;
    position: sticky;
    top: 180px;
    height: 100px;
}
@media (max-width: 1024px) {
    #voice .single_head {
        width: 100%;
        margin-top: 0;
        position: relative;
        top: 0;
        height: auto;
    }
}
#voice .single_info {
    display: inline-flex;
    background-color: #76848C;
    padding: 0 1em;
    min-width: 300px;
}
#voice .single_info span {
    color: #fff;
    font-size: 1.25em;
}
#voice .single_info span:not(:first-child):before {
    content: "/";
    padding: 0 0.25em;
}
#voice .single_ttl {
    display: block;
    margin-top: 2em;
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    color: #0093b7;
}
@media (max-width: 1024px) {
    #voice .single_ttl {
        margin-top: 1em;
    }
}
#voice .single_body {
    width: 63%;
    padding-left: 5%;
}
@media (max-width: 1024px) {
    #voice .single_body {
        width: 100%;
        padding-left: 0;
        margin-top: 3em;
    }
}
#voice .single_body .body_mainimg {
    aspect-ratio: 3/2;
}
#voice .single_body .body_mainimg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#voice .single_body .body_gallery {
    margin-top: 2em;
}
#voice .single_body .body_gallery .gallery_lists {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
#voice .single_body .body_gallery .gallery_lists .item {
    width: calc((100% - 20px) / 3);
    aspect-ratio: 3/3.1;
}
#voice .single_body .body_gallery .gallery_lists .item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#voice .single_body .body_gallery .gallery_img {
    margin-top: 2em;
    margin-right: calc(50% - 50vw);
    aspect-ratio: 870/300;
    margin-left: 25%;
}
#voice .single_body .body_gallery .gallery_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#voice .single_body .body_datalist {
    margin-top: 10%;
}
#voice .single_body .body_datalist ul li {
    display: flex;
    flex-direction: column;
    border-top: solid 1px #a5a5a5;
    padding: 1em 0;
}
#voice .single_body .body_datalist ul li:last-child {
    border-bottom: solid 1px #a5a5a5;
}
#voice .single_body .body_datalist ul li .ttl {
    color: #0093b7;
}
#voice .single_body .body_datalist ul li .txt {
    margin-top: 0.5em;
}
#voice .single_body .body_story {
    margin-top: 10%;
}
#voice .single_body .body_story .story_secttl {
    margin-bottom: 2.5em;
}
#voice .single_body .body_story .story_lists {
    display: flex;
    flex-direction: column;
    gap: 50px;
}
#voice .single_body .body_story .story_item {
    width: 80%;
    padding: 2em 1em 1em 1em;
    position: relative;
}
@media (max-width: 840px) {
    #voice .single_body .body_story .story_item {
        width: 90%;
    }
}
#voice .single_body .body_story .story_item.-before {
    background-color: rgba(118, 132, 140, 0.1);
}
#voice .single_body .body_story .story_item.-before .story_txt:before {
    background-color: #1a1a1a;
}
#voice .single_body .body_story .story_item.-after {
    background-color: rgba(0, 147, 183, 0.1);
    margin-left: auto;
}
#voice .single_body .body_story .story_item.-after .story_ttl .en {
    color: #0093b7;
}
#voice .single_body .body_story .story_item.-after .story_txt:before {
    background-color: #0093b7;
}
#voice .single_body .body_story .story_ttl {
    position: absolute;
    top: 0;
    left: 0.5em;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
#voice .single_body .body_story .story_ttl .en {
    font-size: calc(clamp(2rem, 2vw, 2.4rem) * 1.2);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
}
#voice .single_body .body_story .story_ttl .ja {
    padding-left: 0.25em;
}
#voice .single_body .body_story .story_txt {
    display: flex;
}
#voice .single_body .body_story .story_txt:before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    margin-top: 0.75em;
    margin-right: 0.4em;
}
#voice .single_body .body_point {
    margin-top: 20%;
    position: relative;
}
#voice .single_body .body_point:before {
    content: "";
    display: block;
    position: absolute;
    width: 120vw;
    height: 120%;
    background-color: #f3f4f5;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    left: 0;
    top: 50%;
    z-index: -1;
}
@media (max-width: 1024px) {
    #voice .single_body .body_point:before {
        left: 50%;
        height: 110%;
    }
}
#voice .single_body .body_point .point_lists {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
#voice .single_body .body_point .point_lists .item {
    display: flex;
}
@media (max-width: 700px) {
    #voice .single_body .body_point .point_lists .item {
        flex-wrap: wrap;
    }
}
#voice .single_body .body_point .point_lists .item_img {
    width: 45%;
    aspect-ratio: 450/270;
}
@media (max-width: 700px) {
    #voice .single_body .body_point .point_lists .item_img {
        width: 100%;
    }
}
#voice .single_body .body_point .point_lists .item_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#voice .single_body .body_point .point_lists .item_body {
    width: 55%;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    padding: 1.5em;
}
@media (max-width: 700px) {
    #voice .single_body .body_point .point_lists .item_body {
        width: 100%;
    }
}
#voice .single_body .body_point .point_lists .item_ttl {
    color: #0093b7;
    font-size: clamp(2rem, 2vw, 2.4rem);
}
#voice .single_body .body_point .point_lists .item_txt {
    margin-top: 0.5em;
}
#voice .single_body .body_qa {
    margin-top: 20%;
}
#voice .single_body .body_qa .qa_lists {
    display: flex;
    flex-direction: column;
    gap: 50px;
}
#voice .single_body .body_qa .qa_lists .item {
    position: relative;
    padding-top: 2em;
}
#voice .single_body .body_qa .qa_lists .item:before {
    content: "";
    border-top: solid 1px #545150;
    display: block;
    width: 65%;
    position: absolute;
    right: 5%;
    top: 0;
}
#voice .single_body .body_qa .qa_lists .item:after {
    content: "Q";
    position: absolute;
    top: 0;
    right: 0;
    color: #76848C;
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    font-size: clamp(2rem, 2vw, 2.4rem);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
#voice .single_body .body_qa .qa_lists .item_ttl {
    color: #0093b7;
    font-size: clamp(2rem, 2vw, 2.4rem);
}
#voice .single_body .body_qa .qa_lists .item_body {
    margin-top: 1.5em;
    width: 90%;
    margin-left: auto;
}
#voice .single_body .body_qa .qa_lists .item_subttl {
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
}
#voice .single_body .body_qa .qa_lists .item_subttl:before {
    content: "A";
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    padding-right: 0.5em;
    color: 76868e;
}
#voice .single_backbtn {
    margin-top: 5%;
}

/*==================================================================================================
	プライバシーポリシー
==================================================================================================*/
#privacypolicy .sec_head .txt {
    margin-bottom: 2em;
}
#privacypolicy .sec_list {
    display: flex;
    flex-direction: column;
    gap: 2em;
}
#privacypolicy .sec_item .ttl {
    font-size: clamp(2rem, 2vw, 2.4rem);
    line-height: 1.4;
    margin-bottom: 0.5em;
    color: #0093b7;
    display: block;
}
/*==================================================================================================
	404,サンクスページ
==================================================================================================*/
#error .sec_ttl,
#thanks .sec_ttl {
    font-size: calc(clamp(3.2rem, 4.6vw, 4.6rem) * 0.8);
    margin-bottom: 1em;
    line-height: 1.4;
}
#error .sec_btn,
#thanks .sec_btn {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    margin-top: 2.5em;
    margin-left: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border: 1px solid #ccc;
    padding: 0.25em 1.5em;
}
#error .sec_btn::before,
#thanks .sec_btn::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 1em;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #0093b7;
    border: 1px solid #0093b7;
    transition: scale 0.5s, background-color 0.5s;
}
#error .sec_btn::after,
#thanks .sec_btn::after {
    content: "";
    position: relative;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    margin-left: 0.5em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: translate 0.5s;
}
#error .sec_btn:hover::before,
#thanks .sec_btn:hover::before {
    scale: 1.25;
    background-color: transparent;
}
#error .sec_btn:hover::after,
#thanks .sec_btn:hover::after {
    translate: 0.5em 0;
}
#error .sec_btn:hover span,
#thanks .sec_btn:hover span {
    color: #0093b7;
}
#error .sec_btn span,
#thanks .sec_btn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    position: relative;
    z-index: 10;
    padding-left: 1em;
    line-height: 1.4;
    transition: color 0.5s;
}

/*==================================================================================================
	2026/06/29~
    いい造り手
==================================================================================================*/
#craftmanship2 .about::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40%;
    background: linear-gradient(0deg, rgba(0, 145, 181, 0.1) 0%, #ffffff 100%);
}
#craftmanship2 .about_copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
#craftmanship2 .about_copy .main {
    font-size: clamp(3.2rem, 4.6vw, 4.6rem);
    line-height: 1.4;
    display: block;
}
#craftmanship2 .about_copy .main {
    opacity: 0;
    translate: 0 15px;
    transition: translate 1s, opacity 1s;
}
#craftmanship2 .about_copy .main.-active {
    translate: 0 0;
    opacity: 1;
}
#craftmanship2 .about_copy .sub {
    font-size: 2rem;
    color: #76848C;
    display: block;
    margin-top: 0.5em;
}
#craftmanship2 .about_copy .sub {
    opacity: 0;
    translate: 0 15px;
    transition: translate 1s, opacity 1s;
}
#craftmanship2 .about_copy .sub.-active {
    translate: 0 0;
    opacity: 1;
}
#craftmanship2 .about_content {
    margin-top: clamp(50px, 8vw, 80px);
    display: flex;
    gap: clamp(50px, 8vw, 80px) 5%;
}
#craftmanship2 .about_img.-pc {
    margin-left: calc(50% - 50vw);
    width: 50vw;
}
#craftmanship2 .about_img.-pc img {
    aspect-ratio: 4/3;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
@media (max-width: 1024px) {
    #craftmanship2 .about_img.-pc {
        display: none;
    }
}
#craftmanship2 .about_img.-sp {
    margin-left: calc(50% - 50vw);
    width: 50vw;
}
#craftmanship2 .about_img.-sp img {
    aspect-ratio: 4/3;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
@media (min-width: 1025px) {
    #craftmanship2 .about_img.-sp {
        display: none;
    }
}
@media (max-width: 1024px) {
    #craftmanship2 .about_img.-sp {
        width: calc(50vw + 50%);
    }
}
#craftmanship2 .about_unit {
    width: 50%;
}
@media (max-width: 1024px) {
    #craftmanship2 .about_unit {
        width: 100%;
    }
}
#craftmanship2 .about_ttl {
    display: flex;
    flex-wrap: wrap;
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    line-height: 1.8;
    margin-bottom: 1em;
}
#craftmanship2 .about_ttl span {
    font: inherit;
}
#craftmanship2 .about_ttl {
    opacity: 0;
    translate: 0 15px;
    transition: translate 1s, opacity 1s;
}
#craftmanship2 .about_ttl.-active {
    translate: 0 0;
    opacity: 1;
}
#craftmanship2 .about_txt {
    font-size: 1.15em;
}
@media (max-width: 1024px) {
    #craftmanship2 .about_txt {
        margin-top: 2em;
    }
}
#craftmanship2 .about_bottom {
    max-width: 1024px;
    margin: calc(clamp(50px, 8vw, 80px) * 1.5) auto 0;
}
#craftmanship2 .about_bottom .bottom_copy {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    font-size: clamp(3.2rem, 4.6vw, 4.6rem);
    line-height: 1.4;
    margin-top: 1em;
    color: #0093b7;
}
#craftmanship2 .about_bottom .bottom_copy span {
    font: inherit;
}
#craftmanship2 .point_secttl {
    display: flex;
    flex-wrap: wrap;
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    line-height: 1.8;
    margin-bottom: 1em;
}
#craftmanship2 .point_secttl {
    opacity: 0;
    translate: 0 15px;
    transition: translate 1s, opacity 1s;
}
#craftmanship2 .point_secttl.-active {
    translate: 0 0;
    opacity: 1;
}
#craftmanship2 .point_list {
    display: flex;
    flex-direction: column;
    gap: calc(clamp(50px, 8vw, 80px) * 0.75) 0;
}
#craftmanship2 .point_item {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 2em 5%;
}
#craftmanship2 .point_img {
    width: 45%;
}
@media (max-width: 840px) {
    #craftmanship2 .point_img {
        width: 100%;
    }
}
#craftmanship2 .point_img img {
    aspect-ratio: 4/3;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#craftmanship2 .point_content {
    width: 50%;
    position: relative;
    container-type: inline-size;
}
@media (max-width: 840px) {
    #craftmanship2 .point_content {
        width: 100%;
    }
}
#craftmanship2 .point_ttl {
    font-size: clamp(2rem, 2vw, 2.4rem);
    margin-bottom: 1em;
}
#craftmanship2 .point_num {
    position: absolute;
    top: -0.1em;
    right: 0;
    font-size: 17.5cqw;
    font-family: "Poppins", serif;
    opacity: 0.1;
    font-weight: 100;
    line-height: 1;
    color: #0093b7;
}
#craftmanship2 .event {
    background-color: rgba(0, 147, 183, 0.1);
    padding: calc(clamp(80px, 16vw, 200px) * 0.75) 5%;
}
#craftmanship2 .event::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
}
#craftmanship2 .event_secttl {
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    line-height: 1.8;
    margin-bottom: 1em;
    text-align: center;
}
#craftmanship2 .event_txt {
    text-align: center;
    line-height: 2.5;
}
#craftmanship2 .event_morebtn {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    margin-top: 2.5em;
    margin-left: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border: 1px solid #ccc;
    padding: 0.25em 1.5em;
}
#craftmanship2 .event_morebtn::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 1em;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #0093b7;
    border: 1px solid #0093b7;
    transition: scale 0.5s, background-color 0.5s;
}
#craftmanship2 .event_morebtn::after {
    content: "";
    position: relative;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    margin-left: 0.5em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: translate 0.5s;
}
#craftmanship2 .event_morebtn:hover::before {
    scale: 1.25;
    background-color: transparent;
}
#craftmanship2 .event_morebtn:hover::after {
    translate: 0.5em 0;
}
#craftmanship2 .event_morebtn:hover span {
    color: #0093b7;
}
#craftmanship2 .event_morebtn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    position: relative;
    z-index: 10;
    padding-left: 1em;
    line-height: 1.4;
    transition: color 0.5s;
}
#craftmanship2 .event_morebtn {
    margin-inline: auto;
}
#craftmanship2 .event_morebtn span {
    font-family: "Zen Kaku Gothic New", "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Sans-Serif;
    font-size: calc(clamp(2rem, 2vw, 2.4rem) * 0.85);
}
#craftmanship2 .index {
    padding-top: calc(clamp(50px, 8vw, 80px) * 0.5);
}
#craftmanship2 .index_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2em 5%;
}
#craftmanship2 .index_item {
    width: 47.5%;
}
@media (max-width: 1024px) {
    #craftmanship2 .index_item {
        width: 100%;
    }
}
#craftmanship2 .index_btn {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    margin-top: 2.5em;
    margin-left: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border: 1px solid #ccc;
    padding: 0.25em 1.5em;
}
#craftmanship2 .index_btn::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 1em;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #0093b7;
    border: 1px solid #0093b7;
    transition: scale 0.5s, background-color 0.5s;
}
#craftmanship2 .index_btn::after {
    content: "";
    position: relative;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    margin-left: 0.5em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: translate 0.5s;
}
#craftmanship2 .index_btn:hover::before {
    scale: 1.25;
    background-color: transparent;
}
#craftmanship2 .index_btn:hover::after {
    translate: 0.5em 0;
}
#craftmanship2 .index_btn:hover span {
    color: #0093b7;
}
#craftmanship2 .index_btn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    position: relative;
    z-index: 10;
    padding-left: 1em;
    line-height: 1.4;
    transition: color 0.5s;
}
#craftmanship2 .index_btn {
    margin-inline: auto;
    border: none;
    border-bottom: solid 1px #ccc;
    padding: 0.75em 1.5em;
    margin-top: 0;
}
#craftmanship2 .index_btn span {
    font-family: "Zen Kaku Gothic New", "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Sans-Serif;
    font-size: calc(clamp(2.4rem, 3.6vw, 3.2rem) * 0.85);
    color: #0093b7;
}

/*==================================================================================================
    いい住まい
==================================================================================================*/
#good-housing .about_copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
#good-housing .about_copy .main {
    font-size: clamp(3.2rem, 4.6vw, 4.6rem);
    line-height: 1.4;
    display: block;
}
#good-housing .about_copy .main {
    opacity: 0;
    translate: 0 15px;
    transition: translate 1s, opacity 1s;
}
#good-housing .about_copy .main.-active {
    translate: 0 0;
    opacity: 1;
}
#good-housing .about_content {
    margin-top: clamp(50px, 8vw, 80px);
    display: flex;
    gap: clamp(50px, 8vw, 80px) 5%;
}
#good-housing .about_img.-pc {
    margin-left: calc(50% - 50vw);
    width: 50vw;
}
#good-housing .about_img.-pc img {
    aspect-ratio: 4/3;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
@media (max-width: 1024px) {
    #good-housing .about_img.-pc {
        display: none;
    }
}
#good-housing .about_img.-sp {
    margin-left: calc(50% - 50vw);
    width: 50vw;
}
#good-housing .about_img.-sp img {
    aspect-ratio: 4/3;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
@media (min-width: 1025px) {
    #good-housing .about_img.-sp {
        display: none;
    }
}
@media (max-width: 1024px) {
    #good-housing .about_img.-sp {
        width: calc(50vw + 50%);
    }
}
#good-housing .about_unit {
    width: 50%;
}
@media (max-width: 1024px) {
    #good-housing .about_unit {
        width: 100%;
    }
}
#good-housing .about_ttl {
    display: flex;
    flex-wrap: wrap;
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    line-height: 1.8;
    margin-bottom: 1em;
}
#good-housing .about_ttl span {
    font: inherit;
}
#good-housing .about_ttl {
    opacity: 0;
    translate: 0 15px;
    transition: translate 1s, opacity 1s;
}
#good-housing .about_ttl.-active {
    translate: 0 0;
    opacity: 1;
}
#good-housing .about_txt {
    font-size: 1.15em;
}
@media (max-width: 1024px) {
    #good-housing .about_txt {
        margin-top: 2em;
    }
}
#good-housing .performance {
    padding-top: 0;
}
#good-housing .performance_secttl {
    margin-bottom: 1em;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    line-height: 1.8;
}
#good-housing .performance_list {
    display: flex;
    flex-direction: column;
    gap: calc(clamp(50px, 8vw, 80px) * 0.75) 0;
    max-width: 1280px;
    margin: clamp(50px, 8vw, 80px) auto 0;
}
#good-housing .performance_item {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 95%;
}
@media (max-width: 840px) {
    #good-housing .performance_item {
        width: 100%;
    }
}
#good-housing .performance_item#performance_03, #good-housing .performance_item#performance_04, #good-housing .performance_item#performance_05, #good-housing .performance_item#performance_06, #good-housing .performance_item#performance_07 {
    scroll-margin-top: 150px;
}
@media (max-width: 540px) {
    #good-housing .performance_item#performance_03, #good-housing .performance_item#performance_04, #good-housing .performance_item#performance_05, #good-housing .performance_item#performance_06, #good-housing .performance_item#performance_07 {
        scroll-margin-top: 100px;
    }
}
#good-housing .performance_item:first-child .wall_img.-pc {
    display: flex;
    justify-content: center;
}
@media (max-width: 840px) {
    #good-housing .performance_item:first-child .wall_img.-pc {
        display: none;
    }
}
#good-housing .performance_item:first-child .wall_img.-pc img {
    width: 360px;
    max-width: 80%;
}
@media (max-width: 840px) {
    #good-housing .performance_item:first-child .wall_img.-sp {
        display: flex;
        justify-content: center;
    }
    #good-housing .performance_item:first-child .wall_img.-sp img {
        width: 420px;
        max-width: 80%;
    }
}
#good-housing .performance_item:nth-child(even) {
    margin-left: auto;
    flex-direction: row-reverse;
}
#good-housing .performance_link {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    margin-top: 2.5em;
    margin-left: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border: 1px solid #ccc;
    padding: 0.25em 1.5em;
}
#good-housing .performance_link::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 1em;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #0093b7;
    border: 1px solid #0093b7;
    transition: scale 0.5s, background-color 0.5s;
}
#good-housing .performance_link::after {
    content: "";
    position: relative;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    margin-left: 0.5em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: translate 0.5s;
}
#good-housing .performance_link:hover::before {
    scale: 1.25;
    background-color: transparent;
}
#good-housing .performance_link:hover::after {
    translate: 0.5em 0;
}
#good-housing .performance_link:hover span {
    color: #0093b7;
}
#good-housing .performance_link span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    position: relative;
    z-index: 10;
    padding-left: 1em;
    line-height: 1.4;
    transition: color 0.5s;
}
#good-housing .performance_link {
    margin: 1em auto 0 0;
    font-size: 1.8rem;
}
#good-housing .performance_link span {
    font-family: "Zen Kaku Gothic New", "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Sans-Serif;
    font-size: 1.8rem;
}
#good-housing .performance_content {
    width: 52.5%;
}
@media (max-width: 840px) {
    #good-housing .performance_content {
        width: 100%;
    }
}
#good-housing .performance_ttl {
    display: flex;
    flex-direction: column;
    margin-bottom: 1.25em;
    line-height: 1.4;
}
#good-housing .performance_ttl .sub {
    font-size: 1.15em;
    opacity: 0.7;
}
#good-housing .performance_ttl .main {
    font-size: clamp(2rem, 2vw, 2.4rem);
    color: #0093b7;
    line-height: 1.4;
}
#good-housing .performance_txt .cmn_details_inner {
    margin-top: 1em;
}
#good-housing .performance_txt .blue {
    color: #0093b7;
}
#good-housing .performance_txt .notice {
    font-size: 0.9em;
    opacity: 0.7;
    margin-top: 1em;
    display: block;
}
#good-housing .performance_img.-sp {
    margin: calc(clamp(50px, 8vw, 80px) * 0.5) 0;
}
@media (min-width: 841px) {
    #good-housing .performance_img.-sp {
        display: none;
    }
}
#good-housing .performance_img.-pc {
    width: 42.5%;
}
@media (max-width: 840px) {
    #good-housing .performance_img.-pc {
        display: none;
    }
}
#good-housing .base {
    padding-top: 0;
}
#good-housing .base_inner {
    display: flex;
    flex-direction: row-reverse;
    gap: clamp(50px, 8vw, 80px) 5%;
}
#good-housing .base_img.-pc {
    margin-right: calc(50% - 50vw);
    width: 50vw;
}
#good-housing .base_img.-pc img {
    aspect-ratio: 4/3;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
@media (max-width: 1024px) {
    #good-housing .base_img.-pc {
        display: none;
    }
}
#good-housing .base_img.-sp {
    margin-right: calc(50% - 50vw);
    width: 50vw;
}
#good-housing .base_img.-sp img {
    aspect-ratio: 4/3;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
@media (min-width: 1025px) {
    #good-housing .base_img.-sp {
        display: none;
    }
}
@media (max-width: 1024px) {
    #good-housing .base_img.-sp {
        width: calc(50vw + 50%);
    }
}
#good-housing .base_unit {
    width: 50%;
}
@media (max-width: 1024px) {
    #good-housing .base_unit {
        width: 100%;
    }
}
#good-housing .base_ttl {
    display: flex;
    flex-wrap: wrap;
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    line-height: 1.8;
    margin-bottom: 1em;
}
#good-housing .base_ttl span {
    font: inherit;
}
#good-housing .base_ttl {
    opacity: 0;
    translate: 0 15px;
    transition: translate 1s, opacity 1s;
}
#good-housing .base_ttl.-active {
    translate: 0 0;
    opacity: 1;
}
#good-housing .base_txt {
    font-size: 1.15em;
}
@media (max-width: 1024px) {
    #good-housing .base_txt {
        margin-top: 2em;
    }
}
#good-housing .index {
    padding-top: 0;
}
#good-housing .index_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2em 5%;
}
#good-housing .index_item {
    width: 47.5%;
}
@media (max-width: 1024px) {
    #good-housing .index_item {
        width: 100%;
    }
}
#good-housing .index_btn {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    margin-top: 2.5em;
    margin-left: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border: 1px solid #ccc;
    padding: 0.25em 1.5em;
}
#good-housing .index_btn::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 1em;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #0093b7;
    border: 1px solid #0093b7;
    transition: scale 0.5s, background-color 0.5s;
}
#good-housing .index_btn::after {
    content: "";
    position: relative;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    margin-left: 0.5em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: translate 0.5s;
}
#good-housing .index_btn:hover::before {
    scale: 1.25;
    background-color: transparent;
}
#good-housing .index_btn:hover::after {
    translate: 0.5em 0;
}
#good-housing .index_btn:hover span {
    color: #0093b7;
}
#good-housing .index_btn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    position: relative;
    z-index: 10;
    padding-left: 1em;
    line-height: 1.4;
    transition: color 0.5s;
}
#good-housing .index_btn {
    margin-inline: auto;
    border: none;
    border-bottom: solid 1px #ccc;
    padding: 0.75em 1.5em;
    margin-top: 0;
}
#good-housing .index_btn span {
    font-family: "Zen Kaku Gothic New", "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Sans-Serif;
    font-size: calc(clamp(2.4rem, 3.6vw, 3.2rem) * 0.85);
    color: #0093b7;
}

/*==================================================================================================
    いつまでも
==================================================================================================*/
#forever .about_copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
#forever .about_copy .main {
    font-size: clamp(3.2rem, 4.6vw, 4.6rem);
    line-height: 1.4;
    display: block;
}
#forever .about_copy .main {
    opacity: 0;
    translate: 0 15px;
    transition: translate 1s, opacity 1s;
}
#forever .about_copy .main.-active {
    translate: 0 0;
    opacity: 1;
}
#forever .about_content {
    margin-top: clamp(50px, 8vw, 80px);
    display: flex;
    gap: clamp(50px, 8vw, 80px) 5%;
}
#forever .about_content.-second {
    flex-direction: row-reverse;
    margin-top: calc(clamp(50px, 8vw, 80px) * 1.5);
}
#forever .about_content.-second .about_img.-pc {
    margin-left: auto;
    margin-right: calc(50% - 50vw);
}
#forever .about_content.-second .about_img.-sp {
    margin-left: auto;
    margin-right: calc(50% - 50vw);
}
#forever .about_img.-pc {
    margin-left: calc(50% - 50vw);
    width: 50vw;
}
#forever .about_img.-pc img {
    aspect-ratio: 4/3;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
@media (max-width: 1024px) {
    #forever .about_img.-pc {
        display: none;
    }
}
#forever .about_img.-sp {
    margin-left: calc(50% - 50vw);
    width: 50vw;
}
#forever .about_img.-sp img {
    aspect-ratio: 4/3;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
@media (min-width: 1025px) {
    #forever .about_img.-sp {
        display: none;
    }
}
@media (max-width: 1024px) {
    #forever .about_img.-sp {
        width: calc(50vw + 50%);
    }
}
#forever .about_unit {
    width: 50%;
}
@media (max-width: 1024px) {
    #forever .about_unit {
        width: 100%;
    }
}
#forever .about_ttl {
    display: flex;
    flex-wrap: wrap;
    font-size: clamp(2.4rem, 3.6vw, 3.2rem);
    line-height: 1.8;
    margin-bottom: 1em;
}
#forever .about_ttl span {
    font: inherit;
}
#forever .about_ttl {
    opacity: 0;
    translate: 0 15px;
    transition: translate 1s, opacity 1s;
}
#forever .about_ttl.-active {
    translate: 0 0;
    opacity: 1;
}
#forever .about_txt {
    font-size: 1.15em;
}
@media (max-width: 1024px) {
    #forever .about_txt {
        margin-top: 2em;
    }
}
#forever .after {
    padding-top: 0;
}
#forever .after#after {
    scroll-margin-top: 150px;
}
#forever .after_secttl {
    margin-bottom: 1em;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    font-size: calc(clamp(2.4rem, 3.6vw, 3.2rem) * 1.25);
    line-height: 1.8;
}
#forever .after_copy {
    max-width: 700px;
    margin: clamp(50px, 8vw, 80px) auto;
}
#forever .after_document {
    width: 100vw;
    margin: calc(clamp(50px, 8vw, 80px) * 1.25) calc(50% - 50vw);
}
#forever .after_document .document_item {
    width: 30%;
    transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
    transition: transform 0.5s, -webkit-transform 0.5s;
    scale: 0.8;
    pointer-events: none;
    position: relative;
    opacity: 0.25;
    transition: 0.5s;
}
@media (max-width: 840px) {
    #forever .after_document .document_item {
        width: 50%;
        scale: 0.9;
    }
}
#forever .after_document .document_item.swiper-slide-active {
    opacity: 1;
}
#forever .after_document .document_ttl {
    display: block;
    text-align: center;
    font-size: 1.25em;
    margin-top: 1.25em;
}
#forever .after_document .swiper-button-prev,
#forever .after_document .swiper-button-next {
    right: auto;
    translate: -50% -50%;
    width: min(10%, 40px);
    height: min(10%, 40px);
    transition: opacity 0.5s;
}
#forever .after_document .swiper-button-prev::after,
#forever .after_document .swiper-button-next::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
#forever .after_document .swiper-button-prev:hover,
#forever .after_document .swiper-button-next:hover {
    opacity: 0.5;
}
#forever .after_document .swiper-button-prev {
    top: 50%;
    left: 35%;
}
@media (max-width: 840px) {
    #forever .after_document .swiper-button-prev {
        left: 10%;
    }
}
#forever .after_document .swiper-button-prev::after {
    background-image: url(../img/forever/nav_prev.svg);
}
#forever .after_document .swiper-button-next {
    top: 50%;
    left: 65%;
}
@media (max-width: 840px) {
    #forever .after_document .swiper-button-next {
        left: 90%;
    }
}
#forever .after_document .swiper-button-next::after {
    background-image: url(../img/forever/nav_next.svg);
}
#forever .after_point .point_list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 1.5%;
    margin: 30px 0;
}
#forever .after_point .point_item {
    width: 32.3333333333%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1em;
    border: solid 1px #ccc;
    padding: 1em 1em;
}
@media (max-width: 540px) {
    #forever .after_point .point_item {
        flex-direction: row;
        width: 100%;
    }
}
#forever .after_point .point_item .icon {
    position: relative;
    width: 150px;
    max-width: 70%;
}
@media (max-width: 540px) {
    #forever .after_point .point_item .icon {
        width: 50px;
    }
}
#forever .after_point .point_item .ttl {
    display: block;
    font-size: clamp(2rem, 2vw, 2.4rem);
    line-height: 1.4;
    text-align: center;
}
@media (max-width: 540px) {
    #forever .after_point .point_item .ttl {
        font-size: 1.6rem;
        text-align: left;
        width: calc(100% - 50px);
    }
}
#forever .after_point .point_item .ttl .blue {
    color: #0093b7;
}
#forever .after_banner {
    margin: 100px auto 0;
    width: 300px;
}
#forever .after_banner:hover {
    opacity: 0.8;
}
#forever .index {
    padding-top: 0;
}
#forever .index_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2em 5%;
}
#forever .index_item {
    width: 47.5%;
}
@media (max-width: 1024px) {
    #forever .index_item {
        width: 100%;
    }
}
#forever .index_btn {
    position: relative;
    font-size: clamp(2rem, 2vw, 2.4rem);
    display: flex;
    align-items: center;
    transition: none;
    margin-top: 2.5em;
    margin-left: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border: 1px solid #ccc;
    padding: 0.25em 1.5em;
}
#forever .index_btn::before {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    left: 1em;
    top: 50%;
    translate: 0 -50%;
    border-radius: 50px;
    background-color: #0093b7;
    border: 1px solid #0093b7;
    transition: scale 0.5s, background-color 0.5s;
}
#forever .index_btn::after {
    content: "";
    position: relative;
    width: 1.5em;
    height: 1.5em;
    margin-bottom: 0.25em;
    margin-left: 0.5em;
    display: inline-block;
    background-image: url(../img/cmn/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: translate 0.5s;
}
#forever .index_btn:hover::before {
    scale: 1.25;
    background-color: transparent;
}
#forever .index_btn:hover::after {
    translate: 0.5em 0;
}
#forever .index_btn:hover span {
    color: #0093b7;
}
#forever .index_btn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: "Kumbh Sans", serif;
    font-weight: 200;
    position: relative;
    z-index: 10;
    padding-left: 1em;
    line-height: 1.4;
    transition: color 0.5s;
}
#forever .index_btn {
    margin-inline: auto;
    border: none;
    border-bottom: solid 1px #ccc;
    padding: 0.75em 1.5em;
    margin-top: 0;
}
#forever .index_btn span {
    font-family: "Zen Kaku Gothic New", "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Sans-Serif;
    font-size: calc(clamp(2.4rem, 3.6vw, 3.2rem) * 0.85);
    color: #0093b7;
}