@charset "UTF-8";
/*――――――――――――――――――――――――――――――――――――――――――――
/* ベースファイルを定義
――――――――――――――――――――――――――――――――――――――――――――――*/
/**********************************************************

ブレイクポイント

***********************************************************/
/* ============================================================================
 Update: 2010/01/05
 reset用CSS
============================================================================= */
* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

* > *:first-child {
  margin-top: 0;
}

* > *:last-child {
  margin-bottom: 0;
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote,
a, address, img, strong, figure,
del, ins, dfn, em, abbr, acronym, kbd, q, pre, cite, code, samp, sub, sup, var,
fieldset, form, label, legend,
table, caption, thead, tbody, tfoot, tr, th, td,
dl, dt, dd, ol, ul, li {
  margin: 0;
  border: 0;
  padding: 0;
  background: transparent;
  font-style: normal;
  font-size: 100%;
}

html {
  overflow-y: scroll;
}

ol, ul {
  list-style: none;
}

hr {
  display: none;
}

del, ins {
  text-decoration: none;
}

blockquote, q {
  quotes: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  text-decoration: none;
  color: inherit;
}

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden;
}

/***************************************************

css

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

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

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

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

.flex-wrap {
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* body
――――――――――――――――――――――――――――――――――――――――――――――*/
body {
  color: #333;
  font-size: 16px;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  line-height: 1.875;
  min-width: 1000px;
}

@media screen and (max-width: 767px) {
  body {
    min-width: inherit;
    font-size: 14px;
  }
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* pc sp 出し分けのためのcss
――――――――――――――――――――――――――――――――――――――――――――――*/
@media screen and (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
  img {
    image-rendering: -webkit-optimize-contrast;
  }
}

@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* デフォルトの設定
――――――――――――――――――――――――――――――――――――――――――――――*/
img {
  display: block;
  max-width: 100%;
}

a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

a:hover {
  opacity: 0.8;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* 共通のレイアウト
――――――――――――――――――――――――――――――――――――――――――――――*/
/*** コンテナ ***/
.container {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

/*** section ***/
.sec {
  padding: 80px 15px 80px;
  position: relative;
}

.sec-inner {
  max-width: 1000px;
}

.sec-ttl {
  margin: 0 0 50px;
  font-size: 30px;
}

@media screen and (max-width: 767px) {
  .sec {
    padding: 50px 15px 50px;
    position: relative;
  }
  .sec-inner {
    max-width: 500px;
  }
  .sec-ttl {
    margin: 0 0 30px;
    font-size: 30px;
  }
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* mixinを読み込み
――――――――――――――――――――――――――――――――――――――――――――――*/
/*――――――――――――――――――――――――――――――――――――――――――――
/* プラグインに関するcss
――――――――――――――――――――――――――――――――――――――――――――――*/
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: '';
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir='rtl'] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Arrows */
.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: 20px;
  height: 20px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  color: transparent;
  outline: none;
  background: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: .25;
}

.slick-prev:before,
.slick-next:before {
  font-family: 'slick';
  font-size: 20px;
  line-height: 1;
  opacity: .75;
  color: white;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}

[dir='rtl'] .slick-prev {
  right: -25px;
  left: auto;
}

.slick-prev:before {
  content: '←';
}

[dir='rtl'] .slick-prev:before {
  content: '→';
}

.slick-next {
  right: -25px;
}

[dir='rtl'] .slick-next {
  right: auto;
  left: -25px;
}

.slick-next:before {
  content: '→';
}

[dir='rtl'] .slick-next:before {
  content: '←';
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  /* width: 20px;
    height: 20px;
    padding: 5px; */
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* レイアウトに関するcss
――――――――――――――――――――――――――――――――――――――――――――――*/
.header {
  height: 100px;
  padding: 0 15px;
  background-color: #fffaa0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  position: relative;
  border-bottom: solid 5px #6c53aa;
}

.header--sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 99;
  width: 100%;
}

.header--fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  width: 100%;
}

.headerInner {
  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: 100%;
  height: 100%;
  max-width: 1122px;
  margin: 0 auto;
}

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

.headerLogo {
  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;
}

.headerLogo__link {
  display: block;
  color: #fff;
}

.headerLogo__img {
  height: 110px;
  margin-bottom: -20px;
}

.headerLead {
  margin: 0 0 0 30px;
  font-size: 18px;
  line-height: 1.3;
  font-weight: bold;
}

.headerLead span {
  font-size: 15px;
}

.header__tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  font-size: 40px;
  font-weight: bold;
  color: #e83c8d;
}

.header__tel span {
  margin: 0 5px 0 0;
  color: #333;
  font-size: 18px;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* headerNav
――――――――――――――――――――――――――――――――――――――――――――――*/
.headerNav {
  background-color: #e83c8d;
}

.headerNavList {
  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;
  color: #fff;
  width: 100%;
  max-width: 1020px;
  margin: 0 auto;
}

.headerNavList__item {
  margin: 0 10px;
  padding: 6px 0;
}

@media screen and (max-width: 767px) {
  .header {
    height: auto;
    padding: 12px 15px;
    background-color: #fffaa0;
    -webkit-transition: 0.2s;
    transition: 0.2s;
    position: relative;
    border-bottom: solid 5px #6c53aa;
  }
  .header--sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: 0;
    z-index: 99;
    width: 100%;
  }
  .header--fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    width: 100%;
  }
  .headerInner {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 1122px;
    margin: 0 auto;
  }
  .header__txtBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .headerLogo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .headerLogo__link {
    display: block;
    color: #fff;
  }
  .headerLogo__img {
    height: 55px;
    margin: 0;
  }
  .headerLead {
    margin: 0 0 8px 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    font-size: 11px;
    text-align: center;
    line-height: 1.5;
  }
  .headerLead span {
    font-size: 10px;
  }
  .header__tel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    height: 100%;
    font-size: 20px;
    font-weight: bold;
    color: #e83c8d;
    margin-left: 20px;
  }
  .header__tel span {
    color: #333;
    font-size: 14px;
  }
  .header__tel img {
    height: 22px;
  }
  /*――――――――――――――――――――――――――――――――――――――――――――
    /* nav
    ――――――――――――――――――――――――――――――――――――――――――――――*/
  .headerNav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 199;
    opacity: 0;
    visibility: hidden;
    width: 100%;
    height: 100vh;
    background-color: rgba(232, 60, 141, 0.9);
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .headerNav.js-active {
    opacity: 1;
    visibility: visible;
  }
  .headerNav .header__tel {
    margin: 0 0 20px 0;
    height: auto;
    color: #fff;
    font-size: 24px;
  }
  .headerNav .header__tel span {
    color: #fff;
  }
  .headerNavList {
    display: block;
    height: auto;
    padding: 0 20px;
  }
  .headerNavList__item {
    height: auto;
    margin: 0;
    padding: 10px 0;
    border-bottom: solid 1px #fff;
  }
  .headerNavList__item:first-child {
    border-top: solid 1px #fff;
  }
  .headerNavList__link {
    display: block;
    text-align: center;
    height: 100%;
    color: #fff;
    padding: 0 15px;
    font-size: 15px;
  }
  .headerNavList__link:hover {
    color: #fff;
    background-color: transparent;
    opacity: 1;
  }
  /*――――――――――――――――――――――――――――――――――――――――――――
    /* sp-header-btn
    ――――――――――――――――――――――――――――――――――――――――――――――*/
  .headerNavBtn {
    display: flex;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    justify-content: center;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: 999;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background-color: rgba(34, 34, 34, 0.4);
  }
  .headerNavBtn.js-active span:nth-child(2) {
    opacity: 0;
  }
  .headerNavBtn.js-active span:nth-child(1) {
    width: 30px;
    -webkit-transform: rotate(45deg) translateY(-3px);
            transform: rotate(45deg) translateY(-3px);
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
  }
  .headerNavBtn.js-active span:nth-child(3) {
    width: 30px;
    -webkit-transform: rotate(-45deg) translateY(3px);
            transform: rotate(-45deg) translateY(3px);
    -webkit-transform-origin: left top;
            transform-origin: left top;
  }
  .headerNavBtn span {
    display: block;
    width: 25px;
    height: 4px;
    background-color: #fff;
    border-radius: 5px;
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .headerNavBtn span + span {
    margin-top: 5px;
  }
}

