@charset "UTF-8";

/* common
--------------------------------------------------------------------------------*/
h3,
h4,
h5,
h6 {
  font-family:
    "Zen Kaku Gothic New", YuGothic, "Yu Gothic M", "Yu Gothic Medium", "游ゴシック体", "游ゴシック Medium",
    "游ゴシック";
  line-height: 1.5;
}
h3.copy {
  /* 32px
  */
  font-size: 2.286em;
  font-weight: 900;
  text-align: center;
  color: #666666;
  letter-spacing: 0.07em;
  margin-bottom: 15px;
}
h3.copy2 {
  /* 36px */
  font-size: 2.57em;
  font-weight: 900;
  text-align: center;
  color: #666666;
  letter-spacing: 0.07em;
  margin-bottom: 10px;
}
h4.copy {
}
p.read {
  /* 18px */
  font-size: 1.286em;
  line-height: 1.7;
  text-align: center;
}
p.read2 {
}
p.txtEng {
  /* 26px */
  font-size: 1.86em;
  line-height: 1;
  font-family: "Bebas Neue", cursive, serif;
  color: #2364c8;
  text-align: center;
  letter-spacing: 0.15em;
  margin-bottom: 40px;
}
.font--gothic {
  font-family:
    "Zen Kaku Gothic New", YuGothic, "Yu Gothic M", "Yu Gothic Medium", "游ゴシック体", "游ゴシック Medium",
    "游ゴシック";
}
@media all and (min-width: 841px) {
}
@media screen and (min-width: 641px) and (max-width: 840px) {
}
@media screen and (max-width: 640px) {
  h3.copy,
  h3.copy2 {
    font-size: 2.1em;
    letter-spacing: 0.05em;
  }
  p.read {
    font-size: 1.2em;
  }
  p.txtEng {
    font-size: 1.7em;
    margin-bottom: 30px;
  }
}
/* title
--------------------------------------------------------------------------------*/
.titleWrap {
  position: relative;
  color: #fff;
  background-size: 100% 100%;
  background-image: url(../../images/title_bg.png);
  background-repeat: no-repeat;
  background-position: center top;
  padding-top: 60px;
  padding-bottom: 30px;
  margin-bottom: 50px;
  text-align: center;
}
.titleWrap h3 {
  color: #fff;
  /* 36px */
  font-size: 2.57em;
}
.titleWrap p {
}
@media all and (min-width: 841px) {
}
@media screen and (min-width: 641px) and (max-width: 840px) {
}
@media screen and (max-width: 640px) {
  .titleWrap {
    background-color: #2364c8;
    background-image: none;
    padding-top: 40px;
    padding-bottom: 0px;
    margin-bottom: 70px;
  }
  .titleWrap:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -35px;
    width: 100%;
    height: 100px;
    background-size: contain;
    background-image: url(../../images/title_bg.png);
    background-repeat: no-repeat;
    background-position: center bottom;
  }
  .titleWrap h3 {
    font-size: 2.4em;
  }
}
/* title2
--------------------------------------------------------------------------------*/
.titleWrap2 {
  position: relative;
  color: #fff;
  background-size: 100% 100%;
  background-image: url(../../images/title_bg2.png);
  background-repeat: no-repeat;
  background-position: center top;
  padding-top: 60px;
  padding-bottom: 50px;
  text-align: center;
}
.titleWrap2 h3 {
  color: #fff;
  /* 36px */
  font-size: 2.57em;
}
.titleWrap2 p {
  /* 26px */
  font-size: 1.86em;
  font-weight: 900;
}
@media all and (min-width: 841px) {
}
@media screen and (min-width: 641px) and (max-width: 840px) {
}
@media screen and (max-width: 640px) {
  .titleWrap2 {
    margin-top: 80px;
    background-color: #2364c8;
    background-image: none;
    padding-top: 0px;
    padding-bottom: 35px;
  }
  .titleWrap2:before {
    content: "";
    position: absolute;
    left: 0;
    top: -35px;
    width: 100%;
    height: 100px;
    background-size: contain;
    background-image: url(../../images/title_bg2.png);
    background-repeat: no-repeat;
    background-position: center top;
  }
  .titleWrap2 h3 {
    font-size: 2.2em;
  }
  .titleWrap2 p {
    font-size: 1.6em;
  }
}
/* main
--------------------------------------------------------------------------------*/
#mainVisual {
  background-color: #2364c8;
  position: relative;
  width: 100%;
  padding-top: 7%;
  max-height: 100vh;
}
#mainVisual #main_logo {
}
#mainVisual #main_logo h1 {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  z-index: 150;
}
#mainVisual h2 {
  position: absolute;
  left: 7%;
  bottom: -5%;
  width: 40%;
  max-width: 340px;
  pointer-events: none;
  z-index: 150;
  overflow: visible;
}
#mainVisual ul#mainVisual_slider {
}
@media all and (min-width: 841px) {
}
@media screen and (min-width: 641px) and (max-width: 840px) {
  #mainVisual #main_logo {
    padding-top: 50px;
    padding-bottom: 40px;
  }
}
@media screen and (min-width: 641px) {
  #mainVisual #main_logo {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    color: #fff;
    width: 100%;
    background-size: 100% 100%;
    background-image: url(../../images/title_bg.png);
    background-repeat: no-repeat;
    background-position: center top;
    padding-top: 45px;
    padding-bottom: 40px;
    text-align: center;
    z-index: 100;
  }
  #mainVisual #main_logo h1 {
    max-width: 550px;
    width: 60%;
  }
}
@media screen and (max-width: 640px) {
  #mainVisual {
    padding-top: 0;
  }
  #mainVisual #main_logo {
    position: relative;
    background-color: #2364c8;
    padding-top: 35px;
    padding-bottom: 0px;
  }
  #mainVisual #main_logo:before {
    content: "";
    width: 100%;
    height: 100px;
    position: absolute;
    bottom: -30px;
    background-size: contain;
    background-image: url(../../images/title_bg.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    z-index: 100;
  }
  #mainVisual #main_logo h1 {
    width: 85%;
  }
  #mainVisual h2 {
    left: -1%;
    bottom: 1%;
    width: 45%;
  }
}
/* メインスライダー
--------------------------------------------------------------------------------*/
#mainVisual_slider {
  width: 100%;
  overflow: hidden;
}
#mainVisual_slider .slick-list {
  overflow: visible;
}
#mainVisual_slider .sliderArea {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 25px;
}
#mainVisual_slider .slick-slide {
  margin: 0 5px;
  outline: none;
}
#mainVisual_slider .slick-slide img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
#mainVisual_slider .slick-prev,
#mainVisual_slider .slick-next {
  width: 74px;
  height: 70px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: 10;
}
#mainVisual_slider .slick-prev:before,
#mainVisual_slider .slick-next:before {
  content: "";
}
#mainVisual_slider .slick-prev {
  left: 7.5%;
  background-image: url(../../images/main/slide_arrow_01.png);
}
#mainVisual_slider .slick-next {
  right: 7.5%;
  background-image: url(../../images/main/slide_arrow_02.png);
}
#mainVisual_slider .slick-slide {
  -webkit-transition: all ease-in-out 0.3s;
  -o-transition: all ease-in-out 0.3s;
  transition: all ease-in-out 0.3s;
}
@media all and (min-width: 8401px) {
  #mainVisual_slider .slick-slide {
    max-height: 900px;
  }
}
@media screen and (min-width: 841px) and (max-width: 1000px) {
  #mainVisual_slider .slider div {
    height: 400px;
  }
}
@media screen and (min-width: 641px) and (max-width: 840px) {
  #mainVisual_slider .slick-prev,
  #mainVisual_slider .slick-next {
    width: 74px;
    height: 70px;
  }
}
@media screen and (max-width: 640px) {
  #mainVisual_slider .slider div {
  }
  #mainVisual_slider .slick-slide * {
    vertical-align: bottom;
  }
  #mainVisual_slider .slick-slide {
    margin: 0;
  }
  #mainVisual_slider .slick-prev,
  #mainVisual_slider .slick-next {
    width: 37px;
    height: 35px;
  }
}
/* concept
--------------------------------------------------------------------------------*/
#concept {
  background-color: #d0f0fa;
  background-image: url(../../images/concept_bg.jpg);
  background-repeat: no-repeat;
  background-position: center bottom;
  /*
 background-attachment: fixed;
  */
  background-size: contain;
  padding-top: 100px;
  background-attachment: fixed;
}
#concept .inner {
  max-width: 1000px;
  padding-top: 80px;
  background-color: rgba(255, 255, 255, 0.8);
}
#concept .inner h3 {
}
#conceptWrap {
  padding-bottom: 70px;
  border-bottom: 1px solid #ccc;
}
#conceptWrap .read {
  line-height: 2.3;
}
@media all and (max-height: 1000px) {
  /* 天地低い用*/
  #concept {
    background-position: right bottom;
    background-size: cover;
  }
}
@media screen and (min-width: 641px) and (max-width: 840px) {
  #concept .inner {
    padding-top: 50px;
  }
}
@media screen and (max-width: 640px) {
  #concept {
    padding-top: 0px;
  }
  #concept .inner {
    padding-top: 40px;
  }
  #concept .inner h3 {
  }
  /**/
  #conceptWrap {
    padding-bottom: 50px;
  }
}
/* training
--------------------------------------------------------------------------------*/
#training {
}
#training .inner {
  padding-top: 70px;
  max-width: 1000px;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 50px;
}
#training .inner #concept_img {
  width: 100%;
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 50px;
}
#training .inner h3 {
}
#training .inner .txtEng {
}
#training .inner .read {
  position: relative;
  z-index: 10;
  text-shadow:
    0px 0px 1px #fff,
    0px 0px 2px #fff,
    0px 0px 3px #fff,
    0px 0px 5px #fff,
    0px 0px 7px #fff,
    0px 0px 10px #fff,
    0px 0px 15px #fff,
    0px 0px 20px #fff,
    0px 0px 25px #fff;
}
#training #trainingBg {
  position: relative;
  margin-top: -200px;
}
@media all and (min-width: 841px) {
}
@media screen and (min-width: 641px) and (max-width: 840px) {
}
@media screen and (max-width: 640px) {
  #training .inner {
    padding-top: 40px;
    padding-bottom: 0px;
  }
  #training #trainingBg {
    margin-top: -30px;
  }
  #training .inner #concept_img {
    margin-bottom: 30px;
  }
}
/* concept loopSlider
--------------------------------------------------------------------------------*/
#concept #loopSlider {
  clear: both;
  width: 100%;
  padding-top: 7%;
  padding-bottom: 25%;
}
#concept #loopSlider ul li {
  max-width: 315px;
  /*
 width: 14%;
 float: left;
 margin-left: 1.3%;
 margin-right: 1.3%;
  */
}
#concept #loopSlider * {
  pointer-events: none;
  outline: none;
  vertical-align: bottom;
}
@media all and (min-width: 841px) {
}
@media screen and (min-width: 641px) and (max-width: 840px) {
}
@media screen and (max-width: 640px) {
  #concept #loopSlider {
    padding-top: 0;
    padding-bottom: 0;
  }
}
/* useguide
--------------------------------------------------------------------------------*/
#useguide {
  padding-top: 0px;
}
#useguide .inner {
  position: relative;
}
#useguide .titleWrap .inner #useguideIllust1 {
  position: absolute;
  left: 10%;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 8%;
}
#useguide .titleWrap2 .inner #useguideIllust2 {
  width: 18%;
  right: 3%;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
