@charset "utf-8";
/* CSS Document */
html, body {
  height: 100%;
}
main {
  background-image: url("https://makiasuka.info/site/nagomi/img/bg.jpg");
  background-repeat: repeat;
}
.sp {
  display: none;
}
/* LOADING-- */
.is-hide {
  display: none;
}
#loader-bg {
  background: #000;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999;
}
#loader {
  height: 120px;
  left: 50%;
  margin-left: -30px;
  margin-top: -30px;
  position: fixed;
  top: 50%;
  width: 120px;
}
.letter-holder {
  display: flex;
}
.letter-holder .letter {
  animation-name: loadingF;
  animation-duration: 1.6s;
  animation-iteration-count: infinite;
  animation-direction: linear;
  font-size: 14px;
  font-family: 'EB Garamond', serif;
  color: #777;
}
.l-1 {
  animation-delay: 0.48s;
}
.l-2 {
  animation-delay: 0.6s;
}
.l-3 {
  animation-delay: 0.72s;
}
.l-4 {
  animation-delay: 0.84s;
}
.l-5 {
  animation-delay: 0.96s;
}
.l-6 {
  animation-delay: 1.08s;
}
.l-7 {
  animation-delay: 1.2s;
}
.l-8 {
  animation-delay: 1.32s;
}
.l-9 {
  animation-delay: 1.44s;
}
.l-10 {
  animation-delay: 1.56s;
}
@keyframes loadingF {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* --LOADING */
/*追従メニュー--*/
.fix-header {
  background-image: url(https://makiasuka.info/site/nagomi/img/bg_footer.jpg);
  background-repeat: repeat;
  height: 66px;
  top: -66px;
  left: 0;
  text-align: center;
  width: 100%;
  margin: 0 auto;
  color: #fff;
  padding-top: 15px;
  position: fixed;
  opacity: 0; /* 読み込み時透過 */
  z-index: 999;
}
.fix-header-contents {
  margin: 0 auto;
  display: flex;
}
.fix-header ul {
  margin-right: 100px;
  display: flex;
  align-items: center;
  list-style-type: none;
}
.fix-header li {
  margin-right: 32px;
}
.fix-header li a, .fix-header li a:visited {
  color: #fff;
  font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
  font-size: 14px;
  text-decoration: none;
}
.fix-header li:last-child {
  margin-right: 0;
}
.fix-header .underline::after {
  background: #fff !important;
}
.nav_reserve a {
  font-size: 12px;
}
#fix-header-logo {
  max-width: 100px;
  margin: 0 0 0 90px;
}
#fix-header-logo img {
  width: 80px;
}
#fix-header-menus {
  display: flex;
  align-items: center;
  margin-left: auto;
  max-width: 480px;
}
#scroll-fix-menu img {
  padding-bottom: 5px;
  border-bottom: 2px solid #fff;
}
#scroll-fix-menu .current-menu-item img {
  border-bottom: 2px solid #0f142a;
}
#scroll-fix-menu a img:hover {
  border-bottom: 2px solid #0f142a;
  transition: border-color 0.6s ease-out;
}
.liner {
  border-bottom: 1px solid #333333;
  margin: 25px auto;
  width: 60px;
}
.btn a {
  font-family: 'EB Garamond', serif;
  font-size: 17px;
  color: #333333;
  vertical-align: bottom;
  margin-top: .5em;
}
.btn {
  margin: 55px auto 0 auto;
  border: 1px solid #cccccc;
  position: relative;
  width: 160px;
  min-height: 60px;
  padding: 8px 15px;
  border-radius: 0px;
  box-sizing: border-box;
  font-weight: 500;
  text-align: center;
}
.btnadd {
  border: 1px solid #383838;
  transition: all 0.5s ease;
  background-color: rgba(255, 255, 255, 0.3);
}
.btnadd2 {
  border: 1px solid #383838 !important;
  background-color: rgba(255, 255, 255, 0.3) !important;
}
.btnadd3 {
  color: #333333 !important;
}
.nav_reserve {
  margin: 0 auto;
  border: 1px solid #cccccc;
  position: relative;
  max-width: 70px;
  min-height: 25px;
  padding: 8px 15px;
  border-radius: 0px;
  font-weight: 400;
  text-align: center;
}
.nav_reserveadd {
  transition: all 0.5s ease;
  background-color: rgba(255, 255, 255, 0.3);
}
.underline {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.underline::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #333;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: all 0.5s ease;
}
.underline:hover::after {
  transform: scale(1, 1);
}
.scroller {
  display: inline-block;
  position: absolute;
  left: 49%;
  bottom: -80px;
  padding: 10px 10px 160px;
  overflow: hidden;
  color: #fff;
  font-size: 14px;
  font-family: 'Josefin Sans', sans-serif;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-lr;
}
.scroller::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 49%;
  width: 1px;
  height: 150px;
  background: rgba(255, 255, 255, .4);
}
.scroller::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 49%;
  width: 1px;
  height: 150px;
  background: #fff;
  animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
