@charset "utf-8";

/*共通*/
html,
body {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: normal;
    font-style: normal;
    font-optical-sizing: auto;
    line-height: 1.5;
    letter-spacing: 0.1em;
    overflow-x: clip;
    background-color: #FFF;
    color: #2C2C2C;
}

.sans {
    font-family: "Noto Sans JP", sans-serif;
}

.ten {
    font-family: ten-mincho-text, serif;
}
.fc-white {
    color: #FFF;
}
.fc-blue {
    color: #0F90DB;
}
a {
    color: #0F90DB;
    transition: all 0.3s;
}
a:hover {
    color: #044164;
    text-decoration: none;
}
/* ボタン */

.button1 {
    display: inline-block;
    padding: 8px 30px;
    border: 1px solid #0F90DB;
    border-radius: 50px;
    font-size: 12px;
    color: #0f90DB;
    text-decoration: none;
    text-align: center;
    background-color: #fff;
    transition: .3s;
}

.button1:hover {
    background: #0f90DB;
    color: #FFF;
    text-decoration: none;
}

.button2 {
    display: inline-block;
    padding: 10px 27px;
    border: 1px solid #0F90DB;
    border-radius: 50px;
    font-size: 12px;
    color: #0f90DB;
    text-decoration: none;
    text-align: center;
    background-color: #fff;
    transition: .3s;
}

.button2:hover {
    background: #0f90DB;
    color: #FFF;
    text-decoration: none;
}

/* ナビ */
.a-nav {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1000;
    padding: 10px;
}

.a-nav li a {
    color: #0F90DB;
    text-shadow: 0 0 2px #fff;
}

.top-logo {
    height: 32px;
    width: auto;
}

.a-burger {
    position: relative;
    width: 44px;
    height: 44px;
    border-radius: 44px;
    border: 1px solid #0F90DB;
    background-color: rgba(255, 255, 255, 0.5);
    transition: all 0.3s;
    transform-origin: center;
}
.a-burger:hover {
    background-color: rgba(255, 255, 255, 0.8);
    cursor: pointer;
    transform: scale(1.05);
}
.a-burger div {
    position: absolute;
    left: 11px;
    width: 20px;
    height: 2px;
    border-radius: 2px;
    background-color: #0F90DB;
    transition: all 0.3s;
}
.a-burger > div:first-child {
    top: 17px;
}
.a-burger > div:last-child {
    bottom: 17px;
}
.a-burger.is-active > div:first-child {
    top: 21px;
    transform: rotate(45deg);
}
.a-burger.is-active > div:last-child {
    top: 21px;
    bottom: auto;
    transform: rotate(-45deg);
}
.a-nav-menu {
    display: none;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 15px;

    position: absolute;
    top: 76px;
    right: 16px;
    border: 1px solid#0F90DB;
}

/* ファーストビュー */
.top-title {
    font-size: 30px;
    font-weight: normal;
}
.fv-text {
    height: calc(100vh - 90px - 110vw / 1404 * 1080 - 5vh);
    padding-top: 45px;
}
.top-subtitle {
    display: inline-block;
    font-size: 13px;
    border-top: 1px solid #0f90DB;
    border-bottom: 1px solid #0F90DB;
}

.top-subtitle2 {
    font-size: 100px;
    letter-spacing: -0.05em;
}

.top-subtitle2 span {
    font-size: 50px;
}
.news-area {
    position: absolute;
    bottom: 10px;
    left: 0;
    width: 100%;
    padding: 10px;
    z-index: 20;
}
.news-cont {
    display: inline-block;
    padding: 10px 20px;
    width: 100%;
    border: 1px solid #0F90DB;
    border-radius: 10px;
    font-size: 12px;
    color: #2C2C2C;
    text-decoration: none;
    text-align: center;
    background-color: #fff;
    transition: .3s;
}

@media (min-width:768px) {
    .fv-text {
        height: calc(100vh - 90px - 90vw / 1404 * 1080 - 5vh);
        padding-top: 90px;
    }
    .top-title {
        font-size: 50px;
    }
    
    .top-subtitle {
        font-size: 20px;
        padding: 10px;
    }
    
    .top-subtitle2 {
        font-size: 170px;
    }
    
    .top-subtitle2 span {
        font-size: 85px;
    }
    .news-cont {
        width: auto;
    }
}
@media (min-width:992px) {
    .fv {
        height: 100vh;
        display: flex; 
        align-items: center;
    }
    
    .fv-text {
        min-width: 380px;
    }
    
    .top-title {
        font-size: 50px;
    }
    
    .top-subtitle {
        font-size: 20px;
        padding: 10px;
    }
    
    .top-subtitle2 {
        font-size: 170px;
        letter-spacing: -0.05em;
    }
    
    .top-subtitle2 span {
        font-size: 85px;
    }
}

