@charset "UTF-8";
/* CSS Document */
@font-face {
  font-family: Rounded-Mplus-2p-regular;
  src: url('../font/rounded-mplus-2p-regular_web.woff2') format("woff2");
}
@font-face {
  font-family: Rounded-Mplus-2p-bold;
  src: url('../font/rounded-mplus-2p-bold_web.woff2') format("woff2");
}
body {
  font-family: 'Rounded-Mplus-2p-regular';
  font-weight: 500 !important;
  color: #707070;
  line-height: 1;
  font-size: 100% !important;
  min-height: 100vh; /* Fallback */
  min-height: calc(var(--vh, 1vh) * 100);
}
h1, h2, h3, h4, h5, h6, strong, em, .bold {
  font-family: 'Rounded-Mplus-2p-bold';
}
a {
  color: #0071BC;
}
a:hover, a:focus {
  color: #F60;
}
.sp-only {
  display: none !important;
}
@media screen and (max-width:767.98px) {
  .sp-only {
    display: block !important;
  }
  .pc-only {
    display: none !important;
  }
}
/*------------------- ここまで基礎設定 -------------------*/
/* ローディング画面 */
#loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #0071BC;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
}
.spinner {
  color: #ffffff;
  font-size: 20px;
  margin: 100px auto;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  position: relative;
  text-indent: -9999em;
  -webkit-animation: load4 1.3s infinite linear;
  animation: load4 1.3s infinite linear;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}
