html{
  font-size: 10px;
}

body{
  font-family: 'Zen Maru Gothic',sans-serif;
  font-size: 1.6rem;
  line-height: 2.2;
  letter-spacing: .1em;
  color: #585858;
  background-color: #fff;
}

@media screen and (max-width: 767px){
  body{
  letter-spacing: 0.05em;
}
}

li{
  list-style: none;
}

a{
  text-decoration: none;
  color: #585858;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  border-style: none;
}

.wrapper{
  width: 80%;
  max-width: 1340px;
  margin: 0 auto;
  padding: 0 40px;
}

@media screen and (max-width: 767px) {
  .wrapper{
  width: 90%;
  padding: 0;
}
}


h1{
  font-family: "Zen Maru Gothic",sans-serif;
  font-size: 4rem;
  text-align: center;
  position: relative;
  text-transform: uppercase;
  line-height: 1.2;
  color: #7dc572;
}

@media screen and (max-width: 767px){
  h1{
    font-size: 3.5rem;
  }
}

h2{
  font-family: 'Zen Maru Gothic',sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  color: #585858;
  margin-bottom: 24px;
}

@media screen and (max-width: 767px){
  h2{
    font-size: 2rem;
  }
}

.ja {
  display: block;      /* 日本語を改行して下に配置 */
  margin-top: 0.2em; 
  font-size: 1.3rem;  /* ← 上の英語との間を狭くする */
  font-family: 'Zen Maru Gothic', sans-serif;
  color: #7dc572;
  font-weight: 400;
  line-height: 1.3;    /* 日本語の行間も少し調整 */
}




/*--------------------------------
ヘッダー
---------------------------------*/
header:not(.header-1){
  background-color: #e0f3dd;
}

.header-nav{
  display: flex;
  justify-content: space-between;
}


.header-nav ul{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 6rem;
  margin: 1.5rem 3rem;
}

.logo{
  margin: 1.5rem 5rem;

  display: flex;
  justify-content: center;
  position: relative;
}

@media screen and (max-width: 767px){
  .header-nav ul{
  display: flex;              /* liを横並びにする */
  gap: 7px;                  /* メニューの間隔（お好みで） */
  list-style: none;           /* 点を消す */
  margin: 0;
  padding: 0;
}
}

@media screen and (max-width: 767px){
 .header-nav{
  display: flex;
  justify-content: space-between;
  align-items: center; 
}
}

@media screen and (max-width: 767px){
  .header-nav ul,  .header-nav .logo{
    margin: 1.5rem 0rem;
    display: flex;
    align-items: center;
  }
}

@media (max-width: 768px) {
  .header-nav nav ul {
    display: flex;
    flex-direction: row; /* 横並びのまま */
    justify-content: center;
    gap: 0;
  }

  .header-nav nav ul li:not(:last-child)::after {
    content: "|";          /* 縦棒を文字で表示 */
    margin: 0 5px;         /* 間隔 */
    color: #ccc;           /* 色 */
  }
}


/*--------------------------------
ファーストビュー
---------------------------------*/

