@charset "UTF-8";

/*----------------------------------
    共通
-----------------------------------*/
body{
  width: 100%;
  color: #6a3423;
  line-height: 1.8;
  letter-spacing: 0.05em;
  background-color: #d4e5e6;
  font-family: yu-mincho-pr6n, sans-serif;
  font-weight: 400;
  font-style: normal;
}
img{
  width: 100%;
}
h2{
  font-size: 2em;
  text-align: center;
  font-family: minion-pro, serif;
  font-weight: 400;
  font-style: normal;
}
h3{
  font-size: 1.25em;
  font-family: minion-pro, serif;
  color: #6a3423;
  text-align: center;
  letter-spacing: 2px;
  font-weight: lighter;
  padding-top: 1em;
}
section{
  padding: 10em 0;
}
p,ul,li{
  font-size: 18px;
  line-height: 3;
}
a:hover{
  opacity: 0.7;
  transition: 0.3s;
}
.wrapper{
  padding-bottom: 8em;
}
.sp{
  display: none;
}


/*----------------------------------
    header
-----------------------------------*/
.header {
  width: 100%;
  height: 50px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}

.header__inner {
  padding: 2vw 11vw 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: inherit;
  position: relative;
}


/* ヘッダーのロゴ部分 */
.header__title {
  width: 24vw;
  padding-left: 4vw;
}


@media screen and (min-width: 960px) {
  .header {
    width: 80%;
    height: 50px;
    position: fixed;
    top: 3em;
    left: 10%;
    z-index: 999;
  }
  .header__title {
    width: 11vw;
  }
}

.header__title img {
  display: block;
  width: 100%;
  height: 100%;
}

/* ヘッダーのナビ部分 */

.header__nav {
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 106vh;
  transform: translateX(100%);
  background-color: #b3a59d;
  transition: ease .4s;
}


@media screen and (min-width: 960px) {
  .header__nav {
    position: static;
    transform: initial;
    background-color: inherit;
    height: inherit;
    display: flex;
    justify-content: end;
    width: 65%;
  }
}


@media screen and (min-width: 960px) {
  .nav__items {
    width: 100%;
    display: flex;
    align-items: center;
    height: initial;
    justify-content: space-between;
  }
}

.nav-items {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0;
}



@media screen and (min-width: 960px) {
  .nav-items {
    position: inherit;
    top: 0;
    left: 0;
    transform: translate(0, 0);

  }
}

/* ナビのリンク */
.nav-items__item a {
  color: #fff;
  width: 100%;
  display: block;
  text-align: center;
  font-size: 4.5vw;
  margin-bottom: 24px;
  font-family: minion-pro, serif;
  font-weight: 400;
  font-style: normal;
}

.nav-items__item:last-child a {
  margin-bottom: 0;
}

@media screen and (min-width: 960px) {
  .nav-items__item a {
    margin-bottom: 0;
    color: #6a3423;
    font-size: 1em;
  }
  .header__inner {
    padding: 0;
  }
}


/* ハンバーガーメニュー */

.header__hamburger {
  width: 48px;
  height: 100%;

}

.hamburger {
  background-color: transparent;
  border-color: transparent;
  z-index: 9999;
}

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

/* ハンバーガーメニューの線 */
.hamburger span {
  width: 100%;
  height: 2px;
  background-color: #6a3423;
  position: relative;
  transition: ease .4s;
  display: block;
}

.hamburger span:nth-child(1) {
  top: 0;
}

.hamburger span:nth-child(2) {
  margin: 8px 0;
}

.hamburger span:nth-child(3) {
  top: 0;
}

.header__nav.active {
  transform: translateX(0);
}

.hamburger.active span:nth-child(1) {
  top: 5px;
  transform: rotate(45deg);
}

.hamburger.active span:nth-child(2) {
  opacity: 0;

}

.hamburger.active span:nth-child(3) {
  top: -13px;
  transform: rotate(-45deg);
}


/*----------------------------------
    fv
-----------------------------------*/

.fv{
  background: url(../img/top_back.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: auto;
  color: #fff;
}

h1{
  width: 22em;
  margin-left: 10%;
  padding-top: 11em;
}


/*----------------------------------
    Profile
-----------------------------------*/
.profile_flex{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 70%;
  margin: 3em auto;
}
.profile_flex img{
  display: block;
  width: 15em;
}
.profile_flex ul{
  padding-left: 1em;
}
.profile_flex li{
list-style: disc;
}
.profile_flex02{
  width: 41%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 7%;
}


/*----------------------------------
    Profile
-----------------------------------*/
#news{
  text-align: center;
}
.news_in{
  padding: 4em 0;
}
.insta_icon{
  width: 3em;
  display: block;
  margin: 2em auto 0;
}
.name{
  font-size: 1.6em;
  line-height: 1.5;
}
.name span{
  font-size: 0.5em;
}


