@charset "UTF-8";

html,body,p,img,h1,h2,h3 {
    margin: 0;
    padding: 0;
}

body {
    font-size: 10px;
    font-family: "Noto Sans JP", Meiryo, sans-serif;
    font-weight: 500;
}

/* 
=========================================
共通パーツ
=========================================
 */

#phase-free .a-Ff-sans {
    font-family: "Noto Sans JP", Meiryo, sans-serif;
}

#phase-free .a-Ff-serif {
    font-family: "Hiragino Mincho ProN" ,serif;
}

#phase-free .a-Fw400 {
    font-weight: 400;
}

#phase-free .a-Fw500 {
    font-weight: 500;
}

#phase-free .a-Fw600 {
    font-weight: 600;
}

#phase-free .a-Fw700 {
    font-weight: 700;
}

#phase-free .a-Fw800 {
    font-weight: 700;
}

#phase-free .a-Fs9 {
    font-size: clamp(9px, 1.111111111vw, 16px);
}

#phase-free .a-Fs11 {
    font-size: clamp(11px, 1.319444444vw, 19px);
}

#phase-free .a-Fs12 {
    font-size: clamp(12px, 1.666666666vw, 24px);
}

#phase-free .a-Fs13 {
    font-size: clamp(13px, 2.125vw, 25px);
}

#phase-free .a-Fs14 {
    font-size: clamp(14px, 1.805555555vw, 26px);
}

#phase-free .a-Fs16 {
    font-size: clamp(16px, 2.2222222222vw, 32px);
}

#phase-free .a-Fs18 {
    font-size: clamp(18px, 2.430555555vw, 35px);
}

#phase-free .a-Fs20 {
    font-size: clamp(20px, 3.125vw, 45px);
}

#phase-free .a-Fs22 {
    font-size: clamp(22px, 3.333333333vw, 48px);
}

#phase-free .a-Fs23 {
    font-size: clamp(23px, 4.097222222vw, 59px);
}

#phase-free .a-Fs24 {
    font-size: clamp(24px, 4.166666666vw, 60px);
}

#phase-free .a-Fs26 {
    font-size: clamp(26px, 3.472222222vw, 50px);
}

#phase-free .a-Fs30 {
    font-size: clamp(30px, 4.166666666vw, 60px);
}

#phase-free .a-Inner {
    max-width: 1140px;
    width: 80%;
    margin: 0 auto;
    position: relative;
}

@media only screen and (max-width: 768px) {
    #phase-free .a-Inner {
    width: 90%;
    margin: 0 auto;
}
}


#phase-free .phase-free--blue {
    color: #055a8e;
}

#phase-free .phase-free--green {
    color: #00979c;
}

#phase-free .a-pc-None {
    display: none;
}

#phase-free .a-sp-None {
    display: block;
}

#phase-free .a-spS-Block {
    display: none;
}

@media only screen and (max-width: 768px) {
    #phase-free .a-pc-None {
        display: block;
    }

    #phase-free .a-sp-None {
        display: none;
    }
}

@media only screen and (max-width: 425px) {
    #phase-free .a-spS-Block {
        display: block;
    }
}


/* 
=========================================
main
=========================================
 */

/* top */
/* #phase-free .top {
    padding-top: 100px;
}

@media only screen and (max-width: 768px) {
    #phase-free .top {
        padding-top: 170px;
}

}
@media only screen and (max-width: 767px) {
    #phase-free .top {
        padding-top: 55px;
}
} */

#phase-free .top__fv {
    width: 100%;
    position: relative;
}

#phase-free .top__img img {
    display: block;
    width: 100%;
    object-fit: cover;
}

#phase-free .top__catch-copy {
    position: absolute;
    color: #fff;
    top: 5%;
    right: 10%;
    writing-mode: vertical-rl;
}

@media only screen and (max-width: 768px) {
    #phase-free .top__catch-copy {
    position: absolute;
    color: #fff;
    top: 5%;
    left: 4%;
    writing-mode: horizontal-tb;
}
}


#phase-free .top__catch-copy p {
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4), 0px 0px 10px #6694CB;
}

@media only screen and (max-width: 768px) {
        #phase-free .top__catch-copy p {
        text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.4);
    }
}


