@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
a {
  -webkit-transition: all .3s; transition: all .3s;
  text-decoration: none;
  color: #333;
}
a:hover{color:#022193;}
body {
  font-family: 'Noto Sans JP', sans-serif;
  overflow-x: hidden;
  display:flex;
  flex-direction: column;
  height:auto !important;
  min-height:100vh;
  justify-content: flex-start;
}
body *{min-height:0%;}

/* ======
section
 ====== */
/* main {
  position: relative;
  scroll-snap-type: y mandatory;
  width: 100%;
  height: calc(100vh - 104px);
  overflow-y: scroll;
  box-sizing: border-box;
}
.section-snap > section {
  display: block;
  align-items: center;
  justify-content: center;
  scroll-snap-align: start;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
} */

main{overflow:hidden;}
.section:nth-child(2n+1) {
  background-color: #eee;
}
.section-y {
  padding-top:6rem;
  padding-bottom: 6rem;
}
.section-t {
  padding-top:6rem;
}
.section-b {
  padding-bottom: 6rem;
}
.container-y {
  padding-top:6rem;
  padding-bottom: 6rem;
}
.container-t {
  padding-top:6rem;
}
.container-b {
  padding-bottom: 6rem;
}

.js-nav {
  transition: all .3s ease-in;
  -webkit-transition: all .3s ease-in;
  -moz-transition: all .3s ease-in;
  -ms-transition: all .3s ease-in;
  -o-transition: all .3s ease-in;
  background-color:#ffffff;
  padding-right:0 !important;
}
.js-scroll-nav {
  background: white;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
}


header .navbar-brand{ flex:1; }
header .navbar-brand img {display: block; width:auto; max-width: 100%; max-height:35px;}
@media (min-width: 576px) {
  header .navbar-brand img{max-height:60px;}
}
@media (min-width: 992px) {
  header .navbar-brand{max-width:300px; justify-content:center;}
  header .js-nav {padding-bottom:0;}
}

/* safari */
_:lang(x)+_:-webkit-full-screen-document, header .navbar-brand img{height:35px;}
@media (min-width: 576px) {
  _:lang(x)+_:-webkit-full-screen-document,header .navbar-brand img{height:60px;}
}

header .offcanvas-body{position:relative; overflow:hidden;}
header .offcanvas-body > div{margin-top:2rem;}
header .offcanvas-body div.searchbox input.form-control{padding: .2rem .75rem;}
header .offcanvas-body div.searchbox svg{height:20px; display:block;}
header .offcanvas-body div.header_sns{display:flex; justify-content:center; margin-top:2rem;}
header .offcanvas-body div.header_sns svg{width:32px; margin:0 2.5px; display:block; }
header .offcanvas-body div.header_sns a svg .color{-webkit-transition: all .3s; transition: all .3s;}
header .offcanvas-body div.header_sns a:nth-child(1):hover svg .color{fill:#06c755;}
header .offcanvas-body div.header_sns a:nth-child(2):hover svg .color{fill:#fb031c;}
header .offcanvas-body div.header_sns a:nth-child(3):hover svg .color{fill:#00aced;}
header .offcanvas-body div.header_sns a:nth-child(4):hover svg .color{fill:#4867aa;}
header .offcanvas-body div.header_sns a:nth-child(5):hover svg .color{fill:#022193;}
header .offcanvas-body div.header_sns a:nth-child(6):hover svg .color{fill:#b202af;}
header .navbar-light .nav-link{padding:.8rem 2rem .8rem .5rem; border-bottom:1px solid #CFDFEA; position:relative;}
header .navbar-light .navbar-nav .nav-link{color:#333333;}
header .navbar-light .navbar-nav .nav-link:hover{color:#022193;}
header .navbar-nav .nav-link:before{content:''; width:15px; height:15px; border-right:1px solid #022193; border-bottom:1px solid #022193; -webkit-transition: all .3s; transition: all .3s; transform:rotate(-45deg); -webkit-transform:rotate(-45deg); display:block; position:absolute; right:calc(1rem + 3px); top:0; bottom:0; margin:auto;}
header .navbar-nav .nav-link:hover:before{right:1rem;}
header .navbar-nav .nav-link:after{display:none;}
@media (min-width: 992px) {
header .offcanvas-body{flex-direction: column-reverse; position:static; overflow:visible;}
header .offcanvas-body > div{display:flex; justify-content:flex-end; align-items:center; margin-top:0;}
header .offcanvas-body div.header_sns{justify-content:flex-end; margin:0;}
header .navbar-nav .nav-link{padding:.35rem 1rem ; border:none;}
header .navbar-nav .nav-link:before{display:none;}
header .navbar-nav .nav-link:after{display:inline-block;}
header .navbar-nav .nav-link[aria-expanded="true"]{background-color:#022193; color:#ffffff !important;}
}

header .dropdown{position:static;}
header .navbar-nav .dropdown-menu{padding:0 15px; margin:0; border-radius:0; border:none; position:absolute; display:block !important; opacity: 0; z-index:-1; top:0; left:100%; bottom:0; width:100%; -webkit-transition: all .3s; transition: all .3s;}
header .navbar-nav .dropdown-menu.show{opacity:1; z-index:2; left:0;}

header .dropdown-menu .dropdown-item{padding:0; background-color:transparent !important;}
header .dropdown-menu .dropdown-item > div{display:flex; justify-content:center; flex:1;}
header .dropdown-menu .dropdown-item p{margin-bottom:0; display:block;}
header .dropdown-menu .dropdown-item p > a{display:none;}
header .dropdown-menu .dropdown-item p > span{display:block; cursor: pointer; padding:1rem; padding-left:2.5rem; background-color:#d9e7f1; font-weight:bold; font-size:1.1rem; position:relative; color:#333333 !important;}
header .dropdown-menu .dropdown-item p > span:before{content:''; width:15px; height:15px; border-left:1px solid #022193; border-bottom:1px solid #022193; -webkit-transition: all .3s; transition: all .3s; transform:rotate(45deg); -webkit-transform:rotate(45deg); display:block; position:absolute; left:calc(1rem + 3px); top:0; bottom:0; margin:auto;}
header .dropdown-menu .dropdown-item p > span:hover:before{left:1rem;}
header .dropdown-menu .dropdown-item a{display:block; padding:.8rem 1rem; border-bottom:1px dotted #6e5c34;}
header .dropdown-menu .dropdown-item a:hover{text-decoration:none;}
header .dropdown-menu ul{list-style-type:none; padding:0; display:block; margin:0; width:100%;}
@media (min-width:992px) {
  header .navbar-nav .dropdown{position:static;}
  header .navbar-nav .dropdown-menu{right:0; bottom:auto; left:auto; top:100%; background-color:#022193; margin-top:0 !important; position:static; display:none !important;}
  header .navbar-nav .dropdown-menu.show{display:block !important;}
  header .dropdown-menu .dropdown-item{padding: 1.5rem 1rem; max-width: 960px; display:flex; justify-content: center; margin:0 auto; background-color:#022193 !important;}
  header .dropdown-menu .dropdown-item a{border-bottom:none; color:#ffffff; text-align:center; padding-top:0; padding-bottom:0;}
  header .dropdown-menu .dropdown-item a span{position:relative; display:inline-block; padding-bottom:.3rem;}
  header .dropdown-menu .dropdown-item a span:before{position:absolute; bottom: 5px; left: 50%; content: ''; width: 0; height: 1px; background-color:#dedede; transition: .3s; -webkit-transform: translateX(-50%); transform: translateX(-50%);}
  header .dropdown-menu .dropdown-item a:hover span:before{width: 100%;}
  header .dropdown-menu .dropdown-item a img{-webkit-transition: all .3s; transition: all .3s; width:auto;}
  header .dropdown-menu .dropdown-item a:hover img{opacity: 0.7;}
  header .dropdown-menu .dropdown-item p{display:flex; align-items:center; width:160px; justify-content:center; font-size:1.4rem; font-weight:600;}
  header .dropdown-menu .dropdown-item p > a{display:block;}
  header .dropdown-menu .dropdown-item p > span{display:none;}
  header .dropdown-menu ul{display:flex; flex-wrap:wrap; flex:1; width:auto;}
  header .dropdown-menu ul li{width:255px; text-align:center;}

  header #navbarDropdown-03 + .dropdown-menu ul{flex-wrap:wrap;}
  header #navbarDropdown-03 + .dropdown-menu ul li{width:auto; flex:0 0 25%;}
  header #navbarDropdown-03 + .dropdown-menu ul li a{width:225px; margin:0 auto;}
  header #navbarDropdown-03 + .dropdown-menu ul li:nth-child(-n+4){margin-bottom:10px;}

}
@media (min-width:1200px) {
  header .dropdown-menu .dropdown-item{max-width: 1140px;}
  header .dropdown-menu .dropdown-item > div{flex:0 0 auto;}
  header #navbarDropdown-03 + .dropdown-menu .dropdown-item > div{flex:0 0 900px;}
  header .dropdown-menu ul{flex-wrap:nowrap;}
  header .dropdown-menu ul li{width:194px;}
}
@media (min-width:1400px) {
  header .dropdown-menu .dropdown-item{max-width: 1320px;}
  header .dropdown-menu ul li{width:225px;}
}


header .navbar-toggler {
  display:block;
  position:relative;
  z-index:10;
  padding:0;
  font-size: 0.75rem;
  text-transform: uppercase;
  border: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-shadow: none !important;
  width: 42px;
  height: 40px;
  overflow:hidden;
  padding:0 5px;
}
header .navbar-toggler span {
  display: block;
  position: absolute;    /* .navToggle???? */
  width:calc(100% - 10px);
  border-bottom: solid 3px #022193;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}

header .navbar-toggler span:nth-child(1) {
  top: 9px;
}

header .navbar-toggler span:nth-child(2) {
  top: 19px;
}

header .navbar-toggler span:nth-child(3) {
  top: 29px;
}

header .navbar-toggler[aria-expanded="true"] span:nth-child(1) {
  top: 18px;
  left: 6px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

header .navbar-toggler[aria-expanded="true"] span:nth-child(2),
header .navbar-toggler[aria-expanded="true"] span:nth-child(3) {
  top: 18px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
}

header img.offcanvas-title{max-height: 35px; width:auto;}

/* zoom carousel */
@-webkit-keyframes zoom {
  from {
    -webkit-transform: scale(1, 1);
  }
  to {
    -webkit-transform: scale(1.5, 1.5);
  }
}

@keyframes zoom {
  from {
    transform: scale(1, 1);
  }
  to {
    transform: scale(1.5, 1.5);
  }
}

.carousel-zoom .carousel-inner .carousel-item > img {
  -webkit-animation: zoom 20s;
  animation: zoom 20s;
}

/* ======
block news
 ====== */
.news {
  padding-top: 2rem;
}
.news__eye {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: 140px;
  overflow: hidden;
}
.news__eye-img {
  aspect-ratio: 16 / 9;
  transform: scale(1);
  transform-origin: center;
  transition: all .3s;
  object-fit: cover;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
}
.news__link:hover .news__eye-img  {
  transform: scale(1.2);
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
}
.news__label {
  padding-top: 1rem;
}
.news__label-cat, .news__label-date {
  font-size: 90%;
  padding: 2px 10px;
}
.news__label-cat {
  min-width: 80px;
  text-align: center;
}
.news__label-cat--solid {
  background-color: gray;
  color: #fff;
}
.news__label-cat--ol {
  border: 1px solid gray;
  color: gray;
  background-color: #fff;
}
.news__label-date--gray {
  color: #777;
}
.news__content-title {
  font-size: 1.1rem;
  font-weight: 500;
  color:#333;
  padding-top: 10px;
  margin: 0;
}
.news__content-text {
  font-size: .8rem;
  font-weight: 400;
  color:#888;
  padding-top: 5px;
  margin: 0;
}
.news-list .news-item {
  border-bottom: 3px solid #f7f7f7;
  padding-bottom: .5rem;
}
.news-list .news__label {
  display: flex;
  align-items: center;
}
.news-list .news__content {
  display: block;
  position: relative;
}
.news-list .news__content-text {
  width: 95%;
}
.news-list .news__content::before {
  content: '';
  position: absolute;
  width: 10px;
  height: 2px;
  right: 2px;
  top: calc(50% + .25rem);
  background-color: #929292;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
}
.news-list .news__content::after {
  content: '';
  position: absolute;
  width: 2px;
  height: 10px;
  right: 10px;
  top: calc(50% + .25rem);
  transform: translate(-50%, -50%);
  background-color: #929292;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
}
.news__label-cat--solid.blog {
  background-color: #3f3f3f;
}
.news__label-cat--solid.event {
  background-color: #acacac;
}

/* img reveal */
.js-img-reveal {
  visibility: hidden;
  position: relative;
  width: 100%;
  height: auto;
  max-width: 960px;
  overflow: hidden;
}
.js-img-reveal img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  transform-origin: left;
}


/* @media (max-width:1024px) and (orientation: portrait) {
  .carousel-item img {
    aspect-ratio: 9 / 16;
    object-fit: cover;
  }
} */

/* ======
swiper
 ====== */
.swiper {
  width: 100%;
  height: 100%;
}
/*
@media (min-width: 768px) and (max-width: 997px) {
  .swiper-slide:not(.swiper-slide-active) {
    opacity: 0.3;
  }
}*/
@media (min-width:992px) {
  .swiper-wrapper {
    display: flex;
    justify-content: space-between;
  }
  /*
  .swiper-slide {
    width: calc(25% - 20px)!important;
  }*/
}



/* ======
footer
 ====== */
body > .cw-b{padding-left:15px; padding-right:15px; margin:0;}
body > div div.button-area a{color:#ffffff; margin-bottom:1rem; display:block; padding:1rem; -webkit-transition: all .3s; transition: all .3s; position:relative;}
body > div div.button-area a:before{content:''; -webkit-transition: all .3s; transition: all .3s; position:absolute; background-color:transparent; top:0; bottom:0; left:0; right:0;}
body > div div.button-area a:hover:before{background-color:rgba(0,0,0,0.2);}
body > div div.button-area a.blue-btn{background-color:#009DFF;}
body > div div.button-area a.bluegreen-btn{background-color:#46BCD0;}
body > div div.button-area a.green-btn{background-color:#26D080;}
body > div div.button-area a.orange-btn{background-color:#FD7F00;}
body > div div.button-area a p{margin:0; position:relative;}
body > div div.button-area a p:before{content:''; display:block; position:absolute; background-image: url(/wp-content/themes/alpha/assets/img/footer_arrow.svg);background-size: contain;
  background-repeat: no-repeat; background-position: 0 0; width:35px; height:35px; bottom:0px; right:0; overflow:hidden; animation: moveHoverOut .7s cubic-bezier(.97,0,.11,1);}
body > div div.button-area a:hover p:before{animation: moveHover .7s cubic-bezier(.97,0,.11,1) forwards;}
@keyframes move {
  0% {transform:translate(-100%,-100%)}
  50% {transform:translate(100%,100%)}
  51% {transform:translate(-100%,-100%)}
  100% {transform:translate(0,0)}
 }
 @keyframes moveHover {
  0% {background-position:0 0}
  50% {background-position:35px 35px}
  51% {background-position:-35px -35px}
  100% {background-position:0 0}
 }
 @keyframes moveHoverOut {
  0% {background-position:0 0}
  50% {background-position:35px 35px}
  51% {background-position:-35px -35px}
  100% {background-position:0 0  }
 }
body > div div.button-area a strong{display:block; margin-bottom:2rem; font-size:1.5rem;}
body > div div.button-area a span{font-size:.85rem;}
@media (min-width: 768px) {
  body > .cw-b{margin:0 auto;}
  body > div div.button-area{display:flex; flex-wrap:wrap; margin:0 -10px;}
  body > div div.button-area a{flex:0 0 calc(50% - 20px); margin:0 10px 1rem;}
}

footer{margin-top:auto; background-color:#022193; padding:2rem 0 1rem;}
footer img{width:auto; -webkit-transition: all .3s; transition: all .3s;}
footer a:hover img{opacity: 0.7;}
footer ul{list-style-type:none; padding:0; margin-bottom:0;}
  .footer-bottom{padding:0 15px;}
  .footer-bottom .footer-bottom_left a{color:#ffffff; text-decoration:underline;}
  .footer-bottom .footer-bottom_left li{color:#ffffff;}
  .footer-bottom .footer-bottom_right{display:flex; align-items:center; justify-content: center; margin:1rem -8px;}
  .footer-bottom .footer-bottom_right > a{margin:0 8px; flex:1 0 calc(50% - 16px);}
  .footer-bottom .footer-bottom_right > a img{width:100%;}
@media (min-width:576px) {
  .footer-bottom .footer-bottom_right > a{flex:0 0 auto;}
  .footer-bottom .footer-bottom_right img{max-width:250px;}

}
@media (min-width: 992px) {
  footer{padding:3rem 0 2rem;}
  .footer-bottom{display:flex; flex-direction: row-reverse; justify-content:space-between; align-items:flex-end; margin-top:3rem;}
  .footer-bottom .footer-bottom_left li:first-child{display:block; margin-bottom:3px;}
  .footer-bottom .footer-bottom_right{justify-content:flex-start; margin:0 -8px; }
  .footer-bottom .footer-bottom_right > a{margin:0 8px;}
}

footer{margin-bottom:95px;}
.floatMenu{position:fixed; bottom:0; left:0; right:0; display:flex; flex-wrap:wrap; border-top:1px solid #ffffff; width:auto; height:95px; z-index:5; overflow:hidden;}
.floatMenu > a{flex:1; color:#ffffff; padding:.5rem .25rem; display:block;}
.floatMenu > a:hover{opacity: 0.7;}
.floatMenu > a div{display:flex; justify-content:center; align-items:center;}
.floatMenu > a p{margin: 0; text-align:center; font-size:.75rem; font-weight:500; line-height:1.2;}
.floatMenu > a:nth-child(1){background-color:#022193; order:3;}
.floatMenu > a:nth-child(2){background-color:#FD7F00; order:4;}
/* .floatMenu > a:nth-child(2){background-color:#46BCD0; order:4;} */
.floatMenu > a:nth-child(3){background-color:#FFF500; color:#022193; order:5;}
.floatMenu > a:nth-child(4){background-color:#26d080; order:1; flex:0 0 50%; }
.floatMenu > a:nth-child(5){background-color:#009dff; order:2; flex:0 0 50%;}
.floatMenu > a svg{display:block; margin:0 5px 0 0; width:25px; height:25px;}
@media (min-width: 992px) {
  footer{margin-bottom:50px;}
  .floatMenu{flex-wrap:nowrap; height:50px;}
  .floatMenu > a{flex:1 !important; order: inherit !important;}
}
@media (min-width:1620px) {
  footer{margin-bottom:0px;}
  .floatMenu{border:none; bottom:auto; right:auto; top:90px; display:block; overflow:visible; height:auto;}
  .floatMenu > a{padding:.8rem; order:0 !important; width:117px; height:117px; display:flex; align-items:center; justify-content:center;}
  .floatMenu > a div{display:block;}
  .floatMenu > a svg{margin:0 auto; width:auto; height:40px;}
  .floatMenu > a p{margin:.3rem 0 0; font-size:.8rem;}
}