@-webkit-keyframes load4 {
  0%, 100% {
    box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
  }
  12.5% {
    box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }
  25% {
    box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }
  37.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }
  50% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }
  62.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
  }
  75% {
    box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
  }
  87.5% {
    box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
  }
}
@keyframes load4 {
  0%, 100% {
    box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
  }
  12.5% {
    box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }
  25% {
    box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }
  37.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }
  50% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }
  62.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
  }
  75% {
    box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
  }
  87.5% {
    box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
  }
}
.loaded {
  opacity: 0;
  visibility: hidden;
}
/*------------------- start header .main-nav -------------------*/
header {
  background-color: #DBF0FF;
}
a.navbar-brand {
  width: 300px;
}
header a.btn {
  background-color: #fff;
}
header a.btn:hover {
  color: #fff !important;
}
.navbar-expand-lg .navbar-nav .dropdown-menu {
  top: 48px;
  background-color: rgba(255, 255, 255, 0.85);
}
.dropdown-item {
  color: #0071BC;
}
.dropdown-item:hover, .dropdown-item:focus {
  background-color: rgba(219, 240, 255, 0.85);
  color: #F60;
}
@media screen and (max-width:991.98px) {
  a.navbar-brand {
    width: 250px;
  }
  .navbar-toggler {
    border-color: #f60;
    background-color: rgba(251, 229, 173, 0.60);
  }
  .navbar-toggler .navbar-toggler-icon {
    background-image: url("../img/bars-solid.svg");
    background-size: contain;
    background-position: center center;
  }
  a.nav-link {
    border-bottom: 1px dashed #0071BC;
  }
  .header-tel {
    width: 100%;
    background-color: #FFF;
    margin-top: 0.5rem;
    padding: 0.5rem;
  }
}
/*------------------- end header .main-nav -------------------*/
/*------------------- start .top-movie -------------------*/
.top-movie {
  position: relative;
  overflow: hidden;
}
.top-movie::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.30);
}
.top-movie video {
  position: absolute;
  z-index: -50 !important;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.top-slide {
background-size: cover;
background-repeat: no-repeat;
background-position: center center;
}
.top-copy {
  color: #FFF;
  font-size: 3rem;
		text-shadow: 0px 3px 0px #b2a98f,
               0px 7px 10px rgba(0,0,0,0.15),
               0px 12px 2px rgba(0,0,0,0.1),
               0px 24px 20px rgba(0,0,0,0.1);
}
@media screen and (max-width:767.98px) {
  .top-copy {
    font-size: 1.5rem;
  }
}
/*------------------- end .top-movie -------------------*/
/*------------------- start .cate-nav -------------------*/
.cate-nav a figure {
  overflow: hidden;
  position: relative;
}
.cate-nav a:hover, .cate-nav a:focus {
  color: inherit;
  text-decoration: none;
}
.cate-nav a figure figcaption {
  position: absolute;
  width: 100%;
  height: 100%;
  top: calc(100% - 3.25rem);
  transition: ease-in-out 0.5s;
}
.cate-nav a:hover figure figcaption, .cate-nav a:focus figure figcaption {
  position: absolute;
  top: 0;
  bottom: 0;
}
.cate-nav a:nth-child(odd) figure figcaption {
  color: #F7931E;
  background-color: rgba(253, 239, 222, 0.90);
}
.cate-nav a:nth-child(even) figure figcaption {
  color: #0071BC;
  background-color: rgba(229, 244, 255, 0.90);
}
.cate-nav a figure figcaption h3 {
  border-bottom: 1px dashed;
  padding-bottom: 0.25rem;
  margin-bottom: 1rem;
}
.cate-nav a:nth-child(odd) figure figcaption h3 {
  border-bottom-color: #F7931E;
}
.cate-nav a:nth-child(even) figure figcaption h3 {
  border-bottom-color: #0071BC;
}
.cate-nav a figure figcaption p {
  font-size: 0.85rem;
  line-height: 1.25rem;
  color: #707070;
}
@media screen and (max-width:767.98px) {
  .cate-nav a figure figcaption {
    font-size: 0.8em;
    top: calc(100% - 2.25rem);
  }
  .cate-nav a figure figcaption h3 {
    margin-bottom: 0.25rem;
  }
  .cate-nav a figure figcaption p {
    font-size: 0.78rem;
    line-height: 1rem;
  }
}
/*------------------- end .cate-nav -------------------*/
/*------------------- start .about-sorakara -------------------*/
.h4-title {
color: #F60;
font-size: 1.125rem;
}
.about-text p {
  font-size: 0.85rem;
  line-height: 1.25rem;
}
.greating-02 .greating-box {
width: calc(100% / 3 - 2rem);
margin: 0 1rem 2rem;
align-items: center;
}
.greating-02 .greating-box h3 {
  background-color: #F7931E;
  color: #FFF;
  width: 5.5rem;
  padding: 1.5rem 0;
  margin-bottom: -3rem;
  border-radius: 3rem;
  overflow: hidden;
  z-index: 3;
  white-space: nowrap;
}
.greating-02 .greating-box:nth-child(even) h3 {
  background-color: #3FA9F5;
}
.greating-02 .greating-box > div {
  line-height: 1.125em;
  background-color: #FDE3C5;
  padding: 4rem 1rem 1rem;
		border-radius: 0.25rem;
		overflow: hidden;
}
.greating-box  .greating-txt p {
font-size: 0.8rem;
}
.greating-02 .greating-box:nth-child(even) > div {
  background-color: #DBF0FF;
}
@media screen and (max-width:767.98px) {
  .greating-02 .greating-box {
  width: calc(100% - 2rem);
  justify-content: flex-start;
align-items: start;
  flex-wrap: wrap;
  }
  .greating-02 .greating-box h3 {
    margin-bottom: 0;
    width: 5.3rem;
  }
  .greating-02 .greating-box > div {
    padding: 1rem 1rem 1rem;
    height: auto !important;
   width: calc(100% - 6rem);
   min-height: auto !important;
  }
}
 /*------------------- end .about-sorakara -------------------*/
/*------------------- start .info -------------------*/
.info {
  background-color: #FDE3C5;
}
.info-box {
  background-color: #F4FAFF;
  padding: 2rem;
}
.info-box h2 {
  width: 30%;
  color: #0071BC;
  font-size: 1.5rem;
  text-align: center;
}
.info-box h2 span {
  display: block;
}
.info-box h2 span.topics-link a {
  display: inline-block;
  border: 1px solid #0071BC;
  font-size: 0.85rem;
  padding: 0.5rem 2rem;
  margin-top: 5rem;
  border-radius: 0.25rem;
}
.info-box h2 span.topics-link a:hover, .info-box h2 span.topics-link a:focus {
  background-color: #0071BC;
  color: #FFF;
  text-decoration: none;
}
.info-box .info-text {
  width: calc(70% - 2rem);
  margin-left: 2rem;
}
.info-box .info-text ul {
  list-style: none;
  font-size: 0.9rem;
  height: calc(15rem - 4px);
  overflow-y: scroll;
  background-color: #FFF;
  padding: 0.5rem 1rem;
}
.info-box .info-text li {
  line-height: 1.5rem;
  border-bottom: 1px dashed #0071BC;
  margin-bottom: 0.5rem;
}
.info-box .info-text li a {
  display: flex;
}
.info-box .info-text li a time {
  display: inline-block;
  margin-right: 1rem;
  font-family: 'Rounded-Mplus-2p-bold';
  color: rgba(251, 176, 59, 1.00);
}
.kamoku {
  color: #0071BC;
}
@media (max-width: 1199.98px) {
.info-box h2 {
  font-size: 1.25rem;
}
}
@media (max-width: 991.98px) {
  .info-box h2 {
    font-size: 1.25rem;
  }
  .info-box .info-text li a {
    flex-direction: column;
  }
  .info-box .info-text li a time {
    display: block;
  }
}
@media (max-width: 767.98px) {
  .info-box {
    flex-wrap: wrap;
    padding: 2rem 1rem;
  }
  .info-box h2, .info-box .info-text {
    width: 100%;
    margin-left: 0;
  }
  .info-box h2 span {
    display: inline-block;
  }
  .info-box h2 span.topics-link a {
    padding: 0.5rem 2rem;
    margin: 0.25rem 1rem 1rem 1rem !important;
  }
  .info-box .info-text ul {
    padding: 0.25rem 0.5rem;
  }
  .info-box .info-text li {
    line-height: 1.5rem;
    font-size: 0.85rem;
  }
}
/*------------------- end .info -------------------*/
/*------------------- start .map-address -------------------*/
.gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 33.4%;
  position: relative;
}
.gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.phone {
  font-size: 2.5rem;
}
.sns-icon a {
  display: inline-block;
  margin: 0 1rem;
}
.sns-icon img {
  width: 50px;
  height: auto;
}
@media (max-width: 991.98px) {
  .gmap {
    padding-bottom: 75.25%;
  }
}
@media (max-width: 767.98px) {
  .gmap {
    padding-bottom: 56.25%;
  }
}
/*------------------- end .map-address -------------------*/
/*------------------- start footer -------------------*/
footer {
  background-color: #0071BC;
  color: #fff;
}
footer a {
  color: #fff;
}
.footer-logo {
  width: 30%;
}
@media (max-width: 991.98px) {
  .footer-logo {
    width: 25%;
  }
}
@media (max-width: 767.98px) {
  .footer-logo {
    width: 30%;
  }
}
@media (max-width: 575.98px) {
  .footer-logo {
    width: 50%;
  }
}
/*------------------- end footer -------------------*/

