@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@700&display=swap');

html,body,a,p,ul,li,h1,h2,h3,h4,h5,h6,figure,dl,dt,dd{margin:0;padding:0;}

.container *{
    box-sizing: border-box;
    
   font-family: fot-tsukuardgothic-std, sans-serif;
    font-style: normal;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    tap-highlight-color: rgba(0, 0, 0, 0);
    outline: none;
    font-weight: 700;
    letter-spacing: -0.02em;
    -ms-overflow-style: none;
    scrollbar-width: none;
    
}

li{
    list-style-type: none;
}

html{
    
}
body{
   
    position: relative;
    background: #000;

    
}


body.menu-on{
    overflow: hidden;
}
a{
    text-decoration: none;
}

.movie{
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999999;
    width: 100%;
    height: 100%;
    display: none;
}

.movie-tab{
    display: flex;
    color: #fff;
}

.movie-tab li{
    width: 50%;
    text-align:center;
    border: solid 2px #fff;
    padding: 0.3em 0;
    cursor: pointer;
}
.movie-tab li:nth-child(1){
    border-right: none;
}
.movie-tab li.on{
    background: #fff;
    color: #000;
}
.close-btn {
        display: block;
        top: 50px;
        right: 50px;
        width: 50px;
        height: 50px;
        position: fixed;
        cursor: pointer;
        z-index: 9999;
    background: url(../img/close-btn.png);
    background-size: 100% 100%;
    }

nav .close-btn{
    display: none;
} 

.movie .overlay{
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.9;
    
}
.movie-inner{
    width: 90%;
    max-width: 1024px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.youtube {
    position: relative;
    width: 100%;
    padding-top: 54%;
}

.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}

.scrollify{
  width: 100%;
  height: 100vh;
    min-height: 800px;
}

#header_21{
    position: absolute;
    top: 0;
    left:0;
    z-index: 9999;
    min-width: 1200px;
}

.nav-tab-fix{
    display: none !important;
}

#breadcrumb{
   display: none !important;
}

.container{
    min-width: 1200px;
}
.container header{
    position: absolute;
    top: 0px;
    z-index: 999;
    display: flex;
    
    justify-content: space-between;
    width: 100%;
    color: #fff;
    align-items: center;
    padding: 106px 50px 20px;
    transition-duration: 0.5s;
}
.container header.active{
    position: fixed;
    top: 0px;
    background: rgba(255,255,255,1);
    padding-top: 20px;
    box-shadow: 0 2px 5px rgba(0,0,0,.1);
}
.container header h1{
    color: #fff;
    font-style: italic;
    font-size: 35px;
}
.container header.active h1{
    color: #666;
    font-size: 30px;
}
.container header nav .nav-inner{
    display: flex;
    align-items: center;
}
.container header nav .nav-inner > li{
    position: relative;
}
.container header nav .nav-inner > li:not(:last-child){
    margin-right: 40px;
}

.container header nav .nav-inner > li:not(:last-child):after{
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 3px);
    right: -23px;
    width: 6px;
    height: 6px;
    background: #fff;
    border-radius: 10px;
}

.container header.active nav .nav-inner > li:not(:last-child):after{
    background: #50c082;
}
.container header nav .nav-inner > li > a{
    color: #fff;
    font-size: 18px;
}
.container header.active nav .nav-inner > li > a{
    color: #666;
}
.container header nav .nav-inner li ul{
    background: #fff;
    position: absolute;
    top: 100%;
    padding: 15px 25px 10px;
    width: 16em;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    border-radius: 15px;
    visibility: hidden;
    opacity: 0;
    transition-duration: 0.4s;
    box-shadow: 0 2px 10px rgba(0,0,0,.2);
}
.container header nav .nav-inner li:hover ul{
     visibility: inherit;
    opacity: 1;
    transition-duration: 0.4s;
}
.container header nav .nav-inner ul li{
    text-align: center;
    margin-bottom: 15px;
}
.container header nav .nav-inner ul li a{
    color: #666;
}
.section01{
  background:rgba(0,0,0,.15);
    position: relative;
}
.section01 .bg-movie{
    position: absolute;
    top: 86px;
    left: 0;
    width: 100%;
    height: calc(100% - 86px);
    overflow: hidden;
}
.section01 .bg-movie video{
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translate(-50%,-0%);
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    opacity: 0.5;
}
.hero{
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 800px;
    background: url(../img/img_net.png);
    
}
.hero a{
    position: absolute;
    bottom: 30px;
    left: 30px;
    background: #50c082;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100px;
    width: 13em;
    font-size: 34px;
    border: solid 3px;
    color: #fff;
    flex-flow: column;
    padding: 0.5em 0;
}
.hero a span{
    display: block;
    font-size: 80%;
    background: #fff;
    color:  #50c082;
    padding: 0.1em 1em;
    border-radius: 100px;
    line-height: 1.4;
    border: solid 2px;
}
.hero a:hover{
    color: #50c082;
    background: #fff;
}



