@charset "UTF-8";
/*------------------------------------------------------------
hover・・・ボタンホバー効果
-------------------------------------------------------------*/
.btn:hover {
  opacity: 0.7;
}

/*------------------------------------------------------------
color
-------------------------------------------------------------*/
:root {
  --manabi1-bg-color1: #07ba97;
  --manabi1-bg-color2: #e6f8f4;
  --manabi2-bg-color1: #45acdf;
  --manabi2-bg-color2: #ecf7fc;
  --manabi3-bg-color1: #fbb11a;
  --manabi3-bg-color2: #fff7e8;
  --manabi4-bg-color1: #e98198;
  --manabi4-bg-color2: #fdf2f4;
}

b {
  font-weight: bold;
}
/*------------------------------------------------------------
clear・・・クリアフィックス解除
-------------------------------------------------------------*/
.clearfix {
  clear: both;
}

.od1 {
  max-width: 600px;
  padding: 20px;
  margin: 0 auto;
}
.od2 {
  margin: 0 auto;
  text-align: center;
}
/*------------------------------------------------------------
align・・・文字の横位置
-------------------------------------------------------------*/
.center {
  text-align: center;
  line-height: 0;
}
.right {
  text-align: right !important;
}
.left {
  text-align: left;
}
/*------------------------------------------------------------
margin・・・周りのブロックからの距離
-------------------------------------------------------------*/
.m0a {
  margin: 0 auto !important;
  text-align: center;
}
.m0 {
  margin: 0 !important;
} /*周りからのmarginを0に*/
.m0-t {
  margin-top: 0 !important;
} /*上からのmarginを0に*/
.m0-r {
  margin-right: 0 !important;
} /*右からのmarginを0に*/
.m0-b {
  margin-bottom: 0 !important;
} /*下からのmarginを0に*/
.m0-l {
  margin-left: 0 !important;
} /*左からのmarginを0に*/
.m5 {
  margin: 5px !important;
}
.m5-t {
  margin-top: 5px !important;
}
.m5-r {
  margin-right: 5px !important;
}
.m5-b {
  margin-bottom: 5px !important;
}
.m5-l {
  margin-left: 5px !important;
}
.m10 {
  margin: 10px !important;
}
.m10-t {
  margin-top: 10px !important;
}
.m10-r {
  margin-right: 10px !important;
}
.m10-b {
  margin-bottom: 10px !important;
}
.m10-l {
  margin-left: 10px !important;
}
.m15 {
  margin: 15px !important;
}
.m15-t {
  margin-top: 15px !important;
}
.m15-r {
  margin-right: 15px !important;
}
.m15-b {
  margin-bottom: 15px !important;
}
.m15-l {
  margin-left: 15px !important;
}
.m20 {
  margin: 20px !important;
}
.m20-t {
  margin-top: 20px !important;
}
.m20-r {
  margin-right: 20px !important;
}
.m20-b {
  margin-bottom: 20px !important;
}
.m20-l {
  margin-left: 20px !important;
}
.m25 {
  margin: 25px !important;
}
.m25-t {
  margin-top: 25px !important;
}
.m25-r {
  margin-right: 25px !important;
}
.m25-b {
  margin-bottom: 25px !important;
}
.m25-l {
  margin-left: 25px !important;
}
.m30 {
  margin: 30px !important;
}
.m30-t {
  margin-top: 30px !important;
}
.m30-r {
  margin-right: 30px !important;
}
.m30-b {
  margin-bottom: 30px !important;
}
.m30-l {
  margin-left: 30px !important;
}
.m40 {
  margin: 40px !important;
}
.m40-t {
  margin-top: 40px !important;
}
.m40-r {
  margin-right: 40px !important;
}
.m40-b {
  margin-bottom: 40px !important;
}
.m40-l {
  margin-left: 40px !important;
}
.m50 {
  margin: 50px !important;
}
.m50-t {
  margin-top: 50px !important;
}
.m50-r {
  margin-right: 50px !important;
}
.m50-b {
  margin-bottom: 50px !important;
}
.m50-l {
  margin-left: 50px !important;
}
.m60 {
  margin: 60px !important;
}
.m60-t {
  margin-top: 60px !important;
}
.m60-r {
  margin-right: 60px !important;
}
.m60-b {
  margin-bottom: 60px !important;
}
.m60-l {
  margin-left: 60px !important;
}
.m70 {
  margin: 70px !important;
}
.m70-t {
  margin-top: 70px !important;
}
.m70-r {
  margin-right: 70px !important;
}
.m70-b {
  margin-bottom: 70px !important;
}
.m70-l {
  margin-left: 70px !important;
}
.m80 {
  margin: 80px !important;
}
.m80-t {
  margin-top: 80px !important;
}
.m80-r {
  margin-right: 80px !important;
}
.m80-b {
  margin-bottom: 80px !important;
}
.m80-l {
  margin-left: 80px !important;
}
.m90 {
  margin: 90px !important;
}
.m90-t {
  margin-top: 90px !important;
}
.m90-r {
  margin-right: 90px !important;
}
.m90-b {
  margin-bottom: 90px !important;
}
.m90-l {
  margin-left: 90px !important;
}
.m100 {
  margin: 100px !important;
}
.m100-t {
  margin-top: 100px !important;
}
.m100-r {
  margin-right: 100px !important;
}
.m100-b {
  margin-bottom: 100px !important;
}
.m100-l {
  margin-left: 100px !important;
}
/*------------------------------------------------------------
5、padding・・・周りのブロックからの距離（padding）
-------------------------------------------------------------*/