#phase-free .top__Key-point {
    background-color: #02224d;
    color: #fff;
    padding: 2rem 0;
    position: relative;
}

#phase-free .top__Key-point__ttl {
    border-top: 1px solid #FFF;
    border-bottom: 1px solid #FFF;
    padding: 1.4rem 0.5em;
    margin: .5em auto;
    font-size: clamp(16px, 2.916666666vw, 42px);
    line-height: 1.7em;
    text-align: center;
}

@media only screen and (max-width: 768px) {
    #phase-free .top__Key-point__ttl {
        text-align: left;
}
}

#phase-free .top__Key-point__ttl span {
    font-feature-settings: "palt";
}

#phase-free .top__Key-point__txt-box {
    display: flex;
    justify-content: space-around;
    align-items: center;
    gap: 2em;
}

@media only screen and (max-width: 768px) {
    #phase-free .top__Key-point__txt-box {
        display: block;
        padding-left: 0;
}
}

#phase-free .top__Key-point__txt {
    padding-left: .5em;
}

#phase-free .top__Key-point__img {
    width: min(288px, 25%);
}

@media only screen and (max-width: 768px) {
    #phase-free .top__Key-point__img {
    position: absolute;
    bottom: 0;
    right: 0;
}
}

@media only screen and (max-width: 425px) {
    #phase-free .top__Key-point__img {
        width: 33%;
}
}

#phase-free .top__Key-point__img img {
    object-fit: contain;
    width: 100%;
    height: 100%;
}


/* about */
#phase-free .about {
    background-color: #eaeff6;
    padding-bottom: 10rem;
}

@media only screen and (max-width: 768px) {
    #phase-free .about {
    margin-top: 4rem;
    padding-bottom: 4.8rem;
}
}


#phase-free .about__ttl {
    text-align: center;
    padding-top: 9.52rem;
    padding-bottom: 8.1rem;
}

@media only screen and (max-width: 768px) {
    #phase-free .about__ttl {
        text-align: center;
        padding-top: 2rem;
        padding-bottom: 2.3rem;
    }
}


#phase-free .about__txt {
    padding-bottom: 10.5rem;
    font-size: clamp(14px, 2.125vw, 26px);
}

@media only screen and (max-width: 768px) {
    #phase-free .about__txt {
    padding-bottom: 2.3rem;
}
}

#phase-free .about__reqs {
    background-color: #fff;
    border: 5px solid #055a8e;
    border-radius: 14px;
    overflow: hidden;
    padding: 4.6rem 4.6rem 0;
    margin-bottom: 13rem;
}

@media only screen and (max-width: 768px) {
    #phase-free .about__reqs {
    border: 2px solid #055a8e;
    padding: 1.6rem;
    margin-bottom: 3rem;
}
}

#phase-free .about__reqs__ttl {
    background-color: #055a8e;
    color: #fff;
    border-radius: 50px;
    text-align: center;
    width: min(560px, 80%);
    padding: .5rem;
    margin: 0 auto;
}

#phase-free .about__reqs__box {
    width: fit-content;
    margin: 0 auto;
}

#phase-free .about__reqs__txt {
    padding: 4.2rem 0;
}

@media only screen and (max-width: 768px) {
    #phase-free .about__reqs__txt {
    padding: 1.2rem 0;
}
}

#phase-free .about__reqs__txt.a-Fs16{
    font-size: clamp(16px, 1.666666666vw, 24px);
}

#phase-free .about__reqs__txt.a-Fs12 {
    font-size: clamp(14px, 1.666666666vw, 24px);

}

#phase-free .about__reqs__item {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    width: fit-content;
    margin: 0 auto 1.6rem;
}

#phase-free .about__reqs__item img:nth-of-type(5),
#phase-free .about__reqs__item img:nth-of-type(6) {
    grid-column: span 2;
}

@media only screen and (max-width: 768px) {
    #phase-free .about__reqs__item {
    grid-template-columns: repeat(2, 1fr);
}

#phase-free .about__reqs__item img:nth-of-type(5),
#phase-free .about__reqs__item img:nth-of-type(6) {
    grid-column: 1 / -1;
}
}