/*----------------------------------
    Category
-----------------------------------*/
.category_in{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 80%;
  margin: 5em auto 0;
  flex-wrap: wrap;
}
.category_contents{
  width: 18%;
}
.category_contents p{
  font-size: 0.65em;
  color: #6a3423;
  text-align: center;
  line-height: 1.2;
}


/*----------------------------------
    Contact
-----------------------------------*/
.contact_mail p{
  text-align: center;
  color: inherit;
}


/*----------------------------------
    以下下層ページ
-----------------------------------*/
/*----------------------------------
    共通
-----------------------------------*/
.top_title{
  font-family: minion-pro, serif;
  font-weight: 400;
  font-style: normal;
  font-size: 5em;
  text-align: center;
  margin: 0;
  padding: 12vw 0;
  line-height: 1.2;
  width: 100%;
}
.top_title span{
  font-size: 0.5em;
}
.comment p{
  text-align: left;
  width: max(57%,861px);
  margin: 0 auto;
}
.comment{
  padding: 13em 0 10em;
  border-bottom: 1.5px solid #b3a59d;
  width: 80%;
  margin: 0 auto;
}
.sub_midashi{
  font-size: 1.5em;
  text-align: left;
  padding-bottom: 2em;
}
.link_contact{
  text-align: center;
}
.contact_link{
  font-family: minion-pro, serif;
  color: inherit;
  text-decoration: underline;
}
a.contact_link:hover{
  transition: 0.3s;
}


/*----------------------------------
    YOGA
-----------------------------------*/
.YOGA_fv{
  background: url(../img/yoga_back.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
}
.Yoga_comment{
  width: min(59%,870px);
  margin: 0 auto;
}

/*----------------------------------
    KIDS YOGA
-----------------------------------*/
.KIDSYOGA_fv{
  background: url(../img/kids_back.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
}
.kidsyoga_in{
  margin: 0 auto 4em auto;
}

/*----------------------------------
    MASSAGE
-----------------------------------*/
.MASSAGE_fv{
  background: url(../img/massage_back.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
}
.comment p.massage_min {
  font-size: 1.1em;
  width: max(75%, 790px);
}
.massage_comment{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 80%;
  margin: 0 auto;
}
.massage_text{
  width: 65%;
}
.massage_text p{
  font-size: 0.99em;
}
.massage_text_top{
  padding-bottom: 4em;
}
.massage_img{
  width: 35%;
}

/*----------------------------------
    MOVIES
-----------------------------------*/
.MOVIES_fv{
  background: url(../img/movies_back.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
}
.movies_comment h2,.movies_comment p{
  text-align: center;
}

/*----------------------------------
    Yoga Nidra
-----------------------------------*/
.YogaNidra_fv{
  background: url(../img/nidra_back.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
}
.nidra_comment,.nidra_audio{
  width: max(39%,574px);
  margin: 0 auto;
}
.nidra_p{
  padding-bottom: 4em;
}

/*プレイヤー*/
.audio-player {
  position: relative;
  margin: 50px 0;
  width: 100%;
  max-width: 420px;
  padding: 10px;
  background-color: #b3a59d;
  color: #fff;
}

.audio-player .controls {
  display: flex;
  gap: 5px;
  flex-wrap: nowrap;
  /* 垂直方向中央揃え */
  align-items: center;
}

.audio-player .controls button {
  cursor: pointer;
  border: none;
  background-color: transparent;
}

.audio-player .controls button.play-btn,
.audio-player .controls button.volume-btn {
  margin-right: -20px;
  padding-right: 10px;
}

@media screen and (min-width: 480px) {
  .audio-player {
    padding: 5px 2.5em;
  }

  .audio-player .controls {
    gap: 10px;
  }

  .audio-player input[name="vol"] {
    display: block;
  }
}

/* レンジスライダー */
.audio-player input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  cursor: pointer;
  outline: none;
  border-radius: 15px;
  height: 6px;
  background: rgb(255,255,255,0.25);
}

.audio-player input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  height: 15px;
  width: 15px;
  background-color: #fff;
  border-radius: 50%;
  border: none;
  transition: .2s ease-in-out;
}

.audio-player input[type="range"]::-moz-range-thumb {
  height: 15px;
  width: 15px;
  background-color: #fff;
  border-radius: 50%;
  border: none;
  transition: .2s ease-in-out;
}

.audio-player input[type="range"]::-webkit-slider-thumb:hover {
  box-shadow: 0 0 0 8px rgba(251, 255, 0, 0.3)
}

.audio-player input[type="range"]:active::-webkit-slider-thumb {
  box-shadow: 0 0 0 5px rgba(251, 255, 0, .4)
}

.audio-player input[type="range"]:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 5px rgba(251, 255, 0, .4)
}

.audio-player input[type="range"]::-moz-range-thumb:hover {
  box-shadow: 0 0 0 8px rgba(251, 255, 0, .3)
}

.audio-player input[type="range"]:active::-moz-range-thumb {
  box-shadow: 0 0 0 5px rgba(251, 255, 0, .4)
}

.audio-player input[type="range"]:focus::-moz-range-thumb {
  box-shadow: 0 0 0 5px rgba(251, 255, 0, .4)
}

/* ボタンに挿入する疑似要素の共通設定 */
.audio-player .controls button::before {
  content: "";
  display: inline-block;
  height: 24px;
  width: 24px;
  vertical-align: -10px;
  margin-right: 8px;
  background-repeat: no-repeat;
}

/* ボタンによって異なる大きさや位置の個別の設定 */
.audio-player .controls button.loop-btn::before {
  height: 20px;
  width: 20px;
  vertical-align: -4px;
}

.audio-player .controls .time {
  font-size: 12px;
  line-height: 2.5;
}

/* ボタンに表示する SVG アイコン*/
/* Play ボタン*/
.audio-player button.play-btn::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 16 16'%3E  %3Cpath d='m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z'/%3E%3C/svg%3E");
}

/* Pause ボタン */
.audio-player button.play-btn.playing::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 16 16'%3E  %3Cpath d='M5.5 3.5A1.5 1.5 0 0 1 7 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5zm5 0A1.5 1.5 0 0 1 12 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5z'/%3E%3C/svg%3E");
}

