@charset "UTF-8";
/* ===== RESET ===== */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0; }

li {
  list-style: none; }

/* ===== end - RESET ===== */
/* ===== ANIMATION ===== */
/*.fadeInUp {
	position: relative;
	opacity: 0;
	-webkit-transform: translate(0, 50px);
	transform: translate(0, 50px);
	-webkit-transition: all 1.5s cubic-bezier(0.23, 1, 0.32, 1);
	transition: all 1.5s cubic-bezier(0.23, 1, 0.32, 1);
	-webkit-transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
	transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
} */
.fadeInUp,
.fadeInUp_delay {
  opacity: 0;
  -webkit-transform: translateY(40px);
          transform: translateY(40px); }

.fadeInUp_in-row .anim {
  opacity: 0;
  -webkit-transform: translateY(40px);
          transform: translateY(40px); }

.fadeInUp.active,
.fadeInUp_delay.active,
.fadeInUp_in-row .anim.active {
  -webkit-transition: all 1.6s cubic-bezier(0.41, -0.1, 0, 1);
  transition: all 1.6s cubic-bezier(0.41, -0.1, 0, 1); }

.fadeInUp_delay.active {
  -webkit-transition-delay: .25s;
          transition-delay: .25s; }

.fadeInRtoL,
.fadeInRtoL_in-row .anim {
  position: relative;
  opacity: 0;
  -webkit-transform: translate(1em, 0);
  transform: translate(1em, 0); }

.fadeInLtoR,
.fadeInLtoR_in-row .anim {
  position: relative;
  opacity: 0;
  -webkit-transform: translate(-99%, 0);
  transform: translate(-99%, 0); }

.fadeInRtoL.active,
.fadeInRtoL_in-row .anim.active,
.fadeInLtoR.active,
.fadeInLtoR in-row .anim.active {
  -webkit-transition: all 2.7s cubic-bezier(0.23, 1, 0.32, 1);
  transition: all 2.7s cubic-bezier(0.23, 1, 0.32, 1); }

.fadeInUp.active,
.fadeInUp_delay.active,
.fadeInUp_in-row .anim.active,
.fadeIn.active,
.fadeIn_delay.active,
.fadeInRtoL.active,
.fadeInRtoL_in-row .anim.active,
.fadeInLtoR.active,
.fadeInLtoR_in-row .anim.active {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0); }

.fadeinup.active {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0); }

.textFadeInUp_in-row {
  overflow: hidden;
  opacity: 0;
  -webkit-transition: opacity .15s ease-out;
  transition: opacity .15s ease-out; }

.textFadeInUp_in-row.active {
  opacity: 1; }

.textFadeInUp_in-row .item {
  -webkit-transition: opacity 0.35s cubic-bezier(0.075, 0.82, 0.165, 1) 0.025s, -webkit-transform 0.35s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: opacity 0.35s cubic-bezier(0.075, 0.82, 0.165, 1) 0.025s, -webkit-transform 0.35s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: transform 0.35s cubic-bezier(0.075, 0.82, 0.165, 1), opacity 0.35s cubic-bezier(0.075, 0.82, 0.165, 1) 0.025s;
  transition: transform 0.35s cubic-bezier(0.075, 0.82, 0.165, 1), opacity 0.35s cubic-bezier(0.075, 0.82, 0.165, 1) 0.025s, -webkit-transform 0.35s cubic-bezier(0.075, 0.82, 0.165, 1);
  display: inline-block;
  opacity: 0;
  -webkit-transform: translate(-0.05em, 1.25em) scale(0.95);
  transform: translate(-0.05em, 1.25em) scale(0.95); }

.textFadeInUp_in-row .item.active {
  opacity: 1;
  -webkit-transform: translate(0, 0) scale(1);
  transform: translate(0, 0) scale(1); }

.animItem, .anim {
  /*	visibility: hidden; */
  will-change: transform; }

/*
.animItem.active, .anim.active {
	visibility: visible;
}*/
.notransition {
  -webkit-transition: none !important;
  transition: none !important; }

/* ===== end - ANIMATION ===== */
/* ===== EFFECT ===== */
/* ttl effect */
@-webkit-keyframes slideEffect {
  0% {
    color: transparent; }
  45% {
    color: transparent; }
  100% {
    color: #101010; } }
@keyframes slideEffect {
  0% {
    color: transparent; }
  45% {
    color: transparent; }
  100% {
    color: #101010; } }
@-webkit-keyframes slideEffect2 {
  0% {
    color: transparent; }
  45% {
    color: transparent; }
  100% {
    color: #fff; } }
@keyframes slideEffect2 {
  0% {
    color: transparent; }
  45% {
    color: transparent; }
  100% {
    color: #fff; } }
@-webkit-keyframes slideEffectBar {
  0% {
    left: 0;
    right: 100%; }
  25% {
    left: 0;
    right: 0; }
  45% {
    left: 0;
    right: 0; }
  100% {
    left: 100%;
    right: 0; } }
@keyframes slideEffectBar {
  0% {
    left: 0;
    right: 100%; }
  25% {
    left: 0;
    right: 0; }
  45% {
    left: 0;
    right: 0; }
  100% {
    left: 100%;
    right: 0; } }
@-webkit-keyframes slideEffectAfter {
  0% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0); }
  50% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0); }
  100% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1); } }
@keyframes slideEffectAfter {
  0% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0); }
  50% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0); }
  100% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1); } }