.bg-slider {
  width: 100vw;
  height: 100vh;
  background-position: center center;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
}
header {
  display: flex;
  position: relative;
}
header .g_nav {
  width: 100%;
  position: absolute;
  display: flex;
  top: 80px;
}
header #logo {
  width: 20%;
  margin: 0 0 0 50px;
}
header #logo img {
  width: 100%;
}
header nav {
  flex: 1;
}
header ul {
  display: flex;
  margin: 0 auto;
  padding-right: 100px;
  justify-content: flex-end;
  align-items: baseline;
  color: white;
  cursor: pointer;
  font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
  letter-spacing: .1em;
  font-size: 16px;
  list-style: none;
}
header li {
  margin-left: 25px;
}
header li:nth-child(5) {
  font-size: 20px;
}
header li:last-child {
  font-size: 20px;
  margin-left: 10px;
}
/*#concept*/
#concept {
  margin: 0 auto;
  padding-top: 180px;
}
#concept .flex {
  display: flex;
  align-items: center;
  margin-bottom: 160px;
}
#concept .flex .photo {
  width: 50%;
}
#concept .flex .photo img {
  width: 100%;
}
#concept #middlephoto {
  margin-left: auto;
}
#concept .flex .text_box {
  max-width: 500px;
  padding: 20px 100px;
}
#concept .text_box_2nd {
  margin-left: auto;
}
#concept .text_box .title1 {
  font-size: 14px;
  margin-bottom: 20px;
  color: #383838;
}
#concept .text_box .title2 {
  font-size: 21px;
  font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif !important;
  margin-bottom: 100px;
}
#concept .text_box .text {
  font-size: 14px;
  line-height: 2.5;
  margin-bottom: 40px;
}
#concept .text_box .underline a {
  color: #333333;
}
#concept .text_box .underline {
  font-family: 'EB Garamond', serif;
  position: relative;
  display: inline-block;
  text-decoration: none;
}
#concept .text_box .underline::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  content: '';
  width: 105%;
  height: 1px;
  background: #333;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}