/* Mute ボタン */
.audio-player button.volume-btn.muted::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23f74848' viewBox='0 0 16 16'%3E  %3Cpath d='M6.717 3.55A.5.5 0 0 1 7 4v8a.5.5 0 0 1-.812.39L3.825 10.5H1.5A.5.5 0 0 1 1 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06zM6 5.04 4.312 6.39A.5.5 0 0 1 4 6.5H2v3h2a.5.5 0 0 1 .312.11L6 10.96V5.04zm7.854.606a.5.5 0 0 1 0 .708L12.207 8l1.647 1.646a.5.5 0 0 1-.708.708L11.5 8.707l-1.646 1.647a.5.5 0 0 1-.708-.708L10.793 8 9.146 6.354a.5.5 0 1 1 .708-.708L11.5 7.293l1.646-1.647a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E");
}

.audio-player button.volume-btn.muted {
  transform: scale(1.1);
}

/* Volume ボタン */
.audio-player button.volume-btn::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 16 16'%3E  %3Cpath d='M11.536 14.01A8.473 8.473 0 0 0 14.026 8a8.473 8.473 0 0 0-2.49-6.01l-.708.707A7.476 7.476 0 0 1 13.025 8c0 2.071-.84 3.946-2.197 5.303l.708.707z'/%3E  %3Cpath d='M10.121 12.596A6.48 6.48 0 0 0 12.025 8a6.48 6.48 0 0 0-1.904-4.596l-.707.707A5.483 5.483 0 0 1 11.025 8a5.483 5.483 0 0 1-1.61 3.89l.706.706z'/%3E  %3Cpath d='M10.025 8a4.486 4.486 0 0 1-1.318 3.182L8 10.475A3.489 3.489 0 0 0 9.025 8c0-.966-.392-1.841-1.025-2.475l.707-.707A4.486 4.486 0 0 1 10.025 8zM7 4a.5.5 0 0 0-.812-.39L3.825 5.5H1.5A.5.5 0 0 0 1 6v4a.5.5 0 0 0 .5.5h2.325l2.363 1.89A.5.5 0 0 0 7 12V4zM4.312 6.39 6 5.04v5.92L4.312 9.61A.5.5 0 0 0 4 9.5H2v-3h2a.5.5 0 0 0 .312-.11z'/%3E%3C/svg%3E");
}

