@charset "UTF-8";
/*----------------------------------------------------------*/
/*----------------------------------------------------------*/
a.jump_point {
  height: 1px;
  display: block;
  padding-top: 150px;
  margin-top: -150px;
}
@media screen and (max-width: 1100px) {
  a.jump_point {
    padding-top: 90px;
    margin-top: -90px;
  }
}

.container {
  width: clamp(320px, 83.3%, 1000px);
  margin: 0 auto;
}

@media screen and (min-width: 1024px) {
  .pcnone {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .spnone {
    display: none;
  }
}
.fade {
  transition: 0.3s ease-in-out;
}

.fade:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

.flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.relative {
  position: relative;
}

.youtube {
  width: 100%;
  aspect-ratio: 16/9;
}

.youtube iframe {
  width: 100%;
  height: 100%;
}

body {
  background-color: #fffaec;
}

button.to-news-list {
  width: 400px;
  height: 80px;
  margin: 0 auto;
  display: block;
  flex-shrink: 0;
  background-color: #fff;
  border-radius: 100vh;
  box-shadow: 5px 5px #ffd000;
  position: relative;
  transition: 0.3s ease-in-out;
  text-align: left;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  button.to-news-list {
    width: 100%;
    height: 60px;
    position: relative;
    z-index: 1;
  }
}
button.to-news-list:after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 10px;
  height: 20px;
  flex-shrink: 0;
  background-image: url(../image/top/orange-arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  top: 50%;
  transform: translateY(-50%);
  right: 40px;
}
button.to-news-list:hover {
  background-color: #ffd000;
}
button.to-news-list a {
  color: #ff9800;
  padding-left: 40px;
  /* noto sans-bold-24 */
  font-family: "Noto Sans JP";
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 36px */
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  button.to-news-list a {
    font-size: 20px;
  }
}
button.to-news-list a span {
  color: #ff9800;
}

ul.news {
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 20px 2%;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  ul.news {
    margin-bottom: 32px;
  }
}
ul.news li {
  width: 320px;
  min-height: 323px;
  width: clamp(32%, 32%, 320px);
}
@media screen and (max-width: 767px) {
  ul.news li {
    width: 100%;
    height: auto;
  }
}
ul.news li div.imagearea {
  padding-top: 15px;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  ul.news li div.imagearea {
    margin-bottom: 10px;
  }
}
ul.news li div.imagearea .category {
  color: #000;
  text-align: center;
  border-radius: 15px;
  border: 2px solid #fff;
  background: #ffd000;
  /* noto sans-bold-16 */
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 24px */
  padding: 3px 35px;
  white-space: nowrap;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  top: -15px;
  top: -2px;
}
ul.news li div.imagearea .thumnail {
  width: 100%;
  height: 210px;
  overflow: hidden;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  ul.news li div.imagearea .thumnail {
    width: 100%;
  }
}
ul.news li div.imagearea .thumnail img {
  position: relative;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  transition: transform 0.6s ease;
}
ul.news li p.date {
  color: #ffe0b2;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 24px */
}
ul.news li p.title {
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 27px */
}
@media screen and (max-width: 767px) {
  ul.news li p.title {
    font-size: 16px;
  }
}
ul.news li:hover .thumnail img {
  transform: scale(1.1);
}

ul.pankuzu {
  margin-bottom: 80px;
  justify-content: flex-start;
  gap: 20px;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  ul.pankuzu {
    gap: 3px;
    margin-bottom: 48px;
  }
}
ul.pankuzu li a {
  color: #ff9800;
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 27px */
}
@media screen and (max-width: 767px) {
  ul.pankuzu li a {
    font-size: 14px;
  }
}
ul.pankuzu li:last-child:after {
  display: none;
}
ul.pankuzu li:last-child a {
  color: #000;
}
ul.pankuzu li:after {
  width: 7px;
  height: 15px;
  flex-shrink: 0;
  content: "";
  display: inline-block;
  background-image: url(../image/common/pankuzuarrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-left: 20px;
}

header {
  width: 100%;
  position: relative;
  flex-direction: column;
  position: fixed;
  z-index: 3;
  top: 0;
}
@media screen and (max-width: 767px) {
  header {
    position: fixed;
    top: 0;
    z-index: 3;
  }
}
header div.upper {
  background-color: #fffaec;
  padding-top: 15px;
  padding-bottom: 19px;
  padding-left: 30px;
  box-sizing: border-box;
  padding-right: 20px;
  height: 90px;
  z-index: 20;
}
@media screen and (max-width: 767px) {
  header div.upper {
    padding: 21px 27px;
    height: 72px;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
    position: relative;
    width: 100%;
  }
}
header div.upper h1 {
  display: flex;
  width: 396px;
  height: 54px;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
}
header div.upper h1 a {
  color: #ff9800;
}
@media screen and (max-width: 767px) {
  header div.upper h1 {
    font-size: 20px;
    justify-content: flex-start;
    line-height: 150%; /* 30px */
    width: auto;
  }
}
header div.upper div.head-right div.head-tel a {
  color: #ff9800;
  /* noto sans-black */
  font-family: "Noto Sans JP";
  font-size: 36px;
  font-style: normal;
  font-weight: 900;
  line-height: 1; /* 54px */
}
header div.upper div.head-right div.head-tel a::before {
  width: 30.019px;
  height: 30.01px;
  flex-shrink: 0;
  display: inline-block;
  vertical-align: middle;
  content: "";
  margin-top: -3px;
  margin-right: 3px;
  background-image: url(../image/header/tel.svg);
}
header div.upper div.head-right div.head-tel p {
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 24px */
}
@media screen and (max-width: 767px) {
  header div.upper div.head-right {
    display: none;
  }
}
@media screen and (max-width: 1100px) {
  header div.upper div.head-tel {
    display: none;
  }
}
header div.upper button.linebtn {
  display: flex;
  width: 230px;
  height: 50px;
  padding: 14px 24px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
@media screen and (max-width: 1100px) {
  header div.upper button.linebtn {
    margin-right: 5vw;
  }
}
header div.upper button.linebtn a {
  display: flex;
  width: 230px;
  height: 50px;
  padding: 24px 14px;
  border-radius: 8px;
  background: #00b900;
  justify-content: center;
  align-items: center;
  /* Button Shadow */
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);
}
header div.upper button.linebtn a span {
  color: #fff;
  /* noto sans-bold-20 */
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 1; /* 30px */
  letter-spacing: 0;
  white-space: nowrap;
}

nav.headernav {
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
  background-color: #ff9800;
}
@media screen and (max-width: 1100px) {
  nav.headernav {
    display: none;
  }
}
nav.headernav ul {
  padding: 10px 0;
}
nav.headernav ul li {
  height: 35px;
  margin-top: 5px;
  box-sizing: border-box;
}
nav.headernav ul li a {
  color: #fff;
  position: relative;
  /* noto sans-bold-20 */
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 30px */
  padding-left: 39px;
  white-space: nowrap;
}
nav.headernav ul li a::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #ff0;
  bottom: -5px;
  transform: scale(0, 1);
  transform-origin: center top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
  transition: transform 0.3s; /*変形の時間*/
}
nav.headernav ul li a:hover {
  color: #ff0;
}
nav.headernav ul li a:hover::after {
  transform: scale(1, 1); /*ホバー後、x軸方向に1（相対値）伸長*/
}
nav.headernav ul li:first-child a:before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  background-image: url(../image/header/icon01.svg);
  position: absolute;
  left: 0;
  z-index: 1;
  top: -4px;
  background-size: contain;
}
nav.headernav ul li:first-child:hover a:before {
  background-image: url(../image/header/icon01-hover.svg);
  position: absolute;
  width: 40px;
  height: 40px;
  z-index: 1;
  top: -4px;
}
nav.headernav ul li:nth-child(2) a:before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  background-image: url(../image/header/icon02.svg);
  position: absolute;
  left: 0;
  z-index: 1;
  top: -4px;
  background-size: contain;
}
nav.headernav ul li:nth-child(2):hover a:before {
  background-image: url(../image/header/icon02-hover.svg);
  position: absolute;
  width: 40px;
  height: 40px;
  z-index: 1;
  top: -4px;
}
nav.headernav ul li:nth-child(3) a:before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  background-image: url(../image/header/icon03.svg);
  position: absolute;
  left: 0;
  z-index: 1;
  top: -4px;
  background-size: contain;
}
nav.headernav ul li:nth-child(3):hover a:before {
  background-image: url(../image/header/icon03-hover.svg);
  position: absolute;
  width: 40px;
  height: 40px;
  z-index: 1;
  top: -4px;
}
nav.headernav ul li:nth-child(4) a:before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  background-image: url(../image/header/icon04.svg);
  position: absolute;
  left: 0;
  z-index: 1;
  top: -4px;
  background-size: contain;
}
nav.headernav ul li:nth-child(4):hover a:before {
  background-image: url(../image/header/icon04-hover.svg);
  position: absolute;
  width: 40px;
  height: 40px;
  z-index: 1;
  top: -4px;
}
nav.headernav ul li:nth-child(5) a:before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  background-image: url(../image/header/icon05.svg);
  position: absolute;
  left: 0;
  z-index: 1;
  top: -4px;
  background-size: contain;
}
nav.headernav ul li:nth-child(5):hover a:before {
  background-image: url(../image/header/icon05-hover.svg);
  position: absolute;
  width: 40px;
  height: 40px;
  z-index: 1;
  top: -4px;
}