#useguide .inner h3 {
}
#useguide .inner .read {
  margin-bottom: 25px;
}
#useguide .inner #useList {
}
#useguide .inner #useList ul {
}
#useguide .inner #useList ul li {
  width: 31%;
  float: left;
  margin-left: 3.5%;
}
#useguide .inner #useList ul li:first-child {
  margin-left: 0;
}
#useguide .inner #useList ul li h4 {
  width: 100%;
  height: 50px;
  line-height: 52px;
  text-align: center;
  /* 24px
 font-size: 1.715em;
 */
  /* 22px */
  font-size: 1.572em;
  color: #fff;
  font-weight: 900;
  border-radius: 10px 10px 0 0 / 10px 10px 0 0;
  -webkit-border-radius: 10px 10px 0 0 / 10px 10px 0 0;
  -moz-border-radius: 10px 10px 0 0 / 10px 10px 0 0;
  background-image: url(../../images/use_head_bg.png);
  background-repeat: repeat;
  background-size: contain;
}
#useguide .inner #useList ul li h4 small {
  font-size: 0.8em;
  font-weight: 900;
}
#useguide .inner #useList ul li figure {
}
#useguide .inner #useList ul li h5 {
  position: relative; /* 18px */
  font-size: 1.286em;
  font-weight: 900;
  line-height: 1.6;
  text-align: center;
  padding-top: 15px;
  padding-bottom: 15px;
  margin-bottom: 20px;
}
#useguide .inner #useList ul li h5:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100px;
  height: 1px;
  border-bottom: 1px dashed #2364c8;
}
#useguide .inner #useList ul li p {
}
/*　チケット制　*/
#useTicket {
  text-align: center;
  clear: both;
  width: 100%;
  background-color: #e9eff9;
  border: 1px solid #2364c8;
  padding-top: 30px;
  padding-right: 35px;
  padding-left: 35px;
  padding-bottom: 35px;
}
#useTicket .useTicket__ttl {
  color: #d0121b;
  font-weight: 900;
  margin-bottom: 15px;
}
#useTicket .useTicket__ttl small {
  font-weight: 900;
  font-size: 0.7em;
}
#useTicket .useTicket__category {
  /* 16px */
  font-size: 1.143em;
  font-weight: 900;
  color: #d0121b;
  background-color: #fff;
  border: 1px solid #d0121b;
  padding-top: 3px;
  padding-bottom: 3px;
  border-radius: 50px;
}
#useTicket .useTicket__price {
  margin-top: 15px;
}
#useTicket .useTicket__price li {
  /* 16px */
  font-size: 1.143em;
  font-weight: 900;
}
.num {
  font-weight: 900;

  font-family:
    "Zen Kaku Gothic New", YuGothic, "Yu Gothic M", "Yu Gothic Medium", "游ゴシック体", "游ゴシック Medium",
    "游ゴシック";
  line-height: 1;
}
#useTicket .useTicket__price li .num {
  /* 20px */
  font-size: 1.4286em;
  color: #d0121b;
}
#useTicket .useTicket__price li .num + small {
  color: #d0121b;
  font-weight: 900;
}
/* */
#useTicket #useTicketTxt {
  text-align: center;
  width: 90%;
  max-width: 318px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 10px;
}
#useTicket #useTicketTxt p {
  margin-bottom: 15px;
}
#useTicket #useTicketTxt p.capt {
  display: inline-block;
  text-align: left;
}