.footer {
  margin-top: 80px;
  padding: 0 0 0;
  color: #fff;
}

.footerInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ec61a1;
}

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

.footerLogoBox img {
  height: 100px;
}

.footerLogoBox a {
  display: block;
  margin: 0 20px;
}

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

.footerNavList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 0 30px 0;
  color: #333;
  font-weight: bold;
}

.footerNavList__item {
  margin: 0 20px;
}

.footerBtmInfo {
  padding: 30px 20px;
}

.footerBtmInfo__ttl {
  margin: 0 0 15px 0;
  font-size: 20px;
  text-align: center;
}

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

.footerBtmInfoList__item dt {
  width: 100px;
}

@media screen and (max-width: 767px) {
  .footer {
    margin-top: 10%;
    padding: 0 0 0;
    color: #fff;
  }
  .footerInner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #ec61a1;
  }
  .footerLogoBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 0 30px 0;
  }
  .footerLogoBox img {
    width: 200px;
    height: auto;
  }
  .footerLogoBox a {
    display: block;
    margin: 0;
  }
  .footerLogoBox .footerLogo__jdac {
    margin-top: 20px;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .footerLogoBox .footerLogo__tomyhero {
    margin-top: 20px;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .footerLogo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .footerNavList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 0 30px 0;
    color: #333;
    font-weight: bold;
  }
  .footerNavList__item {
    margin: 0 20px;
  }
  .footerBtmInfo {
    padding: 30px 20px;
  }
  .footerBtmInfo__ttl {
    margin: 0 0 15px 0;
    font-size: 20px;
    text-align: center;
  }
  .footerBtmInfoList__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .footerBtmInfoList__item dt {
    width: 100px;
  }
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* componentに関するcss
――――――――――――――――――――――――――――――――――――――――――――――*/
/*** 波線 ***/
.bg-wave {
  position: absolute;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 130px;
  background-image: url("data:image/svg+xml;charset=utf-8,%3csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='160px' height='130px' viewBox='0 0 20 20' preserveAspectRatio='none'%3e%3cpath fill='%23ffffff' d='M-5-15q5 5 10 0t10 0 10 0v12q-5 5-10 0t-10 0-10 0zM-5 5q5 5 10 0t10 0 10 0v12q-5 5-10 0t-10 0-10 0z'/%3e%3c/svg%3e");
  background-repeat: repeat-x;
  background-size: 160px 130px;
}

.bg-wave.bg-top {
  top: -20px;
}

.bg-wave.bg-bottom {
  bottom: -65px;
}

@media screen and (max-width: 767px) {
  .bg-wave {
    position: absolute;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 65px;
    background-image: url("data:image/svg+xml;charset=utf-8,%3csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='80px' height='65px' viewBox='0 0 20 20' preserveAspectRatio='none'%3e%3cpath fill='%23ffffff' d='M-5-15q5 5 10 0t10 0 10 0v12q-5 5-10 0t-10 0-10 0zM-5 5q5 5 10 0t10 0 10 0v12q-5 5-10 0t-10 0-10 0z'/%3e%3c/svg%3e");
    background-repeat: repeat-x;
    background-size: 80px 65px;
  }
  .bg-wave.bg-top {
    top: -20px;
  }
  .bg-wave.bg-bottom {
    bottom: -32.5px;
  }
}

/*** 斜め線 ***/
.bg-slope {
  position: absolute;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 50px;
}

.bg-slope svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: #ff7a2b;
}

.bg-slope.bg-slope-top {
  top: -50px;
}

.bg-slope.bg-slope-bottom {
  bottom: -50px;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.btn-group {
  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;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 30px 0 -10px;
}

.btn, .btn-push {
  display: block;
  border: solid 1px transparent;
  margin: 0 10px 10px 0;
  padding: 6px 18px;
  background-color: #345;
  color: #fff;
  text-align: center;
  font-size: 16px;
  border-radius: 2px;
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
}

.btn-push {
  background-color: #f44336;
  -webkit-box-shadow: 0 5px 0 0 #d2190b;
          box-shadow: 0 5px 0 0 #d2190b;
  -webkit-transform: translateY(-5px);
          transform: translateY(-5px);
  color: #fff;
}

.btn-push:hover {
  -webkit-box-shadow: 0 1px 0 0 #d2190b;
          box-shadow: 0 1px 0 0 #d2190b;
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
}

.card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  background: #fff;
  -webkit-box-shadow: 0 2px 5px #ccc;
          box-shadow: 0 2px 5px #ccc;
}

.card__imgBox {
  position: relative;
}

.ratio-3-2 {
  position: relative;
}

.ratio-3-2::before {
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 66.66%;
  content: '';
}

.ratio-3-2 > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.card__content {
  padding: 20px;
}

.card__ttl {
  font-size: 20px;
  margin-bottom: 20px;
  text-align: center;
  color: #333;
}

.card__txt {
  color: #777;
  font-size: 14px;
  line-height: 1.5;
}

.card__link {
  text-align: center;
  border-top: 1px solid #eee;
  padding: 20px;
}

.card__link a {
  text-decoration: none;
  color: #0bd;
  margin: 0 10px;
}

.card__link a:hover {
  color: #0090aa;
}

.faqArea {
  position: relative;
  z-index: 5;
}

.faqList__item {
  overflow: hidden;
}

.faqList__item + .faqList__item {
  margin-top: 20px;
}

.faq__cat {
  margin: 50px 0 20px;
  font-size: 20px;
}

.faqList__q, .faqList__a {
  background-color: #fff;
  padding: 25px 50px 25px 60px;
  cursor: pointer;
  position: relative;
  font-size: 16px;
  font-weight: bold;
}

