@charset "UTF-8";
.top-mv {
 position: relative;
 width: 100%;
 padding: 140px 0 40px;
 background-image: url("../image/bg-top-mv.png");
 background-repeat: no-repeat;
 background-size: cover;
 background-position: center;
    overflow: hidden;
}
.mv-left{
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.mv-left-top {
    position: relative;
}
.mv-left-top img.mv-left-top-1 {
    display: block;
 width: 100%;
 max-width: 738px;
 height: auto;
    margin-bottom: 10px;
}
.mv-left-top img.mv-left-top-2 {
    position: relative;
    z-index: 2;
 width: 73.2%;
 height: auto;
}
.mv-left-bottom{
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
}
.mv-left-bottom img{
    width: 100%;
     max-width: 638px;
    height: auto;
}
.mv-left-bottom p.mv-text{
    color: #FFF;
font-size: 24px;
font-style: normal;
font-weight: 900;
line-height: 150%; /* 36px */
}
.is-nishizaki{
    position: absolute;
    bottom: -40px;
    right: -170px;
    z-index: 1;
    width: 100%;
    max-width: 540px;
height: 635px;
}
.is-nishizaki::after{
    content: "";
    position: absolute;
    bottom: 170px;
    right: 30px;
    width: 80px;
height: 80px;
aspect-ratio: 1/1;
    background-image: url("../image/bg-top-mv-after.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}
@media screen and (max-width:768px) {
.top-mv {
 position: relative;
 width: 100%;
 padding: 40px 0 30px;
 background-image: url("../image/sp-bg-top-mv.png");
 background-repeat: no-repeat;
 background-size: cover;
 background-position: center;
    overflow: hidden;
}
.mv-left{
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 53px;
}
.mv-left-top {
}
.mv-left-top img.mv-left-top-1 {
content: url("../image/sp-top-katagaki.svg");
 width: 100%;
 max-width: 331px;
 height: auto;
    margin-bottom: 30px;
}
.mv-left-top img.mv-left-top-2 {
content: url("../image/sp-top-name.svg");
 width: 58%;
 height: auto;
}
.mv-left-bottom{
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.mv-left-bottom img{
    content: url("../image/sp-top-catch.svg");
    width: 100%;
     max-width: 312px;
    height: auto;
}
.mv-left-bottom p.mv-text{
font-size: 1.8rem;
line-height: 120%;
}
.is-nishizaki{
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    width: 260px;
        max-width: none;
height: 550px;
}
.is-nishizaki::after{
    content: "";
    position: absolute;
    z-index: 3;
    bottom: 190px;
    right: 22px;
    width: 40px;
height: 40px;
aspect-ratio: 1/1;
    background-image: url("../image/bg-top-mv-after.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}
}
/*メッセージ*/
.section-message{
    position: relative;
    padding: 110px 0 120px;
}
.section-message::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-image: url("../image/bg-message-up.png");
    background-repeat: no-repeat;
    background-size: contain;
    width: 430px;
height: 160px;
}

.section-message .message{
    position: relative;
    align-items: flex-start;
    gap: 7%;
}
.section-message .message::before{
        content: "";
    position: absolute;
    bottom: 0;
    left: -40px;
    background-image: url("../image/bg-message-under.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 80px;
height: 80px;
aspect-ratio: 1/1;
}
@media screen and (max-width:768px) {
.section-message{
    position: relative;
    padding: 60px 0;
}
.section-message::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-image: url("../image/sp-bg-message-up.png");
    background-repeat: no-repeat;
    background-size: contain;
    width: 215px;
height: 80px;
aspect-ratio: 43/16;
}

.section-message .message{
    flex-direction: column;
    gap: 30px;
}
.section-message .message::before{
        content: "";
    position: absolute;
    bottom: auto;
    top: 60px;
    left: -20px;
    background-image: url("../image/bg-message-under.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 40px;
height: 40px;
}
}
.message-inner{
    display: flex;
flex-direction: column;
align-items: flex-start;
gap: 20px;
    width: 100%;
    max-width: 623px;
    margin-top: 10px;
}

.message-inner h3{
    color: #0081CC;
font-size: 24px;
font-style: normal;
font-weight: 900;
line-height: 150%; /* 36px */
}
.message-inner h3 span{
    color: #FF8200;
font-size: 32px;
font-style: normal;
font-weight: 900;
line-height: 120%;
}
.message-inner p{
    color: #333;
font-size: 18px;
font-style: normal;
font-weight: 400;
line-height: 200%; /* 36px */
}
@media screen and (max-width:768px) {
  .message-inner{
    display: flex;
flex-direction: column;
align-items: flex-start;
gap: 15px;
    width: 100%;
    max-width: none;
    margin-top: 0;
}

.message-inner h3{
font-size: 2rem;
line-height: 150%; /* 36px */
}
.message-inner h3 span{
font-size: 2.4rem;
line-height: 150%;
}
.message-inner p{
font-size: 1.6rem;
}  
}
.section-vision{
    padding: 120px 0;
    background-image: url("../image/bg-vision.png");
    background-repeat: no-repeat;
    background-size: cover;
}
.vision-top{
    display: flex;
    flex-direction: column;
    gap: 50px;
    text-align: center;
    margin-bottom: 40px;
}
.vision-top p{
    color: #333;
text-align: center;
font-size: 32px;
font-style: normal;
font-weight: 900;
line-height: 120%; /* 38.4px */
}
@media screen and (max-width:768px) {
    .section-vision{
    padding: 60px 0;
    background-image: url("../image/sp-bg-vision.png");
    background-repeat: no-repeat;
        width: 100%;
        height: auto;
}
.vision-top{
    display: flex;
    flex-direction: column;
    gap: 30px;
    text-align: center;
    margin-bottom: 20px;
}
.vision-top p{
font-size: 2rem;
line-height: 150%; /* 30px */
    }
}
.vision-box{
    position: relative;
    width: 100%;
    padding: 60px;
    border-radius: 20px;
background: #FFF;
    margin-bottom: 30px;
}
.vision-box:last-of-type{
margin-bottom: 0;
}
.vision-box h3{
    color: #0081CC;
text-align: center;
font-size: 32px;
font-style: normal;
font-weight: 900;
line-height: 120%; /* 38.4px */
    margin-bottom: 30px;
}
.vision-box h3 span{
color: #FF8200;
font-size: 40px;
font-style: normal;
font-weight: 900;
line-height: 150%;
}
.vision-box h3::before{
content: "";
    position: absolute;
    top: 26px;
  left: 50%;
  transform: translateX(-50%);
    background-image: url("../image/vision-decoration.svg");
    background-repeat: no-repeat;
    background-size: cover;
    width: 70px;
height: 34px;
}
@media screen and (max-width:768px) {
   .vision-box{
    position: relative;
    width: 100%;
    padding: 40px 6.6%;
    border-radius: 15px;
background: #FFF;
    margin-bottom: 20px;
}
.vision-box:last-of-type{
margin-bottom: 0;
}
.vision-box h3{
font-size: 2.4rem;
line-height: 150%;
    margin-bottom: 20px;
}
.vision-box h3 span{
    display: block;
color: #FF8200;
font-size: 3.2rem;
line-height: 120%;
}
.vision-box h3::before{
content: "";
    position: absolute;
    top: 14px;
  left: 50%;
  transform: translateX(-50%);
    background-image: url("../image/vision-decoration.svg");
    background-repeat: no-repeat;
    background-size: cover;
    width: 53px;
height: 26px;
} 
}
.vision-box ol{
display: flex;
    justify-content: flex-start;
    align-items: stretch;
gap: 20px 2.2%;
    flex-wrap: wrap;
}
.vision-box ol li{
    display: flex;
    justify-content: center;
    align-items: center;
width: 31.8%;
min-width: 220px;
padding: 19px 20px 22px 20px;
gap: 10px;
border-radius: 10px;
background: #0081CC;
    box-sizing: border-box;
}
.vision-box ol li span.vision-num{
    color: #DEF4FF;
text-align: center;
font-family: "Barlow Semi Condensed", sans-serif;
font-size: clamp(50px, 7.5vw, 80px);
font-style: normal;
font-weight: 800;
line-height: 110%; /* 88px */
}
.vision-box ol li span.vision-text{
    color: #FFF;
font-size: 18px;
font-style: normal;
font-weight: 900;
line-height: 120%; /* 21.6px */
        letter-spacing: 0;

}
.vision-box ol li span.vision-text span.colorchange{
    color: #FFF000;
    font-size: 18px;
font-style: normal;
font-weight: 900;
line-height: 120%;
        letter-spacing: 0;

}
.vision-box ul{
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    gap: 20px 2.2%;
    flex-wrap: wrap;
}
.vision-box ul li{
    display: flex;
width: 280px;
padding: 20px 30px 30px 30px;
flex-direction: column;
align-items: center;
gap: 10px;
    border-radius: 10px;
background: #DEF4FF;
    box-sizing: border-box;
}
.vision-box ul li span.vision-heading{
color: #0081CC;
text-align: center;
font-size: 32px;
font-style: normal;
font-weight: 900;
line-height: 120%; /* 38.4px */
}
.vision-box ul li span.vision-detail{
    color: #333;
font-size: 18px;
font-style: normal;
font-weight: 500;
line-height: 150%;
}
.vision-box ul li span.vision-detail span.colorchange{
    color: #FF8200;
    font-size: 18px;
font-style: normal;
font-weight: 900;
line-height: 120%;
        letter-spacing: 0;

}

.vision-box.decoration-1::before{
    content: "";
    position: absolute;
    top: -58px;
    left: -40px;
    z-index: 2;
    background: url("../image/bg-top-mv-after.svg");
    background-repeat: no-repeat;
    background-size: cover;
    width: 80px;
height: 80px;
aspect-ratio: 1/1;
}
@media screen and (max-width:768px) {
.vision-box ol{
display: flex;
    justify-content: flex-start;
    align-items: stretch;
gap: 20px 2.2%;
    flex-wrap: wrap;
}
.vision-box ol li{
    display: flex;
    justify-content: flex-start;
    align-items: center;
width: 100%;
min-width: 287px;
padding: 0 15px 3px 15px;
gap: 10px;
}
.vision-box ol li span.vision-num{
font-size: 6rem;
line-height: 120%; /* 72px */
}
.vision-box ol li span.vision-text{
font-size: 1.6rem;
}
.vision-box ol li span.vision-text span.colorchange{
font-size: 1.6rem;
}

.vision-box ul{
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    gap: 15px;
    flex-wrap: wrap;
}
.vision-box ul li{
display: flex;
width: 100%;
padding: 15px 7% 20px 7%;
flex-direction: column;
align-items: center;
gap: 5px;
    }
.vision-box ul li span.vision-heading{
font-size: 2.4rem;
font-style: normal;
}
.vision-box ul li span.vision-detail{
font-size: 1.6rem;
}
    .vision-box ul li span.vision-detail span.colorchange{
font-size: 1.6rem;
    }
.vision-box.decoration-1::before{
    content: "";
    position: absolute;
    top: 0;
    left: -12px;
    z-index: 2;
    background: url("../image/bg-top-mv-after.svg");
    background-repeat: no-repeat;
    background-size: cover;
    width: 40px;
height: 40px;
aspect-ratio: 1/1;
}

}
.vision-box.decoration-1::after{
    content: "";
    position: absolute;
    bottom: 128px;
    right: -40px;
    z-index: 2;
    background: url("../image/bg-top-mv-after.svg");
    background-repeat: no-repeat;
    background-size: cover;
    width: 80px;
height: 80px;
aspect-ratio: 1/1;
}
.vision-box.decoration-2::before{
    content: "";
    position: absolute;
    bottom: -30px;
    left: -40px;
    z-index: 2;
    background: url("../image/bg-message-under.svg");
    background-repeat: no-repeat;
    background-size: cover;
    width: 80px;
height: 80px;
aspect-ratio: 1/1;
}
.section-sns{
    width: 100%;
    padding: 100px 0 120px;
    background-image: url("../image/bg-sns.png");
    background-repeat: no-repeat;
    background-size: cover;
}
.sns-link ul.sns-icon li a img{
width: 64px;
    height: 64px;
}
@media screen and (max-width:768px) {
   .vision-box.decoration-1::after{
    content: "";
    position: absolute;
    bottom: 10px;
    right: -10px;
    z-index: 2;
    background: url("../image/bg-top-mv-after.svg");
    background-repeat: no-repeat;
    background-size: cover;
    width: 40px;
height: 40px;
aspect-ratio: 1/1;
}
.vision-box.decoration-2::before{
    content: "";
    position: absolute;
    bottom: 20px;
    left: -12px;
    z-index: 2;
    background: url("../image/bg-message-under.svg");
    background-repeat: no-repeat;
    background-size: cover;
    width: 40px;
height: 40px;
aspect-ratio: 1/1;
}
.section-sns{
    width: 100%;
    padding: 100px 0 120px;
    background-image: url("../image/bg-sns.png");
    background-repeat: no-repeat;
    background-size: cover;
}
.sns-link ul.sns-icon li a img{
width: 48px;
height: 48px;
aspect-ratio: 1/1;}
}