/*　その他のサービス　*/
#useEtc {
  text-align: center;
}
#useEtc .copyA {
  margin-bottom: 15px;
}
#useEtc .capt,
#useEtc .capt2 {
  text-align: left;
}
#useEtc .capt2 span {
  font-weight: 600;
}
#useEtc .capt2.flex {
  justify-content: flex-start;
}
#useEtc .capt2.flex ul {
}
#useEtc .capt2.flex ul:first-child {
  margin-right: 30px;
}
#useEtc .capt2.flex ul li {
}
#useEtc dl {
  float: left;
}
#useEtc dl dt {
  background-color: #a2d4e6;
  padding-top: 10px;
  padding-bottom: 10px;
}
#useEtc dl dt h4 {
  font-size: 1.43em;
  font-weight: 900;
}
#useEtc dl dt h4 span {
  display: block;
  font-size: 0.7em;
}
#useEtc dl dt h4 small {
  font-size: 0.7em;
  font-weight: 900;
}
#useEtc dl dd {
  padding-top: 20px;
  padding-bottom: 20px;
}
#useEtc dl dd ul {
  text-align: center;
}
#useEtc dl dd ul li {
  display: inline-block;
  width: calc((100% - 40px) / 3);
}
#useEtc dl dd h5 {
  color: #2364c8;
  position: relative;
  /* 18px */
  font-size: 1.286em;
  font-weight: 900;
  padding-bottom: 10px;
  margin-bottom: 15px;
}
#useEtc dl dd h5:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 50px;
  height: 1px;
  border-bottom: 1px dashed #2364c8;
}
#useEtc dl dd p.price {
  /* 18p
 font-size: 1.286em;
  x */
  /* 21px */
  color: #2364c8;
  font-size: 1.5em;
  font-weight: 900;
  line-height: 1.3;
}
#useEtc dl dd .price .num {
  /* 21→23px */
  font-size: 1.1em;
}
#useEtc dl dd .price small {
  font-size: 0.8em;
  font-weight: 900;
  line-height: 1;
}
#useEtc dl dd .price_sub {
  color: #2364c8;
  font-weight: 900;
  font-size: 1.1em;
}
#useEtc dl dd .read {
  /* 16px */
  font-size: 1.143em;
  line-height: 1.6;
  margin-bottom: 15px !important;
}
#useEtc dl dd .capt,
#useEtc dl dd .capt_indent {
  margin-top: 15px;
}
/**/
.useEtc1 {
  width: 100%;
}
.useEtc2 {
  clear: both;
  width: 49%;
  margin-right: 2%;
  margin-bottom: 40px;
}
/*
#useEtc3 dl {
 width: 32%;
 margin-left: 2%;
 margin-bottom: 40px;
}
#useEtc3 dl:nth-child(3n+1) {
 clear: both;
 margin-left: 0;
}
*/
#useEtc2 dl {
  width: calc((100% - 40px) / 3);
  margin-bottom: 40px;
}
#useEtc2 dl:nth-child(2n + 1) {
  clear: both;
  margin-left: 0;
}
@media all and (min-width: 841px) {
}
@media screen and (min-width: 641px) and (max-width: 840px) {
}
@media screen and (max-width: 840px) {
  #useEtc dl {
    width: 100%;
  }
  #useEtc dl + dl {
  }
  #useEtc dl dd {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 640px) {
  #useguide {
    padding-top: 0px;
  }
  #useguide .titleWrap2 .inner #useguideIllust2 {
    display: none;
  }
  #useguide .inner #useList ul li {
    float: none;
    width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 40px;
  }
  #useguide .inner #useList ul li h4 {
    font-size: 1.7em;
  }
  #useguide .inner #useList ul li h5 {
    font-size: 1.4em;
    padding-top: 20px;
    padding-bottom: 20px;
    margin-bottom: 20px;
  }

  /*　チケット制　*/
  #useTicket {
    padding-top: 20px;
    padding-right: 20px;
    padding-left: 20px;
    padding-bottom: 20px;
  }
  #useTicket .useTicket__ttl {
    margin-bottom: 0px;
  }
  #useTicket .useTicket__category {
    font-size: 1.143em;
    padding-top: 3px;
    padding-bottom: 3px;
    border-radius: 50px;
  }
  #useTicket .col2 {
    margin-top: 20px !important;
  }
  #useTicket .useTicket__price {
    margin-top: 10px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  /**/
  #useEtc {
  }
  #useEtc dl dd {
    padding-top: 10px;
    padding-bottom: 0;
  }
  #useEtc dl dd h5,
  #useEtc dl dd p.price {
    padding-bottom: 0px;
    margin-bottom: 0px;
    display: inline-block;
  }
  #useEtc dl dd h5:before {
    content: none;
  }
  #useEtc dl dd p.read {
    margin-bottom: 10px !important;
  }
  #useEtc dl dd ul li {
    float: none;
    width: 100%;
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px dashed #2364c8;
  }
  .useEtc1 {
  }
  .useEtc2,
  #useEtc2 dl,
  #useEtc3 dl {
    float: none;
    width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  /**/
  #useEtc .capt2.flex {
  }
  #useEtc .capt2.flex ul {
  }
  #useEtc .capt2.flex ul:first-child {
    margin-right: 0px;
  }
  #useEtc .capt2.flex ul li {
    margin-top: 7px;
  }
  #useEtc .capt2.flex ul li span {
    display: block;
  }
}
/* about
--------------------------------------------------------------------------------*/
#about {
  clear: both;
  width: 100%;
  padding-top: 80px;
  padding-bottom: 80px;
  background-image: url(../../images/about_bg.png);
  background-repeat: repeat;
  background-position: center top;
}
#about .inner {
  max-width: 1000px;
  padding-top: 80px;
  background-color: rgba(255, 255, 255, 0.9);
  padding-bottom: 70px;
}
#about .inner2 {
  width: 100%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
