@charset "UTF-8";
/*================================================================
 *FILE          :page.css
 *DESCRIPTION   :resetはressを使用。環境変数とmixinは_mixin.scss内に記述。
                 それぞれfoundationよりインポート。
 *AUTHOR        :
 *--------------------------------------------------------------
 *(C)
=================================================================*/
/* フォント定設
-----------------------------------------------------------------*/
@font-face {
  font-family: 'MyYuGothicM';
  font-weight: normal;
  src: local("YuGothic-Medium"), local("Yu Gothic Medium"), local("YuGothic-Regular");
  /* 游ゴシックMediumが存在しないWindows8.1用 */ }

@font-face {
  font-family: 'MyYuGothicM';
  font-weight: bold;
  src: local("YuGothic-Bold"), local("Yu Gothic Bold");
  /* PostScript Nameを認識できないChrome用にFull Nameを指定 */ }

@font-face {
  font-family: 'MyYuMinchoM';
  font-weight: normal;
  src: local("YuMincho-Medium"), local("Yu Mincho Medium"), local("YuMincho-Regular");
  /* 游明朝Mediumが存在しないWindows8.1用 */ }

@font-face {
  font-family: 'MyYuMinchoM';
  font-weight: bold;
  src: local("YuMincho-Demibold"), local("Yu Mincho");
  /* PostScript Nameを認識できないChrome用にFull Nameを指定 */ }

/* イージング
-----------------------------------------------------------------*/
/* デュレーション
-----------------------------------------------------------------*/
/*================================================================
 *FILE					:_components.scss
 *DESCRIPTION   :全ページ共通コンポーネント カスタムCSS
 *AUTHOR				:
 *--------------------------------------------------------------
 *(C)
=================================================================*/
/* ボタンパーツ - 例
-----------------------------------------------------------------*/
.c-button {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 300px;
  height: 60px;
  color: #fff;
  margin: 50px auto;
  background: #000; }

@media print, screen and (max-width: 767px) {
  .c-section {
    margin-top: -100px;
    padding-top: 120px; } }

@media print, screen and (min-width: 768px) {
  .c-section {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100vh; } }

@media print, screen and (max-width: 767px) {
  .c-section:nth-of-type(2n) .c-section_title {
    padding-right: 15px;
    text-align: right; } }

.c-section_title {
  position: relative;
  font-family: "Helvetica Neue", MyYuGothicM, "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, serif;
  font-weight: 700;
  letter-spacing: 0.06em; }
  @media print, screen and (max-width: 767px) {
    .c-section_title {
      padding-left: 15px;
      font-size: 60px;
      z-index: 10; } }
  @media print, screen and (min-width: 768px) {
    .c-section_title {
      margin-bottom: 30px;
      font-size: 65px; } }

@media print, screen and (max-width: 767px) {
  .c-section_content {
    margin-bottom: 80px; } }

@media print, screen and (min-width: 768px) {
  .c-section_content {
    width: 100%;
    padding: 0 40px; } }

.style_inner, .price_inner, .staff_inner, .about_inner {
  width: 100%;
  overflow: hidden; }
  @media print, screen and (max-width: 767px) {
    .style_inner, .price_inner, .staff_inner, .about_inner {
      padding: 0 15px; } }

.price_mainVisual, .staff_mainVisual, .access_mainVisual, .about_mainVisual {
  width: 100%;
  margin-bottom: 35px; }
  @media print, screen and (max-width: 767px) {
    .price_mainVisual, .staff_mainVisual, .access_mainVisual, .about_mainVisual {
      margin-top: -25px; } }

.price_text-en, .price_text-jp, .price_list dl dt, .price_list dl dd, .staff_text-en, .staff_text-jp, .staff_list_name, .staff_list_position, .about_text-en {
  width: 100%;
  font-family: "IBM Plex Mono", MyYuGothicM, "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, serif;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.06em; }

.price_list span, .about_text-jp {
  width: 100%;
  font-family: "Noto Sans JP", MyYuGothicM, "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, serif;
  font-size: 13px;
  line-height: 2;
  letter-spacing: 0.06em; }

/* ロゴエリア
-----------------------------------------------------------------*/
.logoArea {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  position: fixed;
  opacity: 1;
  z-index: -1;
  transition: opacity .6s ease; }
  @media print, screen and (max-width: 767px) {
    .logoArea {
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh; } }
  @media print, screen and (min-width: 768px) {
    .logoArea {
      top: 50%;
      left: 50%;
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); } }
  .logoArea.is-thin {
    opacity: .1; }

@media print, screen and (max-width: 767px) {
  .logoArea_logo {
    width: 150px; } }

@media print, screen and (min-width: 768px) {
  .logoArea_logo {
    width: 200px;
    height: 180px; } }

.logoArea_svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: #333;
  /*線の色を指定する*/
  stroke-dasharray: 2000;
  /*線の間隔を指定する*/
  stroke-dashoffset: 0;
  /*線の位置を指定する(IEは効かない属性)*/
  stroke-width: 1;
  /*線の太さを指定する*/
  animation: hello 2s ease-in forwards; }