.fv{
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.fv img{
  width: 100%;
  height: auto;
}


/*--------------------------------
このサイトについて
---------------------------------*/
.about{
  margin-top: 150px;
}

@media screen and (max-width: 767px){
  .about{
  margin-top: 50px;
  width: 75%;
}
}

/*--------------------------------
メニュー
---------------------------------*/
.menu{
  margin-top: 150px;
}

.method,.review,.episode,.question{
  margin-bottom: 40px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
}

.method{
  margin-top: 50px;
}

@media screen and (max-width: 767px){
  .method{
  margin-top: 30px;
}
}

.review,.episode,.question{
  margin-top: 150px;
}

@media screen and (max-width: 767px){
  .review,.episode,.question{
  margin-top: 80px;
}
}

.question{
  margin-bottom: 150px;
}

@media screen and (max-width: 767px){
  .question{
  margin-bottom: 30px;
}
}

.column-b{
  width: 55%;
}

.column-b img{
  border-radius: 20px;
}

.column-s{
  padding: 0 40px;
  width: 40%;
  display: flex;
  flex-direction: column;   
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 767px){
  .column-s,.column-b{
    width: 90%;
    margin: 10px;
  }
}

@media screen and (max-width: 767px){
  .review,.question{
    display: flex;
    flex-direction: column-reverse;
  }
}

.btn-m,.btn-r,.btn-e,.btn-q{
  margin-top: 30px;
  width: 290px;
  height: 50px;
  padding: 4px 4px 10px 4px;
  text-align: center;

  border-radius: 100vh;
  padding: 2px 2px 5px 2px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: transform 0.3s ease;
}

.btn-m:hover,
.btn-r:hover,
.btn-e:hover,
.btn-q:hover{
  transform: scale(1.1)
}

.btn-m{
  background-color: #ffdaed;
}

.btn-r{
  background-color: #eddaff;
}

.btn-e{
  background-color: #ffffcc;
}

.btn-q{
  background-color: #dae4ff;
}


/*--------------------------------
フッター
---------------------------------*/
.footer{
  background-color: #e0f3dd;
}
.footer-m{
  background-color: #ffdaed;
}

.footer-r{
  background-color: #eddaff;
}

.footer-e{
  background-color: #ffffcc;
}

.footer-q{
  background-color: #dae4ff;
}

.footer-header{
  vertical-align: bottom;
}

.footer-nav{
  display: flex;
  justify-content: space-between;
}

.footer-nav ul{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 6rem;
  margin: 1.5rem 3rem;
}

@media screen and (max-width: 767px){
  .footer-nav ul{
  gap: 2rem;
  margin: 0;
}
}

@media screen and (max-width: 767px){
 .footer-nav{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start; 
}
}

@media screen and (max-width: 767px){
  .footer-nav ul,  .footer-nav .logo{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }
}

footer>p{
  text-align: center;
  background-color: #7dc572;
  color: #fff;
}


/*--------------------------------
各ページの説明欄
---------------------------------*/

.intro-m,.intro-r,.intro-e,.intro-q{
  margin-top: 150px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  width: 75%;
  max-width: 1000px;

  padding: 50px 20px;

  border-radius: 20px;
}

.intro{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.intro-m{
  background-color: rgba(255, 218, 237, 0.6);
}

.intro-r{
  background-color: rgba(237, 218, 255, 0.6);
}

.intro-e{
  background-color: rgba(255, 255, 204, 0.6);
}

.intro-q{
  background-color: rgba(218, 228, 255, 0.6);

}

@media screen and (max-width: 767px){
    .intro,.intro-m,.intro-r,.intro-e,.intro-q{
      margin-top: 50px;
      width: 95%;
    }
}


/*ウェーブ案
.intro-m{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
*/

.intro>p,.intro-m>p,.intro-r>p,.intro-e>p,.intro-q>p/*ウェーブ案,.intro-m>p*/{
  padding-top: 40px;
  width: 60%;
  margin: 0 auto;
  line-height: 2.5;
}



@media screen and (max-width: 767px) {
  .intro p,.intro-m>p,.intro-r>p,.intro-e>p,.intro-q>p{
  width: 95%;
  }
}


/*--------------------------------
コンテンツ
---------------------------------*/

.contents{
  margin-top: 150px;
  display: flex;
  flex-direction: column;   
  justify-content: center;  
  align-items: center;
}

@media screen and (max-width: 767px){
  .contents{
      margin-top: 30px;
  }
}


.contents-title a{
  display: flex;
  align-items: center;
}

.contents-title{
  font-size: 2rem;
  font-weight: 700;
  display: flex;
  align-items: center;
}

.contents-nav{
  padding-top: 40px;
  font-weight: 700;
  font-size: 2rem;
  margin-left: 100px;
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 767px){
  .contents-nav{
  padding-top: 20px;
  }
}

.next{
  padding-top: 40px;
  font-weight: 700;
  font-size: 2rem;
  margin-left: 100px;
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 767px){
  .contents-nav ,.next{
  margin-left: 0;

}
}

.contents-nav ul{    
  display: flex;
  flex-direction: column;   
  justify-content: center;  
  align-items: left;
}



.contents-nav a {
  transition: 0.3s;
}

.contents-nav a:hover {
  color: #b3e1ac;
}

.p-cn{
  margin: 0;
  width: 50px;
  height: 50px;
  padding: 2px 2px 2px 2px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: transform 0.3s ease;
}

.contents-title>a:hover .p-cn{
  transform: translateX(20px);
}


/*--------------------------------
内容
---------------------------------*/

.shub{
  position: relative;
  left: 1000px;
  bottom: -39px;
}

.lai{
  position: relative;
  left: 600px;
  bottom: -5px;
}


.nyu-ton{
  position: relative;
  left: 1000px;
  bottom: -41px;
}

.luna{
  position: relative;
  left: 500px;
  bottom: -5px;
  transform: scaleX(-1);
}

.kanako-kao{
  position: relative;
  left: 855px;
  bottom: -10px;
}
.article>img{
  vertical-align: bottom;
}

.article-method{
  background-color: #ffdaed;
}

.article-review{
  background-color: #eddaff;
}

.article-episode{
  background-color: #ffffcc;
}

.article-question{
  background-color: #dae4ff;
}

.article-block{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 60%;
  max-width: 1000px;

  margin: 0px auto;
  padding: 0 50px;
  background-color: #fff;

  border-radius: 20px;
}

@media screen and (max-width: 767px) {
  .article-block{
  width: 90%;
}
}

.article-title{
  font-size: 2rem;
  font-weight: 700;
  margin-top: 30px;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 767px){
  .article-title,.contents-title,.next{
  font-size: 1.6rem;
  font-weight: 700;
  margin-top: 0px;
  display: flex;
  align-items: center;
}
}

@media screen and (max-width: 767px){
  .article-title{
  margin-top: 0px;
  }
}


.number{
  font-size: 4rem;
  font-family: "Zen Maru Gothic",sans-serif;
  font-weight: 700;
  color: #e0f3dd;
  margin-right: 2rem;
  position: relative;
  top: -5px;
}

@media screen and (max-width: 767px){
  .number{
    font-size: 8rem;
    font-weight: 700;
    position: relative;
    top: -12px;
  }
}

.oneblock:not(.oneblock-l){
  padding-bottom: 100px;
}


.block{
  margin-bottom: 50px;
  width: 80%;
}

@media screen and (max-width: 767px){
  .block{
  width: 100%;
  margin-bottom: 50px;
}
}

/*--------------------------------
つぎへ
---------------------------------*/
/* 共通スタイル */
.btn-rn,.btn-mn,.btn-en,.btn-qn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: color 0.3s ease;
}

/* ボタンの色変化 */
.next .btn-rn:hover,
.btn-mn:hover,
.btn-en:hover,
.btn-qn:hover { color: #e0f3dd; }


/* 丸い矢印部分（共通） */
.p-rn,.p-mn,.p-en,.p-qn {
  margin: 0;
  width: 50px;
  height: 50px;
  padding: 2px 2px 10px 2px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  transition: transform 0.3s ease;
}

/* 個別カラー */
.p-rn,
.p-mn,
.p-en, 
.p-qn { background-color: #b3e1ac;
}

/* ホバー時に動く */
.btn-rn:hover .p-rn,
.btn-mn:hover .p-mn,
.btn-en:hover .p-en,
.btn-qn:hover .p-qn {
  transform: translateX(20px);
}