#about > .inner > h3 {
  color: #2364c8;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 70px;
}
#about > .inner > h3:before {
  content: "";
  width: 100%;
  max-width: 598px;
  /*
 height: 101px;
 background-image: url(../../images/about_title.png);
 background-repeat: no-repeat;
 background-position: center center;
 position: absolute;
 top: 50%;
 left: 50%;
 -webkit-transform: translate(-50%, -50%);
 transform: translate(-50%, -50%);
 */
}
/* about1 */
#about1 {
}
#about1 #about1Txt {
  float: left;
  width: 60%;
  /* 15px
 font-size: 1.072em; */
  line-height: 2;
}
#about1 #about1Photo {
  float: right;
  max-width: 290px;
  width: 35.4%;
}
#about1 #about1List {
  clear: both;
  width: 100%;
  border: 1px solid #2364c8;
  padding-top: 30px;
  padding-right: 25px;
  padding-left: 25px;
  padding-bottom: 20px;
}
#about1 #about1List ul {
}
#about1 #about1List ul li {
  text-indent: -1em;
  padding-left: 2em;
  margin-bottom: 10px;
}
#about1 #about1List ul li:before {
  content: "■";
  color: #2364c8;
}
@media all and (min-width: 841px) {
}
@media screen and (min-width: 641px) and (max-width: 840px) {
  #about .inner {
    padding-top: 50px;
    padding-bottom: 40px;
  }
  #about > .inner > h3 {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 640px) {
  #about > .inner > h3 {
    margin-bottom: 30px;
  }
  #about1 #about1Txt,
  #about1 #about1Photo {
    float: none;
    max-width: 100%;
    width: 100%;
  }
  #about1 #about1Photo {
    margin-bottom: 20px;
  }
  #about1 #about1List {
    padding-top: 20px;
    padding-right: 15px;
    padding-left: 15px;
    padding-bottom: 10px;
  }
}
/* about2
--------------------------------------------------------------------------------*/
#about2 {
}
#about2 h4 {
  margin-bottom: 20px;
}
#about2 dl {
  width: 100%;
  clear: both;
  margin-bottom: 40px;
}
#about2 dl:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
#about2 dl dt {
  width: 47.6%;
  max-width: 350px;
  padding-top: 2.5em;
}
#about2 dl dt h5 {
  color: #555;
  font-size: 2em;
  font-weight: 900;
  text-align: center;
  margin-bottom: 10px;
}
#about2 dl dt p {
  line-height: 2;
}
#about2 dl dt p.capt {
  margin-top: 1.5em;
  line-height: 1.7;
}
#about2 dl dd {
  width: 48.75%;
  max-width: 390px;
}
#about2_dl1,
#about2_dl3 {
}
#about2_dl1 dt,
#about2_dl3 dt {
  float: right;
}
#about2_dl1 dd,
#about2_dl3 d {
  float: left;
}
#about2_dl2 {
}
#about2_dl2 dt {
  float: left;
}
#about2_dl2 dd {
  float: right;
}
@media all and (min-width: 841px) {
}
@media screen and (min-width: 641px) and (max-width: 840px) {
}
@media screen and (max-width: 640px) {
  #about2 h4 {
    margin-bottom: 0px;
  }
  #about2 dl dt,
  #about2 dl dd {
    float: none;
    width: 100%;
    max-width: 100%;
    padding-top: 2em;
  }
  #about2 dl dt h5 {
    font-size: 2em;
    margin-bottom: 10px;
  }
  #about2 dl dt p {
  }
  #about2 dl dt p.capt {
    margin-top: 1.5em;
    line-height: 1.7;
  }
}
/* about3
--------------------------------------------------------------------------------*/
#about3 {
  clear: both;
  width: 100%;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
