@charset "UTF-8";
*{
    font-family: "Noto Sans JP", sans-serif;
    font-feature-settings: 'palt';
}
html{
    font-size: 10px;
    color: #606060;
}
body{
    
}
.main{
    
}
.bg{
    background: #a99260;
    position: relative;
}
.bg::before,
.bg::after{
    content: "";
    width: 20.3rem;
    height: 100%;
    background-image: url(../img/bg.png);
    background-size: contain;
    background-repeat: repeat-y;
    position: absolute;
    top: 0;
}
.bg::before{
    right: calc(50% + 54rem);
    scale: -1 1;
}
.bg::after{
    left: calc(50% + 54rem);
}
.outer{
    width: 104rem;
    margin: 0 auto;
    position: relative;
    padding: 4rem 0;
    background-color: #f2f0eb;
}
.inner{
    width: 90rem;
    margin: 0 auto;
}
.u-desktop{
    display: block;
}
.u-mobile{
    display: none;
}
@media (min-width: 768px) {
    a[href^="tel:"] {
        pointer-events: none;
        cursor: default;
    }
}
@media screen and (max-width: 1140px) {
    body{
        
    }
    .bg::before,
    .bg::after{
        display: none;
    }
    .outer{
        width: calc(100% - 5rem);
    }
    .inner{
        width: calc(100% - 5rem);
    }
}
@media screen and (max-width: 767px) {
    html{
        font-size: calc((10 / 375) * 100vw);
    }
    body{
        
    }
    .bg{
        
    }
    .outer{
        width: calc(100% - 2rem);
    }
    .inner{
        width: 32.5rem;
    }
    .u-desktop{
        display: none;
    }
    .u-mobile{
        display: block;
    }
}