/*------------------- start .inside-page -------------------*/

.h2-title {
text-align: center;
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
}
.h2-title.h2-01 {
background-image: url("../img/h2-title-01.jpg");
}
.h2-title.h2-02 {
background-image: url("../img/h2-title-02.jpg");
}
.h2-title.h2-03 {
background-image: url("../img/h2-title-03.jpg");
}
.h2-title.h2-school {
background-image: url("../img/h2-title-school.jpg");
}
.h2-title.h2-travel {
background-image: url("../img/h2-title-camp.jpg");
}
.h2-title.h2-gaiyou {
background-image: url("../img/h2-title-gaiyou.jpg");
}
.h2-title span {
display: inline-block;
font-size: 2rem;
color: #FFF;
padding: 3rem 6rem;
margin: 5rem auto;
background-color: rgba(180,180,180,0.30);
border: 1px solid #aaa;
}
.breadcrumb {
font-size: 0.8rem;
}
.breadcrumb-item + .breadcrumb-item::before {
content: '>';
}

@media screen and (max-width:767.98px) {
.h2-title span {
padding: 1.5rem 1rem;
margin: 3rem auto;
font-size: 1.5rem;
}
}
/*------------------- end .inside-page -------------------*/

/*------------------- start お知らせ(info.html) -------------------*/
.info-article h1,
form h3,
.about-page h3 {
color: #3FA9F5;
font-size: 1.5rem;
border-bottom: 1px solid #0071BC;
}
.info-article h1 time {
font-size: 0.8em;
color: #FBB03B;
}
.info-article p {
line-height: 2em;
}
.inside-page .info-article hr {
background-color: #0071BC;
display: block;
height: 1px;
border: none;
}
.inside-page .info-article:last-child hr {
background-color: #fff;
}

