@charset "utf-8";
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@900&display=swap&subset=japanese);
.sp {
  display:none !important;
}
body {
  color:#181a24;
  font-family:"Noto Sans JP";
  overflow: hidden;
}
body.yos {
  overflow:inherit;
}
#header,
#footer,
#logo40th,
main section,
.bnr_menu {
  opacity:0;
}
body.yos #header,
body.yos #footer,
body.yos #logo40th,
body.yos main section,
body.yos .bnr_menu {
  animation:ease .5s forwards fadelogo;
}
#first {
  width:100vw;
  height:100vh;
  z-index:1000;
  background:#fff;
  position:fixed;
  top:0;
  left:0;
}
#first img {
  width:300px;
  display: none;
  position: absolute;
  top:48%;
  left:50%;
  transform: translate(-50%,-50%);
}
#header {
  width:100%;
  border-bottom:solid 1px #eee;
  position: fixed;
  top:0;
  z-index:9;
}
main {
  padding-top:48px;
  background:#fff;
  overflow: hidden;
}
main img {
  max-width:100%;
  height:auto;
  display:block;
}
#kv .inner,
#lead .inner,
#greeting .inner,
#coming .inner {
  max-width:950px;
  margin:0 auto;
  position: relative;
}
#kv .inner {
  padding:125px 0 60px;
}
#logo40th {
  max-width:950px;
  margin:0 auto;
  position:relative;
  z-index:2;
}
#logo40th img {
  width:220px;
  position: absolute;
  top:20px;
  right:20px;
}
.fixHead #logo40th {
  z-index:10;
}
.fixHead #logo40th img {
  width:196px;
  position: fixed;
  top:10px;
  right:50%;
  transform:translateX(50%);
  opacity:0;
  animation:ease .3s forwards fadelogo;
}
@keyframes fadelogo {
  0% {
    opacity:0;
	}
  100% {
    opacity:1;
	}
}
#kv .image img {
  width:100%;
}
#lead {
  background:#f5fbfd;
  position:relative;
}
#lead::before,
#lead::after,
#coming::before,
#coming::after {
  content:"";
  width:100%;
  height:50px;
  position: absolute;
  left:0;
  background:url(../image/bg_blue.png) repeat-x 0 0;
  background-size:auto 100%;
  z-index:0;
}
#lead::before,
#coming::before {
  top:0;
}
#lead::after,
#coming::after {
  bottom:0;
  transform:rotateX(180deg);
}
#lead .inner {
  padding:120px 0;
}
.item .bird,
.item .tree {
  position:absolute;
  z-index:1;
}
#lead .item .bird {
  width:62px;
  top:94px;
  left:99px;
  transform:rotateY(180deg);
}
#lead .item .tree {
  width:75px;
  bottom:13px;
  right:11px;
}
#lead h2 {
  width:107px;
  margin:0 auto 35px;
}
#lead p {
  color:#171c61;
  font-size:18px;
  font-weight:500;
  line-height:2.2;
  letter-spacing:.1em;
  text-align:center;
}
#greeting .inner {
  padding:60px 0 90px;
}
#greeting .item .bird {
  width:74px;
  top:467px;
  right:-109px;
}
#greeting h2 {
  width:396px;
  margin:0 auto 60px;
}
#greeting .twocol {
  display: flex;
  justify-content:space-between;
}
#greeting .image {
  width:300px;
}
#greeting .image p {
  font-size:16px;
  line-height:1;
  letter-spacing:.05em;
  text-align:center;
  margin:20px 0 0;
}
#greeting .image h3 {
  width:168px;
  margin:20px auto 0;
}
#greeting .text {
  width:610px;
}
#greeting .text p {
  font-size:16px;
  line-height:2;
}
#greeting .text p + p {
  margin-top:35px;
}
#coming {
  background:#f8f8f8;
  position:relative;
}
#coming::before,
#coming::after {
  background:url(../image/bg_gray.png) repeat-x 0 0;
  background-size:auto 100%;
}
#coming .inner {
  padding:120px 0;
}
#coming .item .tree {
  width:121px;
  top:-132px;
  left:-66px;
}
#coming p {
  font-size:16px;
  line-height:2;
  text-align:center;
  letter-spacing:.1em;
}
#coming h2 {
  color:#797979;
  font-size:32px;
  font-weight:900;
  line-height:1;
  text-align:center;
  margin:25px 0 0;
}
#coming h2 img {
  width:35px;
  display: inline-block;
  margin-left:32px;
}

.bnr_menu {
  padding:60px 0 120px;
}
.bnr_menu ul {
  width:100%;
  max-width:1200px;
  margin:0 auto;
  display:flex;
  justify-content: space-between;
}
.bnr_menu ul li {
  width:381px;
}
.bnr_menu ul li img {
  width:100%;
}