.faqList__q::before, .faqList__a::before {
  display: block;
  position: absolute;
  top: 2px;
  left: 0;
  width: 80px;
  height: 80px;
  margin: auto;
  background: url(../img/img_faq-q.png) no-repeat center center;
  content: '';
}

.faqList__q::after {
  display: block;
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  width: 20px;
  height: 30px;
  margin: auto;
  background: url(../img/icon_plus.png) no-repeat center center;
  content: '';
}

.faqList__q.js-active::after {
  background: url(../img/icon_minus.png) no-repeat center center;
}

.faqList__a {
  display: none;
  padding-top: 0;
  background-image: none;
  font-weight: 500;
}

.faqList__a::before {
  background: url(../img/img_faq-a.png) no-repeat center center;
}

@media screen and (max-width: 767px) {
  .faqArea {
    position: relative;
    z-index: 5;
  }
  .faqList__item {
    overflow: hidden;
  }
  .faqList__item + .faqList__item {
    margin-top: 20px;
  }
  .faq__cat {
    margin: 50px 0 20px;
    font-size: 20px;
  }
  .faqList__q, .faqList__a {
    background-color: #fff;
    padding: 25px 50px 25px 60px;
    cursor: pointer;
    position: relative;
    font-size: 16px;
    font-weight: bold;
  }
  .faqList__q::before, .faqList__a::before {
    display: block;
    position: absolute;
    top: 2px;
    left: 0;
    width: 40px;
    height: 40px;
    margin: auto;
    background: url(../img/img_faq-q.png) no-repeat center center;
    background-size: 100%;
    content: '';
  }
  .faqList__q::after {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 15px;
    height: 16px;
    margin: auto;
    background: url(../img/icon_plus.png) no-repeat center center;
    background-size: 100%;
    content: '';
  }
  .faqList__q.js-active::after {
    background: url(../img/icon_minus.png) no-repeat center center;
    background-size: 100%;
  }
  .faqList__a {
    display: none;
    padding-top: 0;
    background-image: none;
    font-weight: 500;
  }
  .faqList__a::before {
    background: url(../img/img_faq-a.png) no-repeat center center;
    background-size: 100%;
  }
}

.loaderBox {
  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;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  background-color: #fff;
}

.loader {
  display: inline-block;
  text-align: center;
}

@-webkit-keyframes rotate_pacman_half_up {
  0% {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
  }
  50% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
  100% {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
  }
}

@keyframes rotate_pacman_half_up {
  0% {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
  }
  50% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
  100% {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
  }
}

@-webkit-keyframes rotate_pacman_half_down {
  0% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  50% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
}

@keyframes rotate_pacman_half_down {
  0% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  50% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
}

@-webkit-keyframes pacman-balls {
  75% {
    opacity: 0.7;
  }
  100% {
    -webkit-transform: translate(-100px, -6.25px);
    transform: translate(-100px, -6.25px);
  }
}

@keyframes pacman-balls {
  75% {
    opacity: 0.7;
  }
  100% {
    -webkit-transform: translate(-100px, -6.25px);
    transform: translate(-100px, -6.25px);
  }
}

.pacman {
  position: relative;
}

.pacman > div:nth-child(2) {
  -webkit-animation: pacman-balls 1s -0.99s infinite linear;
  animation: pacman-balls 1s -0.99s infinite linear;
}

.pacman > div:nth-child(3) {
  -webkit-animation: pacman-balls 1s -0.66s infinite linear;
  animation: pacman-balls 1s -0.66s infinite linear;
}

.pacman > div:nth-child(4) {
  -webkit-animation: pacman-balls 1s -0.33s infinite linear;
  animation: pacman-balls 1s -0.33s infinite linear;
}

.pacman > div:nth-child(5) {
  -webkit-animation: pacman-balls 1s 0s infinite linear;
  animation: pacman-balls 1s 0s infinite linear;
}

.pacman > div:first-of-type {
  width: 0px;
  height: 0px;
  border-right: 25px solid transparent;
  border-top: 25px solid DarkOrange;
  border-left: 25px solid DarkOrange;
  border-bottom: 25px solid DarkOrange;
  border-radius: 25px;
  -webkit-animation: rotate_pacman_half_up 0.5s 0s infinite;
  animation: rotate_pacman_half_up 0.5s 0s infinite;
  position: relative;
  left: -30px;
}

.pacman > div:nth-child(2) {
  width: 0px;
  height: 0px;
  border-right: 25px solid transparent;
  border-top: 25px solid DarkOrange;
  border-left: 25px solid DarkOrange;
  border-bottom: 25px solid DarkOrange;
  border-radius: 25px;
  -webkit-animation: rotate_pacman_half_down 0.5s 0s infinite;
  animation: rotate_pacman_half_down 0.5s 0s infinite;
  margin-top: -50px;
  position: relative;
  left: -30px;
}

.pacman > div:nth-child(3),
.pacman > div:nth-child(4),
.pacman > div:nth-child(5),
.pacman > div:nth-child(6) {
  background-color: DarkOrange;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  width: 10px;
  height: 10px;
  position: absolute;
  -webkit-transform: translate(0, -6.25px);
  transform: translate(0, -6.25px);
  top: 25px;
  left: 70px;
}

.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -10px;
}

.col {
  margin-bottom: 20px;
  padding: 0 10px;
}

.row-pc-2 > .col {
  width: 50%;
  padding: 0 10px;
}

.row-pc-3 > .col {
  width: 33.33333%;
  padding: 0 10px;
}

.row-pc-4 > .col {
  width: 25%;
  padding: 0 10px;
}

.row-pc-5 > .col {
  width: 20%;
  padding: 0 10px;
}

@media screen and (max-width: 767px) {
  .row {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
  }
  .row-sp-1 > .col {
    width: 100%;
    padding: 0 10px;
  }
  .row-sp-2 > .col {
    width: 50%;
    padding: 0 10px;
  }
  .row-sp-3 > .col {
    width: 33.33333%;
    padding: 0 10px;
  }
  .row-sp-4 > .col {
    width: 25%;
    padding: 0 10px;
  }
  .row-sp-5 > .col {
    width: 20%;
    padding: 0 10px;
  }
}

.slider {
  overflow: hidden;
}

/**********************************************************

common

***********************************************************/
.sec-ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/**********************************************************

 mv

***********************************************************/
.mvArea__mainImg {
  width: 100%;
}