#phase-free .about__graph__box {
    position: relative;
}

#phase-free .about__graph__box__txt {
    padding-bottom: 2.3rem;
    font-size: clamp(20px, 2.777777777vw, 40px);
    font-feature-settings: "palt";
}

#phase-free .about__graph__box__txt.a-Fw500 {
    width: 60%;
}

#phase-free .about__graph__txt.a-Fs13.a-Fw500 {
    width: 60%;
}

#phase-free .about__graph__txt {
    line-height: 1.8em;
}

#phase-free .about__graph {
    position: absolute;
    right: 0;
    bottom: -2rem;
    width: min(280px, 40%);
}

@media only screen and (max-width: 768px) {
    #phase-free .about__graph__box__txt.a-Fw500 {
    width: 100%;
}

#phase-free .about__graph__txt.a-Fs13.a-Fw500 {
    width: 60%;
}

#phase-free .about__graph {
    width: min(175px, 35%);
}
}

@media only screen and (max-width: 425px) {
    #phase-free .about__graph {
    bottom: -3rem;
}
}

/* house */
#phase-free .house {
    padding-bottom: clamp(6.8rem, 9.1666666vw, 13.2rem);
}

#phase-free .house__contents__txt-box {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4em;
    color: #3e3a39;
}

@media only screen and (max-width: 768px) {
    #phase-free .house__contents__txt-box {
        display: block;
    }
}

#phase-free .house__ttl {
    font-feature-settings: "palt";
    letter-spacing: .05em;
    text-align: center;
    padding: 17rem 0 15rem;
}

@media only screen and (max-width: 768px) {
    #phase-free .house__ttl {
    padding: 6rem 0;
}
}

#phase-free .house__sub-ttl {
    color: #3e3a39;
    font-feature-settings: "palt";
    letter-spacing: .02em;
    padding-bottom: 4.3rem;
    line-height: 1.4em;
}

@media only screen and (max-width: 768px) {
    #phase-free .house__sub-ttl {
    padding-bottom: 1.2rem;
}
}

#phase-free .house__icon {
    padding-bottom: 3.3rem;
    width: 20.5em
}

@media only screen and (max-width: 768px) {
    #phase-free .house__icon {
    padding-bottom: 3.3rem;
    width: 15em
}
}

/* #phase-free .house__txt {
    flex: 4.6;
} */

#phase-free .house__txt--blue-box {
    border: 2.6px solid #00979c;
    padding: 2em;
    grid-column: 2;
}

@media only screen and (max-width: 768px) {
    #phase-free .house__txt--blue-box {
        margin-top: 2em;
        padding: 1.5em;
}
}

#phase-free .house__txt--blue-box p:nth-of-type(1) {
    padding-bottom: .25em;
}

#phase-free .house__img {
    text-align: center;
    padding-top: 5.8rem;
    padding-bottom: 2rem;
}

@media only screen and (max-width: 768px) {
    #phase-free .house__img {
    padding-top: 2rem;
    padding-bottom: 1rem;
}
}

#phase-free .house__btn {
    display: block;
    border-left: 3px solid #00979c;
    text-align: right;
    padding-left: 3rem;
    padding-bottom: clamp(20px, 8.472222222vw, 122px);
    margin-left: 7rem;
    margin-bottom: 4rem;
}

@media only screen and (max-width: 768px) {
    #phase-free .house__btn {
    margin-left: 3rem;
    margin-bottom: 1rem;
}
}

#phase-free .house__btn a img {
    width: min(480px, 60%);
    margin-top: 3rem;
}

@media only screen and (max-width: 425px) {
    #phase-free .house__btn a img {
    margin-top: 1rem;
}
}

/* resilience */
#phase-free .resilience {
    background-color: #f5f3f2;
    padding-top: clamp(5rem, 11.597222222vw, 16.7rem);
}

#phase-free .resilience__ttl {
    padding-bottom: 6.75rem;
    width: min(440px, 65%);
    margin: 0 auto;
}

@media only screen and (max-width: 768px) {
    #phase-free .resilience__ttl {
    padding-bottom: 1.8rem;
}
}

#phase-free .resilience__sub-ttl {
    text-align: center;
    font-size: clamp(14px, 2.5vw, 36px);
}