@media screen and (max-width: 1020px) {
#kv .inner,
#lead .inner,
#greeting .inner,
#coming .inner {
  max-width:93.13vw;
}
#kv .inner {
  padding:12.25vw 0 5.88vw;
}
#logo40th img {
  width:21.56vw;
  top:1.96vw;
  right:1.96vw;
}
.fixHead #logo40th img {
  width:196px;
  top:10px;
  right:50%;
  transform:translateX(50%);
}
#lead::before,
#lead::after,
#coming::before,
#coming::after {
  height:4.9vw;
}
#lead .inner {
  padding:11.76vw 0;
}
#lead .item .bird {
  width:6.07vw;
  top:9.21vw;
  left:9.7vw;
}
#lead .item .tree {
  width:7.35vw;
  bottom:1.27vw;
  right:1.07vw;
}
#lead h2 {
  width:10.49vw;
  margin:0 auto 3.43vw;
}
#lead p {
  font-size:1.76vw;
}
#greeting .inner {
  padding:5.88vw 0 8.82vw;
}
#greeting .item .bird {
  width:7.25vw;
  top:45.78vw;
  right:-10.68vw;
}
#greeting h2 {
  width:38.82vw;
  margin:0 auto 5.88vw;
}
#greeting .image {
  width:29.41vw;
}
#greeting .image p {
  font-size:1.56vw;
  margin:1.96vw 0 0;
}
#greeting .image h3 {
  width:16.47vw;
  margin:1.96vw auto 0;
}
#greeting .text {
  width:59.8vw;
}
#greeting .text p {
  font-size:1.56vw;
}
#greeting .text p + p {
  margin-top:3.43vw;
}
#coming .inner {
  padding:11.76vw 0;
}
#coming .item .tree {
  width:11.86vw;
  top:-12.94vw;
  left:-3.92vw;
}
#coming p {
  font-size:1.56vw;
}
#coming h2 {
  font-size:3.13vw;
  margin:2.45vw 0 0;
}
#coming h2 img {
  width:3.43vw;
  margin-left:3.13vw;
}

.bnr_menu {
  padding:5.88vw 0 11.76vw;
}
.bnr_menu ul li {
  width:37.35vw;
}

}


@media screen and (max-width: 767px) {
.pc {
  display:none !important;
}
.sp {
  display:block !important;
}
main {
  padding-top:78px;
}
#first img {
  width:53.33vw;
}

#kv .inner {
  padding:26vw 0 8vw;
}
#logo40th img {
  width:47.06vw;
  top:8.66vw;
  right:50%;
  transform: translateX(50%);
}
.fixHead #logo40th img {
  width:170px;
  top:26px;
  right:15px;
  transform:none;
}
#lead::before,
#lead::after,
#coming::before,
#coming::after {
  height:6.66vw;
}
#lead .inner {
  padding:21.33vw 0;
}
#lead .item .bird {
  width:8.26vw;
  top:15.46vw;
  left:4.4vw;
}
#lead .item .tree {
  width:10vw;
  bottom:3.2vw;
  right:12.8vw;
}
#lead h2 {
  width:22.13vw;
  margin:0 auto 10vw;
}
#lead p {
  font-size:3.73vw;
  line-height:2;
}
#greeting .inner {
  padding:10.66vw 0 21.33vw;
}
#greeting .item .bird {
  width:9.86vw;
  top:69.86vw;
  right:3.6vw;
}
#greeting h2 {
  width:81.2vw;
  margin:0 auto 8vw;
}
#greeting .twocol {
  display:block;
}
#greeting .image {
  width:53.33vw;
  margin:0 auto;
}
#greeting .image p {
  font-size:3.2vw;
  margin:4vw 0 0;
}
#greeting .image h3 {
  width:33.6vw;
  margin:4vw auto 0;
}
#greeting .text {
  width:100%;
  margin-top:10.66vw;
}
#greeting .text p {
  font-size:3.46vw;
  line-height:1.75;
}
#greeting .text p + p {
  margin-top:5.33vw;
}
#coming .inner {
  padding:18.66vw 0;
}
#coming .item .tree {
  width:11.33vw;
  top:-9.6vw;
  left:2vw;
}
#coming p {
  font-size:3.46vw;
  line-height:1.84;
}
#coming h2 {
  font-size:5.86vw;
  margin:5.33vw 0 0;
}
#coming h2 img {
  width:4.66vw;
  margin-left:4vw;
}

.bnr_menu {
  padding:0 2.66vw;
  margin:10.66vw 0 21.33vw;
}
.bnr_menu ul {
  display: block;
}
.bnr_menu ul li {
  width:100%;
  margin:5.33vw 0 0;
}
.bnr_menu ul li:nth-child(1) {
  margin:0;
}

}

@media screen and (min-width: 768px) {
.bnr_menu ul li a:hover {
  transition:ease .3s;
  opacity:.7;
}

}