.play-btn{
    position: absolute;
    bottom: 50px;
    right: 50px;
    color: #fff;
    display: flex;
    align-items: center;
    font-size: 18px;
    cursor: pointer;
}

.play-btn span{
    width: 2em;
    display: inline-block;
    margin-left: 0.5em;
}

.play-btn span img{
    width: 100%;
}
.section01 h2{
    position: absolute;
    z-index: 3;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 80px;
    font-weight: 900;
    white-space: nowrap;
    text-shadow: 0 0 1rem rgba(0,0,0,.7);
    width: 90%;
    max-width: 800px;
  
}

.section01 h2 span{
     
    opacity: 0;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.section01 h2 span:nth-child(1){
    position: static;
}
.section01 h2.on span{
    animation: h2 1s cubic-bezier(.17, .67, .21, .99) forwards;
  transform: translateY(20%);
  opacity: 0;
}


@keyframes h2 {
  0% {
    transform: translateY(20%));
    opacity: 0;
  }
  100% {
    transform: translateY(0%) ;
    opacity: 1;
  }
}

span:nth-child(2){
  animation-delay: 0.05s !important;
}

span:nth-child(3){
  animation-delay: 0.1s !important;
}

span:nth-child(4){
  animation-delay: 0.15s !important;
}

span:nth-child(5){
  animation-delay: 0.2s !important;
}

span:nth-child(6){
  animation-delay: 0.25s !important;
}

span:nth-child(7){
  animation-delay: 0.3s !important;
}

span:nth-child(8){
  animation-delay: 0.35s !important;
}

span:nth-child(9){
  animation-delay: 0.4s !important;
}

span:nth-child(10){
  animation-delay: 0.45s !important;
}

span:nth-child(11){
  animation-delay: 0.5s !important;
}

span:nth-child(12){
  animation-delay: 0.55s !important;
}

span:nth-child(13){
  animation-delay: 0.6s !important;
}

span:nth-child(14){
  animation-delay: 0.65s !important;
}

span:nth-child(15){
  animation-delay: 0.7s !important;
}


.bosyu{
     padding: 100px 50px;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    background:rgba(0,0,0,.3);
}
.bosyu p{
    width: 1000px;
    margin: 0 auto;background: #fff;
    
    overflow-y: scroll;
    height: 350px;
    padding: 50px;
    
}


h3{
    text-align: center;
    font-weight: 900;
    font-size: 40px;
    color: #fff;
    margin-bottom: 100px;
    line-height: 1;
    position: relative;
    z-index: 2;
}
h3 span{
   
    display: inline-block;
    font-weight: 900;
    position: relative;
}

h3 span:after {
    content: "";
    display: block;
    position: absolute;
    bottom: -0.7em;
    left:50%;
    transform: translate(-50%,0%);
    width:1.5em;
    height:100%;
    border-bottom: dotted 7px;
    opacity: 0.4;
}
.section02{
  background-color: #eee;
    padding-top: 125px;
    
}
.section02 h3{
    color: #000;
}

.top-col{
    display: flex;
   margin-bottom: 75px;
    align-items: center;
    position: relative;
}