#about3 h4 {
  background-color: #2364c8;
  color: #fff;
  /* 18px */
  font-size: 1.286em;
  font-weight: 900;
  text-align: center;
  letter-spacing: 0.1em;
  padding-top: 5px;
  padding-bottom: 5px;
  border-radius: 10px 10px 0 0 / 10px 10px 0 0;
  -webkit-border-radius: 10px 10px 0 0 / 10px 10px 0 0;
  -moz-border-radius: 10px 10px 0 0 / 10px 10px 0 0;
  background-image: url(../../images/use_head_bg.png);
  background-repeat: repeat;
  background-size: contain;
}
#about3 ul {
  border: 1px solid #46aacd;
  padding-top: 30px;
  padding-right: 30px;
  padding-left: 30px;
}
#about3 ul li {
  float: left;
  max-width: 400px;
  width: 47.74%;
  margin-left: 4.52%;
  margin-bottom: 30px;
}
#about3 ul li:nth-child(2n + 1) {
  margin-left: 0;
  clear: both;
}
#about3 ul li:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
#about3 ul li .about3_head {
  float: right;
  text-align: left;
  width: 45%;
}
#about3 ul li .about3_head h5 {
  font-size: 1.286em;
  line-height: 1.3;
  font-weight: 900;
  color: #2364c8;
  margin-bottom: 7px;
}
/*
#about3 ul li .about3_head h5:before {
 content: '◇'
}*/
#about3 ul li .about3_head h5 span {
  font-size: 0.8em;
  font-weight: 900;
}
#about3 ul li .about3_head p {
  font-size: 0.93em;
}
#about3 ul li .about3_img {
  float: left;
  width: 50%;
}
@media all and (min-width: 841px) {
}
@media screen and (min-width: 641px) and (max-width: 840px) {
  #about3 ul {
    padding-top: 20px;
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 640px) {
  #about3 ul {
    padding-top: 15px;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 1px;
  }
  #about3 ul li {
    float: none;
    max-width: 100%;
    width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 30px;
  }
  #about3 ul li .about3_head {
    width: 45%;
  }
  #about3 ul li .about3_img {
    width: 50%;
  }
}
/* about4
--------------------------------------------------------------------------------*/
/* ここだけ横いっぱいで使う　背景が青い部分 */
#about4_inner {
  padding: 0 !important;
}
#about4 {
  color: #fff;
  clear: both;
  width: 100%;
  /*
 max-width: 820px;
  */
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  background-color: #2364c8;
  padding: 60px;
}
#about4 > h3 {
  color: #fff;
  /* 26px */
  font-size: 1.86em;
  font-weight: 900;
  text-align: center;
  margin-bottom: 30px;
}
#about4 #about4Wrap {
  position: relative;
}
#about4 #about4Wrap #about4L {
  float: left;
  width: 57.2%;
  line-height: 2;
}
#about4 #about4Wrap #about4L p {
  margin-bottom: 1em;
}
#about4 #about4Wrap #about4R {
  position: absolute;
  right: -3%;
  top: -5%;
  max-width: 426px;
  width: 43.72%;
  z-index: 10;
}
#about4 #about4Prize {
  color: #333;
  background-color: #fff;
  position: relative;
  clear: both;
  padding: 40px;
}
#about4 #about4Prize h4 {
  /* 22px */
  font-size: 1.58em;
  color: #d0121b;
  font-weight: 900;
  text-align: center;
  margin-bottom: 10px;
}
#about4 #about4Prize h5 {
  /* 18px */
  font-size: 1.286em;
  color: #d0121b;
  font-weight: 900;
  text-align: center;
}
#about4 #about4Prize #about4PrizeImg {
  position: absolute;
  right: 4%;
  top: 14%;
  max-width: 216px;
  width: 34.84%;
}
#about4 #about4Prize dl {
}
#about4 #about4Prize dl dt {
  float: left;
  clear: both;
  width: 100px;
  text-align: center;
}
#about4 #about4Prize dl dd {
  padding-left: 110px;
}
#about4 #about4Prize dl dt,
#about4 #about4Prize dl dd {
  border-top: 1px solid #cccccc;
  padding-top: 8px;
  padding-bottom: 8px;
}
#about4 #about4Prize dl *:nth-child(1),
#about4 #about4Prize dl *:nth-child(2) {
  border-top: 0px solid #cccccc;
}
@media all and (min-width: 841px) {
}
@media screen and (min-width: 641px) and (max-width: 840px) {
}
@media screen and (max-width: 640px) {
  #about4 {
    padding-top: 40px;
    padding-right: 25px;
    padding-left: 25px;
    padding-bottom: 25px;
  }
  #about4 > h3 {
    font-size: 1.75em;
  }
  #about4 #about4Wrap #about4L,
  #about4 #about4Wrap #about4R {
    float: none;
    width: 100%;
    max-width: 100%;
    position: relative;
    right: auto;
    top: auto;
  }
  #about4 #about4Prize {
    padding: 20px;
  }
  #about4 #about4Prize #about4PrizeImg {
    position: relative;
    right: auto;
    top: auto;
    max-width: 100%;
    width: 100%;
  }
  #about4 #about4Prize dl dt,
  #about4 #about4Prize dl dd {
    float: none;
    width: 100%;
    text-align: left;
    padding-left: 10px;
    padding-bottom: 0;
  }
  #about4 #about4Prize dl dt {
    margin-top: 12px;
  }
  #about4 #about4Prize dl dd {
    padding-top: 0;
    border-top: 0px solid #cccccc;
  }
}
/* about5
--------------------------------------------------------------------------------*/
#about5 {
}
#about5 h4 {
  margin-bottom: 20px;
}
#about5 table {
  clear: both;
  width: 100%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  border-top: 1px solid #cccccc;
  background-color: #fff;
}
#about5 table th {
  background-color: #46aacd;
  text-align: center;
  vertical-align: center !important;
  color: #fff;
  font-size: 1em;
  font-weight: 900;
}
#about5 table td {
}
#about5 table th,
#about5 table td {
  border-bottom: 1px solid #cccccc;
  padding-top: 15px;
  padding-right: 20px;
  padding-left: 20px;
  padding-bottom: 15px;
}
#about5 iframe {
  width: 100%;
}
@media all and (min-width: 841px) {
}
@media screen and (min-width: 641px) and (max-width: 840px) {
}
@media screen and (max-width: 640px) {
  #about5 table th,
  #about5 table td {
    display: block;
  }
  #about5 table th {
    border-bottom: 0px solid #cccccc;
  }
  #about5 table td {
    padding-bottom: 30px;
  }
}
/* about6
--------------------------------------------------------------------------------*/
#about6 {
  /*
 max-width: 780px;
  */
  max-width: 810px;
  margin-left: auto;
  margin-right: auto;
}
#about6 h4 {
  /* 16px */
  font-size: 1.143em;
  font-weight: 900;
  background-image: url(../../images/about6_icon.png);
  background-repeat: no-repeat;
  background-position: left center;
  height: 20px;
  line-height: 20px;
  padding-left: 30px;
  margin-bottom: 10px;
}
#about6 .about6Map {
  border: 1px solid #dddddd;
}
#about6 .about6Map iframe {
  width: 100%;
  height: 480px;
  vertical-align: bottom;
}
@media all and (min-width: 841px) {
}
@media screen and (min-width: 641px) and (max-width: 840px) {
}
@media screen and (max-width: 640px) {
}
/* instagram
--------------------------------------------------------------------------------*/
#instagram {
  padding-top: 70px;
  padding-bottom: 70px;
}
#instagram .inner {
}
#instagram .inner #icon_instagram {
  width: 30%;
  max-width: 36px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}