.p0 {
  padding: 0 !important;
}
.p0-t {
  padding-top: 0 !important;
}
.p0-r {
  padding-right: 0 !important;
}
.p0-b {
  padding-bottom: 0 !important;
}
.p0-l {
  padding-left: 0 !important;
}
.p5 {
  padding: 5px !important;
}
.p5-t {
  padding-top: 5px !important;
}
.p5-r {
  padding-right: 5px !important;
}
.p5-b {
  padding-bottom: 5px !important;
}
.p5-l {
  padding-left: 5px !important;
}
.p10 {
  padding: 10px !important;
}
.p10-t {
  padding-top: 10px !important;
}
.p10-r {
  padding-right: 10px !important;
}
.p10-b {
  padding-bottom: 10px !important;
}
.p10-l {
  padding-left: 10px !important;
}
.p15 {
  padding: 15px !important;
}
.p15-t {
  padding-top: 15px !important;
}
.p15-r {
  padding-right: 15px !important;
}
.p15-b {
  padding-bottom: 15px !important;
}
.p15-l {
  padding-left: 15px !important;
}
.p20 {
  padding: 20px !important;
}
.p20-t {
  padding-top: 20px !important;
}
.p20-r {
  padding-right: 20px !important;
}
.p20-b {
  padding-bottom: 20px !important;
}
.p20-l {
  padding-left: 20px !important;
}
.p25 {
  padding: 25px !important;
}
.p25-t {
  padding-top: 25px !important;
}
.p25-r {
  padding-right: 25px !important;
}
.p25-b {
  padding-bottom: 25px !important;
}
.p25-l {
  padding-left: 25px !important;
}
.p30 {
  padding: 30px !important;
}
.p30-t {
  padding-top: 30px !important;
}
.p30-r {
  padding-right: 30px !important;
}
.p30-b {
  padding-bottom: 30px !important;
}
.p30-l {
  padding-left: 30px !important;
}
.p40 {
  padding: 40px !important;
}
.p40-t {
  padding-top: 40px !important;
}
.p40-r {
  padding-right: 40px !important;
}
.p40-b {
  padding-bottom: 40px !important;
}
.p40-l {
  padding-left: 40px !important;
}
.p50 {
  padding: 50px !important;
}
.p50-t {
  padding-top: 50px !important;
}
.p50-r {
  padding-right: 50px !important;
}
.p50-b {
  padding-bottom: 50px !important;
}
.p50-l {
  padding-left: 50px !important;
}
.p60 {
  padding: 60px !important;
}
.p60-t {
  padding-top: 60px !important;
}
.p60-r {
  padding-right: 60px !important;
}
.p60-b {
  padding-bottom: 60px !important;
}
.p60-l {
  padding-left: 60px !important;
}
.p70 {
  padding: 70px !important;
}
.p70-t {
  padding-top: 70px !important;
}
.p70-r {
  padding-right: 70px !important;
}
.p70-b {
  padding-bottom: 70px !important;
}
.p70-l {
  padding-left: 70px !important;
}
.p80 {
  padding: 80px !important;
}
.p80-t {
  padding-top: 80px !important;
}
.p80-r {
  padding-right: 80px !important;
}
.p80-b {
  padding-bottom: 80px !important;
}
.p80-l {
  padding-left: 80px !important;
}
.p90 {
  padding: 90px !important;
}
.p90-t {
  padding-top: 90px !important;
}
.p90-r {
  padding-right: 90px !important;
}
.p90-b {
  padding-bottom: 90px !important;
}
.p90-l {
  padding-left: 90px !important;
}
.p100 {
  padding: 100px !important;
}
.p100-t {
  padding-top: 100px !important;
}
.p100-r {
  padding-right: 100px !important;
}
.p100-b {
  padding-bottom: 100px !important;
}
.p100-l {
  padding-left: 100px !important;
}
/*------------------------------------------------------------
font-size・・・フォントサイズの設定
-------------------------------------------------------------*/