/**********************************************************

aboutArea

***********************************************************/
.aboutArea {
  background: url(../img/bg_polka-dots.png);
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .aboutArea .sec-ttl {
    margin: 0 0 40px 0;
    position: relative;
    z-index: 3;
  }
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* aboutFirst
――――――――――――――――――――――――――――――――――――――――――――――*/
.aboutFirst {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}

.aboutFirst__main1 {
  position: absolute;
  top: -220px;
  left: -100px;
}

.aboutFirst__main2 {
  position: absolute;
  top: -220px;
  right: -220px;
}

.aboutFirst__imgBox {
  width: 50%;
  position: relative;
  z-index: 2;
}

.aboutFirst__img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.aboutFirst__txtBox {
  width: 50%;
  background-color: #fff;
  z-index: 2;
  padding: 20px 30px;
}

.aboutFirst__txt span {
  color: #e83c8d;
}

@media screen and (max-width: 767px) {
  .aboutFirst {
    display: block;
  }
  .aboutFirst__main1 {
    position: absolute;
    top: -130px;
    left: -20px;
    width: 150px;
  }
  .aboutFirst__main2 {
    position: absolute;
    top: -120px;
    right: -80px;
    width: 220px;
  }
  .aboutFirst__imgBox {
    width: auto;
    position: relative;
    z-index: 2;
  }
  .aboutFirst__img {
    width: 100%;
    height: 300px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .aboutFirst__txtBox {
    width: auto;
    background-color: #fff;
    z-index: 2;
    padding: 20px 15px;
    position: relative;
    z-index: 2;
  }
  .aboutFirst__txt span {
    color: #e83c8d;
  }
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* .aboutLeifrasArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.aboutLeifrasArea {
  margin-top: 50px;
}

.aboutLeifras__ttl {
  margin: 0 0 35px 0;
  padding: 0 0 10px;
  font-size: 24px;
  text-align: center;
  border-bottom: dotted 3px #333;
}

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

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

.aboutLeifras__lead {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .aboutLeifrasArea {
    margin-top: 40px;
  }
  .aboutLeifras__ttl {
    margin: 0 0 35px 0;
    padding: 0 0 10px;
    font-size: 18px;
    text-align: center;
    border-bottom: dotted 3px #333;
  }
  .aboutLeifras__mainLogoBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 0 20px 0;
  }
  .aboutLeifras__mainLogoImg {
    width: 100px;
  }
  .aboutLeifras__logosBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 0 30px 0;
  }
  .aboutLeifras__lead {
    text-align: center;
  }
}

/**********************************************************

supportedArea

***********************************************************/
.supportedArea {
  background: url(../img/bg_jdac.png);
  overflow: hidden;
}

.supported__lead {
  margin: 0 0 40px 0;
  text-align: center;
}

.supported-logoBox {
  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;
  margin: 40px 0 0;
  position: relative;
}

.supported-logo__txt {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  text-align: center;
  font-weight: bold;
  font-size: 20px;
}

.supported-logo__logoImgBox {
  margin: 40px 0 0;
}

.supported__txt {
  margin: 40px 0  0;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .supportedArea {
    background: url(../img/bg_jdac.png);
    overflow: hidden;
  }
  .supported__lead {
    margin: 0 0 40px 0;
    text-align: center;
  }
  .supported-logoBox {
    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;
    margin: 40px 0 0;
    position: relative;
  }
  .supported-logo__txt {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
    font-weight: bold;
    font-size: 14px;
  }
  .supported-logo__logoImgBox {
    margin: 40px 15px 0;
  }
  .supported__txt {
    margin: 40px 0  0;
    text-align: center;
  }
}

/**********************************************************

charm

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

.charmList__item + .charmList__item {
  margin-top: 50px;
}

.charmList__imgBox {
  width: 320px;
  margin: 0 30px 0 0;
}

.charmList__item:nth-child(2n+1) .charmList__imgBox {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin: 0 0 0 30px;
}

.charmList__txtBox {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.charmList__item:nth-child(2n+1) .charmList__txtBox {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.charmList__ttl {
  margin: 0 0 10px 0;
  font-size: 24px;
  color: #e83c8d;
  font-weight: bold;
}

.charmBtmTxt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 50px;
  margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
  .charmArea .sec-ttl-img {
    height: 40px;
  }
  .charmList__item {
    display: block;
  }
  .charmList__item + .charmList__item {
    margin-top: 50px;
  }
  .charmList__imgBox {
    width: auto;
    margin: 0 0 15px 0;
  }
  .charmList__item:nth-child(2n+1) .charmList__imgBox {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin: 0 0 15px 0;
  }
  .charmList__img {
    margin: 0 auto;
  }
  .charmList__txtBox {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .charmList__item:nth-child(2n+1) .charmList__txtBox {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .charmList__ttl {
    margin: 0 0 10px 0;
    font-size: 18px;
    color: #e83c8d;
    font-weight: bold;
    text-align: center;
  }
  .charmList__lead {
    font-size: 14px;
  }
  .charmBtmTxt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 50px;
    margin-bottom: 50px;
  }
}

/**********************************************************

skillArea

***********************************************************/
.skillArea {
  padding-top: 150px;
  background: url(../img/bg_polka-dots-blue.png);
  overflow: hidden;
}

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

.skillList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -40px -50px;
}

.skillList__item {
  margin: 0 0 50px 0;
  padding: 0 40px;
}

@media screen and (max-width: 767px) {
  .skillArea {
    padding-top: 80px;
    background: url(../img/bg_polka-dots-blue.png);
    overflow: hidden;
  }
  .skillArea .sec-ttl-img {
    height: 40px;
  }
  .skill__lead {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 0 20px 0;
  }
  .skillList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 -5px;
  }
  .skillList__item {
    width: 50%;
    margin: 0 0 50px 0;
    padding: 0 5px;
  }
}

/**********************************************************

pointArea

***********************************************************/
.pointArea {
  overflow: hidden;
}

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

.pointList__item + .pointList__item {
  margin-top: 50px;
}

.pointList__imgBox {
  width: 420px;
  position: relative;
  z-index: 2;
}

.pointList__txtBox {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-left: -50px;
}

.pointList__ttl {
  margin-bottom: 20px;
  padding: 20px 0 20px 60px;
  color: #e83c8d;
  font-size: 24px;
  border-bottom: solid 1px #eee;
  font-weight: bold;
  line-height: 1.3;
}

.pointList__txt {
  padding: 0 0 0 20px;
}

@media screen and (max-width: 767px) {
  .pointArea {
    overflow: hidden;
  }
  .pointArea .sec-ttl-img {
    height: 40px;
  }
  .pointList__item {
    display: block;
  }
  .pointList__item + .pointList__item {
    margin-top: 50px;
  }
  .pointList__imgBox {
    width: auto;
    position: relative;
    z-index: 2;
    margin: 0 -30px 15px 0;
  }
  .pointList__txtBox {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-left: 0;
  }
  .pointList__ttl {
    margin-bottom: 10px;
    padding: 0;
    color: #e83c8d;
    font-size: 18px;
    border-bottom: none;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
  }
  .pointList__txt {
    padding: 0 0 0 0;
  }
}

/**********************************************************

schoolArea

***********************************************************/
.schoolArea {
  background-color: #fcfcfc;
  overflow: hidden;
}

.schoolPrefecture + .schoolPrefecture {
  margin-top: 25px;
}