#insta_btn {
  clear: both;
  width: 80%;
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 10px;
}
#insta_btn a {
  color: #fff;
  display: block;
  padding: 5px 20px;
  text-decoration: none;
  text-align: center;
  background-color: #2364c8;
  border: 1px solid #2364c8;
  /**/
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  /**/
  border-radius: 20px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
}
#insta_btn a:hover {
  color: #2364c8;
  background-color: #fff;
}
/**/
#instagram #insta-widget {
  background: transparent !important;
  border: 0px solid #ccc !important;
  padding: 0px !important;
}
.iswg-images-item {
  width: calc(100% / 4) !important;
  padding: 0 !important;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.iswg-images-item:hover {
  cursor: pointer;
  -ms-filter: "alpha(opacity=50)";
  filter: alpha(opacity=50);
  opacity: 0.5;
}
@media all and (min-width: 841px) {
}
@media screen and (min-width: 641px) and (max-width: 840px) {
  #instagram {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 640px) {
  #instagram {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .iswg-images-item {
    width: calc(100% / 3) !important;
  }
}
/* faq
--------------------------------------------------------------------------------*/
#faq {
  position: relative;
  background-color: #fefbf5;
  clear: both;
  width: 100%;
  background-image: url(../../images/faq_bg2.png);
  background-repeat: repeat-y;
  background-position: center top;
  background-size: contain;
}
#faq:before {
  left: 0;
}
#faq:after {
  right: 0;
}
#faq .inner {
  position: relative;
  padding-top: 70px;
  padding-bottom: 0px;
}
#faq .inner h3 {
}
#faq .inner ul {
}
#faq .inner ul li {
  margin-bottom: 100px;
}
#faq .inner ul li:last-child {
  margin-bottom: 40px;
}
#faq #faq_illust {
  /*
 position: absolute;
 right: 0;
 bottom: 0;
 */
  float: right;
  width: 17%;
  max-width: 170px;
  margin-right: 5%;
}
@media all and (min-width: 841px) {
  #faq .inner ul li {
    margin-bottom: 50px;
    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;
  }
  #faq .inner ul li .faq_Q {
    width: 48.5%;
  }
  #faq .inner ul li .faq_A {
    width: 48%;
    margin-left: 3.5%;
  }
  #faq .inner ul li:nth-child(2n) .faq_Q {
  }
  #faq .inner ul li:nth-child(2n) .faq_A {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
    margin-left: 0;
    margin-right: 3.5%;
  }
}
@media screen and (min-width: 641px) and (max-width: 840px) {
}
@media screen and (max-width: 640px) {
  #faq .inner ul li {
    margin-bottom: 40px;
  }
  #faq .inner ul li .faq_Q {
    margin-bottom: 10px;
  }
  #faq .inner ul li .faq_A {
  }
}
/* staff
--------------------------------------------------------------------------------*/
#staff {
  background-image: url(../../images/staff_bg.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  padding-top: 80px;
  padding-bottom: 80px;
}
#staff h3 {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
  width: 50%;
  max-width: 400px;
}
#staff .inner {
  max-width: 1000px;
  padding-top: 40px;
  padding-bottom: 40px;
  padding-left: 60px;
  padding-right: 60px;
  background-color: rgba(255, 255, 255, 0.9);
}
#staff .inner #staffBox {
}
#staff .inner #staffBox dl {
  width: 100%;
  max-width: 840px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}