@media screen and (max-width: 1100px) {
  #g-nav {
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    z-index: 10;
    /*ナビのスタート位置と形状*/
    /* top: 0;*/
    top: -120%;
    width: 100%;
    height: auto; /*ナビの高さ*/
    background: #fff;
    /*動き*/
    transition: all 0.6s;
    top: 65px;
    font-family: "Zen Maru Gothic", serif;
    overflow: scroll;
    margin: 0;
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position: fixed;
    z-index: 10;
    /*ナビのスタート位置と形状*/
    top: 0;
    top: -120%;
    width: 100%;
    height: 100%;
    /*動き*/
    transition: all 0.6s;
    background: #ff9800;
    overflow: scroll;
  }
}
@media screen and (max-width: 1100px) and (min-width: 1024px) {
  #g-nav {
    display: none;
  }
}
.g-nav-list {
  height: auto;
  padding: 136px 27px;
}
@media screen and (min-width: 1024px) {
  .g-nav-list {
    display: none;
  }
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive {
  right: 0;
  top: 0;
}
@media screen and (max-width: 767px) {
  #g-nav.panelactive #g-nav.panelactive {
    right: 0;
    /* top: 100px;*/
  }
}

/*ナビゲーション*/
.sp-menu-ul ul {
  z-index: 999;
  width: 82.7vw;
  margin: 0 auto 48px;
  padding-top: 0px;
}
@media screen and (max-width: 1100px) {
  .sp-menu-ul ul {
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 1024px) {
  .sp-menu-ul ul {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .sp-menu-ul ul {
    flex-wrap: wrap;
    padding-top: 12px;
  }
}
.sp-menu-ul ul li {
  list-style: none;
  text-align: left;
  width: 100%;
  margin-bottom: 16px;
}
.sp-menu-ul ul li:last-child {
  margin-bottom: 0;
}
.sp-menu-ul ul li a {
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 30px */
  position: relative;
  display: inline-block;
}
.sp-menu-ul ul li:first-child a:before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  background-image: url(../image/header/icon01.svg);
}
.sp-menu-ul ul li:first-child:hover a:before {
  background-image: url(../image/header/icon01-hover.svg);
}
.sp-menu-ul ul li:nth-child(2) a:before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  background-image: url(../image/header/icon02.svg);
}
.sp-menu-ul ul li:nth-child(2):hover a:before {
  background-image: url(../image/header/icon02-hover.svg);
}
.sp-menu-ul ul li:nth-child(3) a:before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  background-image: url(../image/header/icon03.svg);
}
.sp-menu-ul ul li:nth-child(3):hover a:before {
  background-image: url(../image/header/icon03-hover.svg);
}
.sp-menu-ul ul li:nth-child(4) a:before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  background-image: url(../image/header/icon04.svg);
}
.sp-menu-ul ul li:nth-child(4):hover a:before {
  background-image: url(../image/header/icon04-hover.svg);
}
.sp-menu-ul ul li:nth-child(5) a:before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  background-image: url(../image/header/icon05.svg);
}
.sp-menu-ul ul li:nth-child(5):hover a:before {
  background-image: url(../image/header/icon05-hover.svg);
}

div.sp-tel-area {
  display: flex;
  width: 100%;
  padding: 20px;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.sp-tel-area {
  background-color: #fffaec;
  border-radius: 20px;
}
.sp-tel-area .up p {
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 24px */
}
.sp-tel-area .up a span {
  color: #ff9800;
  white-space: nowrap;
  font-family: "Noto Sans JP";
  font-size: 36px;
  font-style: normal;
  font-weight: 900;
  line-height: 150%; /* 54px */
}
.sp-tel-area .up a span:before {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  vertical-align: middle;
  background-image: url(../image/header/tel.svg);
  background-size: contain;
  background-repeat: no-repeat;
  margin-top: -5px;
}
.sp-tel-area .bottom button.linebtn {
  display: flex;
  width: 230px;
  height: 50px;
  padding: 14px 24px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.sp-tel-area .bottom button.linebtn a {
  display: flex;
  width: 230px;
  height: 50px;
  padding: 24px 14px;
  border-radius: 8px;
  background: #00b900;
  justify-content: center;
  align-items: center;
  /* Button Shadow */
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);
}
.sp-tel-area .bottom button.linebtn a span {
  color: #fff;
  /* noto sans-bold-20 */
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 1; /* 30px */
  letter-spacing: 0;
  white-space: nowrap;
}

.openbtn1 {
  position: fixed;
  z-index: 9999; /*ボタンを最前面に*/
  /*  top:10px;*/
  right: 0;
  cursor: pointer;
  width: 56px;
  height: 56px;
  flex-shrink: 0;
  aspect-ratio: 1/1;
  border-radius: 100vh;
  background-color: #ff9800;
  top: 8px;
  right: 8px;
}
@media screen and (min-width: 1101px) {
  .openbtn1 {
    display: none;
  }
}

.openbtn1 span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 15px;
  /*height: 3px;*/
  height: 2px;
  border-radius: 2px;
  background-color: #fff;
  width: 24px;
  height: 3px;
  left: 50%;
  transform: translateX(-50%);
}

