@charset "UTF-8";
/* Scss Document */
/* CSS Document */
* {
  box-sizing: border-box;
  text-decoration: none !important;
  font-family: "游ゴシック体" YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
  color: #483d36; }

html {
  font-size: 17px; }
  html i {
    font-style: normal !important; }

@font-face {
  font-family: "NotoSansCJKjp-Regular";
  src: url(../webfont/NotoSansCJKjp-Regular.woff); }

@font-face {
  font-family: "NotoSerifJP-Regular";
  src: url(../webfont/NotoSerifJP-Regular.woff); }

@font-face {
  font-family: "NotoSansCJKjp-Regular_ver.woff";
  src: url(../webfont/NotoSansCJKjp-Regular_ver.woff); }

@font-face {
  font-family: "NotoSerifJP-t.woff";
  src: url(../webfont/NotoSerifCJKjp-Regular.woff); }

@font-face {
  font-family: "NotoSansCJKjp-Light";
  src: url(../webfont/NotoSansCJKjp-Light.woff); }

@font-face {
  font-family: "lanobe";
  src: url(../webfont/lanobe.woff); }

.selifFont {
  font-family: "游明朝体", "Yu Mincho", "YuMincho", "NotoSerifCJKjp-Regular", serif; }

button:focus,
a:focus {
  outline: none; }

input[type=submit], button {
  -webkit-appearance: none; }

.textIndent {
  text-indent: -0.5rem;
  padding-left: 0.5rem; }

_::-webkit-full-page-media,
_:future,
:root .textIndent {
  text-indent: -0.8em; }
  .red_c{
    color: #d61318;
  }
  .text_right{
    text-align: right;
  }
/* Safari用のハックは、Chromeに適用されないようにする */
@supports (-webkit-touch-callout: none) {
  body {
    /* Safari用のハック */
    height: -webkit-fill-available; } }

/* Safari用のハックは、Chromeに適用されないようにする */
@supports (-webkit-touch-callout: none) {
  body {
    /* Safari用のハック */
    height: -webkit-fill-available; } }
.fz_24{
    font-size: clamp(16px,2.0vw,24px);
}
.fSize35 {
  font-size: 35px;
  /*IE9以下で反映されるよう記述*/
  font-size: 2.05882rem; }
  .font20{
    font-size: 1.17647rem;
  }
  @media only screen and (max-width: 1280px) {
    .fSize35 {
      font-size: 35px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.05882rem; } }
  @media only screen and (max-width: 1024px) {
    .fSize35 {
      font-size: 35px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.05882rem; } }
  @media only screen and (max-width: 768px) {
    .fSize35 {
      font-size: 31.81818px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.87166rem; } }
  @media only screen and (max-width: 640px) {
    .fSize35 {
      font-size: 29.16667px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.71569rem; } }

.fSize30 {
  font-size: 30px;
  /*IE9以下で反映されるよう記述*/
  font-size: 1.76471rem; }
  @media only screen and (max-width: 1280px) {
    .fSize30 {
      font-size: 30px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.76471rem; } }
  @media only screen and (max-width: 1024px) {
    .fSize30 {
      font-size: 30px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.76471rem; } }
  @media only screen and (max-width: 768px) {
    .fSize30 {
      font-size: 27.27273px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.60428rem; } }
  @media only screen and (max-width: 640px) {
    .fSize30 {
      font-size: 25px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.47059rem; } }

.fSize23 {
  font-size: 23px;
  /*IE9以下で反映されるよう記述*/
  font-size: 1.35294rem; }
  @media only screen and (max-width: 1280px) {
    .fSize23 {
      font-size: 23px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.35294rem; } }
  @media only screen and (max-width: 1024px) {
    .fSize23 {
      font-size: 23px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.35294rem; } }
  @media only screen and (max-width: 768px) {
    .fSize23 {
      font-size: 20.90909px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.22995rem; } }
  @media only screen and (max-width: 640px) {
    .fSize23 {
      font-size: 19.16667px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.12745rem; } }

.fSize15 {
  font-size: 15px;
  /*IE9以下で反映されるよう記述*/
  font-size: 0.88235rem; }
  @media only screen and (max-width: 1280px) {
    .fSize15 {
      font-size: 15px;
      /*IE9以下で反映されるよう記述*/
      font-size: 0.88235rem; } }
  @media only screen and (max-width: 1024px) {
    .fSize15 {
      font-size: 15px;
      /*IE9以下で反映されるよう記述*/
      font-size: 0.88235rem; } }
  @media only screen and (max-width: 768px) {
    .fSize15 {
      font-size: 13.63636px;
      /*IE9以下で反映されるよう記述*/
      font-size: 0.80214rem; } }
  @media only screen and (max-width: 640px) {
    .fSize15 {
      font-size: 12.5px;
      /*IE9以下で反映されるよう記述*/
      font-size: 0.73529rem; } }

article {
  overflow: hidden; }

.oh {
  overflow: hidden; }

.w_1800 {
  width: 95%;
  max-width: 1800px;
  margin: 0 auto;
  display: block; }

.w_1790 {
  width: 95%;
  margin: 0 auto;
  display: block;
  max-width: 1790px; }

.w_1680 {
  width: 95%;
  margin: 0 auto;
  display: block;
  max-width: 1680px; }

.w_1600 {
  width: 95%;
  margin: 0 auto;
  display: block;
  max-width: 1600px; }

.w_1440 {
  width: 95%;
  margin: 0 auto;
  max-width: 1440px; }

.w_1340 {
  width: 95%;
  margin: 0 auto;
  max-width: 1340px; }

.w_1280 {
  width: 95%;
  display: block;
  margin: 0 auto;
  max-width: 1280px; }

.w_1200 {
  width: 95%;
  display: block;
  margin: 0 auto;
  max-width: 1200px; }

.w_1100 {
  width: 95%;
  display: block;
  margin: 0 auto;
  max-width: 1100px; }

.w_1000 {
  width: 95%;
  display: block;
  margin: 0 auto;
  max-width: 1000px; }

.w_960 {
  width: 95%;
  max-width: 960px;
  margin: 0 auto; }

.w_940 {
  width: 95%;
  max-width: 940px;
  margin: 0 auto; }

.w_840 {
  width: 95%;
  max-width: 840px;
  margin: 0 auto; }

.w_780 {
  width: 95%;
  max-width: 780px;
  margin: 0 auto; }

.w_640 {
  width: 95%;
  max-width: 640px;
  margin: 0 auto; }

.spBr {
  display: none; }

@media only screen and (max-width: 1280px) {
  html {
    font-size: 16px; } }

@media only screen and (max-width: 1024px) {
  html {
    font-size: 15px; } }

@media only screen and (max-width: 768px) {
  html {
    font-size: 14.5px; }
  .pcBr {
    display: none; } }

@media only screen and (max-width: 640px) {
  html {
    font-size: 14px; }
  .spBr {
    display: block; } }

@keyframes gs {
  0% {
    width: 0%; }
  100% {
    width: 100%; } }

header {
  position: relative; }
  header:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    width: 0%;
    height: 37px;
    background-repeat: no-repeat;
    background-image: url(../images/redWave.png);
    background-size: auto 100%;
    z-index: 61;
    animation: gs ease-in 1.5s forwards;
    animation-delay: 0.2s; }
  header h1 {
    position: absolute;
    top: 90px;
    left: 90px;
    z-index: 50; }

