@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Sacramento");
@import url("https://fonts.googleapis.com/css?family=Oswald");
.display-none {
  display: none !important; }

@media screen and (max-width: 320px) {
  .display-none-sss {
    display: none !important; } }

@media screen and (max-width: 480px) {
  .display-none-ss {
    display: none !important; } }

@media screen and (max-width: 750px) {
  .display-none-s750 {
    display: none !important; } }

@media screen and (max-width: 956px) {
  .display-none-s {
    display: none !important; } }

@media screen and (min-width: 957px) {
  .display-none-l {
    display: none !important; } }

@media screen and (min-width: 1366px) {
  .display-none-ll {
    display: none !important; } }

@media screen and (max-width: 1000px) {
  .display-none-m {
    display: none !important; } }

@media screen and (max-width: 1179px) {
  .display-none-navSP {
    display: none !important; } }

@media screen and (min-width: 1180px) {
  .display-none-navPC {
    display: none !important; } }

.t-center {
  text-align: center; }

html {
  font-size: 62.5%; }

body {
  background: #fcfcfc; }

html, body {
  overflow-x: hidden; }

body {
  font-family: '游ゴシック', YuGothic, 'メイリオ', Meiryo, Verdana, Roboto, 'Droid Sans', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', sans-serif;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #333;
  font-weight: 500; }
  @media screen and (max-width: 956px) {
    body {
      font-size: 1.4em; } }

img {
  vertical-align: bottom;
  border: none; }

a {
  color: #029ed1;
  transition: opacity .3s; }
  a:hover {
    opacity: .7; }

a img {
  -o-transition: all 0.3s;
  transition: all 0.3s; }

a:hover {
  text-decoration: underline;
  color: #029ed1; }

a.btn:hover img {
  opacity: 0.85; }

li {
  list-style: none; }

h2 {
  margin: 0 auto 30px auto;
  text-align: center; }

h3 {
  color: #029ed1;
  margin-bottom: 20px;
  font-size: 1.6rem; }

h4 {
  font-size: 1.6rem;
  margin: 0 0 10px 0;
  line-height: 1.5; }

h5 {
  color: #029ed1;
  font-size: 1.5rem;
  margin-bottom: 5px; }

small {
  font-size: 1.3rem; }

.sp {
  display: inline-block; }
  .sp.block {
    display: block; }

.pc {
  display: none; }

@media all and (min-width: 957px) {
  .pc {
    display: inline-block; }
  .sp {
    display: none; }
    .sp.block {
      display: none; } }

/*****

電話番号のaタグには.telをつける

*****/
.tel:hover {
  cursor: text !important;
  opacity: 1 !important; }

/*****

wrapper

*****/
.wrapper {
  width: 960px;
  margin: 0 auto; }

@media screen and (max-width: 956px) {
  .wrapper {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 0 20px; } }

/* to page top  */
.cd-top {
  display: inline-block;
  height: 102px;
  width: 100px;
  position: fixed;
  bottom: 40px;
  right: 40px;
  z-index: 1001;
  /* image replacement properties */
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background: url(../common/images/top_btn.png) no-repeat center;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity .3s 0s, visibility 0s .3s;
  -moz-transition: opacity .3s 0s, visibility 0s .3s;
  transition: opacity .3s 0s, visibility 0s .3s; }

.cd-top.cd-is-visible, .cd-top.cd-fade-out, .no-touch .cd-top:hover {
  -webkit-transition: opacity .3s 0s, visibility 0s 0s;
  -moz-transition: opacity .3s 0s, visibility 0s 0s;
  transition: opacity .3s 0s, visibility 0s 0s; }

.cd-top.cd-is-visible {
  /* the button becomes visible */
  visibility: visible;
  opacity: 1; }

.cd-top.cd-fade-out {
  /* if the user keeps scrolling down, the button is out of focus and becomes less visible */
  opacity: .7; }

.no-touch .cd-top:hover, .cd-top:hover {
  opacity: 1; }

@media screen and (max-width: 956px) {
  .cd-top {
    display: inline-block;
    width: 50px;
    height: 50px;
    background-size: 100% 100%;
    bottom: 20px;
    right: 20px; } }

.page_title {
  background: url("../common/images/bg_page_title.jpg") center no-repeat;
  height: 240px;
  box-sizing: border-box;
  padding-top: 46px; }

@media screen and (max-width: 956px) {
  .page_title {
    background: url("../common/images/bg_page_title_sp.jpg") bottom right no-repeat;
    background-size: cover;
    padding: 90px 0 20px 0;
    height: auto; }
  .page_title h2 {
    margin: 0; } }

.breadcrumbs {
  background: #f6f6f6;
  box-sizing: border-box;
  padding: 10px 0;
  border-top: 1px solid #fff;
  line-height: 1; }

.breadcrumbs ul {
  width: 960px;
  margin: 0 auto; }

.breadcrumbs ul li {
  display: inline-block;
  font-size: 1.1rem;
  line-height: 20px;
  color: #666;
  padding: 0 12px 0 22px;
  position: relative; }
  .breadcrumbs ul li::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 5px;
    height: 9px;
    background: url("../common/images/brdc_arrow.png") no-repeat center/100% 100%; }

.breadcrumbs ul li:first-of-type::before {
  width: 14px;
  height: 14px;
  background: url("../common/images/icon_home.png") no-repeat center/100% 100%; }

.breadcrumbs ul li a {
  text-decoration: none;
  color: #093e8d; }

.breadcrumbs ul li a:hover {
  color: #029ed1; }

@media screen and (max-width: 956px) {
  .breadcrumbs {
    display: none; } }

@media screen and (min-width: 957px) {
  head {
    min-width: 957px; } }

footer {
  background: #f4f8f8; }
  footer .wrapper {
    max-width: 960px;
    min-height: 370px;
    margin: auto;
    padding: 90px 0 60px;
    display: flex;
    justify-content: space-between;
    position: relative; }
    @media screen and (max-width: 600px) {
      footer .wrapper {
        display: block;
        padding: 30px 0; } }
    footer .wrapper .contact-box {
      width: calc(40% - 20px);
      margin-bottom: 50px;
      background: #fff;
      box-shadow: 5px 5px #ffd42a;
      position: relative;
      text-align: center; }
      @media screen and (max-width: 600px) {
        footer .wrapper .contact-box {
          width: calc(100% - 30px);
          margin: 60px auto; } }
      footer .wrapper .contact-box .box-inner {
        width: 100%;
        text-align: center;
        margin-bottom: 10px; }
        footer .wrapper .contact-box .box-inner h3 {
          font-size: 1.3em;
          font-weight: bold;
          line-height: 1.25;
          display: inline-block;
          background: #00817d;
          color: #fff;
          width: calc(100% - 50px);
          padding: 5px;
          margin-bottom: 0;
          display: inline-block;
          margin-top: -1.5em; }
        footer .wrapper .contact-box .box-inner div {
          text-align: left;
          margin: 20px 20px auto; }
          footer .wrapper .contact-box .box-inner div.tel {
            position: relative; }
            footer .wrapper .contact-box .box-inner div.tel::before {
              content: url(../img/common/icon_tel.png);
              width: 32px;
              height: 32px;
              top: 5px;
              left: 10px;
              position: absolute; }
            footer .wrapper .contact-box .box-inner div.tel a {
              color: #00817d;
              text-decoration: none;
              font-size: 2em;
              padding-left: 55px;
              margin-right: -20px; }
          footer .wrapper .contact-box .box-inner div.open-time {
            position: relative; }
            footer .wrapper .contact-box .box-inner div.open-time::before {
              content: url(../img/common/icon_home.png);
              width: 23px;
              height: 23px;
              top: calc(50% - 10px);
              left: 10px;
              position: absolute; }
            footer .wrapper .contact-box .box-inner div.open-time ul {
              margin: 20px 0;
              font-size: 14px; }
              footer .wrapper .contact-box .box-inner div.open-time ul li {
                padding-left: 3.5em; }
                footer .wrapper .contact-box .box-inner div.open-time ul li::before {
                  content: "";
                  color: #fff; }
          footer .wrapper .contact-box .box-inner div.access {
            position: relative;
            border-top: 2px solid #ddd;
            font-size: 14px; }
            @media screen and (max-width: 956px) {
              footer .wrapper .contact-box .box-inner div.access {
                padding-bottom: 40px; } }
            footer .wrapper .contact-box .box-inner div.access::before {
              content: url(../img/common/icon_time.png);
              width: 21px;
              height: 21px;
              top: calc(50% - 5px);
              left: 10px;
              position: absolute; }
              @media screen and (max-width: 956px) {
                footer .wrapper .contact-box .box-inner div.access::before {
                  top: calc(50% - 20px); } }
            footer .wrapper .contact-box .box-inner div.access p {
              padding-left: 3.5em;
              margin-top: 20px; }
  footer .bottom_menu {
    background: #fff; }
    footer .bottom_menu ul li {
      padding-left: 0; }
      footer .bottom_menu ul li a {
        text-indent: 0;
        color: #00817d; }
      footer .bottom_menu ul li::before {
        content: ""; }
      footer .bottom_menu ul li ul {
        padding-left: 0; }
        footer .bottom_menu ul li ul li {
          text-indent: 0; }
  footer .bottom_links {
    background: #00817d; }

nav#main_nav {
  width: 100%;
  background: #fff; }
  @media screen and (max-width: 956px) {
    nav#main_nav {
      display: none; } }
  nav#main_nav ul {
    width: 960px;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center; }
    nav#main_nav ul li {
      text-align: center;
      padding: 25px 30px 20px;
      position: relative; }
      nav#main_nav ul li ::before {
        content: "";
        width: 2px;
        height: 20px;
        background: #aaaaaa;
        position: absolute;
        right: 0;
        top: calc(50% - 10px); }
      nav#main_nav ul li p {
        font-size: 1.1em; }
      nav#main_nav ul li a {
        text-decoration: none;
        color: #00817d;
        font-size: 1.1em;
        display: block; }
        nav#main_nav ul li a span {
          display: block; }
          nav#main_nav ul li a span.en {
            font-family: "Sacramento", cursive;
            color: #aaaaaa;
            display: inline-block;
            margin: auto; }
      nav#main_nav ul li.active {
        font-weight: bold; }
        nav#main_nav ul li.active::after {
          content: "";
          width: 30px;
          height: 5px;
          background: #ffd42a;
          position: absolute;
          bottom: 0;
          left: calc(50% - 15px); }

.sub nav#main_nav {
  background: #fff; }

#menu_wrap ul.sp {
  width: 100%;
  margin: auto;
  display: none; }
  @media screen and (max-width: 956px) {
    #menu_wrap ul.sp {
      display: block; } }
  #menu_wrap ul.sp li {
    text-align: center;
    padding: 25px 20px;
    position: relative; }
    #menu_wrap ul.sp li ::before {
      content: "";
      width: 50%;
      height: 2px;
      background: #aaaaaa;
      position: absolute;
      left: 25%;
      bottom: 0; }
    #menu_wrap ul.sp li:last-child a::before {
      height: 0; }
    #menu_wrap ul.sp li a {
      text-decoration: none;
      color: #00817d;
      font-size: 1.2em;
      display: block; }
      #menu_wrap ul.sp li a span {
        display: block; }
        #menu_wrap ul.sp li a span.en {
          font-family: "Sacramento", cursive;
          color: #aaaaaa;
          display: inline-block;
          margin: auto; }
    #menu_wrap ul.sp li.active {
      font-weight: bold; }
      #menu_wrap ul.sp li.active::after {
        content: "";
        width: 30px;
        height: 5px;
        background: #ffd42a;
        position: absolute;
        bottom: 0;
        left: calc(50% - 15px); }

section {
  padding: 0;
  margin-bottom: 60px; }
  section h2 {
    position: relative;
    padding: 100px auto 30px; }
    @media screen and (max-width: 956px) {
      section h2 {
        font-size: 4.13333vw; } }
    section h2 span.ja {
      width: 100%;
      color: #00817d;
      font-size: 1.9em;
      font-weight: bold;
      height: 3em;
      position: absolute;
      bottom: 0em;
      display: flex;
      align-items: flex-end;
      justify-content: center;
      line-height: 1.6;
      text-shadow: white 3px 0px 0px, white 2.83487px 0.98158px 0px, white 2.35766px 1.85511px 0px, white 1.62091px 2.52441px 0px, white 0.70571px 2.91581px 0px, white -0.28717px 2.98622px 0px, white -1.24844px 2.72789px 0px, white -2.07227px 2.16926px 0px, white -2.66798px 1.37182px 0px, white -2.96998px 0.42336px 0px, white -2.94502px -0.5717px 0px, white -2.59586px -1.50383px 0px, white -1.96093px -2.27041px 0px, white -1.11013px -2.78704px 0px, white -0.13712px -2.99686px 0px, white 0.85099px -2.87677px 0px, white 1.74541px -2.43999px 0px, white 2.44769px -1.73459px 0px, white 2.88051px -0.83825px 0px; }
      @media screen and (max-width: 956px) {
        section h2 span.ja {
          bottom: 0.5em;
          font-size: 1.5em; } }
    section h2 span.en {
      content: "";
      width: 100%;
      font-family: "Sacramento", cursive;
      color: #ffd42a;
      opacity: 0.45;
      font-size: 8em;
      position: absolute;
      bottom: -0.5em;
      left: 0;
      font-weight: normal;
      text-align: center; }
      @media screen and (max-width: 956px) {
        section h2 span.en {
          font-size: 21.33333vw; } }

