@charset "UTF-8";
.ttl-border-y {
  border-top: 1px solid;
  border-bottom: 1px solid
}
.ttl-border-b-wide {
  border-bottom: 7px solid gray
}
.ttl--border-before {
  position: relative;
  top: 0
}
.ttl--border-before::before {
  position: absolute;
  bottom: -2px;
  left: 50%;
  content: "";
  width: 100%;
  max-width: 490px;
  -webkit-transform: translate(-50%);
  transform: translate(-50%)
}
.ttl--border-before--new-line {
  background: -webkit-gradient(linear,left top,left bottom,color-stop(60%,transparent),color-stop(0,#cae0ef));
  background: linear-gradient(transparent 60%,#cae0ef 0);
  display: inline
}
@media screen and (min-width:1025px) {
  .header {
    margin-bottom: -10.5rem
  }
  .hero__sub__img img {
    height: 110px!important;
    -o-object-fit: cover;
    object-fit: cover
  }
  .sports-groups__txt {
    max-width: 675px;
    margin-right: auto;
    margin-left: auto
  }
}
.check-point {
  max-width: 830px;
  margin: auto auto 4rem
}
.situation .card__ttl {
  font-size: 3rem;
  line-height: 1.3;
  margin: 2rem 0
}
@media screen and (min-width:576px) and (max-width:1024px) {
  .header {
    margin-bottom: -16.5rem
  }
  .hero__sub__img img {
    height: 17rem!important;
    -o-object-fit: cover;
    object-fit: cover
  }
  .situation .card__ttl {
    font-size: 2.5rem
  }
  .deco-sports__item {
    display: none
  }
}
.situation .color-box {
  background: #ece6f2;
  border-radius: 21px;
  padding: 1rem;
  margin-bottom: 3rem
}
.situation .color-box > * {
  padding-right: calc(12px + 4%);
  padding-left: calc(12px + 4%)
}
.deco-sports--baseball,
.deco-sports--soccer,
.deco-sports--swimming,
.deco-sports--volleyball {
  position: relative
}
.deco-sports__item {
  position: absolute
}
.deco-sports--swimming .deco-sports__item {
  top: -9rem
}
@media screen and (max-width:575px) {
  .mw-sp-420 {
    max-width: 420px;
    margin: auto
  }
  .ttl--border-before::before {
    max-width: 290px
  }
  .check-point {
    max-width: 460px;
    padding-right: 8%;
    padding-left: 8%;
    margin-bottom: -1rem
  }
  .check-point__item {
    margin-bottom: 1rem
  }
  .situation .card__ttl {
    font-size: 1.5rem
  }
  .situation .color-box {
    margin: 0 calc(4% + 1rem);
    margin-bottom: 2rem
  }
  .deco-sports--swimming .deco-sports__item {
    top: -15rem;
    margin-left: -3rem
  }
  .deco-sports--swimming img {
    width: 50%
  }
}
.deco-sports--soccer .deco-sports__item {
  top: 7rem
}
.deco-sports--soccer img {
  width: 80%
}
@media screen and (max-width:575px) {
  .deco-sports--soccer .deco-sports__item {
    top: -7rem;
    margin-left: -1rem
  }
  .deco-sports--soccer img {
    width: 50%
  }
  .deco-sports--baseball {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: end
  }
}
.deco-sports--baseball .deco-sports__item {
  top: 13rem
}
@media screen and (max-width:575px) {
  .deco-sports--baseball .deco-sports__item {
    top: -1.5rem;
    text-align: end;
    margin-right: -3rem
  }
  .deco-sports--baseball img {
    width: 60%
  }
  .deco-sports--volleyball {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: end
  }
}
.deco-sports--volleyball .deco-sports__item {
  top: 28rem
}
.accommodation,
.food-menu {
  margin-bottom: 4rem
}
.indent__img-detail {
  padding-right: 8%;
  padding-left: 8%
}
.indent__img-detail .card__ttl {
  font-weight: 700;
  text-align: center;
  font-size: 150%;
  padding: 1.5rem 4%;
  line-height: 1.5
}
.indent__img-detail .card__txt {
  text-align: center
}
.contact,
.hotel-four-points__ttl,
.sports-grants {
  margin-bottom: 5rem
}
.sports-grants .card__ttl,
.sports-grants .card__ttl-sub {
  font-size: 215%;
  letter-spacing: 3px;
  margin-bottom: -1rem
}
.sports-grants .card__ttl-sub {
  text-align: center;
  margin-bottom: -2rem;
  font-weight: 700
}
.sports-grants .card__ttl-sub > * {
  display: inline-block;
  padding: 0 27px;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
.sports-grants .card__ttl-sub > ::before {
  content: "";
  position: absolute;
  top: 0;
  left: -5px;
  width: 2px;
  height: 50px;
  background-color: #333;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transform-origin: center;
  transform-origin: center;
  z-index: -1
}
.sports-grants .card__ttl-sub > ::after {
  content: "";
  position: absolute;
  top: 0;
  right: 5px;
  width: 2px;
  height: 50px;
  background-color: #333;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform-origin: center;
  transform-origin: center;
  z-index: -1
}
.sports-grants .card__txt {
  font-size: 185%;
  font-weight: 700;
  letter-spacing: 3px;
  margin-bottom: 1rem
}
.sports-grants .card__btn {
  background: #3181b2;
  padding: 1.5rem 3em;
  border-radius: 23px;
  letter-spacing: 2.2px;
  display: block;
  font-size: 120%;
  color: #fff;
  max-width: 560px;
  text-align: center;
  margin: auto
}
.facilities-detail,
.group-plan-price,
.hotel-four-points .card__item,
.hotel-introduction-top,
.other-facility-top,
.sports-groups,
.time-equired {
  margin-bottom: 6rem
}
.deco-circle {
  font-family: "Sawarabi Gothic","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif
}
.bl__list .card__name {
  text-align: center;
  font-size: 140%;
  padding: 1.8rem 0 1rem;
  border-color: #c8c6e8;
  letter-spacing: 1px;
  margin-bottom: 2rem;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1
}
.hotel-four-points .deco-circle {
  width: 92px;
  height: 92px;
  font-size: 5rem;
  font-weight: 700;
  padding-top: 12px;
  background: #595183!important
}
@media screen and (min-width:576px) and (max-width:1024px) {
  .sports-grants .card__ttl-sub > ::before {
    left: 5px;
    width: 2px;
    height: 70px
  }
  .sports-grants .card__ttl-sub > ::after {
    right: 5px;
    width: 2px;
    height: 70px
  }
  .hotel-four-points .deco-circle {
    width: 74px;
    height: 74px;
    font-size: 4rem;
    padding-top: 17px
  }
}
.facilities-detail .card__ttl,
.sports-groups__ttl,
.time-equired__ttl {
  font-size: 140%;
  padding: 0 4% .7rem;
  border-color: #7f7cc9;
  text-align: center
}
.hotel-four-points .deco-circle::after {
  position: absolute;
  content: "こだわり";
  font-size: 1.2rem;
  top: 16px;
  font-weight: 400
}
.lunch-arrangements,
.nearby-sports-facilities {
  margin-bottom: 8rem
}
@media screen and (max-width:575px) {
  .deco-sports--volleyball .deco-sports__item {
    top: 7rem;
    text-align: end;
    margin-right: -5rem
  }
  .deco-sports--volleyball img {
    width: 45%
  }
  .experience,
  .hotel-four-points__ttl {
    margin-bottom: 3rem
  }
  .accommodation > * {
    max-width: 300px;
    margin: auto
  }
  .indent__img-detail {
    padding-right: 4%;
    padding-left: 4%
  }
  .sports-grants .card__ttl,
  .sports-grants .card__ttl-sub,
  .sports-grants .card__txt {
    font-size: 2.3rem
  }
  .sports-grants .card__ttl-sub {
    margin-bottom: 0;
    font-size: 1.5rem
  }
  .sports-grants .card__ttl-sub > ::before {
    left: 17px;
    height: 42px
  }
  .sports-grants .card__ttl-sub > ::after {
    right: 17px;
    height: 42px
  }
  .sports-grants .card__txt--2 {
    font-size: 1.7rem
  }
  .sports-grants .card__btn {
    max-width: 330px
  }
  .hotel-four-points .deco-circle {
    width: 65px;
    height: 65px;
    font-size: 3.5rem;
    padding-top: 12px
  }
  .hotel-four-points .deco-circle::after {
    font-size: 1rem;
    top: 11px
  }
  .facilities-detail .card__item {
    display: grid
  }
  .facilities-detail .card__item:first-child {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
  }
  .facilities-detail .card__item:nth-child(2) {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2
  }
  .facilities-detail .card__item:nth-child(3) {
    -webkit-box-ordinal-group: 5;
    -ms-flex-order: 4;
    order: 4
  }
  .facilities-detail .card__item:nth-child(4) {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3
  }
}
.facilities-detail .card__item,
.group-plan-recommend .card__item,
.other-facility-img-list .card__item {
  margin-bottom: 3rem
}
.facilities-detail .card__item:nth-child(2) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
.facilities-detail .card__ttl {
  margin: 1rem auto 1.5rem;
  width: 100%
}
.facilities-detail .card__txt {
  max-width: 390px;
  margin: auto
}
.facilities-detail .card__list {
  list-style: none
}
@media screen and (max-width:1024px) {
  .hotel-four-points .card__item {
    margin-bottom: 4rem
  }
  .bl__list .card__name {
    margin-bottom: 1.5rem
  }
  .facilities-detail .card__list {
    padding-left: 8%
  }
}
.facilities-detail .card__list li {
  position: relative;
  padding: 3px 0
}
.facilities-detail .card__list li::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  width: 11px;
  height: 11px;
  background-color: currentColor;
  border-radius: 50%;
  -webkit-transform: translate(-114%,-50%);
  transform: translate(-114%,-50%)
}
.facilities-detail .deco-circle {
  background: 0 0!important
}
.facilities-detail .deco-circle > * {
  width: 119px;
  height: 119px
}
.facilities-detail .deco-circle.deco-circle--1 {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: end;
  margin-left: 0;
  top: -25px;
  left: 30px
}
@media screen and (min-width:576px) and (max-width:1024px) {
  .facilities-detail .deco-circle > * {
    width: calc(119px * .8);
    height: calc(119px * .8)
  }
  .facilities-detail .deco-circle.deco-circle--1 {
    top: -35px;
    left: 25px
  }
}
@media screen and (max-width:575px) {
  .facilities-detail .deco-circle > * {
    width: calc(119px * .7);
    height: calc(119px * .7)
  }
  .facilities-detail .deco-circle.deco-circle--1 {
    top: -25px;
    left: 10px
  }
}
.facilities-detail .deco-circle.deco-circle--2 {
  margin-left: 0;
  top: 172px;
  left: -10px
}
.facilities-detail .deco-circle.deco-circle--2 > * {
  margin-top: auto
}
.time-equired .table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed
}
.time-equired .table td,
.time-equired .table th {
  padding: 10px;
  border: 1px solid #ccc;
  text-align: center
}
.time-equired .table thead {
  background-color: #e8e8ff
}
.time-equired .table thead th {
  font-weight: 700;
  padding: 12px
}
.time-equired .table tbody tr:nth-child(odd) {
  background-color: #f9f9f9
}
.time-equired .table tbody tr:hover {
  background-color: #f1f1f1
}
.sports-groups__ttl,
.time-equired__ttl {
  margin: 1rem auto 2rem;
  width: 100%
}
.time-equired__img-list {
  margin-bottom: 1rem
}
.time-equired__table th {
  background: #dcdaf5;
  font-weight: 400!important;
  font-size: 1.3rem
}
.time-equired__table td {
  font-size: 1.1rem;
  text-align: start!important
}
.time-equired__table td:first-child,
.time-equired__table td:nth-child(4),
.time-equired__table th:first-child,
.time-equired__table th:nth-child(4) {
  width: 30%
}
.time-equired__table td:nth-child(2),
.time-equired__table td:nth-child(3),
.time-equired__table th:nth-child(2),
.time-equired__table th:nth-child(3) {
  width: 20%
}
.sports-groups__txt {
  margin-top: 0
}
.food-menu .deco-circle,
.food-menu-img-list .bl__list .deco-circle,
.group-rooms .deco-circle {
  background: 0 0!important;
  width: 119px;
  height: 119px
}
.food-menu .deco-circle.deco-circle--1,
.group-rooms .deco-circle.deco-circle--1 {
  margin-left: 0;
  top: -60px;
  left: 20px
}
.group-rooms-detail {
  margin-bottom: 2rem
}
.group-rooms-detail .room-cards__items {
  max-width: none
}
.group-rooms-detail .list__line__name {
  width: 40%
}
.group-rooms-detail .list__line__detail {
  width: 60%
}
.food-menu-img-list .ttl-border-b-wide,
.other-facility-img-list .ttl-border-b-wide {
  border-color: #7f7cc9
}
@media screen and (min-width:576px) {
  .situation .color-box {
    font-size: 2rem
  }
  .deco-sports--swimming .deco-sports__item {
    left: calc((100% - 1024px)/ 2 - 88px)
  }
  .deco-sports--soccer .deco-sports__item {
    left: calc((100% - 1024px)/ 2 - 15px)
  }
  .deco-sports--baseball .deco-sports__item {
    right: calc((100% - 1024px)/ 2 - 80px)
  }
  .deco-sports--volleyball .deco-sports__item {
    right: calc((100% - 1024px)/ 2 - 120px)
  }
  .facilities-detail .card__ttl {
    max-width: 420px
  }
  .time-equired__ttl {
    max-width: 611px
  }
  .sports-groups__ttl {
    max-width: 640px
  }
  .sports-groups__img-list {
    margin-bottom: 2rem
  }
  .food-menu .deco-circle__base,
  .group-rooms .deco-circle__base {
    margin-top: 8rem
  }
  .food-menu-img-list {
    margin-bottom: 4rem
  }
  .food-menu-img-list .bl__list .deco-circle__base {
    margin-top: 2rem
  }
}
.food-menu-img-list .bl__list .deco-circle.deco-circle--1 {
  margin-left: 0;
  top: -45px;
  left: -10px
}
.lunch-arrangements .card__ttl {
  font-weight: 700;
  text-align: center;
  font-size: 150%;
  padding: 1rem 4%;
  line-height: 1.5
}
.lunch-box {
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}
@media screen and (min-width:1025px) {
  .lunch-box {
    margin-top: -4rem
  }
}
.group-plan-price .card__ttl {
  padding: 1rem 4%
}
.group-plan-recommend__inner {
  max-width: 874px;
  margin: auto
}
.group-plan-recommend__ttl {
  background: #e5e3ee;
  font-size: 150%;
  padding: 1rem 4%;
  border-radius: 30px;
  max-width: 569px;
  margin: auto auto 2.5rem;
  text-align: center;
  letter-spacing: 3px
}
.group-plan-recommend .card__item:first-child .ttl-border-b-wide {
  border-color: #ad8282
}
.group-plan-recommend .card__item:nth-child(2) .ttl-border-b-wide {
  border-color: #458bbe
}
.group-plan-recommend .card__name {
  font-size: 250%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-weight: 700;
  letter-spacing: 3px;
  padding: 0 2%;
  margin-bottom: 3rem
}
.group-plan-recommend .card__name > * {
  display: inline-block;
  margin-top: 0;
  margin-bottom: 0;
  padding: 0 4%
}
.contact .tag-rounded-corner {
  background: #635371;
  color: #fff;
  border-radius: 28px
}
.contact .color-box {
  text-align: center;
  background: #f1f0f6;
  padding: 5rem 4% 6rem
}
.contact .card__ttl {
  margin: auto;
  padding: 1.3rem;
  letter-spacing: 2px;
  font-size: 2.2rem;
  max-width: 426px;
  margin-bottom: 1rem
}
.contact .card__tel {
  font-size: 7.9rem;
  font-weight: 700;
  margin: 0;
  letter-spacing: 5px;
  display: inline-block
}
.contact .card__tel__info {
  font-weight: 700;
  margin-top: 1rem;
  margin-bottom: 3rem
}
.contact .card__txt {
  font-weight: 700;
  font-size: 140%;
  margin-bottom: 1rem
}
.contact .card__btn {
  font-size: 140%;
  padding: 1.3rem 4%;
  margin-bottom: 4rem;
  display: block
}
.contact .link-contact {
  max-width: 778px;
  margin: auto
}
.contact .link-download {
  max-width: 478px;
  margin: auto
}
.contact .fa-envelope::before {
  margin-right: 6px;
  font-size: 105%
}
.contact a {
  text-decoration: none
}
.contact .deco-phone {
  position: relative;
  z-index: 1
}
.contact .deco-phone::after {
  position: absolute;
  content: "";
  width: 190px;
  height: 201px;
  background-image: url(/img/yuttarikan/special/training-camp/phone.png?0);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  top: -8rem;
  right: -7rem;
  z-index: -1
}
@media screen and (min-width:576px) and (max-width:1024px) {
  .facilities-detail .deco-circle.deco-circle--2 {
    top: 76px;
    left: -10px;
    height: 100%
  }
  .food-menu .deco-circle,
  .food-menu-img-list .bl__list .deco-circle,
  .group-rooms .deco-circle {
    width: calc(119px * .8);
    height: calc(119px * .8)
  }
  .food-menu .deco-circle.deco-circle--1,
  .group-rooms .deco-circle.deco-circle--1 {
    top: -20px
  }
  .food-menu-img-list .bl__list .deco-circle.deco-circle--1 {
    top: -20px
  }
  .group-plan-recommend .card__name {
    margin-bottom: 2rem
  }
  .contact .card__tel {
    font-size: 4.9rem
  }
  .contact .deco-phone::after {
    width: calc(190px * .6);
    height: calc(201px * .6);
    top: -4rem;
    right: -5rem
  }
}
@media screen and (max-width:575px) {
  .facilities-detail .deco-circle.deco-circle--2 {
    top: 60px;
    left: -10px;
    height: 100%
  }
  .sports-groups__img-list .card__item {
    margin-bottom: 1rem
  }
  .food-menu .deco-circle,
  .group-rooms .deco-circle {
    width: calc(119px * .9);
    height: calc(119px * .9)
  }
  .food-menu .deco-circle.deco-circle--1,
  .group-rooms .deco-circle.deco-circle--1 {
    top: 5px;
    left: 10px
  }
  .food-menu-img-list .bl__list .card__item,
  .lunch-arrangements {
    margin-bottom: 4rem
  }
  .food-menu-img-list .bl__list .deco-circle {
    width: calc(119px * .8);
    height: calc(119px * .8)
  }
  .food-menu-img-list .bl__list .deco-circle.deco-circle--1 {
    top: -20px;
    left: 2px
  }
  .group-plan-recommend__ttl {
    font-size: 1.5rem;
    letter-spacing: 1px
  }
  .group-plan-recommend .card__name {
    margin-bottom: 1.5rem;
    font-size: 2.7rem
  }
  .group-plan-recommend .card__name > * {
    width: 100%;
    text-align: center;
    padding-bottom: .5rem
  }
  .contact {
    margin-bottom: 2rem
  }
  .contact .color-box {
    padding: 5rem 0
  }
  .contact .card__ttl {
    font-size: 1.8rem;
    min-width: 330px;
    -webkit-transform: translate(-50%,-72px);
    transform: translate(-50%,-72px);
    margin-left: 50%;
    margin-bottom: -6rem
  }
  .contact .card__tel {
    font-size: 3rem;
    letter-spacing: 2px
  }
  .contact .card__txt {
    font-size: 120%
  }
  .contact .card__btn {
    padding: 1.5rem 4%;
    max-width: 320px;
    font-size: 160%
  }
  .contact .fa-envelope::before {
    font-size: 123%
  }
  .contact .deco-phone::after {
    width: calc(190px * .3);
    height: calc(201px * .3);
    top: -2rem;
    right: 0
  }
}