@charset "UTF-8";

@font-face {
  font-family: 'Marion';
  src: url(../font/Marion.ttc);
}

@font-face {
  font-family: 'Raleway-Italic';
  src: url(../font/Raleway-Italic-VariableFont_wght.ttf);
}

@font-face {
  font-family: 'FutoMinA';
  src: url(../font/A-OTF-FutoMinA101Pr6N-Bold.otf);
}

/*リュウミン regular*/
@font-face {
  font-family: 'RyuminPr6N_Regular';
  src: url(../font/A-OTF-RyuminPr6N/A-OTF-RyuminPr6N-Regular.otf) format('opentype');
}

/*リュウミン Bold*/
@font-face {
  font-family: 'RyuminPr6N_Bold';
  src: url(../font/A-OTF-RyuminPr6N/A-OTF-RyuminPr6N-Bold.otf) format('opentype');
}

/*リュウミン Ex-Bold*/
@font-face {
  font-family: 'RyuminPr6N_ExB';
  src: url(../font/A-OTF-RyuminPr6N/A-OTF-RyuminPr6N-ExBold.otf) format('opentype');
}

/*リュウミン Heavy*/
@font-face {
  font-family: 'RyuminPr6N_Heavy';
  src: url(../font/A-OTF-RyuminPr6N/A-OTF-RyuminPr6N-Heavy.otf) format('opentype');
}

/*リュウミン Ex-Heavy*/
@font-face {
  font-family: 'RyuminPr6N_ExH';
  src: url(../font/A-OTF-RyuminPr6N/A-OTF-RyuminPr6N-ExHeavy.otf) format('opentype');
}

/*リュウミン Light*/
@font-face {
  font-family: 'RyuminPr6N_Light';
  src: url(../font/A-OTF-RyuminPr6N/A-OTF-RyuminPr6N-Light.otf) format('opentype');
}

/*リュウミン Medium*/
@font-face {
  font-family: 'RyuminPr6N_Midium';
  src: url(../font/A-OTF-RyuminPr6N/A-OTF-RyuminPr6N-Medium.otf) format('opentype');
}

/*リュウミン Ultra*/
@font-face {
  font-family: 'RyuminPr6N_Ultra';
  src: url(../font/A-OTF-RyuminPr6N/A-OTF-RyuminPr6N-Ultra.otf) format('opentype');
}
/*Avenir-light-Oblique*/
@font-face{
  font-family:'Avenir-Light-Oblique';
  src: url(../font/Avenir-Light-Oblique.ttf) format('TrueType');
}

*,
::before,
::after {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

ul,
ol {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
}

body {
  color: #000000;
  line-height: 1;
  background-color: #ffffff;
  font-family: 'RyuminPr6N_Regular';
}

.common_area {
  background-color: #F0F0F0;
}
#header{
  width: 100%;
  position: fixed;
  top:0;
  left: 0;
  right:0;
  background-color: #fff;
  z-index: 10;
  box-shadow: 0 3px 6px rgba(0,0,0,0.1);
}

/*ヘッダー*/
.header_inner {
  width: 100vw;
  height: 7vw;
  padding-left: 3vw;
  padding-right: 5vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}

.logo_area {
  display: flex;
  justify-content: flex-start;
}

.header_logo img {
  display: block;
  width: 30vw;
}

.toggle_menu_button {
  display: block;
  width: 6vw;
  height: 6vw;
  background-image: url(../img/common/icon-menu.png);
  background-size: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-color: transparent;
  border: none;
  border-radius: 0;
  outline: none;
}

.header_site_menu {
  width: 100%;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background-color: rgba(255, 255, 255, .9);
  padding: 10px 0 40px 0;
  display: none;
  z-index: 9;
  box-shadow: 0 3px 6px rgba(0,0,0,0.5);
}

/*headerサイトメニュー*/
.header_site_menu.is-show {
  display: block;
}

.header_site_menu ul {
  display: block;
  text-align: center;
}

.header_site_menu li {
  margin-top: 3.5vw;
  font-family: 'Raleway-Italic';
  font-size: 2vw;
}

.header_site_menu li :hover {
  color: #a0a0a0;
}

/*コンタクトエリア*/
.contact_area {
  padding-bottom: 8vw;
  margin-left: auto;
  margin-right: auto;
}

.title {
  padding-top: 9vw;
  padding-bottom: 5vw;
  text-align: center;
  font-family: 'Raleway-Italic';
  letter-spacing: 3px;
  font-size: 3vw;
  font-weight: 250;
}

.exple {
  text-align: center;
  line-height: 2.8vw;
  font-size: 1.4vw;
  margin-bottom: 5vw;
}

.form_area {
  width: 80%;
  display: block;
  margin: 40px auto 40px auto;
}

.form_area input {
  width: 100%;
  border-radius: 10px;
  padding-left: 1.5vw;
  height: 5vw;
  font-size: 1.4vw;
  border: none;
}

.form_p {
  display: flex;
  justify-content: center;
  font-size: 1.4vw;
}

.form_t {
  display: block;
  font-size: 1.4vw;
}