.btn {
  margin: 30px auto;
  text-align: center; }
  .btn a {
    display: inline-block;
    color: #00817d;
    font-size: 20px;
    font-weight: bold;
    text-decoration: none;
    position: relative;
    box-shadow: 2px 2px 0 #fff, 3px 3px #00817d;
    padding: 10px 10px 8px;
    background: #ffd42a;
    border: 1px solid #ffd42a;
    box-sizing: border-box;
    border-radius: 10px;
    transition: all .2s; }
    @media screen and (max-width: 956px) {
      .btn a {
        font-size: 4.53333vw;
        padding: 1.33333vw 1.33333vw 1.06667vw; } }
    .btn a::after {
      content: "";
      width: 36px;
      height: 6px;
      display: block;
      margin: 0px auto 0;
      position: absolute;
      top: 50%;
      right: -15px;
      background: url(../common/images/btn_arrow.png);
      transform: translateY(-50%);
      transition: right .2s; }
    .btn a:hover {
      opacity: 1;
      background: #fff !important; }
      .btn a:hover::after {
        right: -25px; }

.link-area h3 {
  font-size: 1.8rem; }
  .link-area h3 .ja {
    font-weight: bold; }

ul.g-dot {
  width: calc(100% - 50px);
  margin: 10px;
  padding: 0 25px; }
  ul.g-dot li {
    padding-left: 1em;
    text-indent: -1em;
    margin-bottom: 5px; }
    ul.g-dot li::before {
      content: "・";
      color: #00817d;
      font-weight: bold; }

/* MAIN VISUAL */
#visual {
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  position: relative;
  background-size: cover; }
  @media screen and (max-width: 956px) {
    #visual {
      padding-bottom: 0;
      height: auto; } }
  #visual video {
    width: 100%;
    z-index: -9999;
    position: absolute; }
  #visual .ttl {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center; }
    @media screen and (max-width: 956px) {
      #visual .ttl {
        top: 80%;
        width: 80%; } }
    #visual .ttl img {
      width: 30vw; }
    #visual .ttl .btn {
      margin: -20px auto 0; }
      #visual .ttl .btn a::after {
        background: url("../common/images/btn_arrow_white.png"); }
  #visual .offer {
    position: absolute;
    bottom: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.25); }
    #visual .offer p {
      width: calc(100% - 20px);
      margin: 10px auto 5px;
      color: #fff;
      text-align: right; }

#visual .btn_docs {
  position: absolute;
  bottom: 30px;
  left: 50%;
  margin-left: -210px;
  width: 420px; }

#visual .woman {
  position: absolute;
  left: 50%;
  bottom: 5px;
  margin-left: -500px; }

#visual .woman a {
  display: block;
  width: 200px;
  height: 160px;
  overflow: hidden;
  text-indent: -1000%; }

#visual2 {
  width: 100%;
  height: 4500px;
  background: url(../img/visual2.jpg) top center no-repeat;
  position: relative; }

#visual2 .btn_docs {
  position: absolute;
  bottom: 200px;
  left: 50%;
  margin-left: -210px;
  width: 420px; }

#visual2 .btn_docs2 {
  position: absolute;
  bottom: 3600px;
  left: 50%;
  margin-left: -210px;
  width: 420px; }

#visual2 .btn_docs3 {
  position: absolute;
  bottom: 1450px;
  left: 50%;
  margin-left: -210px;
  width: 420px; }

#visual2 .btn_docs4 {
  position: absolute;
  bottom: 2750px;
  left: 50%;
  margin-left: -210px;
  width: 420px; }

#visual2 .woman {
  position: absolute;
  left: 50%;
  bottom: 5px;
  margin-left: -500px; }

#visual2 .woman a {
  display: block;
  width: 200px;
  height: 160px;
  overflow: hidden;
  text-indent: -1000%; }

#visual3 {
  width: 100%;
  height: 4500px;
  background: url(../img/visual3.jpg) top center no-repeat;
  position: relative; }

#visual3 .btn_docs {
  position: absolute;
  bottom: 210px;
  left: 50%;
  margin-left: -210px;
  width: 420px; }

#visual3 .btn_docs2 {
  position: absolute;
  bottom: 3600px;
  left: 50%;
  margin-left: -210px;
  width: 420px; }

#visual3 .btn_docs3 {
  position: absolute;
  bottom: 1420px;
  left: 50%;
  margin-left: -210px;
  width: 420px; }

#visual3 .btn_docs4 {
  position: absolute;
  bottom: 2730px;
  left: 50%;
  margin-left: -210px;
  width: 420px; }

#visual3 .woman {
  position: absolute;
  left: 50%;
  bottom: 5px;
  margin-left: -500px; }

#visual3 .woman a {
  display: block;
  width: 200px;
  height: 160px;
  overflow: hidden;
  text-indent: -1000%; }

#visual4 {
  width: 100%;
  height: 4500px;
  background: url(../img/visual4.jpg) top center no-repeat;
  position: relative; }

#visual4 .btn_docs {
  position: absolute;
  bottom: 210px;
  left: 50%;
  margin-left: -210px;
  width: 420px; }

#visual4 .btn_docs2 {
  position: absolute;
  bottom: 3600px;
  left: 50%;
  margin-left: -210px;
  width: 420px; }

#visual4 .btn_docs3 {
  position: absolute;
  bottom: 1420px;
  left: 50%;
  margin-left: -210px;
  width: 420px; }

#visual4 .btn_docs4 {
  position: absolute;
  bottom: 2730px;
  left: 50%;
  margin-left: -210px;
  width: 420px; }

#visual4 .woman {
  position: absolute;
  left: 50%;
  bottom: 5px;
  margin-left: -500px; }

#visual4 .woman a {
  display: block;
  width: 200px;
  height: 160px;
  overflow: hidden;
  text-indent: -1000%; }

#visual5 {
  width: 100%;
  height: 4500px;
  background: url(../img/visual2_2.jpg) top center no-repeat;
  position: relative; }

#visual5 .btn_docs {
  position: absolute;
  bottom: 100px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual5 .btn_docs2 {
  position: absolute;
  bottom: 1350px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual5 .btn_docs3 {
  position: absolute;
  bottom: 2650px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual5 .btn_docs4 {
  position: absolute;
  bottom: 3500px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual5 .woman {
  position: absolute;
  left: 50%;
  bottom: 5px;
  margin-left: -500px; }

#visual5 .woman a {
  display: block;
  width: 200px;
  height: 160px;
  overflow: hidden;
  text-indent: -1000%; }

#visual6 {
  width: 100%;
  height: 4500px;
  background: url(../img/visual3_2.jpg) top center no-repeat;
  position: relative; }

#visual6 .btn_docs {
  position: absolute;
  bottom: 70px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual6 .btn_docs2 {
  position: absolute;
  bottom: 1300px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual6 .btn_docs3 {
  position: absolute;
  bottom: 2600px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual6 .btn_docs4 {
  position: absolute;
  bottom: 3430px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual6 .woman {
  position: absolute;
  left: 50%;
  bottom: 5px;
  margin-left: -500px; }

#visual6 .woman a {
  display: block;
  width: 200px;
  height: 160px;
  overflow: hidden;
  text-indent: -1000%; }

#visual7 {
  width: 100%;
  height: 4500px;
  background: url(../img/visual4_2.jpg) top center no-repeat;
  position: relative; }

#visual7 .btn_docs {
  position: absolute;
  bottom: 50px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual7 .btn_docs2 {
  position: absolute;
  bottom: 1270px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual7 .btn_docs3 {
  position: absolute;
  bottom: 2600px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual7 .btn_docs4 {
  position: absolute;
  bottom: 3470px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual7 .woman {
  position: absolute;
  left: 50%;
  bottom: 5px;
  margin-left: -500px; }

#visual7 .woman a {
  display: block;
  width: 200px;
  height: 160px;
  overflow: hidden;
  text-indent: -1000%; }

#visual8 {
  width: 100%;
  height: 4500px;
  background: url(../img/visual2.jpg) top center no-repeat;
  position: relative; }

#visual8 .btn_docs {
  position: absolute;
  bottom: 200px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual8 .btn_docs2 {
  position: absolute;
  bottom: 1450px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual8 .btn_docs3 {
  position: absolute;
  bottom: 2740px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual8 .btn_docs4 {
  position: absolute;
  bottom: 3570px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual8 .woman {
  position: absolute;
  left: 50%;
  bottom: 5px;
  margin-left: -500px; }

#visual8 .woman a {
  display: block;
  width: 200px;
  height: 160px;
  overflow: hidden;
  text-indent: -1000%; }

#visual9 {
  width: 100%;
  height: 4500px;
  background: url(../img/visual3.jpg) top center no-repeat;
  position: relative; }

#visual9 .btn_docs {
  position: absolute;
  bottom: 200px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual9 .btn_docs2 {
  position: absolute;
  bottom: 1450px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual9 .btn_docs3 {
  position: absolute;
  bottom: 2740px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual9 .btn_docs4 {
  position: absolute;
  bottom: 3570px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual9 .woman {
  position: absolute;
  left: 50%;
  bottom: 5px;
  margin-left: -500px; }

#visual9 .woman a {
  display: block;
  width: 200px;
  height: 160px;
  overflow: hidden;
  text-indent: -1000%; }

#visual10 {
  width: 100%;
  height: 4500px;
  background: url(../img/visual4.jpg) top center no-repeat;
  position: relative; }

#visual10 .btn_docs {
  position: absolute;
  bottom: 200px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual10 .btn_docs2 {
  position: absolute;
  bottom: 1450px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual10 .btn_docs3 {
  position: absolute;
  bottom: 2740px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual10 .btn_docs4 {
  position: absolute;
  bottom: 3570px;
  /*left: 50%;
    margin-left: -210px;
    width: 420px;*/
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 870px; }

#visual10 .woman {
  position: absolute;
  left: 50%;
  bottom: 5px;
  margin-left: -500px; }

#visual10 .woman a {
  display: block;
  width: 200px;
  height: 160px;
  overflow: hidden;
  text-indent: -1000%; }

/* SP visual */
@media screen and (max-width: 956px) {
  #visual {
    height: auto;
    position: relative;
    text-align: center;
    background: none; }
  #visual .btn_docs {
    position: relative;
    bottom: auto;
    left: 0;
    padding-top: 1px;
    margin-left: 0;
    width: 100%;
    height: auto; }
  #visual .woman {
    position: relative;
    left: 0;
    bottom: auto;
    margin-left: 0; }
  #visual .woman a {
    border-top: 2px solid #fff;
    background: #f49ac1;
    display: block;
    width: 100%;
    height: 122px;
    overflow: hidden;
    text-indent: 0; }
  #visual2 {
    height: auto;
    position: relative;
    text-align: center;
    background: none; }
  #visual2 .btn_docs {
    position: relative;
    bottom: auto;
    left: 0;
    padding-top: 1px;
    margin-left: 0;
    width: 100%;
    height: auto; }
  #visual3 {
    height: auto;
    position: relative;
    text-align: center;
    background: none; }
  #visual3 .btn_docs {
    position: relative;
    bottom: auto;
    left: 0;
    padding-top: 1px;
    margin-left: 0;
    width: 100%;
    height: auto; }
  #visual3 .woman {
    position: relative;
    left: 0;
    bottom: auto;
    margin-left: 0; }
  #visual3 .woman a {
    border-top: 2px solid #fff;
    background: #f49ac1;
    display: block;
    width: 100%;
    height: 122px;
    overflow: hidden;
    text-indent: 0; }
  #visual4 {
    height: auto;
    position: relative;
    text-align: center;
    background: none; }
  #visual4 .btn_docs {
    position: relative;
    bottom: auto;
    left: 0;
    padding-top: 1px;
    margin-left: 0;
    width: 100%;
    height: auto; }
  #visual4 .woman {
    position: relative;
    left: 0;
    bottom: auto;
    margin-left: 0; }
  #visual4 .woman a {
    border-top: 2px solid #fff;
    background: #f49ac1;
    display: block;
    width: 100%;
    height: 122px;
    overflow: hidden;
    text-indent: 0; }
  #visual5 {
    height: auto;
    position: relative;
    text-align: center;
    background: none; }
  #visual5 .btn_docs {
    position: relative;
    bottom: auto;
    left: 0;
    padding-top: 1px;
    margin-left: 0;
    width: 100%;
    height: auto; }
  #visual5 .woman {
    position: relative;
    left: 0;
    bottom: auto;
    margin-left: 0; }
  #visual5 .woman a {
    border-top: 2px solid #fff;
    background: #f49ac1;
    display: block;
    width: 100%;
    height: 122px;
    overflow: hidden;
    text-indent: 0; }
  #visual6 {
    height: auto;
    position: relative;
    text-align: center;
    background: none; }
  #visual6 .btn_docs {
    position: relative;
    bottom: auto;
    left: 0;
    padding-top: 1px;
    margin-left: 0;
    width: 100%;
    height: auto; }
  #visual6 .woman {
    position: relative;
    left: 0;
    bottom: auto;
    margin-left: 0; }
  #visual6 .woman a {
    border-top: 2px solid #fff;
    background: #f49ac1;
    display: block;
    width: 100%;
    height: 122px;
    overflow: hidden;
    text-indent: 0; }
  #visual7 {
    height: auto;
    position: relative;
    text-align: center;
    background: none; }
  #visual7 .btn_docs {
    position: relative;
    bottom: auto;
    left: 0;
    padding-top: 1px;
    margin-left: 0;
    width: 100%;
    height: auto; }
  #visual7 .woman {
    position: relative;
    left: 0;
    bottom: auto;
    margin-left: 0; }
  #visual7 .woman a {
    border-top: 2px solid #fff;
    background: #f49ac1;
    display: block;
    width: 100%;
    height: 122px;
    overflow: hidden;
    text-indent: 0; }
  #visual8 {
    height: auto;
    position: relative;
    text-align: center;
    background: none; }
  #visual8 .btn_docs {
    position: relative;
    bottom: auto;
    left: 0;
    padding-top: 1px;
    margin-left: 0;
    width: 100%;
    height: auto; }
  #visual8 .woman {
    position: relative;
    left: 0;
    bottom: auto;
    margin-left: 0; }
  #visual8 .woman a {
    border-top: 2px solid #fff;
    background: #f49ac1;
    display: block;
    width: 100%;
    height: 122px;
    overflow: hidden;
    text-indent: 0; }
  #visual9 {
    height: auto;
    position: relative;
    text-align: center;
    background: none; }
  #visual9 .btn_docs {
    position: relative;
    bottom: auto;
    left: 0;
    padding-top: 1px;
    margin-left: 0;
    width: 100%;
    height: auto; }
  #visual9 .woman {
    position: relative;
    left: 0;
    bottom: auto;
    margin-left: 0; }
  #visual9 .woman a {
    border-top: 2px solid #fff;
    background: #f49ac1;
    display: block;
    width: 100%;
    height: 122px;
    overflow: hidden;
    text-indent: 0; }
  #visual10 {
    height: auto;
    position: relative;
    text-align: center;
    background: none; }
  #visual10 .btn_docs {
    position: relative;
    bottom: auto;
    left: 0;
    padding-top: 1px;
    margin-left: 0;
    width: 100%;
    height: auto; }
  #visual10 .woman {
    position: relative;
    left: 0;
    bottom: auto;
    margin-left: 0; }
  #visual10 .woman a {
    border-top: 2px solid #fff;
    background: #f49ac1;
    display: block;
    width: 100%;
    height: 122px;
    overflow: hidden;
    text-indent: 0; } }

