@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Shippori+Mincho&display=swap");
/* ========================================================== */
/* Reset Style */
/* ========================================================== */
*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

html, body {
  height: 100%;
}

body {
  -webkit-font-smoothing: antialiased;
  font-family: "Shippori Mincho", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 18px;
  line-height: 1.4;
  text-size-adjust: none;
  background: none;
  overflow-scrolling: touch;
}
@media (max-width: 768px) {
  body {
    font-size: 3.046875vw;
  }
}

img {
  width: 100%;
  height: auto;
  max-width: 100%;
}

input, button, textarea, select {
  font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

li, h1, h2, h3, h4, h5, h6 {
  line-height: 1.4;
}

a {
  text-decoration: none;
  color: inherit;
}
a:hover {
  color: inherit;
  text-decoration: none;
  opacity: 0.7;
}
a:visited, a:focus, a:active {
  color: inherit;
}

ul {
  padding: 0;
  list-style: none;
}

@media (min-width: 769px) {
  .sp {
    display: none !important;
  }
}
@media (max-width: 769px) {
  .pc {
    display: none !important;
  }
}
/* ========================================================== */
/* SP用スタイル */
/* ========================================================== */
/* ========================================================== */
/* 共通スタイル */
/* ========================================================== */
/* ヘッダー */
/* ========================================================== */
.site_header {

  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 55px;
  background-color: #ffffff;
}
.site_header .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 55px;
  padding: 0 0 0 15px;
}
.site_header h1 {
  width: auto;
}
.site_header h1 a{
  width: 79px;
  display: block;
}
.langchange {
  margin-left: 30vw;
  font-size: 9px;
}
.langchange.open {
  color: #a0a0a0;
}