.top-col figure{
    width: calc(60%);
    background:url(../img/hero-bg.jpg);
    background-size: cover;
    background-position: bottom;
    flex-shrink: 0;
    height: 450px;
    border-radius: 0 15px 15px 0;
}

.top-col.right figure{
    margin-left: auto;
     border-radius: 15px 0 0 15px;
    background:url(../img/about-bg.jpg);
    background-size: cover;
    background-position: 70%;
}
.section04 .top-col figure{
    width: calc(60%);
    background:url(../img/about-bg3.jpg);
    background-size: cover;
    background-position:center top;
    flex-shrink: 0;
    height: 450px;
    border-radius: 0 15px 15px 0;
}

.section04 .top-col.right figure{
    margin-left: auto;
     border-radius: 15px 0 0 15px;
    background:url(../img/about-bg4.jpg);
    background-size: cover;
    background-position: 70%;
}

.top-col p{
    width: 45%;
    line-height: 2;
    text-align: justify;
    font-size: 15px;
    padding: 0 100px;
    color: #666;
    background: #fff;
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
    border-radius: 15px;
    padding: 35px 50px 50px;
    box-shadow: 0 5px 15px rgba(0,0,0,.2);
    
}
.top-col p strong{
    font-size: 170%;
    display: block;
    margin-bottom: 0.5em;
}
.top-col.right p{
    right: auto;
    left: 5%;
}

.top-link1{
    display: flex;
    margin-top: 150px;
}
.top-link1 li{
    width: 25%;
    padding-bottom: 20vw;
    position: relative;
    background: #000;
    overflow: hidden;
}

.top-link1 li:after {
    content: "";
    display: block;
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    opacity: 0.7;
    transition-duration: 0.4s;
}

.top-link1 li:hover:after{
    transform: scale(1.1);
    opacity: 0.5;
}
.top-link1 li:nth-child(1):after{
    background: url(../img/top1-1.jpg);
    background-size: cover;
    background-position: center;
}
.top-link1 li:nth-child(2):after{
    background: url(../img/top1-2.jpg);
    background-size: cover;
    background-position: center;
}
.top-link1 li:nth-child(3):after{
    background: url(../img/top1-3.jpg);
    background-size: cover;
    background-position: center;
}
.top-link1 li:nth-child(4):after{
    background: url(../img/top1-4.jpg);
    background-size: cover;
    background-position: center;
}
.top-link1 li a{
    display: flex;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    z-index: 2;
    text-align: center;
    justify-content: center;
    align-items: center;
    font-size: 1.5vw;
    font-weight: 400;
    line-height: 1.2;
    font-weight: 700;
    
}
.section03{
    padding: 125px 0;
    position: relative;
    overflow: hidden;
    background: #000;
}

.section03:after{
    content: "";
    display: block;
    position:absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../img/img_net.png);
    opacity: 1;
}

.section03 video{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    opacity: 0.5;
}
.section03 .movie-content{
    display: flex;
    width: 90%;
    flex-wrap: wrap;
     justify-content: space-between;
   max-width: 1000px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    height: 300px;
    
}
.section03 .movie-content ul:first-child{
    width: calc(60% - 50px);
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    height: 100%;
   
}
.section03 .movie-content ul:last-child{
    width: 40%;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    height: 100%;
}
.section03 li{
    color: #fff;
    border: solid 2px #fff;
    width: 100%;
    height: calc(50% - 15px);
    text-align: center;
    font-size: 24px;
    letter-spacing: 0.1em;
    transition-duration: 0.2s;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
   
}

.section03 ul:last-child li{
    color: #fff;
    border: solid 2px #fff;
    width: 100%;
    height: calc(33.33% - 15px);
    text-align: center;
    font-size: 18px;
    letter-spacing: 0.1em;
    transition-duration: 0.2s;
    cursor: pointer;
   
}
.section03 li:hover{
    background: #fff;
    color: #333 !important;
}
.section03 li:nth-child(3),.section03 li:nth-child(5){
    margin-right: 0;
}
/* scrollify.jsに関係する記述はここまで */
.section04{
    background: #eee;
    padding: 125px 0 0;
    
}
 .section04 h3{
    color: #333;
}
.section04 .intro{
    font-size: 21px;
    text-align:center;
    color: #666;
    margin-bottom: 50px;
}
.top-link2{
    display: flex;
    margin-top: 150px;
}
.top-link2 li{
    width: 33.33%;
   padding-bottom: 20vw;
    position: relative;
    background: #000;
    overflow: hidden;
}