/*------------------- end お知らせ(info.html) -------------------*/

/*------------------- start お問合せ(form.html) -------------------*/

form label:not(.custom-control-label),
form legend{
color: #3FA9F5;
}
form label.btn-secondary {
color: #FFF !important;
}
.form-row {
margin: 0 -15px;
}
::placeholder {
color: #aaa !important;
}
.form-border-b {
border-bottom: 1px dashed #F60;
}
textarea.policy-read {
height: 20rem;
}
.radio-button input[type="radio"]:checked + label {
  background-color: #5a6268;
  border-color: #545b62;
  color: #fff;
}
.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle {
background-color: #007BFF;
border-color: #007BFF;
}
.btn-secondary:hover,
.btn-secondary:focus {
background-color: #FBB03B;
}
.btn-secondary {
background-color: #86C0FF;
border-color: #007BFF;
}
/*------------------- end お問合せ(form.html) -------------------*/

/*------------------- start 会社案内(about.html) -------------------*/

.about-page .about-dl dt {
width: 7rem;
color: #3FA9F5;
}
.about-page .about-dl dd {
width: calc(100% - 7rem);
}
.about-page .about-dl div {
border-bottom: 1px dashed #F60;
}
.about-page #policy .about-dl dt {
width: 15rem !important;
}
@media (max-width: 991.98px) {
.about-page .about-dl dt,
.about-page .about-dl dd {
width: 100%;
}
}

/*------------------- end 会社案内(about.html) -------------------*/

/*---------- start .column-box ----------*/

.column-box article h1 span {
display: inline-block;
color: #FFF;
min-width: 10em;
padding: 1rem;
font-size: 1.5em;
white-space: nowrap;
}
.column-box article:nth-child(odd) h1 span {
background-color: #FBB03B;
}
.column-box article:nth-child(even) h1 span {
background-color: #3FA9F5;
}
.column-box article .column-text p {
line-height: 1.5rem;
}
.column-box article .column-img {
margin-top: -2.5rem;
}
.column-box article .row {
margin-top: -2rem;
}
.column-box article:nth-child(odd) .row {
background-image: url("../img/column-odd-bg.gif");
background-repeat: repeat-y;
background-position: 0 top;
margin-left: 3rem;
}
.column-box article:nth-child(even) .row {
background-image: url("../img/column-even-bg.gif");
background-repeat: repeat-y;
background-position: 100% top;
margin-right: 3rem;
}
.column-box article:nth-child(even) h1 {
text-align: right;
}
.column-box article:nth-child(odd) .column-text {
padding: 4rem 2rem 2rem;
}
.column-box article:nth-child(even) .column-text {
padding: 4rem 2rem 2rem;
/*color: #FFF;*/
}
.column-box article:nth-child(even) .row {
flex-direction: row-reverse;
}
.column-box article .box-link-btn a {
display: inline-block;
padding: 0.75rem 2rem;
border: 1px solid;
border-radius: 0.25em;
background-color: rgba(255,255,255,0.90);
}
.column-box article .box-link-btn a i {
font-size: 2rem;
vertical-align: middle;
display: inline-block;
margin-top: -3px;
}
.column-box article:nth-child(odd) .box-link-btn a {
border-color: #FBB03B;
color: #FBB03B;
}
.column-box article:nth-child(even) .box-link-btn a {
border-color: #3FA9F5;
color: #3FA9F5;
}
.column-box article:nth-child(odd) .box-link-btn a:hover,
.column-box article:nth-child(odd) .box-link-btn a:focus {
background-color: #FBB03B;
color: #FFF;
text-decoration: none;
}
.column-box article:nth-child(even) .box-link-btn a:hover,
.column-box article:nth-child(even) .box-link-btn a:focus {
background-color: #3FA9F5;
color: #FFF;
text-decoration: none;
}
@media (max-width: 991.98px) {
.column-box article:nth-child(odd) .row {
background-position: left top;
}
.column-box article p.column-img {
margin-top: 0;
}
.column-box article .column-text.doctor-txt {
padding-top: 0 !important;
}
}
@media (max-width: 767.98px) {
.column-box article h1 span {
font-size: 1.2rem;
}
.column-box article .row  {
margin-left: 0;
margin-right: 0;
}
.column-box article .row {
margin-left: 0 !important;
margin-right: 0 !important;
}
.top-main .column-box article:nth-child(odd) .column-text,
.top-main .column-box article:nth-child(even) .column-text {
padding: 4rem 1rem 1rem;
}
}
/*---------- end .column-box ----------*/