@keyframes ej {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.swiper-container {
  opacity: 0;
  height: 55vw;
  width: 100%;
  animation: ej ease-in-out 1s forwards;
  animation-delay: 2s; }
  .swiper-container .swiper-wrapper {
    width: 100%;
    height: 100%; }
    .swiper-container .swiper-wrapper .swiper-slide {
      background-repeat: no-repeat;
      background-position: 50%;
      background-size: cover; }
      .swiper-container .swiper-wrapper .swiper-slide#fade01 {
        background-image: url(../images/fade01.png); }
      .swiper-container .swiper-wrapper .swiper-slide#fade02 {
        background-image: url(../images/fade02.png); }
      .swiper-container .swiper-wrapper .swiper-slide#fade03 {
        background-image: url(../images/fade03.png); }
  .swiper-container .fadeTxt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 100%;
    text-align: center;
    z-index: 50; }
    .swiper-container .fadeTxt p {
      font-family: "lanobe";
      font-size: 70px;
      /*IE9以下で反映されるよう記述*/
      font-size: 4.11765rem;
      letter-spacing: 0.1rem;
      color: #fff;
      text-shadow: 1px 1px 10px #525252; }
      @media only screen and (max-width: 1280px) {
        .swiper-container .fadeTxt p {
          font-size: 70px;
          /*IE9以下で反映されるよう記述*/
          font-size: 4.11765rem; } }
      @media only screen and (max-width: 1024px) {
        .swiper-container .fadeTxt p {
          font-size: 70px;
          /*IE9以下で反映されるよう記述*/
          font-size: 4.11765rem; } }
      @media only screen and (max-width: 768px) {
        .swiper-container .fadeTxt p {
          font-size: 63.63636px;
          /*IE9以下で反映されるよう記述*/
          font-size: 3.74332rem; } }
      @media only screen and (max-width: 640px) {
        .swiper-container .fadeTxt p {
          font-size: 58.33333px;
          /*IE9以下で反映されるよう記述*/
          font-size: 3.43137rem; } }
      .swiper-container .fadeTxt p span {
        font-family: "lanobe";
        font-size: 90px;
        /*IE9以下で反映されるよう記述*/
        font-size: 5.29412rem; }
        @media only screen and (max-width: 1280px) {
          .swiper-container .fadeTxt p span {
            font-size: 90px;
            /*IE9以下で反映されるよう記述*/
            font-size: 5.29412rem; } }
        @media only screen and (max-width: 1024px) {
          .swiper-container .fadeTxt p span {
            font-size: 90px;
            /*IE9以下で反映されるよう記述*/
            font-size: 5.29412rem; } }
        @media only screen and (max-width: 768px) {
          .swiper-container .fadeTxt p span {
            font-size: 81.81818px;
            /*IE9以下で反映されるよう記述*/
            font-size: 4.81283rem; } }
        @media only screen and (max-width: 640px) {
          .swiper-container .fadeTxt p span {
            font-size: 75px;
            /*IE9以下で反映されるよう記述*/
            font-size: 4.41176rem; } }
  .swiper-container .omp {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    z-index: 10;
    width: 90%; }

.textColorfff000 {
  color: #fff000; }

.textColorff6c99 {
  color: #ff6c99; }

.textColor3cdefb {
  color: #3cdefb; }

@keyframes e9 {
  0% {
    opacity: 0;
    transform: translateY(-10px) scale(0); }
  10% {
    opacity: 1; }
  60% {
    transform: translateY(0px) scale(1.2); }
  100% {
    opacity: 1;
    transform: translateY(0px) scale(1); } }

.scItem {
  opacity: 0;
  transform: translateY(8px);
  transition: 1s; }

.tMove {
  opacity: 1;
  transform: translateY(0px); }

.garland {
  width: 0%;
  overflow: hidden;
  height: 11.97vw;
  background-image: url(../images/garlandTwin.png);
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-position: 50%; }
  .garland.scItem {
    opacity: 1;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
  .garland.tMove {
    width: 100%; }

.ajustGarland {
  top: 50px; }

.spNavBtn {
  position: fixed;
  top: 60px;
  right: 30px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background-color: #097c25;
  text-align: center;
  z-index: 60;
  opacity: 0;
  transform: translateY(-10px) scale(0);
  animation: e9 ease-in-out 0.4s forwards;
  animation-delay: 2s; }
  .spNavBtn span {
    background-color: #fff;
    width: 40px;
    height: 2px;
    display: block;
    position: absolute;
    transform: translateX(-50%);
    transition: 0.2s; }
    .spNavBtn span:nth-child(1) {
      top: 30%;
      left: 50%; }
    .spNavBtn span:nth-child(2) {
      top: 40%;
      left: 50%; }
    .spNavBtn span:nth-child(3) {
      top: 50%;
      left: 50%; }
  .spNavBtn p {
    position: absolute;
    top: 60%;
    color: #fff;
    font-size: 15px;
    /*IE9以下で反映されるよう記述*/
    font-size: 0.88235rem;
    width: 100%;
    text-align: center;
    letter-spacing: 0.05rem; }
    @media only screen and (max-width: 1280px) {
      .spNavBtn p {
        font-size: 15px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.88235rem; } }
    @media only screen and (max-width: 1024px) {
      .spNavBtn p {
        font-size: 15px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.88235rem; } }
    @media only screen and (max-width: 768px) {
      .spNavBtn p {
        font-size: 13.63636px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.80214rem; } }
    @media only screen and (max-width: 640px) {
      .spNavBtn p {
        font-size: 12.5px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.73529rem; } }
  .spNavBtn.move_btn span:nth-child(1) {
    top: 45%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%) rotate(45deg); }
  .spNavBtn.move_btn span:nth-child(2) {
    opacity: 0; }
  .spNavBtn.move_btn span:nth-child(3) {
    top: 45%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%) rotate(-45deg); }

.bgTomato {
  background-image: url(../images/bgTomato.jpg); }
  .bgTomato .inner {
    background-color: #fff; }

.head02A {
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.1rem;
  font-size: 50px;
  /*IE9以下で反映されるよう記述*/
  font-size: 2.94118rem; }
  .head02A span {
    display: block;
    color: #d11111;
    font-family: "lanobe";
    font-size: 20px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.17647rem; }
    @media only screen and (max-width: 1280px) {
      .head02A span {
        font-size: 20px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.17647rem; } }
    @media only screen and (max-width: 1024px) {
      .head02A span {
        font-size: 20px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.17647rem; } }
    @media only screen and (max-width: 768px) {
      .head02A span {
        font-size: 18.18182px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.06952rem; } }
    @media only screen and (max-width: 640px) {
      .head02A span {
        font-size: 16.66667px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.98039rem; } }
  @media only screen and (max-width: 1280px) {
    .head02A {
      font-size: 50px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.94118rem; } }
  @media only screen and (max-width: 1024px) {
    .head02A {
      font-size: 50px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.94118rem; } }
  @media only screen and (max-width: 768px) {
    .head02A {
      font-size: 45.45455px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.6738rem; } }
  @media only screen and (max-width: 640px) {
    .head02A {
      font-size: 41.66667px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.45098rem; } }

.newsBox a {
  overflow: hidden;
  border-radius: 25px;
  margin-bottom: 20px; }
  .newsBox a:last-child {
    margin-bottom: 0; }
  .newsBox a > div {
    padding: 25px; }
    .newsBox a > div p {
      color: #fff;
      letter-spacing: 0.1rem; }
      .newsBox a > div p time {
        color: #fff; }
    .newsBox a > div:nth-child(1) {
      width: 200px;
      text-align: center;
      background-color: #097c25; }
    .newsBox a > div:nth-child(2) {
      width: calc(100% - 200px);
      background-color: #d61318; }

.d3n {
  position: absolute;
  top: -105px;
  right: 0;
  width: 100%;
  max-width: 200px; }

.dotBtn {
  width: 100%;
  max-width: 200px;
  border: 1px dashed #525252;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  text-align: center;
  padding: 10px 0px; }
  .dotBtn .arr {
    width: 18px;
    height: 18px;
    background-color: #d11111;
    position: relative;
    display: block;
    border-radius: 50%;
    margin-left: 15px; }
    .dotBtn .arr:after {
      content: "";
      width: 14px;
      height: 14px;
      background-image: url(../images/arr02.png);
      display: block;
      background-repeat: no-repeat;
      background-position: 50%;
      background-repeat: no-repeat;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateY(-50%) translateX(-50%); }
    .dotBtn .arr img {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateY(-50%) translateX(-50%); }
  .dotBtn:hover {
    background-color: #46a319; }
    .dotBtn:hover span {
      color: #fff; }
    .dotBtn:hover .arr {
      background-color: #fff; }
      .dotBtn:hover .arr:after {
        background-image: url(../images/arr01.png); }

.artch {
  position: relative; }
  .artch:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 12px;
    background-repeat: repeat-x;
    background-image: url(../images/artch.png);
    display: block; }

.bg01 {
  background-image: url(../images/bg01.jpg); }

.sfnm:nth-child(1) {
  width: 35%;
  padding: 0 35px 0 0; }

.sfnm:nth-child(2) {
  width: 65%; }
  .sfnm:nth-child(2) h3,
  .sfnm:nth-child(2) p {
    color: #fff; }

.nn3f li {
  position: relative;
  border-radius: 15px;
  overflow: hidden;
  padding: 45px;
  margin-bottom: 30px; }
  .nn3f li:last-child {
    margin-bottom: 0; }
  .nn3f li:nth-child(odd) {
    background-color: #d61318; }
  .nn3f li:nth-child(even) {
    background-color: #097c25; }
  .nn3f li .arr {
    position: absolute;
    bottom: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    background-color: #fff;
    border-radius: 50%;
    box-shadow: 0px 0px 4px #c3c3c3;
    display: flex;
    align-items: center;
    justify-content: center; }

.pinkBg {
  background-image: url(../images/pinkBg.jpg); }

.d98 {
  background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #ffecee 50%, #ffecee 100%), linear-gradient(180deg, #5a5a5a 1px, transparent 1px);
  /* 点線2の色と太さ */
  background-size: 8px 100%, 100% 3.5em;
  /* 点線2のサイズ */
  line-height: 3.5em;
  /* 文字の高さ */
  padding-bottom: 1px;
  /* 最終行の下にも罫線を引く */ }

.index08 {
  width: 133%; }
  .index08 img {
    max-width: unset;
    width: 100%; }

.artch02 {
  position: relative; }
  .artch02:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 10px;
    background-repeat: repeat-x;
    background-image: url(../images/artch03.png);
    display: block;
    z-index: 50;
    transform: translateY(-100%); }
  .artch02:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 10px;
    background-repeat: repeat-x;
    background-image: url(../images/artch04.png);
    display: block;
    z-index: 50;
    transform: translateY(100%); }

.artch04:after {
  display: none; }

.garland img {
  position: absolute; }
  .garland img:nth-child(1) {
    top: 10%;
    right: 0; }
  .garland img:nth-child(2) {
    top: 10%;
    left: 0; }

.bgDot {
  background-image: url(../images/bgDot.jpg); }

.i_memberImg {
  border: 3px solid #d61318;
  border-radius: 80px;
  padding: 10px; }
  .i_memberImg img {
    width: 100%;
    height: auto; }

.colord11111 {
  color: #d11111; }

.dfm3 > .flex {
  margin-bottom: 6rem; }
  .dfm3 > .flex:last-child {
    margin-bottom: 0; }

.imgCenter img {
  margin: 0 auto; }

.bgeecc6c {
  background-color: #eecc6c; }

.mapBox {
  border-radius: 15px;
  background-color: #fff;
  padding: 10px;
  height: 350px; }
  .mapBox iframe {
    border-radius: 15px;
    width: 100%;
    height: 100%; }

footer {
  background-color: #d61318;
  height: 100px;
  display: flex;
  align-items: center; }
  footer .copy {
    display: block;
    width: 100%;
    text-align: center;
    color: #fff;
    letter-spacing: 0.1rem; }

.mainHead {
  width: 100%;
  height: 500px;
  position: relative;
  background-repeat: no-repeat;
  background-position: 50% 100%;
  background-size: cover; }
  .mainHead > div {
    width: 100%;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%); }
    .mainHead > div p {
      display: block; }
      .mainHead > div p:nth-child(1) {
        margin-bottom: 5px; }
        .mainHead > div p:nth-child(1) span {
          font-family: "lanobe";
          letter-spacing: 0.3rem; }
      .mainHead > div p:nth-child(2) span {
        font-size: 55px;
        /*IE9以下で反映されるよう記述*/
        font-size: 3.23529rem;
        line-height: 1;
        color: #525252;
        letter-spacing: 0.3rem;
        padding: 10px 15px; }
        @media only screen and (max-width: 1280px) {
          .mainHead > div p:nth-child(2) span {
            font-size: 55px;
            /*IE9以下で反映されるよう記述*/
            font-size: 3.23529rem; } }
        @media only screen and (max-width: 1024px) {
          .mainHead > div p:nth-child(2) span {
            font-size: 55px;
            /*IE9以下で反映されるよう記述*/
            font-size: 3.23529rem; } }
        @media only screen and (max-width: 768px) {
          .mainHead > div p:nth-child(2) span {
            font-size: 50px;
            /*IE9以下で反映されるよう記述*/
            font-size: 2.94118rem; } }
        @media only screen and (max-width: 640px) {
          .mainHead > div p:nth-child(2) span {
            font-size: 45.83333px;
            /*IE9以下で反映されるよう記述*/
            font-size: 2.69608rem; } }
    .mainHead > div span {
      display: inline-block;
      color: #d11111;
      font-size: 23px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.35294rem;
      background-color: #fff;
      padding: 0px 10px;
      font-weight: bold; }
      @media only screen and (max-width: 1280px) {
        .mainHead > div span {
          font-size: 23px;
          /*IE9以下で反映されるよう記述*/
          font-size: 1.35294rem; } }
      @media only screen and (max-width: 1024px) {
        .mainHead > div span {
          font-size: 23px;
          /*IE9以下で反映されるよう記述*/
          font-size: 1.35294rem; } }
      @media only screen and (max-width: 768px) {
        .mainHead > div span {
          font-size: 20.90909px;
          /*IE9以下で反映されるよう記述*/
          font-size: 1.22995rem; } }
      @media only screen and (max-width: 640px) {
        .mainHead > div span {
          font-size: 19.16667px;
          /*IE9以下で反映されるよう記述*/
          font-size: 1.12745rem; } }

/*news*/
.newsHead {
  background-image: url(../images/news.png); }

.newsBox02 li a {
  display: flex;
  justify-content: space-between;
  padding: 30px 10px;
  position: relative; }
  .newsBox02 li a:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background-image: url(../images/redDot.png);
    background-repeat: repeat-x; }
  .newsBox02 li a p {
    letter-spacing: 0.1rem; }
    .newsBox02 li a p:nth-child(1) {
      width: 100px;
      color: #46a319;
      font-family: "lanobe";
      font-size: 14px;
      /*IE9以下で反映されるよう記述*/
      font-size: 0.82353rem; }
      @media only screen and (max-width: 1280px) {
        .newsBox02 li a p:nth-child(1) {
          font-size: 14px;
          /*IE9以下で反映されるよう記述*/
          font-size: 0.82353rem; } }
      @media only screen and (max-width: 1024px) {
        .newsBox02 li a p:nth-child(1) {
          font-size: 14px;
          /*IE9以下で反映されるよう記述*/
          font-size: 0.82353rem; } }
      @media only screen and (max-width: 768px) {
        .newsBox02 li a p:nth-child(1) {
          font-size: 12.72727px;
          /*IE9以下で反映されるよう記述*/
          font-size: 0.74866rem; } }
      @media only screen and (max-width: 640px) {
        .newsBox02 li a p:nth-child(1) {
          font-size: 11.66667px;
          /*IE9以下で反映されるよう記述*/
          font-size: 0.68627rem; } }
    .newsBox02 li a p:nth-child(2) {
      width: calc(100% - 150px);
      font-weight: bold; }

.newsBox02 li:last-child a:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background-image: url(../images/redDot.png);
  background-repeat: repeat-x; }

.pagination li {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  border: 1px solid #d11111;
  color: #d11111;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 5px; }
  .pagination li.active {
    background-color: #d11111;
    color: #fff; }

#page-top {
  position: fixed;
  bottom: 45px;
  right: 25px; }

/*kids*/
.kidsHead {
  background-image: url(../images/kids.png); }

.bg02 {
  background-image: url(../images/bg02.jpg); }

.colorGreen {
  color: #097c25; }

.dotLine img {
  position: absolute; }
  .dotLine img:nth-child(1) {
    left: 0;
    bottom: 0; }
  .dotLine img:nth-child(2) {
    right: 0;
    bottom: 0; }

.dst {
  position: relative;
  display: inline-block;
  padding-bottom: 10px; }
  .dst:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 98%;
    height: 2px;
    background-color: #525252; }

.onpoDeco01 img {
  position: absolute; }
  .onpoDeco01 img:nth-child(1) {
    left: 8vw;
    top: 26%; }
  .onpoDeco01 img:nth-child(2) {
    right: 8vw;
    top: 50%; }

.dfk3 {
  border: 2px solid #d11111;
  background-color: #fff;
  border-radius: 25px; }
  .dfk3 ul li {
    margin-bottom: 15px; }
    .dfk3 ul li:last-child {
      margin-bottom: 0; }
    .dfk3 ul li p {
      display: flex;
      align-items: center;
      justify-content: space-between; }
      .dfk3 ul li p span:nth-child(1) {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background-color: #097c25;
        color: #fff; }
      .dfk3 ul li p span:nth-child(2) {
        width: calc(100% - 25px);
        font-size: 19px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.11765rem; }
        @media only screen and (max-width: 1280px) {
          .dfk3 ul li p span:nth-child(2) {
            font-size: 19px;
            /*IE9以下で反映されるよう記述*/
            font-size: 1.11765rem; } }
        @media only screen and (max-width: 1024px) {
          .dfk3 ul li p span:nth-child(2) {
            font-size: 19px;
            /*IE9以下で反映されるよう記述*/
            font-size: 1.11765rem; } }
        @media only screen and (max-width: 768px) {
          .dfk3 ul li p span:nth-child(2) {
            font-size: 17.27273px;
            /*IE9以下で反映されるよう記述*/
            font-size: 1.01604rem; } }
        @media only screen and (max-width: 640px) {
          .dfk3 ul li p span:nth-child(2) {
            font-size: 15.83333px;
            /*IE9以下で反映されるよう記述*/
            font-size: 0.93137rem; } }

.kids07 {
  position: absolute;
  bottom: 0;
  right: -5%;
  transform: translateY(50%); }
  .kids07 p {
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    font-family: "lanobe";
    letter-spacing: 0.1rem;
    font-size: 45px;
    /*IE9以下で反映されるよう記述*/
    font-size: 2.64706rem;
    width: 100%;
    text-align: center; }
    @media only screen and (max-width: 1280px) {
      .kids07 p {
        font-size: 45px;
        /*IE9以下で反映されるよう記述*/
        font-size: 2.64706rem; } }
    @media only screen and (max-width: 1024px) {
      .kids07 p {
        font-size: 45px;
        /*IE9以下で反映されるよう記述*/
        font-size: 2.64706rem; } }
    @media only screen and (max-width: 768px) {
      .kids07 p {
        font-size: 40.90909px;
        /*IE9以下で反映されるよう記述*/
        font-size: 2.40642rem; } }
    @media only screen and (max-width: 640px) {
      .kids07 p {
        font-size: 37.5px;
        /*IE9以下で反映されるよう記述*/
        font-size: 2.20588rem; } }

.tmt {
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateY(30%) translateX(-60%); }

.dju43 {
  background-color: #f7ae00;
  border-radius: 15px;
  padding: 45px 0; }
  .dju43 i {
    margin: 0 35px; }
  .dju43 p,
  .dju43 i {
    color: #fff;
    letter-spacing: 0.1rem;
    font-size: 35px;
    /*IE9以下で反映されるよう記述*/
    font-size: 2.05882rem;
    line-height: 1; }
    @media only screen and (max-width: 1280px) {
      .dju43 p,
      .dju43 i {
        font-size: 35px;
        /*IE9以下で反映されるよう記述*/
        font-size: 2.05882rem; } }
    @media only screen and (max-width: 1024px) {
      .dju43 p,
      .dju43 i {
        font-size: 35px;
        /*IE9以下で反映されるよう記述*/
        font-size: 2.05882rem; } }
    @media only screen and (max-width: 768px) {
      .dju43 p,
      .dju43 i {
        font-size: 31.81818px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.87166rem; } }
    @media only screen and (max-width: 640px) {
      .dju43 p,
      .dju43 i {
        font-size: 29.16667px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.71569rem; } }
    .dju43 p span,
    .dju43 i span {
      color: #fff;
      font-size: 45px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.64706rem;
      font-weight: bold;
      font-family: "lanobe"; }
      @media only screen and (max-width: 1280px) {
        .dju43 p span,
        .dju43 i span {
          font-size: 45px;
          /*IE9以下で反映されるよう記述*/
          font-size: 2.64706rem; } }
      @media only screen and (max-width: 1024px) {
        .dju43 p span,
        .dju43 i span {
          font-size: 45px;
          /*IE9以下で反映されるよう記述*/
          font-size: 2.64706rem; } }
      @media only screen and (max-width: 768px) {
        .dju43 p span,
        .dju43 i span {
          font-size: 40.90909px;
          /*IE9以下で反映されるよう記述*/
          font-size: 2.40642rem; } }
      @media only screen and (max-width: 640px) {
        .dju43 p span,
        .dju43 i span {
          font-size: 37.5px;
          /*IE9以下で反映されるよう記述*/
          font-size: 2.20588rem; } }

.dkene {
  border-radius: 25px;
  border: 2px dotted #097c25; }

.neg {
  background-color: #f0dda7;
  display: inline-block;
  padding: 10px 55px;
  border-radius: 40px; }
  .neg span {
    letter-spacing: 0.1rem;
    font-size: 28px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.64706rem; }
    @media only screen and (max-width: 1280px) {
      .neg span {
        font-size: 28px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.64706rem; } }
    @media only screen and (max-width: 1024px) {
      .neg span {
        font-size: 28px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.64706rem; } }
    @media only screen and (max-width: 768px) {
      .neg span {
        font-size: 25.45455px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.49733rem; } }
    @media only screen and (max-width: 640px) {
      .neg span {
        font-size: 23.33333px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.37255rem; } }

.gee6 p {
  text-indent: -1rem;
  padding-left: 1rem; }

.gee6 i {
  font-size: 10px;
  color: #097c25; }

.kids02 {
  background-image: url(../images/kids02.png);
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 550px; }

/*percus*/
.percusHead {
  background-image: url(../images/percussion.png); }

.head02B {
  text-align: center;
  font-size: 45px;
  /*IE9以下で反映されるよう記述*/
  font-size: 2.64706rem;
  letter-spacing: 0.1rem; }
  @media only screen and (max-width: 1280px) {
    .head02B {
      font-size: 45px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.64706rem; } }
  @media only screen and (max-width: 1024px) {
    .head02B {
      font-size: 45px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.64706rem; } }
  @media only screen and (max-width: 768px) {
    .head02B {
      font-size: 40.90909px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.40642rem; } }
  @media only screen and (max-width: 640px) {
    .head02B {
      font-size: 37.5px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.20588rem; } }

.color46a319 {
  color: #46a319; }

.colord61318 {
  color: #d61318; }

.percusDeco img {
  position: absolute; }
  .percusDeco img:nth-child(1) {
    top: 27%;
    right: 13vw; }
  .percusDeco img:nth-child(2) {
    top: 42%;
    right: 8vw; }
  .percusDeco img:nth-child(3) {
    top: 48%;
    left: 12vw; }
  .percusDeco img:nth-child(4) {
    top: 80%;
    left: 4vw; }
  .percusDeco img:nth-child(5) {
    top: 89%;
    right: 4vw; }

.artch03 {
  position: relative; }
  .artch03:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 10px;
    background-repeat: repeat-x;
    background-image: url(../images/artch02.png);
    display: block;
    z-index: 50; }

.fmn:nth-child(1) {
  width: 40%; }

.fmn:nth-child(2) {
  width: 55%; }
  .fmn:nth-child(2) .neng {
    position: relative; }
    .fmn:nth-child(2) .neng:after {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 3px;
      background-image: url(../images/redDot.png); }

.percussion07 {
  position: relative;
  display: inline-block;
  padding: 0 35px 35px 35px; }
  .percussion07 p {
    font-size: 33px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.94118rem; }
    @media only screen and (max-width: 1280px) {
      .percussion07 p {
        font-size: 33px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.94118rem; } }
    @media only screen and (max-width: 1024px) {
      .percussion07 p {
        font-size: 33px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.94118rem; } }
    @media only screen and (max-width: 768px) {
      .percussion07 p {
        font-size: 30px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.76471rem; } }
    @media only screen and (max-width: 640px) {
      .percussion07 p {
        font-size: 27.5px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.61765rem; } }
  .percussion07 figure img {
    position: absolute;
    bottom: 0;
    left: 0; }

.dnn4 > div {
  border-radius: 10px;
  overflow: hidden;
  text-align: center; }
  .dnn4 > div figure {
    margin: 10px 0; }
    .dnn4 > div figure img {
      margin: 0 auto; }
  .dnn4 > div:nth-child(odd) {
    border: 2px solid #d11111; }
    .dnn4 > div:nth-child(odd) .f03:nth-child(1) {
      background-color: #d11111; }
  .dnn4 > div:nth-child(even) {
    border: 2px solid #097c25; }
    .dnn4 > div:nth-child(even) .f03:nth-child(1) {
      background-color: #097c25; }
  .dnn4 > div .f03:nth-child(1) {
    padding: 15px 0; }
    .dnn4 > div .f03:nth-child(1) p,
    .dnn4 > div .f03:nth-child(1) span {
      color: #fff;
      letter-spacing: 0.05rem; }
    .dnn4 > div .f03:nth-child(1) p {
      font-size: 20px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.17647rem; }
      @media only screen and (max-width: 1280px) {
        .dnn4 > div .f03:nth-child(1) p {
          font-size: 20px;
          /*IE9以下で反映されるよう記述*/
          font-size: 1.17647rem; } }
      @media only screen and (max-width: 1024px) {
        .dnn4 > div .f03:nth-child(1) p {
          font-size: 20px;
          /*IE9以下で反映されるよう記述*/
          font-size: 1.17647rem; } }
      @media only screen and (max-width: 768px) {
        .dnn4 > div .f03:nth-child(1) p {
          font-size: 18.18182px;
          /*IE9以下で反映されるよう記述*/
          font-size: 1.06952rem; } }
      @media only screen and (max-width: 640px) {
        .dnn4 > div .f03:nth-child(1) p {
          font-size: 16.66667px;
          /*IE9以下で反映されるよう記述*/
          font-size: 0.98039rem; } }
    .dnn4 > div .f03:nth-child(1) span {
      font-size: 18px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.05882rem; }
      @media only screen and (max-width: 1280px) {
        .dnn4 > div .f03:nth-child(1) span {
          font-size: 18px;
          /*IE9以下で反映されるよう記述*/
          font-size: 1.05882rem; } }
      @media only screen and (max-width: 1024px) {
        .dnn4 > div .f03:nth-child(1) span {
          font-size: 18px;
          /*IE9以下で反映されるよう記述*/
          font-size: 1.05882rem; } }
      @media only screen and (max-width: 768px) {
        .dnn4 > div .f03:nth-child(1) span {
          font-size: 16.36364px;
          /*IE9以下で反映されるよう記述*/
          font-size: 0.96257rem; } }
      @media only screen and (max-width: 640px) {
        .dnn4 > div .f03:nth-child(1) span {
          font-size: 15px;
          /*IE9以下で反映されるよう記述*/
          font-size: 0.88235rem; } }
  .dnn4 > div .f03:nth-child(2) {
    padding: 1vw 0;
    letter-spacing: 0.05rem; }

.onp05 {
  position: absolute;
  bottom: 5vw;
  right: 5vw; }

/*keyboard*/
.keyboardHead {
  background-image: url(../images/keyboard.png); }

.bg03 {
  background-image: url(../images/bg03.jpg); }

.bg04 {
  background-image: url(../images/bg04.jpg); }

.dn9e > div {
  position: relative; }
  .dn9e > div figure {
    position: relative; }
    .dn9e > div figure .efj {
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateY(-50%) translateX(-50%);
      width: 100px;
      height: 100px;
      border-radius: 50%;
      background-color: #d61318;
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap;
      flex-direction: column;
      text-align: center; }
      .dn9e > div figure .efj span {
        display: block;
        color: #fff;
        width: 100%;
        line-height: 1; }
        .dn9e > div figure .efj span:nth-child(2) {
          font-weight: bold;
          font-size: 2rem; }

.emnn {
  background-color: #f7b400;
  width: 100%;
  border-radius: 50px;
  color: #fff;
  padding: 15px 0;
  margin: 0 auto; }
  .emnn span {
    color: #fff;
    font-size: 25px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.47059rem;
    font-weight: bold;
    padding: 0 0px 0 10px;
    font-family: "lanobe"; }
    @media only screen and (max-width: 1280px) {
      .emnn span {
        font-size: 25px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.47059rem; } }
    @media only screen and (max-width: 1024px) {
      .emnn span {
        font-size: 25px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.47059rem; } }
    @media only screen and (max-width: 768px) {
      .emnn span {
        font-size: 22.72727px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.3369rem; } }
    @media only screen and (max-width: 640px) {
      .emnn span {
        font-size: 20.83333px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.22549rem; } }

.keyboard07 {
  position: absolute;
  bottom: -1vw;
  left: 5vw; }

/*trip*/
.tripHead {
  background-image: url(../images/trip.png); }

.color097c25 {
  color: #097c25; }

.curtain img {
  position: absolute;
  top: -10px;
  z-index: -1; }
  .curtain img:nth-child(1) {
    right: 0px; }
  .curtain img:nth-child(2) {
    left: 0; }

.keyboard07 {
  position: absolute;
  bottom: -5%;
  left: -10%; }

.j30e:nth-child(1) {
  width: 37%; }
  .j30e:nth-child(1) img {
    width: 100%;
    height: auto; }

.j30e:nth-child(2) {
  width: 55%; }

.enk li {
  background-color: #fff;
  padding: 2vw;
  border-radius: 15px; }

.nfe93 {
  background-color: #f7ae00;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 500px;
  padding: 15px 0;
  border-radius: 15px; }
  .nfe93 p {
    color: #fff;
    letter-spacing: 0.05rem;
    font-size: 30px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.76471rem; }
    @media only screen and (max-width: 1280px) {
      .nfe93 p {
        font-size: 30px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.76471rem; } }
    @media only screen and (max-width: 1024px) {
      .nfe93 p {
        font-size: 30px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.76471rem; } }
    @media only screen and (max-width: 768px) {
      .nfe93 p {
        font-size: 27.27273px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.60428rem; } }
    @media only screen and (max-width: 640px) {
      .nfe93 p {
        font-size: 25px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.47059rem; } }
    .nfe93 p span {
      color: #fff;
      font-size: 35px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.05882rem; }
      @media only screen and (max-width: 1280px) {
        .nfe93 p span {
          font-size: 35px;
          /*IE9以下で反映されるよう記述*/
          font-size: 2.05882rem; } }
      @media only screen and (max-width: 1024px) {
        .nfe93 p span {
          font-size: 35px;
          /*IE9以下で反映されるよう記述*/
          font-size: 2.05882rem; } }
      @media only screen and (max-width: 768px) {
        .nfe93 p span {
          font-size: 31.81818px;
          /*IE9以下で反映されるよう記述*/
          font-size: 1.87166rem; } }
      @media only screen and (max-width: 640px) {
        .nfe93 p span {
          font-size: 29.16667px;
          /*IE9以下で反映されるよう記述*/
          font-size: 1.71569rem; } }

.bg05 {
  background-image: url(../images/bg05.jpg); }

/*taishogoto*/
.taishogotoHead {
  background-image: url(../images/taisho4.jpg); }

/*class*/
.classHead {
  background-image: url(../images/class.png); }

.fen3g {
  text-align: center; }
  .fen3g figure figcaption {
    margin-top: 10px;
    font-size: 22px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.29412rem;
    letter-spacing: 0.1rem; }
    @media only screen and (max-width: 1280px) {
      .fen3g figure figcaption {
        font-size: 22px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.29412rem; } }
    @media only screen and (max-width: 1024px) {
      .fen3g figure figcaption {
        font-size: 22px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.29412rem; } }
    @media only screen and (max-width: 768px) {
      .fen3g figure figcaption {
        font-size: 20px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.17647rem; } }
    @media only screen and (max-width: 640px) {
      .fen3g figure figcaption {
        font-size: 18.33333px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.07843rem; } }

.classDeco img {
  position: absolute;
  width: 30vw;
  height: auto; }
  .classDeco img:nth-child(1) {
    top: -10%;
    left: 0;
    z-index: -1;
    width: 20vw;
    height: auto; }
  .classDeco img:nth-child(2) {
    bottom: -10%;
    right: 0;
    width: 13vw;
    height: auto;
    z-index: 10; }

.dngng {
  background-color: #fff;
  border: 4px solid #d61318;
  border-radius: 15px; }
  .dngng .enn {
    width: 90%;
    max-width: 450px;
    margin: 0 auto;
    text-align: center; }
  .dngng .gne {
    text-align: center;
    width: 100%;
    border-radius: 35px;
    padding: 10px 0; }
    .dngng .gne span {
      font-size: 32px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.88235rem;
      letter-spacing: 0.1rem;
      color: #fff; }
      @media only screen and (max-width: 1280px) {
        .dngng .gne span {
          font-size: 32px;
          /*IE9以下で反映されるよう記述*/
          font-size: 1.88235rem; } }
      @media only screen and (max-width: 1024px) {
        .dngng .gne span {
          font-size: 32px;
          /*IE9以下で反映されるよう記述*/
          font-size: 1.88235rem; } }
      @media only screen and (max-width: 768px) {
        .dngng .gne span {
          font-size: 29.09091px;
          /*IE9以下で反映されるよう記述*/
          font-size: 1.71123rem; } }
      @media only screen and (max-width: 640px) {
        .dngng .gne span {
          font-size: 26.66667px;
          /*IE9以下で反映されるよう記述*/
          font-size: 1.56863rem; } }
  .dngng .ndg01 {
    background-color: #f7ae00; }
  .dngng .ndg02 {
    background-color: #097c25; }

.r43n {
  color: #d11111;
  font-size: 33px;
  /*IE9以下で反映されるよう記述*/
  font-size: 1.94118rem; }
  @media only screen and (max-width: 1280px) {
    .r43n {
      font-size: 33px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.94118rem; } }
  @media only screen and (max-width: 1024px) {
    .r43n {
      font-size: 33px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.94118rem; } }
  @media only screen and (max-width: 768px) {
    .r43n {
      font-size: 30px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.76471rem; } }
  @media only screen and (max-width: 640px) {
    .r43n {
      font-size: 27.5px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.61765rem; } }
  .r43n span {
    color: #d11111;
    font-family: "lanobe";
    font-size: 1.2em; }

.spNavCover {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: -1; }
  .spNavCover:before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    top: 10%;
    right: 3%;
    background-image: url(../images/navBgDot.jpg);
    z-index: 1;
    border-radius: 50%;
    transition: 0.3s; }
  .spNavCover .innerSpNavCover {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    z-index: 2;
    position: relative; }
    .spNavCover .innerSpNavCover > div {
      display: none; }
  .spNavCover nav {
    width: 95%;
    max-width: 950px;
    margin: 0 auto; }
    .spNavCover nav ul {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      .spNavCover nav ul li {
        width: 48%;
        max-width: 380px;
        margin-bottom: 30px; }
        .spNavCover nav ul li a {
          display: flex;
          align-items: center;
          position: relative;
          flex-wrap: wrap;
          color: #fff;
          letter-spacing: 0.2em;
          font-size: 20px;
          /*IE9以下で反映されるよう記述*/
          font-size: 1.17647rem; }
          @media only screen and (max-width: 1280px) {
            .spNavCover nav ul li a {
              font-size: 20px;
              /*IE9以下で反映されるよう記述*/
              font-size: 1.17647rem; } }
          @media only screen and (max-width: 1024px) {
            .spNavCover nav ul li a {
              font-size: 20px;
              /*IE9以下で反映されるよう記述*/
              font-size: 1.17647rem; } }
          @media only screen and (max-width: 768px) {
            .spNavCover nav ul li a {
              font-size: 18.18182px;
              /*IE9以下で反映されるよう記述*/
              font-size: 1.06952rem; } }
          @media only screen and (max-width: 640px) {
            .spNavCover nav ul li a {
              font-size: 16.66667px;
              /*IE9以下で反映されるよう記述*/
              font-size: 0.98039rem; } }
          .spNavCover nav ul li a:before {
            content: "";
            display: block;
            position: absolute;
            top: 50%;
            right: 0;
            transform: translateY(-50%);
            width: 20px;
            height: 20px;
            background-image: url(../images/arr01.png);
            background-repeat: no-repeat;
            background-position: 50%;
            z-index: 1; }
          .spNavCover nav ul li a:after {
            content: "";
            display: block;
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 20px;
            height: 20px;
            background-color: #fff;
            border-radius: 50%;
            right: 0;
            z-index: 0; }
          .spNavCover nav ul li a span {
            letter-spacing: 0.1rem;
            color: #fff;
            width: 100%;
            display: block;
            font-family: "lanobe";
            font-size: 10px;
            /*IE9以下で反映されるよう記述*/
            font-size: 0.58824rem; }
            @media only screen and (max-width: 1280px) {
              .spNavCover nav ul li a span {
                font-size: 10px;
                /*IE9以下で反映されるよう記述*/
                font-size: 0.58824rem; } }
            @media only screen and (max-width: 1024px) {
              .spNavCover nav ul li a span {
                font-size: 10px;
                /*IE9以下で反映されるよう記述*/
                font-size: 0.58824rem; } }
            @media only screen and (max-width: 768px) {
              .spNavCover nav ul li a span {
                font-size: 9.09091px;
                /*IE9以下で反映されるよう記述*/
                font-size: 0.53476rem; } }
            @media only screen and (max-width: 640px) {
              .spNavCover nav ul li a span {
                font-size: 8.33333px;
                /*IE9以下で反映されるよう記述*/
                font-size: 0.4902rem; } }
  .spNavCover .dfnn {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 95%;
    margin: 0 auto; }
    .spNavCover .dfnn > div {
      width: 45%;
      background-color: #fff;
      padding: 1vw 1vw;
      border-radius: 15px;
      text-align: center; }
  .spNavCover.move_spNavCover {
    z-index: 55; }
    .spNavCover.move_spNavCover:before {
      top: -50%;
      right: -50%;
      width: 200vw;
      height: 200vw; }

.lineheight2 {
  line-height: 2rem; }

.new_bgc1 {
  background-color: #d61318; }

.new_bgc2 {
  background-color: #46a319; }

@media only screen and (max-width: 1580px) {
  .curtain img {
    width: 21vw;
    height: auto; }
  .kids02 {
    height: 45vw; }
  .tmt {
    display: none; }
  .kids07 {
    right: 3%;
    width: 100%;
    max-width: 470px; }
  .kids07 p {
    font-size: 30px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.76471rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 1280px) {
    .kids07 p {
      font-size: 30px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.76471rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 1024px) {
    .kids07 p {
      font-size: 30px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.76471rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 768px) {
    .kids07 p {
      font-size: 27.27273px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.60428rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 640px) {
    .kids07 p {
      font-size: 25px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.47059rem; } }

@media only screen and (max-width: 1580px) {
  .egfe:nth-child(1) {
    width: 29%; }
  .egfe:nth-child(2) {
    width: 39%; }
  .egfe:nth-child(3) {
    width: 29%; }
  .onpoDeco01 img:nth-child(1) {
    left: 8vw;
    top: 26%;
    width: auto;
    height: 5vw; }
  .onpoDeco01 img:nth-child(2) {
    right: 2vw;
    width: auto;
    height: 8vw; }
  .head02A {
    font-size: 40px;
    /*IE9以下で反映されるよう記述*/
    font-size: 2.35294rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 1280px) {
    .head02A {
      font-size: 40px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.35294rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 1024px) {
    .head02A {
      font-size: 40px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.35294rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 768px) {
    .head02A {
      font-size: 36.36364px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.13904rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 640px) {
    .head02A {
      font-size: 33.33333px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.96078rem; } }

@media only screen and (max-width: 1580px) {
  .swiper-container .fadeTxt p {
    font-size: 40px;
    /*IE9以下で反映されるよう記述*/
    font-size: 2.35294rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 1280px) {
    .swiper-container .fadeTxt p {
      font-size: 40px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.35294rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 1024px) {
    .swiper-container .fadeTxt p {
      font-size: 40px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.35294rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 768px) {
    .swiper-container .fadeTxt p {
      font-size: 36.36364px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.13904rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 640px) {
    .swiper-container .fadeTxt p {
      font-size: 33.33333px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.96078rem; } }

@media only screen and (max-width: 1580px) {
  .swiper-container .fadeTxt p span {
    font-size: 60px;
    /*IE9以下で反映されるよう記述*/
    font-size: 3.52941rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 1280px) {
    .swiper-container .fadeTxt p span {
      font-size: 60px;
      /*IE9以下で反映されるよう記述*/
      font-size: 3.52941rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 1024px) {
    .swiper-container .fadeTxt p span {
      font-size: 60px;
      /*IE9以下で反映されるよう記述*/
      font-size: 3.52941rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 768px) {
    .swiper-container .fadeTxt p span {
      font-size: 54.54545px;
      /*IE9以下で反映されるよう記述*/
      font-size: 3.20856rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 640px) {
    .swiper-container .fadeTxt p span {
      font-size: 50px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.94118rem; } }

@media only screen and (max-width: 1580px) {
  .mainHead > div span {
    font-size: 20px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.17647rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 1280px) {
    .mainHead > div span {
      font-size: 20px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.17647rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 1024px) {
    .mainHead > div span {
      font-size: 20px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.17647rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 768px) {
    .mainHead > div span {
      font-size: 18.18182px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.06952rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 640px) {
    .mainHead > div span {
      font-size: 16.66667px;
      /*IE9以下で反映されるよう記述*/
      font-size: 0.98039rem; } }

@media only screen and (max-width: 1580px) {
  .mainHead > div p:nth-child(2) span {
    font-size: 45px;
    /*IE9以下で反映されるよう記述*/
    font-size: 2.64706rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 1280px) {
    .mainHead > div p:nth-child(2) span {
      font-size: 45px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.64706rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 1024px) {
    .mainHead > div p:nth-child(2) span {
      font-size: 45px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.64706rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 768px) {
    .mainHead > div p:nth-child(2) span {
      font-size: 40.90909px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.40642rem; } }
  @media only screen and (max-width: 1580px) and (max-width: 640px) {
    .mainHead > div p:nth-child(2) span {
      font-size: 37.5px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.20588rem; } }

@media only screen and (max-width: 1580px) {
  .mainHead {
    height: 45vw; }
  .percusDeco img:nth-child(1) {
    right: 5vw;
    display: none; }
  .percusDeco img:nth-child(2) {
    right: 2vw;
    top: 51%;
    width: 12vw; }
  .percusDeco img:nth-child(3) {
    left: -1vw;
    display: none; }
  .percusDeco img:nth-child(4) {
    left: 2vw;
    width: 10vw; }
  .percusDeco img:nth-child(5) {
    right: 0vw;
    width: 14vw; } }

@media only screen and (max-width: 1280px) {
  .classDeco img:nth-child(1) {
    top: -15%; }
  .classDeco img:nth-child(2) {
    bottom: -15%; }
  .j30e:nth-child(1) {
    width: 40%; }
  .nfe93 {
    padding: 5px 0;
    border-radius: 10px; }
  .nfe93 p {
    font-size: 25px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.47059rem; } }
  @media only screen and (max-width: 1280px) and (max-width: 1280px) {
    .nfe93 p {
      font-size: 25px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.47059rem; } }
  @media only screen and (max-width: 1280px) and (max-width: 1024px) {
    .nfe93 p {
      font-size: 25px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.47059rem; } }
  @media only screen and (max-width: 1280px) and (max-width: 768px) {
    .nfe93 p {
      font-size: 22.72727px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.3369rem; } }
  @media only screen and (max-width: 1280px) and (max-width: 640px) {
    .nfe93 p {
      font-size: 20.83333px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.22549rem; } }

@media only screen and (max-width: 1280px) {
  .dn9e > div figure .efj {
    width: 70px;
    height: 70px; }
  .dn9e > div figure .efj span:nth-child(2) {
    font-size: 1.5rem; }
  .onp05 img {
    width: auto;
    height: 10vw; }
  .swiper-container {
    height: 80vw; }
  header h1 {
    top: 75px;
    left: 40px; }
    header h1 a img {
      width: 245px; } }

@media only screen and (max-width: 1024px) {
  .bg02 {
    background-size: 13vw auto; }
  .dju43 p span,
  .dju43 i span {
    font-size: 35px;
    /*IE9以下で反映されるよう記述*/
    font-size: 2.05882rem; } }
  @media only screen and (max-width: 1024px) and (max-width: 1280px) {
    .dju43 p span,
    .dju43 i span {
      font-size: 35px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.05882rem; } }
  @media only screen and (max-width: 1024px) and (max-width: 1024px) {
    .dju43 p span,
    .dju43 i span {
      font-size: 35px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.05882rem; } }
  @media only screen and (max-width: 1024px) and (max-width: 768px) {
    .dju43 p span,
    .dju43 i span {
      font-size: 31.81818px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.87166rem; } }
  @media only screen and (max-width: 1024px) and (max-width: 640px) {
    .dju43 p span,
    .dju43 i span {
      font-size: 29.16667px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.71569rem; } }

@media only screen and (max-width: 1024px) {
  .fmn:nth-child(1) {
    width: 100%; }
  .fmn:nth-child(2) {
    width: 100%;
    margin-top: 10px; }
  .grlr figure {
    width: 49%;
    border-radius: 25px;
    overflow: hidden;
    height: 42vw;
    position: relative; }
    .grlr figure img {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateX(-50%) translateY(-50%);
      width: 100%;
      height: auto; }
  .mainHead > div {
    transform: translateY(0%) translateX(-50%); }
  .i_memberImg {
    border-radius: 5vw; }
  .nn3f li {
    width: 100%;
    max-width: 650px;
    margin: 0 auto 15px auto; }
  .sfnm:nth-child(1) {
    width: 100%;
    padding: 0; }
    .sfnm:nth-child(1) figure {
      width: 100%; }
      .sfnm:nth-child(1) figure img {
        width: 100%;
        height: auto; }
  .sfnm:nth-child(2) {
    width: 100%; }
  header:before {
    height: 20px; }
  .spNavBtn {
    top: 45px;
    right: 20px;
    width: 80px;
    height: 80px; }
  .spNavBtn span {
    width: 30px; }
  .bgTomato {
    background-size: 84vw auto; }
  .d3n {
    position: unset;
    top: 0px;
    margin: 0 auto;
    display: block;
    margin-top: 35px; } }

@media only screen and (max-width: 768px) {
  .newsBox a > div {
    padding: 15px; }
  .newsBox a > div:nth-child(1) {
    width: 125px; }
  .newsBox a > div:nth-child(2) {
    width: calc(100% - 125px); }
  .newsBox a {
    border-radius: 10px;
    margin-bottom: 5px; }
  .newsBox02 li a {
    flex-wrap: wrap;
    padding: 15px 10px; }
  .newsBox02 li a p:nth-child(1) {
    width: 100%;
    font-size: 11px; }
  .newsBox02 li a p:nth-child(2) {
    width: 100%;
    margin-top: 5px;
    font-size: 19pxpx;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.11765pxrem; } }
  @media only screen and (max-width: 768px) and (max-width: 1280px) {
    .newsBox02 li a p:nth-child(2) {
      font-size: 19pxpx;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.11765pxrem; } }
  @media only screen and (max-width: 768px) and (max-width: 1024px) {
    .newsBox02 li a p:nth-child(2) {
      font-size: 19pxpx;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.11765pxrem; } }
  @media only screen and (max-width: 768px) and (max-width: 768px) {
    .newsBox02 li a p:nth-child(2) {
      font-size: 17.27273pxpx;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.01604pxrem; } }
  @media only screen and (max-width: 768px) and (max-width: 640px) {
    .newsBox02 li a p:nth-child(2) {
      font-size: 15.83333pxpx;
      /*IE9以下で反映されるよう記述*/
      font-size: 0.93137pxrem; } }

@media only screen and (max-width: 768px) {
  .dngng .gne span {
    font-size: 25px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.47059rem; } }
  @media only screen and (max-width: 768px) and (max-width: 1280px) {
    .dngng .gne span {
      font-size: 25px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.47059rem; } }
  @media only screen and (max-width: 768px) and (max-width: 1024px) {
    .dngng .gne span {
      font-size: 25px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.47059rem; } }
  @media only screen and (max-width: 768px) and (max-width: 768px) {
    .dngng .gne span {
      font-size: 22.72727px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.3369rem; } }
  @media only screen and (max-width: 768px) and (max-width: 640px) {
    .dngng .gne span {
      font-size: 20.83333px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.22549rem; } }

@media only screen and (max-width: 768px) {
  .j30e:nth-child(1) {
    width: 100%; }
  .j30e:nth-child(2) {
    width: 100%; }
    .j30e:nth-child(2) .fSize30 {
      font-size: 25px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.47059rem; } }
    @media only screen and (max-width: 768px) and (max-width: 1280px) {
      .j30e:nth-child(2) .fSize30 {
        font-size: 25px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.47059rem; } }
    @media only screen and (max-width: 768px) and (max-width: 1024px) {
      .j30e:nth-child(2) .fSize30 {
        font-size: 25px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.47059rem; } }
    @media only screen and (max-width: 768px) and (max-width: 768px) {
      .j30e:nth-child(2) .fSize30 {
        font-size: 22.72727px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.3369rem; } }
    @media only screen and (max-width: 768px) and (max-width: 640px) {
      .j30e:nth-child(2) .fSize30 {
        font-size: 20.83333px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.22549rem; } }

@media only screen and (max-width: 768px) {
  .keyboard07 {
    display: none; }
  .egfe:nth-child(1) {
    width: 48%; }
  .egfe:nth-child(2) {
    width: 100%;
    order: 3; }
  .egfe:nth-child(3) {
    width: 48%;
    order: 2; }
  .ds3 {
    max-width: 490px;
    margin: 95px;
    margin: 0 auto; }
  .dju43 {
    text-align: center;
    padding: 20px 0; }
    .dju43 p {
      display: block;
      width: 100%;
      margin: 5px 0; }
    .dju43 i {
      display: none; }
  .swiper-container .fadeTxt {
    transform: translateY(0%) translateX(-50%); }
  .spNavCover .innerSpNavCover {
    overflow-y: scroll; }
    .spNavCover .innerSpNavCover > div {
      height: 100%; }
      .spNavCover .innerSpNavCover > div nav {
        padding-top: 100px; }
      .spNavCover .innerSpNavCover > div .dfnn {
        padding-bottom: 100px; }
  .spNavCover.move_spNavCover:before {
    top: -25%;
    height: 150vh; }
  .spNavCover .dfnn > div {
    padding: 2vw 1vw;
    border-radius: 10px; }
  .i_memberImg {
    border-radius: 12vw; }
  .dfm3 > .flex {
    margin-bottom: 3rem; }
  .sjj5 img {
    width: 260px;
    height: auto; }
  .mapBox {
    padding: 7px;
    height: 270px; } }

@media only screen and (max-width: 640px) {
  .newsBox a > div:nth-child(1) {
    width: 100%;
    text-align: left; }
  .newsBox a > div:nth-child(2) {
    width: 100%; }
  .classDeco img:nth-child(2) {
    bottom: -7%; }
  .mainHead > div p:nth-child(1) span {
    letter-spacing: 0.1rem; }
  .time img {
    width: 80%; }
  .neg span {
    font-size: 20px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.17647rem; } }
  @media only screen and (max-width: 640px) and (max-width: 1280px) {
    .neg span {
      font-size: 20px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.17647rem; } }
  @media only screen and (max-width: 640px) and (max-width: 1024px) {
    .neg span {
      font-size: 20px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.17647rem; } }
  @media only screen and (max-width: 640px) and (max-width: 768px) {
    .neg span {
      font-size: 18.18182px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.06952rem; } }
  @media only screen and (max-width: 640px) and (max-width: 640px) {
    .neg span {
      font-size: 16.66667px;
      /*IE9以下で反映されるよう記述*/
      font-size: 0.98039rem; } }

@media only screen and (max-width: 640px) {
  .kids07 p {
    font-size: 24px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.41176rem; } }
  @media only screen and (max-width: 640px) and (max-width: 1280px) {
    .kids07 p {
      font-size: 24px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.41176rem; } }
  @media only screen and (max-width: 640px) and (max-width: 1024px) {
    .kids07 p {
      font-size: 24px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.41176rem; } }
  @media only screen and (max-width: 640px) and (max-width: 768px) {
    .kids07 p {
      font-size: 21.81818px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.28342rem; } }
  @media only screen and (max-width: 640px) and (max-width: 640px) {
    .kids07 p {
      font-size: 20px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.17647rem; } }

@media only screen and (max-width: 640px) {
  .kids07 {
    right: 0%;
    width: 100%;
    max-width: 290px;
    transform: translateY(20%); }
  .onpoDeco01 img:nth-child(2) {
    right: 2vw;
    width: auto;
    height: 26vw;
    top: 44%; }
  .fSize35 {
    font-size: 24px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.41176rem; } }
  @media only screen and (max-width: 640px) and (max-width: 1280px) {
    .fSize35 {
      font-size: 24px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.41176rem; } }
  @media only screen and (max-width: 640px) and (max-width: 1024px) {
    .fSize35 {
      font-size: 24px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.41176rem; } }
  @media only screen and (max-width: 640px) and (max-width: 768px) {
    .fSize35 {
      font-size: 21.81818px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.28342rem; } }
  @media only screen and (max-width: 640px) and (max-width: 640px) {
    .fSize35 {
      font-size: 20px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.17647rem; } }

@media only screen and (max-width: 640px) {
  .percussion07 {
    padding: 0 35px 20px 35px;
    display: block;
    text-align: center; }
    .percussion07 figure img {
      left: 50%;
      width: 170px;
      transform: translate(-50%, 0%); }
  .percusDeco img:nth-child(2) {
    top: 56%; }
  .mainHead {
    height: 70vw; }
  .mainHead > div span {
    font-size: 15px;
    /*IE9以下で反映されるよう記述*/
    font-size: 0.88235rem;
    letter-spacing: 0.1rem; } }
  @media only screen and (max-width: 640px) and (max-width: 1280px) {
    .mainHead > div span {
      font-size: 15px;
      /*IE9以下で反映されるよう記述*/
      font-size: 0.88235rem; } }
  @media only screen and (max-width: 640px) and (max-width: 1024px) {
    .mainHead > div span {
      font-size: 15px;
      /*IE9以下で反映されるよう記述*/
      font-size: 0.88235rem; } }
  @media only screen and (max-width: 640px) and (max-width: 768px) {
    .mainHead > div span {
      font-size: 13.63636px;
      /*IE9以下で反映されるよう記述*/
      font-size: 0.80214rem; } }
  @media only screen and (max-width: 640px) and (max-width: 640px) {
    .mainHead > div span {
      font-size: 12.5px;
      /*IE9以下で反映されるよう記述*/
      font-size: 0.73529rem; } }

@media only screen and (max-width: 640px) {
  .mainHead > div p:nth-child(2) span {
    font-size: 35px;
    /*IE9以下で反映されるよう記述*/
    font-size: 2.05882rem;
    letter-spacing: 0.1rem; } }
  @media only screen and (max-width: 640px) and (max-width: 1280px) {
    .mainHead > div p:nth-child(2) span {
      font-size: 35px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.05882rem; } }
  @media only screen and (max-width: 640px) and (max-width: 1024px) {
    .mainHead > div p:nth-child(2) span {
      font-size: 35px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.05882rem; } }
  @media only screen and (max-width: 640px) and (max-width: 768px) {
    .mainHead > div p:nth-child(2) span {
      font-size: 31.81818px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.87166rem; } }
  @media only screen and (max-width: 640px) and (max-width: 640px) {
    .mainHead > div p:nth-child(2) span {
      font-size: 29.16667px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.71569rem; } }

@media only screen and (max-width: 640px) {
  .spNavCover nav ul li {
    width: 100%;
    margin: 0 auto 20px auto; }
  .spNavCover .dfnn {
    margin-top: 15px; }
  .spNavCover .dfnn > div {
    width: 100%;
    margin: 0 auto 10px auto;
    max-width: 450px; }
  #page-top {
    bottom: 30px;
    right: 10px; }
    #page-top img {
      width: 60px;
      height: auto; }
  .ajustGarland {
    top: 0px; }
  .d98 {
    background-size: 5px 100%, 100% 2.5em;
    line-height: 2.5em; }
  .nn3f li {
    padding: 20px 20px 40px 20px; }
  .nn3f li .arr {
    bottom: 10px;
    right: 10px;
    width: 40px;
    height: 40px; }
  .head02A {
    font-size: 30px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.76471rem; } }
  @media only screen and (max-width: 640px) and (max-width: 1280px) {
    .head02A {
      font-size: 30px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.76471rem; } }
  @media only screen and (max-width: 640px) and (max-width: 1024px) {
    .head02A {
      font-size: 30px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.76471rem; } }
  @media only screen and (max-width: 640px) and (max-width: 768px) {
    .head02A {
      font-size: 27.27273px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.60428rem; } }
  @media only screen and (max-width: 640px) and (max-width: 640px) {
    .head02A {
      font-size: 25px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.47059rem; } }

@media only screen and (max-width: 640px) {
  .head02B {
    font-size: 27px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.58824rem; } }
  @media only screen and (max-width: 640px) and (max-width: 1280px) {
    .head02B {
      font-size: 27px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.58824rem; } }
  @media only screen and (max-width: 640px) and (max-width: 1024px) {
    .head02B {
      font-size: 27px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.58824rem; } }
  @media only screen and (max-width: 640px) and (max-width: 768px) {
    .head02B {
      font-size: 24.54545px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.44385rem; } }
  @media only screen and (max-width: 640px) and (max-width: 640px) {
    .head02B {
      font-size: 22.5px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.32353rem; } }

@media only screen and (max-width: 640px) {
  .bgTomato {
    background-size: 140vw auto; }
  .spNavBtn {
    top: 30px;
    right: 10px;
    width: 65px;
    height: 65px; }
  header h1 a img {
    width: 175px; }
  header h1 {
    top: 45px;
    left: 20px; }
  .swiper-container .fadeTxt p {
    font-size: 30px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.76471rem; } }
  @media only screen and (max-width: 640px) and (max-width: 1280px) {
    .swiper-container .fadeTxt p {
      font-size: 30px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.76471rem; } }
  @media only screen and (max-width: 640px) and (max-width: 1024px) {
    .swiper-container .fadeTxt p {
      font-size: 30px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.76471rem; } }
  @media only screen and (max-width: 640px) and (max-width: 768px) {
    .swiper-container .fadeTxt p {
      font-size: 27.27273px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.60428rem; } }
  @media only screen and (max-width: 640px) and (max-width: 640px) {
    .swiper-container .fadeTxt p {
      font-size: 25px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.47059rem; } }

@media only screen and (max-width: 640px) {
  .swiper-container .fadeTxt p span {
    font-size: 40px;
    /*IE9以下で反映されるよう記述*/
    font-size: 2.35294rem; } }
  @media only screen and (max-width: 640px) and (max-width: 1280px) {
    .swiper-container .fadeTxt p span {
      font-size: 40px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.35294rem; } }
  @media only screen and (max-width: 640px) and (max-width: 1024px) {
    .swiper-container .fadeTxt p span {
      font-size: 40px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.35294rem; } }
  @media only screen and (max-width: 640px) and (max-width: 768px) {
    .swiper-container .fadeTxt p span {
      font-size: 36.36364px;
      /*IE9以下で反映されるよう記述*/
      font-size: 2.13904rem; } }
  @media only screen and (max-width: 640px) and (max-width: 640px) {
    .swiper-container .fadeTxt p span {
      font-size: 33.33333px;
      /*IE9以下で反映されるよう記述*/
      font-size: 1.96078rem; } }

@media only screen and (max-width: 640px) {
  .swiper-container {
    height: 80vh; } }
