@charset "utf-8";
/* CSS Document */
/* ベースとなるスタイル
--------------------------------------------------------- */
body {
  -webkit-text-size-adjust: 100%;
}
/* article
--------------------------------------------------------- */
article {
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  color: #464646;
  font-size: 62.5%;
  letter-spacing: 0.15rem;
  line-height: 1.8;
  text-align: justify;
  vertical-align: baseline;
  font-family: ryo-gothic-plusn, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-feature-settings: "palt";
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
}
article img {
  display: block;
  height: auto;
  max-width: 100%;
}
article a {
  text-decoration: none;
}
figure img {
  text-align: center;
  margin: 0 auto;
  image-rendering: -webkit-optimize-contrast;
}
/* clearfix
--------------------------------------------------------- */
.clearfix:after {
  clear: both;
  content: "";
  display: block;
}
.clearfix {
  *zoom: 1;
}
/* 順番 
1.位置情報系＝position, top, right, z-index, display, float等
2.サイズ＝width, height, padding, margin
3.文字系＝font, line-height, letter-spacing, color- text-align等
4.背景＝background, border等
5.その他＝animation, transition等
*/
/*h2 各タイトル
--------------------------------------------------------- */
.heading {
  position: relative;
  padding-top: 50px;
  padding-bottom: 50px;
  font-size: 2rem;
  text-align: center;
}
.heading span {
  position: relative;
  z-index: 2;
}
.heading::before {
  content: attr(data-en);
  position: absolute;
  top: 3px;
  left: 50%;
  transform: translateX(-50%);
  color: rgb(65 108 51 / 38%);
  font-size: 5.75rem;
  font-family: mina, serif;
  font-weight: 600;
  font-style: normal;
}
.heading::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%) rotate(30deg);
  width: 1px;
  height: 40px;
  background-color: #416C33;
}
@media screen and (max-width: 767px) {
.heading::before {
  font-size: 2.1rem;
}
}
/* txet
--------------------------------------------------------- */
.txtarea {
  width: 100%;
  max-width: 580px;
  margin-inline-start: auto;
  margin-inline-end: auto;
  margin-block-start: 30px;
  margin-block-end: 30px;
  padding-inline-start: 10px;
  padding-inline-end: 10px;
  text-align: justify;
  text-justify: inter-ideograph;
  font-size: 1.625rem;
}
.txtarea .txt {
  margin-block-end: 10px;
  line-height: 1.8;
  letter-spacing: 0.175rem;
}
.innerWrap {
  max-width: 980px;
  margin: 0 auto;
  padding-inline-start: 10px;
  padding-inline-end: 10px;
  margin-block-end: 120px;
  font-size: 1.65rem;
  letter-spacing: 0.1rem;
}
/* pagetop */
.pagetop {
  position: fixed;
  bottom: 5px;
  right: 10px;
  display: none;
  z-index: 150;
  cursor: pointer;
}