#concept .text_box .underline:hover::after {
  transform: scale(1, 1);
}
/*#pagetop*/
#pagetop {
  position: fixed;
  right: 93px;
  bottom: 60px;
  cursor: pointer;
  z-index: 998;
}
/*#info*/
#info {
  max-width: 633px;
  margin: 0 auto 160px auto;
}
#info h1 {
  font-size: 24px;
  text-align: center;
  letter-spacing: 0.2em;
  padding-top: 30px;
  padding-bottom: 30px;
}
#info .infoH2 {
  min-width: 80px;
  margin-left: auto;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", YuGothic, 游ゴシック, メイリオ, Meiryo, "ＭＳ Ｐゴシック", Helvetica, Arial, Verdana, sans-serif;
  font-size: 15px;
  text-align: left;
  align-items: baseline;
  letter-spacing: 0em;
}
#info .yoyaku {
  display: flex;
  justify-content: center;
  padding: 20px 0;
  border-bottom: 1px solid #cccccc;
}
#info .yoyaku .honbun {
  flex: 1;
  font-size: 16px;
  line-height: 1.5;
  text-align: left;
  margin-left: 80px;
}
#info .infoH3 {
  min-width: 550px;
}
#info .infoH3 a:hover {
  color: #898989;
}
#info .infoH3 a {
  color: #333333;
  transition: .3s ease;
}
.arrow {
  position: relative;
  display: inline-block;
  padding: 0 0 0 16px;
  color: #333333;
  vertical-align: middle;
  text-decoration: none;
  font-size: 15px;
}
.arrow::before, .arrow::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}
.arrow::before {
  left: 3px;
  width: 6px;
  height: 6px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
/*facility*/
#facility {
  margin: 0 auto 160px auto;
}
#facility h1 {
  font-size: 24px;
  text-align: center;
  letter-spacing: 0.2em;
  padding-top: 30px;
  padding-bottom: 30px;
}
#facility .slider {
  margin: 0 auto;
}
#facility .slider div {
  width: 60%;
  margin: 0 auto 30px auto;
}
#facility .slider img {
  width: 100%;
  height: auto;
}
#facility .slider .slick-next {
  right: 20px;
  z-index: 99;
}
#facility .slider .slick-prev {
  left: 15px;
  z-index: 100;
}
/*settings*/
#facility .slider .slick-slide {
  margin: 0 60px;
}
#facility .slider .slick-slide:not(.slick-center) {
  -webkit-filter: opacity(50%);
  -moz-filter: opacity(50%);
  -o-filter: opacity(50%);
  -ms-filter: opacity(50%);
  filter: opacity(50%);
  transition: 0.2s linear;
}
.slick-prev:before, .slick-next:before {
  color: #000;
}
/*contact*/
#contact {
  max-width: 350px;
  margin: 0 auto;
  padding-bottom: 160px;
  text-align: center;
}
#contact h1 {
  font-size: 24px;
  text-align: center;
  letter-spacing: 0.2em;
  padding-top: 30px;
  padding-bottom: 30px;
}
#contact .contact_text {
  margin: 10px auto 0 auto;
  font-size: 16px;
  line-height: 2;
}
#contact .contact_form {
  width: 180px !important;
  font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif !important;
  font-weight: 400;
  margin: 25px auto;
}
#contact .btn {
  background-color: #000;
  border: 1px solid #000;
}
#contact .btn a {
  color: #fff;
}
#contact .contact_tel {
  margin: 0 auto;
  font-family: 'EB Garamond', serif;
  font-size: 35px;
  line-height: 1;
}
#contact .contact_tel span {
  font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
  font-size: 14px;
}
/*footer*/
footer {
  width: 100%;
  height: 350px;
  background-image: url(https://makiasuka.info/site/nagomi/img/bg_footer.jpg);
  background-repeat: repeat;
  font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
  font-size: 14px;
  color: white;
}
footer .flex {
  display: flex;
  margin: 0 auto;
  height: 65%;
  align-items: center;
}
footer .footer_left {
  margin: auto 0 0 100px;
}
footer .footer_left ul {
  list-style: none;
  display: flex;
  margin: 0 0 20px 0;
  font-size: 16px;
}
footer .footer_left li {
  margin-right: 15px;
}
footer .footer_left li:last-child {
  margin-right: 0;
}
.footer_left .underline::after {
  background: #fff !important;
}
.footer_left .underline:hover::after {
  transform: scale(1, 1);
}
footer .footer_right {
  margin: auto 100px 0 auto;
}
footer .footer_right p {
  font-family: 'EB Garamond', serif;
  letter-spacing: 2px;
}
footer .footer_right a:first-child {
  margin-right: 10px;
}
/*--SPstyle*/
/*スマホ表示基準(max-width: 767px)*/
@media screen and (max-width: 834px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  /*----------------------------
* メニュー開閉ボタン
*----------------------------*/
  .menu {
    position: fixed;
    top: 0;
    right: 0;
    width: 0;
    height: 100%;
    background-image: url(https://makiasuka.info/site/nagomi/img/bg_footer.jpg);
    background-repeat: repeat;
    transition: width .5s;
    z-index: 999;
  }
  .is-active {
    z-index: 2;
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .menu__item {
    display: none;
    margin: 40vw 0 0 0;
    width: 100%;
    height: 100%;
    padding: 1em;
    text-align: center;
    color: #fff;
    box-sizing: border-box;
    font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
    font-size: 14px;
    z-index: 2;
  }
  .menu__item-active {
    display: block;
  }
  .menu__item div {
    padding-top: 2em;
    box-sizing: border-box;
  }
  .menu-btn {
    position: fixed;
    right: 20px;
    top: 10px;
    width: 50px;
    height: 50px;
    border-radius: 5px;
    border: none;
  }
  .menu span {
    display: block;
    width: 60%;
    margin: auto;
    height: 1px;
    background-color: #FFF;
    position: absolute;
    left: 0;
    right: 0;
    top: calc((100% - 2px)/2);
    border-radius: 3px;
    transition: .2s;
  }
  .menu-btn p {
    display: block;
    font-size: 80%;
    font-family: 'Lato', sans-serif;
    color: #FFF;
    text-align: center;
    width: 50%;
    margin: auto 0;
    height: 1px;
    position: absolute;
    left: 6px;
    right: 0;
    top: calc((120% - 4px)/2);
    transition: .2s;
  }
  .menu__lineTop {
    transform: translateY(-10px);
  }
  .menu__lineMiddle {}
  .menu__lineBottom {
    transform: translateY(10px);
  }
  .menu__title {
    transform: translateY(20px);
  }
  .is-active .menu__lineTop {
    transform: rotate(45deg);
  }
  .is-active .menu__lineMiddle {
    opacity: 0;
  }
  .is-active .menu__lineBottom {
    transform: rotate(-45deg);
  }
  /*----------------------------
* メニュー開閉ボタン
*----------------------------*/
  #pagetop {
    right: 20px;
    bottom: 20px;
  }
  body {
    position: relative;
  }
  #splogo {
    position: absolute;
    width: 35%;
    left: 34%;
    top: 33%;
  }
  #splogo img {
    width: 100%;
  }
  #concept .flex {
    display: block;
    align-items: center;
    margin-bottom: 160px;
  }
  #concept .flex .photo {
    width: 90%;
  }
  #concept .flex .text_box {
    max-width: 100%;
    padding: 20px 20px;
  }
  #concept .text_box .title2 {
    margin-bottom: 29px;
  }
  #info {
    max-width: 100%;
    margin: 0 10% 160px 10%;
  }
  #info .infoH3 {
    min-width: auto;
    width: 100%;
  }
  #info .yoyaku .honbun {
    flex: 1;
    font-size: 14px;
    text-align: left;
    margin-left: 0px;
  }
  #info .infoH2 {
    display: none;
  }
  #facility .slider div {
    width: 100%;
  }
  /*settings*/
  .slider .slick-slide {
    margin: 0 1%;
  }
  .slick-list {
    padding: 0 !important;
  }
  footer .flex {
    display: block;
    padding: 15% 20px 0 20px;
  }
  footer .footer_left {
    margin: auto 0 0 20px;
  }
  footer .footer_right {
    margin: 10% 0 0 20px;
  }
}