.openbtn1 span:nth-of-type(1) {
  top: 18px;
  width: 24px;
}

.openbtn1 span:nth-of-type(2) {
  top: 27px;
  width: 24px;
}

.openbtn1 span:nth-of-type(3) {
  top: 36px;
  width: 24px;
}

/*.openbtn1 span:nth-of-type(3) {
  top: 39px;
}*/
.openbtn1.active span:nth-of-type(1) {
  top: 19px;
  transform: translateY(6px) rotate(-45deg);
  width: 24px;
  left: 17px;
}

.openbtn1.active span:nth-of-type(3) {
  opacity: 0;
}

.openbtn1.active span:nth-of-type(2) {
  left: 17px;
  transform: translateY(-6px) rotate(45deg);
  width: 24px;
  top: 31px;
}

/*.openbtn1:before {
  content: "MENU";
  display: inline-block;
  font-family: 'Marcellus', serif;
  color: #4E5346;
  font-size: 1.3rem;
  position: absolute;
  top: 33%;
  right: 70px;
}
.openbtn1.active:before {
  content: "CLOSE";
  display: inline-block;
  font-family: 'Marcellus', serif;
  color: #4E5346;
  font-size: 1.3rem;
  position: absolute;
  top: 33%;
  right: 70px;
}*/
footer {
  width: 100%;
  background-color: #ff9800;
  padding-top: 120px;
  padding-bottom: 20px;
}
@media screen and (max-width: 767px) {
  footer {
    padding-top: 84px;
  }
}
footer div.flex {
  justify-content: flex-start;
  gap: 80px;
  margin-bottom: 120px;
}
@media screen and (max-width: 1023px) {
  footer div.flex {
    flex-direction: column;
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  footer div.flex {
    flex-wrap: wrap;
    gap: 32px;
    margin-bottom: 64px;
  }
}
footer div.footer-left {
  width: 440px;
}
@media screen and (max-width: 1023px) {
  footer div.footer-left {
    text-align: center;
  }
}
footer div.footer-left h2 {
  color: #fff;
  white-space: nowrap;
  /* noto sans-black-40 */
  font-family: "Noto Sans JP";
  font-size: 40px;
  font-style: normal;
  font-weight: 900;
  line-height: 150%; /* 60px */
}
@media screen and (max-width: 767px) {
  footer div.footer-left h2 {
    font-size: 32px;
    text-align: left;
    line-height: 125%; /* 40px */
  }
}
footer div.footer-left h2 span {
  color: #fff;
  /* noto sans-bold-20 */
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 30px */
  display: block;
  color: #fff;
}
@media screen and (max-width: 767px) {
  footer div.footer-left h2 span {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  footer div.footer-left {
    width: 100%;
  }
}
footer div.footer-right {
  width: 300px;
  color: #fff;
  color: #fff;
}
footer div.footer-right div.mane {
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 24px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 36px */
}
@media screen and (max-width: 767px) {
  footer div.footer-right div.mane {
    font-size: 18px;
  }
}
footer div.footer-right address {
  /* noto sans-medium-16 */
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 24px */
  letter-spacing: 0;
}
footer div.footer-right div.tel {
  color: #fff;
  /* noto sans-black */
  font-family: "Noto Sans JP";
  font-size: 36px;
  font-style: normal;
  font-weight: 900;
  line-height: 150%; /* 54px */
}
footer div.footer-right div.tel::before {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  margin-right: 3px;
  vertical-align: middle;
  margin-top: -3px;
  background-image: url(../image/footer/TEL.svg);
}
@media screen and (max-width: 767px) {
  footer div.footer-right {
    width: 100%;
  }
}
footer p {
  text-align: center;
}
footer p small {
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 24px */
  text-align: center;
}
@media screen and (max-width: 767px) {
  footer p small {
    font-size: 14px;
  }
}


.mv-wrap {
  width: 100%;
  height: calc(100vh - 150px);
  background-image: url(../image/mv/mvback.png);
  background-position: right 10% center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 750px;
  margin-top: 150px;
}
@media screen and (max-width: 1100px) {
  .mv-wrap {
    margin-top: 90px;
  }
}
@media screen and (max-width: 767px) {
  .mv-wrap {
    max-height: none;
    height: 100vh;
    margin-top: 72px;
    height: calc(100vh - 72px);
    overflow: hidden;
    height: 595px;
  }
}

div.mvtitle {
  width: 548px;
  height: 195px;
  position: absolute;
  top: 32%;
  z-index: 1;
  left: 13.4vw;
}
@media screen and (min-width: 1800px) {
  div.mvtitle {
    left: 25%;
  }
}
@media screen and (min-width: 1401px) and (max-width: 1799px) {
  div.mvtitle {
    left: 20%;
  }
}
@media screen and (min-width: 1201px) and (max-width: 1400px) {
  div.mvtitle {
    left: 10%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  div.mvtitle {
    left: 2%;
    width: 45vw;
  }
}
@media screen and (max-width: 767px) {
  div.mvtitle {
    width: 100%;
    position: static;
    height: 100%;
    position: absolute;
    width: 264px;
    left: 7.2%;
    top: 20.5%;
    height: 84px;
  }
}
div.mvtitle div.titleimg {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  div.mvtitle div.titleimg {
    width: 264px;
    left: 7.2%;
    top: 20.5%;
  }
}
div.mvtitle div.oomune {
  position: absolute;
  right: -22px;
  top: -78px;
  width: 128px;
  height: 110px;
  animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  div.mvtitle div.oomune {
    width: 90px;
    height: 80px;
    top: 10.6%;
    right: 7.7%;
    top: -59px;
    right: -55px;
  }
}
div.mvtitle div.fukidashi1 {
  position: absolute;
  height: 140px;
  top: -183px;
  left: -30px;
  animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 0.5s;
  opacity: 0;
}
@media screen and (max-width: 1023px) {
  div.mvtitle div.fukidashi1 {
    left: -6px;
    width: 28vw;
    top: -212px;
  }
}
@media screen and (max-width: 767px) {
  div.mvtitle div.fukidashi1 {
    width: 147.161px;
    height: 89.19px;
    top: -103px;
    left: -19px;
  }
}
div.mvtitle div.fukidashi2 {
  position: absolute;
  height: 140px;
  top: -150px;
  left: 222px;
  width: 203.552px;
  height: 144.75px;
  animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 1s;
  opacity: 0;
}
@media screen and (max-width: 1023px) {
  div.mvtitle div.fukidashi2 {
    left: 100px;
    width: 22vw;
    top: -98px;
  }
}
@media screen and (max-width: 767px) {
  div.mvtitle div.fukidashi2 {
    width: 130px;
    height: 92px;
    left: auto;
    top: -92px;
    right: 0;
  }
}
div.mvtitle div.fukidashi3 {
  position: absolute;
  width: 281px;
  height: 209px;
  bottom: -243px;
  left: -49px;
  animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 1.5s;
  opacity: 0;
}
@media screen and (max-width: 1023px) {
  div.mvtitle div.fukidashi3 {
    bottom: -221px;
  }
}
@media screen and (max-width: 767px) {
  div.mvtitle div.fukidashi3 {
    width: 180px;
    height: 134px;
    left: 6px;
    bottom: -155px;
    left: -10px;
  }
}
div.mvtitle div.fukidashi4 {
  position: absolute;
  width: 279px;
  height: 158px;
  left: 234px;
  bottom: -173px;
  animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 2s;
  opacity: 0;
}
@media screen and (max-width: 1023px) {
  div.mvtitle div.fukidashi4 {
    left: 148px;
    bottom: -76px;
    width: 30vw;
  }
}
@media screen and (max-width: 767px) {
  div.mvtitle div.fukidashi4 {
    width: 179px;
    height: 101px;
    right: 3.5%;
    left: auto;
    bottom: -106px;
    right: -64px;
  }
}

div.man01 {
  position: absolute;
  width: 285px;
  height: 634px;
  flex-shrink: 0;
  top: 60px;
  right: 25.3%;
  opacity: 0;
  animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 0.5s;
}
@media screen and (max-width: 767px) {
  div.man01 {
    width: 179.908px;
    height: 400.085px;
    top: auto;
    bottom: -148px;
    left: -5px;
  }
}

div.man02 {
  position: absolute;
  width: 291px;
  height: 610px;
  flex-shrink: 0;
  right: 11%;
  opacity: 0;
  animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 1s;
}
@media screen and (max-width: 767px) {
  div.man02 {
    width: 183px;
    height: 385px;
    bottom: -101px;
    right: 17.3%;
  }
}

div.man03 {
  position: absolute;
  width: 278px;
  height: 545px;
  flex-shrink: 0;
  right: 2.4%;
  right: 7.4%;
  bottom: 0;
  opacity: 0;
  animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 1.5s;
}
@media screen and (max-width: 1023px) {
  div.man03 {
    right: 1%;
  }
}
@media screen and (max-width: 767px) {
  div.man03 {
    width: 173px;
    height: 396px;
    bottom: -178px;
    right: -5px;
  }
}

div.man04 {
  position: absolute;
  width: 244.06px;
  height: 491px;
  flex-shrink: 0;
  bottom: 0;
  right: 17.1%;
  opacity: 0;
  animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 2s;
}
@media screen and (max-width: 767px) {
  div.man04 {
    width: 151px;
    height: 408px;
    bottom: -209px;
    left: 24.3%;
  }
}

div.left-up-wave {
  width: 700px;
  height: 330px;
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (max-width: 767px) {
  div.left-up-wave {
    width: 350px;
    height: 165px;
  }
}

div.right-bottom-wave {
  position: absolute;
  width: 558px;
  height: 207px;
  flex-shrink: 0;
  bottom: 0;
  right: 0;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  div.right-bottom-wave {
    width: 279px;
    height: 103px;
  }
}
div.right-bottom-wave img {
  vertical-align: baseline;
  width: 100%;
  height: 100%;
}

div.tri-right-up {
  width: 122.12px;
  height: 131.79px;
  position: absolute;
  top: 50px;
  right: 52px;
}
@media screen and (max-width: 767px) {
  div.tri-right-up {
    width: 61px;
    height: 66px;
    right: 2.1%;
    top: 32.8%;
  }
}

div.tri-left-up {
  width: 149.38px;
  height: 109.21px;
  position: absolute;
  top: 79px;
  left: 52px;
}
@media screen and (max-width: 767px) {
  div.tri-left-up {
    width: 74px;
    height: 54px;
    top: 2.2%;
    left: auto;
    right: 2.9%;
  }
}

div.tri-left-bottom {
  width: 156.58px;
  height: 107.84px;
  position: absolute;
  bottom: 50px;
  left: 30.5vw;
}
@media screen and (max-width: 767px) {
  div.tri-left-bottom {
    width: 78px;
    height: 53px;
    left: 1.9%;
    bottom: 3%;
  }
}

@keyframes zoomIn {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.news-area {
  background-color: #ff9800;
  padding: 120px 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .news-area {
    padding: 64px 0;
  }
}
.news-area div.tri-left {
  bottom: 42px;
  left: -217px;
  position: absolute;
  width: 156px;
  height: 107px;
}
.news-area div.tri-right {
  bottom: -120px;
  right: -216px;
  position: absolute;
  width: 156px;
  height: 107px;
}
.news-area div.wave {
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .news-area div.wave {
    width: 281px;
  }
}
.news-area div.bell {
  width: 278px;
  height: 303px;
  position: absolute;
  top: -290px;
  right: -76px;
}
@media screen and (max-width: 767px) {
  .news-area div.bell {
    width: 138px;
    height: 151px;
    right: -4px;
    top: -184px;
  }
}
.news-area h2 {
  color: #fff;
  text-align: center;
  margin-bottom: 80px;
  /* noto sans-bold-40 */
  font-family: "Noto Sans JP";
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 60px */
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .news-area h2 {
    position: relative;
    font-size: 32px;
    margin-bottom: 48px;
  }
}
.news-area h2 span.en {
  color: #ffff00;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 30px */
  display: block;
}
@media screen and (max-width: 767px) {
  .news-area h2 span.en {
    font-size: 16px;
  }
}

.top-about-area {
  padding: 120px 0;
  background-color: #fffaec;
}
@media screen and (max-width: 767px) {
  .top-about-area {
    overflow: hidden;
    padding: 64px 0;
  }
}
.top-about-area div.machi {
  position: absolute;
  width: 100%;
  height: 180px;
  height: auto;
  bottom: 0;
  vertical-align: baseline;
  display: flex;
  align-items: end;
}
.top-about-area div.machi img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .top-about-area div.machi img {
    scale: 1.7;
  }
}
.top-about-area div.megaphone {
  width: 413px;
  height: 266px;
  position: absolute;
  top: -110px;
  left: -142px;
}
@media screen and (max-width: 767px) {
  .top-about-area div.megaphone {
    width: 205px;
    height: 132px;
    left: -12%;
    top: -61px;
  }
}
.top-about-area h2 {
  color: #000;
  text-align: center;
  margin-bottom: 80px;
  /* noto sans-bold-40 */
  font-family: "Noto Sans JP";
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 60px */
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-about-area h2 {
    margin-bottom: 48px;
    font-size: 32px;
  }
}
.top-about-area h2 span.en {
  color: #ff9800;
  text-align: center;
  /* noto sans-bold-20 */
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 30px */
  display: block;
}
.top-about-area p.disc {
  color: #000;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 200%; /* 36px */
  margin-bottom: 48px;
}
@media screen and (max-width: 767px) {
  .top-about-area p.disc {
    margin-bottom: 32px;
    font-size: 16px;
    text-align: left;
  }
}
.top-about-area ul.aboutkokokara {
  margin-bottom: 80px;
}
@media screen and (max-width: 1023px) {
  .top-about-area ul.aboutkokokara {
    flex-direction: column;
    gap: 15px;
  }
}
@media screen and (max-width: 767px) {
  .top-about-area ul.aboutkokokara {
    flex-direction: column;
    gap: 15px;
  }
}
.top-about-area ul.aboutkokokara li {
  display: flex;
  width: 32%;
  height: 140px;
  padding: 25px;
  align-items: center;
  gap: 15px;
  border-radius: 15px;
  background: #ff9800;
  gap: 15px;
}
@media screen and (max-width: 1023px) {
  .top-about-area ul.aboutkokokara li {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .top-about-area ul.aboutkokokara li {
    width: 100%;
  }
}
.top-about-area ul.aboutkokokara li p.num {
  color: #ff0;
  font-family: "Noto Sans JP";
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 60px */
}
.top-about-area ul.aboutkokokara li div.discript {
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-style: normal;
  line-height: 150%; /* 30px */
}
.top-about-area h3 {
  color: #ff9800;
  text-align: center;
  /* noto sans-bold-32 */
  font-family: "Noto Sans JP";
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 48px */
  margin-bottom: 48px;
}
@media screen and (max-width: 767px) {
  .top-about-area h3 {
    font-size: 24px;
    margin-bottom: 32px;
  }
}
.top-about-area ul.servicelist {
  flex-wrap: wrap;
  gap: 17px 2%;
  align-items: normal;
  justify-content: space-between;
}
@media screen and (max-width: 1023px) {
  .top-about-area ul.servicelist {
    justify-content: center;
  }
}
.top-about-area ul.servicelist li {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 32%;
  max-width: 320px;
  padding: 25px;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  border-radius: 20px;
  border: 2px solid #ff9800;
  background: #fff;
  flex-wrap: wrap;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .top-about-area ul.servicelist li {
    width: 100%;
  }
}
.top-about-area ul.servicelist li div.image {
  width: 100%;
  height: 180px;
  overflow: hidden;
}
.top-about-area ul.servicelist li div.image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.top-about-area ul.servicelist li div.txtarea p {
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 24px */
  text-align: left;
  margin-bottom: 0;
}
.top-about-area ul.servicelist li div.txtarea h4 {
  color: #ff9800;
  /* noto sans-bold-20 */
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 30px */
  margin-bottom: 10px;
}
.top-about-area ul.servicelist li:first-child:before {
  content: "1";
  display: flex;
  height: 50px;
  width: 50px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  position: absolute;
  border-radius: 15px;
  background: #ff9800;
  color: #ff0;
  text-align: center;
  top: -4px;
  left: -4px;
  /* noto sans-bold-24 */
  font-family: "Noto Sans JP";
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 36px */
}
.top-about-area ul.servicelist li:nth-child(2):before {
  content: "2";
  display: flex;
  height: 50px;
  width: 50px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  position: absolute;
  border-radius: 15px;
  background: #ff9800;
  color: #ff0;
  text-align: center;
  top: -4px;
  left: -4px;
  /* noto sans-bold-24 */
  font-family: "Noto Sans JP";
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 36px */
}
.top-about-area ul.servicelist li:nth-child(3):before {
  content: "3";
  display: flex;
  height: 50px;
  width: 50px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  position: absolute;
  border-radius: 15px;
  background: #ff9800;
  color: #ff0;
  text-align: center;
  top: -4px;
  left: -4px;
  /* noto sans-bold-24 */
  font-family: "Noto Sans JP";
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 36px */
}

.top-line-area {
  background-color: #00b900;
  height: 398px;
  padding: 80px 0;
  box-sizing: border-box;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .top-line-area {
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .top-line-area {
    height: auto;
    padding: 48px 0;
  }
}

.toplinecontainer {
  width: 574px;
  margin: 0 auto;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .toplinecontainer {
    width: 100%;
  }
}
.toplinecontainer h2 {
  color: #fff;
  text-align: center;
  margin-bottom: 20px;
  /* noto sans-bold-32 */
  font-family: "Noto Sans JP";
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 48px */
}
@media screen and (max-width: 767px) {
  .toplinecontainer h2 {
    width: clamp(320px, 80%, 400px);
    margin: 0 auto 15px;
    font-size: 24px;
  }
}
.toplinecontainer p {
  color: #fff;
  text-align: center;
  letter-spacing: 0;
  /* noto-sans-medimu-18 */
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 27px */
  margin-bottom: 36px;
}
@media screen and (max-width: 767px) {
  .toplinecontainer p {
    font-size: 16px;
    width: clamp(320px, 80%, 400px);
    margin: 0 auto 20px;
  }
}
.toplinecontainer button.top-line-btn {
  width: 400px;
  width: clamp(320px, 80%, 400px);
  height: 80px;
  margin: 0 auto;
  display: block;
  flex-shrink: 0;
  background-color: #fff;
  border-radius: 100vh;
  box-shadow: 5px 5px #c0ee80;
  position: relative;
  transition: 0.3s ease-in-out;
  text-align: left;
}
.toplinecontainer button.top-line-btn:after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 10px;
  height: 20px;
  flex-shrink: 0;
  background-image: url(../image/header/line-arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  top: 50%;
  transform: translateY(-50%);
  right: 40px;
}
.toplinecontainer button.top-line-btn:hover {
  background-color: #c0ee80;
}
.toplinecontainer button.top-line-btn a {
  color: #00b900;
  padding-left: 40px;
  /* noto sans-bold-24 */
  font-family: "Noto Sans JP";
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 36px */
}
.toplinecontainer button.top-line-btn a span {
  color: #00b900;
}
.toplinecontainer div.rightman {
  width: 350px;
  height: 350px;
  flex-shrink: 0;
  position: absolute;
  right: -356px;
  bottom: -80px;
}
@media screen and (max-width: 1023px) {
  .toplinecontainer div.rightman {
    display: none;
  }
}
.toplinecontainer div.leftman {
  width: 350px;
  height: 350px;
  flex-shrink: 0;
  position: absolute;
  left: -356px;
  bottom: -88px;
}
@media screen and (max-width: 1023px) {
  .toplinecontainer div.leftman {
    display: none;
  }
}
.toplinecontainer .splineman {
  text-align: center;
}

.top-moviearea {
  background-color: #fffaec;
  padding: 120px 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-moviearea {
    padding: 64px 0;
  }
}
.top-moviearea div.movie-icon {
  width: 323.09px;
  height: 235.93px;
  flex-shrink: 0;
  position: absolute;
  right: -88px;
  top: -94px;
}
@media screen and (max-width: 767px) {
  .top-moviearea div.movie-icon {
    width: 160px;
    height: auto;
    right: 0;
    top: -51px;
  }
}
.top-moviearea div.tri-left {
  top: 49px;
  left: -218px;
  position: absolute;
  width: 156px;
  height: 107px;
}
.top-moviearea div.tri-right {
  bottom: -3px;
  right: -217px;
  position: absolute;
  width: 156px;
  height: 107px;
}
.top-moviearea div.wave {
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .top-moviearea div.wave {
    width: 281px;
    height: 104px;
  }
}
.top-moviearea h2 {
  color: #000;
  text-align: center;
  margin-bottom: 80px;
  /* noto sans-bold-40 */
  font-family: "Noto Sans JP";
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 60px */
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-moviearea h2 {
    font-size: 32px;
    margin-bottom: 48px;
  }
}
.top-moviearea h2 span.en {
  color: #ff9800;
  text-align: center;
  /* noto sans-bold-20 */
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 30px */
  display: block;
}
.top-moviearea p.discript {
  color: #000;
  text-align: center;
  /* noto sans-medium-18本文 */
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-weight: 500;
  line-height: 200%; /* 36px */
}
@media screen and (max-width: 767px) {
  .top-moviearea p.discript {
    font-size: 16px;
    text-align: left;
  }
}
.top-moviearea .top-movie-list {
  flex-wrap: wrap;
  gap: 24px 2%;
  margin-top: 46px;
  z-index: 1;
  align-items: flex-start;
  justify-content: flex-start;
}
@media screen and (max-width: 1023px) {
  .top-moviearea .top-movie-list {
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .top-moviearea .top-movie-list {
    flex-direction: column;
    gap: 16px;
  }
}
.top-moviearea .top-movie-list li {
  width: 32%;
}
@media screen and (max-width: 1023px) {
  .top-moviearea .top-movie-list li {
    width: 45%;
  }
}
@media screen and (max-width: 767px) {
  .top-moviearea .top-movie-list li {
    width: 100%;
  }
}
.top-moviearea .top-movie-list li div.movie {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .top-moviearea .top-movie-list li div.movie {
    margin-bottom: 10px;
  }
}
.top-moviearea .top-movie-list li p.title {
  color: #000;
  text-align: center;
  /* noto-sans-medimu-18 */
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 27px */
}
@media screen and (max-width: 767px) {
  .top-moviearea .top-movie-list li p.title {
    font-size: 16px;
  }
}

.top-station-area {
  padding: 120px 0;
  background: #ffd000;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-station-area {
    padding: 64px 0;
  }
}
.top-station-area h2 {
  color: #000;
  text-align: center;
  margin-bottom: 80px;
  /* noto sans-bold-40 */
  font-family: "Noto Sans JP";
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 60px */
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-station-area h2 {
    font-size: 32px;
    margin-bottom: 48px;
  }
}
.top-station-area h2 span.en {
  color: #4b6cb3;
  text-align: center;
  /* noto sans-bold-20 */
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 30px */
  display: block;
}
@media screen and (max-width: 767px) {
  .top-station-area h2 span.en {
    font-size: 16px;
  }
}
.top-station-area h3 {
  color: #4b6cb3;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 48px */
  margin-bottom: 48px;
}
@media screen and (max-width: 767px) {
  .top-station-area h3 {
    font-size: 24px;
    margin-bottom: 32px;
  }
}
.top-station-area div.bill {
  position: absolute;
  top: -88px;
  left: -115px;
}
@media screen and (max-width: 767px) {
  .top-station-area div.bill {
    width: 184px;
    top: -48px;
    left: -8%;
  }
}
.top-station-area div.wave-last {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 557px;
  height: 207px;
}
@media screen and (max-width: 767px) {
  .top-station-area div.wave-last {
    width: 281px;
    height: 104px;
  }
}
.top-station-area div.tri-left1 {
  position: absolute;
  top: 895px;
  left: 0;
  width: 159px;
  height: 107px;
  left: -221px;
}
.top-station-area div.tri-left2 {
  position: absolute;
  top: auto;
  bottom: 168px;
  width: 159px;
  height: 107px;
  left: -221px;
}
.top-station-area div.tri-left3 {
  position: absolute;
  top: 398px;
  width: 156px;
  height: 107px;
  right: -218px;
}
.top-station-area div.tri-left4 {
  position: absolute;
  bottom: 662px;
  width: 156px;
  height: 107px;
  right: -218px;
}
.top-station-area ul.hellowork {
  flex-wrap: wrap;
  gap: 20px 2%;
  margin-bottom: 80px;
  align-items: normal;
}
@media screen and (max-width: 767px) {
  .top-station-area ul.hellowork {
    margin-bottom: 48px;
  }
}
.top-station-area ul.hellowork li {
  width: 32%;
  min-height: 166px;
  border-radius: 20px;
  background: #fff;
  padding: 28px 30px;
}
@media screen and (max-width: 1023px) {
  .top-station-area ul.hellowork li {
    width: 48%;
  }
}
@media screen and (max-width: 767px) {
  .top-station-area ul.hellowork li {
    width: 100%;
  }
}
.top-station-area ul.hellowork li h4 {
  color: #ff9800;
  margin-bottom: 8px;
  /* noto sans-bold-24 */
  font-family: "Noto Sans JP";
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 36px */
}
.top-station-area ul.hellowork li table tr th {
  color: #000;
  vertical-align: top;
  /* noto sans-medium-16本文 */
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 200%; /* 32px */
}
@media screen and (max-width: 767px) {
  .top-station-area ul.hellowork li table tr th {
    vertical-align: top;
  }
}
.top-station-area ul.hellowork li table tr td {
  color: #000;
  /* noto sans-medium-16本文 */
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 200%; /* 32px */
  padding-left: 8px;
}
.top-station-area ul.hellowork li table.mb {
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .top-station-area ul.hellowork li table.mb {
    margin-bottom: 0;
  }
}
.top-station-area ul.hellowork li button.tohellowork {
  display: flex;
  text-align: left;
  width: 100%;
  height: 60px;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
  border-radius: 40px;
  background: #ff9800;
  box-shadow: 5px 5px 0px 0px #ffe0b2;
  transition: 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .top-station-area ul.hellowork li button.tohellowork {
    position: static;
  }
}
.top-station-area ul.hellowork li button.tohellowork a {
  display: block;
  width: 100%;
  padding: 10px 35px;
}
.top-station-area ul.hellowork li button.tohellowork span {
  display: inline-block;
  width: 100%;
  color: #fff;
  position: relative;
  text-align: left;
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 125%; /* 25px */
}
@media screen and (max-width: 767px) {
  .top-station-area ul.hellowork li button.tohellowork span {
    font-size: 16px;
  }
}
.top-station-area ul.hellowork li button.tohellowork span:after {
  content: "";
  display: inline-block;
  width: 11px;
  height: 19px;
  background-image: url(../image/top/arrow-w.svg);
  background-size: contain;
  background-repeat: no-repeat;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
  right: 0;
}
.top-station-area ul.hellowork li button.tohellowork:hover {
  background-color: #ffe0b2;
}
.top-station-area p.disc {
  color: #000;
  text-align: center;
  letter-spacing: 0;
  /* noto sans-medium-18本文 */
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 200%; /* 36px */
  margin-bottom: 48px;
}
.top-station-area ul.top-station-list {
  flex-wrap: wrap;
  gap: 20px 2%;
  margin-bottom: 80px;
  align-items: normal;
}
.top-station-area ul.top-station-list li {
  border-radius: 20px;
  background: #fff;
  padding: 30px;
  position: relative;
  width: 49%;
  grid-row: 1/span 1;
  grid-column: 1/span 1;
}
@media screen and (max-width: 1023px) {
  .top-station-area ul.top-station-list li {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .top-station-area ul.top-station-list li {
    width: 100%;
  }
}
.top-station-area ul.top-station-list li h4 {
  color: #ff9800;
  margin-bottom: 12px;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 48px */
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .top-station-area ul.top-station-list li h4 {
    margin-bottom: 15px;
    font-size: 24px;
  }
}
.top-station-area ul.top-station-list li button.toeachstation {
  position: absolute;
  right: -10px;
  bottom: 30px;
  display: flex;
  text-align: left;
  width: 260px;
  height: 70px;
  padding: 10px 35px;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
  border-radius: 40px;
  background: #ff9800;
  box-shadow: 5px 5px 0px 0px #ffe0b2;
  transition: 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .top-station-area ul.top-station-list li button.toeachstation {
    position: static;
  }
}
.top-station-area ul.top-station-list li button.toeachstation span {
  display: inline-block;
  width: 100%;
  color: #fff;
  position: relative;
  text-align: left;
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 125%; /* 25px */
}
@media screen and (max-width: 767px) {
  .top-station-area ul.top-station-list li button.toeachstation span {
    font-size: 16px;
  }
}
.top-station-area ul.top-station-list li button.toeachstation span:after {
  content: "";
  display: inline-block;
  width: 11px;
  height: 19px;
  background-image: url(../image/top/arrow-w.svg);
  background-size: contain;
  background-repeat: no-repeat;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
  right: -43px;
}
.top-station-area ul.top-station-list li button.toeachstation:hover {
  background-color: #ffe0b2;
}
.top-station-area ul.top-station-list li div.flex {
  gap: 20px;
  justify-content: flex-start;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .top-station-area ul.top-station-list li div.flex {
    flex-wrap: wrap;
  }
}
.top-station-area ul.top-station-list li div.thumnail {
  width: 180px;
  height: 180px;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .top-station-area ul.top-station-list li div.thumnail {
    width: 100%;
    aspect-ratio: 1/1;
    height: auto;
  }
}
.top-station-area ul.top-station-list li div.righttxt {
  width: auto;
}
@media screen and (max-width: 1023px) {
  .top-station-area ul.top-station-list li div.righttxt {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .top-station-area ul.top-station-list li div.righttxt {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 1023px) {
  .top-station-area ul.top-station-list li div.righttxt table {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .top-station-area ul.top-station-list li div.righttxt table {
    width: 100%;
  }
}
.top-station-area ul.top-station-list li div.righttxt table tr {
  display: flex;
  gap: 20px;
}
.top-station-area ul.top-station-list li div.righttxt table tr th {
  width: 32px;
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 200%; /* 32px */
  letter-spacing: 0;
}
.top-station-area ul.top-station-list li div.righttxt table tr td {
  color: #000;
  /* noto sans-medium-16本文 */
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 200%; /* 32px */
  flex: 1;
}
@media screen and (max-width: 1100px) {
  .top-station-area ul.top-station-list li div.righttxt table tr td {
    flex: 1;
    width: auto;
  }
}
@media screen and (max-width: 1023px) {
  .top-station-area ul.top-station-list li div.righttxt table tr td {
    flex: 1;
    width: auto;
  }
}
@media screen and (max-width: 767px) {
  .top-station-area ul.top-station-list li div.righttxt table tr td {
    width: auto;
  }
}

ul.relationlink {
  flex-direction: column;
  gap: 20px;
}
ul.relationlink li {
  display: flex;
  text-align: left;
  width: 100%;
  height: 80px;
  position: relative;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
  border-radius: 40px;
  background: #fff;
  box-shadow: 5px 5px 0px 0px #a5b5d9;
  transition: 0.3s ease-in-out;
}
ul.relationlink li a {
  display: block;
  padding: 22px 40px;
  width: 100%;
}
ul.relationlink li a span {
  color: #4b6cb3;
  font-family: "Noto Sans JP";
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 36px */
}
@media screen and (max-width: 767px) {
  ul.relationlink li a span {
    font-size: 18px;
  }
}
ul.relationlink li:after {
  position: absolute;
  width: 14px;
  height: 24px;
  flex-shrink: 0;
  background-image: url(../image/top/blue-arrow.svg);
  content: "";
  display: inline-block;
  top: 50%;
  transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
  right: 40px;
}
ul.relationlink li:hover {
  background-color: #a5b5d9;
}

.newslist-wrap {
  margin-top: 150px;
  overflow: hidden;
}
@media screen and (max-width: 1100px) {
  .newslist-wrap {
    margin-top: 90px;
  }
}
@media screen and (max-width: 767px) {
  .newslist-wrap {
    margin-top: 0;
  }
}

.newslist {
  padding: 120px 0;
}
@media screen and (max-width: 767px) {
  .newslist {
    padding: 136px 0 64px;
  }
}
.newslist div.bell {
  width: 276px;
  height: 303px;
  position: absolute;
  top: 0;
  right: -72px;
}
@media screen and (max-width: 767px) {
  .newslist div.bell {
    width: 138px;
    height: 150px;
    right: -5px;
    top: 64px;
  }
}
.newslist h2 {
  color: #000;
  text-align: center;
  margin-bottom: 80px;
  color: #000;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 60px;
  font-weight: 700;
  line-height: 150%; /* 90px */
  position: relative;
}
@media screen and (max-width: 767px) {
  .newslist h2 {
    font-size: 32px;
    margin-bottom: 48px;
  }
}
.newslist h2 span.en {
  color: #ff9800;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 30px */
  display: block;
}
@media screen and (max-width: 767px) {
  .newslist h2 span.en {
    font-size: 16px;
  }
}
.newslist div.categorylist {
  border-radius: 20px;
  border: 2px solid #ffe0b2;
  background: #fff;
  padding: 20px;
}
@media screen and (max-width: 767px) {
  .newslist div.categorylist {
    padding: 6.3%;
  }
}
.newslist div.categorylist ul {
  justify-content: center;
  gap: 15px;
}
@media screen and (max-width: 767px) {
  .newslist div.categorylist ul {
    gap: 10px 3%;
  }
}
.newslist div.categorylist ul li {
  width: 195px;
  height: 30px;
  flex-shrink: 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .newslist div.categorylist ul li {
    width: 42.2%;
  }
}
.newslist div.categorylist ul li.current a {
  background: #ff9800;
  border: 2px solid #ff9800;
}
.newslist div.categorylist ul li.current a span {
  color: #fff;
}
.newslist div.categorylist ul li span {
  color: #fff;
}
.newslist div.categorylist ul li a {
  text-align: center;
  border-radius: 15px;
  border: 2px solid #ffd000;
  background: #fff;
  display: inline-block;
  width: 100%;
}
.newslist div.categorylist ul li a span {
  color: #000;
  text-align: center;
  /* noto sans-bold-16 */
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 24px */
}
.newslist div.categorylist ul li:hover a {
  background: #ffd000;
}
@media screen and (max-width: 767px) {
  .newslist div.categorylist ul {
    flex-wrap: wrap;
  }
}
.newslist .newslistcontents {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .newslist .newslistcontents {
    margin-top: 48px;
  }
}
.newslist .newslistcontents li a p.date {
  color: #ff9800;
}
.newslist .newslistcontents li a p.title {
  color: #000;
}

.news-contents-wrap {
  padding-top: 40px;
  padding-bottom: 120px;
  margin-top: 150px;
  overflow: hidden;
}
@media screen and (max-width: 1100px) {
  .news-contents-wrap {
    margin-top: 90px;
  }
}
@media screen and (max-width: 767px) {
  .news-contents-wrap {
    margin-top: 0;
    padding-top: 96px;
  }
}

.news-contents div.date-cate {
  justify-content: flex-start;
  gap: 20px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .news-contents div.date-cate {
    margin-bottom: 20px;
  }
}
.news-contents div.date-cate span.date {
  color: #ff9800;
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 27px */
}
@media screen and (max-width: 767px) {
  .news-contents div.date-cate span.date {
    font-size: 16px;
  }
}
.news-contents div.date-cate span.category {
  border-radius: 15px;
  border: 2px solid #fff;
  background: #ffd000;
  padding: 3px 35px;
  color: #000;
  text-align: center;
  /* noto sans-bold-16 */
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 24px */
}
.news-contents h1 {
  color: #000;
  padding-bottom: 32px;
  text-align: center;
  /* noto sans-bold-40 */
  font-family: "Noto Sans JP";
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 60px */
  border-bottom: 3px solid #ff9800;
  margin-bottom: 80px;
  font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .news-contents h1 {
    font-size: 24px;
    text-align: left;
    margin-bottom: 48px;
    padding-bottom: 24px;
  }
}
.news-contents img {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .news-contents img {
    margin-bottom: 32px;
  }
}
.news-contents p {
  color: #000;
  font-feature-settings: "palt";
  /* noto sans-medium-18本文 */
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 200%; /* 36px */
}
@media screen and (max-width: 767px) {
  .news-contents p {
    font-size: 16px;
  }
}

.newscontents-box {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .newscontents-box {
    margin-bottom: 48px;
  }
}

.contact-wrap h2 {
  color: #000;
  text-align: center;
  margin-bottom: 80px;
  color: #000;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 60px;
  font-weight: 700;
  line-height: 150%; /* 90px */
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .contact-wrap h2 {
    font-size: 32px;
    margin-bottom: 48px;
  }
}
.contact-wrap h2 span.en {
  color: #ff9800;
  text-align: center;
  /* noto sans-bold-20 */
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 30px */
  display: block;
}

.contact-wrap {
  padding-top: 120px;
  padding-bottom: 120px;
  margin-top: 150px;
  overflow: hidden;
}
@media screen and (max-width: 1100px) {
  .contact-wrap {
    margin-top: 90px;
  }
}
@media screen and (max-width: 767px) {
  .contact-wrap {
    padding-top: 136px;
    padding-bottom: 66px;
    margin-top: 0;
  }
}

div.mailicon {
  width: 323.09px;
  height: 235.95px;
  flex-shrink: 0;
  position: absolute;
  right: -97px;
}
@media screen and (max-width: 767px) {
  div.mailicon {
    width: 160px;
    height: 117px;
    right: 0;
    top: -37px;
  }
}

.contact-choose {
  gap: 20px;
}
@media screen and (max-width: 1100px) {
  .contact-choose {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 767px) {
  .contact-choose {
    flex-wrap: wrap;
  }
}

.contact-lavel {
  display: block;
  padding: 30px 88px;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  background: #ffd000;
  margin: 0 auto;
  display: flex;
  width: 490px;
  height: 176px;
  padding: 30px 74px;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  border-radius: 30px;
  gap: 0;
}
@media screen and (max-width: 1100px) {
  .contact-lavel {
    width: 100%;
    padding: 30px;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .contact-lavel {
    width: 100%;
    padding: 30px;
    height: auto;
  }
}
.contact-lavel p {
  color: #000;
  text-align: center;
  /* noto sans-bold-20 */
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 30px */
}
@media screen and (max-width: 767px) {
  .contact-lavel p {
    font-size: 18px;
  }
}
.contact-lavel div.tel span {
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 40px;
  font-style: normal;
  font-weight: 900;
  line-height: 150%; /* 60px */
}
@media screen and (max-width: 767px) {
  .contact-lavel div.tel span {
    font-size: 32px;
    white-space: nowrap;
  }
}
.contact-lavel div.tel span:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  background-image: url(../image/contact/TEL.svg);
  width: 40px;
  height: 40px;
  aspect-ratio: 1/1;
  margin-right: 10px;
  margin-top: -7px;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .contact-lavel div.tel span:before {
    width: 30px;
    height: 30px;
  }
}
.contact-lavel span.txt {
  color: #000;
  text-align: center;
  /* noto sans-medium-16 */
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 24px */
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .contact-lavel span.txt {
    font-size: 16px;
  }
}
.contact-lavel a.toform {
  display: flex;
  justify-content: center;
  align-items: center;
}
.contact-lavel a.toform span {
  color: #000;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 32px;
  font-style: normal;
  font-weight: 900;
  line-height: 150%; /* 48px */
}
@media screen and (max-width: 767px) {
  .contact-lavel a.toform span {
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
  }
}

.contact-lavel.labeltoform {
  padding: 0;
  gap: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1100px) {
  .contact-lavel.labeltoform {
    padding: 30px;
  }
}
@media screen and (max-width: 767px) {
  .contact-lavel.labeltoform {
    padding: 30px;
  }
}

p.contact-txt {
  margin-bottom: 40px;
  text-align: center;
  color: #000;
  position: relative;
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 200%; /* 36px */
}
@media screen and (max-width: 767px) {
  p.contact-txt {
    font-size: 16px;
    text-align: left;
    font-feature-settings: "palt";
  }
}

div.nyuryoku-wrap div.formtitle {
  color: #000;
  margin-bottom: 12px;
  /* noto sans-medium-16 */
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 24px */
}
div.nyuryoku-wrap div.formtitle span.hisu {
  color: #ff6e00;
  /* noto sans-medium-16 */
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  margin-left: 14px;
}
div.nyuryoku-wrap div.nyuryokubox {
  border-radius: 10px;
  border: 2px solid var(--_30, #ffe0b2);
  background: #fff;
  margin-bottom: 68px;
  height: 64px;
  align-self: stretch;
  padding: 10px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
div.nyuryoku-wrap div.nyuryokubox.zip {
  width: 300px;
}/*# sourceMappingURL=style.css.map */