#phase-free .resilience__txt {
    color: #3e3a39;
    padding-top: 7.25rem;
    padding-bottom: 8rem;
}

@media only screen and (max-width: 768px) {
    #phase-free .resilience__txt {
    padding-top: 2.8rem;
    padding-bottom: 2rem;
}
}

#phase-free .resilience--lines {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
} 

#phase-free .resilience--lines span {
    width: 35px;
    height: 3px;
    background-color: #00979c;
    display: inline-block;
} 


#phase-free .resilience__contents h3 {
    text-align: center;
    padding-top: 15rem;
    padding-bottom: 3.8rem;
    font-feature-settings: "palt";
} 

@media only screen and (max-width: 768px) {
    #phase-free .resilience__contents h3 {
    padding-top: 4.7rem;
    padding-bottom: 1.6rem;
} 
}

#phase-free .resilience__contents__icon {
    background-color: #00979c;
    color: #fff;
    border-radius: 50px;
    text-align: center;
    align-items: center;
    width: min(470px, 70%);
    padding: .5rem;
    margin: 0 auto 2.1rem;
} 

#phase-free .resilience__contents__box {
    display: flex;
    gap: 14rem;
    justify-content: center;
    padding-bottom: 4.9rem;
} 

@media only screen and (max-width: 768px) {
    #phase-free .resilience__contents__box {
    gap: 2rem;
    padding-bottom: 1.5rem;
} 
}

#phase-free .contents__box__normal {
    flex: 1;
} 

#phase-free .contents__box__normal .a-Fs12{
    color: #3e3a39;
} 

#phase-free .contents__box__normal .phase-free--green.a-Fs16,
#phase-free .contents__box__disaster .phase-free--green.a-Fs16 {
    padding-bottom: .3em;
} 

#phase-free .contents__box__disaster {
    flex: 1;
} 

/* #phase-free .contents__box__note {
    text-align: right;
}  */

#phase-free .contents__box__img {
    text-align: center;
}

#phase-free .resilience__why {
    background-color: #fff;
    padding-top: clamp(4rem, 10.833333333vw, 15.9rem);
    padding-bottom: clamp(4rem, 10.416666666vw, 15rem);
    margin-top: clamp(4rem, 10.416666666vw, 15rem);
} 

#phase-free .resilience__why__ttl {
    width: min(600px, 75%);
    margin: 0 auto;
    padding-left: 2rem;
} 

#phase-free .resilience__why__txt {
    color: #3e3a39;
    padding: 8.9rem 0 9.7rem;
} 

@media only screen and (max-width: 768px) {
    #phase-free .resilience__why__txt {
    padding: 3rem 0 4.8rem;
} 
}

#phase-free .resilience__why__img {
    text-align: center;
} 


/* exhibition-hall */
#phase-free .exhibition-hall h2 {
    text-align: center;
    padding: 5rem 0 8.5rem;
} 

@media only screen and (max-width: 768px) {
    #phase-free .exhibition-hall h2 {
    padding: 5rem 0 2.8rem;
}
} 

#phase-free .exhibition-hall__sub-ttl {
    text-align: center;
    padding-bottom: 6.3rem;
} 

@media only screen and (max-width: 768px) {
    #phase-free .exhibition-hall__sub-ttl {
    padding-bottom: 2rem;
} 
}

#phase-free .exhibition-hall__img {
    text-align: center;
} 

#phase-free .exhibition-hall__txt {
    color: #3e3a39;
    padding: 4.1rem 0 11.1rem;
} 

@media only screen and (max-width: 768px) {
    #phase-free .exhibition-hall__txt {
    padding: 1.8rem 0 3.4rem;
} 
}

#phase-free .exhibition-hall__btn a {
    display: block;
    background-color: #055a8e;
    color: #fff;
    padding: 1.5rem 2rem;
    border-radius: 5px;
    text-decoration: none;
    margin: 0 auto 20rem;
    width: min(370px, 65%);
    text-align: center;
    font-size: clamp(14px, 2.083333333vw, 25px);
} 


@media only screen and (max-width: 768px) {#phase-free .exhibition-hall__btn a {
    margin: 0 auto 2.5rem;
} }