/* NEWS */
#news {
  width: calc(100% - 120px);
  background: #fcfcfc;
  margin-bottom: 0px;
  padding: 60px; }
  @media screen and (max-width: 956px) {
    #news {
      width: 100%; } }

#news .wrapper {
  overflow: hidden; }
  @media screen and (max-width: 956px) {
    #news .wrapper {
      padding: 0; } }
  #news .wrapper h2 {
    margin: 40px auto 20px;
    position: relative;
    height: 6em; }
  #news .wrapper ul {
    margin: 20px 0; }
    #news .wrapper ul li {
      padding: 20px 0 10px;
      background: #fff;
      border-bottom: 1px solid #eee;
      position: relative; }
      @media screen and (max-width: 956px) {
        #news .wrapper ul li {
          padding: 20px 0 10px 10px; } }
      #news .wrapper ul li::before {
        content: ""; }
      #news .wrapper ul li span.date {
        padding: 0 20px 0 40px;
        color: #aaaaaa; }
        @media screen and (max-width: 956px) {
          #news .wrapper ul li span.date {
            display: block; } }
      #news .wrapper ul li a {
        color: #333; }
        @media screen and (max-width: 956px) {
          #news .wrapper ul li a {
            padding: 0 20px 0 40px;
            display: block; } }
      #news .wrapper ul li.new::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 35px;
        height: 35px;
        background: url(../img/top/news_new.png); }

#news .wrapper dl {
  display: block;
  position: relative;
  height: auto;
  padding-left: 20px;
  margin-left: 110px;
  box-sizing: border-box; }

#news .wrapper dl dt {
  display: block;
  float: left;
  margin-bottom: 10px;
  padding-top: 5px;
  color: #2a6fa1;
  font-weight: bold; }

#news .wrapper dl dd {
  padding-top: 5px;
  margin-bottom: 10px;
  margin-left: 80px; }

#news .wrapper dl dd a {
  color: #333;
  text-decoration: none; }

#news .wrapper dl dd a:hover {
  text-decoration: underline; }

#news .wrapper dl span img {
  vertical-align: middle;
  margin-left: 10px;
  margin-bottom: 2px; }

/* INTRO */
#intro {
  width: calc(100% - 120px);
  margin-top: 30px;
  background: #fcfcfc;
  margin-bottom: 0px;
  padding: 60px; }
  @media screen and (max-width: 956px) {
    #intro {
      width: 100%;
      padding: 0;
      margin-top: 58vw; }
    #intro p.coach {
      width: 100%; }
    #news {
      width: 100%; } }
#intro .coach {
    width: 960px;
    padding-top: 35px;}
#intro .coach img {
    width: 100%;}

#about {
  background: url(../img/top/about_bg.jpg) no-repeat center/cover;
  height: 720px;
  position: relative; }
  @media screen and (max-width: 956px) {
    #about .wrapper {
      padding: 24vw 0; } }
  @media screen and (max-width: 956px) {
    #about {
      height: auto; } }
  #about .content {
    width: 100%;
    max-width: 560px;
    height: 720px;
    background: rgba(255, 255, 255, 0.9);
    margin: 0 auto;
    z-index: 1;
    position: relative; }
    @media screen and (max-width: 956px) {
      #about .content {
        max-width: none;
        height: 128.66667vw; } }
  #about h2 {
    padding-top: 200px; }
    @media screen and (max-width: 956px) {
      #about h2 {
        padding-top: 26.66667vw;
        margin-bottom: 4vw; } }
    @media screen and (max-width: 956px) {
      #about h2 span.ja {
        font-size: 6.13333vw; } }
  #about p {
    text-align: center;
    line-height: 2.4em;
    font-size: 1em;
    font-weight: bold;
    color: #333; }
    @media screen and (max-width: 956px) {
      #about p {
        font-size: 3.73333vw; } }
  #about .credit {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    padding: 8px 5px 5px 0;
    text-align: right;
    min-width: 840px;
    box-sizing: border-box;
    font-weight: normal; }
    @media screen and (max-width: 956px) {
      #about .credit {
        min-width: auto; } }

#step {
  margin-top: 150px;
  padding-bottom: 80px; }
  @media screen and (max-width: 956px) {
    #step {
      margin-top: 46.66667vw; } }
  #step h2 span.ja {
    bottom: auto;
    top: -2em; }
  @media screen and (max-width: 956px) {
    #step h2 span.en {
      line-height: 1; } }
  #step .step-area {
    padding-top: 100px;
    overflow: hidden;
    width: 100%; }
    @media screen and (max-width: 956px) {
      #step .step-area {
        padding-top: 50px; } }
    #step .step-area .step-box {
      clear: both; }
      @media screen and (max-width: 956px) {
        #step .step-area .step-box {
          padding-bottom: 5.33333vw;
          margin-top: 20vw;
          border-bottom: 2px solid #ffd42a;
          padding-top: 0; } }
      #step .step-area .step-box .txt-contents {
        width: 50%;
        margin-right: -30px;
        float: left;
        position: relative;
        z-index: 2; }
        @media screen and (max-width: 956px) {
          #step .step-area .step-box .txt-contents {
            width: 100%;
            float: none; }
            #step .step-area .step-box .txt-contents img {
              max-width: 100%; } }
        #step .step-area .step-box .txt-contents .sbttl {
          position: relative;
          left: 0px;
          width: 100%;
          background: #fff;
          text-align: right;
          box-shadow: 5px 5px #ffd42a;
          margin-top: 80px;
          padding: 0 50px 0 0; }
          @media screen and (max-width: 956px) {
            #step .step-area .step-box .txt-contents .sbttl {
              padding: 0;
              box-shadow: none; } }
          #step .step-area .step-box .txt-contents .sbttl .img-area {
            position: relative; }
            @media screen and (min-width: 957px) {
              #step .step-area .step-box .txt-contents .sbttl .img-area::before {
                content: "01";
                position: absolute;
                right: 180px;
                top: -130px;
                font-family: "Oswald", sans-serif;
                color: #d9ecec;
                font-size: 180px; } }
          #step .step-area .step-box .txt-contents .sbttl img {
            margin-top: -60px; }
            @media screen and (max-width: 956px) {
              #step .step-area .step-box .txt-contents .sbttl img {
                background: #fcfcfc; } }
        #step .step-area .step-box .txt-contents .txt-area {
          display: inline-block;
          margin: 30px -30px 0 0;
          text-align: center; }
          @media screen and (max-width: 956px) {
            #step .step-area .step-box .txt-contents .txt-area {
              margin: 20px 0 0 0;
              width: 100%; } }
          #step .step-area .step-box .txt-contents .txt-area p {
            font-size: 1.6em; }
            #step .step-area .step-box .txt-contents .txt-area p.en {
              font-family: "Sacramento", cursive;
              color: #ffd42a;
              font-size: 1.3em; }
            #step .step-area .step-box .txt-contents .txt-area p.access {
              font-size: 1.2em;
              margin-top: 10px; }
              #step .step-area .step-box .txt-contents .txt-area p.access span {
                color: #00817d;
                font-size: 1.1em; }
          #step .step-area .step-box .txt-contents .txt-area figure {
            margin: 5px auto 25px; }
      #step .step-area .step-box:nth-child(even) .txt-contents {
        margin-right: 0px;
        margin-left: -50px;
        float: right;
        position: relative;
        z-index: 2;
        width: calc(50% + 50px); }
        @media screen and (max-width: 956px) {
          #step .step-area .step-box:nth-child(even) .txt-contents {
            float: none;
            margin-left: 0;
            width: 100%; } }
        #step .step-area .step-box:nth-child(even) .txt-contents .sbttl {
          position: relative;
          left: auto;
          right: 0px;
          padding: 0 0 0 50px;
          text-align: left; }
          @media screen and (max-width: 956px) {
            #step .step-area .step-box:nth-child(even) .txt-contents .sbttl {
              padding: 0; } }
          #step .step-area .step-box:nth-child(even) .txt-contents .sbttl .img-area::before {
            left: 180px;
            right: 0; }
        #step .step-area .step-box:nth-child(even) .txt-contents .txt-area {
          margin: 30px 0 0 -30px; }
          @media screen and (max-width: 956px) {
            #step .step-area .step-box:nth-child(even) .txt-contents .txt-area {
              margin: 20px 0 0 0; } }
      #step .step-area .step-box:nth-child(even) .step-img {
        float: left; }
        #step .step-area .step-box:nth-child(even) .step-img img {
          position: relative;
          right: calc(840px - 100%); }
          @media screen and (min-width: 1680px) {
            #step .step-area .step-box:nth-child(even) .step-img img {
              right: 0; } }
          #step .step-area .step-box:nth-child(even) .step-img img.icon {
            right: auto;
            position: absolute; }
        @media screen and (max-width: 956px) {
          #step .step-area .step-box:nth-child(even) .step-img {
            float: none; }
            #step .step-area .step-box:nth-child(even) .step-img img {
              position: static; } }
    #step .step-area .step-img {
      position: relative;
      z-index: 1;
      float: right;
      width: 50%; }
      @media screen and (max-width: 956px) {
        #step .step-area .step-img {
          float: none;
          width: 100%; } }
      #step .step-area .step-img img {
        width: 100%;
        min-width: 840px;
        opacity: 1; }
        @media screen and (max-width: 956px) {
          #step .step-area .step-img img {
            min-width: auto; }
            #step .step-area .step-img img.icon {
              position: absolute;
              top: 0;
              left: 50%;
              transform: translate(-50%, -50%);
              width: 30.66667vw; } }
      #step .step-area .step-img p {
        position: absolute;
        bottom: 0;
        width: 100%;
        background: rgba(0, 0, 0, 0.5);
        color: #fff;
        padding: 8px 5px 5px 0;
        text-align: right;
        box-sizing: border-box; }
    @media screen and (max-width: 956px) {
      #step .step-area img {
        width: 100%; }
      #step .step-area .txt-area {
        text-align: center; }
        #step .step-area .txt-area img {
          width: 90%;
          display: block;
          margin: 20px auto; }
        #step .step-area .txt-area p {
          font-size: 1.5em; }
          #step .step-area .txt-area p.en {
            font-family: "Sacramento", cursive;
            color: #ffd42a;
            font-size: 1.2em; }
          #step .step-area .txt-area p.access {
            font-size: 1.2em;
            margin-top: 10px;
            padding: 0 4vw; }
            #step .step-area .txt-area p.access span {
              color: #00817d;
              font-size: 1.1em; }
        #step .step-area .txt-area figure {
          padding: 0 4vw; } }
  @media screen and (min-width: 957px) {
    #step .step-box:nth-child(2) .txt-contents .sbttl div.img-area::before {
      content: "02"; }
    #step .step-box:nth-child(3) .txt-contents .sbttl div.img-area::before {
      content: "03"; }
    #step .step-box:nth-child(4) .txt-contents .sbttl div.img-area::before {
      content: "04"; }
    #step .step-box:nth-child(5) .txt-contents .sbttl div.img-area::before {
      content: "05"; }
    #step .step-box:nth-child(6) .txt-contents .sbttl div.img-area::before {
      content: "06"; }
    #step .step-box:nth-child(7) .txt-contents .sbttl div.img-area::before {
      content: "07"; }
    #step .step-box:nth-child(8) .txt-contents .sbttl div.img-area::before {
      content: "08"; }
    #step .step-box:nth-child(9) .txt-contents .sbttl div.img-area::before {
      content: "09"; }
    #step .step-box:nth-child(10) .txt-contents .sbttl div.img-area::before {
      content: "10"; }
    #step .step-box:nth-child(11) .txt-contents .sbttl div.img-area::before {
      content: "11"; }
    #step .step-box:nth-child(12) .txt-contents .sbttl div.img-area::before {
      content: "12"; }
    #step .step-box:nth-child(13) .txt-contents .sbttl div.img-area::before {
      content: "13"; }
    #step .step-box:nth-child(14) .txt-contents .sbttl div.img-area::before {
      content: "14"; } }

#map {
  position: relative;
  margin-top: 80px;
  margin-bottom: 0; }
  #map h2 {
    position: absolute;
    display: inline-block;
    top: -50px;
    left: 25%;
    margin-bottom: 0; }
  #map img.mapping {
    width: 100%; }
  #map .point1, #map .point2, #map .point3 {
    position: absolute;
    width: 40px;
    height: 60px;
    margin-top: -52px; }
    @media screen and (max-width: 956px) {
      #map .point1, #map .point2, #map .point3 {
        width: 20px;
        height: 30px;
        margin-top: -28px; }
        #map .point1 img, #map .point2 img, #map .point3 img {
          width: 100%; } }
  #map .point1 {
    top: 19.5vw;
    left: calc(66vw - 20px); }
  #map .point2 {
    top: 36.4vw;
    left: calc(73.5vw - 20px); }
  #map .point3 {
    top: 52.65vw;
    left: calc(76vw - 20px); }
  @media screen and (max-width: 956px) {
    #map .point1 {
      top: 29.5vw;
      left: calc(64.5vw - 10px); }
    #map .point2 {
      top: 56.4vw;
      left: calc(76.5vw - 10px); }
    #map .point3 {
      top: 80.65vw;
      left: calc(80vw - 10px); } }