.menu_open {
  width: 55px;
  height: 55px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.menu_open span {
  width: 20px;
  height: 1px;
  background-color: #000000;
  display: block;
  margin: 4px auto;
  transition: 0.3s;
}
.menu_open.open span:first-child {
  transform: rotate(45deg) translate(2px, 3px);
}
.menu_open.open span:last-child {
  transform: rotate(-45deg) translate(3px, -4px);
}
.menu_open.white {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1;
}
.menu_open.white span {
  background: #ffffff;
}

.selectlang {
  position: fixed;
  top: 55px;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: none;
  background: #000;
  padding: 15px 35px;
  color: #ffffff;
}
.selectlang ul li {
  font-size: 3.2vw;
  font-family: "Noto Sans JP";
}
.selectlang ul li a {
  display: block;
  text-align: center;
  padding: 3.2vw 7.0666vw;
  color: #ffffff;
}
.selectlang ul li span {
  display: block;
  text-align: center;
  padding: 3.2vw 7.0666vw;
  color: #a0a0a0;
}

.sp_nav {
  position: fixed;
  top: 55px;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: none;
  background: #000;
  padding: 15px 35px;
  color: #ffffff;
}
.sp_nav ul li {
  font-size: 3.2vw;
  font-family: "Noto Sans JP";
}
.sp_nav ul li a {
  display: block;
  border-bottom: 1px solid #505050;
  padding: 3.2vw 7.0666vw;
  color: #ffffff;
}
.sp_nav ul li li {
  margin-left: 7.0666vw;
}
.sp_nav ul li li a {
  padding-left: 0;
}
.sp_nav ul li li:last-child a {
  border-bottom: none;
}
.sp_nav ul li ul {
  border-bottom: 1px solid #505050;
}

/* フッター */
/* ========================================================== */
.site_footer {
  background: #000;
  padding: 20vw 0 4vw;
  text-align: center;
}
.site_footer .logo {
  width: 23.3333vw;
  margin: auto auto 18.6666vw auto;
}
.site_footer .f_contents {
  font-size: 2.9333vw;
  font-family: "Noto Sans JP";
}
.site_footer .f_contents .copyright {
  color: #fff;
}
.site_footer .f_contents ul {
  margin-bottom: 10vw;
}
.site_footer .f_contents ul li {
  margin-bottom: 4vw;
}
.site_footer .f_contents ul li a {
  color: #fff;
}

/* ========================================================== */
/* トップページ */
/* ========================================================== */
/* メインビジュアル */
/* ========================================================== */
.mv .slick-slide img {
  width: 100%;
}
.mv .slick-dots {
  position: static;
  margin: 10px 0 0;
}
.mv .slick-dots li {
  width: 6px;
  height: 6px;
  margin: 0 12px;
}
.mv .slick-dots li.slick-active button {
  background: #505050;
}
.mv .slick-dots li button {
  width: 6px;
  height: 6px;
  padding: 0;
  background: #b9b9b9;
  border-radius: 6px;
}
.mv .slick-dots li button::before {
  content: "";
  width: 6px;
  height: 6px;
}

/* キャッチコピー */
/* ========================================================== */
.catchcopy {
  padding: 19.3333vw 0 17.3333vw;
}
.catchcopy h2 {
  margin: auto;
  font-weight: normal;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 8vw;
  line-height: 1.83;
  letter-spacing: 0.2em;
}
.catchcopy p {
  margin-top: 13.3333vw;
  font-size: 3.4666vw;
  line-height: 2.3;
  padding: 0 0 0 16vw;
}

/* お知らせ */
/* ========================================================== */
.information {
  padding-bottom: 24vw;
}
.information .inner {
  margin: 24vw 25px;
}
.information h2 {
  margin: 0 auto 9.3333vw;
  text-align: center;
  font-size: 5.3333vw;
  font-weight: normal;
  letter-spacing: 0.025em;
}
.information ul li {
  border-top: 1px solid #a0a0a0;
}
.information ul li:last-child {
  border-bottom: 1px solid #a0a0a0;
}
.information ul li a {
  display: block;
  padding: 3vw 0;
  font-size: 3.4666vw;
  font-family: "Noto Sans JP";
  color: #505050;
  line-height: 1.7;
}
.information ul li .date {
  margin-right: 56px;
  font-size: 3.2vw;
}
.information .btn_list {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 53.3333vw;
  height: 9.6vw;
  margin: 10.6666vw auto 0;
  background: #c8c8c8;
  font-size: 3.2vw;
  font-family: "Noto Sans JP";
}

/* バナーエリア */
/* ========================================================== */
.bnr_area {
  max-width: 1600px;
  margin: 0 auto 24vw auto;
}
.bnr_area .items {
  padding: 0 25px;
  margin-bottom: 24vw;
}
/* お問い合わせ */
/* ========================================================== */
.contact {
  margin-bottom: 21.3333vw;
}
.contact .inner {
  max-width: 1348px;
  margin: auto;
  padding: 0 35px;
  position: relative;
}
.contact h2 {
  background: #c8c8c8;
  font-weight: normal;
  font-size: 3.7333vw;
  letter-spacing: 0.025em;
  font-family: "Noto Sans JP";
  padding: 4vw;
  position: relative;
}
.contact h2::after {
  content: "";
  background: url(../img/top/ico_plus.png);
  background-size: contain;
  width: 15px;
  height: 15px;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto 0;
}
.contact h2.open::after {
  content: "";
  background: url(../img/top/ico_minus.png) 50% 50% no-repeat;
  background-size: contain;
  width: 15px;
  height: 15px;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto 0;
}
.contact ul {
  border: 1px solid #c8c8c8;
  padding: 0 15px 30px 15px;
  background: #ffffff;
  display: none;
}
.contact ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 12vw;
  border-bottom: 1px solid #c8c8c8;
  font-family: "Noto Sans JP";
  font-size: 2.9333vw;
  letter-spacing: 0.025em;
  text-align: center;
}

.sns {
  margin-bottom: 21.3333vw;
  text-align: center;
}
.sns a {
  display: inline-block;
  margin: 0 27px;
}
.sns a img {
  width: 43px;
}