@charset "utf-8";
html{
overflow:auto;
}

body{
color: #000 !important;
overflow:hidden;
}

#main{
font-size: 18px;
font-family: 'Noto Sans JP', sans-serif!important;
font-weight: 300;
}
/*
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Shippori Mincho', serif;
*/
.h-title{
margin-bottom: 0;
}
.swiper-container {
width: 100%;
display: block;
position: relative;
margin-left: auto;
margin-right: auto;
position: relative;
overflow: hidden;
list-style: none;
padding: 0;
/* Fix of Webkit flickering */
z-index: 1;
}
.swiper-wrapper {
width: 100%;
height: 100%;
z-index: 1;
display: flex;
transition-property: transform;
box-sizing: content-box;
}
.swiper-slide {
flex-shrink: 0;
width: 100%;
height: 100%;
position: relative;
transition-property: transform;
}
.swiper-pagination {
position: absolute;
text-align: center;
transition: 300ms opacity;
transform: translate3d(0, 0, 0);
z-index: 10;
}
.slider-caption {
position: absolute;
padding: 10px 20px;
line-height: 1.5em;
background: #fff;
color: #000;
font-size: 1.2rem;
font-weight: 700;
bottom: 1rem;
right: 1rem;
}
.slider-logo{
display: block;
position: absolute;
width: 80px;
top: 2rem;
left: 1rem;
z-index: 10;
}
.slider-logo img{
width: 100%;
}
@media only screen and (max-width:750px){
.swiper-pagination {display: none;}
.slider-caption {
padding: 0.5rem 1rem;
line-height: 1.2em;
font-size: 0.9rem;
bottom: 0.5rem;
right: 0.5rem;
}
.slider-logo{width: 40px;top: 1.8rem;left: 0.5rem;}
}
.top-title{
width: 100%;
text-align: center;
}
.top-title img{
width: 100%;
max-width: 800px;
}
.tab{
text-align: center;
font-size: 0.85rem;
margin-top: 1rem;
padding: 0 1rem;
}
.tab-between{
margin-top: 3rem;
}

#aisatsu{margin-top: 2rem;}
#aisatsu .container{
padding-left: 0;
padding-right: 0;
}
#aisatsu .box1{
background: url("img/aisatsu01_01.jpg") no-repeat top right;
background-size:auto 100%;
}
#aisatsu .box2{
background: url("img/aisatsu02_01.jpg") no-repeat top right;
background-size:auto 150%;
}
#aisatsu .box3{
background: url("img/aisatsu03_01.jpg") no-repeat top right;
background-size:auto 100%;
}
#aisatsu .box4{
background: url("img/aisatsu04_01.jpg") no-repeat top right;
background-size:auto 100%;
}
@media only screen and (max-width:750px){
#aisatsu .box1{background-image:url("img/aisatsu01_01-02.jpg");background-size:auto 90%;}
#aisatsu .box2{background-size:auto 100%;}
#aisatsu .box3{background-image:url("img/aisatsu03_01-02.jpg");background-size:auto 75%;}
#aisatsu .box4{background-image:url("img/aisatsu04_01-02.jpg");background-size:auto 60%;}
}
#aisatsu .box{
padding: 2rem 1.5rem;
}
#aisatsu h3{
font-size: 1.5rem;
font-weight: 800;
color: #0087c8;
margin: 0;
}
#aisatsu h4{
font-size: 2rem;
font-family: 'Shippori Mincho', serif;
font-weight: 600;
margin: 0;
}
#aisatsu p{
font-size: 1rem;
}
#aisatsu .text{
margin-top: 0.8rem;
}
.video-box{
margin-top: 1rem;
}
.video{
  position:relative;
  width:100%;
  padding-top:56.25%;
}
.video iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}
hr{margin: 2rem 0 0;}

#academy{}
#academy h2,
#sanyaku h2{
text-align: center;
font-size: 1.3rem;
letter-spacing: 0.1rem;
margin: 2.5rem 0 1rem;
border: 0;
color: #c30012;
background: none;
position: relative;
padding: 0 0 1rem;
}
#academy h2:before,
#sanyaku h2:before {
position: absolute;
bottom: -10px;
left: calc(50% - 30px);
width: 60px;
height: 5px;
content: '';
border-radius: 3px;
background: #c30012;
}
#academy .row{
padding: 0;
}
#academy .box1{background: url("img/sanyaku-01.jpg") no-repeat left;}
#academy .box2{background: url("img/academy02-01.jpg") no-repeat left;}
#academy .box3{background: url("img/academy03-01.jpg") no-repeat left;}
#academy .box4{background: url("img/academy04-01.jpg") no-repeat left;}
#academy .box5{background: url("img/academy05-01.jpg") no-repeat left;}
#academy .box6{background: url("img/academy06-01.jpg") no-repeat left;}
#academy .box7{background: url("img/academy07-01.jpg") no-repeat left;}
#academy .box8{background: url("img/academy08-01.jpg") no-repeat left;}
#academy .box9{background: url("img/academy09-01.jpg") no-repeat left;}
#academy .box10{background: url("img/academy10-01.jpg") no-repeat left;}