#support {
  min-height: 1320px;
  position: relative;
  margin-bottom: 0;
  position: relative; }
  #support .wrapper {
    max-width: 1240px;
    width: 100%;
    position: relative; }
  #support::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 450px);
    background: url(../img/top/support_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 0; }
    @media screen and (max-width: 956px) {
      #support::before {
        height: 40%;
        bottom: 35%; } }
  #support h2 {
    padding-top: 110px;
    margin-bottom: 80px; }
    #support h2 span.ja {
      bottom: auto;
      color: #00817d; }
  #support .inner {
    clear: both;
    overflow: hidden;
    padding-top: 100px; }
    #support .inner .clmn {
      float: left;
      background: #fff;
      box-shadow: 5px 5px #ffd42a;
      width: calc(50% - 40px);
      height: 335px;
      margin: 10px;
      text-align: center; }
      #support .inner .clmn .g-dot {
        display: inline-block;
        width: auto;
        text-align: left;
        font-size: 17px; }
      @media screen and (max-width: 956px) {
        #support .inner .clmn {
          float: none;
          width: calc(100% - 20px);
          margin-top: 30px auto;
          height: auto;
          padding-bottom: 30px; }
          #support .inner .clmn .ttl {
            position: relative; }
            #support .inner .clmn .ttl img {
              position: absolute;
              left: 50%;
              transform: translate(-50%, -50%); }
          #support .inner .clmn .g-dot {
            text-align: left;
            display: inline-block;
            box-sizing: border-box;
            width: 100%;
            margin: 0; }
            #support .inner .clmn .g-dot li {
              font-size: 3.46667vw; } }
      #support .inner .clmn:nth-child(2) {
        margin-left: 40px; }
        @media screen and (max-width: 956px) {
          #support .inner .clmn:nth-child(2) {
            margin-left: auto;
            margin-top: 100px; } }
      #support .inner .clmn .ttl {
        text-align: center;
        margin-top: -50px; }
        @media screen and (max-width: 956px) {
          #support .inner .clmn .ttl {
            margin-top: 0; } }
        #support .inner .clmn .ttl p {
          color: #00817d;
          font-size: 1.5em;
          font-weight: bold; }
          @media screen and (max-width: 956px) {
            #support .inner .clmn .ttl p {
              padding-top: 80px;
              font-size: 5.6vw;
              margin-bottom: 2.66667vw; } }
  #support .support-flow {
    position: absolute;
    bottom: 0;
    background: rgba(255, 255, 255, 0.7);
    width: 100vw; }
    @media screen and (max-width: 956px) {
      #support .support-flow {
        position: relative;
        text-align: center;
        margin-top: 9.33333vw; }
        #support .support-flow .tour-icon {
          display: inline-block;
          margin-top: -30px; } }
    #support .support-flow img {
      display: block;
      margin: -25px auto 30px; }
    #support .support-flow p {
      color: #00817d;
      font-size: 1.5em;
      text-align: center;
      font-weight: bold; }
    #support .support-flow .box {
      display: flex;
      justify-content: center;
      width: 100%;
      max-width: 1240px;
      background: #fff;
      box-shadow: 5px 5px #ffd42a;
      margin: 30px auto 70px; }
      @media screen and (max-width: 956px) {
        #support .support-flow .box {
          flex-wrap: wrap;
          padding: 4vw 0; } }
      #support .support-flow .box .inner {
        padding-top: 0;
        margin-top: -1em;
        text-align: center;
        position: relative; }
        @media screen and (max-width: 956px) {
          #support .support-flow .box .inner {
            margin-top: 2.66667vw; }
            #support .support-flow .box .inner .g-dot {
              width: 100%;
              margin: 0px;
              padding: 0 8vw 0 2.66667vw;
              box-sizing: border-box; } }
        #support .support-flow .box .inner h3 {
          display: inline-block;
          padding: 5px 10px;
          background: #00817d;
          color: #fff; }
        #support .support-flow .box .inner ul {
          box-sizing: border-box;
          width: 100%;
          margin: 0;
          font-size: 17px;
          padding: 0 50px 25px; }
          @media screen and (max-width: 1240px) {
            #support .support-flow .box .inner ul {
              padding: 0 2.01613vw 25px; } }
          @media screen and (max-width: 956px) {
            #support .support-flow .box .inner ul {
              font-size: 3.73333vw; } }
          #support .support-flow .box .inner ul li {
            text-align: left; }
        #support .support-flow .box .inner::after {
          content: "";
          position: absolute;
          width: 2px;
          height: 55px;
          background: #ddd;
          right: 0;
          top: calc(50% - 27px); }
          @media screen and (max-width: 956px) {
            #support .support-flow .box .inner::after {
              height: 35.06667vw;
              top: calc(50% - 17.6vw); } }
        @media screen and (max-width: 956px) {
          #support .support-flow .box .inner:nth-child(even) .g-dot {
            padding: 0 4vw 0 4vw; }
          #support .support-flow .box .inner:nth-child(even)::after {
            background: #fff; } }
        #support .support-flow .box .inner:last-child::after {
          width: 0;
          height: 0; }
  @media screen and (max-width: 956px) {
    #support .btn {
      margin-bottom: 80px; } }

#plan {
  background: #f4f8f8;
  margin-top: -30px;
  padding-bottom: 60px;
  margin-bottom: 0; }
  #plan .content {
    padding-top: 100px; }
    #plan .content h2 span.en {
      bottom: -1.5em; }
    #plan .content h2 span.ja {
      bottom: -4em; }
    @media screen and (max-width: 956px) {
      #plan .content h2 span.en {
        line-height: 1em; } }
    #plan .content .plan-area {
      padding-top: 150px;
      display: flex;
      justify-content: center; }
      #plan .content .plan-area.sp {
        display: none; }
        #plan .content .plan-area.sp .plan-box {
          height: auto;
          margin: 20px 2.66667vw; }
      @media screen and (max-width: 956px) {
        #plan .content .plan-area {
          display: block; }
          #plan .content .plan-area.sp {
            display: block; }
          #plan .content .plan-area.pc {
            display: none; } }
      #plan .content .plan-area .plan-box {
        width: 50%;
        margin-right: 20px;
        background: #fff;
        border-radius: 10px;
        box-shadow: 4px 4px #f4f8f8, 5px 5px #ffd42a;
        text-align: center;
        padding-bottom: 30px; }
        #plan .content .plan-area .plan-box a {
          text-decoration: none; }
        #plan .content .plan-area .plan-box .detail {
          font-size: 14px; }
        @media screen and (max-width: 956px) {
          #plan .content .plan-area .plan-box {
            margin-right: 0; } }
        #plan .content .plan-area .plan-box:last-child {
          margin-right: 0; }
        #plan .content .plan-area .plan-box h3 {
          margin-bottom: 10px;
          min-height: 5em;
          color: #00817d; }
        #plan .content .plan-area .plan-box img {
          width: 100%;
          margin-bottom: -1em; }
          @media screen and (max-width: 956px) {
            #plan .content .plan-area .plan-box img {
              width: 100%; } }
        #plan .content .plan-area .plan-box p span {
          color: #f81852;
          font-weight: bold; }
        #plan .content .plan-area .plan-box p.airplane {
          display: inline-block;
          padding: 3px 10px;
          background: #00817d;
          color: #fff;
          margin-bottom: 10px; }
  #plan .btn {
    margin-top: 80px; }
    @media screen and (max-width: 956px) {
      #plan .btn {
        margin-top: 80px; } }
  #plan p.arrow.prev.slick-arrow {
    position: absolute;
    bottom: 220px;
    left: 0; }
    @media screen and (max-width: 956px) {
      #plan p.arrow.prev.slick-arrow {
        bottom: 56vw;
        width: 20.53333vw;
        z-index: 1; } }
  #plan p.arrow.next.slick-arrow {
    position: absolute;
    bottom: 220px;
    right: 0; }
    @media screen and (max-width: 956px) {
      #plan p.arrow.next.slick-arrow {
        bottom: 56vw;
        width: 20.53333vw; } }

#package {
  margin-bottom: 0; }
  #package h2 {
    margin-top: 10px; }
    #package h2 span.ja {
      bottom: -3em;
      color: #333;
      align-items: baseline;
      height: 2em; }
    #package h2 span.en {
      font-size: 1.5em;
      bottom: -5em; }
  #package .detail {
    margin-top: 10em;
    padding-bottom: 100px; }
    #package .detail h3 {
      font-size: 22px;
      font-weight: bold;
      color: #00817d;
      text-align: center; }
      @media screen and (max-width: 956px) {
        #package .detail h3 {
          font-size: 1.2em;
          text-align: center; } }
    #package .detail ul.g-dot {
      width: 100%;
      margin: 10px 0 20px;
      padding: 0 0 0 120px;
      box-sizing: border-box; }
      @media screen and (max-width: 956px) {
        #package .detail ul.g-dot {
          padding: 0; } }
  #package .image {
    background: url(../img/top/package_bg.png);
    background-position: bottom;
    background-size: cover;
    position: relative;
    min-height: 568px; }
    @media screen and (max-width: 956px) {
      #package .image {
        height: 53.33333vw;
        min-height: auto; } }
    #package .image .cover-img {
      position: absolute;
      top: -100px;
      width: 100vw; }
      #package .image .cover-img img {
        max-width: 95vw;
        display: block;
        margin: auto; }
      #package .image .cover-img .btn {
        margin-top: 60px; }
    #package .image p {
      position: absolute;
      bottom: 0;
      width: 100%;
      box-sizing: border-box;
      padding: 8px 8px 5px;
      background: rgba(0, 0, 0, 0.5);
      color: #fff;
      text-align: right; }

#resources {
  background: #fcfcfc;
  padding-top: 0; }
  #resources h2 {
    margin-top: 140px; }
    #resources h2 .ja {
      bottom: 0.5em; }
  #resources .bnr-area {
    max-width: 960px;
    margin: 50px auto;
    padding-top: 50px;
    display: flex;
    justify-content: left;
    flex-wrap: wrap; }
    @media screen and (max-width: 956px) {
      #resources .bnr-area {
        margin-bottom: 0; } }
    #resources .bnr-area a {
      display: block;
      margin: 0 20px 20px 0; }
      @media screen and (max-width: 956px) {
        #resources .bnr-area a {
          width: calc(50% - 20px);
          margin: 10px; }
          #resources .bnr-area a:nth-child(2n) {
            margin-right: 0; } }
      #resources .bnr-area a:nth-child(4n) {
        margin-right: 0; }
      #resources .bnr-area a img {
        width: 100%; }

/* SP news */
@media screen and (max-width: 956px) {
  #news {
    padding: 8vw 0 4vw 0;
    background-color: #eff6f6;
    background-image: none; }
  #news .wrapper h2 {
    float: none;
    text-align: left;
    margin: 0 0 20px 0; }
  #news .wrapper dl {
    border-top: 4px solid #ebebeb;
    border-left: none;
    height: 260px;
    padding-left: 0;
    margin-left: 0;
    padding-top: 20px; }
  #news .wrapper dl dt {
    float: none;
    margin-bottom: 5px;
    padding: 0;
    color: #2a6fa1;
    font-weight: bold; }
  #news .wrapper dl dd {
    padding-bottom: 20px;
    margin-bottom: 20px;
    margin-left: 0;
    padding-top: 0;
    border-bottom: 2px solid #ebebeb; }
  #news .wrapper dl dd:last-of-type {
    border: none;
    padding-bottom: 0;
    margin-bottom: 0; } }

/* FEATURES */
#features {
  background: url(../img/bg_features.jpg) top center no-repeat; }

#features .wrapper {
  box-sizing: border-box;
  height: 1126px;
  overflow: hidden;
  padding: 40px 0; }

#features .wrapper > ul {
  margin-bottom: 40px; }

#features .wrapper > ul:after {
  content: '';
  display: block;
  clear: both; }

#features .wrapper > ul li {
  display: block;
  float: left;
  width: 280px;
  height: 270px;
  margin-right: 20px;
  margin-left: 20px;
  text-align: center;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
  padding-top: 210px; }

#features .wrapper > ul li strong {
  font-size: 0;
  color: #fff;
  line-height: 1;
  display: block; }

#features .wrapper > ul li:last-of-type {
  margin-right: 0; }

#features .wrapper > ul li:nth-of-type(1) {
  background: #FFF url(../img/bg_point_01.png) center no-repeat;
  background-size: 280px 270px; }

#features .wrapper > ul li:nth-of-type(2) {
  background: #FFF url(../img/bg_point_02.png) center no-repeat;
  background-size: 280px 270px; }

#features .wrapper > ul li:nth-of-type(3) {
  background: #FFF url(../img/bg_point_03.png) center no-repeat;
  background-size: 280px 270px; }

#features .wrapper .special {
  background-color: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.75);
  box-sizing: border-box;
  padding: 30px 20px;
  margin: 0 auto;
  width: 920px; }

#features .wrapper .special dl {
  width: 100%;
  background: #f0f0f0; }

#features .wrapper .special dl:after {
  content: '';
  display: block;
  clear: both; }

#features .wrapper .special dl dt {
  display: block;
  float: left;
  width: 50%;
  position: relative; }

#features .wrapper .special dl dt:after {
  display: block;
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  width: 20px;
  height: 40px;
  margin-top: -20px;
  background: url(../img/pointer_left.png) center no-repeat; }

#features .wrapper .special dl dd {
  display: block;
  float: left;
  width: 50%;
  background: #f0f0f0;
  box-sizing: border-box;
  padding: 25px;
  padding-bottom: 0;
  font-size: 1.3rem;
  position: relative;
  max-height: 235px; }

#features .wrapper .special dl dd span {
  display: block;
  position: absolute;
  top: -10px;
  right: -10px; }

#features .wrapper .special dl dd h4 {
  margin-bottom: 20px;
  font-size: 1.7rem; }