.b {
  font-weight: bold !important;
} /*太字*/
.normal {
  font-weight: normal !important;
} /*太字を解除*/
.big {
  font-size: 1.2em !important;
}
.big2 {
  font-size: 1.2em !important;
  line-height: 1.4;
}
.big3 {
  font-size: 1.8em !important;
}
.small {
  font-size: 0.8em !important;
}

/*------------------------------------------------------------
color・・・フォントカラーの設定
-------------------------------------------------------------*/

.red {
  color: #ff0000 !important;
} /*赤*/
.blue {
  color: #0000dd !important;
} /*青*/
.green {
  color: #008000 !important;
} /*緑*/
.yellow {
  color: #ffff00 !important;
} /*黄*/
.navy {
  color: #1f26a9 !important;
} /*紺*/
.orange {
  color: #ff6600 !important;
} /*橙*/
.pink {
  color: #cc6699 !important;
} /*ピンク*/
.purple {
  color: #660099 !important;
} /*紫*/
.olive {
  color: #808000 !important;
} /*黄土色*/
.lime {
  color: #00ff00 !important;
} /*黄緑*/
.aqua {
  color: #167fa6 !important;
} /*水色*/
.black {
  color: #000 !important;
} /*黒*/
.gray {
  color: #ccc !important;
} /*灰*/
.white {
  color: #fff !important;
} /*白*/

/*------------------------------------------------------------
下線の設定
-------------------------------------------------------------*/

.underline {
  text-decoration: underline !important;
}

/*------------------------------------------------------------
蛍光ペンのようなボックスの設定
-------------------------------------------------------------*/

.box-yellow {
  padding: 2px;
  background-color: #ff9 !important;
} /*黄色*/
.box-aqua {
  padding: 2px;
  background-color: #9ff !important;
} /*水色*/
.box-gray {
  padding: 2px;
  background-color: #eee !important;
} /*灰色*/
.box-red {
  padding: 2px;
  background-color: #fcc !important;
} /*赤色*/

/*------------------------------------------------------------
画像を簡単に回り込ませる（スマホでは解除ver.）
-------------------------------------------------------------*/

/*左に画像、右に文章*/
.left_01,
.left_02 {
  float: left;
  margin: 0.2em 0.4em 0.4em 0;
}

/*右に画像、左に文章*/
.right_01,
.right_02 {
  float: right;
  margin: 0.2em 0em 0.4em 0.4em;
}