#sanyaku .box1{background: url("img/sanyaku-01.jpg") no-repeat left;}
#sanyaku .box2{background: url("img/sanyaku-02.jpg") no-repeat left;}
#sanyaku .box3{background: url("img/sanyaku-03.jpg") no-repeat left;}
#sanyaku .box4{background: url("img/sanyaku-04.jpg") no-repeat left;}

#academy .box,
#sanyaku .box{
width: 100%;
padding: 4rem;
background-size:100% auto;
position: relative;
margin-top: 2rem;
}
#academy .title,
#sanyaku .title{
position: absolute;
top:1rem;
right: 0;
text-align: right;
}
#academy h4,#academy h3,
#sanyaku h4,#sanyaku h3{
color:#fff;
background-color: #c30012;
padding: 0.5rem 1rem;
}
#academy h4,
#sanyaku h4{
font-size: 1rem;
}
#academy h3,
#sanyaku h3{
font-size: 1.3rem;
margin-top: 1rem;
max-width: 7em;
margin-left: auto;
}
#academy h5,
#sanyaku h5{
margin-top: 1rem;
background-color: #c30012;
padding: 0.3rem 0.1rem;
color: #fff;
font-size: 0.8rem;
width: 3.5rem;
text-align: center;
}
#academy h6,
#sanyaku h6{
margin: 0.8rem 0 0.3rem;
color: #c30012;
text-align: left;
font-size: 1.1rem;
font-weight: 700;
}
#academy .kouki h4,#academy .kouki h3,#academy .kouki h5{
background-color: #00377f;
}
#academy .kouki h6{
color: #00377f;
}
@media only screen and (max-width:750px){
#academy h2,
#sanyaku h2{margin: 2.5rem 0 0;}
#academy .title{top:1.5rem;}
#academy h4,#academy h3{padding: 0.3rem 0.5rem;}
#academy h3{margin-top:0.5rem;max-width: 6em;}
#academy h5{margin-top: 0.5rem;}
}

#kakudai{
background-image: url("img/kakudai_back.jpg");
background-size: cover;
margin-top: 3rem;
padding: 2rem;
}
#kakudai .man{
float: right;
width: 200px;
display: block;
margin: 0 0 1rem 1rem;
}
#kakudai h3{
margin-bottom: 0.5rem;
font-size: 1.5rem;
font-family: 'Shippori Mincho', serif;
}
#kakudai p{
margin-bottom: 0.5rem;
font-family: 'Shippori Mincho', serif;
font-size: 1.5rem;
font-weight: 700;
}
#kakudai p span{
font-size: 1rem;
}
#kakudai .hyo{
margin-top: 1rem;
width: 100%;
text-align: center;
}
#kakudai .hyo img{
max-width: 350px;
}
@media only screen and (max-width:750px){
#kakudai .man{width: 100px;}
#kakudai .hyo img{width: 100%;}
}