#features .wrapper .special dl dd ul li {
  background: url("../common/images/bullet.png") 0 6px no-repeat;
  background-size: 8px 8px;
  padding-left: 20px;
  margin-bottom: 5px; }

#features .wrapper .special dl dd p:last-of-type {
  text-align: right;
  margin-top: 30px; }

#features .wrapper .special dl dd a {
  font-weight: bold;
  font-size: 15px;
  display: inline-block;
  text-decoration: none; }

#features .wrapper .special dl dd a.pdf {
  background: url("../common/images/link_pdf.png") 0 2px no-repeat;
  background-size: 13px 16px;
  padding-left: 20px; }

#features .wrapper .special dl dd a.link {
  background: url("../common/images/arrow_link.png") 100% 4px no-repeat;
  padding-right: 20px; }

#features .wrapper .special dl dd a:hover {
  text-decoration: underline; }

#features .wrapper .special dl:nth-of-type(2) dt {
  float: right; }

#features .wrapper .special dl:nth-of-type(2) dt:after {
  left: 0;
  right: inherit;
  background: url(../img/pointer_right.png) center no-repeat; }

#features .wrapper .special dl:nth-of-type(2) dd p:last-of-type {
  margin-top: 0px; }

#features .wrapper .special dl:nth-of-type(2) h4 {
  margin-bottom: 10px; }

/* SP features */
@media screen and (max-width: 956px) {
  #features {
    background: #FFF url(../img/bg_features.jpg) bottom center no-repeat; }
  #features .wrapper {
    box-sizing: border-box;
    height: auto;
    overflow: inherit;
    padding: 30px 0 1px 0; }
  #features .wrapper > ul {
    background: #FFF;
    padding-bottom: 20px;
    margin-bottom: 20px; }
  #features .wrapper > ul:after {
    content: '';
    display: block;
    clear: both; }
  #features .wrapper > ul li {
    float: none;
    width: 250px;
    height: 240px;
    margin: 5px auto 25px auto;
    box-sizing: border-box;
    padding-top: 185px; }
  #features .wrapper > ul li:last-of-type {
    margin-right: auto; }
  #features .wrapper > ul li:nth-of-type(1) {
    background-size: 250px 240px; }
  #features .wrapper > ul li:nth-of-type(2) {
    background-size: 250px 240px; }
  #features .wrapper > ul li:nth-of-type(3) {
    background-size: 250px 240px; }
  #features .wrapper .special {
    background: none;
    border: none;
    padding: 10px 20px 0 20px;
    width: 100%; }
  #features .wrapper .special dl {
    width: 100%;
    background: none;
    margin-bottom: 20px; }
  #features .wrapper .special dl dt {
    float: none;
    width: 100%;
    position: relative; }
  #features .wrapper .special dl dt:after {
    display: block;
    content: '';
    position: absolute;
    top: inherit;
    right: inherit;
    left: 50%;
    bottom: 0;
    width: 35px;
    height: 18px;
    margin-top: 0;
    margin-left: -17px;
    background: url(../img/pointer_top_sp.png) center no-repeat;
    background-size: 35px 18px; }
  #features .wrapper .special dl dd {
    display: block;
    float: none;
    width: 100%;
    background: #fff;
    box-sizing: border-box;
    padding: 20px;
    font-size: 1.3rem;
    position: relative;
    max-height: inherit; }
  #features .wrapper .special dl dd span {
    display: block;
    position: absolute;
    top: -30px;
    right: -10px; }
  #features .wrapper .special dl dd h4 {
    margin-bottom: 15px; }
  #features .wrapper .special dl dd p:last-of-type {
    text-align: left;
    margin-top: 15px; }
  #features .wrapper .special dl:nth-of-type(2) dt {
    float: none; }
  #features .wrapper .special dl:nth-of-type(2) dt:after {
    top: inherit;
    right: inherit;
    left: 50%;
    bottom: 0;
    width: 35px;
    height: 18px;
    margin-top: 0;
    margin-left: -17px;
    background: url(../img/pointer_top_sp.png) center no-repeat;
    background-size: 35px 18px; }
  #features .wrapper .special dl:nth-of-type(2) dd p:last-of-type {
    margin-top: 0px; }
  #features .wrapper .special dl:nth-of-type(2) h4 {
    margin-bottom: 15px; } }

/* FLOW */
#flow {
  padding: 60px 0;
  text-align: center; }

/* SP flow */
@media screen and (max-width: 956px) {
  #flow {
    box-sizing: border-box;
    padding: 30px 20px;
    width: 100%; }
  #flow img {
    max-width: 560px; } }

/* PLANS */
#plans {
  background: url("../common/images/bg_blue.png");
  padding: 60px 0 40px 0; }

#plans h2 {
  margin-bottom: 0; }

#plans p a.btn {
  display: block;
  text-align: center; }

#plans .slideshow {
  margin: 0 auto; }

#plans .slideshow div {
  box-sizing: border-box;
  padding: 12px 0; }

#plans .slideshow div dl {
  background: #FFF;
  width: 225px;
  height: 300px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  margin: 0 auto; }

#plans .slideshow div dl a {
  text-decoration: none; }

#plans .slideshow div dl a:hover {
  text-decoration: underline; }

#plans .slideshow div dl dd {
  padding: 10px 15px;
  font-size: 1.3rem; }

#plans .slideshow div dl dd p {
  margin: 0;
  line-height: 1.5; }

#plans .slideshow div dl dd strong {
  color: #e85252; }

/* SP plans */
@media screen and (max-width: 956px) {
  .slideshow {
    width: 250px;
    margin-bottom: 15px; }
  .slideshow div {
    padding: 5px 0; }
  .slideshow div dl {
    background: #FFF;
    width: 225px;
    height: 300px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    margin: 0 12px; }
  .slideshow div dl dd {
    padding: 10px 15px;
    font-size: 1.3rem; }
  .slideshow div dl dd p {
    margin: 0;
    line-height: 1.5; }
  .slideshow div dl dd strong {
    color: #e85252; } }

/* Resources & Sponsors */
#sponsors {
  margin: 0 auto;
  padding: 60px 0 0 0;
  text-align: center; }

#sponsors ul {
  width: auto;
  display: table;
  margin: 0 auto;
  padding: 0;
  overflow: hidden; }

#sponsors ul li {
  width: 460px;
  margin: 0 30px 20px 0;
  display: block;
  float: left; }

#sponsors ul li:nth-of-type(2n) {
  margin-right: 0; }

#supporters {
  margin: 0 auto;
  padding: 20px 0 30px 0;
  text-align: center; }

#supporters ul {
  width: 960px;
  margin: 0 auto;
  padding: 0;
  overflow: hidden; }

#supporters ul li {
  width: 300px;
  margin: 0 30px 20px 0;
  padding: 1px 0;
  display: block;
  float: left; }

#supporters ul li:nth-of-type(3n) {
  margin-right: 0; }

#supporters ul li:nth-of-type(4) {
  margin-left: 160px; }

#supporters ul li img {
  border: 1px solid #e1e1e1; }

/* SP resources & sponsors */
@media screen and (max-width: 956px) {
  #resources {
    padding: 0 0 20px 0; }
  #resources ul {
    width: 100%; }
  #resources ul li {
    width: 44%;
    margin: 0 3% 20px 3%; }
  #resources ul li:nth-of-type(2n) {
    margin-right: 0; }
  #sponsors {
    margin: 0 auto;
    padding: 30px 0 0 0; }
  #sponsors ul {
    box-sizing: border-box;
    width: 100%;
    padding: 0 40px; }
  #sponsors ul li {
    width: 100%;
    margin: 0 0 20px 0; }
  #supporters {
    margin: 0 auto;
    padding: 20px 0 30px 0;
    text-align: center; }
  #supporters ul {
    box-sizing: border-box;
    width: 100%;
    padding: 0 20px; }
  #supporters ul li {
    width: 44%;
    margin: 0 3% 10px 3%; }
  #supporters ul li:nth-of-type(4) {
    margin-left: 3%; }
  #supporters ul li:nth-of-type(3n) {
    margin-right: 3%; }
  #supporters ul li:nth-of-type(2n) {
    margin-right: 0; } }

#sp_header {
  display: none; }

/*------------------------------------------------------------
header
------------------------------------------------------------*/
header {
  width: 100%;
  background-color: rgba(0, 0, 0, 0.25); }

header .top_line {
  background: #fff;
  color: #333;
  height: 40px; }

header .top_line span {
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -480px; }

header h1 {
  padding: 20px 0 21px;
  width: 960px;
  margin: 0 auto; }

header h1 a, header h1 a:hover {
  text-decoration: none; }

#header_nav, #btn_out {
  display: none; }

#menu_wrap {
  width: 960px;
  margin: 0 auto;
  position: relative; }

#header_contact {
  position: absolute;
  top: -100px;
  right: 0;
  text-align: right; }
  #header_contact .btn {
    margin-top: 40px; }

#totop li:nth-of-type(1) {
  position: absolute;
  top: -58px;
  left: 345px; }

#totop li:nth-of-type(1) a {
  color: #fff;
  font-size: 1.1rem;
  font-style: italic; }

#totop li:nth-of-type(2) {
  position: absolute;
  top: -123px;
  right: 0; }

#totop li:nth-of-type(2) a {
  color: #000;
  text-decoration: none; }

#totop li:nth-of-type(2) img {
  margin-right: 5px;
  margin-bottom: 3px;
  vertical-align: middle; }

#sns {
  letter-spacing: -0.4em;
  position: absolute;
  top: -124px;
  right: 150px; }
  #sns img {
    vertical-align: middle; }

#sns li {
  display: inline-block;
  letter-spacing: normal;
  padding: 0 0 0 34px; }

/*------------------------------------------------------------
g_nav
------------------------------------------------------------*/
#g_nav, #g_nav_scroll {
  width: 100%; }

.clear {
  clear: both; }

/*------------------------------------------------------------
g_nav_scroll
------------------------------------------------------------*/
#g_nav_scroll {
  position: fixed;
  top: 0;
  left: 0;
  margin: 0;
  z-index: 9999;
  background: #093e8d;
  box-shadow: 0px 0px 4px #000; }

#g_nav ul, #g_nav_scroll ul {
  width: 960px;
  height: 48px;
  padding-left: 8px;
  margin: 0 auto;
  /* border-left: 1px solid rgba(255, 255, 255, .5); */
  -moz-background-clip: padding;
  /* Firefox 3.6 */
  -webkit-background-clip: padding;
  /* Safari 4? Chrome 6? */
  background-clip: padding-box; }

#g_nav ul li, #g_nav_scroll ul li {
  float: left;
  text-align: center;
  position: relative;
  border-right: 1px solid rgba(255, 255, 255, 0.5); }

#g_nav ul li:last-of-type, #g_nav_scroll ul li:last-of-type {
  border: none; }

#g_nav ul li a, #g_nav_scroll ul li a {
  display: block;
  overflow: hidden;
  text-indent: -1000px;
  text-decoration: none;
  line-height: 1;
  font-size: 0;
  height: 48px;
  -webkit-transition: all 0s;
  -o-transition: all 0s;
  transition: all 0s; }

#g_nav ul li a img, #g_nav_scroll ul li a img {
  vertical-align: middle; }

#g_nav ul li:nth-of-type(1) a, #g_nav_scroll ul li:nth-of-type(1) a {
  width: 220px;
  background: url(../common/images/menu_01_top.png) 50% 0px no-repeat; }

#g_nav ul li:nth-of-type(1) a:hover, #g_nav_scroll ul li:nth-of-type(1) a:hover {
  background: #f6f6f6 url(../common/images/menu_01_top.png) 50% -50px no-repeat;
  opacity: 1; }

#g_nav ul li:nth-of-type(3) a, #g_nav_scroll ul li:nth-of-type(3) a {
  width: 260px;
  background: url(../common/images/menu_03_flow.png) 50% 0px no-repeat; }

#g_nav ul li:nth-of-type(3) a:hover, #g_nav_scroll ul li:nth-of-type(3) a:hover {
  background: #f6f6f6 url(../common/images/menu_03_flow.png) 50% -50px no-repeat;
  opacity: 1; }

#g_nav ul li:nth-of-type(4) a, #g_nav_scroll ul li:nth-of-type(4) a {
  width: 125px;
  background: url(../common/images/menu_04_privilege.png) 50% 0px no-repeat; }

#g_nav ul li:nth-of-type(4) a:hover, #g_nav_scroll ul li:nth-of-type(4) a:hover {
  background: #f6f6f6 url(../common/images/menu_04_privilege.png) 50% -50px no-repeat;
  opacity: 1; }

#g_nav ul li:nth-of-type(5) a, #g_nav_scroll ul li:nth-of-type(5) a {
  width: 198px;
  background: url(../common/images/menu_05_plan.png) 50% 0px no-repeat; }

#g_nav ul li:nth-of-type(5) a:hover, #g_nav_scroll ul li:nth-of-type(5) a:hover {
  background: #f6f6f6 url(../common/images/menu_05_plan.png) 50% -50px no-repeat;
  opacity: 1; }

#g_nav ul li.nav_slide, #g_nav_scroll ul li.nav_slide {
  position: relative;
  background: url(../common/images/menu_02_support.png) 50% 0px no-repeat; }

#g_nav ul li.nav_slide:hover, #g_nav_scroll ul li.nav_slide:hover {
  background: #f6f6f6 url(../common/images/menu_02_support.png) 50% -50px no-repeat;
  opacity: 1; }

#g_nav ul li.nav_slide a, #g_nav_scroll ul li.nav_slide a {
  width: 144px; }

#g_nav ul li.nav_slide .nav_down, #g_nav_scroll ul li.nav_slide .nav_down {
  width: 200px;
  border: none;
  height: auto;
  position: absolute;
  top: 48px;
  left: -8px;
  z-index: 999; }

#g_nav ul li.nav_slide .nav_down li, #g_nav_scroll ul li.nav_slide .nav_down li {
  float: inherit;
  text-align: left;
  margin: 0;
  border-right: none;
  border-bottom: 1px solid white; }

