@charset "utf-8";
/* CSS Document */
body {
  font-size: 1.8rem;
}
.mv_box_wrap {
  padding-top: 0;
  position: relative;
}
.ttl01_box {
  position: absolute;
  top: 55%;
  left: 6vw;
  transform: translateY(-50%);
}
h1.ttl01 {
  color: #fff;
  z-index: 2;
  text-shadow: none;
  font-size: 5.8rem;
  background: linear-gradient(90deg, #99d6f4 0%, #1d73d3 40%, #84bbef 80%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 1.4;
}
.mv_bg {
  max-width: 74vw;
  margin: 0 0 0 auto;
}
.ttl02 {
  color: inherit;
  font-size: 3.6rem;
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 2rem;
}
.ttl02.un_line::before {
  background: #77b52d;
  content: '';
  display: block;
  width: 20%;
  height: 2px;
  position: absolute;
  bottom: -2px;
  left: 0;
  z-index: 10;
}
.ttl03 {
  font-size: 2.8rem;
  border-left: 6px solid #12278e;
  padding: 0 1rem;
  margin: 4rem auto;
}
.un_line {
  border-bottom: 2px solid #12278d;
  width: 35%;
}
.main_box {
  max-width: 1200px;
  width: 95%;
  margin: 0 auto;
}
.under .table01 th {
  background: #2841af;
  color: #fff;
  padding: 1.5rem 2rem;
  text-align: center;
  border: 2px solid #fff;
}
.under .table01 td {
  padding: 1.5rem 2rem;
  background: #fff;
  border: 2px solid #eee;
}
.under .table01 td dl dt {
  width: 15%;
  text-align: end;
  margin-left: -4.5rem;
  margin-right: 4rem;
}
.under .table01 td dl dd {
  width: 85%;
}
ul.noli {
  counter-reset: list;
  list-style-type: none;
  padding: 2rem 0;
  position: relative;
}
ul.noli li {
  position: relative;
  color: #333;
  padding: .5rem 0 .5rem 50px;
  margin: 7px 0px;
  line-height: 30px;
}
ul.noli li:before {
  counter-increment: list;
  content: "0"counter(list);
  display: block;
  position: absolute;
  left: 10px;
  font-weight: bold;
  top: 50%;
  font-size: 2.4rem;
  color: #89c041;
  font-family: "Kosugi", sans-serif;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
ul.noli li:after {
  display: block;
  content: "";
  width: 25%;
  height: 2px;
  background: rgb(255, 255, 255);
  background: linear-gradient(-90deg, rgba(255, 255, 255, 0) 0%, rgba(137, 192, 65, 1) 100%);
  position: absolute;
  left: 0;
  bottom: 0;
}
ul.flow li {
  padding: 1rem 0;
  position: relative;
}
ul.flow dl {
  display: flex;
  align-items: center;
}
ul.flow dt {
  background-color: #12278d;
  color: #fff;
  padding: .8rem 1.5rem;
  width: 100px;
  text-align: center;
  position: relative;
  z-index: 1;
}
ul.flow dd {
  padding: .5rem 1.5rem .5rem 2rem;
}
ul.flow .border-line {
  position: absolute;
  left: 50px;
  top: 3rem;
  width: 2px;
  height: 0;
  background: #12278d;
  z-index: 0;
}
/*summary*/
.summary .philosophy {
  position: relative;
}
.summary .philosophy::before {
  display: block;
  content: "";
  background-image: url("../img/summary_philosophy.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-33%, -50%) rotate(30deg);
  opacity: .4;
  z-index: -1;
}
.summary .overview {
  background-color: #f2f6f7;
}
.summary .map_area iframe {
  padding: 1.5rem;
  height: 300px;
}
.summary .history {
  position: relative;
  box-shadow: 0 0 10px 0 #eee;
}
.summary .history::after {
  display: block;
  content: "";
  background: rgb(216, 240, 255);
  background: linear-gradient(-90deg, rgba(216, 240, 255, 1) 37%, rgba(249, 255, 241, 1) 65%);
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: -1;
}
.privacy {
  padding: 3rem 2rem;
  height: 300px;
  overflow-y: scroll;
  border-radius: 0.8rem;
  border: 2px solid #ccc;
  background-color: #fff;
}
.privacy_ttl {
  font-size: 2rem;
}
.privacy ul {
  padding: 3rem 0;
  font-size: 1.6rem;
}
.privacy ul li {
  padding: .5rem 0;
}
.privacy ul ul {
  padding: .5rem 0;
}
.privacy ul ul li {
  padding: 0;
}
.privacy ul dd {
  padding-left: 2rem;
}
/*service*/
.service .ser_info ul li {
  position: relative;
}
.service .ser_info ul li::before {
  display: block;
  content: "";
  background-image: url("../img/service_swim.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left center;
  width: 50%;
  height: 100%;
  position: absolute;
  left: 10%;
  top: 50%;
  transform: translateY(-50%);
  z-index: -1;
  opacity: .4;
}
.service .ser_info ul li:nth-child(even)::before {
  background-position: right center;
  left: auto;
  right: 10%;
}
.service .ser_info ul li:nth-child(2)::before {
  background-image: url("../img/service_fitness.svg");
}
.service .ser_info ul li:nth-child(3)::before {
  background-image: url("../img/service_sports.svg");
}
.service .ser_info ul li:nth-child(4)::before {
  background-image: url("../img/service_skiing.svg");
}
.service .ser_info ul li:nth-child(5)::before {
  background-image: url("../img/service_project.svg");
}
.service .ser_info ul li:nth-child(6)::before {
  background-image: url("../img/service_trip.svg");
  height: 80%;
  right: 13%;
}
.service .ser_info ul li dl {
  box-shadow: 0 0 6px 0 #aaa;
  padding: 8rem 5rem;
  margin-bottom: 8rem;
  width: 50%;
  background-color: #f0f4f9;
}
.service .ser_info ul li:nth-child(odd) dl {
  margin: 0 0 8rem auto;
}
.service .ser_info ul li:first-child dl {
  margin-top: 5rem;
}
.service .ser_info ul li dt {
  font-size: 2.4rem;
  margin-bottom: 1rem;
  position: relative;
}
.service .ser_info ul li dt:after {
  display: block;
  content: "";
  width: 25%;
  height: 2px;
  background: rgb(255, 255, 255);
  background: linear-gradient(-90deg, rgba(255, 255, 255, 0) 0%, rgba(137, 192, 65, 1) 100%);
  position: absolute;
  left: 0;
  bottom: 0;
}
.service .ser_info ul li dd {
  display: flex;
  padding: 1rem 0;
  margin: 0;
}
.service .ser_info ul li dd::before {
  content: "\f00c";
  display: block;
  font-size: 1.5rem;
  position: relative;
  top: 5px;
  margin: 0 0.5rem;
  color: #12278d;
}
.service .operation {
  background-color: #f2f6f7;
}
.service .operation ul, .office .stg_grope ul {
  display: flex;
  flex-wrap: wrap;
}
.service .operation ul li, .office .stg_grope ul li {
  width: calc(94% / 3);
  box-shadow: 0 0 6px 0 #aaa;
  padding: 2rem;
  background-color: #fff;
  margin: 0 1% 3rem;
}
.service .operation ul li a, .office .stg_grope ul li a {
  color: #010101;
  display: block;
}
.service .operation ul li h3, .office .stg_grope ul li h4 {
  color: #77b52d;
}
.service .operation ul li dl, .office .stg_grope ul li dl {
  font-size: 1.6rem;
}
.service .operation ul li .flex dt, .office .stg_grope ul li .flex dt {
  width: 25px;
}
.service .operation ul li .flex dd, .office .stg_grope ul li .flex dd {
  width: calc(100% - 25px);
}
.service .operation ul li .box_ttl, .office .stg_grope ul li .box_ttl {
  border: 1px solid #77b52d;
  padding: .5rem 1rem;
  display: inline-block;
  margin-top: 1rem;
}
.service .operation .fa-map-marker-alt::before, .office .stg_grope .fa-map-marker-alt::before {
  font-size: 2rem;
  padding-left: 3px;
}
/*office*/
.office .stg_grope {
  background: rgb(132, 187, 239);
  background: -webkit-linear-gradient(61deg, rgba(132, 187, 239, .2) 0%, rgba(29, 115, 211, .2) 51%, rgba(132, 187, 239, .2) 100%);
  background: -o-linear-gradient(61deg, rgba(132, 187, 239, .2) 0%, rgba(29, 115, 211, .2) 51%, rgba(132, 187, 239, .2) 100%);
  background: linear-gradient(151deg, rgba(132, 187, 239, .2) 0%, rgba(29, 115, 211, .2) 51%, rgba(132, 187, 239, .2) 100%);
}
.office .stg_img {
  width: 90%;
  margin: 5rem auto;
}
.office .stg_grope .button {
  margin: 1rem auto 0;
  padding: 0;
}
.office .stg_grope .button a {
  color: #fff;
  padding: 1.5rem 0;
}
.office .stg_grope ul li .box_ttl {
  margin-bottom: .5rem;
}
.office .stg_grope ul li .list01 li {
  background-color: transparent;
  box-shadow: none;
  width: 100%;
  padding: .3rem;
  margin: 0 auto .5rem;
  border-bottom: 1px dashed #ddd;
}
.office .stg_grope ul li .list01 li:before {
  margin: 2px .5rem 0 0;
  font-size: 85%;
  color: #77b52d;
}
/*---消す---*/
.office .table_wrap {
  margin: 0 auto;
}
.office .table02 {
  box-shadow: 0 0 6px 0 #aaa;
}
.office .table02 tr {
  border-bottom: 1px solid #eee;
}
.office .table02 tr:last-child {
  border-bottom: none;
}
.office .table02 thead th {
  background-color: #2841af;
  color: #fff;
  padding: 1.5rem 0;
  border-left: 1px solid #fff;
}
.office .table02 thead th:first-child {
  border-left: none;
}
.office .table02 th a {
  color: #86ce31;
}
.office .table02 tbody th, .office .table02 td {
  background-color: rgba(255, 255, 255, .8);
}
.office .table02 td {
  padding: 1.5rem;
  border-left: 1px solid #eee;
}
/*---/消す---*/
.advice .un_line {
  width: 60%;
}
.advice .ad_staff li {
  border-bottom: 1px dashed #ddd;
  padding: 0 0 2rem;
  margin-bottom: 2rem;
}
.advice .ad_staff li dl {
  display: flex;
  align-items: center;
}
.advice .ad_staff li dt {
  width: 23%;
}
.advice .ad_staff li dd {
  width: 77%;
  font-weight: 400;
}
.advice .ad_staff li li {
  border-bottom: none;
  padding-bottom: 0;
  margin: 0;
}
.advice ul.flex li {
  width: calc(100%/4);
}
.advice .fa-circle {
  font-size: 85%;
  padding-right: .5rem;
  color: #77b52d;
}
/*recruit*/
.recruit table {
  box-shadow: 0 0 6px 0 #aaa;
}
.recruit table tr {
  border-bottom: 1px solid #ddd;
}
.recruit table tr:last-child {
  border-bottom: none;
}
.recruit table th {
  width: 20%;
  background-color: #eee;
}
.recruit table td {
  width: 80%;
  padding: 2rem;
  font-weight: 400;
}
.recruit .btn_box{
	max-width: 1000px;
	margin: 0 auto 5rem;
}
.recruit .btn_box li{
	width: 50%;
}
.recruit .btn_box li .button a{
	width: 55%;
	max-width: 260px;
}
.recruit .btn_box li a img{
	display: block;
	max-width: 380px;
	width: 90%;
	margin: 1rem auto 0;
}
/*contact*/
.contact .description a {
  outline: none;
  text-decoration: none;
  color: #0b429d;
  font-size: 1.8rem;
}
.contact .description ul {
  padding: 3rem;
  border-radius: 2rem;
  box-shadow: 0 0 6px 0 #aaa;
  margin-top: 2rem;
}
.contact .description ul li {
  border-bottom: 1px dashed #ddd;
  padding: 0.5rem;
  display: flex;
}
.contact .description ul li::before {
  content: "\f00c";
  display: block;
  font-size: 1.5rem;
  position: relative;
  top: 5px;
  margin: 0 0.5rem;
  color: #0044a7;
}
.contact .form_wrap {
  margin: 0 auto;
  padding-top: 3rem;
  background: linear-gradient(to bottom, #e2effa 0%, #fff 90%);
  box-shadow: 0px -6px 6px -6px #aaa;
}
.contact .form_wrap table tr {
  border-bottom: 1px solid #c9d2dc;
}
.contact .form_wrap table {
  margin: 2rem auto 5rem;
}
.contact .form_wrap table th {
  font-size: 1.8rem;
  vertical-align: middle;
  text-align: left;
}
.contact .form_wrap input[type="text"], .contact .form_wrap input[type="email"], .contact .form_wrap input[type="tel"], .contact .form_wrap select, .contact .form_wrap textarea {
  padding: 1.3rem 1rem 1.3rem;
  font-size: 1.5rem;
  resize: none;
  width: 100%;
  border: .2rem solid;
  border-radius: 0.5rem;
  border-color: #0044a7;
  transition: all .4s;
  transition-timing-function: ease-out;
  transition-property: border-color;
  cursor: pointer;
}
.contact .form_wrap input:focus, .contact .form_wrap textarea:focus {
  border: #0044a7 .2rem solid;
  outline: none;
}
.contact .form_wrap input:hover, .contact .form_wrap textarea:hover {
  border-color: #0044a7;
}
.mw_wp_form input[type="file"] {
  margin-bottom: 1rem;
}
.contact .required {
  font-weight: 600;
  display: inline-block;
  color: #ac3e36;
  font-size: 1.5rem;
  line-height: 1.1;
  border-radius: 0.5rem;
  padding: 0.6rem .5rem 0.4rem;
  position: relative;
  bottom: 0.1rem;
  margin: 0 0.5rem;
}
.contact .form_wrap table th {
  padding: 2.5rem 0rem;
  width: 28%;
}
.contact .form_wrap table td {
  padding: 2.5rem 0rem;
}
.contact .form_wrap .small {
  margin-top: 0.2rem;
  font-size: 85%;
}
.contact .form_wrap label {
  margin-right: 2rem;
}
.contact .form_wrap input.tel, .contact .form_wrap input.tel2 {
  width: 20%;
}
.contact .form_wrap select#year {
  width: 25%;
}
.contact .form_wrap select#month, .contact .form_wrap select#day {
  width: 18%;
}
.contact .form_wrap .flex dt {
  width: 60%;
}
.contact .form_wrap .flex dd {
  width: 40%;
}
.contact .form_wrap .tel_wrap .flex dt:first-child, .contact .form_wrap .tel_wrap .flex dd:first-child {
  margin-bottom: 1rem;
}
.contact .form_wrap input#allergy2 {
  margin-top: 1rem;
}
.contact .form_wrap input[type="submit"] {
  /*	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";*/
  font-weight: bold;
  text-align: center;
  display: block;
  margin: 4rem auto 4rem;
  font-size: 1.8rem;
  padding: 1.5rem 4.5rem 1.5rem;
  border-radius: 0.5rem;
  background: #26579c;
  cursor: pointer;
  border: none;
  color: #fff;
  max-width: 270px;
}
.contact .form_wrap .privacy {
  height: 300px;
  margin: 0rem auto 2rem;
  padding: 2rem 1rem;
  overflow-y: scroll;
  border-radius: 0.8rem;
  border: 2px solid #ccc;
  background-color: #fff;
  font-weight: 400;
  font-size: 1.6rem;
}
.contact .form_wrap .privacy p {
  line-height: 1.5;
}
.contact .form_wrap .privacy dt {
  font-size: 1.7rem;
  padding: 0.5rem 0;
  margin-top: 1.5rem;
}
.contact .form_wrap .privacy dd {
  margin-left: 0.5rem;
  line-height: 1.5;
}
.contact .form_wrap .privacy p.privacy_title {
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 2rem;
}
.contact .form_wrap input[type=checkbox].priv, .contact .form_wrap input[type=checkbox].participation {
  display: none;
}
.contact .form_wrap .priv_check_box {
  font-size: 1.5rem;
  font-weight: 600;
}
.contact .form_wrap .priv_check_box small {
  font-weight: 800;
}
.contact .form_wrap .priv + span, .contact .form_wrap .participation + span {
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  padding: 5px 30px;
  position: relative;
  width: auto;
}
.contact .form_wrap .priv + span::after, .contact .form_wrap .priv + span::before, .contact .form_wrap .participation + span::after, .contact .form_wrap .participation + span::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
}
.contact .form_wrap .priv + span::before, .contact .form_wrap .participation + span::before {
  background: #fff;
  border: .2rem solid #0044a7;
  content: '';
  display: block;
  height: 23px;
  border-radius: 0.3rem;
  left: 1px;
  top: 7px;
  position: absolute;
  width: 23px;
}
.contact .form_wrap .priv + span::after, .contact .form_wrap .participation + span::after {
  border-right: 3px solid #0b429d;
  border-bottom: 3px solid #0b429d;
  content: '';
  display: block;
  position: absolute;
  height: 16px;
  width: 9px;
  left: 8px;
  top: 50%;
  transform: rotate(45deg);
  margin-top: -11px;
  opacity: 0;
}
.contact .form_wrap .priv:checked + span::after, .contact .form_wrap .participation:checked + span::after {
  opacity: 1;
}
.contact .mw_wp_form .form_wrap .participation_wrap .horizontal-item + .horizontal-item {
  margin-left: 0;
}
.contact .mw_wp_form .form_wrap .participation_wrap td span {
  width: calc(95% / 3);
}
.contact .mw_wp_form .form_wrap .participation_wrap td span label {
  margin: 0;
}
.contact .form_wrap .participation + span {
  padding-right: 1rem;
}
.contact .description, .contact .form_wrap .small {
  font-weight: 400;
}
@media screen and (max-width: 1199px) {
  .mv_box_wrap {
    padding: 11rem 0 2rem;
  }
  h1.ttl01 {
    font-size: 5rem;
  }
  .ttl02 {
    font-size: 3.2rem;
  }
  .advice .ad_staff li dt {
    width: 35%;
  }
  .advice .un_line {
    width: 70%;
  }
  .under .table01 td dl dt {
    margin-left: 0;
    margin-right: 0;
    width: 18%;
    text-align: left;
  }
  .under .table01 td dl dd {
    width: 75%;
  }
  .summary .philosophy::before {
    height: 50%;
    transform: translate(-18%, -50%) rotate(50deg);
  }
}
@media screen and (max-width: 999px) {
  section {
    padding: 5rem 0 7rem;
  }
  h1.ttl01 {
    font-size: 4.5rem;
  }
  .ttl02 {
    font-size: 3.5rem;
  }
  .ttl01_box {
    max-width: 90vw;
    margin: 0 0 0 auto;
    position: static;
    transform: none;
  }
  .mv_bg {
    max-width: 90vw;
  }
  .privacy {
    margin-top: 2rem;
  }
  .un_line {
    width: 65%;
  }
  .service .ser_info ul li dl {
    padding: 4rem 2rem 4rem;
    margin-bottom: 5rem;
  }
  .under .table01 th {
    width: 20%;
  }
  .service .operation ul li, .office .stg_grope ul li {
    width: calc(94% / 2);
	  margin: 0 auto 3rem;
  }
  .advice .un_line {
    width: 100%;
  }
  .contact .form_wrap table td {
    width: 60%;
  }
  .contact .description ul {
    padding: 3rem 1.5rem;
  }
  .service .ser_info ul li::before {
    left: 5%;
  }
  .service .ser_info ul li:nth-child(even)::before {
    right: 9%;
  }
  .service .ser_info ul li:nth-child(2)::before {
    right: 0%;
  }
  .advice .ad_staff li dt {
    width: 40%;
  }
}
@media print, screen and (max-width: 480px) {
  body {
    font-size: 1.4rem;
  }
  .mv_box_wrap {
    padding: 7rem 0 2rem;
  }
  .service .ser_info ul li dl {
    width: 100%;
    padding: 2rem 1.5rem 11rem;
  }
  .service .ser_info ul li:nth-child(odd) dl {
    margin: 0 0 4rem auto;
  }
	.service .ser_info ul li dd::before {
		top: -2px;
	}
  h1.ttl01 {
    font-size: 2.6rem;
  }
  .ttl01_box {
    margin: 0;
	padding-left: 1.5rem;
  }
  .ttl02 {
    font-size: 2.3rem;
  }
  .under .table01 th {
    display: block;
    width: 100%;
  }
  .under .table01 td {
    display: block;
    width: 100%;
  }
  .service .ser_info ul li dt {
    font-size: 2.2rem;
  }
  .ttl03 {
    font-size: 2rem;
    margin: 2rem auto;
  }
  .under .table01 td dl dt {
    width: 40%;
  }
  .under .table01 td dl dd {
    width: 60%;
  }
  .service .operation ul, .office .stg_grope ul {
    flex-direction: column;
  }
  .service .operation ul li, .office .stg_grope ul li {
    width: 100%;
    margin: 0 auto 3rem;
  }
  ul.flow dd {
    width: calc(100% - 75px);
  }
  ul.flow dt {
    width: 75px;
	  padding: 1rem 0;
	}
	  ul.flow .border-line {
    left: 37px;
	top: 4rem;
  }
  .privacy {
    margin-top: 0;
  }
  section {
    padding: 5rem 0;
  }
  .service .ser_info ul li::before {
    z-index: 1;
    width: 23%;
    left: 70%;
    top: 75%;
    opacity: 0.3;
  }
  .service .ser_info ul li:nth-child(1)::before {
    top: 80%;
    left: 66%;
	  width: 27%;
  }
  .service .ser_info ul li:nth-child(2)::before {
    right: 9%;
	  top: 80%;
  }
  .service .ser_info ul li:nth-child(4)::before {
    top: 62%;
    right: 7%;
  }
  .contact .description ul li::before {
    margin: 0 0.9rem;
  }
  .contact .form_wrap table td {
    width: 100%;
    display: block;
    padding: 0.5rem 0 2rem;
  }
  .contact .form_wrap table th {
    width: 100%;
    display: block;
    padding: 1rem 0 0;
  }
  .privacy_ttl ul li {
    font-size: 1.4rem;
  }
  .advice .ad_staff li dl {
    display: block;
  }
  .advice .ad_staff li dt {
    width: 100%;
  }
  .advice .ad_staff li dd {
    width: 100%;
  }
  .advice ul.flex li {
    width: calc(100% / 2);
  }

	.official-trainer li {
		width: calc(100% / 1) !important;
	}
  .contact .form_wrap table th {
    font-size: 1.5rem;
  }
  .contact .form_wrap .privacy p {
    font-size: 1.2rem;
  }
  .contact .form_wrap .privacy dt {
    font-size: 1.4rem;
  }
	.contact .form_wrap .privacy dd {
		 font-size: 1.4rem;
	}
  .contact .form_wrap .privacy p.privacy_title {
    margin-bottom: 1rem;
  }
	.contact .description ul {
		padding: 2rem 0.5rem 3rem;
	}
  .privacy ul ul li {
    font-size: 1.4rem;
  }
  .summary .philosophy::before {
    height: 60%;
    opacity: 0.2;
  }
	.recruit table th {
		display: block;
    width: 100%;
    padding: 1.5rem;
	}
	.recruit table td {
		display: block;
		width: 100%;
	}
	.recruit .btn_box li{
		width: 100%;
		margin-bottom: 2rem;
	}
	.recruit .btn_box li:last-child{
		margin-bottom: 0;
	}
	.recruit .btn_box li .button a{
		width: 100%;
		max-width: 240px;
	}
	.recruit .btn_box li:last-child .button a{
		margin-top: 1rem;
	}
	.d_sp_none {
		display: none;
	}
}