@media only screen and (max-width: 768px) {
  .od1 {
    padding: 0.5em;
  }

  .left_01,
  .right_01 {
    float: none;
    margin: 0 0 0.5em;
  }

  .imgcenter_01 {
    width: 100%;
    text-align: center;
  }

  .imgcenter_01 img {
    width: 50%;
    height: auto;
  }
}

/*------------------------------------------------------------
スマホ改行コード(スマホ時のみ改行される)
-------------------------------------------------------------*/

.sp_br {
  display: none;
}
.pc_br {
  display: block;
}
.pc_none {
  display: none;
}
.sp_none {
  display: block;
}

@media only screen and (max-width: 768px) {
  .sp_none {
    display: none;
  }
  .pc_none {
    display: block;
  }
  .pc_br {
    display: none;
  }
  .sp_br {
    display: block;
  }
}

/*------------------------------------------------------------
ボタンアニメーション
-------------------------------------------------------------*/
/*ゆらゆら*/
.anime_btn1 {
  animation-name: fuwafuwa; /* fuwafuwaっていうアニメーションの名前*/
  animation-duration: 2s; /*アニメーションの時間設定*/
  animation-iteration-count: infinite; /*アニメーションの繰り返し設定*/
  max-width: 800px;
  margin: 0px auto;
}

@keyframes fuwafuwa {
  0% {
    -webkit-transform: translate(0, 0px);
  } /*X軸とY軸*/
  50% {
    -webkit-transform: translate(0, -20px);
  }
  100% {
    -webkit-transform: translate(0, 0px);
  }
}