/* Loop ボタン */
.audio-player button.loop-btn::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 16 16'%3E  %3Cpath d='M11 5.466V4H5a4 4 0 0 0-3.584 5.777.5.5 0 1 1-.896.446A5 5 0 0 1 5 3h6V1.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384l-2.36 1.966a.25.25 0 0 1-.41-.192Zm3.81.086a.5.5 0 0 1 .67.225A5 5 0 0 1 11 13H5v1.466a.25.25 0 0 1-.41.192l-2.36-1.966a.25.25 0 0 1 0-.384l2.36-1.966a.25.25 0 0 1 .41.192V12h6a4 4 0 0 0 3.585-5.777.5.5 0 0 1 .225-.67Z'/%3E%3C/svg%3E");
}

/* Loop ボタン (Active) */
.audio-player button.loop-btn.looped::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fbf704' viewBox='0 0 16 16'%3E  %3Cpath d='M11 5.466V4H5a4 4 0 0 0-3.584 5.777.5.5 0 1 1-.896.446A5 5 0 0 1 5 3h6V1.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384l-2.36 1.966a.25.25 0 0 1-.41-.192Zm3.81.086a.5.5 0 0 1 .67.225A5 5 0 0 1 11 13H5v1.466a.25.25 0 0 1-.41.192l-2.36-1.966a.25.25 0 0 1 0-.384l2.36-1.966a.25.25 0 0 1 .41.192V12h6a4 4 0 0 0 3.585-5.777.5.5 0 0 1 .225-.67Z'/%3E%3C/svg%3E");
}

.audio-player button.loop-btn.looped {
  transform: scale(1.1);
}



@media screen and (max-width: 960px) {
  .sp{
    display: inline-block;
  }
  .pc{
    display: none;
  }
  p,ul,li,.massage_text p,.comment p.massage_min {
    font-size: 3.5vw;
    line-height: 2;
    letter-spacing: 0;
  }
  section {
    padding: 9vw 0;
  }
  h1 {
    width: 48vw;
    padding-top: 31vw;
    margin: 0 auto 95vw;
  }
  h3{
    font-size: 1em;
    padding-top: 3vw;
  }
  .fv {
    background: url(../img/top_back_sp.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  #profile{
    padding-top: 8em;
    padding-bottom: 0;
  }
  .profile_flex,.profile_flex02{
    display: block;
    width: min(80%, 342px);
  }
  .profile_flex img{
    margin: 0 auto;
    width: 60%;
  }
  .name{
    text-align: center;
    padding: 1em 0 2em 0;
  }
  .profile_right_p{
    width: 13em;
    margin: 0 auto;
    padding: 4em 0 0;
  }
  .news_in {
    padding: 0.5em 0 0;
  }
  .insta_icon {
    margin: 1em auto 0;
  }
  .category_in{
    margin-top: 1em;
  }
  .category_contents {
    width: 43%;
    margin: 1.2em 0;
  }
  .comment{
    width:84%;
    padding: 5em 0 3em;
  }
  .sub_midashi{
    font-size: max(4.5vw,15px);
    padding: 3em 0 2.3em;
  }
  .comment p.min, .comment p,.nidra_p{
    width: 100%;
    margin: 0;
  }
  .nidra_audio {
    width: 90%;
    margin: 0 auto;
  }
  .YOGA_come,.Yoga_comment,.kids_yoga_come{
    width: 84%;
    margin: 0 auto;
  }
  .nidra_comment {
    width: 84%;
    margin: 3em auto 0;
    padding-bottom: 0;
  }
  .top_title {
    font-size: 2em;
    padding: 11em 0;
  }
  .massage_comment{
    display: block;
    width: 84%;
  }
  .massage_text,.massage_img{
    width: 100%;
    padding-bottom: 2em;
  }
  .text_min{
    font-size: 0.7em;
  }
  .link_contact{
    text-align: left;
    width: 84%;
    margin: 0 auto;
  }
  .audio-player {
    width: auto;
    padding: 0 0.5em;
  }
  /*fv 差し替え*/
  .MASSAGE_fv {
    background: url(../img/massage_back_sp.png);
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
  }
  .MOVIES_fv {
    background: url(../img/movies_back_sp.png);
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
  }
  .YOGA_fv {
    background: url(../img/yoga_back_sp.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  .KIDSYOGA_fv {
    background: url(../img/kids_back_sp.png);
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
  }
  .YogaNidra_fv {
    background: url(../img/nidra_back_sp.jpg);
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
  }
}