/* ファーストビュービデオ */


.video-area {
    position: absolute;
    left: -5vw;
    bottom: -5vh;
    width: 110vw;
    height: calc(110vw / 1404 * 1080 );
    overflow: visible;
  }
  
  .video-container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: visible;
  }
  .video-container video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    clip-path: url(#video-clip);
  }
  #video-mask {
    width: 100%;
    height: 100%;
  }
.mask-svg {
    position: absolute;
    top: 0;
    left: 0;
}
@media (min-width:768px) {
    .video-area {
        position: absolute;
        left: 10vw;
        bottom: -5vh;
        width: 90vw;
        height: calc(90vw / 1404 * 1080 );
        overflow: visible;
      }
}
@media (min-width:992px) {
    .video-area {
        position: absolute;
        bottom: auto;
        right: auto;
        top: 50%;
        left: 400px;
        width: calc(110vh / 1080 * 1404);
        height: 110vh ;
        overflow: visible;
        transform: translateY(-50%);
      }
}

/* SVG clip-path definition */
svg.clip-defs {
  position: absolute;
  width: 0;
  height: 0;
}

/* セクション１ */

.sec1 {
    margin-top: 100px;
    position: relative;
}

.sakana1 {
    width: 20%;
    height: auto;
    position: absolute;
    top: 0%;
    left: 12%;
}

.sakana2 {
    width: 20%;
    height: auto;
    position: absolute;
    bottom: 5%;
    right: 12%;
}

.img1 {
    border-top-left-radius: 80px;
}

.sec-cont {
    margin-top: -50px;
}

.business-bg {
    border-top-right-radius: 80px;
    background-color: #FFF;
    padding: 50px 30px;
}


.business-content {
    font-size: 12px;
    line-height: 2.6;
}
@media (min-width:992px) {
    .sec-cont {
        margin-top: -203px;
    }
    .business-bg {
        padding-top: 65px;
        padding-bottom: 150px;
        padding-right: 140px;
    }
}
.img2 {
    border-top-right-radius: 80px;
}

.business-title2 {
    font-size: 32px;
    margin-bottom: 5px;
    line-height: 1.8;
}

.bb-blue {
    border-bottom: solid 1px #0F90DB;
}

.business_content2 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
}

.business_content2-2 {
    font-size: 16px;
    line-height: 1.8;
    margin-left: 18px;
}

.li_style {
    list-style: square;
}

.business-bg2 {
    border-top-right-radius: 0;
    border-top-left-radius: 80px;
}
@media (min-width:992px) {
    .business-bg2 {
        padding-left: 65px;
    } 
}
/*セクション２*/

.sec2 {
    margin-top: 10px;
    position: relative;
}

.sakana3 {
    width: 12%;
    height: auto;
    position: absolute;
    top: 0%;
    right: 20%;
}

.company-title {
    font-size: 36px;
    margin-bottom: 15px;
    text-align: center;
}

.company-line {
    width: 110px;
    border-top: solid 1px #0F90DB;
    margin-bottom: 50px;
    margin: auto;
    margin-bottom: 60px;
}

.li-line {
    border-bottom: solid 1px #000;
    margin-bottom: 18px;
}

.li-text {
    margin-bottom: 18px;
}



@media (min-width:768px){
    .li-text {
        text-align-last: justify;
    } 
}

.li-text2 {
    letter-spacing: 0.5em;
    margin-bottom: 18px;
   
}
.li-text.is-first,
.li-text2.is-first {
    margin-bottom: 10px;
   
}

/* セクション3 */
.sec3 {
    margin-top: 50px;
    position: relative;
}


.sakana4 {
    width: 20%;
    height: auto;
    position: absolute;
    top: -4%;
    left: 12%;
}
@media (min-width:992px) {
    .sakana4 {
        top: -20%;
    }
}
.sakana5 {
    width: 10%;
    height: auto;
    position: absolute;
    top: -5%;
    right: 12%;
}

.logo2 {
    width: 44%;
    height: auto;
}
@media (min-width:992px) {
    .logo2 {
        width: 22%;
        max-width: 250px;
    }
}

/* フッター */
.footer {
    background-color: #0F90DB;
    padding-top: 22px;
    padding-bottom: 10px;
}

.footer a {
    color: #FFF;
    text-decoration: none;
}

.footer a:hover {
    transition: .3s;
    color: rgba(255, 255, 255, 0.8);
}

.footer-img {
    height: 100px;
    background-image: url(img/nami_pattern.svg);
    background-position: center;
    background-repeat: repeat-x;
    margin-bottom: -58px;
}

.footer-logo {
    width: 225px;
    height: auto;
}

.footer-text {
    font-size: 12px;
    text-decoration: none;
    color: #fff;
}

.copyright {
    font-size: 10px;
    color: #FFF;
    text-align: center;
}