@charset "UTF-8";




#top h3{
    font-size: 36px;
    line-height: 1.5;
    letter-spacing: 0.125em;
}
#top h4{
    font-size: 20px;
    font-weight: bold;
    padding: 0 0 20px;
}

@media all and (max-width:768px) {

    #top h3{
        font-size: 24px;
    }
    #top h4 {
        font-size: 16px;
        padding: 0 0 15px;
    }
  }



/* ***********************************
  mv
* *********************************** */

#top #mv {
    background-image: url(../img/mv-pc.png);
    background-size: 74%;
    background-repeat: no-repeat;
    background-position: top right;
    min-width: 1080px;
    /* margin-top: -110px; */
}

#top #mv .wrapper{
    padding-top: 250px;
    padding-bottom: 160px;
    position: relative;
}

#top #mv .main-copy{
    line-height: 1;
    font-size: 34px;
    padding: 15px 40px;
    font-weight: bold;
    color: #fff;
    border-top-left-radius: 40px;
    background-color: #0D3157;
    margin-bottom: 40px;
    display: inline-block;
}
#top #mv .sub-copy{
    font-weight: bold;
    mix-blend-mode: plus-lighter;
    font-size: 18px;
}

#top #mv .bg-logo{
    position: absolute;
    max-width: 350px;
    right: -70px;
    bottom: -80px;
}

_::-webkit-full-page-media, _:future, :root .sub-copy {
    mix-blend-mode:initial!important;
    text-shadow: 1px 1px 8px #fff;
}

@media all and (max-width:768px) {

    body{
        background-image: none;
        min-width: 100%;
    }
    #top #mv {
        background-image: url(../img/mv-sp.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: top right;
        min-width: 100%;
    }
    #top #mv .main-copy{
        font-size: 24px;
    }
    #top #mv .wrapper{
        padding-top: 180px;
        padding-bottom: 50px;
        margin-top: 70px;
    }
    #top #mv .sub-copy{
        font-size: 16px;
    }#top #mv .bg-logo{
        max-width: 150px;
        right: 20px;
        bottom: 0px;
    }
  }


/* ***********************************
  business
* *********************************** */

#top #business .row{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#top #business a.more{
    border: 1px solid #0D3157;
    padding: 5px 30px;
    border-radius: 100vh;
    display: block;
}
#top #business a.more:hover{
    color: #fff;
    border: 1px solid #fff;
    background-color: #0D3157;
    opacity: 1;
}

#top #business .body{
    display: grid;
    grid-template-rows: 49% 49%;
    grid-template-columns: 50% 1fr;
    padding-top: 40px;
    column-gap: 20px;
    row-gap: 20px;
}
#top #business .contentsA,
#top #business .contentsB,
#top #business .contentsC{
    background-color: #0D3157;
    border-top-left-radius: 40px;
}
#top #business .contentsA {
    grid-row: 1 / 3;
    grid-column: 1 / 2;
    position: relative;
}
#top #business .contentsA .bg-logo{
    position: absolute;
  max-width: 250px;
  left: -130px;
  bottom: -80px;
}
#top #business .contentsB {
    grid-row: 1 / 2;
    grid-column: 2 / 3;
}
#top #business .contentsC {
    grid-row: 2 / 3;
    grid-column: 2 / 3;
}
#top #business .body .inner{
    color: #fff;
    padding: 20px;
    line-height: 1.5;
    border-top: 1px solid #fff;
}
#top #business .body .inner .ttl{
    font-weight: bold;
}
#top #business .body .inner .text{
    font-size: 14px;
    padding-top: 10px;
}


  @media all and (max-width:768px) {
    #top #business .contentsA .bg-logo{
        right: 0;
        width: 150px;
        bottom: -85px;
      }
      #top #business .body{
        display: block;

      }
      #top #business .contentsA,
        #top #business .contentsB,
        #top #business .contentsC{
            margin-bottom: 20px;
        }
        #top #business .body .inner .text{
            font-size: 13px;
        }
  }


/* ***********************************
  news
* *********************************** */


#top #news .row{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#top #news a.more{
    border: 1px solid #0D3157;
    padding: 5px 30px;
    border-radius: 100vh;
    display: block;
}
#top #news a.more:hover{
    color: #fff;
    border: 1px solid #fff;
    background-color: #0D3157;
    opacity: 1;
}
#top #news dl{
    display: flex;
    align-items: center;
    border-bottom: solid 1px #353739;
    padding: 40px 0;
}
#top #news dt{
    font-size: 14px;
}
#top #news dd{
    font-weight: bold;
    padding-left: 30px;
}
#top #news a{
    display: flex;
}

@media all and (max-width:768px) {

    #top #news .wrapper {
        padding-bottom: 70px;
    }

    #top #news dl {
        padding: 20px 0;
    }
  }




  /*========= スクロールダウンのためのCSS ===============*/

/*=== 9-1-2 丸が動いてスクロールを促す ====*/

/*スクロールダウン全体の場所*/
.scrolldown{
    /*描画位置※位置は適宜調整してください*/
    position: absolute;
    bottom: 110px;
    left: -20px;
}

/*Scrollテキストの描写*/
.scrolldown span{
    position: absolute;
    left: -10px;
    bottom: -70px;
    color: #0D3157;
    font-size: 12px;
  /*縦書き設定*/
  -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

/* 丸の描写 */
.scrolldown:before {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom:0;
    left:-4px;
    /*丸の形状*/
  width:10px;
  height:10px;
  border-radius: 50%;
  background:#0D3157;
    /*丸の動き1.6秒かけて透過し、永遠にループ*/
  animation:
    circlemove 1.6s ease-in-out infinite,
    cirlemovehide 1.6s ease-out infinite;
}

/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove{
      0%{bottom:45px;}
     100%{bottom:-5px;}
 }

/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide{
      0%{opacity:0}
     50%{opacity:1;}
    80%{opacity:0.9;}
  100%{opacity:0;}
 }

/* 線の描写 */
.scrolldown:after{
  content:"";
    /*描画位置*/
  position: absolute;
  bottom:0;
  left:0;
    /*線の形状*/
  width:2px;
  height: 50px;
  background:#0D3157;
}