.schoolPrefecture__ttl {
  padding: 5px 10px;
  font-size: 24px;
  border-bottom: solid 2px #ec5ca0;
  font-weight: bold;
  position: relative;
  cursor: pointer;
}

.schoolPrefecture__ttl::before {
  display: block;
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 13px 8px 0 8px;
  border-color: #ec5c9f transparent transparent transparent;
  content: '';
}

.schoolPrefecture.js-open .schoolPrefecture__ttl::before {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.schoolPlace {
  display: none;
  margin-top: 20px;
}

.schoolPlace + .schoolPlace {
  margin-top: 40px;
}

.schoolPlace__ttl {
  padding: 5px 10px;
  background-color: #f4ebf6;
  color: #6c53aa;
  font-size: 22px;
  ont-weight: bold;
}

.schoolPlaceList__item {
  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: 30px 10px;
  border-bottom: dashed 1px #7f7f7f;
}

.schoolPlaceList__ttl {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 22px;
  font-weight: bold;
}

.schoolPlaceList__cont {
  width: 480px;
  margin: 0 20px;
  font-size: 18px;
}

.schoolPlaceList__link {
  display: block;
  width: 240px;
  padding: 15px 15px;
  color: #fff;
  background-color: #ec5ca0;
  border-radius: 8px;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .schoolArea {
    overflow: hidden;
  }
  .schoolArea .sec-ttl-img {
    height: 40px;
  }
  .schoolPrefecture + .schoolPrefecture {
    margin-top: 25px;
  }
  .schoolPrefecture__ttl {
    padding: 5px 10px;
    font-size: 18px;
    border-bottom: solid 2px #ec5ca0;
    font-weight: bold;
    position: relative;
    cursor: pointer;
  }
  .schoolPrefecture__ttl::before {
    display: block;
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 13px 8px 0 8px;
    border-color: #ec5c9f transparent transparent transparent;
    content: '';
  }
  .schoolPrefecture.js-open .schoolPrefecture__ttl::before {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  .schoolPlace {
    display: none;
    margin-top: 20px;
  }
  .schoolPlace + .schoolPlace {
    margin-top: 40px;
  }
  .schoolPlace__ttl {
    padding: 5px 10px;
    background-color: #f4ebf6;
    color: #6c53aa;
    font-size: 18px;
    ont-weight: bold;
  }
  .schoolPlaceList__item {
    display: block;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 20px 10px;
    border-bottom: dashed 1px #7f7f7f;
  }
  .schoolPlaceList__ttl {
    margin: 0 0 12px 0;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    font-size: 18px;
    font-weight: bold;
  }
  .schoolPlaceList__cont {
    width: auto;
    margin: 0 0 15px 0;
    font-size: 14px;
  }
  .schoolPlaceList__link {
    display: block;
    width: 240px;
    margin: 0 auto;
    padding: 15px 15px;
    color: #fff;
    background-color: #ec5ca0;
    border-radius: 8px;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
  }
}

/**********************************************************

userVoiceArea

***********************************************************/
.userVoiceArea {
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(25%, #fffee5), color-stop(25%, #fffdcb), color-stop(50%, #fffdcb), color-stop(50%, #fffee5), color-stop(75%, #fffee5), color-stop(75%, #fffdcb), to(#fffdcb));
  background-image: linear-gradient(0deg, #fffee5 25%, #fffdcb 25%, #fffdcb 50%, #fffee5 50%, #fffee5 75%, #fffdcb 75%, #fffdcb);
  background-size: 18px 33px;
  overflow: hidden;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* voiceList
――――――――――――――――――――――――――――――――――――――――――――――*/
.voiceList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.voiceList__item {
  width: 100%;
  padding: 0 20px;
}

.voiceList__item + .voiceList__item {
  margin: 40px 0 0 0;
}

.voiceList__txt {
  padding: 20px 15px 20px 20px;
  position: relative;
  font-size: 18px;
}

.voiceList__txt::before {
  display: block;
  position: absolute;
  top: -8px;
  left: -8px;
  width: 100%;
  height: 100%;
  border: solid 2px #807455;
  content: '';
}

.voiceList__item:nth-child(1) .voiceList__txt {
  background-color: #fffbb3;
}

.voiceList__item:nth-child(2) .voiceList__txt {
  background-color: #ffe6e8;
}

.voiceList__item:nth-child(3) .voiceList__txt {
  background-color: #e4f7b7;
}

.voiceList__item:nth-child(4) .voiceList__txt {
  background-color: #d6f2ee;
}

@media screen and (max-width: 767px) {
  .userVoiceArea {
    overflow: hidden;
  }
  .userVoiceArea .sec-ttl-img {
    height: 40px;
  }
  .voice__ttl {
    width: 140px;
    margin: 0 auto 30px;
    position: relative;
  }
  .voice__ttl::before {
    display: block;
    position: absolute;
    top: -34px;
    right: -110px;
    bottom: 0;
    width: 122px;
    height: 175px;
    margin: auto;
    background: url(../img/img_voice-ttl-img.png) no-repeat center right;
    background-size: 100%;
    content: '';
  }
  .voice__ttlImg {
    margin: 0 auto 60px;
  }
  .voiceList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
  }
  .voiceList__item {
    width: 100%;
    padding: 0 20px;
  }
  .voiceList__txt {
    padding: 20px 15px 20px 20px;
    position: relative;
    font-size: 14px;
  }
  .voiceList__txt::before {
    display: block;
    position: absolute;
    top: -8px;
    left: -8px;
    width: 100%;
    height: 100%;
    border: solid 2px #807455;
    content: '';
  }
  .voiceList__item:nth-child(1) .voiceList__txt {
    background-color: #fffbb3;
  }
  .voiceList__item:nth-child(2) .voiceList__txt {
    background-color: #ffe6e8;
  }
  .voiceList__item:nth-child(3) .voiceList__txt {
    background-color: #e4f7b7;
  }
  .voiceList__item:nth-child(4) .voiceList__txt {
    background-color: #d6f2ee;
  }
}

/**********************************************************

flowArea

***********************************************************/
.flowArea {
  overflow: hidden;
}

.flow__lead {
  margin: 0 0 60px 0;
  font-size: 18px;
  text-align: center;
}

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

.flowList__item + .flowList__item {
  margin-top: 30px;
}

.flowList__imgBox {
  width: 220px;
  margin: 0 30px 0 0;
}

.flowList__ttlBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 10px 0;
}

.flowList__mainTtl {
  color: #e83c8d;
  font-size: 28px;
  font-weight: bold;
}

.flowList__subTtl {
  margin-left: 14px;
  font-size: 18px;
}

.flowList__txt {
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .flowArea {
    overflow: hidden;
  }
  .flowArea .sec-ttl-img {
    height: 40px;
  }
  .flow__lead {
    margin: 0 0 60px 0;
    font-size: 14px;
    text-align: center;
  }
  .flowList__item {
    display: block;
  }
  .flowList__item + .flowList__item {
    margin-top: 40px;
  }
  .flowList__imgBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: auto;
    margin: 0 0 10px 0;
  }
  .flowList__img {
    width: 110px;
    margin-left: 27px;
  }
  .flowList__ttlBox {
    display: block;
    margin: 0 0 10px 0;
  }
  .flowList__mainTtl {
    color: #e83c8d;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
  }
  .flowList__subTtl {
    margin-left: 14px;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
  }
  .flowList__txt {
    font-size: 14px;
    text-align: center;
  }
}

/**********************************************************

faqArea

***********************************************************/
.faqArea {
  background-image: linear-gradient(135deg, #ffffff 25%, #e7fbfa 25%, #e7fbfa 50%, #ffffff 50%, #ffffff 75%, #e7fbfa 75%, #e7fbfa);
  background-size: 33px 33px;
  overflow: hidden;
}

.faqList__q {
  padding: 26px 50px 26px 100px;
  background-color: transparent;
  font-size: 20px;
  font-weight: bold;
}

.faqList__a {
  padding: 26px 50px 26px 100px;
  background-color: transparent;
  font-size: 18px;
}

.faqList__a::before {
  top: 5px;
}

@media screen and (max-width: 767px) {
  .faqArea {
    background-image: linear-gradient(135deg, #ffffff 25%, #e7fbfa 25%, #e7fbfa 50%, #ffffff 50%, #ffffff 75%, #e7fbfa 75%, #e7fbfa);
    background-size: 33px 33px;
    overflow: hidden;
  }
  .faqArea .sec-ttl-img {
    height: 40px;
  }
  .faqList__q {
    padding: 10px 20px 10px 55px;
    background-color: transparent;
    font-size: 14px;
    font-weight: bold;
  }
  .faqList__a {
    padding: 10px 20px 10px 55px;
    background-color: transparent;
    font-size: 14px;
  }
  .faqList__a::before {
    top: 5px;
  }
}

/**********************************************************

contactArea

***********************************************************/
.contactArea {
  overflow: hidden;
}

.formList {
  margin: 0 0 30px 0;
}

.formList dt {
  width: 35%;
  font-size: 18px;
}

.formList dd {
  width: 65%;
}

.formList dd.dd_checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.formList dd.dd_checkbox label {
  width: 50%;
}

.formList label {
  font-size: 18px;
  cursor: pointer;
}

.formList input, .formList select, .formList textarea {
  padding: 8px 12px;
  font-size: 18px;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  border: solid 1px #cccccc;
}

.formList input[type="text"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.formList select {
  cursor: pointer;
}

.formList textarea {
  width: 100%;
  min-height: 140px;
  font-size: 16px;
}

.formList__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  padding: 15px 10px;
  border-bottom: solid 1px #cccccc;
}

.formList__item.ather {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.formList__item.address input {
  width: 100%;
}

.formList__item.area input {
  width: 400px;
}

.formList__item.zipcode .post-mark {
  margin-right: 5px;
}

.formList__required {
  display: inline-block;
  margin-left: 10px;
  padding: 2px 9px 3px;
  border-radius: 20px;
  background-color: #ec61a1;
  color: #fff;
  font-size: 14px;
}

.formList__privacyTtl {
  margin: 0 0 50px 0;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
}

.formList__privacyTxt {
  margin: 0 0 40px 0;
  text-align: center;
  font-size: 18px;
}

.formList__privacyAgreeBox {
  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;
  font-size: 18px;
}

.formList__confirmBtn {
  display: block;
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
  margin-top: 50px;
  padding: 15px 10px;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  background-color: #503987;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  text-align: center;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}

.formList__confirmBtn:hover {
  cursor: pointer;
  opacity: 0.8;
}

@media screen and (max-width: 767px) {
  .contactArea {
    overflow: hidden;
  }
  .contactArea .sec-ttl-img {
    height: 40px;
  }
  .formList {
    margin: 0 0 30px 0;
  }
  .formList dt {
    width: auto;
    margin: 0 0 10px 0;
    font-size: 16px;
  }
  .formList dd {
    width: auto;
  }
  .formList dd.dd_checkbox {
    display: block;
  }
  .formList dd.dd_checkbox label {
    display: block;
    width: auto;
  }
  .formList label {
    font-size: 14px;
    cursor: pointer;
  }
  .formList input, .formList select, .formList textarea {
    padding: 8px 12px;
    font-size: 13px;
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    border: solid 1px #cccccc;
  }
  .formList input[type="text"] {
    width: 100%;
  }
  .formList select {
    cursor: pointer;
  }
  .formList textarea {
    width: 100%;
    min-height: 140px;
    font-size: 12px;
  }
  .formList__item {
    display: block;
    padding: 15px 10px;
    border-bottom: solid 1px #cccccc;
  }
  .formList__item.ather {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .formList__required {
    display: inline-block;
    margin-left: 10px;
    padding: 2px 9px 3px;
    border-radius: 20px;
    background-color: #ec61a1;
    color: #fff;
    font-size: 10px;
  }
  .formList__privacyTtl {
    margin: 0 0 15px 0;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
  }
  .formList__privacyTxt {
    margin: 0 0 30px 0;
    text-align: left;
    font-size: 14px;
  }
  .formList__privacyAgreeBox {
    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;
    font-size: 14px;
  }
  .formList__privacyAgreeBox label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-left: 10px;
  }
  .formList__confirmBtn {
    display: block;
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
    margin-top: 30px;
    padding: 15px 10px;
    border: none;
    -webkit-box-shadow: none;
            box-shadow: none;
    background-color: #503987;
    color: #fff;
    font-weight: bold;
    font-size: 16px;
    text-align: center;
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  }
  .formList__confirmBtn:hover {
    cursor: pointer;
    opacity: 0.8;
  }
}
/*# sourceMappingURL=style.css.map */


#inquiry textarea {
    -webkit-appearance: none !important;
    padding: 10px !important;
    width: 100% !important;
    height: 8em  !important;
    box-shadow: none !important;
}


/*――――――――――――――――――――――――――――――――――――――――――――
/* fixedボタン
――――――――――――――――――――――――――――――――――――――――――――――*/
.joinBtnFixed {
  display: block;
  position: fixed;
  top: 300px;
  right: 0;
  z-index: 100;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.joinBtnFixed.js-active {
  opacity: 0;
  visibility: hidden;
}

@media screen and (max-width: 767px) {
  .joinBtnFixed {
    display: block;
    position: fixed;
    top: 300px;
    right: 0;
    z-index: 99;
  }
  .joinBtnFixed__img {
    width: 31px;
  }
}

/*211027追加*/
.formList select,
.formList input{ border-radius: 0 !important; box-shadow: none !important; margin: 0 !important;}
.formList textarea{ width: 100% !important; height: 140px !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important;}
.formList__confirmBtn{ border-radius: 0 !important; padding: 15px 10px !important; border: none !important; max-width: 320px !important; box-shadow: none !important; text-shadow: none !important; background: #503987 !important;}


/*スクールリスト*/
#school_list{ background: #efefef; padding: 40px;}
#school_list h2{ text-align: center; font-size: 24px; line-height: 1.25em; margin-bottom: 40px; position: relative;}
#school_list h2::after{ content: ""; width: 2em; height: 4px; position: absolute; left: 0; right: 0; bottom: -.5em; margin: auto; background: #ec61a1;}
#school_list table{ width: 100%; max-width: 920px; border-collapse: separate; border-spacing: 2px; margin: 0 auto;}
#school_list table th{ background: #ec61a1; color: #fff; width: 240px; padding: 0.5em 1em;}
#school_list table td{ background: #fff; padding: 0.5em 1em;}
#school_list table td ul{ letter-spacing: -1em;}
#school_list table td ul li{ display: inline-block; letter-spacing: normal; line-height: 1em;}
#school_list table td ul li::after{ content: "|"; margin: 0 0.5em;}
@media screen and (max-width:767px){
#school_list{ padding:10% 5%;}
#school_list h2{ font-size:4.5vw; margin-bottom:5%;}
#school_list table{ border-collapse:collapse; border-spacing:0;}
#school_list table th{ width:100%; display:block; font-size:3.5vw; padding:0.25em 1em;}
#school_list table td{ width:100%; display:block; font-size:3vw; padding:0.5em 1em;}
}


/*btn*/
.btn_sec{ background: #efefef; padding: 60px 0;}
.btn_sec .btn-group{ margin: 0 auto;}
@media screen and (max-width:767px){
.btn_sec{ padding:7.5%;}
}

/*safe*/
#safe_modal{ display: none;}
#safe_modal{ align-items: center; justify-content: center; position: fixed; left: 0; right: 0; top: 0; width: 100%; height: 100%; z-index: 9999;}
#safe_modal #safe_modal_bg{ content: ""; width: 100%; height: 100%; position: absolute; left: 0; top: 0;  background: rgba(0,0,0,0.9); cursor: pointer;}
#safe_modal ul{ background: #fff; width: 1080px; margin: 0 auto; padding: 30px; box-sizing: border-box; position: relative;}
#safe_modal ul span.safe_modal_close{ position: absolute; right: 0; top: -1.25em; font-size: 24px; font-weight: bold; color: #fff; cursor: pointer;}
.safe p.safe_modal_btn{ text-align: center; margin: 15px auto 0;}
.safe p.safe_modal_btn span{ display: inline-block; font-size: 18px; padding: .5em 2em; background: #002d75; color: #fff; font-weight: bold; border-radius: 50px; cursor: pointer; transition: 0.3s;}
.safe p.safe_modal_btn span:hover{ opacity: 0.7;}
.safe p.pdf_link{ text-align: center; margin-top: 1em; font-size: 15px; line-height: 1.25em;}
.safe p.pdf_link a{ color: #c83232; text-decoration: underline;}
.safe p.pdf_link a:hover{ text-decoration: none;}
.safe ul li:nth-child(2){ border-top: 1px solid #002d75;}
@media screen and (max-width:768px){
#safe_modal ul{ width:90%; max-height:84%; padding:2.5% 2.5% 0; overflow-x:hidden; overflow-y:scroll; -webkit-overflow-scrolling:touch;}
#safe_modal span.safe_modal_close{ position:absolute; right:7.5vw; top:2.5vw; font-size:7.5vw; font-weight:bold; color:#fff; cursor:pointer;}
.safe p.safe_modal_btn{ margin-top: 2.5%;}
.safe p.safe_modal_btn span{ font-size:3vw; line-height: 1em;}
.safe p.pdf_link{ font-size: 2.5vw;}
.safe ul li:nth-child(2){ border-top:none;}
.safe ul li:last-child{ border-bottom:none;}
}
.safe{ padding:50px 0; background: #efefef;}
.safe .inner{ padding:30px; margin: auto; max-width: 1080px; box-sizing: border-box; border-radius: 10px; border:2px solid #002d75;}
.safe h2{ text-align: center; margin:0 auto; padding: 0; font-size: 24px; letter-spacing: 0.05em; font-weight: bold; line-height: 1.5; color: #26acea;}
.safe h3{ text-align: center; margin:0 auto; padding: 0; letter-spacing: 0.1em;}
.safe h3 span{ display: inline-block; font-size: 20px; padding: .5em 2em; background: #002d75; color:#fff; font-weight: bold; border-radius: 50px;}
.safe ul{ margin-top: 30px;}
.safe ul li{ display: table; width: 100%; border-bottom: 1px solid #002d75;}
.safe ul li:first-child{ border-top: 1px solid #002d75;}
.safe ul li h4{ display: table-cell; vertical-align: middle; width: 180px; text-align: center; line-height: 1.25em; font-size: 20px; font-weight: bold; color: #002d75;}
.safe ul li figure{ display: table-cell; vertical-align: middle; width: 140px; padding:0 20px; text-align: center;}
.safe ul li figure img{ width: 100%; display: inline-block;}
.safe ul li p{ display: table-cell; vertical-align: middle; font-size: 15px; line-height: 1.5;}
@media screen and (max-width:768px){
.safe{ padding:10% 0;}
.safe .inner{ padding:2.5%; margin:0 3%; border-radius:1.5vw;}
.safe h2{ margin:0 auto; font-size:3.5vw; letter-spacing:0; line-height:1.25em;}
.safe h3{ margin:0 auto;}
.safe h3 span{ font-size:4vw;}
.safe ul{ margin-top:5%;}
.safe ul li{ display:block; padding:2.5% 0;}
.safe ul li h4{ display:block; width:100%; font-size:4vw;}
.safe ul li figure{ display:block; width:100%; padding:0; text-align:center;}
.safe ul li figure img{ width:25%;}
.safe ul li p{ display:block; font-size:3vw; margin: 0;}
}


/*220906追加*/
/*form*/
#form{ padding: 80px 0; background: #fafafa;}
#form h2{ text-align: center; font-size: 36px; line-height: 1.25em; padding-bottom: 0.5em; margin-bottom: 40px; position: relative;}
#form h2 span{ color: #e83c8d;}
#form h2:after{ content: ""; width: 160px; height: 3px; background: #e83c8d; position: absolute; left: 0; right: 0; bottom: 0; margin: auto;}
@media screen and (max-width:767px){
#form h2{ font-size: 6vw; margin-bottom: 10%;}
#form h2:after{ width: 20vw;}
}

#form .sec-inner{ padding: 40px; border: 4px solid #e83c8d; background: #fff;}
@media screen and (max-width:767px){
#form .sec-inner{ padding: 5%;}
}

#form .sec-inner p{ text-align: center;}
#form table{ padding: 20px; width: 100%;}
#form table th{ padding: 10px 10px 10px 20px; text-align: left; vertical-align: middle; border-top: 1px solid #c0c0c0;}
#form table th img{ display: inline;}
#form table th:before { content: "■"; color: #e83c8d; position: absolute; margin-left: -20px;}
#form table td.double_input input { width: 48%;}
#form table td.double_input input:first-child{ margin-right: 2%;}
#form table td.double_input{ padding: 5px 0;}
#form table td{ padding:20px 5px; border-top: 1px solid #c0c0c0; text-align: left;}
#form table td span{ display: block; text-align: left; font-size: 75%; color: #333; padding: 5px 12px;}

#form table input[type="text"],
#form table input[type="tel"],
#form table input[type="email"],
#form table input[type="date"],
#form table select { padding: 10px !important; width: 50%;}
#form table textarea{ padding: 10px !important; width: 90% !important; height: 5em !important; box-shadow: none !important;}
input, textarea { border: 1px solid #CCC;}
input:focus,
textarea:focus{ background-color: #fae6e6 !important;}
@media screen and (max-width:767px){
select{ -moz-appearance: none; -webkit-appearance: none; appearance: none; border-radius: 0; border: 0; margin: 0; padding: 0; background: none transparent; vertical-align: middle; font-size: inherit; color: inherit; box-sizing: content-box;}
select::-ms-expand { display: none;}
input, textarea, select{ font-size: 16px;}
select{ width:96%; background: transparent; position: relative; z-index: 1; padding:10px; border: 1px solid #ccc; border-radius: 2px;}
.selectWrap{ width: 100%; position: relative; display: inline-block;}
.selectWrap::after { content: ''; width: 6px; height: 6px; border: 0px; border-bottom: solid 2px #aaa; border-right: solid 2px #aaa; -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; top: 50%; right: 8%; margin-top: -4px;}
}

#form table td.radio{ text-align: left;}
#form table td.radio ul{ margin: 10px 0;}
#form table td.radio ul li{ width: 49%; display: inline-block;}
@media screen and (max-width:767px){
#form table td.radio ul { vertical-align: middle; margin: 0 auto; letter-spacing: -1em; font-size: 1px; text-align: center;}
#form table td.radio ul li { width:50%; display: inline-block; vertical-align: middle; letter-spacing: normal; font-size: 16px;}
}

#form table td.w88 input[type="text"]{ width: 88%;}
#form table td.w88 span { margin-top: 0; margin-right: 9px; margin-bottom: 0; margin-left: 9px;}
#form table td.checkbox { text-align: left;}
#form table td.checkbox p{ margin-left: 2%; margin-top: 15px;}
#form table td.questionnaire label,
#form table td.checkbox.last label{ vertical-align: bottom; display: inline-table;}
#form table textarea{ width: 98%;}
#form table td.last{ border-bottom: 1px solid #c0c0c0;}
#form p.policy{ overflow: scroll; overflow-x: hidden; height: 150px; background: #efefef; font-size: 75%; line-height: 1.6em; padding: 10px !important;}
#form table th img{ position: relative; top: 2px; margin-left: 5px;}	
@media screen and (max-width:767px){
#form table th{ display:block; width:100%; box-sizing:border-box; border: none; background: #efefef; padding: 10px 10px 10px 20px;}
#form table th br{ display: none;}
#form table td{ display:block; width:100%; border: none; box-sizing:border-box; padding: 10px 0 20px;}
#form table td.w88 input[type="text"]{ width: 75%;}
#form table td.w88 span{ margin-top: 0; margin-right: 9px; margin-bottom: 0; margin-left: 9px; display: inline-block;}
#form table td.radio.pt2 ul li{ width:100%; display:block; text-align: left; margin-bottom:10px;}
#form table td.radio.pt2 ul li:last-child{ margin-bottom: 0;}
}
@media (max-width: 767px) {
#form table input[type="image"]{ max-width: 100%;}
#form table input[type="text"] { width: 90%;}
}

@media (min-width: 768px) {
#form table th{ width: 260px;}
#form table td.radio ul li{ width: 49%; display: inline-block;}
#form table select { width: 50%;}
}
@media (max-width: 767px) {
#form table select { width: 90%;}
}

#form  form p #send { background-color: #FFF; margin: 40px auto 0; padding: 0px; border: none; cursor: pointer; transition: 0.3s;}
#form  form p #send:hover{ opacity: 0.7;}
#form  form p #send img{ height:auto; max-width:100%;}


/*thanks*/
#thanks h2{ text-align: center; font-size: 36px; line-height: 1.25em; padding-bottom: 0.5em; margin-bottom: 40px; position: relative;}
#thanks h2 span{ color: #e83c8d;}
#thanks h2:after{ content: ""; width: 160px; height: 3px; background: #e83c8d; position: absolute; left: 0; right: 0; bottom: 0; margin: auto;}
#thanks .sec-inner{ border: 1px solid #333; padding: 40px;}
@media screen and (max-width:767px){
#thanks h2{ font-size: 6vw; margin-bottom: 10%;}
#thanks h2:after{ width: 20vw;}
#thanks .sec-inner{ padding: 5%;}
}

/*camp*/
/*
.btn_sec{ display: none !important;}
*/
/*
.camp_ban2{ position: relative;; margin: 0 auto; background: url("https://sport-school.com/asset/camp_240808/cv.jpg") center center no-repeat; background-size: auto 100%; height: 26.5625vw;}
.camp_ban2 a{ position: absolute; right: 18.75vw; bottom: 2.75vw; display: inline-block; width: 24.475vw;}
.camp_ban2 a img{ width: 100%;}
@media screen and (max-width: 768px) {
.cv_btn{ padding: 0 0 15%;}
.camp_ban2{ position: relative;; margin: 0 auto; background: url("https://sport-school.com/asset/camp_240808/cv_sp.jpg") center top no-repeat; background-size: 100% auto; height: 62vw;}
.camp_ban2 a{ position: absolute; right: 0; bottom: 0; display: inline-block; width: 100%;}
}
.camp_ban2 a{ animation: buruburu 1s linear infinite;}
.camp_ban2 a:hover{ animation-play-state: paused;}
@keyframes buruburu {
0%{ transform: translateX(0);}
7%{ transform: translateX(-10px);}
14%{ transform: translateX(10px);}
20%{ transform: translateX(-10px);}
32%{ transform: translateX(10px);}
40%{ transform: translateX(0px);}
}
*/

.form_notice{ margin: 2em 1em 0; padding: 1em; background: #efefef; text-align: center;}
.form_notice h4{ background: #e83c8d; color: #fff; font-size: 116%; font-weight: bold; letter-spacing: 0.1em; padding: 0.66em 0.33em; margin: 0 auto;}
.form_notice p{ margin: 0; padding: 0.66em 1em 0 !important; font-weight: normal !important; color: #333 !important; word-break: break-all;}
@media (max-width: 767px) {
.form_notice { margin: 1em auto 0;}
.form_notice h4{ font-size: 3vw;}
.form_notice p{ font-size: 2.5vw; text-align: left; line-height: 1.4em;}
}

@media print, screen and (min-width:768px){
.smp{ display:none !important;}
}
@media screen and (max-width:767px){
.pc{ display:none !important;}
}