.header{
    width: 100%;
    height: 7.8rem;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    transition: all 0.3s ease-in-out;
}
.header.scrolled{
    background-color: #a99260;
}
.header__outer{
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    background-color: unset;
}
.header__logo{
    width: 8rem;
    position: relative;
    z-index: 99;
}
.header__nav{
    display: flex;
    gap: 11rem;
}
.header__link{
    display: flex;
    align-items: center;
}
.header__link-internal{
    gap: 5.1rem;
}
.header__link-cta{
    gap: 1.8rem;
}
.header__link li.trial{
    margin-left: 1.6rem;
}
.header__link a{
    font-size: 1.7rem;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: #fff;
}
.header__link li.trial a,
.header__link li.contact a{
    width: 18.4rem;
    height: 3.4rem;
    border-radius: 3.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.header__link li.trial a{
    background-color: #990a0a;
}
.header__link li.contact a{
    color: #990a0a;
    background-color: #fff;
    border: 0.2rem solid #990a0a;
}
.header__btn{
    width: 4rem;
	height: 7.8rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	position: relative;
	display: none;
}
.header__btn span{
	width: 4rem;
	height: 0.2rem;
	background-color: #fff;
	transition: all 0.3s ease-in-out;
}
.header__btn.is-opened span:nth-of-type(1){
	rotate: -45deg;
	translate: 0 1.2rem;
}
.header__btn.is-opened span:nth-of-type(2){
	opacity: 0;
}
.header__btn.is-opened span:nth-of-type(3){
	rotate: 45deg;
	translate: 0 -1.2rem;
}
@media screen and (max-width: 1140px) {
    .header__sp{
        display: none;
        width: 100%;
        height: 100%;
        padding: 10.8rem 5rem;
        position: fixed;
        top: 0;
        left: 0;
    }
    .header__sp.is-active{
		display: block;
	}
    .header__sp::before{
        content: "";
        width: 100%;
        height: 100%;
        background: #FFFF;
        background: linear-gradient(-90deg, rgba(255, 255, 255, 1) 0%, rgba(0, 0, 0, 1) 100%);
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        opacity: 0.9;
    }
    .header__btn{
		display: flex;
        position: relative;
        z-index: 99;
	}
    .header__nav{
        flex-direction: column;
        gap: 5rem;
    }
    .header__link{
        flex-direction: column;
        align-items: flex-start;
    }
    .header__link-internal{
        gap: 5rem;
    }
    .header__link-cta{
        gap: 5rem;
    }
    .header__link li.trial{
        margin-left: 0;
    }
    .header__link li.trial a,
    .header__link li.contact a{
        color: #fff;
        width: unset;
        height: unset;
        background-color: unset;
        border: 0;
    }
}
@media screen and (max-width: 767px) {
    .header{
        height: 4rem;
    }
    .header__outer{
        width: calc(100% - 4rem);
        padding: 0;
    }
    .header__logo{
        width: 5rem;
    }
    .header__sp{
        padding: 7.5rem 2.5rem;
    }
    .header__btn{
        width: 2rem;
        height: 4rem;
        gap: 0.5rem;
    }
    .header__btn span{
        width: 2rem;
        height: 0.1rem;
    }
    .header__btn.is-opened span:nth-of-type(1){
        translate: 0 0.6rem;
    }
    .header__btn.is-opened span:nth-of-type(3){
        translate: 0 -0.6rem;
    }
    .header__nav{
        gap: 3rem;
    }
    .header__link-internal{
        gap: 3rem;
    }
    .header__link-cta{
        gap: 3rem;
    }
    .header__link a{
        font-size: 1.4rem;
    }
}


.kv{
    background: #000000;
    overflow: hidden;
    position: relative;
    z-index: 1;
}
.kv__bg{
    width: 58.6rem;
    position: absolute;
    left: calc(50% - 1rem);
    top: -7rem;
}
.kv__outer{
    position: relative;
    z-index: 2;
    padding: 13rem 0 5rem;
    background-color: unset;
}
.kv__catch{
    max-width: 100%;
    width: 69.2rem;
    margin-bottom: 4rem;
}
.kv__desc{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}
.kv__desc p{
    font-family: "Noto Serif JP", serif;
    font-size: 2.7rem;
    letter-spacing: 0.04em;
    font-weight: 700;
    color: #fff;
    max-width: 100%;
    width: 70rem;
    height: 4.7rem;
    padding-left: 3rem;
    background-color: #a99260;
    display: flex;
    align-items: center;
    position: relative;
}
.kv__desc p::before{
    content: "";
    width: calc((100vw - 104rem) / 2 + 0.5rem);
    height: 100%;
    background-color: #a99260;
    position: absolute;
    top: 0;
    right: calc(100% - 0.5rem);
    z-index: -1;
}
.kv__trial{
    width: 24.6rem;
    position: absolute;
    right: 4rem;
    bottom: 4.2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.kv__trial div{
    width: 100%;
}
.kv__trial p{
    font-size: 1.8rem;
    letter-spacing: 0.06em;
    font-weight: 700;
    color: #f30066;
    width: 22rem;
    height: 3.9rem;
    background-color: #ffff00;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: -3.9rem;
}
@media screen and (max-width: 1140px) {
    .kv__desc p::before{
        width: calc(2.5rem + 0.5rem);
    }
}
@media screen and (max-width: 767px) {
    .kv__outer{
        padding: 6rem 0 2rem;
    }
    .kv__bg{
        width: 30rem;
        top: 11.2rem;
        left: 50%;
        translate: -50% 0;
    }
    .kv__catch{
        width: 30.6rem;
        margin: 0 auto 15.2rem;
    }
    .kv__desc p{
        font-size: 1.4rem;
        width: 35rem;
        height: 2.4rem;
        padding-left: 0rem;
    }
    .kv__trial{
        width: 11rem;
        right: -0.8rem;
        bottom: 9rem;
    }
    .kv__trial p{
        font-size: 1rem;
        width: 8.3rem;
        height: 1.5rem;
        margin-top: -1.5rem;
    }
}


section{
    position: relative;
    z-index: 2;
}
.sec__ttl{
    height: 15rem;
    background-color: #000000;
    position: relative;
    border-top: 1.6rem solid #990a0a;
    border-bottom: 1.6rem solid #990a0a;
    position: relative;
    z-index: 4;
}
.sec__ttl h2{
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
}
@media screen and (max-width: 1140px) {

}
@media screen and (max-width: 767px) {
    .sec__ttl{
        height: 8.5rem;
        border-top: 0.8rem solid #990a0a;
        border-bottom: 0.8rem solid #990a0a;
    }
}


.nayami{
    
}
.nayami__outer{
    padding: 6rem 0 12rem
}
.nayami__h2{
    margin-bottom: 6rem;
}
.nayami__h2,
.nayami__h2 span{
    font-family: "Noto Serif JP", serif;
    font-size: 5.5rem;
    line-height: 1.2;
    font-weight: 700;
    text-align: center;
    color: #000000;
}
.nayami__h2 .fs{
    font-family: "Noto Serif JP", serif;
    font-size: 7.7rem;
    font-weight: 700;
}
.nayami__h2 .marker{
    position: relative;
}
.nayami__h2 .marker::before{
    content: "";
    width: calc(100% - 1rem);
    height: 0.5rem;
    background-color: #990a0a;
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 0;
}
.nayami__list{
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    width: fit-content;
    margin: 0 auto 1rem;
}
.nayami__list li{
    font-size: 3.2rem;
    line-height: 1.4;
    letter-spacing: 0.06em;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.4em;
}
.nayami__list li::before{
    content: "□";
}
.nayami__arrow{
    max-width: 100%;
    width: 89.2rem;
    margin: 0 auto 4.6rem;
    display: block;
    mix-blend-mode: multiply;
}
.nayami__catch{
    max-width: calc(100% - 5rem);
    width: 84.2rem;
    margin: 0 auto;
}
@media screen and (max-width: 1140px) {
    .nayami__h2,
    .nayami__h2 span{
        font-size: 4rem;
    }
    .nayami__h2 .fs{
        font-size: 6rem;
    }
    .nayami__list li{
        font-size: 2.8rem;
    }
}
@media screen and (max-width: 767px) {
    .nayami__outer{
        padding: 4rem 0 5rem
    }
    .nayami__h2{
        margin-bottom: 3rem;
    }
    .nayami__h2,
    .nayami__h2 span{
        font-size: 2rem;
    }
    .nayami__h2 .fs{
        font-size: 2.8rem;
    }
    .nayami__h2 .marker::before{
        height: 0.3rem;
        bottom: -0.4rem;
    }
    .nayami__list{
        gap: 0.7rem;
        margin-bottom: 2rem;
    }
    .nayami__list li{
        font-size: 1.6rem;
    }
    .nayami__arrow{
        margin: 0 auto 2.5rem;
    }
    .nayami__catch{
        max-width: unset;
        width: 32rem;
    }
}


.feature{
    margin-top: -6rem;
    padding-top: 6rem;
}
.feature__ttl h2{
    max-width: 100%;
    width: 62.7rem;
}
.feature__outer{
    padding: 9rem 0 12rem;
}
.feature__support{
    max-width: 100%;
    width: 82rem;
    display: flex;
    gap: 2rem;
    margin: 0 auto 5rem;
}
.feature__support > div{
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.feature__support dt{
    flex-shrink: 0;
    filter: drop-shadow(0.4rem 0.4rem 0 rgba(0, 0, 0, 0.25));
}
.feature__support dt span{
    font-size: 2.6rem;
    letter-spacing: 0.04em;
    font-weight: 700;
    color: #fff;
    width: 23rem;
    height: 6.4rem;
    padding: 0 6rem 0 4rem;
    background-color: #990a0a;
    clip-path: polygon(0% 0%, 85% 0, 100% 50%, 85% 100%, 0% 100%);
    display: flex;
    align-items: center;
    position: relative;
}
.feature__support dd{
    font-size: 2.4rem;
    letter-spacing: 0.04em;
    font-weight: 700;
    color: #fff;
    height: 6.4rem;
    padding: 0 3.4rem;
    background-color: #000;
    border: 0.4rem solid #990a0a;
    display: flex;
    align-items: center;
    justify-content: center;
}
.feature__box{
    padding: 0 8rem 3rem;
    position: relative;
    z-index: 2;
}
.feature__box::before{
    content: "";
    width: 100%;
    height: calc(100% - 11rem);
    background-color: #990a0a;
    border-radius: 1.8rem;
    opacity: 0.2;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
}
.feature__img{
    margin: 0 auto 3rem;
}
.feature__list{
    display: flex;
    justify-content: center;
}
.feature__list > li{
    width: calc(100% / 3);
    display: flex;
    flex-direction: column;
    align-items: center;
}
.feature__list img{
    width: 17rem;
    margin: 0 auto 1.5rem;
}
.feature__list span{
    font-size: 2.4rem;
    line-height: 1.2;
    letter-spacing: 0.04em;
    font-weight: 700;
    color: #606060;
}
.feature__list p{
    font-family: "Noto Serif JP", serif;
    font-size: 2.8rem;
    line-height: 1.2;
    letter-spacing: 0.04em;
    font-weight: 900;
    text-align: center;
    color: #a42424;
}
.feature__01{
    margin-bottom: 7rem;
}
.feature__02 .feature__list > li{
    width: calc(100% / 2);
}
@media screen and (max-width: 1140px) {
    .feature__support{
        align-items: center;
    }
    .feature__support > div{
        flex-wrap: wrap;
        gap: 1rem;
    }
    .feature__support dd{
        flex-grow: 1;
    }
    .feature__box{
        padding: 0 3rem 3rem;
    }
}
@media screen and (max-width: 767px) {
    .feature__ttl h2{
        width: 31.4rem;
    }
    .feature__outer{
        padding: 4.5rem 0 6rem;
    }
    .feature__support{
        gap: 1rem;
        margin: 0 auto 2.5rem;
    }
    .feature__support > div{
        gap: 1rem;
    }
    .feature__support dt span{
        font-size: 1.3rem;
        width: 11.5rem;
        height: 3.2rem;
        padding: 0 3rem 0 2rem;
    }
    .feature__support dd{
        font-size: 1.2rem;
        height: 3.2rem;
        padding: 0 1.7rem;
        border: 0.2rem solid #990a0a;
    }
    .feature__box{
        padding: 0 2rem 3rem;
    }
    .feature__box::before{
        height: calc(100% - 6rem);
        border-radius: 1rem;
    }
    .feature__img{
        margin: 0 auto 2rem;
    }
    .feature__list{
        flex-wrap: wrap;
        gap: 2rem 0;
    }
    .feature__list > li{
        width: 50%;
    }
    .feature__list img{
        width: 8.5rem;
        margin: 0 auto 0.8rem;
    }
    .feature__list span{
        font-size: 1.4rem;
    }
    .feature__list p{
        font-size: 1.6rem;
    }
    .feature__01{
        margin-bottom: 3rem;
    }
    .feature__02 .feature__list > li{
        width: 100%;
    }
}

.future{

}
.future__ttl h2{
    max-width: calc(100% - 5rem);
    width: 91.2rem;
}
.future__outer{
    padding: 9rem 0;
}
.future__lead{
    font-family: "Noto Serif JP", serif;
    font-size: 5.2rem;
    letter-spacing: 0.04em;
    font-weight: 700;
    text-align: center;
    color: #990a0a;
    width: fit-content;
    margin: 0 auto 9rem;
    position: relative;
    translate: 2rem 0;
}
.future__lead::after{
    content: "";
    max-width: 100%;
    width: 90.8rem;
    height: 1.8rem;
    background-image: url(../img/future__lead.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    left: calc(50% - 2rem);
    bottom: -2.5rem;
    translate: -50% 0;
}
.future__list{
    display: flex;
    position: relative;
}
.future__list::before{
    content: "";
    width: 0.1rem;
    height: calc(100% + 2rem);
    background-color: #231f20;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
}
.future__list > li{
    width: 50%;
    padding: 0 4rem;
}
.future__img{
    max-width: 100%;
    width: 37rem;
    margin: 0 auto 3rem;
}
.future__catch{
    height: calc(3.8rem * 2);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 3rem;
}
.future__catch p{
    font-size: 2.8rem;
    line-height: 3.8rem;
    letter-spacing: 0.04em;
    font-weight: 700;
    text-align: center;
    color: #990a0a;
}
.future__catch span{
    font-weight: 700;
    border-bottom: 0.3rem solid #ff0032;
}
.future__desc{
    font-size: 2.4rem;
    line-height: 1.7;
    letter-spacing: 0.06em;
}
@media screen and (max-width: 1140px) {
    .future__lead{
        font-size: 4rem;
    }
}
@media screen and (max-width: 767px) {
    .future__ttl h2{
        max-width: unset;
        width: 32.5rem;
    }
    .future__outer{
        padding: 4.5rem 0;
    }
    .future__lead{
        font-size: 2.6rem;
        line-height: 1.25;
        margin: 0 auto 4.5rem;
        translate: 1rem 0;
    }
    .future__lead::after{
        left: calc(50% - 1rem);
    }
    .future__list{
        flex-direction: column;
        gap: 3rem;
    }
    .future__list::before{
        display: none;
    }
    .future__list > li{
        width: 100%;
    }
    .future__img{
        width: 24rem;
        margin: 0 auto 1.5rem;
    }
    .future__catch{
        height: unset;
        margin-bottom: 1.5rem;
    }
    .future__catch p{
        font-size: 1.8rem;
        line-height: 1.25;
    }
    .future__catch span{
        border-bottom: 0.2rem solid #ff0032;
    }
    .future__desc{
        font-size: 1.4rem;
    }
}


.cta__box{
    padding: 1rem;
    max-width: calc(100% - 5rem);
    width: 96rem;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: center;
    gap: 3rem;
    margin: 0 auto;
    position: relative;
}
.cta__bg{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.cta__bg span{
    width: 15.4rem;
    height: 15.4rem;
    background-image: url(../img/cta__bg.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
}
.cta__bg span:nth-of-type(1){
    top: 0;
    left: 0;
}
.cta__bg span:nth-of-type(2){
    top: 0;
    right: 0;
    rotate: 90deg;
}
.cta__bg span:nth-of-type(3){
    left: 0;
    bottom: 0;
    rotate: -90deg;
}
.cta__bg span:nth-of-type(4){
    bottom: 0;
    right: 0;
    rotate: 180deg;
}
.cta__catch{
    display: flex;
    flex-direction: column;
    gap: 2rem;
    white-space: nowrap;
    word-break: keep-all;
    writing-mode: vertical-rl;
}
.cta__catch p{
    font-family: "Noto Serif JP", serif;
    font-size: 8.6rem;
    line-height: 1.2;
    font-weight: 900;
    color: #990a0a;
}
.cta__catch span{
    font-family: "Noto Serif JP", serif;
    font-size: 5.4rem;
    line-height: 1.2;
    font-weight: 700;
    color: #000;
}
.cta__trial{
    width: 53.8rem;
    position: relative;
}
.cta__trial div{
    width: 100%;
}
.cta__trial p{
    font-size: 2.8rem;
    letter-spacing: 0.06em;
    font-weight: 700;
    color: #fff;
    width: calc(100% - 7.8rem);
    height: 5.6rem;
    background-color: #f30066;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 50%;
    bottom: 4.5rem;
    translate: -50% 0;
}
@media screen and (max-width: 1140px) {
    .cta__box{
        padding: 6rem 3rem;
        gap: 2rem;
    }
    .cta__catch p{
        font-size: 6.6rem;
    }
    .cta__catch span{
        font-size: 4.4rem;
    }
}
@media screen and (max-width: 767px) {
    .cta__box{
        padding: 3rem 2rem;
        max-width: unset;
        width: calc(100% - 2rem);
        gap: 1.5rem;
    }
    .cta__bg span{
        width: 7.7rem;
        height: 7.7rem;
    }
    .cta__catch{
        gap: 1rem;
    }
    .cta__catch p{
        font-size: 3rem;
    }
    .cta__catch span{
        font-size: 2rem;
    }
    .cta__trial{
        width: 27rem;
    }
    .cta__trial p{
        font-size: 1.2rem;
        width: calc(100% - 4rem);
        height: 2rem;
        bottom: 1.5rem;
    }
}

.news{

}
.news__outer{
    padding: 9rem 0 7rem;
}
.news__h2{
    font-family: "Noto Serif JP", serif;
    font-size: 5.2rem;
    letter-spacing: 0.04em;
    font-weight: 700;
    color: #990a0a;
    width: fit-content;
    margin: 0 auto 4rem;
    position: relative;
}
.news__h2::after{
    content: "";
    width: 27.5rem;
    height: 1.4rem;
    background-image: url(../img/news__h2.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    left: calc(50%);
    bottom: -1.5rem;
    translate: -50% 0;
}
.news__outer{
    padding: 9rem 0;
}
.news__list{
    display: flex;
    flex-direction: column;
    gap: 2rem;   
}
.news__list > li{
    padding: 0.8rem 0;
    border-bottom: 0.1rem solid #323232;
}
.news__info{
    display: flex;
    align-items: center;
    gap: 1.6rem;
    margin-bottom: 0.6rem;
}
.news__info .cat{
    font-size: 1.7rem;
    color: #fff;
    padding: 0.6rem 1.2rem;
    background-color: #990a0a;
}
.news__info .cat.cat-new{
    background-color: #0066cc;
}
.news__info .cat.cat-media{
    background-color: #ff8c00;
}
.news__info .date{
    font-size: 1.8rem;
    color: #990a0a;
}
.news__content{
    font-size: 1.7rem;
    line-height: 1.6;
    letter-spacing: 0.04em;
}
@media screen and (max-width: 1140px) {

}
@media screen and (max-width: 767px) {
    .news__outer{
        padding: 4.5rem 0 3.5rem;
    }
    .news__h2{
        font-size: 2.6rem;
        margin: 0 auto 3rem;
    }
    .news__h2::after{
        width: 13.8rem;
        height: 0.7rem;
        bottom: -1rem;
    }
    .news__outer{
        padding: 4.5rem 0;
    }
    .news__list{
        gap: 1rem;   
    }
    .news__list > li{
        padding: 0.6rem 0;
    }
    .news__info{
        gap: 0.8rem;
        margin-bottom: 0.3rem;
    }
    .news__info .cat{
        font-size: 1rem;
        padding: 0.3rem 0.6rem;
    }
    .news__info .date{
        font-size: 1.2rem;
    }
    .news__content{
        font-size: 1.4rem;
    }
}




.form{
    position: relative;
}
.form__outer{
    padding: 6rem 0 12rem;
}
.form__inner{
    background: #c9d6e9;
    min-height: 10rem;
    padding: 1rem;
}
.form__box{
    background-color: #fff;
    padding: 5rem;
}
@media screen and (max-width: 1140px) {

}
@media screen and (max-width: 767px) {
    .form{

    }
    .form__outer{
        padding: 3rem 0 6rem;
    }
    .form__inner{
        padding: 0.5rem;
        min-height: 4rem;
    }
    .form__box{
        padding: 2rem;
    }
}


.footer{
    padding: 4rem 0;
    background-color: #606060;
}
.footer__inner{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.contact{
    display: flex;
    align-items: center;
    gap: 6rem;
}
.contact__ttl{
    width: 25.7rem;
}
.contact__lead{
    font-size: 2.1rem;
    letter-spacing: 0.06em;
    font-weight: 700;
    color: #fff;
    padding-bottom: 1.5rem;
    border-bottom: 0.1rem solid;
    margin-bottom: 2rem;
}
.contact__list{
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}
.contact__item{
    display: flex;
    align-items: center;
    gap: 1rem;
}
.contact__item dt{
    font-size: 2.7rem;
    line-height: 1.2;
    letter-spacing: 0.04em;
    font-weight: 700;
    color: #fff;
    width: 8rem;
    flex-shrink: 0;
    position: relative;
}
.contact__item dt::after{
    content: "";
    width: 0.9rem;
    height: 1.5rem;
    background-color: #fff;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    position: absolute;
    right: 0;
    bottom: 0.8rem;
}
.contact__item dd{
    font-size: 3rem;
    line-height: 1.2;
    letter-spacing: 0.04em;
    font-weight: 700;
    color: #fff;
}
.contact__item dd a{
    color: #fff;
    display: inline-block;
}
.contact__item dd span{
    font-size: 2.4rem;
    line-height: 1.2;
    letter-spacing: 0.04em;
    font-weight: 700;
    color: #fff;
}
@media screen and (max-width: 1140px) {
    .footer__inner{
        width: calc((100% - 5rem));
    }
    .contact{
        flex-direction: column;
    }
    .contact__item dd span{
        display: block;
    }
}
@media screen and (max-width: 767px) {
    .footer__inner{
        width: calc((100% - 2rem));
    }
    .contact{
        flex-direction: column;
        gap: 3rem;
    }
    .contact__ttl{
        width: 16rem;
    }
    .contact__lead{
        font-size: 1.4rem;
        padding-bottom: 1rem;
        margin-bottom: 1.2rem;
    }
    .contact__item dt{
        font-size: 1.8rem;
        width: 6rem;
    }
    .contact__item dt::after{
        bottom: 0.4rem;
    }
    .contact__item dd{
        font-size: 1.8rem;
    }
    .contact__item dd span{
        font-size: 1.6rem;
        display: block;
    }
}