/*外側に広がる*/
/*外側に広がるエフェクトver*/
.anime_btn2 {
  display: block;
  position: relative;
  max-width: 800px;
  margin: 0px auto;
  border-radius: 0px;
  font-weight: bold;
  font-size: 18px;
  text-align: center;
  text-decoration: none;
  overflow: hidden;
  animation: anime_btn2 3s ease-in-out infinite;
}
.anime_btn2:hover {
  text-decoration: none;
  color: #fff;
}
@keyframes anime_btn2 {
  0% {
    box-shadow: 0 0 20px 0 rgba(29, 171, 209, 0.6),
      0 0 20px 0 rgba(29, 171, 209, 0.6);
  }
  30% {
    box-shadow: 0 0 0 40px rgba(29, 171, 209, 0),
      0 0 20px 0 rgba(29, 171, 209, 0.6);
  }
  65% {
    box-shadow: 0 0 0 40px rgba(29, 171, 209, 0),
      0 0 0 40px rgba(29, 171, 209, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(29, 171, 209, 0), 0 0 0 40px rgba(29, 171, 209, 0);
  }
}

/*====================================================================
CSSアニメーション
====================================================================*/

/*フェードイン*/
.fadein {
  opacity: 0;
  transform: translateY(0px);
  transition: all 2s;
}

/*左からフェードイン*/
.fadeinleft {
  opacity: 0;
  transform: translateX(-40px);
  transition: all 2s;
}

/*右からフェードイン*/
.fadeinright {
  opacity: 0;
  transform: translateX(40px);
  transition: all 2s;
}

/*====================================================================
slick
====================================================================*/
.slick-slider {
  max-width: 900px;
  margin: 30px auto;
  background: #fff;
  padding: 40px;
  text-align: center;
  /*    background-image: url(../images/waku-tl.png), url(../images/waku-tr.png), url(../images/waku-bl.png), url(../images/waku-br.png);*/
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: left 2%, right 2%, left 98%, right 98%;
  /*    border: 2px solid #baa665;*/
}

.slick-slider img {
  margin: 0 auto;
  outline: none;
}

.slider-text {
  margin: 0;
}

.slick-slider p {
  color: #434343;
  text-align: left;
  width: 90%;
  padding-top: 10px !important;
  margin: 0 auto !important;
}

.style3 {
  width: 95%;
  text-align: center;
}

.style3 .slick-slider {
  margin: 10px;
}
.slick-dots {
  width: 84% !important;
}

.slick-prev:before,
.slick-next:before {
  color: #61c1ba !important;
}
.slick-dots {
  display: none !important;
}
.slick-slide {
  outline: none;
}

.full {
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

.tit-img-width {
  max-width: 1500px;
}

.voice-name {
  border-top: 1px solid #cc963c;
  border-bottom: 1px solid #cc963c;
  padding: 2px 0 !important;
  margin: 10px auto !important;
  text-align: center !important;
  font-size: 1.1em;
  width: 70%;
  text-align: center;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN",
    "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
}
.kiyaku-box {
  margin: 10px auto;
  padding: 10px 17px;
  max-width: 80%;
  min-width: 80%;
  width: 80%;
  height: 130px;
  font-size: 12px;
  background-color: #efefef;
  border: none;
  display: block;
  overflow-y: scroll;
}
@media only screen and (max-width: 768px) {
  .kiyakubox {
    max-width: 90%;
    min-width: 90%;
    width: 90%;
  }
  .slick-slider {
    padding: 10px;
  }
}
.slick-prev {
  left: -10px !important;
}
.slick-next {
  right: -7px !important;
}

/*amimete css*/

.anime1 {
  /* ５秒かけてアニメーションする */
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  /* 4秒待ってからアニメーションする 
  -webkit-animation-duration: 4s;
  animation-delay:4s;*/
  /* 5回繰り返す 
  -webkit-animation-iteration-count: 5;
  animation-iteration-count: 5;*/
}

/* ------------------------------
   スライダー
------------------------------ */

.loopSliderWrap {
  top: 0;
  left: 0;
  height: 300px;
  overflow: hidden;
  position: absolute;
}
.loopSlider {
  margin: 0 auto;
  width: 100%;
  height: 200px;
  text-align: left;
  position: relative;
  overflow: hidden;
}
.loopSlider ul {
  margin: 0;
  padding: 0;
  height: 300px;
  float: left;
  overflow: hidden;
}
.loopSlider ul li {
  margin: 0;
  padding: 0;
  width: 300px;
  height: 300px;
  float: left;
  display: inline;
  overflow: hidden;
}
.loopSlider ul li img {
  width: 100%;
}

/*====================================================================
背景
====================================================================*/
/*方眼*/
.grid {
  background-repeat: repeat;
  background-color: #fff;
  background-image: repeating-linear-gradient(
      to bottom,
      /* 横線 */ transparent 12px,
      rgba(153, 153, 153, 0.07) 13px,
      rgba(153, 153, 153, 0.07) 13px,
      transparent 14px,
      transparent 25px,
      rgba(153, 153, 153, 0.07) 26px,
      rgba(153, 153, 153, 0.07) 26px,
      transparent 27px,
      transparent 38px,
      rgba(153, 153, 153, 0.07) 39px,
      rgba(153, 153, 153, 0.07) 39px,
      transparent 40px,
      transparent 51px,
      rgba(153, 153, 153, 0.07) 52px,
      rgba(153, 153, 153, 0.07) 52px,
      transparent 53px,
      transparent 64px,
      rgba(153, 153, 153, 0.07) 65px,
      rgba(153, 153, 153, 0.07) 65px
    ),
    repeating-linear-gradient(
      to right,
      /* 縦線 */ transparent 12px,
      rgba(153, 153, 153, 0.07) 13px,
      rgba(153, 153, 153, 0.07) 13px,
      transparent 14px,
      transparent 25px,
      rgba(153, 153, 153, 0.07) 26px,
      rgba(153, 153, 153, 0.07) 26px,
      transparent 27px,
      transparent 38px,
      rgba(153, 153, 153, 0.07) 39px,
      rgba(153, 153, 153, 0.07) 39px,
      transparent 40px,
      transparent 51px,
      rgba(153, 153, 153, 0.07) 52px,
      rgba(153, 153, 153, 0.07) 52px,
      transparent 53px,
      transparent 64px,
      rgba(153, 153, 153, 0.07) 65px,
      rgba(153, 153, 153, 0.07) 65px
    );
}

/*------------------------------------------------------------
リストデザイン
-------------------------------------------------------------*/

/*チェックリスト（画像アイコン）*/
ul.checklist {
  border: 1px solid #ccc;
  list-style: none;
  padding: 1em;
}
ul.checklist li {
  background-image: url("../images/icon-check03-red.png");
  background-repeat: no-repeat;
  background-size: 3.5%;
  padding-left: 1.8em;
  margin-bottom: 0.8em;
}
ul.checklist li:last-child {
  margin-bottom: 0em;
}

/*------------------------------------------------------------
境界線
-------------------------------------------------------------*/
/*ギザギザ*/
.spikes {
  position: relative;
}
.spikes::after {
  content: "";
  position: absolute;
  right: 0;
  left: -0%;
  top: 0%;
  z-index: 10;
  display: block;
  height: 50px;
  height: 20px;
  background-size: 20px 100%;
  background-image: linear-gradient(135deg, #f4d724 25%, transparent 25%),
    linear-gradient(225deg, #f4d625 25%, transparent 25%);
}
.spikes2 {
  position: relative;
}

.spikes2::after {
  content: "";
  position: absolute;
  right: 0;
  left: -0%;
  top: 0%;
  z-index: 10;
  display: block;
  height: 50px;
  height: 20px;
  background-size: 20px 100%;
  background-image: linear-gradient(135deg, #ffffff 25%, transparent 25%),
    linear-gradient(225deg, #ffffff 25%, transparent 25%);
}

.spikes4 {
  position: relative;
}

.spikes4::after {
  content: "";
  position: absolute;
  right: 0;
  left: -0%;
  top: 0%;
  z-index: 10;
  display: block;
  height: 50px;
  height: 20px;
  background-size: 20px 100%;
  background-image: linear-gradient(
      135deg,
      rgb(255 255 255 / 90%) 25%,
      transparent 25%
    ),
    linear-gradient(225deg, #f9f9f9 25%, transparent 25%);
}

.spikes3 {
  position: relative;
}
.spikes3::after {
  content: "";
  position: absolute;
  right: 0;
  left: -0%;
  top: 0%;
  z-index: 10;
  display: block;
  height: 50px;
  height: 20px;
  background-size: 20px 100%;
  background-image: linear-gradient(135deg, #f9f9f9 25%, transparent 25%),
    linear-gradient(225deg, #f9f9f9 25%, transparent 25%);
}

/* v  */
.triangle1-st1 {
  width: 100%;
  height: 60px;
  background: linear-gradient(to top right, transparent 50%, #1c1c1c 51%)
      no-repeat top left/50% 100%,
    linear-gradient(to top left, transparent 50%, #1c1c1c 51%) no-repeat top
      right/50% 100%;
}

.triangle1-st2 {
  width: 100%;
  height: 60px;
  background: linear-gradient(to top right, transparent 50%, #00bcd4 51%)
      no-repeat top left/50% 100%,
    linear-gradient(to top left, transparent 50%, #00bcd4 51%) no-repeat top
      right/50% 100%;
}

.triangle2 {
  position: relative;
  background: var(--manabi1-bg-color1);
  padding: 0px 8px;
  height: auto;
  text-align: center;
}
.triangle2:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -58px;
  z-index: 2;
  left: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: #ffffff transparent transparent transparent;
  border-width: 41px 50px 0 50px;
}

/*マーカー*/

.maker {
  background: linear-gradient(transparent 80%, #fce836 80%);
}

/*見出し*/
.waku-h2 {
  position: relative;
  padding: 1rem 2rem calc(1rem + 10px);
  border-radius: 80px;
  color: #fff !important;
  max-width: 700px;
  margin: 0 auto;
}

/*
.waku-h2:before {
  position: absolute;
  top: -7px;
  left: -7px;
  width: 100%;
  height: 100%;
  content: "";
  border: 4px solid #333;
  border-radius: 80px;
}
*/
.midashi-h2-img {
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
}

/*h2-minitext*/

.mini-h2 {
  font-size: 0.8em;
}