@keyframes hello {
  0% {
    stroke-dashoffset: 2000;
    fill: transparent;
    /*透過*/ }
  50% {
    fill: transparent;
    /*透過*/ }
  100% {
    stroke-dashoffset: 0;
    fill: #333; } }

/* コンテンツエリア
-----------------------------------------------------------------*/
.content {
  position: relative; }
  @media print, screen and (max-width: 767px) {
    .content {
      width: 100%; } }
  @media print, screen and (min-width: 768px) {
    .content {
      width: 50%;
      padding-top: 100vh;
      margin-left: 50%; } }

/* リード
-----------------------------------------------------------------*/
@media print, screen and (max-width: 767px) {
  .lede {
    width: 100%;
    height: 100vh; } }

@media print, screen and (min-width: 768px) {
  .lede {
    position: fixed;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%; } }

.lede_imageWrap {
  position: relative;
  width: 100%;
  height: 100%; }

.lede_image {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  opacity: 0;
  transition: opacity 1.4s ease; }
  @media print, screen and (min-width: 768px) {
    .lede_image {
      padding-right: 40px; } }
  .lede_image img {
    width: 100%; }
  .lede_image.is-show {
    opacity: 1; }

/* style
-----------------------------------------------------------------*/
.style {
  width: 100%; }

.style_list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  @media print, screen and (min-width: 768px) {
    .style_list {
      padding-left: 15px; } }

.style_list_node {
  width: calc( (100% - 10px) / 3);
  margin-right: 5px;
  margin-bottom: 5px; }
  .style_list_node:nth-of-type(3n) {
    margin-right: 0; }
  .style_list_node:nth-last-child(-n+3) {
    margin-bottom: 0; }

.style_list_link {
  display: inline-block;
  position: relative;
  width: 100%;
  opacity: 1;
  transition: opacity .3s ease; }
  @media print, screen and (min-width: 1025px) {
    .style_list_link:hover {
      opacity: .6; } }
  .style_list_link:before {
    content: "";
    display: block;
    width: 100%;
    height: 0%;
    padding-bottom: 100%; }
  .style_list_link img {
    max-width: 100%;
    max-height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto; }

/* price
-----------------------------------------------------------------*/
.price {
  width: 100%; }
  @media print, screen and (min-width: 768px) {
    .price {
      padding-top: 70px; } }

.price_mainVisual {
  margin-right: -15px;
  padding-right: 75px; }

@media print, screen and (max-width: 767px) {
  .price_text-en {
    margin-bottom: 35px;
    padding-right: 60px; } }

@media print, screen and (min-width: 768px) {
  .price_text-en {
    margin-bottom: 40px; } }

@media print, screen and (max-width: 767px) {
  .price_text-jp {
    margin-bottom: 35px;
    padding-left: 60px; } }

.price_list {
  padding-left: 60px; }
  .price_list dl {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 3px; }
    .price_list dl dt {
      width: auto !important;
      font-size: 11px; }
    .price_list dl dd {
      /* max-width: 20%; */
      text-align: right;
      font-size: 11px; }
  .price_list .price_text {
    margin-top: 1em;
    font-size: 11px;
    line-height: 2;
    text-align: right; }
  .price_list span {
    font-size: 10px;
    display: inline-block;
    margin: 20px 0 10px; }
  .price_list .taxin {
    display: inline-block;
    margin-top: 10px;
    font-size: 10px;
    text-align: right; }

/* staff
-----------------------------------------------------------------*/
.staff {
  width: 100%; }

.staff_mainVisual {
  padding-left: 75px; }

@media print, screen and (max-width: 767px) {
  .staff_text-en {
    margin-bottom: 35px;
    padding-right: 60px; } }

@media print, screen and (max-width: 767px) {
  .staff_text-jp {
    margin-bottom: 35px;
    padding-left: 60px; } }

@media print, screen and (min-width: 768px) {
  .staff_list {
    padding-left: 60px; } }

.staff_list_people {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center; }
  @media print, screen and (max-width: 767px) {
    .staff_list_people + .staff_list_people {
      margin-top: 6px; } }
  @media print, screen and (min-width: 768px) {
    .staff_list_people + .staff_list_people {
      margin-top: 12px; } }

.staff_list_name {
  display: inline-block;
  -ms-flex: 0 0 130px;
  flex: 0 0 130px; }

.staff_list_position {
  display: inline-block; }

.staff_list_instagram {
  display: inline-block; }

.staffInstagramLink {
  display: inline-block;
  width: 20px;
  height: 20px; }

.staffInstagramLink_svg {
  width: 20px;
  height: 20px;
  transition: fill .3s ease; }
  @media print, screen and (min-width: 1025px) {
    .staffInstagramLink:hover .staffInstagramLink_svg {
      fill: #eb6100; } }

/* access
-----------------------------------------------------------------*/
.access {
  width: 100%; }

.c-section_content iframe {
  width: 100%;
  height: 450px;
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%); }

.access_mainVisual {
  margin-right: -15px;
  padding-right: 75px; }

/* ABOUT
-----------------------------------------------------------------*/
.about {
  width: 100%;
  height: auto; }
  @media print, screen and (min-width: 768px) {
    .about {
      padding-top: 70px; } }

.about_mainVisual {
  margin-right: -15px;
  padding-right: 75px; }

@media print, screen and (max-width: 767px) {
  .about_text-en {
    padding-left: 60px;
    margin-bottom: 35px; } }

@media print, screen and (min-width: 768px) {
  .about_text-en {
    padding-left: 60px;
    margin-bottom: 40px; } }

@media print, screen and (max-width: 767px) {
  .about_text-jp {
    padding-left: 60px; } }

@media print, screen and (min-width: 768px) {
  .about_text-jp {
    padding-right: 60px; } }
