@charset "UTF-8";
.loader {
  color: #ffffff;
  font-size: 90px;
  text-indent: -9999em;
  overflow: hidden;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  margin: 72px auto;
  position: relative;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load6 1.7s infinite ease, round 1.7s infinite ease;
  animation: load6 1.7s infinite ease, round 1.7s infinite ease;
}

@-webkit-keyframes load6 {
  0% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  5%,
  95% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  10%,
  59% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
  }
  20% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
  }
  38% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
  }
  100% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
}

@keyframes load6 {
  0% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  5%,
  95% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  10%,
  59% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
  }
  20% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
  }
  38% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
  }
  100% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
}

@-webkit-keyframes round {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes round {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

#loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #262626;
  display: flex;
  align-items: center;
  /* 以下のコードを追加 */
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}

.loaded {
  opacity: 0;
  visibility: hidden;
}

@media screen and (max-width: 767px) {
  .is_pc {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .is_sp {
    display: none;
  }
}

body {
  font-size: 16px;
  color: #fff;
  font-family: 'Martel', "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  line-height: 1.75;
  letter-spacing: .05em;
  -webkit-text-size-adjust: 100%;
  background-color: #1F1F1F;
}

img {
  width: 100%;
}

a {
  text-decoration: none;
  display: inline-block;
  cursor: pointer;
  color: #fff;
}

.util__section {
  padding-bottom: 100px;
}

@media screen and (min-width: 768px) {
  .util__section {
    padding-top: 150px;
  }
}

@media screen and (max-width: 767px) {
  .util__section {
    padding-top: 100px;
  }
}

.util__link {
  color: #fff;
  padding: 16px 24px;
  border: 2px solid #fff;
  background-color: rgba(255, 184, 77, 0.7);
  position: relative;
  z-index: 2;
}

.util__link i {
  font-size: 25px;
  vertical-align: middle;
  margin-left: 6px;
}

.util__link-under {
  color: #fff;
  border: 2px solid #fff;
  background-color: rgba(255, 184, 77, 0.7);
  position: absolute;
  width: 100%;
  height: 100%;
  transform: translate(-10px, -14px);
  top: 0;
  left: 0;
  z-index: 0;
}

.util__bottom {
  display: inline-block;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

@media screen and (min-width: 768px) {
  .util__bottom:hover .util__link-under {
    transition: all .4s, background-color 1s;
    transform: translate(0px, 0px);
    background-color: #FFB84D;
  }
}

@media screen and (max-width: 767px) {
  .util__bottom:active .util__link-under {
    transition: all .4s, background-color 1s;
    transform: translate(0px, 0px);
    background-color: #FFB84D;
  }
}

.util__title {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .util__title {
    font-size: 32px;
  }
}

@media screen and (max-width: 767px) {
  .util__title {
    font-size: 24px;
  }
}

.util__title-border {
  margin: 0 auto;
  padding-top: 16px;
  width: 60px;
  border-bottom: #FF9052 3px solid;
}

.util__bgc1 {
  background-color: #111;
}

.header {
  background: rgba(0, 0, 0, 0.3);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
}

@media screen and (max-width: 767px) {
  .header__nav-item-contact {
    margin-top: 20px;
  }
}

.header__nav-item-contact a {
  background-color: rgba(255, 184, 77, 0.7);
  border: #fff 2px solid;
  border-radius: 3px;
  transition: background-color .4s;
  padding: 10px 18px;
  color: #fff;
}

.header__nav-item-contact a:hover {
  background-color: #FFB84D;
}

.header .drawer-hamburger {
  display: none;
}

@media screen and (max-width: 1080px) {
  .header .drawer-hamburger {
    display: inline-block;
    top: 10px;
  }
}

@media screen and (min-width: 768px) {
  .drawer--right .header .drawer-hamburger {
    right: 20px;
  }
}

@media screen and (max-width: 767px) {
  .drawer--right .header .drawer-hamburger {
    top: 0;
    right: 3px;
  }
}

.header .drawer-hamburger-icon {
  background-color: #FF9052;
}

.drawer-open .header .drawer-hamburger-icon {
  background-color: transparent;
}

.header .drawer-hamburger-icon::before {
  background-color: #FF9052;
}

.header .drawer-hamburger-icon::after {
  background-color: #FF9052;
}

.header-inner {
  display: flex;
  align-items: center;
  height: 80px;
}

@media screen and (min-width: 768px) {
  .header-inner {
    padding: 0 8.33%;
  }
}

@media screen and (max-width: 767px) {
  .header-inner {
    height: 60px;
    padding: 0 12px;
  }
}

.header-logo {
  max-width: 274px;
  margin-right: 50px;
}

.header-logo img {
  vertical-align: top;
}

.header-nav {
  margin-left: auto;
}

@media screen and (max-width: 1240px) {
  .header-nav {
    top: 80px;
    padding: 24px 0;
    display: flex;
  }
}

@media screen and (max-width: 1080px) {
  .header-nav {
    top: 80px;
    background-color: #FF9052;
    padding: 24px 0;
    display: flex;
  }
}

@media screen and (max-width: 767px) {
  .header-nav {
    top: 60px;
    margin-top: 0;
  }
}

.drawer-menu {
  position: relative;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 1240px) {
  .drawer-menu {
    display: inline-block;
    text-align: center;
    margin: 0 auto;
  }
}

.menu {
  position: relative;
  display: flex;
  align-items: center;
}

.menu li {
  list-style-type: none;
}

@media screen and (max-width: 1240px) {
  .menu {
    display: inline-block;
    text-align: center;
    margin: 0 auto;
  }
}

.header-nav-item + .header-nav-item {
  margin-left: 24px;
}

@media screen and (max-width: 1240px) {
  .header-nav-item + .header-nav-item {
    margin-left: 0;
  }
}

.current-menu-item {
  border-bottom: 5px solid #FF9052;
}

.current-menu-parent {
  border-bottom: 5px solid #FF9052;
}

.current-menu-parent .current-menu-item {
  border: none;
}

.header__nav-item-contact {
  border: none;
}

@media screen and (max-width: 767px) {
  .header__nav-item-contact {
    margin-top: 0;
  }
}

.header__nav-item {
  padding: 0 4px;
  transition: background-color .4s;
}

@media screen and (min-width: 1240px) {
  .header__nav-item {
    height: 80px;
  }
}

@media screen and (min-width: 1240px) {
  .header__nav-item:hover {
    background-color: #5C5C5C;
  }
  .header__nav-item:hover ul {
    display: inline;
  }
}

@media screen and (max-width: 1240px) {
  .header__nav-item:hover {
    background-color: transparent;
  }
}

.header__nav-item a {
  color: #fff;
  line-height: 80px;
  display: block;
  color: #fff;
  letter-spacing: .1em;
  text-align: center;
}

@media screen and (max-width: 1240px) {
  .header__nav-item a {
    color: #fff;
    padding: 0 15px;
    height: 40px;
    line-height: 40px;
    font-weight: bold;
  }
}

.header__nav-item ul {
  padding: 10px 16px;
}

@media screen and (min-width: 1240px) {
  .header__nav-item ul {
    position: absolute;
    left: 0;
    display: none;
    background-color: rgba(0, 0, 0, 0.8);
  }
}

@media screen and (max-width: 1240px) {
  .header__nav-item ul {
    padding-top: 0;
    display: block;
  }
}

.header__nav-item ul li {
  margin-bottom: 10px;
  height: 30px;
}

.header__nav-item ul li:hover {
  border-bottom: 2px solid #FF9052;
}

.header__nav-item ul a {
  line-height: 30px;
}

@media screen and (min-width: 768px) {
  .header__nav-item ul a {
    text-align: left;
  }
}

@media screen and (max-width: 1240px) {
  .header__nav-item ul a {
    font-size: 14px;
    font-weight: normal;
    text-align: center;
  }
}

.top {
  position: relative;
}

.top__slide1 {
  background-size: cover;
  background-position: center;
}

.top__slide1::after {
  content: "";
  background-color: #000;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: .3;
}

.top__contents {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .top__contents {
    font-size: 40px;
  }
}

@media screen and (max-width: 767px) {
  .top__contents {
    font-size: 20px;
    width: 75%;
    text-align: center;
  }
}

.top__contents span {
  font-weight: 200;
}

@media screen and (min-width: 768px) {
  .top__contents span {
    font-size: 56px;
  }
}

@media screen and (max-width: 767px) {
  .top__contents span {
    font-size: 32px;
  }
}

.top__text {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: 0 auto;
}

.top__bottom {
  position: absolute;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}

.swiper-container {
  width: 100%;
  height: 100vh;
}

.swiper-pagination {
  z-index: 2;
}

.swiper-pagination-bullet {
  background-color: #fff;
}

.swiper-pagination-bullet-active {
  background-color: #FF9052;
}

.swiper-button-next::after {
  color: #fff;
}

@media screen and (max-width: 767px) {
  .swiper-button-next::after {
    font-size: 20px;
  }
}

@media screen and (min-width: 768px) {
  .swiper-button-next:hover::after {
    color: #FF9052;
  }
}

.swiper-button-next:focus {
  outline: 0;
}

.swiper-button-prev::after {
  color: #fff;
}

@media screen and (max-width: 767px) {
  .swiper-button-prev::after {
    font-size: 20px;
  }
}

.swiper-button-prev:hover::after {
  color: #FF9052;
}

.swiper-button-prev:focus {
  outline: 0;
}

.concept {
  background-color: #111;
  position: relative;
  padding-top: 150px;
  padding-bottom: 100px;
}

@media screen and (max-width: 767px) {
  .concept__title {
    margin: 0 20px;
  }
}

.concept__picture {
  position: relative;
  margin-top: 80px;
  background-image: url(../image/top1.jpg);
  background-position: center;
  background-size: cover;
  position: relative;
}

@media screen and (min-width: 768px) {
  .concept__picture {
    width: 47.63%;
    padding-top: 31.17%;
  }
}

@media screen and (max-width: 767px) {
  .concept__picture {
    width: 100%;
    padding-top: 66.61%;
  }
}

.concept__picture::after {
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #5C5C5C;
  position: absolute;
  opacity: .3;
}

.concept__body-subtitle {
  color: #FF9052;
  text-transform: uppercase;
  font-size: 18px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .concept__body-subtitle {
    padding-left: 20px;
    margin-top: 60px;
  }
}

.concept__body-subtitle::after {
  content: "";
  height: 1px;
  position: absolute;
  background-color: #FF9052;
  top: 12px;
  right: 0;
}

@media screen and (min-width: 768px) {
  .concept__body-subtitle::after {
    width: calc(100% - 100px);
  }
}

@media screen and (max-width: 767px) {
  .concept__body-subtitle::after {
    width: calc(100% - 120px);
  }
}

@media screen and (min-width: 768px) {
  .concept__contents {
    position: absolute;
    top: 53%;
    left: 42.43%;
    transform: translateY(-50%);
  }
}

.concept__body-title {
  color: #FF9052;
}

@media screen and (min-width: 768px) {
  .concept__body-title {
    font-size: 32px;
  }
}

@media screen and (max-width: 767px) {
  .concept__body-title {
    font-size: 20px;
    padding-left: 20px;
  }
}

.concept__body-text {
  max-width: 627px;
}

@media screen and (min-width: 768px) {
  .concept__body-text {
    background-color: rgba(92, 92, 92, 0.5);
    padding: 16px 32px;
  }
}

@media screen and (max-width: 767px) {
  .concept__body-text {
    padding: 20px;
    text-align: justify;
    text-justify: inter-ideograph;
  }
}

@media screen and (min-width: 768px) {
  .concept__bottom {
    margin-top: 114px;
  }
}

@media screen and (max-width: 767px) {
  .concept__bottom {
    margin-top: 60px;
  }
}

@media screen and (max-width: 767px) {
  .point {
    margin: 0 20px;
  }
}

.point__list {
  max-width: 1040px;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .point__list {
    display: flex;
    justify-content: space-between;
  }
}

.point__item {
  margin-top: 60px;
}

@media screen and (min-width: 768px) {
  .point__item {
    width: 300px;
  }
}

.point__item-number {
  color: #FF9052;
  font-size: 70px;
  line-height: 1.2;
}

.point__item-title {
  border-bottom: 1px solid #FF9052;
  font-size: 24px;
}

.point__item-text {
  font-size: 16px;
  margin-top: 11px;
}

.point__bottom {
  margin-top: 94px;
}

.movie {
  background: #111;
  padding-top: 150px;
  padding-bottom: 150px;
}

.movie__contents {
  text-align: center;
  margin-top: 80px;
}

.movie__contents video {
  width: 100%;
  max-width: 750px;
}

@media screen and (max-width: 767px) {
  .movie__contents video {
    width: 90%;
  }
}

.message {
  position: relative;
  display: flex;
}

.message__space {
  flex: 1 1 199px;
}

.message__picture {
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 631px;
  margin-left: 0;
  margin-right: 0;
  position: relative;
}

@media screen and (min-width: 768px) {
  .message__picture {
    background-image: url(../image/message-bg.jpg);
    flex: 0 0 86.18%;
    background-position: center;
  }
}

@media screen and (max-width: 767px) {
  .message__picture {
    background-image: url(../image/staff1.jpg);
    flex: 0 0 100%;
    background-position: -50px 0;
  }
}

.message__picture::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-color: #5C5C5C;
  width: 100%;
  height: 100%;
  opacity: .3;
}

.message__picture::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(to right, #202020 0%, rgba(32, 32, 32, 0) 100%);
  width: 86.18%;
  height: 100%;
}

.message__contents {
  position: absolute;
}

@media screen and (min-width: 768px) {
  .message__contents {
    top: 50%;
    transform: translateY(-50%);
    left: 13.81%;
    width: 437px;
  }
}

@media screen and (max-width: 767px) {
  .message__contents {
    bottom: 10%;
    padding: 0 20px;
  }
}

.message__title {
  color: #FF9052;
  text-align: left;
}

.message__text {
  margin-top: 32px;
  text-align: justify;
  text-justify: inter-ideograph;
}

.information {
  background: #111;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .information__list {
    margin-top: 80px;
  }
}

@media screen and (max-width: 767px) {
  .information__list {
    padding: 0 20px;
    margin-top: 60px;
  }
}

.information__link {
  color: #fff;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .information__link {
    display: flex;
  }
}