#g_nav ul li.nav_slide .nav_down li a, #g_nav_scroll ul li.nav_slide .nav_down li a {
  width: 200px;
  height: 46px;
  margin: 0;
  padding: 0;
  line-height: 1; }

#g_nav ul li.nav_slide .nav_down li:nth-of-type(1) a, #g_nav_scroll ul li.nav_slide .nav_down li:nth-of-type(1) a {
  background: #f6f6f6 url(../common/images/dd_nav_01.png) 32px -46px no-repeat; }

#g_nav ul li.nav_slide .nav_down li:nth-of-type(1) a:hover, #g_nav_scroll ul li.nav_slide .nav_down li:nth-of-type(1) a:hover {
  background: #093e8d url(../common/images/dd_nav_01.png) 32px 0 no-repeat; }

#g_nav ul li.nav_slide .nav_down li:nth-of-type(2) a, #g_nav_scroll ul li.nav_slide .nav_down li:nth-of-type(2) a {
  background: #f6f6f6 url(../common/images/dd_nav_02.png) 32px -46px no-repeat; }

#g_nav ul li.nav_slide .nav_down li:nth-of-type(2) a:hover, #g_nav_scroll ul li.nav_slide .nav_down li:nth-of-type(2) a:hover {
  background: #093e8d url(../common/images/dd_nav_02.png) 32px 0 no-repeat; }

@media screen and (min-width: 957px) {
  #menu_wrap {
    display: block !important; } }

/* SP */
@media screen and (max-width: 956px) {
  header {
    padding-bottom: 0;
    background-color: #fff;
    display: block;
    height: 60px;
    position: fixed;
    width: 100%;
    z-index: 999; }
  header.header_on {
    position: relative; }
  header .top_line {
    display: none; }
  header h1 {
    padding: 15px 0 0 10px;
    width: auto;
    margin: 0;
    text-align: left; }
  #header_nav {
    background: transparent url("../common/images/bt_menu_sp.gif") no-repeat scroll center top/40px 40px;
    height: 40px;
    overflow: hidden;
    position: absolute;
    right: 10px;
    text-indent: 100%;
    top: 10px;
    white-space: nowrap;
    width: 40px;
    display: block; }
  #header_nav.on {
    background: transparent url("../common/images/bt_menu_out01_sp.gif") no-repeat scroll center top/40px 40px; }
  #g_nav_scroll {
    display: none; }
  #btn_out {
    display: block;
    padding-bottom: 20px;
    border-bottom: 4px solid #093e8d; }
  #menu_wrap {
    background: #fff none repeat scroll 0 0;
    display: none;
    position: absolute;
    right: 0;
    top: 60px;
    width: 100%;
    text-align: center; }
  #nav_down {
    display: none !important; }
  #g_nav {
    position: relative;
    top: 0;
    left: 0; }
  #g_nav ul {
    border: none;
    height: auto;
    margin: 0 0 20px;
    width: 100%;
    padding: 0; }
  #g_nav ul li {
    background: #F3F3F3 url("../common/images/icon_arrow_s.png") no-repeat scroll 98% center/11px 17px;
    display: block;
    padding: 0;
    text-decoration: none;
    border-right: none;
    float: none;
    margin-bottom: 2px; }
  #g_nav ul li.nav_slide {
    background: #F3F3F3 url("../common/images/icon_arrow_s.png") no-repeat scroll 98% center/11px 17px; }
  #g_nav ul li a {
    height: auto;
    width: 100% !important;
    line-height: 1;
    background-image: none !important;
    text-indent: 0;
    padding: 15px;
    box-sizing: border-box; }
  #g_nav ul li a:hover {
    background: #F3F3F3 url("../common/images/icon_arrow_s.png") no-repeat scroll 98% center/11px 17px !important; }
  .nav_down {
    display: none !important; }
  #header_contact {
    position: relative;
    top: 0;
    right: 0;
    text-align: center;
    margin-bottom: 50px; }
  #header_contact li:nth-of-type(1) {
    margin-bottom: 20px; }
  #totop {
    margin-bottom: 20px; }
  #totop li:nth-of-type(1) {
    position: relative;
    top: 0px;
    left: 0px;
    margin-bottom: 20px; }
  #totop li:nth-of-type(2) {
    position: relative;
    top: 0px;
    right: 0; }
  #totop li:nth-of-type(2) img {
    margin-right: 0px;
    vertical-align: middle; }
  #sns {
    position: relative;
    top: 0px;
    right: 0px;
    padding: 20px 0;
    border-bottom: 4px solid #f3f3f3;
    border-top: 4px solid #f3f3f3;
    margin-bottom: 30px; }
  #sns li {
    padding: 0 10px; } }

.sub #visual {
  height: auto;
  padding-bottom: 0; }
  .sub #visual header {
    background: #00817d; }
    @media screen and (max-width: 956px) {
      .sub #visual header {
        background-color: #fff; } }
    @media screen and (min-width: 957px) {
      .sub #visual header #menu_wrap {
        height: 0; } }
  .sub #visual .ttl {
    position: relative;
    top: auto;
    left: auto;
    height: 240px;
    width: 100vw;
    background: url(../img/topics/mv.png);
    background-position: center; }
    @media screen and (max-width: 956px) {
      .sub #visual .ttl {
        height: 330px;
        background-repeat: no-repeat; } }
    .sub #visual .ttl h2 {
      display: none; }

.contacts {
  background: url("../common/images/bg_lines.png");
  padding: 40px 0; }

.contacts .wrapper {
  width: 960px;
  margin: 0 auto;
  overflow: hidden; }

.contacts .wrapper dl {
  background: #fff;
  box-sizing: border-box;
  padding: 10px;
  display: block;
  width: 460px;
  height: 190px;
  overflow: hidden;
  float: left;
  margin: 5px 10px; }

.contacts .wrapper dl dt {
  background: #093e8d;
  color: #fff;
  font-weight: bold;
  font-size: 1.5rem;
  text-align: center;
  line-height: 36px; }

.contacts .wrapper dl dd {
  text-align: center;
  padding-top: 15px;
  font-size: 1.2rem; }

.contacts .wrapper dl dd img {
  vertical-align: top;
  margin-right: 5px; }

.contacts .wrapper dl dd p {
  margin-bottom: 10px; }

.contacts .wrapper dl dd p.phone {
  color: #093e8d;
  font-weight: bold;
  font-size: 2.2rem; }

.contacts .wrapper dl dd p.phone a {
  text-decoration: none;
  color: #093e8d; }

.contacts .wrapper dl dd p.phone img {
  vertical-align: baseline; }

.bottom_menu {
  padding: 30px 0; }

.bottom_menu ul {
  width: 940px;
  margin: 0 auto;
  overflow: hidden; }

.bottom_menu ul li {
  float: left;
  display: block;
  width: auto;
  margin-right: 70px;
  font-size: 1.4rem;
  font-weight: bold; }

.bottom_menu ul li a {
  color: #093e8d;
  text-decoration: none; }

.bottom_menu ul li:last-of-type {
  margin-right: 0; }

.bottom_menu ul li ul {
  width: auto;
  margin: 0; }

.bottom_menu ul li ul li {
  float: none;
  width: auto;
  font-size: 1.2rem;
  margin: 5px 0; }

.bottom_menu ul li ul li a {
  color: #999999;
  text-decoration: none; }

.bottom_links {
  background: #093e8d;
  padding: 10px 0 1px 0; }

.bottom_links p {
  display: block;
  width: 960px;
  margin: 10px auto;
  text-align: center;
  font-size: 1.2rem;
  line-height: 2; }

.bottom_links p a {
  color: #fff;
  text-decoration: none;
  margin: 0 10px; }

.bottom_links p:last-of-type {
  width: 100%;
  border-top: 1px solid #5378af;
  padding-top: 10px; }

.copyright {
  background: #252525;
  color: #fff;
  text-align: center;
  padding: 10px 0;
  font-size: 1.1rem; }

@media screen and (min-width: 957px) {
  .contacts .wrapper dl dd {
    display: block !important;
    height: auto !important; } }

/*------------------------------------------------------------
footer
------------------------------------------------------------*/
/* SP */
@media screen and (max-width: 956px) {
  .contacts {
    background: url("../common/images/bg_lines.png");
    padding: 20px 0; }
  .contacts .wrapper {
    width: 100%;
    margin: 0 auto;
    overflow: hidden; }
  .contacts .wrapper dl {
    background: #fff;
    box-sizing: border-box;
    padding: 5px 10px 0 10px;
    display: block;
    width: 100%;
    height: auto;
    overflow: inherit;
    float: none;
    margin: 0; }
  .contacts .wrapper dl:first-of-type {
    padding-top: 10px; }
  .contacts .wrapper dl:last-of-type {
    padding-bottom: 10px; }
  .contacts .wrapper dl dt {
    background: #093e8d url("../common/images/acc_arrow_closed.png") 96% 50% no-repeat;
    background-size: 10px 6px;
    color: #fff;
    padding-left: 10px;
    font-weight: bold;
    font-size: 1.3rem;
    text-align: left;
    line-height: 40px; }
  .contacts .wrapper dl dt.on {
    background: #093e8d url("../common/images/acc_arrow_opened.png") 96% 50% no-repeat;
    background-size: 10px 6px; }
  .contacts .wrapper dl dd {
    text-align: center;
    padding: 10px 10px 1px 10px;
    font-size: 1.2rem; }
  .contacts .wrapper dl dd.acc_wrapper {
    display: none; }
  .contacts .wrapper dl dd img {
    vertical-align: top;
    margin-right: 5px; }
  .contacts .wrapper dl dd p {
    margin-bottom: 7px; }
  .contacts .wrapper dl dd p.phone {
    color: #093e8d;
    font-weight: bold;
    font-size: 1.6rem; }
  .contacts .wrapper dl dd p.phone img {
    vertical-align: baseline; }
  .contacts .wrapper dl dd p.phone a {
    text-decoration: none;
    color: #093e8d; }
  .bottom_menu {
    padding: 0; }
  .bottom_menu ul {
    width: 100%;
    margin: 0 auto;
    overflow: inherit; }
  .bottom_menu ul li {
    float: none;
    display: block;
    width: 100%; }
  .bottom_menu ul li a {
    display: block;
    border-top: 2px solid #093e8d;
    color: #093e8d;
    text-decoration: none;
    padding: 15px 0 15px 40px;
    font-weight: bold;
    background: url("../common/images/icon_arrow_s2.png") 20px 20px no-repeat;
    background-size: 6px 10px; }
  .bottom_menu ul li.last {
    float: none;
    width: 100%; }
  .bottom_menu ul li ul {
    display: none; }
  .bottom_links {
    background: #093e8d;
    padding: 10px 0 1px 0; }
  .bottom_links p {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 5px 10px;
    font-size: 1.1rem; }
  .bottom_links p a {
    margin: 0 5px; } }

/*# sourceMappingURL=footer.css.map */
@media screen and (min-width: 957px) {
  #topics #visual header #menu_wrap {
    height: 0; } }

#topics #visual .ttl {
  position: relative;
  top: auto;
  left: auto;
  transform: none; }

#topics .link-area {
  display: flex;
  width: 100%;
  max-width: 960px;
  margin: auto;
  justify-content: center; }
  @media screen and (max-width: 956px) {
    #topics .link-area {
      flex-wrap: wrap;
      margin-bottom: 20px; } }
  #topics .link-area h3 {
    margin: 50px 15px auto;
    font-weight: 100;
    width: calc(25% - 30px); }
    @media screen and (max-width: 956px) {
      #topics .link-area h3 {
        margin: 20px 10px auto;
        width: calc(50% - 20px); } }
    #topics .link-area h3 a {
      padding: 15px 20px;
      display: block;
      width: auto;
      background: #00817d;
      text-align: center;
      text-decoration: none;
      color: #fff;
      border-radius: 10px;
      box-shadow: 4px 4px #fff, 5px 5px #ffd42a;
      position: relative; }
      #topics .link-area h3 a:hover {
        opacity: 0.6;
        transition: opacity 0.5s; }
      #topics .link-area h3 a::after {
        content: "";
        position: absolute;
        width: 0;
        height: 0;
        border-left: 30px solid transparent;
        border-right: 30px solid transparent;
        border-top: 30px solid #00817d;
        left: calc(50% - 30px); }
      #topics .link-area h3 a span {
        display: block; }
        #topics .link-area h3 a span.ja {
          font-size: 1em;
          line-height: 1.2em; }
        #topics .link-area h3 a span.en {
          font-family: "Sacramento", cursive;
          font-family: 0.8em;
          color: #ffd42a; }

#topics #step {
  margin-top: 0; }
  @media screen and (max-width: 956px) {
    #topics #step .step-area {
      padding-top: 0px; } }

.catch_text {
  color: #00817d;
  font-size: 1.6em;
  font-weight: bold;
  text-align: center;
  margin-top: 60px; }
  @media screen and (max-width: 956px) {
    .catch_text {
      flex-wrap: wrap;
      font-size: 3.33333vw;
      margin-bottom: 20px;
      margin-top: 0; } }