/* end - ttl effect */
/* scroll btn */
@-webkit-keyframes btnHvr_color {
  0% {
    color: #fff; }
  50% {
    color: #fff; }
  100% {
    color: #4bb9ff; } }
@keyframes btnHvr_color {
  0% {
    color: #fff; }
  50% {
    color: #fff; }
  100% {
    color: #4bb9ff; } }
@-webkit-keyframes btnHvr2_color {
  0% {
    color: #4bb9ff; }
  50% {
    color: #4bb9ff; }
  100% {
    color: #fff; } }
@keyframes btnHvr2_color {
  0% {
    color: #4bb9ff; }
  50% {
    color: #4bb9ff; }
  100% {
    color: #fff; } }
@-webkit-keyframes btnHvr {
  0% {
    border-color: #fff; }
  50% {
    border-color: #fff; }
  100% {
    border-color: #dcebf5; } }
@keyframes btnHvr {
  0% {
    border-color: #fff; }
  50% {
    border-color: #fff; }
  100% {
    border-color: #dcebf5; } }
@-webkit-keyframes btnHvr2 {
  0% {
    border-color: #dcebf5; }
  50% {
    border-color: #dcebf5; }
  100% {
    border-color: #fff; } }
@keyframes btnHvr2 {
  0% {
    border-color: #dcebf5; }
  50% {
    border-color: #dcebf5; }
  100% {
    border-color: #fff; } }
@-webkit-keyframes hvr {
  0% {
    left: 0; }
  50% {
    left: 100%; }
  100% {
    left: 100%; } }
@keyframes hvr {
  0% {
    left: 0; }
  50% {
    left: 100%; }
  100% {
    left: 100%; } }
@-webkit-keyframes hvr2 {
  0% {
    right: 100%; }
  50% {
    right: 100%; }
  100% {
    right: 0; } }
@keyframes hvr2 {
  0% {
    right: 100%; }
  50% {
    right: 100%; }
  100% {
    right: 0; } }
/* end - scroll btn */
/* ===== end - EFFECT ===== */
/* ===== FLEX BOX ===== */
/* more than 768px
------------------------------------------------------------*/
@media print, screen and (min-width: 768px) {
  .colWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }

  .colWrap.rtl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse; }

  .colWrap.col {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }

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

  .colWrap.boxAlign-left {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start; }

  .colWrap.boxAlign-right {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end; }

  .colWrap.boxAlign-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }

  .colWrap.mdl > *,
  .colWrap > .mdl:not(.colWrap) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start; }

  .colWrap.mdl.ct > *,
  .colWrap.mdl > .ct,
  .colWrap > .mdl.ct:not(.colWrap) {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }

  .colWrap.col2 > * {
    width: 50%; }

  .colWrap.col3 > * {
    width: 33.33%; }

  .colWrap.col4 > * {
    width: 25%; }

  .colWrap.col5 > * {
    width: 20%; } }
/* from 768px to 991px
------------------------------------------------------------*/
@media print, screen and (min-width: 768px) and (max-width: 991px) {
  .tab-colWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }

  .tab-colWrap.tab-wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }

  .tab-colWrap.tab-boxAlign-left {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start; }

  .tab-colWrap.tab-boxAlign-right {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end; }

  .tab-colWrap.tab-boxAlign-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }

  .tab-colWrap.tab-mdl > *,
  .tab-colWrap > .tab-mdl:not(.tab-colWrap) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start; }

  .tab-colWrap.tab-mdl.ct > *,
  .tab-colWrap.tab-mdl > .ct,
  .tab-colWrap > .tab-mdl.ct:not(.tab-colWrap) {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }

  .tab-colWrap.tab-col2 > * {
    width: 50%; }

  .tab-colWrap.tab-col3 > * {
    width: 33.33%; }

  .tab-colWrap.tab-col4 > * {
    width: 25%; }

  .tab-colWrap.tab-col5 > * {
    width: 20%; } }
/* less than 767px
------------------------------------------------------------*/
@media print, screen and (max-width: 767px) {
  .sp-colWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }

  .sp-colWrap.rtl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse; }

  .sp-colWrap.sp-col {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }

  .sp-colWrap.sp-wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }

  .sp-colWrap.sp-col-rev {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse; }

  .sp-colWrap.sp-boxAlign-left {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start; }

  .sp-colWrap.sp-boxAlign-right {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end; }

  .sp-colWrap.sp-boxAlign-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }

  .sp-colWrap.sp-mdl > *,
  .sp-colWrap > .sp-mdl:not(.sp-colWrap) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start; }

  .sp-colWrap.sp-mdl.ct > *,
  .sp-colWrap.sp-mdl > .ct,
  .sp-colWrap > .sp-mdl.ct:not(.sp-colWrap) {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }

  .sp-colWrap.sp-col2 > * {
    width: 50%; }

  .sp-colWrap.sp-col3 > * {
    width: 33.33%; }

  .sp-colWrap.sp-col4 > * {
    width: 25%; }

  .sp-colWrap.sp-col5 > * {
    width: 20%; } }
/* ===== end - FLEX BOX ===== */
/* ===== TABLE ===== */
table {
  width: 100%;
  border-collapse: collapse; }

table th {
  padding: 10px 10px 8px;
  vertical-align: top;
  font-weight: normal;
  line-height: 1.8;
  width: 28%;
  text-align: left; }

table td {
  padding: 10px 10px 8px;
  vertical-align: top;
  font-weight: normal;
  line-height: 1.8; }

/* ===== end - TABLE ===== */
/* ===== LIST ===== */
ul {
  margin: 0; }

dl {
  margin: 0; }

dl dt {
  font-weight: normal;
  line-height: 1.8; }

dl dd {
  font-weight: normal;
  line-height: 1.8;
  padding: 5px 0 25px; }

dl dd:last-child {
  padding-bottom: 0; }

ul.list_disc li {
  margin: 0 0 0 1.5em;
  list-style-type: disc; }

ol.list_disc li {
  margin: 0 0 0 1.5em;
  list-style-type: disc; }

dl.indent dd {
  margin-left: 1em; }

.list_h {
  overflow: hidden;
  height: auto; }

.list_h li {
  float: left; }

.list_h .li {
  float: left; }

/* ===== end - LIST ===== */
/* ===== MODULES ===== */
.tab, .sp, .sp2 {
  display: none; }

.sp, .sp2 {
  display: none !important; }

.pc, .pc.tab {
  display: block; }

.sp-block, .sp-inline-bloc, .sp-inline {
  display: none; }

.pc.colWrap, .pc.tab.tab-colWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.bg_white {
  background-color: #fff; }

.bg {
  background: #f5fffc; }

.bg2 {
  background: #fcfcfc; }

.color01 {
  color: #054d9a; }

a {
  color: unset;
  cursor: pointer;
  -webkit-transition: ease-out .3s;
  -webkit-transition: ease-out .5s;
  transition: ease-out .5s; }

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

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

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

a:hover {
  color: inherit;
  text-decoration: none;
  opacity: 0.7;
  filter: alpha(opacity=7); }

.link_txt:link {
  color: #054d9a;
  text-decoration: underline !important; }

.link_txt:hover {
  color: #054d9a;
  text-decoration: underline !important; }

.link_txt:active {
  color: #054d9a;
  text-decoration: underline !important; }

.link_txt:visited {
  color: #054d9a;
  text-decoration: underline !important; }

a.lined:link {
  text-decoration: underline; }

a.lined:hover {
  text-decoration: none; }

a.lined:visited {
  text-decoration: underline; }

.tel_link {
  color: #101010;
  text-decoration: none;
  pointer-events: none; }

.tel_link:hover {
  opacity: 1;
  cursor: text;
  text-decoration: none; }

.f_normal {
  font-weight: normal; }

.f_bold {
  font-weight: bold; }

.text-center {
  text-align: center; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.block {
  display: block; }

.in-block {
  display: inline-block;
  width: auto; }

.block-center {
  display: block;
  margin-right: auto;
  margin-left: auto; }

.center {
  margin-right: auto;
  margin-left: auto; }

.hide {
  display: none !important; }

img {
  border: 0; }

.img.block-center {
  display: block;
  margin-right: auto;
  margin-left: auto; }

.img-full {
  display: block;
  width: 100%;
  height: auto; }

.img-responsive {
  display: block;
  max-width: 100%;
  height: auto;
  text-align: center; }

.img-right {
  display: block;
  float: right;
  margin: 0 0 1em 2em; }

.img-cover {
  width: 100%;
  height: 100%;
  -o-object-position: center;
  object-position: center;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover; object-position: center center;'; }

.scroll-wrap {
  overflow-x: auto; }

.scroll-wrap::-webkit-scrollbar {
  height: 10px; }

.scroll-wrap::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background: #aaa; }

.scroll-wrap::-webkit-scrollbar-track-piece {
  border-radius: 5px;
  background: white; }

h1,
h2,
h3,
h4,
h5 {
  clear: both;
  margin: 0;
  font-weight: 500; }

.indent-1 {
  text-indent: -1em; }

.indent-05 {
  text-indent: -0.5em; }

/* ===== end - MODULES ===== */
/* ===== MARGIN and PADDING ===== */
.mt0 {
  margin-top: 0px !important; }

.mb0 {
  margin-bottom: 0px !important; }

.ml0 {
  margin-left: 0px !important; }

.mr0 {
  margin-right: 0px !important; }

.mt5 {
  margin-top: 5px !important; }

.mb5 {
  margin-bottom: 5px !important; }

.ml5 {
  margin-left: 5px !important; }

.mr5 {
  margin-right: 5px !important; }

.mt10 {
  margin-top: 10px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.ml10 {
  margin-left: 10px !important; }

.mr10 {
  margin-right: 10px !important; }

.mt15 {
  margin-top: 15px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.ml15 {
  margin-left: 15px !important; }

.mr15 {
  margin-right: 15px !important; }

.mt20 {
  margin-top: 20px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.ml20 {
  margin-left: 20px !important; }

.mr20 {
  margin-right: 20px !important; }

.mt25 {
  margin-top: 25px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.ml25 {
  margin-left: 25px !important; }

.mr25 {
  margin-right: 25px !important; }

.mt30 {
  margin-top: 30px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.ml30 {
  margin-left: 30px !important; }

.mr30 {
  margin-right: 30px !important; }

.pt0 {
  padding-top: 0px !important; }

.pb0 {
  padding-bottom: 0px !important; }

.pl0 {
  padding-left: 0px !important; }

.pr0 {
  padding-right: 0px !important; }

.pt5 {
  padding-top: 5px !important; }

.pb5 {
  padding-bottom: 5px !important; }

.pl5 {
  padding-left: 5px !important; }

.pr5 {
  padding-right: 5px !important; }

.pt10 {
  padding-top: 10px !important; }

.pb10 {
  padding-bottom: 10px !important; }

.pl10 {
  padding-left: 10px !important; }

.pr10 {
  padding-right: 10px !important; }

.pt15 {
  padding-top: 15px !important; }

.pb15 {
  padding-bottom: 15px !important; }

.pl15 {
  padding-left: 15px !important; }

.pr15 {
  padding-right: 15px !important; }

.pt20 {
  padding-top: 20px !important; }

.pb20 {
  padding-bottom: 20px !important; }

.pl20 {
  padding-left: 20px !important; }

.pr20 {
  padding-right: 20px !important; }

.pt25 {
  padding-top: 25px !important; }

.pb25 {
  padding-bottom: 25px !important; }

.pl25 {
  padding-left: 25px !important; }

.pr25 {
  padding-right: 25px !important; }

.pt30 {
  padding-top: 30px !important; }

.pb30 {
  padding-bottom: 30px !important; }

.pl30 {
  padding-left: 30px !important; }

.pr30 {
  padding-right: 30px !important; }

/* ===== end - MARGIN and PADDING ===== */
/* ===== COMMON STYLES ===== */
html {
  font-size: 62.5%; }

html.fixed {
  overflow: auto;
  height: 100%; }

body {
  -webkit-tap-highlight-color: transparent;
  background: #fff;
  color: #000;
  font-size: 18px;
  font-size: 1.8rem;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  letter-spacing: 0.0555555556em;
  line-height: 2; }

body:before {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  display: block;
  visibility: hidden;
  width: 100%;
  height: 100vh;
  background-color: #000;
  content: "";
  opacity: 0;
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out; }

@media screen and (max-width: 767px) {
  body.fixed {
    /*	position: fixed;
    	top: 0;
    	left: 0;
    	width: 100%; */
    overflow: hidden;
    height: 100%; }

  body.fixed:before {
    visibility: visible;
    opacity: 0.4; } }
.f_mincho {
  font-family: 'Noto Srif JP', serif; }

.no_shaggy {
  -webkit-transform: rotate(0.03deg);
  transform: rotate(0.03deg); }

.noLink {
  pointer-events: none;
  text-decoration: none;
  color: #101010; }

.em {
  color: #ff0000; }

.borderTop {
  position: relative;
  overflow: hidden;
  border: 0;
  height: 1px;
  border-top: #ababab;
  z-index: 1; }

.borderTop:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  border-top: 1px dashed #e0e0e0;
  z-index: -1; }

.borderBtm {
  position: relative;
  overflow: hidden;
  border: 0;
  height: 1px;
  border-bottom: #ababab;
  z-index: 1; }

.borderBtm:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  border-top: 1px dashed #e0e0e0;
  z-index: -1; }

.wrapper {
  position: relative; }

.wrapper.noScroll {
  width: 100vw;
  height: 100vh; }

.container {
  position: relative;
  overflow: hidden;
  margin-right: auto;
  margin-left: auto;
  padding-right: 40px;
  padding-left: 40px;
  max-width: 980px;
  width: auto; }
  .container.wide {
    max-width: 1040px; }

.container.visible {
  overflow: visible; }

.container.full {
  max-width: 100%; }

.container.noPadding {
  padding-left: 0;
  padding-right: 0; }

@media screen and (min-width: 992px) {
  .container.narrow {
    max-width: 1220px; } }
.content {
  position: relative; }

.pageTop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 65px;
  height: 65px;
  background: rgba(0, 0, 0, 0.3);
  z-index: 90;
  position: fixed;
  bottom: 20px;
  border-radius: 50%;
  border-radius: 50%;
  -webkit-transition: opacity .3s ease-out;
  transition: opacity .3s ease-out; }

.pageTop a {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0 auto;
  padding: 65px 0 0;
  height: 0;
  outline: none;
  text-align: center;
  text-decoration: none; }

.pageTop a:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 6.5px auto 0;
  width: 18px;
  height: 18px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: rotate(-45deg) translate(-50%, -50%);
  transform: rotate(-45deg) translate(-50%, -50%); }

.pageTop:hover {
  opacity: .7; }

footer {
  background: #007b69;
  color: #fff;
  text-align: center; }
  footer .copyright {
    padding: .5em 0; }
    @media screen and (max-width: 767px) {
      footer .copyright {
        font-size: 10px;
        letter-spacing: 0; } }

.section {
  overflow: hidden;
  /* padding: 5.2083333333% 0; */
  padding: 60px 0; }

.section.visible {
  overflow: visible; }

.ttl {
  position: relative;
  margin: 0 auto 1.5em;
  line-height: 1.3;
  font-weight: 700;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-size: 2.2222222222em;
  letter-spacing: 0.025em;
  text-align: center;
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg); }

.ttl.text-left {
  text-align: left; }

.lead {
  font-size: 1.3333333333em; }

.btn {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0 auto;
  height: auto;
  font-size: 1.3333333333em;
  font-weight: bold;
  color: #fff;
  text-align: center;
  text-decoration: none;
  padding: .65em 1em;
  background: #00b197;
  border-radius: 9999px;
  line-height: 1.3;
  letter-spacing: .04em;
  z-index: 1; }

.btn:link, .btn:visited, .btn:hover {
  text-decoration: none;
  color: #fff; }

.btn.lft {
  margin-left: 0;
  margin-right: 0; }

span.btn {
  padding: 0;
  -webkit-transition: opacity .3s ease-out;
  transition: opacity .3s ease-out; }
  span.btn > input[type="button"],
  span.btn > button {
    display: block;
    background: none;
    border: 0;
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0 auto;
    height: auto;
    font-size: 100%;
    color: #fff;
    text-align: center;
    text-decoration: none;
    padding: .65em 1em;
    width: 100%;
    background: #00b197;
    border-radius: 0.25em;
    line-height: 1.3;
    letter-spacing: .04em;
    cursor: pointer;
    z-index: 1; }
  span.btn:hover {
    opacity: .5; }

/* Less than 991px */
@media only screen and (max-width: 991px) {
  body {
    font-size: 15px;
    font-size: 1.5rem; }

  /* ===== MODULES_TAB ===== */
  img {
    max-width: 100%;
    height: auto; }

  .pc {
    display: none; }

  .tab, .tab.sp {
    display: block !important; }

  .tab.tab-colWrap, .tab.sp.tab-colWrap {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important; }

  input[type="text"].tab-max,
  input[type="tel"].tab-max,
  input[type="email"].tab-max,
  select.tab-max,
  textarea.tab-max {
    width: 100%; }

  /* ===== end - MODULES_TAB ===== */
  .pc {
    display: none !important; }

  .pc.tab {
    display: block !important; }

  .pageTop {
    width: 65px;
    height: 65px; }

  .pageTop a {
    width: 65px;
    padding-top: 65px; }

  .container {
    padding-right: 25px;
    padding-left: 25px; } }
/* Less than 767px */
@media only screen and (max-width: 767px) {
  body {
    font-size: 12.5px;
    font-size: 1.25rem;
    line-height: 2.0434782609em; }

  /* ===== MODULES_SP ===== */
  img {
    max-width: 100%;
    height: auto; }

  .pc, .tab, .pc.tab {
    display: none !important; }

  .sp {
    display: block !important; }

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

  .sp-img-auto {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: auto;
    height: auto; }

  table:not(.sp-table) th,
  table:not(.sp-table) td,
  table.tab-table:not(.sp-table) th,
  table.tab-table:not(.sp-table) td {
    display: block;
    width: 100% !important;
    border-bottom: 0; }

  table:not(.sp-table) th {
    font-weight: bold;
    border-bottom: 0; }

  table:not(.sp-table) td {
    padding: 10px 1em 25px;
    border-top: 0; }

  table.sp-table th,
  table.sp-table td {
    padding: 8px 8px 4px;
    font-weight: normal; }

  input[type="text"].sp-max,
  input[type="tel"].sp-max,
  input[type="email"].sp-max,
  select.sp-max,
  textarea.sp-max {
    width: 100%; }

  .tel_link {
    pointer-events: initial; }

  .sp-block {
    display: block !important; }

  .sp-in-block {
    display: inline-block !important; }

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

  .sp-inline {
    display: inline !important; }

  .sp-none {
    display: none !important; }

  .sp-text-center {
    text-align: center !important; }

  .sp-text-left {
    text-align: left !important; }

  .sp-text-right {
    text-align: right !important; }

  /* ===== end - MODULES_SP ===== */
  .pageTop {
    display: none !important; }

  .container {
    padding-left: 10px;
    padding-right: 10px; }

  .container.sp-full {
    padding-left: 0;
    padding-right: 0; }

  .sp-container {
    width: auto !important;
    max-width: initial;
    padding-left: 10px;
    padding-right: 10px; }

  .section {
    padding: 30px 0; }

  .section.anchrSec {
    padding-top: 60px;
    margin-top: -60px; }

  .main > .section:first-of-type {
    padding-top: 15px; }

  .ttl {
    margin: 1em 0 1.5em;
    font-size: min(30px , 6.25vw); }

  .btn {
    padding: 1.075em 1em;
    width: 100%;
    max-width: 240px;
    font-size: 16px;
    font-size: 1.6rem; }

  .btn.lft {
    margin-left: auto;
    margin-right: auto; }

  .btn.anim {
    padding: 0; }

  .btn.anim > span {
    position: relative;
    display: block;
    height: 36px;
    line-height: 36px; }

  .btn.anim:before {
    border-bottom-width: 36px; }

  .btn.anim:after {
    border-top-width: 36px; }

  .btnFrame.multi .btn {
    margin-left: auto;
    margin-right: auto; }

  .btnFrame.multi .btn + .btn {
    margin: 20px auto 0; } }
/* index幅374px以下から
------------------------------------------------------------*/
@media only screen and (max-width: 374px) {
  .sp2, .sp.sp2 {
    display: block !important; } }
/* --------------------------------------------------
  TOP PAGE STYLES
-------------------------------------------------- */
/* ------------------------------
  visual SECTION STYLES
------------------------------ */
.visualSection {
  overflow: visible; }
  @media screen and (min-width: 768px) {
    .visualSection {
      position: relative;
      height: 0;
      padding: 40.46875% 0 0;
      background: url(../images/mv.jpg) no-repeat 0 0;
      background-size: cover; }
      .visualSection .visualFrame {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; } }
  .visualSection .txtFrame {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    font-family: "Noto Sans JP", sans-serif; }
    .visualSection .txtFrame .inner {
      padding-top: 4.375%; }
    .visualSection .txtFrame .lead {
      color: #00b197;
      font-size: 3.75vw;
      font-weight: bold;
      letter-spacing: 0.0416666667em;
      line-height: 1.4; }
    .visualSection .txtFrame .catch {
      margin: 1.05em 0 0;
      font-size: 2.34375vw;
      font-weight: bold; }
      .visualSection .txtFrame .catch .sub {
        display: block;
        margin: 0 0 1.05em; }
      .visualSection .txtFrame .catch .mv_logo {
        width: 28.515625vw;
        height: auto; }
  .visualSection .btnFrame {
    overflow: visible;
    width: 64.0625%;
    max-width: initial;
    margin: 0 auto;
    padding: 2.8125% 0; }
    .visualSection .btnFrame .btn {
      margin: 0;
      padding: .3em;
      font-size: 1.875vw;
      font-weight: bold;
      font-family: "Noto Sans JP";
      -webkit-box-flex: 0;
          -ms-flex: 0 0 13.75em;
              flex: 0 0 13.75em;
      background: #fff;
      border: 0.2916666667em solid #00b197;
      border-radius: 9999px;
      -webkit-box-shadow: 0.5px 0.8px 2.5px rgba(0, 0, 0, 0.25);
              box-shadow: 0.5px 0.8px 2.5px rgba(0, 0, 0, 0.25);
      color: #00b197; }
      .visualSection .btnFrame .btn:not(.active) {
        -webkit-transform: translateY(3.3333333333em);
                transform: translateY(3.3333333333em); }
      .visualSection .btnFrame .btn.active {
        -webkit-transition: opacity 3.5s cubic-bezier(0.41, -0.1, 0, 1), -webkit-transform 2s cubic-bezier(0.41, -0.1, 0, 1);
        transition: opacity 3.5s cubic-bezier(0.41, -0.1, 0, 1), -webkit-transform 2s cubic-bezier(0.41, -0.1, 0, 1);
        transition: transform 2s cubic-bezier(0.41, -0.1, 0, 1), opacity 3.5s cubic-bezier(0.41, -0.1, 0, 1);
        transition: transform 2s cubic-bezier(0.41, -0.1, 0, 1), opacity 3.5s cubic-bezier(0.41, -0.1, 0, 1), -webkit-transform 2s cubic-bezier(0.41, -0.1, 0, 1); }
      .visualSection .btnFrame .btn:hover {
        opacity: 1;
        background: #00b197;
        color: #fff;
        border-color: #fff;
        text-shadow: 0.5px 0.5px 2px rgba(0, 0, 0, 0.25); }
    .visualSection .btnFrame .btn_registrate.active {
      -webkit-transition-delay: 0s, .35s;
              transition-delay: 0s, .35s; }
    @media screen and (max-width: 991px) and (min-width: 768px) {
      .visualSection .btnFrame {
        width: 70%; }
        .visualSection .btnFrame .btn {
          font-size: 2.265625vw; } }
  @media screen and (max-width: 767px) {
    .visualSection {
      padding: 0; }
      .visualSection .txtFrame {
        display: block;
        padding: 117.65625% 0 0;
        height: 0;
        background: url(../images/mv_sp.jpg) no-repeat 0 0;
        background-size: cover; }
        .visualSection .txtFrame .inner {
          position: absolute;
          left: 0;
          bottom: 0;
          width: 100%;
          padding: 3.90625% 0 4.6875% 0;
          background: rgba(255, 255, 255, 0.9);
          text-align: center;
          z-index: 1; }
        .visualSection .txtFrame .lead {
          font-size: min(36px, 5.625vw);
          letter-spacing: 0; }
          .visualSection .txtFrame .lead .sp-in-block {
            margin-left: -.35em; }
        .visualSection .txtFrame .catch {
          margin: .5em 0 0;
          font-size: min(30px, 4.6875vw); }
          .visualSection .txtFrame .catch .sub {
            margin: 0 0 .35em; }
          .visualSection .txtFrame .catch .mv_logo {
            display: block;
            margin: 0 auto;
            width: 56.09375vw;
            max-width: 359px;
            height: auto; }
      .visualSection .btnFrame {
        width: auto; }
        .visualSection .btnFrame .btn {
          margin: 10px auto;
          padding: 0.32em;
          max-width: 13.8em;
          font-size: 1.44em; }
          .visualSection .btnFrame .btn:not(.active) {
            -webkit-transform: translateY(1.5em);
                    transform: translateY(1.5em); } }

/* ------------------------------
  intro SECTION STYLES
------------------------------ */
.introSection {
  padding: 3.8888888889em 0 4.7222222222em;
  text-align: center; }
  .introSection .ttl {
    margin: 0 auto 2em;
    font-size: 1.3333333333em;
    padding: .4em 0 0; }
    .introSection .ttl .logo {
      display: inline-block;
      position: relative;
      top: -.275em;
      margin: 0 .65em 0 0;
      width: 9.9583333333em;
      height: 1.5416666667em;
      line-height: 999%;
      overflow: hidden;
      background: url(../images/logo.svg) no-repeat 0 0;
      background-size: contain;
      vertical-align: middle; }
  .introSection p {
    font-size: 1.3333333333em;
    font-weight: bold;
    line-height: 1.4; }
    .introSection p .sub {
      display: block;
      margin: 0 0 .25em;
      font-size: 0.8333333333em; }
    .introSection p .sub + span {
      margin: 1.25em 0 .75em; }
    .introSection p .marker {
      padding: 0 .35em;
      background: #ffbf37; }
  @media screen and (max-width: 767px) {
    .introSection {
      padding: 15px 0 30px; }
      .introSection .ttl {
        margin: 0 0 1.5em;
        font-size: 1.44em; }
      .introSection p {
        font-size: 1.2em; }
        .introSection p .sub {
          font-size: 0.9333333333em; }
        .introSection p .sub + span {
          margin: 1em 0 .65em; }
        .introSection p .marker {
          line-height: 1.8; } }

/* ------------------------------
  problem SECTION STYLES
------------------------------ */
.problemSection {
  background: #e4e4e4; }
  .problemSection .img img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 446px;
    -o-object-fit: cover;
       object-fit: cover;
    font-family: "object-fit: $fit;"; }
  .problemSection .txt {
    position: relative;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
    color: #fff;
    background: #e4e4e4;
    overflow: hidden;
    z-index: 1; }
    .problemSection .txt:before {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      right: 6.015625vw;
      width: 100vw;
      height: 100vw;
      background: #575757;
      border-radius: 50%;
      -webkit-transform: translate(0, 17%);
              transform: translate(0, 17%);
      z-index: -1; }
    .problemSection .txt .container {
      width: 100%;
      padding: 0 2.7777777778em; }
    .problemSection .txt .ttl {
      text-align: left; }
    .problemSection .txt li {
      position: relative;
      margin: 0 0 1.4em;
      padding: 0 0 0 2em;
      line-height: 1.3;
      font-size: 1.875vw;
      font-weight: bold;
      background: url(../images/ico_check.png) no-repeat 0 0;
      background-size: 1.25em auto;
      text-shadow: 1px 1px 0 #575757; }
      @media screen and (min-width: 1280px) {
        .problemSection .txt li {
          font-size: 1.3333333333em; } }
  @media screen and (min-width: 768px) {
    .problemSection .img {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 33.59375%;
              flex: 0 1 33.59375%; }
    .problemSection .txt {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  @media screen and (max-width: 767px) {
    .problemSection .txt:before {
      width: 150vw;
      height: 150vw;
      right: -5vw;
      -webkit-transform: translate(0, 20%);
              transform: translate(0, 20%); }
    .problemSection .txt .container {
      padding: 35px 25px; }
    .problemSection .txt .ttl {
      margin: 0 0 1.5em;
      font-size: min(30px, 6.25vw); }
    .problemSection .txt li {
      font-size: min(20px, 3.75vw);
      letter-spacing: .025em; } }

/* ------------------------------
  point SECTION STYLES
------------------------------ */
@media screen and (min-width: 768px) {
  .pointSection {
    padding-top: 6.1111111111em; } }
.pointSection .pointFrame {
  padding: 10px 0;
  background: url(../images/bg_point.png) no-repeat center center;
  background-size: contain; }
  .pointSection .pointFrame .container {
    width: 76.5625%; }
  @media screen and (max-width: 991px) and (min-width: 768px) {
    .pointSection .pointFrame {
      background-size: 120% auto; }
      .pointSection .pointFrame .container {
        width: auto;
        max-width: 860px;
        padding: 0 7.5%; } }
  .pointSection .pointFrame .box {
    position: relative;
    color: #373737;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 2px;
    text-shadow: 1px 0 0 #fff, 0 1px 0 #fff, -1px 0 0 #fff, 0 -1px 0 #fff, 1px 1px 0 #fff, -1px 1px 0 #fff,1px -1px 0 #fff, -1px -1px 0 #fff;
    text-align: center;
    width: calc(33.33% - 1.2em);
    max-width: 219px; }
    .pointSection .pointFrame .box:before {
      content: "";
      display: block;
      padding: 100% 0 0;
      background: url(../images/ico_point.png) no-repeat 0 0;
      background-size: contain; }
    .pointSection .pointFrame .box .inner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -ms-flex-line-pack: center;
          align-content: center;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
      .pointSection .pointFrame .box .inner .txt {
        width: 100%;
        margin-top: 1.9em;
        line-height: 1.46; }
      .pointSection .pointFrame .box .inner .point {
        display: block;
        font-size: 1.5em; }
  @media screen and (max-width: 767px) {
    .pointSection .pointFrame {
      padding: 4.9% 0;
      background: url(../images/bg_point_sp.png) no-repeat center center;
      background-size: 100% auto; }
      .pointSection .pointFrame .container {
        width: auto;
        max-width: 670px; }
      .pointSection .pointFrame .box {
        width: 33%;
        margin: 0 .15%;
        max-width: 200px;
        font-size: 2.96875vw;
        font-size: min(19px, 2.96875vw);
        letter-spacing: .5px; }
      .pointSection .pointFrame .inner .point {
        font-size: 1.5263157895em; } }
.pointSection .serviceFrame {
  margin: 3.8888888889em auto 0; }
  .pointSection .serviceFrame .box {
    margin: 0 0 10%; }
    .pointSection .serviceFrame .box:last-child {
      margin-bottom: 0; }
  .pointSection .serviceFrame .img {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 45.8888888889%;
            flex: 1 1 45.8888888889%; }
  .pointSection .serviceFrame .txt {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 54.1111111111%;
            flex: 1 1 54.1111111111%;
    padding-right: 2.77em; }
  .pointSection .serviceFrame .ttl_m {
    margin: 0 0 .75em;
    font-size: 1.6666666667em;
    font-weight: bold;
    color: #00b197;
    line-height: 1.75; }
  @media screen and (max-width: 991px) and (min-width: 768px) {
    .pointSection .serviceFrame .box {
      margin: 0 0 8%; }
    .pointSection .serviceFrame .ttl_m {
      margin: 0 0 .5em;
      line-height: 1.5; } }
  @media screen and (max-width: 767px) {
    .pointSection .serviceFrame .img img {
      display: block;
      margin: 0 auto; }
    .pointSection .serviceFrame .txt {
      margin: 2em auto 0;
      padding: 0 1.25em; }
      .pointSection .serviceFrame .txt p {
        font-size: 0.92em; }
    .pointSection .serviceFrame .ttl_m {
      font-size: 1.56em;
      line-height: 1.6; } }

/* ------------------------------
  campaign SECTION STYLES
------------------------------ */
.campaignSection .container {
  max-width: 1177px; }
.campaignSection .campaignBox {
  position: relative;
  margin: 3.7488284911% auto;
  padding: 2em;
  border: 0.5555555556em solid #00b197;
  border-radius: 0.8888888889em;
  background: #d9fffa;
  overflow: hidden;
  text-align: center;
  z-index: 1; }
  @media screen and (max-width: 1280px) {
    .campaignSection .campaignBox {
      font-size: 1.40625vw; } }
  .campaignSection .campaignBox:before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 35%;
    width: 70vw;
    height: 70vw;
    background: #fff;
    border-radius: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: -1; }
.campaignSection .ttl {
  margin: 0 0 .65em;
  color: #ff1f5e;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-weight: bold;
  font-size: 2em; }
  .campaignSection .ttl .catch {
    display: block;
    margin: 0 0 .52em;
    font-size: 1.3333333333em; }
.campaignSection .marker {
  display: inline-block;
  line-height: 1;
  background: #f0ff00; }
.campaignSection .txt {
  margin: 0 0 .65em;
  font-size: 1.1111111111em;
  font-weight: bold; }
.campaignSection .btn {
  padding: .6em;
  font-family: "Noto Sans JP";
  font-size: 2em;
  max-width: 20em;
  background: #00b197;
  color: #fff;
  -webkit-box-shadow: 0.5px 0.866px 2.5px rgba(0, 0, 0, 0.25);
          box-shadow: 0.5px 0.866px 2.5px rgba(0, 0, 0, 0.25); }
@media screen and (max-width: 767px) {
  .campaignSection .campaignBox {
    margin: 0 auto;
    font-size: 3.90625vw;
    padding: 3.125vw 0;
    border-width: 0.28em;
    border-radius: 0.44em; }
  .campaignSection .ttl {
    margin: 0 0 .35em;
    font-size: 1em;
    letter-spacing: 0; }
    .campaignSection .ttl .catch {
      font-size: 1.32em; }
  .campaignSection .txt {
    font-size: 0.56em;
    letter-spacing: 0; }
  .campaignSection .btn {
    font-size: 3.90625vw;
    max-width: 20em; } }

/* ------------------------------
  merit SECTION STYLES
------------------------------ */
.meritSection .container {
  max-width: 1020px; }
.meritSection .ttl {
  color: #007b69;
  letter-spacing: 0.025em; }
  @media screen and (min-width: 768px) {
    .meritSection .ttl {
      font-size: 2.2222222222em; } }
.meritSection dt {
  position: relative;
  counter-increment: idx;
  margin: 0 0 .65em;
  color: #e0b055;
  font-size: 1.6666666667em;
  font-weight: bold;
  padding: .75em;
  padding-left: 2.5em;
  line-height: 1.3;
  -webkit-box-shadow: 0.5px 0.866px 2.5px rgba(0, 0, 0, 0.25);
          box-shadow: 0.5px 0.866px 2.5px rgba(0, 0, 0, 0.25);
  border-radius: 5px; }
  .meritSection dt:before {
    content: counter(idx);
    display: block;
    position: absolute;
    left: .5em;
    top: 50%;
    width: 1.5em;
    height: 1.5em;
    line-height: 1.5em;
    border-radius: 50%;
    background: #e0b055;
    color: #fff;
    text-align: center;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
.meritSection dd + dt {
  margin-top: 1.25em; }
.meritSection dd {
  padding: 0 0.5em 0 1.7777777778em; }
@media screen and (min-width: 768px) {
  .meritSection .img {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 32.2222222222%;
            flex: 0 0 32.2222222222%; }
  .meritSection .txt {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    padding-left: 30px; } }
@media screen and (max-width: 767px) {
  .meritSection img {
    display: block;
    margin: 0 auto;
    max-width: 217px; }
  .meritSection dl {
    margin: 2em auto 0; }
  .meritSection dt {
    font-size: 1.2em; }
  .meritSection dd {
    font-size: 0.96em;
    padding: 0 1em; } }

/* ------------------------------
  registration SECTION STYLES
------------------------------ */
.registrationSection {
  padding: 55px 0;
  text-align: center;
  background: #309da4 url(../images/bg_registration.jpg) no-repeat 0 0;
  background-size: cover;
  color: #fff; }
  .registrationSection .ttl {
    margin: 0 0 .75em;
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
    font-size: 2.6666666667em; }
    .registrationSection .ttl .sub {
      display: block;
      margin: 0 0 .85em;
      font-size: .5em; }
  .registrationSection .btn {
    padding: .6em;
    font-family: "Noto Sans JP";
    font-size: 2em;
    max-width: 20em;
    background: #fff;
    color: #00b197;
    -webkit-box-shadow: 0.5px 0.866px 2.5px rgba(0, 0, 0, 0.25);
            box-shadow: 0.5px 0.866px 2.5px rgba(0, 0, 0, 0.25); }
  @media screen and (max-width: 767px) {
    .registrationSection {
      padding: 7.8125vw 0; }
      .registrationSection .ttl {
        font-size: min(38px, 5.9375vw); }
        .registrationSection .ttl .sub {
          font-size: 0.5em; }
      .registrationSection .btn {
        font-size: min(29px, 4.53125vw);
        max-width: 19.7586206897em; } }

/* ------------------------------
  about SECTION STYLES
------------------------------ */
.aboutSection {
  margin-top: 2.7777777778em;
  padding: 6% 0 5%;
  position: relative;
  background: #f2f2f2;
  overflow: hidden;
  font-family: "Noto Sans JP",sans-serif; }
  .aboutSection:before {
    content: "";
    position: absolute;
    border: 0.5555555556em solid #00b197;
    background: #fcfcfc;
    top: 1.1111111111em;
    bottom: 1.1111111111em;
    left: 1.1111111111em;
    right: 1.1111111111em;
    z-index: -1; }
  .aboutSection .container {
    z-index: 1; }
  .aboutSection .ttl {
    margin: 0;
    font-family: "Noto Sans JP",sans-serif; }
  .aboutSection .tblFrame {
    max-width: 900px;
    margin: 2.75em auto 0; }
    .aboutSection .tblFrame .tr {
      border-bottom: 2px solid #f0f0f0; }
      .aboutSection .tblFrame .tr:last-child {
        border-bottom: 0; }
    .aboutSection .tblFrame .th, .aboutSection .tblFrame .td {
      padding: 1.35em; }
    .aboutSection .tblFrame .td .dl dt {
      width: 35%; }
    .aboutSection .tblFrame .td .dl dd {
      margin: 0;
      padding: 0;
      width: 65%; }
    @media screen and (min-width: 992px) {
      .aboutSection .tblFrame .tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
      .aboutSection .tblFrame .th {
        width: 9.4444444444em; }
      .aboutSection .tblFrame .td {
        width: calc(100% - 9.4444444444em); } }
  @media screen and (max-width: 991px) {
    .aboutSection .aboutFrame {
      padding: 0 0 15px;
      border-width: 5px; }
      .aboutSection .aboutFrame .ttl {
        margin: 2em auto 0; }
    .aboutSection .tblFrame {
      margin: 1.5em auto 0;
      text-align: center; }
      .aboutSection .tblFrame .tr {
        border: 0; }
      .aboutSection .tblFrame .th, .aboutSection .tblFrame .td {
        padding: 1em; }
      .aboutSection .tblFrame .th {
        font-weight: bold;
        padding-bottom: 0; }
      .aboutSection .tblFrame .td .dl {
        display: block;
        letter-spacing: -0.01em; }
        .aboutSection .tblFrame .td .dl dt, .aboutSection .tblFrame .td .dl dd {
          width: auto; }
        .aboutSection .tblFrame .td .dl dd + dt {
          margin-top: 1em; } }
  @media screen and (max-width: 767px) {
    .aboutSection {
      padding: 45px 0 30px; }
      .aboutSection .ttl {
        font-size: 1.2em; }
      .aboutSection:before {
        border-width: 0.4em;
        top: 0.8em;
        bottom: 0.8em;
        left: 0.8em;
        right: 0.8em; }
      .aboutSection .tblFrame {
        margin: 0 auto; } }
