@charset "UTF-8";

/* モバイルレイアウト : 480 px およびそれ以下. */
/* --------------------------------------------------------
header
-------------------------------------------------------- */

h2{
  margin: 0;
  top: 60%;
  transform: translate(-50%, -50%);
  text-align: center;
  img{
    max-width: 90%;
  }
}

.h2Txt {
  text-align: center;
  left: 50%;
  top: 50%;/* ← 縦中央 */
  transform: translate(-50%, -50%);
}

.h2Txt p{
  margin: 0;
  font-size: 2.5rem;
}

.h2Txt p span{
  font-size: 1.8rem;
  line-height: 1.2;
}

/* --------------------------------------------------------
.underlayerLink
-------------------------------------------------------- */

#toc ul{
  display: flex;
  gap: 5%;
  justify-content: center;
  list-style-type: none;
  padding: 30px 0;
}

#toc a{
  color: var(--main-color);
  text-decoration: none;
  font-family: "Kiwi Maru", serif;
  font-size: 1.8rem;
}

#toc a::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 10px;   /* ← 大きさ調整 */
  border-color: transparent transparent transparent currentColor;
  margin-right: 10px;
}

/* --------------------------------------------------------
main
-------------------------------------------------------- */

section{
  width: 100%;
  margin: 0 auto;
  padding: 10% 5%;
  text-align: center;
  /* font-size: 1.8rem; */
}

section:last-of-type{
  margin-bottom: 15%;
}

section h3{
  font-family: "Kiwi Maru", serif;
  font-size: 2.3rem;
  padding: 0;
  margin: 0;
}

/* 青文字(h3)、白背景 */
section.content01 h3{
  padding: 0;
  margin: 0;
}

section.content01 h4{
  font-family: "Kiwi Maru", serif;
  padding-top: 10%;
  color: #444444;
  font-size: 2.0rem;
  padding: 0;
  margin: 5% 0 0;
}

.underlayerBg{
  background: #fff;
  border-radius: 10px;
  padding: 10% 0;
}

section.content02 h4{
    margin: 0;
}

/* 茶文字(h3)、背景なし */
section.content02 h3{
  color: var(--sub-color);
  padding: 0;
  margin: 0;
}

section.content02 h4{
  font-family: "Kiwi Maru", serif;
  padding-top: 10%;
  color: #444444;
  font-size: 2.0rem;
  padding: 0;
  margin: 5% 0 0;
}


/* タブレットレイアウト : 981px～。モバイルレイアウトからスタイルを継承。 */

@media print, screen and (min-width: 980px) {
body {
  min-width: 1200px;
}

/* --------------------------------------------------------
header
-------------------------------------------------------- */

h2 {
    /* width: 340px; */
    /* top: 50%; */
    img{
      max-width: none;
    }
}

.h2Txt p{
  padding: 0;
  font-size: 3.5rem;
  span{
    font-size: 2.0rem;
  }
}

.h2_bg_img{
  object-fit: cover;
  height: 450px;
}

/* --------------------------------------------------------
main
-------------------------------------------------------- */

section{
  width: 90%;
  margin: 0 auto;
  padding: 60px 0;
  text-align: center;
  /* font-size: 1.8rem; */
}


section:last-of-type{
  margin-bottom: 200px;
  padding-bottom: 0;
}

section h3{
  padding: 50px 0 0;
  font-size: 3.3rem;
}

section h4{
  font-size: 2.0rem;
  padding-top: 100px;
}

#toc{
  padding: 30px 0 50px;
}

#toc ul{
  gap: 30px;
}

.underlayerBg{
  padding: 80px 50px;
}

section.content01{
  margin: 0 auto;
  padding-top: 0;
}

section.content01 h4,
section.content02 h4{
  margin: 30px 0 0;
  font-size: 2.3rem;
}

}