#staff .inner #staffBox dl dt {
  float: left;
  clear: left;
  width: 5em;
  white-space: nowrap;
}
#staff .inner #staffBox dl dd {
  padding-left: 5em;
  margin-bottom: 10px;
}
#staff .inner #staffBox #staffInfo {
  /* 23px */
  font-size: 1.643em;
  color: #2364c8;
  font-weight: 900;
  text-align: center;
}
@media all and (min-width: 841px) {
}
@media screen and (min-width: 641px) and (max-width: 840px) {
  #staff {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  #staff h3 {
  }
  #staff .inner {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media screen and (max-width: 640px) {
  #staff {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  #staff h3 {
  }
  #staff .inner {
    padding-left: 30px;
    padding-right: 30px;
  }
}
/* contact btn
-------------------------------------------------------*/
.contactBtn {
  margin-bottom: 15px;
}
.contactBtn a {
  position: relative;
  /* 28px */
  font-size: 2em;
  font-weight: 900;
  color: #fff;
  display: block;
  background-color: #2364c8;
  border: 3px solid #2364c8;
  height: 60px;
  line-height: 54px;
  padding-left: 15px;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  text-decoration: none;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.contactBtn a:hover {
  background-color: #fff;
  color: #2364c8;
}
.contactBtn a:before {
  content: "▶";
  color: #fff;
  position: absolute;
  left: 7%;
  top: 0;
  font-size: 12px;
}
.contactBtn a:hover:before {
  color: #2364c8;
}
/* contact
--------------------------------------------------------------------------------*/
#contact {
  clear: both;
  width: 100%;
  padding-top: 80px;
  padding-bottom: 80px;
}
#contact .inner {
}
#contact .inner h3 {
}
#contact .inner p.read {
  margin-bottom: 40px;
}
#contact .inner .btnList {
}
#contact .inner .btnList ul {
}
#contact .inner .btnList ul li {
  float: left;
  width: 48%;
  text-align: center;
  margin-left: 4%;
}
#contact .inner .btnList ul li:first-child {
  margin-left: 0;
}
#contact .inner .btnList ul li:last-child {
}
#contact .inner .btnList ul li h4 {
}
#contact .inner .btnList ul li h4.copyA {
  font-size: 1.8em;
  letter-spacing: 0em;
  margin-bottom: 10px;
}
#contact .inner .btnList ul li:last-child .contactBtn a {
  font-size: 1.8em;
}