#graduate{
margin-top: 1rem;
}
#graduate h2{
text-align: center;
font-size: 1.5rem;
letter-spacing: 0.1rem;
margin: 2.5rem 0 1rem;
border: 0;
color: #000;
background: none;
position: relative;
padding: 0 0 1rem;
font-family: 'Shippori Mincho', serif;
}
#graduate h2:before {
position: absolute;
bottom: -10px;
left: calc(50% - 30px);
width: 60px;
height: 5px;
content: '';
border-radius: 3px;
background: #0087c8;
}
#graduate .row{
padding: 0;
}
#graduate .box0{
background: url("img/graduate00.jpg") no-repeat top;
}
#graduate .box1{
background: url("img/graduate01.jpg") no-repeat top;
}
#graduate .box2{
background: url("img/graduate02.jpg") no-repeat top;
}
#graduate .box3{
background: url("img/graduate03.jpg") no-repeat top;
}
#graduate .box4{
background: url("img/graduate04.jpg") no-repeat top;
}
#graduate .box5{
background: url("img/graduate05.jpg") no-repeat top;
}
#graduate .box6{
background: url("img/graduate06.jpg") no-repeat top;
}
#graduate .box7{
background: url("img/graduate07.jpg") no-repeat top;
}
#graduate .box8{
background: url("img/graduate08.jpg") no-repeat top;
}
#graduate .box9{
background: url("img/graduate09.jpg") no-repeat top;
}
#graduate .box10{
background: url("img/graduate10.jpg") no-repeat top;
}
#graduate .box{
width: 100%;
padding: 1rem;
background-size:cover;
position: relative;
margin-top: 2rem;
color: #fff;
}
#graduate h4,#graduate h3{
padding: 0.3rem 0.5rem;
}
#graduate h4{
font-size: 1rem;
}
#graduate h3{
font-size: 1.4rem;
font-weight: 600;
margin: 0 0 1rem;
letter-spacing: 0.1rem;
}
#graduate h5{
margin: 1rem 0 0;
background-color: #000;
padding: 0.3rem 0.1rem;
font-size: 0.8rem;
width: 5.5rem;
text-align: center;
}
#graduate .keireki{
font-size: 0.9rem;
margin-top: 0.5rem;
}
#graduate .keireki th{
padding-right: 0.5rem;
}
#graduate .text{
margin-top: 0.7rem;
}
#graduate h6{
margin: 0.8rem 0 0.3rem;
color: #000;
text-align: left;
font-size: 1.1rem;
font-weight: 600;
font-family: 'Shippori Mincho', serif;
}
#graduate .sonota{
margin-top: 2rem;
text-align: center;
}
#graduate .sonota h5{
background-color: #878787;
color: #fff;
padding: 0.3rem 0.1rem;
font-size: 1rem;
width: 100%;
}
#graduate .sonota .col-md-6{
margin-top: 1rem;
text-align: center;
}
@media only screen and (max-width:576px){
#graduate .container{padding: 0;}
#graduate .row{padding: 0;}
#graduate .col-md-6{padding: 0;}
#graduate .text{padding: 0 2rem;}
#graduate h6{padding: 0 2rem;}
#graduate .photo{padding: 0 2rem;}
}

#iinkai{
margin-top: 1rem;
}
#iinkai h2{
text-align: center;
font-size: 1.5rem;
letter-spacing: 0.1rem;
margin: 2.5rem 0 1rem;
border: 0;
color: #000;
background: none;
position: relative;
padding: 0 0 1rem;
}
#iinkai h2:before {
position: absolute;
bottom: -10px;
left: calc(50% - 30px);
width: 60px;
height: 5px;
content: '';
border-radius: 3px;
background: #0087c8;
}
#iinkai .row{
padding: 0;
}
#iinkai .box{
width: 100%;
padding: 2rem;
margin-top: 2rem;
background: url("img/iinkai-back.jpg") no-repeat center;
background-size: cover;
}
#iinkai h4,#iinkai h3{
padding: 0.3rem 0;
}
#iinkai h4{
font-size: 1.0rem;
font-weight: 600;
}
#iinkai h3{
font-size: 1.4rem;
font-weight: 600;
margin: 0 0 1rem;
letter-spacing: 0.1rem;
}
#iinkai h5{
margin: 1rem 0 0.3rem;
background-color: #333;
padding: 0.3rem 0.1rem;
font-size: 0.8rem;
width: 5rem;
text-align: center;
color: #fff;
}
#iinkai ol{
list-style-type: decimal;
padding-left: 1.2rem;
}
#iinkai ul{
padding-left: 1.2rem;
list-style-type: disc;
}
#iinkai .keireki{
font-size: 0.9rem;
margin-top: 0.5rem;
}
#iinkai p{
margin-top: 0.7rem;
}
#iinkai h6{
margin: 0.8rem 0 0.3rem;
color: #000;
text-align: left;
font-size: 1.1rem;
font-weight: 600;
font-family: 'Shippori Mincho', serif;
}
#iinkai .iintho{
float: right;
width: 180px;
display: block;
margin: 0 0 1rem 1rem;
}
@media only screen and (max-width:950px){
#iinkai .iintho{width: 140px;}
}
@media only screen and (max-width:750px){
#iinkai .container{padding: 0;}
#iinkai .row{padding: 0;margin: 0;}
#iinkai .col-md-6{padding: 0;margin: 0;}
#iinkai .box{padding: 1.5rem;}
}