/*---------- start 学校関係ページ ----------*/

.plan-table caption {
	caption-side: top;
}
.plan-02 .plan-table caption h3 {
color: #F60;
border-bottom-color: #F60;
}
.plan-02 .plan-table caption h3 small {
display: inline-block;
font-size: 1rem;
background-color: #F60;
color: #FFF;
padding: 0.25rem 0.5rem 0;
}
.plan-table th,
.plan-table td {
padding: 1rem;
line-height: 1.5rem;
}
.plan-table tr:last-child td {
padding: 0.5rem;
color: #FFF;
} 
.plan-table th {
color: #FFF;
}
.plan-01 .plan-table tr:last-child td,
.plan-01 .plan-table th {
background-color: #3FA9F5;
}
.plan-02 .plan-table tr:last-child td,
.plan-02 .plan-table th {
background-color: #F60;
}
.plice {
display: block;
font-size: 2rem;
margin: 1rem 0;
}
.plice small {
font-size: 0.9rem;
}
.plice::first-letter {
font-size: 1.25rem;
vertical-align: top;
}
.catch-copy {
font-size: 1.25em;
line-height: 1.5em;
}
.chart {
position: relative;
padding: 1rem;
border: 0.25rem solid #3FA9F5;
border-radius: 1rem;
margin-bottom: 5rem;
}
.chart h4 {
color: #0071BC;
font-size: 1.375em;
margin-bottom: 1rem;
}
.chart::after {
display: block;
position: absolute;
font-family: "Font Awesome 5 Free";
font-weight: 900;
content: "\f107";
color: #3FA9F5;
font-size: 5rem;
bottom: -1em;
left: 0;
width: 100%;
text-align: center;
}
.chart.chart05 {
margin-bottom: 3rem;
}
.chart05::after {
display: none;
}
.chart dl {
display: flex;
align-items: center;
margin: 0 2rem;
}
.chart dt {
font-size: 3rem;
color: #F60;
padding-right: 1rem;
}
.chart dd {
font-size: 1.25rem;
line-height: 1.5em;
}
@media (max-width: 991.98px) {
.plan-table caption h3 {
font-size: 0.95em;
}
.plan-table caption h3 small {
font-size: 0.9em;
}
}
/*---------- end 学校関係ページ ----------*/


/*---------- start page-top ----------*/
#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  font-size: 50px;
  z-index: 1000 !important;
}
#page-top a {
  text-decoration: none;
  color: rgba(255, 102, 0, 0.80);
  display: block;
}
#page-top a:hover, #page-top a:focus {
  text-decoration: none;
  color: rgba(255, 102, 0, 0.50);
}
/*---------- end page-top ----------*/