.form_t textarea {
  width: 100%;
  height: 15vw;
  border: none;
  border-radius: 10px;
  margin-top: 15px;
  padding: 2vw 0 0 1.5vw;
  font-size: 1.4vw;
}

.name_form,
.tel_form,
.corp_name,
.mail_form {
  width: 48%;
}

.name_form dt,
.tel_form dt,
.corp_name dt,
.mail_form dt,
.form_t dt {
  margin: 2vw auto 1vw;
}

.corp_name,
.mail_form {
  margin-left: 4%;
}

.submit_button {
  display: block;
  width: 17vw;
  height: 5vw;
  margin: 80px auto 0 auto;
  background-color: #000;
  color: #ffffff;
  font-size: 1.6vw;
}

/*破線*/
.dashed_line {
  width: 90%;
  height: 2px;
  margin: 0 auto 0 auto;
  background-size: 15px 2px;
  background-image: linear-gradient(to right, #000, #000, 10px, transparent 10px, transparent 5px);
  background-repeat: repeat-x;
}

/*SNSエリア*/
.sns_area {
  align-items: center;
  text-align: center;
  margin-top: 2vw;
  padding-bottom: 10vw;
}

.sns_area .title {
  padding-top: 7vw;
}

.contents_area {
  width: 90vw;
  margin: 3vw auto 10vw auto;
  display: flex;
  justify-content: center;
}

.youtube,
.instagram,
.sns_line {
  width: 32vw;
  height: 14.6vw;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  margin: 0 2vw 0 2vw;
  position: relative;
}

.youtube{
  background-image:linear-gradient(rgba(0,0,0,0.4),rgba(0,0,0,0.4)),url(../img/common/yotuube.jpg);
}
.instagram{
  background-image:linear-gradient(rgba(0,0,0,0.4),rgba(0,0,0,0.4)), url(../img/common/insta.jpg);
}
.sns_line{
  background-image:linear-gradient(rgba(0,0,0,0.4),rgba(0,0,0,0.4)), url(../img/common/line.jpg);
}
.inner{
  border: 2px solid #fff;
  width: 23vw;
  height: 12vw;
  margin: 1.5vw 1.5vw;
  position: absolute;
}
.inner p{
  font-family: Arial, Helvetica, sans-serif;
  font-weight: bold;
  color: #fff;
  margin-top: 2.5vw;
  font-size: 1.7vw;
}
.inner img{
  width:5vw;
  margin-top: 1.2vw;
}

/*ここからFooter*/
#footer {
  background-color: #b1b1b1;
  color: #ffffff;
}

.footer_inner {
  margin-left: auto;
  margin-right: auto;
}

#footer h3 {
  padding-top: 3vw;
  padding-bottom: 2vw;
  font-size: 1.8vw;
  font-weight: lighter;
  text-align: center;
  font-family: Arial, Helvetica, sans-serif;
}

.recomend {
  text-align: center;
  font-size: 1.4vw;
  line-height: 1.5vw;
  margin-bottom: 1vw;
}
.hide{
  display: none;
}
.mail_area{
  margin-top: 0vw;
}
.mail_area a {
  width: 25vw;
  display: flex;
  text-align: center;
  margin: 1vw auto 3vw auto;
  font-family: Arial, Helvetica, sans-serif;
}

.mail_area img {
  width: 3vw;
}

.mail_add {
  font-size: 1.4vw;
  margin-left: 0.3vw;
  margin-top: 0.7vw;
  font-weight: bold;
}

.footer_site_menu {
  margin: 4vw auto 4vw auto;
}

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

.footer_site_menu ul li {
  margin-left: 3vw;
  font-size: 1.4vw;
}

.footer_site_menu ul li :hover {
  color: #000;
}

.info_area {
  display: flex;
  justify-content: center;
  margin: 4vw auto 4vw auto;
  font-size: 1.4vw;
}

.info_area p {
  margin-left: 1vw;
}

.tel_box {
  display: flex;
}

.footer_name {
  display: flex;
  justify-content: center;
  margin: 0 auto 2vw auto;
}

.footer_name img {
  margin-top: 1vw;
  margin-bottom: 1vw;
  width: 20vw;
}

.copyright {
  font-size: 1.4vw;
  text-align: center;
  padding-bottom: 50px;
}