.support_sub {
  /* COACH */
  /* TOUR SUPPORT */
  /* RCH */
  /* FEE */ }
  .support_sub #visual .ttl {
    background: url(../img/support/mv.jpg);
    background-position: center;
    background-repeat: no-repeat;
    transform: none; }
  .support_sub section h2 span.en {
    line-height: 1em;
    bottom: 0; }
  .support_sub .link-area {
    display: flex;
    width: 100%;
    max-width: 960px;
    margin: 0 auto 100px; }
    @media screen and (max-width: 956px) {
      .support_sub .link-area {
        flex-wrap: wrap; } }
    .support_sub .link-area h3 {
      margin: 50px 15px auto;
      font-weight: 100;
      width: calc(50% - 30px); }
      @media screen and (max-width: 956px) {
        .support_sub .link-area h3 {
          margin: 20px 10px auto;
          width: calc(50% - 20px); } }
      .support_sub .link-area h3 a {
        padding: 15px 20px;
        display: block;
        width: auto;
        background: #00817d;
        text-align: center;
        text-decoration: none;
        color: #fff;
        border-radius: 10px;
        box-shadow: 4px 4px #fff, 5px 5px #ffd42a;
        position: relative; }
        .support_sub .link-area h3 a:hover {
          opacity: 0.6;
          transition: opacity 0.5s; }
        .support_sub .link-area h3 a::after {
          content: "";
          position: absolute;
          width: 0;
          height: 0;
          border-left: 30px solid transparent;
          border-right: 30px solid transparent;
          border-top: 30px solid #00817d;
          left: calc(50% - 30px); }
        .support_sub .link-area h3 a span {
          display: block; }
          .support_sub .link-area h3 a span.ja {
            font-size: 1em;
            line-height: 1.2em; }
          .support_sub .link-area h3 a span.en {
            font-family: "Sacramento", cursive;
            font-family: 0.8em;
            color: #ffd42a; }
    @media screen and (max-width: 956px) {
      .support_sub .link-area.support h3 a {
        padding: 4vw 2.66667vw; } }
  .support_sub #coach {
    background: #fcfcfc;
    margin-bottom: 0px; }
    @media screen and (max-width: 956px) {
      .support_sub #coach {
        padding-top: 40px; } }
    .support_sub #coach h2 {
      margin: 40px auto 20px;
      position: relative;
      height: 6em; }
    .support_sub #coach .intro {
      font-size: 1.8rem;
      line-height: 1.8;
      text-align: center;
      font-weight: bold;
      color: #00817d;
      margin-top: 60px; }
      @media screen and (max-width: 956px) {
        .support_sub #coach .intro {
          margin-top: 50px;
          font-size: 1em; } }
    .support_sub #coach .box {
      background: #fff;
      box-shadow: 5px 5px #ffd42a;
      padding: 0 40px 50px;
      position: relative;
      margin-top: 50px; }
      @media screen and (max-width: 956px) {
        .support_sub #coach .box {
          padding: 0 10px 50px;
          margin-top: 40px; } }
      .support_sub #coach .box .prof {
        display: flex;
        position: relative; }
        .support_sub #coach .box .prof .img {
          margin-right: 20px; }
        @media screen and (max-width: 956px) {
          .support_sub #coach .box .prof {
            display: block; } }
        .support_sub #coach .box .prof .txt {
          padding-top: 20px; }
          @media screen and (max-width: 956px) {
            .support_sub #coach .box .prof .txt {
              padding-top: 0;
              margin-top: 0; } }
          .support_sub #coach .box .prof .txt > p {
            margin-bottom: 20px; }
            @media screen and (max-width: 956px) {
              .support_sub #coach .box .prof .txt > p {
                margin: 10px auto; } }
          .support_sub #coach .box .prof .txt .name {
            font-size: 2.4rem;
            font-weight: bold;
            background: #00817d;
            color: #fff;
            padding: 0 15px;
            margin-bottom: 15px; }
            .support_sub #coach .box .prof .txt .name span {
              font-weight: normal;
              font-size: 1.4rem;
              margin-left: 10px; }
          .support_sub #coach .box .prof .txt ul {
            width: auto;
            padding: 0;
            margin: 0; }
            .support_sub #coach .box .prof .txt ul li {
              font-size: 1.6rem;
              color: #00817d; }
      .support_sub #coach .box .link a {
        color: #00817d;
        font-weight: bold;
        background: rgba(0, 0, 0, 0) linear-gradient(transparent 70%, #ffd42a 0%) repeat scroll 0 0;
        text-decoration: none;
        padding: 2px 5px;
        position: relative; }
        .support_sub #coach .box .link a i {
          width: 18px;
          height: 1px;
          background: #00817d;
          display: block;
          position: absolute;
          top: 50%;
          right: -20px; }
          .support_sub #coach .box .link a i:after {
            content: "";
            width: 5px;
            height: 1px;
            display: block;
            background: #00817d;
            transform: rotate(45deg);
            position: absolute;
            right: 0;
            bottom: 2px; }
      .support_sub #coach .box .detail {
        padding-top: 10px; }
        @media screen and (max-width: 956px) {
          .support_sub #coach .box .detail {
            padding-top: 40px; } }
        .support_sub #coach .box .detail dt {
          font-size: 1.8rem;
          color: #00817d;
          font-weight: bold;
          margin-bottom: 15px; }
        .support_sub #coach .box .detail dd {
          margin-bottom: 10px; }
          .support_sub #coach .box .detail dd:before {
            content: "■";
            font-size: 0.5rem;
            vertical-align: middle;
            color: #00817d;
            margin-right: 10px; }
          .support_sub #coach .box .detail dd .link {
            display: inline-block;
            margin-left: 10px; }
            @media screen and (max-width: 956px) {
              .support_sub #coach .box .detail dd .link {
                margin: 10px auto; } }
      .support_sub #coach .box .description {
        line-height: 2; }
    .support_sub #coach .sub-ttl {
      text-align: center;
      line-height: 1.5;
      margin-top: 60px; }
      .support_sub #coach .sub-ttl .ja {
        font-size: 2.4rem; }
      .support_sub #coach .sub-ttl .en {
        font-family: "Sacramento", cursive;
        color: #ffd42a;
        font-size: 2.4rem; }
      .support_sub #coach .sub-ttl + .intro {
        margin-top: 40px; }
    .support_sub #coach .box:last-child .prof .txt { }
      @media screen and (max-width: 956px) {
        .support_sub #coach .box:last-child .prof .txt { } }
    .support_sub #coach .box .detail strong {
      font-size: 1.8rem;
      color: #00817d;
      font-weight: bold;
      margin-bottom: 15px;
      display: block; }
      .support_sub #coach .box .detail strong + p {
        margin-bottom: 40px; }
    .support_sub #coach .box .detail .bold {
      font-weight: bold; }
    @media screen and (max-width: 956px) {
      .support_sub #coach .box .detail .table-scroll {
        overflow: auto;
        white-space: nowrap; } }
    .support_sub #coach .box .detail .schedule {
      width: 100%; }
      @media screen and (max-width: 956px) {
        .support_sub #coach .box .detail .schedule {
          min-width: 400px; } }
      .support_sub #coach .box .detail .schedule tr:nth-child(odd) {
        background: #e5f2f2; }
      .support_sub #coach .box .detail .schedule tr th,
      .support_sub #coach .box .detail .schedule tr td {
        padding: 10px;
        text-align: center; }
    .support_sub #coach .box .detail .notice {
      text-align: right;
      font-size: 1rem;
      margin-top: 10px; }
      @media screen and (max-width: 956px) {
        .support_sub #coach .box .detail .notice {
          text-align: left; } }
    .support_sub #coach .box .detail .clmn3 {
      margin: 20px auto;
      display: block;
      width: 100%;
      clear: both;
      overflow: hidden; }
      @media screen and (max-width: 956px) {
        .support_sub #coach .box .detail .clmn3 {
          display: block; } }
      .support_sub #coach .box .detail .clmn3 img {
        width: calc(33% - 20px);
        margin: 10px;
        height: auto;
        display: block;
        float: left; }
        @media screen and (max-width: 956px) {
          .support_sub #coach .box .detail .clmn3 img {
            float: none;
            width: calc(100% - 20px); } }
  .support_sub #tour-support {
    background: #eff6f6;
    margin-top: 80px;
    padding-bottom: 80px; }
    .support_sub #tour-support h2 {
      padding-top: 150px; }
    .support_sub #tour-support .intro {
      font-size: 1.8rem;
      line-height: 1.8;
      text-align: center;
      font-weight: bold;
      color: #00817d;
      margin-top: 60px; }
    .support_sub #tour-support .support {
      margin-top: 60px; }
      .support_sub #tour-support .support .ttl {
        text-align: center;
        margin-top: 80px; }
        @media screen and (max-width: 956px) {
          .support_sub #tour-support .support .ttl {
            margin-top: 30px; } }
        .support_sub #tour-support .support .ttl:first-child {
          margin-top: 0; }
        .support_sub #tour-support .support .ttl span {
          font-size: 1.8rem;
          text-shadow: 3px 3px 0px rgba(255, 255, 255, 0.6);
          font-weight: bold;
          color: #00817d;
          background: rgba(0, 0, 0, 0) linear-gradient(transparent 50%, #ffd42a 0%) repeat scroll 0 0;
          display: inline-block;
          text-align: center;
          padding: 0 10px; }
      .support_sub #tour-support .support .content {
        display: flex;
        align-items: center;
        border-bottom: 1px dashed #00817d;
        padding: 40px 20px; }
        .support_sub #tour-support .support .content.no-border {
          border-bottom: none; }
        .support_sub #tour-support .support .content.imgs {
          padding-top: 0; }
          .support_sub #tour-support .support .content.imgs dd {
            flex: 1; }
            .support_sub #tour-support .support .content.imgs dd + dd {
              margin-left: 20px; }
              @media screen and (max-width: 956px) {
                .support_sub #tour-support .support .content.imgs dd + dd {
                  margin-left: 0;
                  margin-top: 2.66667vw; } }
        @media screen and (max-width: 956px) {
          .support_sub #tour-support .support .content {
            display: block;
            padding-bottom: 20px; } }
        .support_sub #tour-support .support .content img {
          width: 100%; }
        .support_sub #tour-support .support .content:nth-of-type(odd), .support_sub #tour-support .support .content:last-child {
          flex-flow: row-reverse; }
        .support_sub #tour-support .support .content .txt {
          width: calc(100% - 380px);
          margin-left: 30px; }
          @media screen and (max-width: 956px) {
            .support_sub #tour-support .support .content .txt {
              width: auto;
              margin: 10px auto; } }
          .support_sub #tour-support .support .content .txt strong {
            color: #00817d;
            font-size: 1.8rem; }
          .support_sub #tour-support .support .content .txt p {
            margin-top: 20px;
            line-height: 2; }
          .support_sub #tour-support .support .content .txt span.green_txt {
            color: #00817d; }
  .support_sub #rch {
    margin-top: 80px; }
    .support_sub #rch h2 {
      padding-top: 10px; }
    .support_sub #rch .detail_text {
      margin-bottom: 30px;
      text-align: center; }
    .support_sub #rch .slider {
      width: auto;
      margin: 0;
      padding: 0; }
      .support_sub #rch .slider li {
        padding-left: 0;
        text-indent: 0;
        margin: 10px 0; }
    .support_sub #rch .btn {
      margin-top: 60px; }
      @media screen and (max-width: 956px) {
        .support_sub #rch .btn {
          margin-top: 100px; } }
  .support_sub #fee {
    background: #eff6f6;
    margin-top: 80px;
    padding-bottom: 80px; }
    .support_sub #fee h2 {
      padding-top: 150px; }
      @media screen and (max-width: 956px) {
        .support_sub #fee h2 {
          padding-top: 100px;
          margin-bottom: 40px; } }
    .support_sub #fee .box {
      background: #fff;
      box-shadow: 5px 5px #ffd42a;
      padding: 50px 40px;
      position: relative;
      margin: 0 20px; }
      .support_sub #fee .box .upper,
      .support_sub #fee .box .lower {
        justify-content: center;
        display: flex; }
        @media screen and (max-width: 956px) {
          .support_sub #fee .box .upper,
          .support_sub #fee .box .lower {
            display: block; } }
      .support_sub #fee .box .upper {
        padding-bottom: 50px;
        margin-bottom: 50px;
        border-bottom: 2px solid #ddd; }
        .support_sub #fee .box .upper .clmn {
          display: flex;
          align-items: center; }
          @media screen and (max-width: 956px) {
            .support_sub #fee .box .upper .clmn {
              display: block;
              margin-top: 20px; } }
          .support_sub #fee .box .upper .clmn:first-child {
            margin-right: 40px; }
            @media screen and (max-width: 956px) {
              .support_sub #fee .box .upper .clmn:first-child {
                margin: auto; } }
          .support_sub #fee .box .upper .clmn .img {
            margin-right: 20px; }
            @media screen and (max-width: 956px) {
              .support_sub #fee .box .upper .clmn .img {
                margin: auto;
                text-align: center; } }
          .support_sub #fee .box .upper .clmn .txt {
            line-height: 1.8; }
      .support_sub #fee .box .lower {
        align-items: center; }
        .support_sub #fee .box .lower .left {
          color: #00817d;
          text-align: center;
          font-size: 1.6rem;
          margin-right: 60px;
          margin-bottom: 0; }
          @media screen and (max-width: 956px) {
            .support_sub #fee .box .lower .left {
              margin: auto;
              text-align: center; } }
        .support_sub #fee .box .lower .right {
          width: auto;
          margin: 0;
          padding: 0; }
          .support_sub #fee .box .lower .right li {
            align-items: center;
            display: flex;
            padding-left: 0;
            text-indent: 0;
            margin: 10px 0; }
            @media screen and (max-width: 956px) {
              .support_sub #fee .box .lower .right li {
                display: block; } }
            .support_sub #fee .box .lower .right li .seminar {
              width: 260px; }
            .support_sub #fee .box .lower .right li .price {
              width: calc(100% - 260px);
              padding: 0 5px;
              text-align: right;
              background: #ffd42a;
              color: #00817d;
              font-size: 1.8rem;
              font-weight: bold; }
              @media screen and (max-width: 956px) {
                .support_sub #fee .box .lower .right li .price {
                  display: block;
                  margin: auto;
                  text-align: center;
                  width: 80%; } }
              .support_sub #fee .box .lower .right li .price span {
                font-weight: normal;
                font-size: 1.2rem;
                margin-left: 3px; }
  .support_sub .slider {
    margin-top: 50px; }
    .support_sub .slider li img {
      margin: auto;
      width: 100%; }
    .support_sub .slider .prev.slick-arrow, .support_sub .slider .next.slick-arrow {
      display: block;
      position: absolute;
      z-index: 2;
      top: calc(50% - 50px);
      width: 100px;
      cursor: pointer; }
      @media screen and (max-width: 956px) {
        .support_sub .slider .prev.slick-arrow, .support_sub .slider .next.slick-arrow {
          width: 80px;
          bottom: -60px;
          top: auto; } }
      .support_sub .slider .prev.slick-arrow img, .support_sub .slider .next.slick-arrow img {
        width: 100%; }
    .support_sub .slider .prev.slick-arrow {
      left: -40px; }
    .support_sub .slider .next.slick-arrow {
      right: -40px; }
    @media screen and (max-width: 956px) {
      .support_sub .slider .prev.slick-arrow {
        left: 0px; }
      .support_sub .slider .next.slick-arrow {
        right: 0px; } }
  .support_sub #resources {
    margin-top: -100px; }
    @media screen and (min-width: 957px) {
      .support_sub #resources h2 {
        margin-top: 200px; } }