.top-link2 li:after {
    content: "";
    display: block;
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    opacity: 0.7;
    transition-duration: 0.4s;
    
}
.top-link2 li:hover:after{
    transform: scale(1.1);
    opacity: 0.5;
}
.top-link2 li:nth-child(1):after {
   
    background: url(../img/top2-1.jpg);
    background-size: cover;
    background-position: center;
}

.top-link2 li:nth-child(2):after {
   
    background: url(../img/top2-2.jpg);
    background-size: cover;
    background-position: center;
}


.top-link2 li:nth-child(3):after {
   
    background: url(../img/top2-3.jpg);
    background-size: cover;
    background-position: center;
}


.top-link2 li a{
    display: flex;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    z-index: 2;
    text-align: center;
    justify-content: center;
    align-items: center;
    font-size: 1.5vw;
    font-weight: bold;
    line-height: 1.2;
    
}
.section05{
        height: auto !important;
    }
footer{
    background: #fff;
    padding: 100px 0;
}

footer figure{
    width: 350px;
    margin: 0 auto 25px;
}

footer .sns{
    display: flex;
    justify-content: center;
}
footer .sns a{
    width: 40px;
    margin: 0 10px;
}


.sp{
    display: none;
}

#header_21 #nav .nav2{
    display: none;
}
@media screen and (max-width: 768px){
    
    #header_21 #nav .nav2{
        display: flex;
    }
    .scroll-sp{
        height: 100vh;
       height: 100dvh;
    }
    
    .scroll-sp.section01{
        height: 100svh;
    }
    .section01 .bg-movie{
        top: 60px;
        height: calc(100% - 60px);
    }
    
    .section01 .bg-movie video{
        min-width: auto;
        height: 100vh;
    }
    .scroll-sp.section02-1,.scroll-sp.section04-1{
        height: auto;
    }
    
    .pc{
        display: none !important;
    }
    
    .sp{
        display: block;
    }
    
    .close-btn{
        width: 30px;
        height: 30px;
        right: 5%;
        top: 20px;
    }
    
    nav .close-btn{
        display: block;
        z-index: 99999;
    }
    #header_21{
    position: absolute;
    top: 0;
    left:0;
    z-index: 9999;
    min-width: 0;
}

#breadcrumb{
    display: none;
}

    .container{
        min-width: 0;
    }
    
    .scrollify{
        min-height: 0;
    }
.container header{
    position: absolute;
    top: 0px;
    z-index: 999;
    display: flex;
    height: 50px;
    justify-content: space-between;
    width: 100%;
    color: #fff;
    align-items: center;
    padding: 100px 2.5% 0;
}
    .container header.active{
         padding-top: 0;
        height: 50px;
    }
    .container header.menu-on{
        z-index: 9999999;
    }
.container header h1{
    font-style: italic;
    font-size: 18px;
}
    .container header nav{
        position: fixed;
        top: 0;
        left: 0;
        background:rgba(0,0,0,.9);
        z-index: 2;
        height: 100%;
        width: 100%;
        display: none;
        
    }
    
    .container header.menu-on nav{
        display: block;
        z-index: 9999;
       
    }
    .container header.active h1{
       font-size: 18px;
    }
    .container header .nav-btn{
        width: 30px;
        height: 15px;
        position: relative;
        

    }
    
    .container header .nav-btn:before{
        content: "";
        display: block;
        width: 100%;
        height: 4px;
        background: #fff;
        position: absolute;
        top: 0;
        left: 0;
    }
    .container header .nav-btn:after{
        content: "";
        display: block;
        width: 100%;
        height: 4px;
        background: #fff;
        position: absolute;
        bottom: 0;
        left: 0;
    }
     .container header.active .nav-btn:before,.container header.active .nav-btn:after{
      background: #999;
    }