/*レスポンスcss*/
@media (max-width: 768px) {
  .header_inner {
    height: 15vw;
  }

  .header_site_menu li {
    margin-top: 8vw;
    font-size: 5vw;
  }

  .header_logo img {
    display: block;
    width: 70vw;
  }

  .toggle_menu_button {
    width: 15vw;
    height: 15vw;
  }

  .title {
    padding-top: 15vw;
    padding-bottom: 9vw;
    font-size: 8vw;
  }

  /*コンタクトエリア*/
  .exple {
    width: 90%;
    font-size: 3.5vw;
    line-height: 6vw;
    margin-left: auto;
    margin-right: auto;
  }

  .form_p {
    flex-direction: column;
    font-size: 4vw;
  }

  .form_t {
    font-size: 4vw;
  }

  .corp_name,
  .mail_form {
    margin-left: 0;
  }

  .name_form,
  .tel_form,
  .corp_name,
  .mail_form,
  .form_t {
    width: 100%;
    margin-top: 6vw;
  }

  .name_form dt,
  .tel_form dt,
  .corp_name dt,
  .mail_form dt,
  .form_t dt {
    margin: 2vw auto 1.5vw;
  }

  .form_area {
    margin: 0 auto 10px auto;
  }

  .form_area input {
    height: 10vw;
    padding-left: 3vw;
    font-size: 4vw;
  }

  .form_t textarea {
    height: 70vw;
    border: none;
    padding: 1vw 0 0 3vw;
    font-size: 4vw;
  }


  .submit_button {
    display: block;
    width: 80vw;
    height: 17vw;
    margin: 10vw auto 20vw auto;
    background-color: #000;
    color: #ffffff;
    font-size: 6vw;
  }

  /*SNSエリア*/
  .sns_area {
    margin-top: 5vw;
    
  }

  .contents_area {
    flex-direction: column;
  }
  .contents_area {
    width: 100vw;
    margin: 3vw auto 10vw auto;
  }
  
  .youtube,
  .instagram,
  .sns_line {
    width: 70vw;
    height: 39.3vw;
    margin: 10vw auto 10vw auto;
  }
  .inner{
    border: 2px solid #fff;
    width: 60vw;
    height: 30vw;
    margin: 5vw 5vw;
    position: absolute;
  }
  .inner p{
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
    color: #fff;
    margin-top: 6vw;
    font-size: 4vw;
  }
  .inner img{
    width:10vw;
    margin-top: 5vw;
  }

  /*footer*/
  #footer h3 {
    padding-top: 6vw;
    padding-bottom: 4vw;
    font-size: 5vw;
  }

  .recomend {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    font-size: 4vw;
    line-height: 6vw;
  }

  .hide{
    display: unset;
  }

  .mail_area a {
    width: 80%;
    margin: 6vw auto;
  }

  .mail_area img {
    width: 8vw;
  }

  .mail_add {
    font-size: 5vw;
    margin-left: 0.9vw;
  }

  .footer_site_menu ul {
    flex-direction: column;
  }

  .footer_site_menu ul li {
    margin: 5vw auto;
    font-size: 4vw;
  }

  .info_area {
    flex-direction: column;
    margin: 1vw auto;
    width: 60vw;
  }

  .info_area p {
    margin-top: 6vw;
    font-size: 4.5vw;
  }

  .tel_box {
    text-align: center;
    flex-direction: column;
  }

  .footer_name img {
    margin-top: 5vw;
    margin-bottom: 10vw;
    width: 60vw;
  }

  .copyright {
    font-size: 5vw;
    text-align: center;
    padding-bottom: 50px;
  }
}

@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

/*Fade-in設定*/
/*右から左へ1.5秒*/
.fadeinL {
  opacity: 0;
  transform: translate(-10px, 0);
  transition: 1.5s;
  animation-timing-function: ease-out;
}

/*右から左へ1.5秒*/
.fadeinR {
  opacity: 0;
  transform: translate(10px, 0);
  transition: 1.5s;
  animation-timing-function: ease-out;
}

/*下から上へ1.5秒*/
.fadeinB {
  opacity: 0;
  transform: translate(0, 20%);
  transition: 1s;
}

/*フェードイン時に要素が現れる*/
.fadeinL.on,
.fadeinR.on,
.fadeinB.on {
  transform: translate(0, 0);
  opacity: 1;
}




/*===================================================
     2024.9.27 長江追記
=====================================================*/

/* snsコンテンツ更新 */
.l-sns_contents{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 3vw;
  width: 90vw;
  margin: 0 auto;
}

.l-sns_contents__item{
  width: 100%;
  aspect-ratio: 203 / 101;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 10px;
}

.l-sns_contents__item--youtube{
  background-image:linear-gradient(rgba(0,0,0,0.4),rgba(0,0,0,0.4)),url(../img/common/yotuube.jpg);
}
.l-sns_contents__item--instagram{
  background-image:linear-gradient(rgba(0,0,0,0.4),rgba(0,0,0,0.4)), url(../img/common/insta.jpg);
}
.l-sns_contents__item--instagram_sauna{
  background-image:linear-gradient(rgba(0,0,0,0.4),rgba(0,0,0,0.4)), url(../img/common/insta_sauna.jpg);
}
.l-sns_contents__item--sns_line{
  background-image:linear-gradient(rgba(0,0,0,0.4),rgba(0,0,0,0.4)), url(../img/common/line.jpg);
}

.l-sns_contents__inner{
 border: 2px solid #fff;
 width: 100%;
 aspect-ratio: 203 / 101;
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
}

.l-sns_contents__ttl{
  color: #fff;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
  margin-bottom: 10px;
  font-size: clamp(0.8rem, 1.3vw, 1.3vw);
}

.l-sns_contents__snsicon{
  display: block;
  width: 20%;
}


/*ここからレスポンシブルCSS*/
@media (max-width: 768px){
  .l-sns_contents{
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap:8vw;
  }
  .l-sns_contents__ttl{
    font-size: clamp(1.3rem, 1.3vw, 1.3vw);
  }
}