.movie_wrapper {
  margin: 0 auto 0; }
  .movie_wrapper .movie {
    position: relative;
    width: 97%;
    padding-top: 54.5625%;
    margin: 0 auto;
    z-index: 6; }
    .movie_wrapper .movie iframe {
      position: absolute;
      top: 0;
      right: 0;
      width: 100%;
      height: 100%; }

img {
  max-width: 100%; }

.catch_text {
  color: #00817d;
  font-size: 1.6em;
  font-weight: bold;
  text-align: center;
  margin-top: 60px;
  margin-bottom: 20px; }
  @media screen and (max-width: 956px) {
    .catch_text {
      flex-wrap: wrap;
      font-size: 3.33333vw;
      margin-bottom: 20px;
      margin-top: 0; } }

.catch_text_link {
  color: #00817d;
  font-size: 1.6em;
  font-weight: bold;
  text-align: center;
  margin-top: 60px;
  margin-bottom: 20px; }
  @media screen and (max-width: 956px) {
    .catch_text_link {
      font-size: 4.8vw;
      margin-bottom: 4vw;
      margin-top: 4vw; } }
  .catch_text_link + .link_text {
    text-align: center; }

.yellow-link {
  font-size: 1em;
  color: #00817d;
  font-weight: bold;
  background: rgba(0, 0, 0, 0) linear-gradient(transparent 50%, rgba(255, 212, 42, 0.4) 0%) repeat scroll 0 0;
  text-align: center;
  padding: 0;
  text-decoration: none; }
  @media screen and (max-width: 956px) {
    .yellow-link {
      font-size: 4.26667vw; } }

/* PLAN */
.sub.prace_plan {
  /* HOTELS */ }
  .sub.prace_plan #visual .ttl {
    background: url(../img/plan/mv.png);
    background-position: center;
    background-repeat: no-repeat;
    transform: none; }
  .sub.prace_plan .plan-box {
    margin-top: 40px; }
  .sub.prace_plan #resources {
    margin-top: 80px; }
  .sub.prace_plan .link-area {
    display: flex;
    width: 100%;
    max-width: 960px;
    margin: 0 auto 100px; }
    @media screen and (max-width: 956px) {
      .sub.prace_plan .link-area {
        flex-wrap: wrap; } }
    .sub.prace_plan .link-area h3 {
      margin: 50px 15px auto;
      font-weight: 100;
      width: calc(50% - 30px); }
      @media screen and (max-width: 956px) {
        .sub.prace_plan .link-area h3 {
          margin: 20px 10px auto;
          width: calc(50% - 20px); } }
      .sub.prace_plan .link-area h3 a {
        padding: 15px 20px;
        display: block;
        width: auto;
        background: #00817d;
        text-align: center;
        text-decoration: none;
        color: #fff;
        border-radius: 10px;
        box-shadow: 4px 4px #fff, 5px 5px #ffd42a;
        position: relative; }
        .sub.prace_plan .link-area h3 a:hover {
          opacity: 0.6;
          transition: opacity 0.5s; }
        .sub.prace_plan .link-area h3 a::after {
          content: "";
          position: absolute;
          width: 0;
          height: 0;
          border-left: 30px solid transparent;
          border-right: 30px solid transparent;
          border-top: 30px solid #00817d;
          left: calc(50% - 30px); }
        .sub.prace_plan .link-area h3 a span {
          display: block; }
          .sub.prace_plan .link-area h3 a span.ja {
            font-size: 1em;
            line-height: 1.2em; }
          .sub.prace_plan .link-area h3 a span.en {
            font-family: "Sacramento", cursive;
            font-family: 0.8em;
            color: #ffd42a; }
  .sub.prace_plan #plan {
    background: #fcfcfc;
    margin-bottom: 0px; }
    @media screen and (max-width: 956px) {
      .sub.prace_plan #plan {
        padding-bottom: 0; } }
    .sub.prace_plan #plan .content {
      padding-top: 0; }
      @media screen and (max-width: 956px) {
        .sub.prace_plan #plan .content .plan-area {
          padding-top: 36.66667vw; } }
    .sub.prace_plan #plan h2 {
      margin: 40px auto 20px;
      position: relative; }
      @media screen and (max-width: 956px) {
        .sub.prace_plan #plan h2 {
          margin-top: -100px; } }
    .sub.prace_plan #plan .list {
      display: flex;
      margin: 0;
      padding: 0 0 60px;
      border-bottom: 1px dashed #00817d;
      margin-top: 60px; }
      .sub.prace_plan #plan .list .clmn {
        width: calc(100% - 20px);
        margin-left: 20px;
        position: relative;
        text-align: center;
        z-index: 0; }
        .sub.prace_plan #plan .list .clmn:first-child {
          margin-left: 0; }
        .sub.prace_plan #plan .list .clmn:after {
          content: "";
          display: block;
          width: 100%;
          height: 100%;
          border: 1px solid #ffd42a;
          border-radius: 8px;
          position: absolute;
          top: 5px;
          left: 5px;
          z-index: -1; }
        .sub.prace_plan #plan .list .clmn a {
          text-decoration: none;
          display: block; }
          .sub.prace_plan #plan .list .clmn a .img {
            border-radius: 8px 8px 0 0;
            overflow: hidden; }
          .sub.prace_plan #plan .list .clmn a .txt {
            background: #fff;
            border-radius: 0 0 8px 8px;
            padding: 0 15px 30px; }
            .sub.prace_plan #plan .list .clmn a .txt > span {
              background: #00817d;
              color: #fff;
              display: inline-block;
              font-size: 2.0rem;
              padding: 0 15px;
              line-height: 30px;
              font-weight: bold;
              transform: translateY(-50%); }
            .sub.prace_plan #plan .list .clmn a .txt .ttl {
              color: #00817d;
              line-height: 1.3;
              margin-bottom: 15px;
              height: 4.65em; }
            .sub.prace_plan #plan .list .clmn a .txt p {
              color: #333;
              margin: 5px 0; }
            .sub.prace_plan #plan .list .clmn a .txt .period span {
              color: #f81852;
              font-weight: bold; }
            .sub.prace_plan #plan .list .clmn a .txt .price {
              color: #f81852;
              font-weight: bold; }
    .sub.prace_plan #plan .package {
      margin-top: 60px;
      text-align: center; }
      .sub.prace_plan #plan .package > .ttl {
        font-size: 2.4rem;
        font-weight: bold;
        color: #00817d;
        margin-bottom: 60px; }
        @media screen and (max-width: 956px) {
          .sub.prace_plan #plan .package > .ttl {
            font-size: 1.5em; } }
      .sub.prace_plan #plan .package .box {
        display: flex;
        position: relative;
        z-index: 0; }
        @media screen and (max-width: 956px) {
          .sub.prace_plan #plan .package .box {
            display: block;
            margin-bottom: 8vw; } }
        .sub.prace_plan #plan .package .box:after {
          content: "";
          display: block;
          width: 100%;
          height: 100%;
          border: 1px solid #ffd42a;
          border-radius: 8px;
          position: absolute;
          top: 5px;
          left: 5px;
          z-index: -1; }
        .sub.prace_plan #plan .package .box .img {
          width: 400px;
          border-radius: 8px 0 0 8px;
          overflow: hidden; }
          @media screen and (max-width: 956px) {
            .sub.prace_plan #plan .package .box .img {
              width: auto; } }
          .sub.prace_plan #plan .package .box .img img {
            width: 100%; }
        .sub.prace_plan #plan .package .box .txt {
          width: calc(100% - 400px);
          background: #fff;
          border-radius: 0 8px 8px 0; }
          @media screen and (max-width: 956px) {
            .sub.prace_plan #plan .package .box .txt {
              width: 100%;
              padding-bottom: 30px; } }
          .sub.prace_plan #plan .package .box .txt > span {
            background: #00817d;
            color: #fff;
            display: inline-block;
            font-size: 2.5rem;
            padding: 0 30px;
            line-height: 50px;
            font-weight: bold;
            transform: translateY(-50%); }
            @media screen and (max-width: 956px) {
              .sub.prace_plan #plan .package .box .txt > span {
                font-size: 1em;
                padding: 8px 10px;
                margin-bottom: 10px;
                line-height: 1em; } }
          .sub.prace_plan #plan .package .box .txt .ttl {
            font-size: 2.2rem;
            color: #00817d; }
            @media screen and (max-width: 956px) {
              .sub.prace_plan #plan .package .box .txt .ttl {
                font-size: 1.6rem; } }
          .sub.prace_plan #plan .package .box .txt p {
            font-size: 2.0rem;
            margin: 5px 0; }
            @media screen and (max-width: 956px) {
              .sub.prace_plan #plan .package .box .txt p {
                font-size: 1em;
                color: #029ed1; } }
          .sub.prace_plan #plan .package .box .txt .period span {
            color: #f81852;
            font-weight: bold; }
          .sub.prace_plan #plan .package .box .txt .price {
            color: #f81852;
            font-weight: bold; }
      .sub.prace_plan #plan .package .btn {
        margin-top: 60px; }
        .sub.prace_plan #plan .package .btn a:before {
          content: "";
          background: url(../img/plan/icon_pdf.png) no-repeat;
          width: 14px;
          height: 17px;
          background-size: 100% 100%;
          display: inline-block;
          vertical-align: -0.1rem;
          position: absolute;
          right: 40px;
          top: 50%;
          transform: translateY(-50%); }
  .sub.prace_plan #hotels {
    background: #eff6f6;
    padding-bottom: 80px; }
    .sub.prace_plan #hotels h2 {
      padding-top: 150px; }
    .sub.prace_plan #hotels .content {
      padding: 0 20px;
      margin-bottom: 0; }
      .sub.prace_plan #hotels .content:first-of-type .hotel-list {
        flex-flow: row-reverse;
        padding-bottom: 60px;
        border-bottom: 1px dashed #00817d; }
        .sub.prace_plan #hotels .content:first-of-type .hotel-list .txt {
          margin-right: 20px; }
      .sub.prace_plan #hotels .content:last-of-type .hotel-list .txt {
        margin-left: 20px; }
        @media screen and (max-width: 956px) {
          .sub.prace_plan #hotels .content:last-of-type .hotel-list .txt {
            margin-left: 0;
            margin-top: 10px; } }
      .sub.prace_plan #hotels .content .hotel-name {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 40px;
        margin-top: 60px; }
        @media screen and (max-width: 956px) {
          .sub.prace_plan #hotels .content .hotel-name {
            display: block; } }
        .sub.prace_plan #hotels .content .hotel-name .place {
          margin-right: 40px; }
          @media screen and (max-width: 956px) {
            .sub.prace_plan #hotels .content .hotel-name .place {
              margin: 10px 0;
              text-align: center; } }
        .sub.prace_plan #hotels .content .hotel-name .name {
          text-align: center;
          line-height: 1.5; }
          .sub.prace_plan #hotels .content .hotel-name .name .ja {
            font-size: 2.4rem; }
          .sub.prace_plan #hotels .content .hotel-name .name .en {
            font-family: "Sacramento", cursive;
            color: #ffd42a;
            font-size: 2.4rem; }
      .sub.prace_plan #hotels .content .hotel-list {
        display: flex; }
        .sub.prace_plan #hotels .content .hotel-list .img img {
          width: 100%; }
        @media screen and (max-width: 956px) {
          .sub.prace_plan #hotels .content .hotel-list {
            display: block; } }
        .sub.prace_plan #hotels .content .hotel-list .txt {
          width: calc(100% - 380px); }
          @media screen and (max-width: 956px) {
            .sub.prace_plan #hotels .content .hotel-list .txt {
              width: 100%; } }
          .sub.prace_plan #hotels .content .hotel-list .txt p {
            line-height: 1.8;
            margin-bottom: 30px; }
            @media screen and (max-width: 956px) {
              .sub.prace_plan #hotels .content .hotel-list .txt p {
                margin-top: 10px; } }
          .sub.prace_plan #hotels .content .hotel-list .txt .facility {
            text-align: center; }
            .sub.prace_plan #hotels .content .hotel-list .txt .facility th {
              width: 150px;
              background: #cce5e4;
              border-bottom: 1px solid #aed6d5;
              padding: 10px 0; }
            .sub.prace_plan #hotels .content .hotel-list .txt .facility td {
              width: 200px;
              background: #e3f0f0;
              border-bottom: 1px solid #aed6d5;
              padding: 10px 0; }
            .sub.prace_plan #hotels .content .hotel-list .txt .facility tr:last-child th,
            .sub.prace_plan #hotels .content .hotel-list .txt .facility tr:last-child td {
              border-bottom: none; }
          .sub.prace_plan #hotels .content .hotel-list .txt .program {
            margin-top: 40px;
            display: block; }
            .sub.prace_plan #hotels .content .hotel-list .txt .program dt {
              font-size: 1.8rem;
              color: #00817d;
              font-weight: bold;
              margin-bottom: 15px; }
            .sub.prace_plan #hotels .content .hotel-list .txt .program dd {
              margin-bottom: 10px; }
              .sub.prace_plan #hotels .content .hotel-list .txt .program dd:before {
                content: "■";
                font-size: 0.5rem;
                vertical-align: middle;
                color: #00817d;
                margin-right: 10px; }

.ie .starcamp .conv_btn, .firefox .starcamp .conv_btn {
  right: 0; }

/*# sourceMappingURL=style.css.map */