@media all and (min-width: 841px) {
}
@media screen and (min-width: 641px) and (max-width: 840px) {
  #contact {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  #contact .inner .btnList ul li .contactBtn a {
    font-size: 1.8em;
  }
  #contact .inner .btnList ul li:last-child .contactBtn a {
    font-size: 1.3em;
  }
  #contact .inner .btnList ul li .contactBtn a:before {
    left: 5%;
  }
}
@media screen and (max-width: 640px) {
  #contact {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  #contact .inner .btnList ul li {
    float: none;
    width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  #contact .inner p.read {
    margin-bottom: 30px;
  }
}

/* facebook inline
-------------------------------------------------------*/
#facebook {
  padding-top: 70px;
  padding-bottom: 70px;
}
.facebook_wrap {
  margin-left: auto;
  margin-right: auto;
  width: 80%;
  max-width: 500px;
}
.fb-page,
.fb-page span,
.facebook_wrap iframe {
  width: 100% !important;
  height: 500px !important;
  margin-left: auto;
  margin-right: auto;
}
/* */
#facebook .contactBtn {
  width: 100%;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 30px;
}
#facebook .contactBtn a {
  font-size: 1.6em;
  text-align: center;
}
#facebook .contactBtn a:hover {
}
@media screen and (max-width: 640px) {
  #facebook {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  /* */
  #facebook .contactBtn {
    margin-top: 20px;
  }
}