.container header nav .nav-inner{
    display: block;
    align-items: center;
    width: 100%;
    padding: 100px 0;
    overflow-y: scroll;
    height: 100vh;
}
.container header nav .nav-inner > li{
    position: relative;
    text-align: left;
    margin-bottom: 50px;
    padding-left: 5%;
}
.container header nav .nav-inner > li:not(:last-child){
    margin-right: 0;
}
    
.container header nav .nav-inner > li > a{
    color: #fff;
    font-size: 18px;
    text-shadow: 0 0 5px rgba(0,0,0,.7);
}
    .container header.active nav .nav-inner > li > a{
        color: #fff !important;
    }
.container header nav .nav-inner li ul{
    background: none;
    position: static;
    top: 0%;
    padding: 0;
    width: 100%;
    left: 0%;
    transform: translateX(0%);
    border-radius: 15px;
    visibility: inherit;
    opacity: 1;
    transition-duration: 0.4s;
    margin-top: 10px;
    padding-left: 25px;
    
}

.container header nav .nav-inner ul li{
   text-align: left;
    margin-bottom: 15px;
}
    
.container header nav .nav-inner > li:not(:last-child):after{
    content: "";
    display: block;
    position: absolute;
    top: calc(100% + 24px);
    right: auto;
    left: 5%;
    width: 25px;
    height: 2px;
    background: #fff !important;
    border-radius: 10px;
    opacity: 0.5;
}
.container header nav .nav-inner ul li a{
    color: #fff;
    font-size: 14px;
}
    
    
    .hero{
        min-height: 0;
    }
    .section01 h2{
        top: 50%;
        transform: translate(-50%, -50%);
    }
    .section02{
       
    }
    .hero a{
        left: auto;
        right: 5%;
        bottom: 70px;
        width: 120px;
        height: 120px;
        font-size: 16px;
        text-align:center;
        line-height: 1.2;
        
    }
    .hero a span{
        margin-bottom: 5px;
    }
    .play-btn{
        font-size: 14.5px;
        right: 5%;
        bottom: 25px;
    }
    
    h3{
        font-size: 21px;
        line-height: 1.4;
        margin-bottom: 50px;
        text-align: left;
        margin-left: 5%;
        position: relative;
    }
   
    h3 span:after{
        width: 2em;
        border-bottom: dotted 6px;
        left: 0;
        transform: translate(0%,0%);
    }
    .section02{
        padding-top: 0;
    }
    .section02-1{
        padding-top: 85px;
    }
    .top-col{
        display: block;
        margin-bottom: 35px;
    }
    .top-col.right{
        margin-bottom: 0px;
        padding-bottom: 50px;
    }
    
    .top-col figure{
        width: 100%;
        height: 25vh;
        height: 25svh;
        border-radius: 0 !important;
        position: relative;
        overflow: hidden;
        margin-bottom: 15px;
    }
    
    /*
     .top-col figure:before{
        content: "";
        display: block;
         position: absolute;
         top: 50%;
         left: 50%;
         transform: translate(-50%,-50%);
        width: 100%;
        height: 100%;
        background: url(../img/hero-bg.jpg);
        background-size: cover;
        background-position: center;
         animation: about1 10s linear infinite;
    }
    


@keyframes about1 {
  0% {
    transform: translate(-50%,-50%) scale(1.01);
  }
    5%{
         transform: translate(-50%,-50%) scale(1); 
    }
    45%{
         transform: translate(-50%,-50%) scale(1.1); 
    }
    50%{
     
    }
    100%{
         transform: translate(-50%,-50%) scale(1.01); 
    }
}

    
    .top-col figure:after{
        content: "";
        display: block;
         position: absolute;
         top: 50%;
         left: 50%;
         transform: translate(-50%,-50%);
        width: 100%;
        height: 100%;
        background: url(../img/about-bg.jpg);
        background-size: cover;
        background-position: center;
        animation: about2 10s linear infinite;
    }
    
    @keyframes about2 {
 0% {
    transform: translate(-50%,-50%) scale(1.1);
      opacity: 0;
  }
    5%{
        opacity: 1;
    }
    45%{
        opacity: 1;
    }
    50%{
      transform: translate(-50%,-50%) scale(1); 
        opacity: 0;
    }
    100%{
        opacity: 0;
    }
    }
    */
    .section04 .top-col figure{
    width: 100%;
        height: 25vh;
        height: 25svh;
        border-radius: 0;
        position: relative;
        overflow: hidden;

}
    
    /*
.section04 .top-col figure:before{
    background: url(../img/about-bg3.jpg);
        background-size: cover;
        background-position: center;
}
.section04 .top-col figure:after{
    background: url(../img/about-bg4.jpg);
        background-size: cover;
        background-position: center;
}
*/
    .top-col p{
        position: static;
        width: 90%;
        top: 0;
        left: 0;
        transform: translateY(0);
        margin: 0 auto;
        font-size: 11px;
        padding: 15px 5%;
        line-height: 2;
    }
    .section02-2{
        padding-top: 50px;
        background-color: #eee;
    }
    .top-link1{
        margin-top: 0;
        display: block;
        height: 100%;
    }
    .top-link1 li{
        width: 100%;
        height: 25%;
        padding-bottom: 0;
    }
    .top-link1 li:nth-child(2):after{
    background: url(../img/top1-2.jpg);
    background-size: cover;
    background-position: center 40%;
}
.top-link1 li:nth-child(3):after{
    background: url(../img/top1-3-sp.jpg);
    background-size: cover;
    background-position: 20%;
}
    
    .top-link1 li a{
        width: 190px;
        height: 50px;
        border: solid 2px;
        font-size: 13px;
        top: 50%;
        left: 5%;
        transform: translateY(-50%);
        position: relative;
    }
    
    .top-link1 li a:after{
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 7px;
        width: 0;
height: 0;
border-style: solid;
border-width: 6px 0 6px 8px;
border-color: transparent transparent transparent #ffffff;
        

        
    }
    
    .top-link1 li:hover:after{
        transform: scale(1);
        opacity: 0.7;
    }
    
    .section03{
        padding: 85px 0 0;
        background: #fff;
        position: relative;
    }
    .section03 h3{
        color: #000;
    }
    .section03:before{
        content: "";
        display: block;
        width: calc(5% + 95px);
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background: #fff;
        z-index: 2;
    }
     
    .section03 video{
        opacity: 0.5;
    }
    
   .section03 .movie-content{
        display: block;
       margin-left: 5%;
        top: 55%;
    }
    .section03 .movie-content ul:first-child{
        height: auto;
    }
    .section03 .movie-content ul:last-child{
        height: auto;
    }
    .section03 li{
        width: 190px !important;
        height: 50px !important;
        border: none;
        font-size: 13px !important;
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 25px;
        color: #fff;
        background: #000;
        border: none  !important;
    }
    .section04{
        padding-top: 0;
    }
    .section04 .intro{
    font-size: 14px;
    text-align:center;
    color: #666;
    margin-bottom: 25px;
}
    .section04-1{
        padding-top: 85px;
        background: #eee;
    }
    .section04 h3{
        color: #000;
    }

    .section04-2{
        padding-top: 50px;
        background: #eee;
    }
    .top-link2{
        margin-top: 0;
        display: block;
        height: 100%;
    }
    .top-link2 li{
        width: 100%;
        height: 33.33%;
        padding-bottom: 0;
    }
    
    .top-link2 li a{
        width: 190px;
        height: 50px;
        border: solid 2px;
        font-size: 13px;
        top: 50%;
        left: 5%;
        transform: translateY(-50%);
        position: relative;
    }
    
    .top-link2 li a:after{
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 7px;
        width: 0;
height: 0;
border-style: solid;
border-width: 6px 0 6px 8px;
border-color: transparent transparent transparent #ffffff;

        
    }
    
    .top-link2 li:hover:after{
        transform: scale(1);
        opacity: 0.7;
    }
    
    
   
    footer{
    background: #fff;
    padding: 50px 0;
}

footer figure{
    width: 200px;
    margin: 0 auto 20px;
}


footer .sns a{
    width: 30px;
    margin: 0 7px;
}

    
}


