@charset "UTF-8";
html {
  font-size: 10px;
}

h1, h2, h3, h4, h5, p, li, dt, dd, small {
  -webkit-transform: rotate(0.03deg);
          transform: rotate(0.03deg);
}

header, footer, section {
  overflow: hidden;
}

/* Variable
 * */
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body {
  font-size: 1.8rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: #333;
  line-height: 1.85;
  position: relative;
}

ul {
  list-style: none;
}

a {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  text-decoration: none;
  color: #222;
}

small {
  text-align: center;
  display: block;
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  font-weight: normal;
}
small span {
  font-size: 2rem;
  display: block;
}

select {
  cursor: pointer;
  border: 1px solid #b3b3b3;
}

input[type=radio],
input[type=checkbox] {
  margin: 0 4px 0 0;
}

input[type=text],
select {
  padding: 0 0 0 8px;
}

input,
textarea {
  padding: 0 0 0 8px;
}
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #d8d8d8;
  font-weight: regular;
  font-size: 0.875rem;
}
input::-moz-placeholder, textarea::-moz-placeholder {
  color: #d8d8d8;
  font-weight: regular;
  font-size: 0.875rem;
}
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #d8d8d8;
  font-weight: regular;
  font-size: 0.875rem;
}
input::-ms-input-placeholder, textarea::-ms-input-placeholder {
  color: #d8d8d8;
  font-weight: regular;
  font-size: 0.875rem;
}
input::placeholder,
textarea::placeholder {
  color: #d8d8d8;
  font-weight: regular;
  font-size: 0.875rem;
}

.center {
  text-align: center;
}

.right {
  text-align: right;
}

.left {
  text-align: left;
}

.col02 {
  width: calc(50% - 10px);
}

.col03 {
  width: 31.3333333333%;
}

.col04 {
  width: calc(25% - 15px);
}