#hope{
background-image: url("img/hope_back.jpg");
background-size: cover;
margin-top: 3rem;
padding: 2rem 1rem 3rem;
}
#hope img{
float: right;
width: 180px;
display: block;
margin: 0 0 1rem 1rem;
}
#hope h3{
margin-bottom: 0.5rem;
font-size: 1.5rem;
font-family: 'Shippori Mincho', serif;
position: relative;
padding: 1.5rem 1rem;
text-align: center;
}
#hope h3:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px;
  content: '';
  background-image: -webkit-repeating-linear-gradient(135deg, #000, #000 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, #000, #000 1px, transparent 2px, transparent 5px);
  background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#hope .box{
margin-top: 2rem;
}
#hope p{
margin-bottom: 0.5rem;
font-size: 1.5rem;
font-weight: 700;
line-height: 1.3rem;
}
#hope p span{
display: inline-block;
margin-top: 0.5rem;
margin-bottom: 0.5rem;
font-size: 0.9rem;
font-weight: 500;
width: 100%;
}
#hope h4{
margin-top: 1rem;
margin-bottom: 0.5rem;
font-size: 1.3rem;
font-family: 'Shippori Mincho', serif;
}
#hope .col-12 h4{
font-size: 1.1rem;
}
#hope h5{
margin: 1rem 0;
font-size: 1rem;
font-family: 'Shippori Mincho', serif;
border-left: 5px solid #000;
padding-left: 1rem;
}
#hope .iintho{
float: right;
width: 180px;
display: block;
margin: 0 0 1rem 1rem;
}
#hope .photo{
margin-top: 1rem;
}
#hope .photo img{
width: 100%
}
@media only screen and (max-width:750px){
#hope .iintho{width: 180px;}
#hope .row{padding: 0;}
}
@media only screen and (max-width:576px){
#hope .container{padding: 0;}
}
#hope .photo{
padding: 0;
}

#doukoukai{
margin-top: 1rem;
}
#doukoukai h2{
text-align: center;
font-size: 1.5rem;
letter-spacing: 0.1rem;
margin: 2.5rem 0 1rem;
border: 0;
color: #000;
background: none;
position: relative;
padding: 0 0 1rem;
}
#doukoukai h2:before {
position: absolute;
bottom: -10px;
left: calc(50% - 30px);
width: 60px;
height: 5px;
content: '';
border-radius: 3px;
background: #ff9900;
}
#doukoukai .d-main-img{
display: block;
margin-bottom: 1rem;
}
#doukoukai .box{
margin-top: 2rem;
}
#doukoukai .box:nth-of-type(odd){
padding-right: 1rem;
}
#doukoukai .box:nth-of-type(even){
padding-left: 1rem;
}
#doukoukai h4,#doukoukai h3{
padding: 0.3rem 0;
}
#doukoukai h4{
font-size: 1.1rem;
font-weight: 600;
}
#doukoukai h3{
font-size: 1.3rem;
margin: 0 0 1rem;
}
#doukoukai h5{
margin: 1rem 0 0.3rem;
background-color: #333;
padding: 0.3rem 0.1rem;
font-size: 0.8rem;
width: 5rem;
text-align: center;
color: #fff;
}
#doukoukai p{
margin-top: 0.7rem;
}
#doukoukai h6{
margin: 0.8rem 0 0.3rem;
color: #000;
text-align: left;
font-size: 1.1rem;
font-weight: 600;
font-family: 'Shippori Mincho', serif;
}
#doukoukai .iintho{
float: right;
width: 180px;
display: block;
margin: 0 0 1rem 1rem;
}
@media only screen and (max-width:750px){
#doukoukai .iintho{width: 140px;}
}
#doukoukai .photo{
padding: 0;
}
#doukoukai ul{
padding-left: 1.2rem;
list-style-type: disc;
}

#question{
margin-top: 2rem;
padding: 2rem;
background: #347E3D;
text-align: center;
color: #fff;
}
#question h2{
font-size: 1.5rem;
letter-spacing: 0.1rem;
margin: 0.5rem 0 0;
border: 0;
color: #fff;
background: none;
position: relative;
padding: 0 0 1rem;
}
#question h2:before {
position: absolute;
bottom: -10px;
left: calc(50% - 30px);
width: 60px;
height: 5px;
content: '';
border-radius: 3px;
background: #fff;
}
#question a{
width:50%;
display: block;
margin: 2.5rem auto 0;
color: #fff;
border: 1px solid #fff;
padding: 1rem 0;
}
#question a:hover{
background: #28a100;
}
#question p{
width: 100%;
margin-top: 1rem;
}

footer .f-info{
text-align: right;
font-size: 0.8em;
}

.has_midashi{
clear: both;
margin-top: 3rem;
}
.has_midashi img{
width: 100%;
}
#has_m_menu{
margin-top: 0rem;
}
#has_m_menu ul{
list-style: none;
}
#has_m_menu li{
display: block;
margin-top: 0.5rem;
font-size: 0.9rem
}
#has_m_menu a{
text-decoration: underline;
}
html { scroll-behavior: smooth;}
#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  background: #0087c8;
  opacity: 0.6;
  border-radius: 50%;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f106';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -15px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

.photo .col-6,.photo .col-12{
margin-top: 1rem;
padding: 0;
}
.photo .col-6:nth-of-type(odd){
padding-right: 0.5rem;
}
.photo .col-6:nth-of-type(even){
padding-left: 0.5rem;
}
.photo img{
width: 100%;
}
@media only screen and (max-width:750px){
.row{padding: 0;margin: 0;}
}
}



