@charset "utf-8";

/* ----------------------------------------
	共通 css
---------------------------------------- */

/* fonts */
@font-face {
  font-family: "ZenKakuGothicNew";
  src: url("../fonts/ZenKakuGothicNew-Light.ttf") format("truetype");
  font-weight: 300;
}

@font-face {
  font-family: "ZenKakuGothicNew";
  src: url("../fonts/ZenKakuGothicNew-Regular.ttf") format("truetype");
  font-weight: 400;
}

@font-face {
  font-family: "ZenKakuGothicNew";
  src: url("../fonts/ZenKakuGothicNew-Medium.ttf") format("truetype");
  font-weight: 500;
}

@font-face {
  font-family: "ZenKakuGothicNew";
  src: url("../fonts/ZenKakuGothicNew-Bold.ttf") format("truetype");
  font-weight: 700;
}

@font-face {
  font-family: "ZenKakuGothicNew";
  src: url("../fonts/ZenKakuGothicNew-Black.ttf") format("truetype");
  font-weight: 900;
}


@font-face {
  font-family: "MPLUS1";
  src: url("../fonts/MPLUS1-VariableFont_wght.ttf") format("truetype");
}

p {
  color: #333;
  font-family: "ZenKakuGothicNew", sans-serif;
  letter-spacing: 0.12em;
  line-height: 1.8em;
}

figcaption {
  color: #333;
  ffont-family: "ZenKakuGothicNew", sans-serif;
  letter-spacing: 0.12em;
  line-height: 1.8em;
}

/* h1-h4 */
h1,
h2,
h3,
h4 {
  font-family: "ZenKakuGothicNew", sans-serif;
  color: #333;
  letter-spacing: 0.12em;
}

/* 画像サイズ */
img {
  max-width: 100%;
}

/* リンク */
a {
  color: #333;
  font-family: "ZenKakuGothicNew", sans-serif;
  letter-spacing: 0.12rem;
}

/* リスト */
ul,
li {
  color: #333;
  font-family: "ZenKakuGothicNew", sans-serif;
  letter-spacing: 0.12em;
}

/* table */
table th,
table td {
  color: #333;
  font-family: "ZenKakuGothicNew", sans-serif;
  letter-spacing: 0.12em;
  line-height: 1.8em;
}

dl dt,
dl dd {
  color: #333;
  font-family: "ZenKakuGothicNew", sans-serif;
  letter-spacing: 0.12em;
  line-height: 1.8em;
}

address {
  color: #333;
  font-family: "ZenKakuGothicNew", sans-serif;
  letter-spacing: 0.12em;
  line-height: 1.8em;
}

span {
  color: #333;
  font-family: "ZenKakuGothicNew", sans-serif;
  letter-spacing: 0.12em;
  line-height: 1.8em;
}

summary {
  color: #333;
  font-family: "ZenKakuGothicNew", sans-serif;
  letter-spacing: 0.12em;
  line-height: 1.5em;
}

/* ｈ2 */
h2 {
  position: relative;
  padding-top: 3rem;
  padding-bottom: 6rem;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  z-index: 1;
}

h2::before {
  content: attr(data-en);
  position: absolute;
  top: -5%;
  left: 50%;
  transform: translateX(-50%);
  color: #e8f4f4;
  font-family: "MPLUS1", sans-serif;
  font-size: 5rem;
  font-weight: bold;
  z-index: -1;
}

/* h3 */
.h3-container {
  text-align: center;
  margin-bottom: 2rem;
}

h3 {
  font-size: 1.2rem;
  font-weight: 700;
}

.h3-container i {
  color: #72a1de;
  margin-bottom: 0.4rem;
}

/* * {
  outline: 2px solid blue;
} */

/* 画面幅1180px以下：タブレット対応 */
@media screen and (max-width: 1180px) {
}

/* 画面幅1024px以下：タブレット対応 */
@media screen and (max-width: 1024px) {
}

/* 画面幅767px以下：スマホ対応 */
@media screen and (max-width: 767px) {
  h2::before {
    top: 10%;
    font-size: 3rem;
  }

  h2 {
    padding-bottom: 4rem;
  }

  .h3-container {
    text-align: center;
    margin-bottom: 1rem;
  }
}

/* 画面幅575px以下：スマホ対応 */
@media screen and (max-width: 575px) {
}

/* 画面幅375px以下：スマホ対応 */
@media screen and (max-width: 375px) {
}