.col05 {
  width: 18%;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.flexWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.flexSb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.mb10 {
  margin-bottom: 10px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb90 {
  margin-bottom: 90px;
}

.mb100 {
  margin-bottom: 100px;
}

.mt10 {
  margin-top: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mt30 {
  margin-top: 30px;
}

.mt40 {
  margin-top: 40px;
}

.mt50 {
  margin-top: 50px;
}

.mt60 {
  margin-top: 60px;
}

.mt70 {
  margin-top: 70px;
}

.mt80 {
  margin-top: 80px;
}

.mt90 {
  margin-top: 90px;
}

.mt100 {
  margin-top: 100px;
}

.w10 {
  width: 10%;
}

.w20 {
  width: 20%;
}

.w30 {
  width: 30%;
}

.w40 {
  width: 40%;
}

.w50 {
  width: 50%;
}

.w60 {
  width: 60%;
}

.w70 {
  width: 70%;
}

.w80 {
  width: 80%;
}

.w90 {
  width: 90%;
}

.w100 {
  width: 100%;
}

.spOnly {
  display: none;
}

.lg_sOnly {
  display: none;
}

.ly_section {
  padding: 120px 0;
}

.ly_fluid {
  width: 100%;
}

.ly_cont {
  max-width: 1280px;
  margin: 0 auto;
}

/****************************/
/*         header           */
/****************************/
.bl_header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
}
.bl_header .ly_fluid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.bl_headerL {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: calc(100% - 200px);
  padding: 15px 30px 13px 40px;
}

.bl_headerNav {
  width: 85.7142857143%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.bl_headerNav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.bl_headerNav ul a {
  display: block;
}
.bl_headerNav ul:first-of-type {
  width: 100%;
}
.bl_headerNav ul:nth-of-type(2) {
  margin-left: 3.2142857143%;
}
.bl_headerNav ul:nth-of-type(2) li:nth-of-type(n+2) {
  margin-left: 15px;
}

.bl_headerUl li:nth-of-type(n+2) {
  margin-left: 3.2142857143%;
}
.bl_headerUl a {
  display: block;
  color: #fff;
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  color: #fff;
}
.bl_headerUl a:hover {
  opacity: 0.7;
}
.bl_headerUl img {
  display: block;
}

.bl_headerR {
  width: 200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.bl_headerR a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  font-size: 1.6rem;
  width: 100%;
  position: relative;
  -webkit-transform: rotate(0.3deg);
          transform: rotate(0.3deg);
}
.bl_headerR a:hover {
  opacity: 0.7;
}
.bl_headerR span {
  position: relative;
  -webkit-transform: rotate(0.3deg);
          transform: rotate(0.3deg);
  line-height: 1.3;
  padding: 0 0 0 25px;
}
.bl_headerR span:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -57px;
  -webkit-transform: translate(100%, -50%);
          transform: translate(100%, -50%);
  width: 37px;
  height: 35px;
  background-image: url(../img/common/line.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

/****************************/
/*          main            */
/****************************/
.bl_main {
  background-color: #fffc9c;
  margin-top: 78px;
  overflow: hidden;
}

.bl_mainTop {
  position: relative;
  padding: 135px 0 95px;
  background-image: url(../img/main/kv_bg.png);
  background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
}
.bl_mainTop img {
  display: block;
  margin: 0 auto;
}

.bl_mainBottom {
  position: relative;
  padding: 90px 0 110px;
  background-image: url(../img/main/greenBg_l.png), url(../img/main/greenBg_r.png);
  background-position: left, right;
  background-repeat: no-repeat;
  background-size: contain;
}

/****************************/
/*           can            */
/****************************/
.bl_can {
  background-image: url(../img/can/bg_dots.png);
  background-repeat: repeat;
  overflow: hidden;
}

.bl_canImgWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 60px;
}

.bl_canImgInner {
  position: relative;
  width: 32.03125%;
}
.bl_canImgInner img:first-of-type {
  width: 100%;
}

.bl_canImgInner_iconL {
  position: absolute;
  left: 8.5%;
  bottom: 0;
  z-index: 2;
  width: 20.2857142857%;
}

.bl_canImgInner_iconR {
  position: absolute;
  right: 8.5%;
  bottom: 0;
  z-index: 2;
  width: 24.4827586207%;
}

.bl_canImgWrap02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.bl_canImgWrap02 img {
  width: 33.59375%;
}
.bl_canImgWrap02 img:nth-of-type(2) {
  margin-left: 15px;
}
.bl_canImgWrap02 img:nth-of-type(3) {
  width: 25%;
  margin-left: 25px;
}

.bl_canLeanWrap {
  position: relative;
  max-width: 860px;
  margin: 50px auto 60px;
  background-image: url(../img/can/bg_circle.png);
  background-position: bottom;
  background-size: contain;
  background-repeat: no-repeat;
  padding: 60px 0;
  text-align: center;
}

.bl_canLeanDeco01 {
  position: absolute;
  bottom: 0;
  left: -20px;
}

.bl_canLeanDeco02 {
  position: absolute;
  bottom: 0;
  right: -130px;
}

.bl_canBottom {
  border: solid 3px #000;
  padding: 5px;
  background-color: #fff;
}

.bl_canBottomInner {
  position: relative;
  border: solid 1px #000;
  padding: 40px 2% 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.bl_canBottomInner .bl_txtWrap p:first-of-type {
  font-size: 2.4rem;
  letter-spacing: 0.04em;
  line-height: 1.75;
}
.bl_canBottomInner .bl_txtWrap p:nth-of-type(2) {
  font-size: 1.8rem;
  letter-spacing: 0.04em;
  margin-top: 20px;
}

/****************************/
/*          scene           */
/****************************/
.bl_scene {
  background-image: url(../img/scene/bg_blue.jpg);
  background-repeat: repeat;
}
.bl_scene .bl_imgWrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.bl_scene .bl_imgWrap img:nth-of-type(n+7) {
  margin-top: 20px;
}

[data-fancybox=group] img {
  width: 100%;
}

/****************************/
/*          aiboku          */
/****************************/
.bl_aiboku {
  background-image: url(../img/aiboku/bg_green.jpg);
  background-repeat: repeat;
}

/****** 開催日時 ******/
.bl_dateWrap {
  position: relative;
  padding: 4% 4.6% 4.6%;
  background-color: #fff;
  border-radius: 10px;
}

.bl_dateBottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

/** 開催日時　左 **/
.bl_dateL {
  width: 60.3448275862%;
}

.bl_dateL_inner {
  border-radius: 10px;
  overflow: hidden;
}
.bl_dateL_inner:nth-of-type(n+2) {
  margin-top: 40px;
}

.bl_dateDay {
  background-color: #fffed7;
  padding: 30px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-left: 80px;
  padding-right: 80px;
  position: relative;
}
.bl_dateDay p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 2.2rem;
  letter-spacing: 0.04em;
}
.bl_dateDay p:not(:last-of-type) {
  margin-right: 20px;
}

.bl_dateDay_unit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.bl_dateDay_unit:not(:last-of-type) {
  margin-right: 20px;
}

/** 開催日時　左 **/
.bl_dateR {
  margin-top: -10px;
  width: 34.4827586207%;
}

.bl_dlInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 0;
}
.bl_dlInner:nth-of-type(n+2) {
  border-top: dashed 1px #000;
}
.bl_dlInner dt {
  width: 80px;
  border-radius: 50px;
  background-color: #90be20;
  font-size: 1.8rem;
  text-align: center;
  color: #fff;
}
.bl_dlInner dd {
  width: calc(100% - 120px);
  font-size: 2.4rem;
}

/****** //開催日時 ******/
.bl_map {
  margin: 60px 0;
}
.bl_map img {
  display: block;
  width: 100%;
}

/****** 体験コース案内 ******/
.bl_aibokuWhiteBg {
  background-color: #fff;
  border-radius: 10px;
  padding: 90px 3% 60px;
}

.bl_course_guide {
  position: relative;
  background-color: #fffed7;
  border-radius: 10px;
  padding: 55px 3% 40px;
}

.bl_course_guide01 {
  background-color: #fff;
  border-radius: 10px;
  padding: 40px 3%;
}
.bl_course_guide01 .bl_dateL {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  border-right: dashed 1px #000;
}

.bl_course_guide02 {
  margin: 50px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.bl_course_guide02 img {
  max-width: 50%;
}

.bl_course_guide03 {
  background-color: #90be20;
  border-radius: 10px;
  padding: 20px 3%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.bl_ulWhite {
  margin-left: 25px;
}
.bl_ulWhite li {
  color: #fff;
}
.bl_ulWhite li:nth-of-type(n+2) {
  margin-top: 10px;
}

/****** A, B, C コース詳細 ******/
.bl_corseInfo {
  padding: 60px 0;
}
.bl_corseInfo:nth-of-type(n+3) {
  border-top: dashed 1px #000;
}

.bl_corseImgWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
.bl_corseImgWrap div {
  width: 28.5%;
}
.bl_corseImgWrap img {
  width: 100%;
}
.bl_corseImgWrap p {
  font-weight: normal;
  line-height: 1.55;
}

.bl_corseImgWrap__center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.bl_corseImgWrap__center .el_ungle {
  margin: 0 30px;
}

.bl_h4Wrap {
  text-align: center;
  max-width: 510px;
  margin: 0 auto;
  position: relative;
}

/****** ご参加いただく皆さまへ ******/
.bl_forEveryone {
  margin-top: 60px;
}

.bl_forImgWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 30px;
}
.bl_forImgWrap img {
  width: 31.4285714286%;
}

/****** 注意事項 ******/
.bl_forUl li {
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  font-weight: normal;
  padding-left: 1.6rem;
  text-indent: -1.6rem;
}
.bl_forUl li:nth-of-type(n+2) {
  margin-top: 10px;
}

/****************************/
/*          main            */
/****************************/
.bl_footer {
  padding: 60px 0 65px;
  background-color: #ef6f86;
}

.bl_footerCont {
  max-width: 980px;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 10px;
  padding: 55px 0 35px;
}

.bl_footerInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 30px 0;
}

.bl_footerInner_L {
  padding: 10px 0;
  width: 50%;
  border-right: dashed 1px #000;
}

.bl_footerInner_R {
  width: 50%;
  text-align: center;
}
.bl_footerInner_R p {
  font-weight: normal;
  line-height: 1;
  -webkit-transform: rotate(0);
          transform: rotate(0);
}

/****************************/
/*          ttl             */
/****************************/
/*** h2 ***/
.el_h2Wrap {
  margin-bottom: 50px;
}

.el_h2 {
  display: inline-block;
  font-size: 3.4rem;
  letter-spacing: 0.08em;
  font-weight: 500;
  position: relative;
}
.el_h2::before, .el_h2::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 31px;
  height: 64px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-animation: blinking 0.65s ease-in-out infinite alternate;
          animation: blinking 0.65s ease-in-out infinite alternate;
}
.el_h2::before {
  left: -50px;
  background-image: url(../img/common/ttldeco_l.png);
}
.el_h2::after {
  right: -60px;
  background-image: url(../img/common/ttldeco_r.png);
}

/*** h3 ***/
.el_ribbonWrap__absolute {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.el_ribbonWrap__static {
  position: static;
}

.el_ribbonWrapInner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.el_h3 {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #fff;
  font-size: 2.4rem;
  width: 100%;
  text-align: center;
}
.el_h3 span {
  font-size: 2.8rem;
}

.el_h4 {
  text-align: center;
  font-size: 2.4rem;
  letter-spacing: 0.08em;
  margin-bottom: 30px;
  font-weight: 500;
  line-height: 1.46;
}
.el_h4 span {
  font-size: 3rem;
  display: block;
}

/*** 第△回 ***/
.el_times {
  position: relative;
  text-align: center;
}
.el_times p {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -85%);
          transform: translate(-50%, -85%);
  font-size: 3.4rem;
  line-height: 1;
  letter-spacing: 0.08em;
}
.el_times p span {
  color: #ef6f86;
  font-size: 5rem;
}

/****************************/
/*          main            */
/****************************/
.el_mainDeco01 {
  position: absolute;
  top: 0;
  left: 0;
}

.el_mainDeco02 {
  position: absolute;
  top: 0;
  right: 0;
}

.el_mainTxt {
  font-size: 2.2rem;
  letter-spacing: 0.04em;
  line-height: 2;
}
.el_mainTxt span {
  color: #ef6f86;
}

/****** あいぼくふれんずとは？ ******/
.el_whatDeco {
  position: absolute;
}

/** left **/
.el_whatDeco__01 {
  top: 0;
  left: 30px;
}

.el_whatDeco__02 {
  top: 55px;
  left: 13px;
}

.el_whatDeco__03 {
  top: 188px;
  left: 105px;
}

.el_whatDeco__04 {
  top: 270px;
  left: 20px;
}

.el_whatDeco__05 {
  top: 370px;
  left: 15px;
}

.el_whatDeco__06 {
  top: 410px;
  left: 25px;
}

/** right **/
.el_whatDeco__07 {
  top: 25px;
  right: 58px;
}

.el_whatDeco__08 {
  top: 180px;
  right: 70px;
}

.el_whatDeco__09 {
  top: 255px;
  right: 100px;
}

.el_whatDeco__10 {
  top: 265px;
  right: -2px;
}

.el_whatDeco__11 {
  top: 442px;
  right: 0;
}

.el_whatDeco__12 {
  top: 555px;
  right: 5px;
}

.el_whatDeco__fenceL {
  bottom: 0;
  left: 0;
}

.el_whatDeco__fenceR {
  bottom: 0;
  right: 0;
}

/****************************/
/*          can             */
/****************************/
.el_canImgInner_txt {
  display: inline-block;
  text-align: center;
  font-size: 2.8rem;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

.el_canLeanTtl {
  font-size: 2.8rem;
  letter-spacing: 0.04em;
  color: #ef6f86;
  margin-bottom: 20px;
}

.el_canLeanTxt {
  font-size: 2.2rem;
  letter-spacing: 0.04em;
}

.el_canBottomImg {
  width: 48.4375%;
  margin-right: 20px;
}

/****************************/
/*         scene            */
/****************************/
.el_sceneDeco01 {
  position: absolute;
  top: -10px;
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}

.el_sceneDeco02 {
  position: absolute;
  top: -10px;
  right: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}

.el_button {
  position: relative;
  display: block;
  text-align: center;
  margin: 60px auto 0;
  font-family: "M PLUS Rounded 1c", "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 2.8rem;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #fff;
  background-color: #22ba4f;
  border: solid 3px #22ba4f;
  border-radius: 50px;
  padding: 27px 0;
  max-width: 540px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  -webkit-transform: rotate(0.3deg);
          transform: rotate(0.3deg);
}
.el_button span {
  padding: 0 0 0 48px;
}
.el_button::before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 37px;
  height: 40px;
  background-image: url(../img/common/line.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.el_button:hover {
  opacity: 0.7;
}
.el_button:hover:before {
  -webkit-transform: translateY(-60%);
          transform: translateY(-60%);
  -webkit-transform-origin: left bottom 0;
          transform-origin: left bottom 0;
}

/****************************/
/*         aiboku           */
/****************************/
.el_aibokuDeco01 {
  position: absolute;
  top: 0;
  left: 0;
}

.el_aibokuDeco02 {
  position: absolute;
  bottom: 0;
  right: 0;
}

/****** 開催日時 ******/
.el_dateTtl {
  text-align: center;
  font-size: 3rem;
  letter-spacing: 0.08em;
  margin: 25px 0 50px;
}

.el_dateDeco01 {
  position: absolute;
  top: 0;
  left: 40px;
  -webkit-transform: translateY(-40%);
          transform: translateY(-40%);
}

.el_dateDeco02 {
  position: absolute;
  top: 0;
  right: 30px;
  -webkit-transform: translateY(-90%);
          transform: translateY(-90%);
}

.el_dateDeco03 {
  position: absolute;
  top: 15px;
  right: -20px;
}

/** 開催日時　左 **/
.el_dateMonth {
  background-color: #90be20;
  font-size: 2.4rem;
  letter-spacing: 0.04em;
  color: #fff;
  text-align: center;
  line-height: 2;
}

.el_week {
  display: inline-block;
  font-size: 1.4rem;
  color: #fff;
  background-color: #4ec4f4;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  text-align: center;
  line-height: 1.4;
  margin-left: 5px;
}

.el_week__pink {
  background-color: #ef6f86;
}

/** 開催日時　右 **/
.el_dateR_ttl {
  font-size: 2.2rem;
  letter-spacing: 0.08em;
  padding-left: 15px;
  position: relative;
}
.el_dateR_ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7.5px 0 7.5px 7.5px;
  border-color: transparent transparent transparent #000000;
}

.el_txtLittleS {
  font-size: 1.6rem;
  letter-spacing: 0.08em;
}

.el_txtLittleS__ws {
  font-size: 1.6rem;
  letter-spacing: 0.04em;
}

/****** //開催日時 ******/
/****** 体験コース案内 ******/
.el_course__deco01 {
  position: absolute;
  top: 55px;
  left: 35px;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}

.el_course__deco02 {
  position: absolute;
  top: 55px;
  right: 45px;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}

.el_eachCorseTxt {
  font-size: 1.6rem;
  letter-spacing: 0.08em;
}
.el_eachCorseTxt span {
  font-size: 2.6rem;
}

.el_noteTxt {
  padding-left: 1.6rem;
  text-indent: -1.6rem;
}

/** コース **/
.el_partTtl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 30px;
}
.el_partTtl p {
  text-align: center;
  font-size: 2.4rem;
  letter-spacing: 0.08em;
  line-height: 2;
}
.el_partTtl p:first-of-type {
  width: calc(100% - 280px);
  color: #fff;
}
.el_partTtl p:nth-of-type(2) {
  width: 280px;
}

.el_corseBdeco {
  position: absolute;
  bottom: 0;
  right: 0;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.el_ungle {
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 0 20px 20px;
  border-color: transparent transparent transparent #ef6f86;
}

.el_ungle__green {
  border-color: transparent transparent transparent #90be20;
}

.el_ungle__blue {
  border-color: transparent transparent transparent #4ec4f4;
}

/** ご参加いただく皆さまへ **/
.el_forDeco01 {
  position: absolute;
  top: 50px;
  left: 40px;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}

/****************************/
/*         footer           */
/****************************/
.el_footerSubttl {
  font-size: 1.8rem;
  letter-spacing: 0.04em;
  font-weight: normal;
  text-align: center;
}

.el_footerButtonOuter {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  padding: 5px;
  border-radius: 50px;
  border: solid 1px transparent;
  width: 340px;
  margin: 0 auto;
}
.el_footerButtonOuter:hover {
  border: solid 1px #22ba4f;
}

.el_footerButton {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: solid 1px #22ba4f;
  border-radius: 50px;
  padding: 20px 0;
  font-size: 1.8rem;
  letter-spacing: 0.04em;
  line-height: 1;
  color: #22ba4f;
}
.el_footerButton img {
  margin-right: 10px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  max-width: 40px;
}
.el_footerButton:hover img {
  -webkit-transform: translateY(-5px);
          transform: translateY(-5px);
}

.el_footerTel {
  font-family: "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 3rem;
  letter-spacing: 0.08em;
  color: #ef6f86;
  display: block;
}
.el_footerTel img {
  margin-right: 10px;
}
.el_footerTel:hover {
  opacity: 0.7;
}

.el_footerLogo {
  display: block;
  margin: 45px auto 0;
  max-width: 517px;
}
.el_footerLogo img {
  width: 100%;
}

.el_footerButton_line {
  line-height: 1.4;
}

.hp_forJagg {
  display: block;
  -webkit-transform: rotate(0.03deg);
          transform: rotate(0.03deg);
}

/****************************/
/*          flex            */
/****************************/
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.flex_jc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.flex_sb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.flex_ac {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/****************************/
/*          text            */
/****************************/
.hp_fwMedium {
  font-weight: 500;
}

.hp_textIndent {
  text-indent: 1rem;
}

.hp_fwNormal {
  font-weight: normal;
}

/****************************/
/*        position          */
/****************************/
.center {
  text-align: center;
}

.right {
  text-align: right;
}

.left {
  text-align: left;
}

/****************************/
/*          marker            */
/****************************/
.hp_yellowMarker {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #fffc9c));
  background: linear-gradient(transparent 60%, #fffc9c 0%);
}

.hp_blueMarker {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #4ec4f4));
  background: linear-gradient(transparent 60%, #4ec4f4 0%);
}

.hp_pinkMarker {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #ef6f86));
  background: linear-gradient(transparent 60%, #ef6f86 0%);
}

/****************************/
/*          color           */
/****************************/
.hp_colorPink {
  color: #ef6f86;
}

.hp_colorGreen {
  color: #90be20;
}

.hp_colorBlue {
  color: #4ec4f4;
}

/****************************/
/*    background-color      */
/****************************/
.hp_bgPink {
  background-color: #ef6f86;
}

.hp_bgOrange {
  background-color: #f4b544;
}

.hp_bgGreen {
  background-color: #90be20;
}

.hp_bgBlue {
  background-color: #4ec4f4;
}

.hp_bgCream {
  background-color: #fffed7;
}

.hp_bgLine {
  background-color: #22ba4f;
}

/****************************/
/*           余白            */
/****************************/
.hp_pbNone {
  padding-bottom: 0;
}

.hp_mbNone {
  margin-bottom: 0;
}

/****************************/
/*           deco           */
/****************************/
.hp_full {
  position: relative;
  color: #B3B3B3;
}
.hp_full span {
  background-color: #B3B3B3;
}
.hp_full::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -10px;
  right: -41px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  height: 1px;
  background-color: #FF0000;
  z-index: 3;
}
.hp_full:first-of-type::after {
  content: "";
  position: absolute;
  left: -10px;
  top: 50%;
  -webkit-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
  width: 60px;
  height: 60px;
  background-image: url(../img/common/full.png);
  background-size: contain;
  background-position: center;
}

.hp_full__short::before {
  right: -10px;
}

.hp_aFew {
  position: relative;
}
.hp_aFew::before {
  content: "";
  position: absolute;
  top: -15px;
  left: 50%;
  width: 160px;
  height: 50px;
  background-image: url(../img/common/afew_txt.png);
  background-size: 75%;
  background-position: center;
  -webkit-transform: translate(-50%, -100%);
          transform: translate(-50%, -100%);
  text-align: center;
  font-size: 2rem;
  padding: 5px 10px;
  background-color: #FCEE21;
  border-radius: 50px;
  z-index: 6;
}
.hp_aFew::after {
  content: "";
  position: absolute;
  top: -23px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 12px 0 12px;
  border-color: #FCEE21 transparent transparent transparent;
  z-index: 6;
}

/****************************/
/*       アニメーション       */
/****************************/
.hp_blink {
  -webkit-animation: blinking 0.65s linear infinite alternate;
          animation: blinking 0.65s linear infinite alternate;
}

@-webkit-keyframes blinking {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes blinking {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.hp_rotate {
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-animation: rotating 0.65s ease-in-out infinite alternate;
          animation: rotating 0.65s ease-in-out infinite alternate;
}

@-webkit-keyframes rotating {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}

@keyframes rotating {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}
.hp_rotateL {
  -webkit-animation: rotatingL 0.65s ease-in-out infinite alternate;
          animation: rotatingL 0.65s ease-in-out infinite alternate;
}

@-webkit-keyframes rotatingL {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
}

@keyframes rotatingL {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
}
.hp_rotateR {
  -webkit-animation: rotatingR 0.65s ease-in-out infinite alternate;
          animation: rotatingR 0.65s ease-in-out infinite alternate;
}

@-webkit-keyframes rotatingR {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}

@keyframes rotatingR {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}
.hp_rotateR__trans {
  -webkit-animation: rotatingR__t 0.65s ease-in-out infinite alternate;
          animation: rotatingR__t 0.65s ease-in-out infinite alternate;
}

@-webkit-keyframes rotatingR__t {
  0% {
    -webkit-transform: rotate(0) translateY(-100%);
            transform: rotate(0) translateY(-100%);
  }
  100% {
    -webkit-transform: rotate(3deg) translateY(-100%);
            transform: rotate(3deg) translateY(-100%);
  }
}

@keyframes rotatingR__t {
  0% {
    -webkit-transform: rotate(0) translateY(-100%);
            transform: rotate(0) translateY(-100%);
  }
  100% {
    -webkit-transform: rotate(3deg) translateY(-100%);
            transform: rotate(3deg) translateY(-100%);
  }
}
.hp_moveL {
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-animation: movingL 0.65s ease-in-out infinite alternate;
          animation: movingL 0.65s ease-in-out infinite alternate;
}

@-webkit-keyframes movingL {
  0% {
    -webkit-transform: translateX();
            transform: translateX();
  }
  100% {
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px);
  }
}

@keyframes movingL {
  0% {
    -webkit-transform: translateX();
            transform: translateX();
  }
  100% {
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px);
  }
}
.hp_moveR {
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-animation: movingR 0.65s ease-in-out infinite alternate;
          animation: movingR 0.65s ease-in-out infinite alternate;
}

@-webkit-keyframes movingR {
  0% {
    -webkit-transform: translateX();
            transform: translateX();
  }
  100% {
    -webkit-transform: translateX(10px);
            transform: translateX(10px);
  }
}

@keyframes movingR {
  0% {
    -webkit-transform: translateX();
            transform: translateX();
  }
  100% {
    -webkit-transform: translateX(10px);
            transform: translateX(10px);
  }
}
.hp_moveR__transXY {
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-animation: movingR__xy 0.65s ease-in-out infinite alternate;
          animation: movingR__xy 0.65s ease-in-out infinite alternate;
}

@-webkit-keyframes movingR__xy {
  0% {
    -webkit-transform: translate(0, -100%);
            transform: translate(0, -100%);
  }
  100% {
    -webkit-transform: translate(5px, -100%);
            transform: translate(5px, -100%);
  }
}

@keyframes movingR__xy {
  0% {
    -webkit-transform: translate(0, -100%);
            transform: translate(0, -100%);
  }
  100% {
    -webkit-transform: translate(5px, -100%);
            transform: translate(5px, -100%);
  }
}
.hp_moveR__transXY2 {
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-animation: movingR__xy2 0.65s ease-in-out infinite alternate;
          animation: movingR__xy2 0.65s ease-in-out infinite alternate;
}

@-webkit-keyframes movingR__xy2 {
  0% {
    -webkit-transform: translate(0, -100%);
            transform: translate(0, -100%);
  }
  100% {
    -webkit-transform: translate(-5px, -100%);
            transform: translate(-5px, -100%);
  }
}

@keyframes movingR__xy2 {
  0% {
    -webkit-transform: translate(0, -100%);
            transform: translate(0, -100%);
  }
  100% {
    -webkit-transform: translate(-5px, -100%);
            transform: translate(-5px, -100%);
  }
}
.hp_moveR__transXY3 {
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-animation: movingR__xy3 0.65s ease-in-out infinite alternate;
          animation: movingR__xy3 0.65s ease-in-out infinite alternate;
}

@-webkit-keyframes movingR__xy3 {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  100% {
    -webkit-transform: translateX(100%) translateX(5px);
            transform: translateX(100%) translateX(5px);
  }
}

@keyframes movingR__xy3 {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  100% {
    -webkit-transform: translateX(100%) translateX(5px);
            transform: translateX(100%) translateX(5px);
  }
}
.hp_hituji {
  top: 50px;
  position: absolute;
  top: 120px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  left: calc(50% - 70px);
}

.js_pageTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  -webkit-transition: none;
  transition: none;
  z-index: 10;
}

.js_slideInL {
  -webkit-transform: translateX(-300px);
          transform: translateX(-300px);
}

.js_slideInR {
  -webkit-transform: translateX(300px);
          transform: translateX(300px);
}