@media screen and (max-width: 767px) {
  .information__link {
    -moz-text-align-last: left;
    text-align-last: left;
    max-width: 80%;
  }
}

.information__link:hover {
  transition: opacity .4s;
  opacity: .6;
}

.information__link i {
  position: absolute;
  right: 8px;
  font-size: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.information__item {
  margin: 0 auto;
  padding: 20px 0;
  border-bottom: 1px solid #fff;
  max-width: 696px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .information__item {
    text-align: left;
  }
}

@media screen and (min-width: 768px) {
  .information__item-date {
    margin-left: 16px;
  }
}

@media screen and (max-width: 767px) {
  .information__item-date {
    margin-left: 10px;
  }
}

.information__item-title {
  text-align: left;
}

@media screen and (min-width: 768px) {
  .information__item-title {
    margin-left: 77px;
    width: 403px;
  }
}

@media screen and (max-width: 767px) {
  .information__item-title {
    margin-left: 10px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.information__bottom {
  left: 0;
  transform: translateX(0);
  margin-top: 94px;
}

.shop {
  background-image: url(../image/shop-bg.jpg);
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .shop {
    height: 888px;
    background-attachment: fixed;
  }
}

@media screen and (max-width: 767px) {
  .shop {
    padding: 60px 20px;
  }
}

.shop::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #131512;
  opacity: .6;
}

.shop__wrap {
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .shop__wrap {
    display: flex;
    justify-content: center;
  }
}

.shop__left {
  display: flex;
  flex-direction: column;
}

.shop__list {
  margin-bottom: 60px;
}

.shop__item-title {
  font-size: 24px;
  margin-top: 23px;
}

.shop__item-text {
  color: #fff !important;
}

.shop__bottom-wrap {
  margin-top: auto;
}

.shop__bottom {
  left: 14px;
  transform: translateX(0);
}

@media screen and (min-width: 768px) {
  .shop__map {
    flex: 1 0 50%;
    margin-left: 20px;
  }
}

@media screen and (max-width: 767px) {
  .shop__map {
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
    margin: 60px 0 0;
  }
}

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

@media screen and (max-width: 767px) {
  .shop__map iframe {
    position: absolute;
    left: 0;
    top: 0;
  }
}

.instagram {
  padding-left: 8.33%;
  padding-right: 8.33%;
}

.instagram__wrap {
  margin-top: 80px;
}

@media screen and (min-width: 768px) {
  .instagram__wrap {
    display: flex;
    justify-content: space-around;
  }
}

@media screen and (max-width: 767px) {
  .instagram iframe {
    max-width: 100% !important;
  }
}

.instagram__bottom {
  margin-top: 94px;
}

.footer {
  background-color: #5C5C5C;
  padding-top: 95px;
  padding-bottom: 16px;
}

.footer a:hover {
  transition: opacity .4s;
  opacity: .6;
}

.footer__inner {
  padding: 0 8.33%;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .footer__top {
    display: flex;
  }
}

.footer__logo {
  max-width: 274px;
}

@media screen and (max-width: 767px) {
  .footer__logo {
    margin: 0 auto;
  }
}

.footer__logo img {
  vertical-align: top;
}

.footer__list {
  margin-left: auto;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .footer__list {
    display: flex;
  }
}

.footer__item {
  margin-top: 30px;
  list-style-type: none;
}

@media screen and (min-width: 768px) {
  .footer__item + .footer__item {
    margin-left: 30px;
  }
}

.footer__item-link {
  color: #fff;
}

.footer__privacy {
  margin-top: 80px;
}

.footer__copyright {
  margin-top: 100px;
}

.top2 {
  position: relative;
}

.top2__picture {
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

@media screen and (min-width: 768px) {
  .top2__picture {
    background-image: url(../image/top2-bg.jpg);
    padding-top: 34.72%;
  }
}

@media screen and (max-width: 767px) {
  .top2__picture {
    background-image: url(../image/top2_sp.jpg);
    padding-top: 120%;
  }
}

.top2__picture::after {
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  position: absolute;
  opacity: .3;
}

.top2__title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media screen and (min-width: 768px) {
  .top2__title {
    font-size: 40px;
  }
}

@media screen and (max-width: 767px) {
  .top2__title {
    font-size: 24px;
    min-width: 300px;
    text-align: center;
  }
}

.trial-price {
  background-color: #1F1F1F;
  text-align: center;
  padding: 100px 0;
}

@media screen and (max-width: 767px) {
  .trial-price {
    padding: 100px 20px;
  }
}

.trial-price__price {
  font-size: 24px;
  font-weight: bold;
}

.trial-price__text {
  margin-top: 24px;
}

.trial-price__bottom {
  margin-top: 94px;
  left: 0;
  transform: translate(0);
}

.trial-flow {
  background-color: #111;
  padding: 150px 0;
}

@media screen and (max-width: 767px) {
  .trial-flow {
    padding: 150px 20px;
  }
}

.trial-flow__title {
  text-align: center;
  font-size: 24px;
}

.trial-flow__list {
  max-width: 1040px;
  margin: 60px auto 0;
}

.trial-flow__item {
  position: relative;
}

@media screen and (min-width: 768px) {
  .trial-flow__item {
    display: flex;
  }
}

.trial-flow__item::after {
  content: "";
  position: absolute;
  width: 30px;
  height: 30px;
  border-bottom: 1px solid #FF9052;
  border-left: 1px solid #FF9052;
  transform: rotateZ(-45deg) translateX(-50%);
  left: 50%;
  bottom: -15px;
}

.trial-flow__item::before {
  content: "";
  position: absolute;
  width: 30px;
  height: 30px;
  border-bottom: 1px solid #FF9052;
  border-left: 1px solid #FF9052;
  transform: rotateZ(-45deg) translateX(-50%);
  left: 50%;
  bottom: -25px;
}

.trial-flow__item + .trial-flow__item {
  margin-top: 100px;
}

.trial-flow__item-picture {
  flex: 0 0 314px;
}

@media screen and (min-width: 768px) {
  .trial-flow__item-right {
    margin-left: 45px;
  }
}

.trial-flow__item-step {
  font-size: 24px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .trial-flow__item-step {
    font-size: 20px;
  }
}

.trial-flow__item-step span {
  color: #FF9052;
  font-weight: normal;
}

.trial-flow__item-text {
  margin-top: 10px;
}

.trial-flow__bottom {
  margin-top: 114px;
}

.point-main {
  padding: 100px 0;
}

@media screen and (max-width: 767px) {
  .point-main {
    padding: 100px 20px;
  }
}

.point-main__list {
  max-width: 1040px;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .point-main__item {
    display: flex;
  }
}

@media screen and (max-width: 767px) {
  .point-main__item {
    position: relative;
  }
}

.point-main__item--point2 {
  flex-direction: row-reverse;
}

.point-main__item:first-child {
  margin-top: 80px;
}

.point-main__item + .point-main__item {
  margin-top: 100px;
}

.point-main__item-picture {
  flex: 0 0 300px;
}

@media screen and (min-width: 768px) {
  .point-main__item-right--point1, .point-main__item-right--point3 {
    margin-left: 88px;
  }
}

@media screen and (min-width: 768px) {
  .point-main__item-right--point2 {
    margin-right: 88px;
  }
}

.point-main__item-title-wrap {
  display: flex;
  align-items: center;
}

.point-main__item-title-number {
  font-size: 70px;
  color: #FF9052;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .point-main__item-title-number {
    position: absolute;
    top: -40px;
  }
}

.point-main__item-title {
  font-size: 32px;
  color: #FF9052;
  border-bottom: 1px solid #fff;
  line-height: 1.1;
  flex: 1 1 auto;
}

@media screen and (min-width: 768px) {
  .point-main__item-title {
    margin-left: 20px;
  }
}

@media screen and (max-width: 767px) {
  .point-main__item-title {
    margin-top: 20px;
    padding-bottom: 5px;
    font-size: 28px;
  }
}

.point-main__item-subtitle {
  margin: 10px 0;
}

@media screen and (min-width: 768px) {
  .point-main__item-subtitle {
    font-size: 24px;
  }
}

@media screen and (max-width: 767px) {
  .point-main__item-subtitle {
    font-size: 20px;
    font-weight: bold;
  }
}

@media screen and (min-width: 768px) {
  .point-main__item-text {
    padding: 15px 25px;
    background-color: rgba(92, 92, 92, 0.3);
  }
}

.monthly-price {
  padding-top: 100px;
  padding-bottom: 100px;
}

@media screen and (max-width: 767px) {
  .monthly-price {
    padding: 100px 20px;
  }
}

.monthly-price__wrap {
  max-width: 1040px;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .monthly-price__wrap {
    display: flex;
  }
}

.monthly-price__table-tr-first {
  background-color: #5c5c5c;
}

@media screen and (max-width: 767px) {
  .monthly-price__table-tr-first {
    display: none;
  }
}

.monthly-price__table {
  border-collapse: collapse;
  flex: 0 0 49.80%;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .monthly-price__table {
    margin-left: 34px;
  }
}

@media screen and (max-width: 767px) {
  .monthly-price__table {
    width: 100%;
    margin-top: 60px;
  }
}

.monthly-price__table td, .monthly-price__table th {
  border: solid 1px #fff;
  padding: 22px;
}

@media screen and (max-width: 767px) {
  .monthly-price__table td, .monthly-price__table th {
    font-size: 16px;
    padding: 10px;
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .monthly-price__table th {
    background-color: #5c5c5c;
  }
}

.monthly-price__title {
  font-size: 24px;
  font-weight: bold;
}

.monthly-price__text {
  margin-top: 28px;
  font-size: 18px;
}

.monthly-price__text-link {
  color: #FF9052;
}

.monthly-price__bottom {
  margin-top: 114px;
}

.shop-info {
  padding-top: 100px;
}

@media screen and (max-width: 767px) {
  .shop-info {
    padding: 60px 20px 0;
  }
}

.shop-info__sp-info {
  margin-bottom: 30px;
}

.shop-info__sp-info-label {
  font-weight: bold;
}

.shop-info__sp-info-address {
  margin-bottom: 10px;
}

.shop-info table {
  border-collapse: collapse;
  width: 72.22%;
  max-width: 1040px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .shop-info table {
    width: 100%;
  }
}

.shop-info td, .shop-info th {
  border: 1px solid #fff;
  background-color: rgba(92, 92, 92, 0.3);
  vertical-align: middle;
}

.shop-info td {
  padding: 2.11% 6.34%;
}

.shop-info th {
  padding: 2.11% 5.28%;
}

@media screen and (min-width: 768px) {
  .shop-info th {
    min-width: 150px;
  }
}

@media screen and (max-width: 767px) {
  .shop-info th {
    padding: 2.11% 3%;
    min-width: 100px;
  }
}

.shop-info__map {
  padding: 0 !important;
  position: relative;
  padding-top: 30% !important;
  overflow: hidden;
}

.shop-info__map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.shop-picture {
  max-width: 1040px;
  width: 72.22%;
  margin: 100px auto 0;
}

@media screen and (max-width: 767px) {
  .shop-picture {
    width: 100%;
    padding: 0 20px;
  }
}

.shop-picture__title {
  font-size: 32px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .shop-picture__title {
    font-size: 24px;
  }
}

.shop-picture__title::after {
  content: "";
  width: calc(100% - 130px);
  height: 1px;
  position: absolute;
  background-color: #fff;
  top: 24px;
  right: 0;
}

@media screen and (max-width: 767px) {
  .shop-picture__title::after {
    width: calc(100% - 110px);
    top: 21px;
  }
}

.shop-picture + .shop-picture {
  padding-bottom: 100px;
}

.shop-picture__list {
  margin-top: 25px;
}

@media screen and (min-width: 768px) {
  .shop-picture__list {
    display: flex;
    justify-content: space-between;
  }
}

@media screen and (max-width: 767px) {
  .shop-picture__list {
    margin-top: 50px;
  }
}

@media screen and (min-width: 768px) {
  .shop-picture__item {
    flex: 0 0 28.84%;
  }
}

@media screen and (max-width: 767px) {
  .shop-picture__item {
    margin-top: 20px;
  }
}

.shop-picture__picture {
  overflow: hidden;
}

.service {
  max-width: 1040px;
}

@media screen and (min-width: 768px) {
  .service {
    background-image: url(../image/service-bg.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border: #fff solid 1px;
    width: 72.22%;
    padding: 50px;
    margin: 100px auto 150px;
  }
}

@media screen and (max-width: 767px) {
  .service {
    margin: 100px 20px 150px;
  }
}

.service__top-title {
  text-align: center;
  border-top: 2px solid #fff;
}

@media screen and (min-width: 768px) {
  .service__top-title {
    font-size: 32px;
  }
}

@media screen and (max-width: 767px) {
  .service__top-title {
    font-size: 24px;
  }
}

.service__article {
  padding-bottom: 100px;
  border-top: 1px solid #fff;
  position: relative;
  display: flex;
}

@media screen and (max-width: 1080px) {
  .service__article {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .service__article {
    padding-top: 140px;
  }
}

@media screen and (max-width: 767px) {
  .service__article {
    padding-top: 100px;
  }
}

@media screen and (max-width: 767px) {
  .service__dietary {
    padding-top: 140px;
  }
}

.service__title-wrap {
  position: relative;
  flex-shrink: 0;
}

.service__subtitle {
  font-size: 32px;
  color: #FF9052;
  position: absolute;
  top: 70px;
  left: 0;
  z-index: 2;
}

@media screen and (max-width: 1080px) {
  .service__subtitle {
    top: 60px;
  }
}

@media screen and (max-width: 767px) {
  .service__subtitle {
    font-size: 24px;
  }
}

.service__subtitle span {
  margin-right: 10px;
  font-size: 48px;
}

@media screen and (max-width: 1080px) {
  .service__subtitle span {
    font-size: 32px;
  }
}

@media screen and (max-width: 767px) {
  .service__subtitle span {
    font-size: 24px;
  }
}

@media screen and (max-width: 767px) {
  .service__subtitle--dietary {
    top: 60px;
  }
}

.service__title {
  font-size: 24px;
  font-weight: bold;
  margin-right: 10px;
}

.service__title-line {
  margin-top: 21px;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 1080px) {
  .service__title-line {
    display: none;
  }
}

.service__bottom {
  margin-top: 40px;
}

.service__body {
  flex: 0 0 53.84%;
  margin-top: 21px;
  margin-left: auto;
  margin-right: 50px;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 1080px) {
  .service__body {
    margin: 100px 60px 0;
  }
}

@media screen and (min-width: 768px) {
  .service__body {
    padding-left: 10px;
  }
}

@media screen and (max-width: 767px) {
  .service__body {
    margin: 10px 0 0;
  }
}

.service__body::after {
  content: "";
  background-color: rgba(92, 92, 92, 0.8);
  width: calc(100% + 120px);
  height: calc(100% + 120px);
  position: absolute;
  top: -60px;
  left: -60px;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .service__body::after {
    display: none;
  }
}

.service__price {
  font-size: 24px;
}

.service__table {
  width: 100%;
  margin: 20px 0 0;
}

.service__table td, .service__table th {
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .service__table td, .service__table th {
    font-size: 16px;
    padding: 10px;
    display: block;
  }
}

.service__table th {
  background-color: transparent;
}

@media screen and (max-width: 767px) {
  .service__table th {
    background-color: #5c5c5c;
  }
}

.service__table-tr-first {
  background-color: #5c5c5c;
}

@media screen and (max-width: 767px) {
  .service__table-tr-first {
    display: none;
  }
}

.review-top {
  background-color: #1F1F1F;
  text-align: center;
  padding: 100px 0;
}

@media screen and (max-width: 767px) {
  .review-top {
    padding: 100px 20px;
  }
}

.review-top__price {
  font-size: 24px;
  font-weight: bold;
}

.review-top__text {
  margin-top: 24px;
}

@media screen and (max-width: 767px) {
  .review-top__text {
    text-align: justify;
    text-justify: inter-ideograph;
  }
}

.review-top__bottom {
  margin-top: 94px;
  left: 0;
  transform: translate(0);
}

.review {
  padding: 100px 20px;
}

.review__list {
  max-width: 1040px;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .review__item {
    display: flex;
  }
}

.review__item:nth-child(2n) {
  flex-direction: row-reverse;
}

@media screen and (min-width: 768px) {
  .review__item:nth-child(2n) .review__item-right {
    margin-right: 88px;
    margin-left: 0;
  }
}

@media screen and (min-width: 768px) {
  .review__item-right {
    margin-left: 88px;
  }
}

.review__item:first-child {
  margin-top: 80px;
}

.review__item + .review__item {
  margin-top: 100px;
}

.review__item-picture {
  flex: 0 0 300px;
}

.review__item-title-wrap {
  align-items: center;
}

@media screen and (min-width: 768px) {
  .review__item-title-wrap {
    display: flex;
  }
}

.review__item-line {
  height: 1px;
  background-color: #fff;
  content: "";
  flex: 1 1 100%;
  margin-left: 10px;
}

@media screen and (max-width: 767px) {
  .review__item-line {
    display: none;
  }
}

.review__item-title {
  font-size: 32px;
  color: #FF9052;
  line-height: 1.1;
  flex: 0 0 auto;
  position: relative;
}

@media screen and (max-width: 767px) {
  .review__item-title {
    margin-top: 10px;
    font-size: 24px;
  }
}

.review__item-subtitle {
  font-size: 24px;
  margin: 10px 0;
}

@media screen and (max-width: 767px) {
  .review__item-subtitle {
    font-size: 20px;
  }
}

.review__item-text {
  background-color: rgba(92, 92, 92, 0.3);
  padding: 15px 25px;
}

.staff {
  padding-top: 100px;
  padding-bottom: 150px;
}

@media screen and (max-width: 767px) {
  .staff {
    padding: 100px 20px;
  }
}

.staff__item {
  max-width: 1040px;
  margin: 0 auto;
  position: relative;
}

@media screen and (min-width: 768px) {
  .staff__item {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}

.staff__item + .staff__item {
  margin-top: 100px;
}

.staff__item-name-wrap {
  flex: 0 0 31.05%;
}

.staff__item-role {
  font-size: 24px;
}

@media screen and (max-width: 767px) {
  .staff__item-role {
    font-size: 18px;
  }
}

.staff__item-name {
  font-size: 32px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .staff__item-name {
    font-size: 24px;
  }
}

.staff__item-spell {
  font-size: 40px;
  color: rgba(66, 88, 98, 0.3);
  position: absolute;
  z-index: 1;
  top: 60%;
  left: 30px;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .staff__item-spell {
    font-size: 24px;
    top: 60px;
  }
}

.staff__item-picture {
  flex: 0 0 350px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .staff__item-picture {
    width: 70%;
  }
}

.staff__item-picture img {
  vertical-align: top;
}

.staff__item-body {
  flex: 0 0 31.05%;
  font-size: 18px;
}

@media screen and (min-width: 768px) {
  .staff__item-body {
    margin-left: 24px;
  }
}

@media screen and (max-width: 767px) {
  .staff__item-body {
    margin-top: 20px;
  }
}

.staff__item-text {
  margin-top: 10px;
  text-align: justify;
  text-justify: inter-ideograph;
}

@media screen and (min-width: 768px) {
  .staff__bottom {
    margin-top: 114px;
  }
}

@media screen and (max-width: 767px) {
  .staff__bottom {
    margin-top: 60px;
  }
}

.dietary {
  padding: 100px 0;
}

.dietary__list {
  max-width: 1040px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .dietary__list {
    padding: 0 20px;
  }
}

.dietary__list li:nth-child(2) {
  flex-direction: row-reverse;
}

@media screen and (min-width: 768px) {
  .dietary__list li:nth-child(2n-1) .dietary__item-right {
    margin-left: 15px;
    flex: 0 0 40%;
  }
}

@media screen and (min-width: 768px) {
  .dietary__list li:nth-child(2n) .dietary__item-right {
    margin-right: 15px;
    flex: 0 0 40%;
  }
}

@media screen and (min-width: 768px) {
  .dietary__item {
    display: flex;
  }
}

@media screen and (min-width: 768px) {
  .dietary__item:first-child {
    margin-top: 80px;
  }
}

.dietary__item + .dietary__item {
  margin-top: 60px;
}

.dietary__item-picture {
  flex: 0 0 50%;
}

.dietary__item-title-wrap {
  display: flex;
  align-items: center;
}

.dietary__item-title-number {
  font-size: 70px;
  color: #FF9052;
  line-height: 1;
}

.dietary__item-title {
  font-size: 32px;
  color: #FF9052;
  border-bottom: 1px solid #fff;
  line-height: 1.1;
  flex: 1 1 auto;
}

.dietary__item-subtitle {
  font-size: 24px;
  margin: 15px 0 0;
}

.dietary__bottom {
  margin-top: 114px;
}

.dietary-price {
  background-color: #1F1F1F;
  text-align: center;
  padding: 100px 0;
}

@media screen and (max-width: 767px) {
  .dietary-price {
    padding: 100px 20px;
  }
}

.dietary-price__price {
  font-size: 24px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .dietary-price__price {
    font-size: 20px;
  }
}

.dietary-price__text {
  margin-top: 24px;
}

@media screen and (max-width: 767px) {
  .dietary-price__text {
    text-align: justify;
    text-justify: inter-ideograph;
  }
}

.dietary-price__bottom {
  margin-top: 94px;
  left: 0;
  transform: translate(0);
}

.single {
  padding: 100px 0;
}

@media screen and (max-width: 767px) {
  .single {
    padding: 100px 20px;
  }
}

.single__inner {
  max-width: 1040px;
  width: 72.22%;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .single__inner {
    width: 100%;
  }
}

.single h1 {
  font-size: 36px;
  text-align: center;
  margin-bottom: 20px;
}

.single h2 {
  font-size: 32px;
  margin-bottom: 10px;
}

.single h3 {
  font-size: 28px;
  margin-bottom: 10px;
}

.single h4 {
  font-size: 24px;
  margin-bottom: 10px;
}

.single p {
  font-size: 18px;
  margin-bottom: 10px;
}

.single img {
  width: 100%;
  height: auto;
}

.information-page {
  background: #111;
  text-align: center;
  padding: 100px 0;
}

@media screen and (min-width: 768px) {
  .information-page__list {
    margin-top: 80px;
  }
}

@media screen and (max-width: 767px) {
  .information-page__list {
    padding: 0 20px;
  }
}

.information-page__link {
  color: #fff;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .information-page__link {
    display: flex;
  }
}

@media screen and (max-width: 767px) {
  .information-page__link {
    -moz-text-align-last: left;
    text-align-last: left;
    width: 80%;
  }
}

.information-page__link:hover {
  transition: opacity .4s;
  opacity: .6;
}

.information-page__link i {
  position: absolute;
  right: 8px;
  font-size: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.information-page__item {
  margin: 0 auto;
  padding: 20px 0;
  border-bottom: 1px solid #fff;
  max-width: 696px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .information-page__item {
    text-align: left;
  }
}

@media screen and (min-width: 768px) {
  .information-page__item-date {
    margin-left: 16px;
  }
}

@media screen and (max-width: 767px) {
  .information-page__item-date {
    margin-left: 10px;
  }
}

.information-page__item-title {
  text-align: left;
}

@media screen and (min-width: 768px) {
  .information-page__item-title {
    margin-left: 77px;
    width: 403px;
  }
}

@media screen and (max-width: 767px) {
  .information-page__item-title {
    width: 80%;
    margin-left: 10px;
  }
}

.information-page__bottom {
  left: 0;
  transform: translateX(0);
  margin-top: 94px;
}

.contact {
  background-color: #1F1F1F;
  text-align: center;
  padding: 100px 0;
}

@media screen and (max-width: 767px) {
  .contact {
    padding: 100px 20px;
  }
}

.contact__text {
  max-width: 600px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .contact__text {
    text-align: justify;
    text-justify: inter-ideograph;
  }
}

.contact__bottom {
  margin-top: 94px;
  left: 0;
  transform: translate(0);
}

@media screen and (max-width: 767px) {
  .contact__bottom {
    margin-top: 60px;
  }
}

.contact__link {
  display: inline-block;
  padding-top: 16px;
  padding-right: 24px;
  padding-bottom: 16px;
  padding-left: 24px;
  margin: 0px;
  background-color: #fff;
  background-image: none;
  background-size: contain;
  color: #424242;
  text-decoration: none;
  border-width: 2px;
  border-radius: 6px;
  font-size: 24px;
  cursor: pointer;
  transition: all 0.3s ease 0s;
  box-shadow: none;
  -webkit-appearance: none;
  line-height: 1.6;
  position: relative;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .contact__link {
    background-color: #FF9052;
    color: #fff;
  }
}

@media screen and (min-width: 768px) {
  .contact__link:hover {
    background-color: #FF9052;
    color: #fff;
  }
}

.contact__link i {
  font-size: 25px;
  vertical-align: middle;
  margin-left: 6px;
}

.contact__link + .contact__link {
  margin-left: 24px;
}

@media screen and (max-width: 767px) {
  .contact__link + .contact__link {
    margin-top: 30px;
    margin-left: 0;
    display: block;
  }
}

.page-nation {
  padding-top: 51px;
}

.page-nation ul {
  display: flex;
  justify-content: center;
}

.page-nation li {
  padding: 0 9px 0;
}

.page-nation .page-numbers li {
  background-color: #FF9052;
  border-radius: 100px;
}

.page-nation .page-numbers li span {
  color: #fff;
  font-size: 14px;
}

.page-nation li + li {
  margin-left: 12px;
}

.page-nation a {
  color: #343434;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  line-height: 1;
}

.page-nation .next {
  display: none;
}

.page-nation .previous {
  display: none;
}
