@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Kaisei+Decol:wght@400;500;700&family=Kaisei+Opti:wght@400;500;700&family=Kaisei+Tokumin:wght@400;500;700;800&family=Kosugi+Maru&family=M+PLUS+Rounded+1c:wght@400;700&family=Noto+Serif+JP:wght@300;400;500;600;700;900&family=Roboto:ital,wght@0,400;0,700;0,900;1,400;1,900&family=Zen+Kaku+Gothic+New:wght@400;700;900&family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');


/*reset.css*/
/*
YUI 3.18.1 (build f7e7bcb)
Copyright 2014 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
html {
  color: #000;
  background: #FFF;
}

body,
div,
dl,
dd,
ul,
li,
h1,
h2,
h3,
h4,
p {
  margin: 0;
  padding: 0
}

img {
  border: 0
}

address {
  font-style: normal;
  font-weight: normal
}

ul {
  list-style: none
}

a {
  text-decoration: none;
  color: unset;
}

h1,
h2,
h3,
h4 {
  font-size: 100%;
  font-weight: normal
}

table {
  border-collapse: collapse;
}

/*共通*/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  /* font-family: 'Kosugi Maru', sans-serif; */
  line-height: 1.4;
}

p {
  font-size: 1.1rem;
  line-height: 1.8;
}

.num01 {
  font-family: 'Roboto', sans-serif;
}


.pc {
  display: none;
}

.sp {
  display: block;
}

.sbox {
  width: 100%;
  margin: 0 auto;
}

.pan ul {
  display: flex;
  font-family: 'Zen Kaku Gothic New', sans-serif;
}

/*文字*/
body {
  font-size: 3.75vw;
  font-weight: 400;
  /* line-height:1.4; */
}
.note02{
  font-size:0.7rem;
}

@media screen and (min-width: 768px) {
  body {
    font-size: 16px;
  }

  .pc {
    display: block;
  }

  .sp {
    display: none;
  }

  .sbox {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto 100px;
  }
  .note02{
    font-size:12px;
  }
}

/*全体共通*/
body {
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.4;
}

p {
  font-size: 1.1rem;
  line-height: 1.8;
}

.num01 {
  font-family: 'Roboto', sans-serif;
}

#maincontent {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  font-family: 'Noto Sans JP', sans-serif;
}

/*文字共通*/
.zenkakuGT01 {
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 400;
}

.zenkakuGT02 {
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
}

.zenkakuGT03 {
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 900;
}

/*header*/
#header {
  font-family: 'Noto Sans JP', sans-serif;
}

#maintitle {
  font-size: 0.7rem;
  color: #005dac;
  /* line-height: 1.6rem; */
}

#maintitle span {
  font-size: 1.9rem;
  font-weight: 900;
}

#hlogoinner {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-right: 50px;
  padding: 5px 0;
}

#hsubnav ul {
  display: flex;
  flex-direction: row;
  text-align: center;
}

#hsubnav li {
  width: 100px;
  height: 59px;
  padding: 5px;
  /* background: #005dac; */
}
#hsubnav li:nth-child(2) {
  background: #0072ff;
  margin-right: 10px;
  color: #fff;
  border-radius: 3px;
}
#hsubnav li:last-child {
  margin-right: 0;
  background: #ff6f2b;
  border-radius: 3px;
}

#hsubnav li i {
  font-size: 1.5rem;
  color: #fff;
}

#hsubnav li p {
  font-size: 12px;
  /* background: #005dac; */
  font-weight: 600;
}

#hsubnav li:last-child a i {
  color: #fff;
}

#hsubnav li:last-child a p {
  color: #fff;
}

#hsubnav li.htel {
  width: max-content;
  height: 46px;
  border: 2px solid #005dac;
  border-radius: 10px;
  margin-right: 10px;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 1;
  /* background:#f46400; */
  color: #005dac;
  box-sizing: unset;
}

#hsubnav li.htel a {
  display: block;
  line-height: 1rem;
  padding: 5px;
}

#hsubnav li.htel span {
  font-size: 12px;
}

#gnav {
  background: #fffbcf;
}

#gnav ul.mainmenu {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  /* width: 96%; */
  margin: 0 auto;
  padding: 1rem 1rem 0;
}

#gnav ul.mainmenu li.addlink {
  width: 100%;
  padding: 1rem;
  background: #ffffff;
  border-radius: 0.4rem;
  border: 1px solid #aaa;
}

#gnav ul.submenu {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  text-align: center;
  gap:1rem;
}

#gnav ul.submenu li {
  width: calc(100%/2 - 0.5em);
  width: -webkit-calc(100%/2 - 0.5em);
  /* margin-right: 1rem; */
}

#gnav ul.submenu li:nth-child(2n) {
  margin-right: 0;
}

#gnav ul.mainmeu li {
  padding: 0.5em 1rem;
  align-items: center;
}

.openbtn4.active #gnav li:after {
  /* content: "\f101";
  font-family:"Font Awesome 6 Free";
  font-weight:600; */
  content: "■";
  top: 0;
  left: 0;
}

#gnav ul li {
  font-size: 1rem;
}

#gnav ul li a {
  font-size: 0.8rem;
  display: block;
}

#gnav ul li.onemenu {
  width: calc(100%/3 - 0.67rem);
  width: -webkit-calc(100%/3 - 0.67rem);
  margin-right: 1rem;
  border-radius: 0em;
  text-align: center;
}

#gnav ul li.onemenu.r0 {
  margin-right: 0;
}

#gnav ul li.onemenu a {
  background: #ffbf0b;
  padding: 0.5rem 0;
  transition: all 0.2s linear;
  font-weight: 400;
  border-radius: 3rem;
  border: 2px solid rgb(152 152 125);
  box-shadow: 0 3px 0 rgb(0 0 0 / 40%);

}

#gnav ul li.onemenu:hover a {
  background: #00c65a;
  /* color:#fff; */
}

#gnav .submenu {
  /* padding: 0 1rem; */
}

#gnav li.addlink ul.submenu li a {
  font-size: 0.8rem;
  display: block;
  background: #e85382;
  color: #fff;
  padding: 0.7rem;
  border-radius: 5px;
  margin-bottom: 0.7rem;
  font-weight: 400;
  transition: all 0.2s linear;
  border-radius: 3rem;
  box-shadow: 0 3px 0 rgb(0 0 0 / 40%);
  border: 2px solid #97997e;
}

#gnav li.addlink ul.submenu li:hover a {
  background: #2c9af8;
}

#gnav .menu01 {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 400;
}

@media screen and (min-width: 768px) {
  #header.sbox {
    margin: 0 auto;
  }

  #maintitle {
    line-height: 1.6rem;
  }

  #hlogoinner {
    margin-right: 0;
  }

  #gnav {
    background: initial;
  }

  #gnav ul li a {
    font-size: 18px;
    font-weight: 400;
  }

  #gnav li.addlink ul.submenu li a {
    font-size: 1rem;
    display: block;
    background: #005dac;
    color: #fff;
    padding: 0.7rem;
    border-radius: 0;
    margin-bottom: 0;
    border: none;
    box-shadow: unset;
  }

  #gnav li.addlink ul.submenu li:hover a {
    background: #fff;
    color: #005dac;
  }

  #gnav ul li.onemenu:hover a {
    background: initial;
    color: initial;
  }

  #gnav ul.mainmenu {
    flex-direction: row;
    justify-content: space-around;
    position: relative;
  }

  #gnav ul.submenu {
    padding: 0 1rem;
    display: none;
    transition: all 0.2s ease-in;
  }

  #gnav ul.mainmenu li.addlink {
    width: initial;
    padding: 0.5em;
    background: initial;
    border-radius: 0;
    border: none;
  }

  #gnav ul li.onemenu {
    width: initial;
    background: initial;
    margin-right: 0;
    border-radius: 0;
    text-align: center;
    color: initial;
  }

  #gnav ul li.onemenu.r0 {
    margin-right: 0;
  }

  #gnav ul li.onemenu a {
    background: initial;
    padding: 0;
    border: none;
    box-shadow: unset;
  }

  #gnav ul.submenu.addsub {
    display: block;
    position: absolute;
    top: 55px;
    left: 0;
    z-index: 1000;
    background: #005dac;
    padding: 0;
    width: 100%;
    text-align: left;
    border: 1px solid #005dac;
  }

  #gnav ul.submenu.addsub li {
    width: 100%;
  }

  #gnav ul.submenu.addsub li a {
    transition: all 0.2s ease-in;
    background: transparent;
    border: 1px solid transparent;
    margin-bottom: 0;
    border-radius: 0;
    color: #fff;
  }

  #gnav ul.submenu.addsub li:hover a {
    background: #fff;
    color: #005dac;
    border: 1px solid #005dac;
  }

  #gnav .hoverline01>a,
  #gnav .hoverline01>span {
    position: relative;
  }

  #gnav .hoverline01:hover>a,
  #gnav .hoverline01:hover>span {
    /* color: #005dac; */
  }

  #gnav .hoverline01>a:after,
  #gnav .hoverline01>span:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -0.3rem;
    transform: translateX(-50%);
    width: 0%;
    height: 2px;
    background: #005dac;
    transition: all 0.2s ease-in;
  }

  #gnav .hoverline01:hover>a:after,
  #gnav .hoverline01:hover>span:after {
    width: 100%;
  }
    #hsubnav li a p {
      text-align: center;
      color: #fff;
    }
}

/*スマホ時のメニューボタン*/
.openbtn4 {
  position: absolute;
  right: 0;
  top: 0;
  background: #005dac;
  border: 1px solid #005dac;
  cursor: pointer;
  width: 50px;
  height: 50px;
  /* border-radius: 5px; */
}

/*ボタン内側*/
.openbtn4 span {
  display: inline-block;
  transition: all .4s;
  /*アニメーションの設定*/
  position: absolute;
  left: 14px;
  height: 2px;
  border-radius: 5px;
  background: #fff;
  width: 45%;
}


.openbtn4 span:nth-of-type(1) {
  top: 13px;
}

.openbtn4 span:nth-of-type(2) {
  top: 19px;
}

.openbtn4 span:nth-of-type(3) {
  top: 25px;
}

.openbtn4 span:nth-of-type(3)::after {
  content: "Menu";
  /*3つ目の要素のafterにMenu表示を指定*/
  position: absolute;
  top: 5px;
  left: -2px;
  color: #fff;
  font-size: 0.6rem;
  text-transform: uppercase;
  font-family: 'M PLUS Rounded 1c', sans-serif;
}

/*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/

.openbtn4.active span:nth-of-type(1) {
  top: 14px;
  left: 18px;
  transform: translateY(6px) rotate(-45deg);
  width: 30%;
}

.openbtn4.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn4.active span:nth-of-type(3) {
  top: 26px;
  left: 18px;
  transform: translateY(-6px) rotate(45deg);
  width: 30%;
}

.openbtn4.active span:nth-of-type(3)::after {
  content: "Close";
  /*3つ目の要素のafterにClose表示を指定*/
  transform: translateY(0) rotate(-45deg);
  top: 5px;
  left: 4px;
  font-family: 'M PLUS Rounded 1c', sans-serif;
}

#gnav {
  display: none;
}

#gnav.active {
  display: block;
}

/* #gnav ul.mainmenu {
  padding: 1rem 0;
} */

#gnav .mainmenu>li {
  font-size: 1.4rem;
  margin-bottom: 1rem;
  /* padding: 0.5em; */
  /* background:#faa; */

}


#gnav .mainmenu li.addlink>a {
  font-size: 1.4rem;
  margin-bottom: 0.5rem;
}

#gnav .mainmenu li.addlink:nth-child(4n+1):nth-last-child(-n+4),
#gnav .mainmenu li.addlink:nth-child(4n+1):nth-last-child(-n+4)~li {
  margin-bottom: 0;
}


@media screen and (min-width: 768px) {
  .openbtn4 {
    display: none;
  }

  #gnav {
    display: block;
  }

  #gnav .mainmenu>li {
    width: calc(100%/7);
    width: -webkit-calc(100%/7);
    font-size: 1.4rem;
    margin-bottom: 0.5rem;
    padding: 0.5em;
    /* border-radius: 3px; */
    text-align: center;
  }

  #gnav .menu01 {
    margin-bottom: 0;
    font-size: 18px;
  }

  #gnav ul.mainmenu {
    padding: 1rem 0 0;
  }
}




/*文字部分*/
.fontmaru1 {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 400;
}

.fontmaru2 {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 700;
}

.fontnum01 {
    font-family: "Roboto", sans-serif;
    font-weight: 900;
    font-style: italic;
}

.bnrimg100 img {
    width: 100%;
    height: auto;
}

/**/
#header {
    margin-bottom: 0;
}

h2.mainpicmsg {
    background: #005dac;
    color: #fff;
    padding: 0.5em 0 0.2em;
    font-size: 1.2em;
    /* color:#005dac; */
}
h2.mainpicmsg span{
    color:#fbff00;
    font-weight:600;
}
#imgbox01 {
    position: relative;
    overflow: hidden;
}

.bkimg001 {
    position: relative;
}

.lineylw {
    text-decoration: underline;
    text-decoration-style: solid;
    text-decoration-color: #fbff00; 
    text-underline-offset: -0.5em;
    text-decoration-thickness: 0.8em;
}

.mojibox01 {
    position: absolute;
    top: 0;
    padding: 0.6em;
    color: #0a0707;

}


.moji01 {
    font-weight: 600;
    font-size: 1.5em;
    line-height: 1.4;
    text-decoration: underline;
    text-decoration-style: dotted;
    text-decoration-color: #ff5200;
    text-underline-offset: 0.2em;
    text-decoration-thickness: 0.1em;
}

.moji01org {
    color: #ff5200;
}

.moji01blu {
    color: #0060a5;
}

.moji02 .moji01org {
    font-size: 1.3em;
}

.moji02 {
    font-weight: 600;
    font-size: 1.1em;
    line-height: 1.4em;
}

.moji03 {
    font-weight: 600;
    font-size: 0.68em;
    padding: 0.6em 0.2em;
    background: rgba(255, 255, 255, 0.6);
    line-height: 1.3em;
    text-align: justify;
}

.mojiitalic {
    -webkit-transform: skewX(-15deg);
    -moz-transform: skewX(-15deg);
    -o-transform: skewX(-15deg);
    transform: skewX(-15deg);
    -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=-0.6794919243112214, M21=0, M22=1, SizingMethod='auto expand')";
}

@media screen and (min-width: 768px) {
    .bnrimg100 img {
        width: auto;
        height: auto;
    }

    h2.mainpicmsg {
        font-size: 32px;
        /* background: #fff;
        color: #005dac; */
        padding: 0.5em 0;
    }

    .mojibox01 {
        padding: 30px 0 0 30px;
    }

    .moji01 {
        font-size: 60px;
    }

    .moji02 {
        font-size: 48px;
        line-height: 1.8;
    }

    .moji03 {
        font-size: 18px;
        width: unset;
        background: rgba(255, 255, 255, 0.4);
        line-height: 1.4;
    }
}

@media screen and (min-width: 1180px) {
    h2.mainpicmsg {
        font-size: 36px;
    }

    .mojibox01 {
        /* padding-top: 0;
          top: 50%;
          left: 0%;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%); */
    }

    .moji01 {
        font-size: 72px;
        line-height: 1.5;
    }

    .moji02 {
        font-size: 48px;
        line-height: 1.7;
    }

    .moji03 {
        font-size: 20px;
        line-height: 1.6;
        background: unset;
    }
}

#toukimidashi {
    line-height: 1.2;
}

/* #toukimidashi .sbox {
                margin-bottom: 0;
              } */

#toukimidashi h4.moji04 {
    font-size: 1.3em;
    text-align: center;
    position: relative;
    color: #ff5701;
    margin-bottom: 0.5em;
}

#toukimidashi h2.moji05 {
    display: flex;
    flex-direction: column;
    text-align: center;
    justify-content: center;
    align-items: center;
    line-height: 1.1;
    color: #ff5701;
}

#toukimidashi h2.moji05 .sub01 {
    font-size: 1.7em;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
}

/* #toukimidashi h2.moji05 .sub01 span {
                font-size: 1.2em;
              } */
.grade01 {
    background: #ff5200;
    color: #fff;
    display: block;
    padding: 0.2rem;
    border-radius: 4px;
    margin-right: 0.6em;
    font-size: 0.8em;
}

#toukimidashi h2.moji05 .sub02 {
    font-size: 4em;
}

#toukimidashi .moji06 {
    font-weight: 600;
    font-size: 2em;
    text-align: center;
    color: #005dac;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

#toukimidashi p.moji06 span {
    font-size: 1.6em;
}

.moji07wrap {
    text-align: center;
}

#toukimidashi h3.moji07 {
    font-size: 1.8rem;
    font-weight: 600;
    position: relative;
    display: inline-block;
    padding: 0 1em;
    color: #1558aa;
}

#toukimidashi h3.moji07:before,
#toukimidashi h3.moji07:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 1em;
    height: 0.1em;
    background-color: #1558aa;
}

#toukimidashi h3.moji07:before {

    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
}

#toukimidashi h3.moji07:after {

    -webkit-transform: rotate(-60deg);
    transform: rotate(-60deg);
}

#toukimidashi h3.moji07:before {
    left: 0;
}

#toukimidashi h3.moji07:after {
    right: 0;
}

#toukimidashi h3.moji07 span.situryou {
    font-size: 1.5em;
}

@media screen and (min-width: 768px) {
    #toukimidashi h4.moji04 {
        font-size: 48px;
        margin-bottom: 0;
    }

    #toukimidashi h4.moji04:before,
    #toukimidashi h4.moji04:after {
        content: '';
        position: absolute;
        top: 50%;
        display: inline-block;
        width: 3em;
        height: 5px;
        background-color: #ff5701;
    }

    #toukimidashi h4.moji04:before {
        left: 0;
    }

    #toukimidashi h4.moji04::after {
        right: 0;
    }

    #toukimidashi h2.moji05 .sub02 {
        font-size: 110px;
    }

    #toukimidashi h2.moji05 {
        flex-direction: row;
    }

    #toukimidashi h2.moji05 .sub01 {
        flex-direction: column;
        font-size: 68px;
        margin-right: 0.4em;
        line-height: 1.2;
    }


    .grade01 {
        margin-right: 0;
        padding: 0.05em 0.5em;
        font-size: 42px;
    }

    #toukimidashi .moji06 {
        font-size: 48px;
    }

    #toukimidashi h3.moji07 {
        font-size: 72px;
        padding: 0 72px;
        color: #1558aa;
    }

    #toukimidashi h3.moji07:before,
    #toukimidashi h3.moji07:after {
        width: 72px;
        height: 5px;
    }
}

/*冬期体験ボタン*/
#toukitaiken {
    margin-bottom: 1em;
    line-height: 1.2;
    text-align: center;
    padding: 1em 0;
}

.box14 {
    padding: 0.8em;
    /* margin: 2em 0; */
    background: #005dac;
    box-shadow: 0px 0px 0px 10px #005dac;
    border: dashed 2px white;
}

.box14 p {
    margin: 0;
    padding: 0;
}

#toukitaiken a {
    display: inline-block;
    transition: all 0.2s ease-in;
    color: #fff;
}

#toukitaiken a:hover {
    transform: scale(1.05);
}

#toukitaiken h3 {
    font-size: 1.6em;
    line-height: 1;
}

#toukitaiken h2 {
    font-size: 4em;
    color: #f7e837;
}

#toukitaiken .cmt10box p {
    font-weight: 600;
    font-size: 1.2em;
}

#toukitaiken .cmt10box p.date11 {
    font-weight: 700;
    color: #fff;
    font-size: 2em;
}

#toukitaiken .cmt10box .cmt9 {
    margin-bottom: 0.2em;
    background: #fff;
    color: #ff5c03;
    padding: 0.5em;
    font-size: 1.15rem;
    border-radius: 0.4em;
    font-weight: 600;
}

@media screen and (min-width: 768px) {
    #toukitaiken {
        margin-bottom: 60px;
    }

    #toukitaiken h3 {
        font-size: 36px;
    }

    #toukitaiken h2 {
        font-size: 100px;
    }

    #toukitaiken .cmt10box p.date11 {
        font-size: 48px;
    }
}

/*スタディキャンプ追加分*/
.kscbox .kscpic {
    margin-bottom: 1em;
}

.kscbox .bloglink {
    margin-bottom: 2em;
}

.kscpic img {
    width: 100%;
    height: auto;
}

@media screen and (min-width: 768px) {
    .kscbox .kscpic {
        margin-bottom: 30px;
    }

    .kscbox .bloglink {
        margin-bottom: 60px;
    }
}

/**冬期オンライン部分 */
#toukionline {
    width: 100%;
    padding: 0.8em;
    border: 2px solid #ff5701;
    border-radius: 5px;
    margin-bottom: 1em;
}

#toukionline .imgbox05 {
    display: flex;
    flex-direction: row;
}

#toukionline .cmt05box {
    text-align: center;
}

#toukionline .cmt05box .cmt1 {
    font-size: 1.2em;
    font-weight: 600;
    color: #ff5701;
}

#toukionline .cmt05box .cmt2 {
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1;
    color: #ff5701;
}

#toukionline .cmt05box .cmt2 span {
    font-size: 0.6em;
    color: #ff5701;
}

#toukionline .cmt05box .cmt3 {
    font-size: 0.9em;
    text-align: left;
    text-align: justify;
}

#toukionline .imgbox05 img {
    width: calc(100%/3);
    width: -webkit-calc(100%/3);
    height: auto;
}

@media screen and (min-width: 768px) {

    /**冬期オンライン部分 */

    #toukionline {
        padding: 30px;
        margin-bottom: 100px;
    }

    #toukionline .cmt05box {
        text-align: left;
    }

    #toukionline .cmt05box .cmt1 {
        font-size: 30px;
        line-height: 1;
    }

    #toukionline .cmt05box .cmt2 {
        font-size: 46px;
    }

    #toukionline .cmt05box .cmt2 span {
        font-size: 46px;
    }

    #toukionline .cmt05box .cmt3 {
        font-size: 24px;
    }

    #toukionline .imgbox05 img {
        margin-right: 40px;
        width: auto;
        height: auto;
    }

    #toukionline .imgbox05 img:last-child {
        margin-right: 0;
    }
}

/*インスタ部分*/
.linkbtn01 {
    margin-bottom: 2em;
}

#instalinkbox h3 {
    text-align: center;
    font-size: 1.4em;
    font-weight: 600;
    color: #b42d9d;
}

#instalinkbox .instainner {
    position: relative;
    z-index: 1;
    border-radius: 20px;
    padding: 20px;
    width: 100%;
    background: linear-gradient(to right, #d00, #00d);
    text-align: center;
}

#instalinkbox .instainner::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    box-sizing: border-box;
    border-radius: 20px;
    padding: 5px;
    width: 100%;
    height: 100%;
    background: #fff;
    background-clip: content-box;
    content: "";
}

#instalinkbox .instainner p {
    margin-bottom: 1em;
    font-weight: 600;
}

#instalinkbox ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
}

#instalinkbox li {
    width: calc(100%/2 - 0.5em);
    width: -webkit-calc(100%/2 - 0.5em);
    margin-right: 1em;
    margin-bottom: 1em;
}

#instalinkbox li:nth-child(2n) {
    margin-right: 0;
}

#instalinkbox li:last-child,
#instalinkbox li:nth-last-child(2):nth-child(odd) {
    margin-bottom: 0;
}

#instalinkbox li:last-child {
    margin-bottom: 0;
}

#instalinkbox .officialacc {
    margin-bottom: 1rem;
    text-align: center;
    display: inline-block;
}

#instalinkbox .officialacc a,
#instalinkbox li a {
    display: block;
    text-align: center;
    background: linear-gradient(45deg, rgba(254, 212, 117, 1) 0%, rgba(229, 61, 93, 1) 50%, rgba(194, 49, 134, 1) 70%, rgba(156, 56, 187, 1) 100%);
    border-radius: 25px;
    box-shadow: 0 5px 25px rgba(0, 0, 0, .15);
    color: #fff;
    display: inline-block;
    font-weight: 400;
    padding: 10px 0;
    text-align: center;
    text-decoration: none;
    transition: all .2s linear;
    width: 100%;
}

#instalinkbox .officialacc a {
    padding: 10px 20px;
    box-sizing: border-box;
}

#instalinkbox .officialacc a:hover,
#instalinkbox li a:hover {
    box-shadow: 0 5px 25px rgba(0, 0, 0, .30);
}

 #instalinkbox li {
    margin-right: 1em;
    /* margin-bottom: 1em; */
}

#instalinkbox li:nth-child(6) {
    margin-right: 0;
}

@media screen and (min-width: 768px) {
    #instalinkbox h3 {
        font-size: 28px;
    }
    #instalinkbox ul {
        justify-content:flex-start;
    }
    #instalinkbox li {
        /* width: calc(100%/8 - 0.88em);
        width: -webkit-calc(100%/8 - 0.88em); */
        /* width: calc(100%/4 - 1em);
        width: -webkit-calc(100%/4 - 1em); */
        width: calc(100%/5 - 0.8em);
        width: -webkit-calc(100%/5 - 0.8em);
        margin-bottom: 1em;
    }

    #instalinkbox li:nth-child(2n) {
        margin-right: 1em;
    }
/* 
    #instalinkbox li:nth-child(4n){
        margin-right: 0;
    } */
    #instalinkbox li:nth-child(5n){
        margin-right: 0;
    }
    #instalinkbox li a {
        /* width: 124px; */
    }
}

#toukimidashi p {
    line-height: 1.2;
}

.setsubtn a p {
    font-size: inherit;
    line-height: 1.1;
}

.cmt10box p {
    line-height: 1.1;
}
/*tuika*/
#midashi001 {
    margin: 0 auto 2em;
    text-align: center;
}

#midashi001 img {
    width: 100%;
    height: auto;
    border: 5px solid #005dac;
}

#toukitaiken .cmt10box p.linkbtn10 {
    display: inline-block;
    padding: 0.5em 1em;
    background: #f4ec4c;
    color: #000;
}

#toukitaiken {
    margin-bottom: 1em;
}

#taikenstep {
    text-align: center;
}

#taikenstep a {
    background: #005dac;
    padding: 0.5em 1em;
    text-align: center;
    display: inline-block;
    font-weight: 600;
    font-size: 1.5em;
    color: #fff;
    transform: scale(0.95);
    transition: all 0.2s ease-in;
}

#taikenstep a:active,
#taikenstep a:hover {
    transform: scale(1.0);
}

#sclink span.date001 {
    color: #e85382;
    font-size: 1.4em;
}

#chu1info,#triallink {
    text-align: center;
    margin-bottom: 1em;
}
.msgbox001 {
    text-align: center;
    margin: 0 auto;
    display: inline-block;
}
#midashi001 img,#chu1info img,#triallink img {
    width: 100%;
    height: auto;
    display:block;
}
#triallink img {
    display: block;
}
#chu1info a,#triallink a,#msgbox001 a{
    transition:all 0.2s linear;
    /* transform:scale(0.98); */
}
#chu1info:hover a,#triallink:hover a,#msgbox001:hover a,
#chu1info:active a, #triallink:active a, #msgbox001:active a{
    transform:scale(0.98);
}
#triallink a {
    border: 5px solid #005dac;
}
#newsmidashibox001 {
    background: #005dac;
    padding: 0.7em 2em;
    color: #fff;
    width: initial;
    display: block;
    border-radius: 5px;
    text-align: center;
    line-height: 1.2;
    /* color:#005dac; */
}

#newsmidashibox001 p {
    line-height: 1em;

}

@media screen and (min-width: 768px) {
    #midashi001 {
        max-width: 1000px;
        width: 100%;
        margin: 0 auto 100px;
        text-align: center;
    }
    #midashi001 img,
    #chu1info img {
        width: initial;
        height: auto;
    }

    #toukitaiken {
        margin-bottom: 20px;
    }

    #taikenstep a {
        padding: 10px 105px;
        font-size: 24px;
    }

    #chu1info {
        margin-bottom: 20px;
    }
}

/*2023spring　add*/
.sbox2 {
    width: 96%;
    margin: 0 auto 1em;
}

#goukaku2023.sbox {
    margin-bottom: 1rem;
}

.imgHover {
    transition: all 0.2s linear;
}

.imgHover:hover {
    transform: scale(0.98);
}

.parentvoice {
    margin-bottom: 1em;
}

@media screen and (min-width: 768px) {
    .sbox2 {
        max-width: 1000px;
        width: 100%;
        margin: 0 auto 40px;
    }

    #goukaku2023.sbox {
        margin-bottom: 60px;
    }

    .parentvoice {
        margin-bottom: 20px;
    }
}
/*KSC*/
#kscinfo{
  margin:0 auto 2rem;
}
#kscinfo img{
  width:100%;
  height:auto;
}
@media screen and (min-width: 768px) {
  #kscinfo{
    margin:0 auto 60px;
  }
}





/*小・中ぺーじ　説明会ボタンと学年ボタン*/
#mnav {
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
}

#mnav ul {
  display: flex;
  flex-direction: row;
  justify-content: center;
}


.gradebtn01 li {
  margin-right: 1rem;
  display:flex;
}

.gradebtn01 li:last-child {
  margin-right: 0;
}

.gradebtn01 a {
  border-radius: 3px;
  line-height: 1rem;
  text-align: center;
  font-weight: 600;
  font-size: 1.3rem;
  /* width: 100px; */
  /* height: 100px; */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.2rem 1.2rem;
}

.gradebtn01 li:nth-child(1) a {
  background: #ff3e7a;
}

.gradebtn01 li:nth-child(2) a {
  background: #00c65a;
}

.gradebtn01 li:nth-child(3) a {
  background: #2c9bf8;
}

.gradebtn01 p {
  line-height: 1;
}

.gradebtn01 p i {
  padding-top: 0.5rem;
}

.setsubtn {
  margin: 0 auto 2rem;
}

.setsubtn a {
  display: block;
  font-size: 2rem;
  padding: 0.5em 1rem;
  background: #333;
}

@media screen and (min-width: 768px) {
  #mnav {
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
    margin-bottom: 40px;
  }

  .setsubtn {
    margin: unset;
  }
}


/*説明会ボタン*/
.buttonBox {
  position: relative;
  margin-bottom: 2rem;
}

#sclink button {
  width: 100%;
  position: relative;
  text-transform: uppercase;
  border: none;
  font-size: 1.8rem;
  outline: none;
  cursor: pointer;
  line-height: 1;
  padding: 1rem 0;
  letter-spacing: 0;
  /* background-image: url("data:image/svg+xml,<svg id='patternId' width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' patternUnits='userSpaceOnUse' width='25' height='25' patternTransform='scale(1) rotate(0)'><rect x='0' y='0' width='100%' height='100%' fill='hsla(0,0%,100%,1)'/><path d='M25 30a5 5 0 110-10 5 5 0 010 10zm0-25a5 5 0 110-10 5 5 0 010 10zM0 30a5 5 0 110-10 5 5 0 010 10zM0 5A5 5 0 110-5 5 5 0 010 5zm12.5 12.5a5 5 0 110-10 5 5 0 010 10z'  stroke-width='1' stroke='none' fill='hsla(199, 100%, 85%, 1)'/><path d='M0 15a2.5 2.5 0 110-5 2.5 2.5 0 010 5zm25 0a2.5 2.5 0 110-5 2.5 2.5 0 010 5zM12.5 2.5a2.5 2.5 0 110-5 2.5 2.5 0 010 5zm0 25a2.5 2.5 0 110-5 2.5 2.5 0 010 5z'  stroke-width='1' stroke='none' fill='hsla(88, 72%, 79%, 1)'/></pattern></defs><rect width='800%' height='800%' transform='translate(0,0)' fill='url(%23a)'/></svg>"); */
  border: 5px solid rgb(0, 114, 207);
  /* border-radius: 4rem; */
  transition: all 0.2s ease-in;
  transform: scale(0.98);
}

#sclink button:hover {
  transform: scale(1.0);
}

#sclink span {
  letter-spacing: 0;
  display: inline-block;
  position: relative;
  width: auto;
  transition: all .5s ease-in-out;
  color: rgb(0, 114, 207);
  font-weight: 600;
}

#sclink .btn01sp {
  color: rgb(0, 114, 207);
  font-weight: 600;
}

#sclink a {
  display: block;
}

@media screen and (min-width: 768px) {
  .buttonBox {
    margin-bottom: 0;
  }
}

/*小中共通見出し*/
h2.gradeTitle {
  font-size: 2rem;
  font-weight: 600;
  padding: 0.5rem;
  border-radius: 1rem 1rem 0 0;
  color: #fff;
  margin-bottom: 1rem;
  line-height: 1;
  text-align: center;
}

h2.gradeTitle span {
  font-size: 1.2rem;
}

#sho6 h2.gradeTitle {
  background: #ff3e7a;
}

#sho5 h2.gradeTitle {
  background: #00c85b;
}

#sho4 h2.gradeTitle {
  background: #2c9af8;
}

@media screen and (min-width: 768px) {
  #sclink button {
    padding: 1em;
  }

  h2.gradeTitle {
    font-size: 40px;
    margin-bottom: 20px;
    padding: 0.5em 1rem;
    border-radius: 20px 20px 0 0;
    text-align: initial;
  }

  h2.gradeTitle span {
    font-size: 40px;
  }
}

/*bottom fixed bottom*/
#fsubnav{
  position:fixed;
  bottom:0;
  width:100%;
  z-index:10;
  margin: auto;
}
#fsubnav nav{
  display:flex;
  flex-direction:row;
  background:#1058ab;
  gap:calc(10px);
  /* height: 100px; */
  padding:0.5rem;
  align-items: center;
}
#finfo01{
  height:60px;
  width:60px;
  background:#fff;
  color:#1058ab;
  border:3px solid #1058ab;
  border-radius:5px;display: flex;
  justify-content: center;
  align-items: center;
  transition:all 0.2s linear;
}
#finfo01:hover{
  background:#28ffeb;
  box-shadow:0 0 3px rgba(255,255,255,0.4);
}
#finfo01 dl{
  display:flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  font-size:1rem;
}
#finfo01 dt{
  font-size:12px;
  font-weight:600;
}
#finfo02{
  background:#ff0;
  /* height: 80px; */
  width:calc(100% - 60px);
  padding: 0.4rem 0.5rem;
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  justify-content: space-around;
}
#finfo02 p{
  font-size:0.8rem;
  font-weight:600;
  text-align:center;
  line-height: 1.0;
  padding-bottom:0.2rem;
}
#finfo02 #infobox02{
  display:flex;
  flex-direction:row;
  justify-content: space-around;
  gap: 1rem;
  padding-bottom:5px;
}
#finfo02 .fmail {
  display:flex;
  align-items:center;
}
#finfo02 .fmail a{
  display:flex;
  flex-direction:row;
  align-items: center;
  padding: 0.4rem 0.4rem;
  background:#ff870b;
  box-shadow: 0 5px 0 #c16200;
  border-radius: 4px;
  position:relative;
}

#finfo02 .fmail:hover a{
  box-shadow:0 2px 0 #c16200;
  top:3px;
}
#finfo02 .fmail:active a{
  box-shadow:0 0px 0 #c16200;
  top:5px;
}
#finfo02 .fphone a {
  display: flex;
  flex-direction: row;
  align-items: center;
  border-radius: 4px;
  padding: 0.4rem 1rem;
  line-height: 1;
  background:#0474ff;
  box-shadow: 0 5px 0 #005299;
  position:relative;
}

#finfo02 .fphone:hover a{
  box-shadow:0 2px 0 #005299;
  top:3px;
}
#finfo02 .fphone:active a{
  box-shadow:0 0px 0 #005299;
  top:5px;
}
#finfo02 .fphone div{
  text-align: center;
  color:#fff;
  
}
#finfo02 .fphone div dt{
  font-size: 1.1rem;
  font-weight: 900;
  color: #fff;
  display: flex;
  flex-direction: row;
  align-items: center;
}

#finfo02 .fphone div dd{
  font-size:0.8rem;
}
#fsubnav .fa-school{
  font-size:1.4rem;
}

/*-------------------------
----------footer-----------
--------------------------*/
#footer {
  background: #1058ab;
  width: 100%;
  color: #fff;
  box-sizing: border-box;
  padding-bottom: 100px;
}

#footer_inner {
  display: flex;
  flex-direction: column;
}

#footer #fnav {
  width: 293px;
  margin: 0 auto;
  padding-top: 2em;
}

#footer #fnav ul {
  display: flex;
  flex-wrap: wrap;
  width: 293px;
  height: 293px;
}

#footer #fnav ul li {
  width: -webkit-calc(100%/4 - 12px);
  margin-right: 15px;
  margin-bottom: 15px;
}

#footer #fnav>ul>li:nth-child(4n) {
  margin-right: 0;
}

#footer #fnav ul li {
  display: inline;
}

#footer #fnav ul li a {
  display: block;
  height: 62px;
  background-image: url("../images/footer/f_nav_1.png");
  background-repeat: no-repeat;
  transition: all 0.2s linear;
}

#footer #fnav ul .fnav1 a {
  width: 62px;
  background-position: 0 0;
}

#footer #fnav ul .fnav2 a {
  width: 62px;
  background-position: -77px 0;
}

#footer #fnav ul .fnav3 a {
  width: 62px;
  background-position: -154px 0;
}

#footer #fnav ul .fnav4 a {
  width: 62px;
  background-position: -231px 0;
}

#footer #fnav ul .fnav5 a {
  width: 62px;
  background-position: 0 -77px;
}

#footer #fnav ul .fnav6 a {
  width: 62px;
  background-position: -77px -77px;
}

#footer #fnav ul .fnav7 a {
  width: 62px;
  background-position: -154px -77px;
}

#footer #fnav ul .fnav8 a {
  width: 62px;
  background-position: -231px -77px;
}

#footer #fnav ul .fnav9 a {
  width: 62px;
  background-position: 0 -154px;
}

#footer #fnav ul .fnav10 a {
  width: 62px;
  background-position: -77px -154px;
}

#footer #fnav ul .fnav11 a {
  width: 62px;
  background-position: -154px -154px;
}

#footer #fnav ul .fnav12 a {
  width: 62px;
  background-position: -231px -154px;
}

#footer #fnav ul .fnav13 a {
  width: 62px;
  background-position: 0px -231px;
}

#footer #fnav ul .fnav14 a {
  width: 62px;
  background-position: -77px -231px;
}

#footer #fnav ul .fnav15 a {
  width: 62px;
  background-position: -154px -231px;
}

#footer #fnav ul .fnav16 a {
  width: 62px;
  background-position: -231px -231px;
}

#footer #fnav ul li.fnav4 a,
#footer #fnav ul li.fnav8 a,
#footer #fnav ul li.fnav12 a,
#footer #fnav ul li.fnav16 a {
  margin-right: 0;
}

#footer #fnav ul li a:hover {
  opacity: 0.8;
}

#footer #fnav ul li a:hover {
  opacity: 0.8;
}

#footer .snsbtn01 {
  font-size: 2rem;
}

#copy {
  text-align: center;
}

#copy p {
  font-size: 3.5vw;
  font-family: 'Zen Kaku Gothic New', sans-serif;
}

#foot_company {
  padding-top: 2em;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row;
  margin: 0 auto;
  width: 70%;
  line-height: 1.4;
  margin-bottom: 2em;
}

#foot_company h2 {
  width: 30%;
}

#foot_company h2 img {
  width: 100%;
}

#foot_company ul {
  font-size: 3vw;
}

#foot_company li.centerinfo {
  font-size: 4.4vw;
}

#foot_company h2 img {
  width: 100%;
  height: auto;
}

/*---fixed---*/
@media screen and (min-width:768px) {
  #footer {
    padding-bottom: 0;
  }

  #footer_inner {
    padding-top: 50px;
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    flex-direction: row-reverse;
    justify-content: space-between;
    margin-bottom: 35px;
  }

  #copy p {
    font-size: 14px;
  }

  #foot_company {
    padding-top: 0;
    display: flex;
    justify-content: left;
    flex-wrap: wrap;
    flex-direction: column;
    margin: 0 auto;
    width: 100%;
    line-height: 1.4;
    margin-bottom: 0;
  }

  #foot_company h2 {
    margin-bottom: 20px;
    width: unset;
  }

  #foot_company h2 img {
    width: auto;
  }

  #foot_company ul {
    font-size: 18px;
  }

  #foot_company li.centerinfo {
    font-size: 24px;
  }

  #footer #fnav {
    padding-top: 0;
  }

  #footer .snsbtn01 {
    font-size: 40px;
    display: flex;
  }

  #footer .snsbtn01 a {
    margin-right: 1.5rem;
  }
}

/*お問い合わせボタン*/
.infobox {
  width: 96%;
  margin: 2rem auto;
}

.infobox ul {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}

.infobox ul li {
  /* width:calc(100%/2 - 0.5rem);
  width:-webkit-calc(100%/2 - 0.5rem); */
  margin-right: 1rem;
}

.infobox ul li:last-child {
  margin-right: 0;
}

.infobox ul li img {
  width: 100%;
  height: auto;
}

@media screen and (min-width:768px) {
  .infobox ul li img {
    width: initial;
    height: auto;
  }

  .infobox {
    width: 100%;
    margin: 60px auto;
  }
}

#page_top {
  text-align: right;

  font-family: 'Zen Kaku Gothic New', sans-serif;
}

#page_top a {
  display: inline-block;
  background: #1058ab;
  padding: 0.2em 0.8em;
  border-radius: 0.5em 0.5em 0 0;
}

/* #page_top a::before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 1rem;
  padding-right: 0.3em;
  color: #fff;
} */

#page_top a::after {
  content: 'PAGE TOP';
  font-size: 1rem;
  color: #fff;
  font-weight: 900;
}

@media screen and (min-width: 768px) {

  #page_top a::before,
  #page_top a::after {
    font-size: 16px;
  }
}

.tx_pink {
  color: #ff4a8a;
}

.tx_green {
  color: #009944;
}

.tx_right {
  text-align: right;
}

/*可視範囲要素*/
.fade_off {
  opacity: 0;
  -webkit-transition: all 1s;
  -moz-transition: all 1s;
  -o-transition: all 1s;
  -ms-transition: all 1s;
  transition: all 1s;
}

.fade_on {
  opacity: 1;
}

/*2024new*/
.newcmt{padding:2rem 1rem;background:#f5ffe7; margin-bottom:2rem;}
.newcmt h2{font-weight:900;font-size:2.6em; color:#f00;text-align:center;line-height:1.1em;margin-bottom:2rem;}
.newcmt h3{font-weight:600;font-size:1.6em;color:#000;text-align:center;}
.newcmt p.note03{font-size:1em; text-align:right;}
.onecmt{padding:1rem;background:#fff;margin-bottom:1rem; background:#fff;}
.onecmt:last-child{margin-bottom:0;}
.onecmt dt{font-weight:700;color:#005dac; font-size:1.35em; text-align:center;}
.onecmt dd{ line-height:1.6rem; text-align:justify;padding:0.5rem;}
@media screen and (min-width: 768px) {
	.newcmt{padding:60px; margin-bottom:60px;}
	.newcmt h2{font-size:48px;;}
	.newcmt h3{font-size:36px;}
	.newcmt p.note03{font-size:16px;}
	.onecmt{padding:20px;margin-bottom:30px;}
	.onecmt dt{font-size:30px; text-align:left;}
  .onecmt dd{padding:0;}
}
/* .sbox h2 {
  text-align: center;
  font-weight: 700;
  font-family: 'Kosugi Maru', sans-serif;
  font-size: 2rem;
  padding: 1rem;
} */

/*#gradebtn01*/
#gradebtn01 {
  margin-bottom: 2rem;
}

#gradebtn01 ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

#gradebtn01 ul li {
  width: calc(100%/2 - 0.5rem);
  width: -webkit-calc(100%/2 - 0.5rem);
  margin-right: 1.0rem;
  display: block;
  margin-bottom: 2rem;
}

#gradebtn01 ul li:nth-child(2n) {
  margin-right: 0;
}

#gradebtn01 ul li:last-child,
#gradebtn01 ul li:nth-last-child(2):nth-child(odd) {
  margin-bottom: 0;
}

#gradebtn01 ul li a {
  display: block;
  padding: 2rem;
  font-size: 2rem;
  text-align: center;
  color: #fff;
  font-weight: 700;
  border-radius: 5rem;
  box-shadow: 0 10px 0 rgba(0, 0, 0, 0.4);
}

#gradebtn01 ul li:first-child a {
  background: #fbc029;
}

#gradebtn01 ul li:nth-child(2) a {
  background: #4c7df1;
}

#gradebtn01 ul li:nth-child(3) a {
  background: #ed4733;
}

#gradebtn01 ul li:nth-child(4) a {
  background: #1eaa5a;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

#gradebtn01 ul li:hover a {
  margin-top: 5px;
  margin-bottom: -5px;
}

#gradebtn01 ul li:hover a {
  box-shadow: 0px 5px 0px rgba(0, 0, 0, 0.4);
}

#gradebtn01 ul li:active a {
  margin-top: 10px;
  margin-bottom: -10px;
  box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.4);
}


@media screen and (min-width: 768px) {
  #gradebtn01 {
    margin-bottom: 30px;
  }
}










/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

/*#strength*/
#strength {
  /* width: 100%;
  height: 50vw;
  background: rgb(255, 196, 198); */
}

#strength img {
  width: 100%;
  height: auto;
  margin-bottom: 1rem;
}

#strength .monmsg01 {
  margin: 0 auto 2rem;
  text-align: center;
}

#strength .moninner {
  display: inline-block;
  padding: 0.8rem;
  border-radius: 5px;
  background: #fffca7;
}

#strength .monmsg01 p {
  /* color:#fff; */
  line-height: 1.2;
  /* display: inline-block; */
  text-align: left;
}

#strength p.mondai01 {
  font-size: 1.3rem;
  letter-spacing: -0.1rem;
}

#strength p.mondai02 {
  font-size: 1.5rem;
  margin-bottom: 1rem;
  /* color:#ffeb00; */
}

#strength span {
  color: #ff5514;
  font-size: 110%;
}

#strength .linkbtn02 {
  text-align: center;
  margin-bottom: 1rem;
}

#strength .linkbtn02 a {
  display: inline-block;
  padding: 0.5rem 1rem;
  background: #ff5514;
  font-weight: 700;
  color: #fff;
  border-radius: 3rem;
  box-shadow: 0px 4px 0 rgb(0 0 0 / 40%);
}

@media screen and (min-width: 768px) {
  #gradebtn01 {
    margin-bottom: 100px;
  }

  #strength img {
    width: inherit;
    height: auto;
  }

  #strength .moninner {
    padding: 20px;
    border-radius: 8px;
  }

  #strength p.mondai01 {
    font-size: 30px;
  }

  #strength p.mondai02 {
    font-size: 36px;
    margin-bottom: 10px;
  }

  #strength .linkbtn02 {
    margin-bottom: 10px;
  }
}

/*#newopen*/
#newopen {
  width: 100%;
  margin-bottom: 2rem;
  /* background-color: #e1fdf9;
  background-image: repeating-linear-gradient(0deg, rgb(154 240 255 / 60%) 0px 6px, transparent 6px 12px),
    repeating-linear-gradient(90deg, rgb(157 241 255 / 50%) 0px 6px, transparent 6px 12px); */
}

#newopen h2 {
  font-size: 1.6rem;
  text-align: center;
  font-weight: 700;
  /* padding-top: 1rem; */
  line-height: 1.2;
  margin-bottom: 1rem;
  color: #1590df;
}

#newopen h2 span {
  font-size: 1.1rem;
}

#newopen ul {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  /* padding: 0 1rem 1rem; */
}

#newopen ul li {
  text-align: center;
  margin: 0 auto;
  margin-bottom: 1rem;
}

#newopen ul li:last-child {
  margin-bottom: 0;
}

#newopen ul li a {
  display: block;
}

#newopen img {
  width: 100%;
  height: auto;
  display: block;
}

#shinchu1toku {
  text-align: center;
}

#shinchu1toku img {
  width: 100%;
  height: auto;
}

#schoollist {
  background: #9de57f;
  text-align: center;
}

@media screen and (min-width: 768px) {

  /*#newopen*/
  #newopen h2 {
    /* margin-top: 30px; */
    font-size: 36px;
    margin-bottom: 10px;
  }

  #newopen h2 span {
    font-size: 30px;
  }

  #newopen ul {
    flex-direction: row;
    /* padding: 0 30px 30px; */
  }

  #newopen ul li {
    width: calc(100%/2 - 15px);
    width: -webkit-calc(100%/2 - 15px);
    margin-right: 30px;
    margin-bottom: 0;
    /* width: 250px; */
    /* height: 250px; */
  }

  #newopen ul li:last-child {
    margin-right: 0;
  }
}

/*説明会ナビ　recruitment*/
#recruitment h2 {
  font-size: 2rem;
  text-align: center;
  font-weight: 700;
  color: #ff3090;
}

#setsubtn02 {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.btn03 {
  border-radius: 0.3em;
  padding: 1rem;
  font-size: 2rem;
  font-weight: bold;
  text-shadow: 0 0 6px #fff;
  background-repeat: no-repeat;
  background-size: cover;
  background-size: 100%;
  margin-bottom: 1rem;
}

.btn03 a {
  display: block;
}

.btn03 a,
.btn03 p {
  font-size: 2rem;
  line-height: 1.2;
  text-shadow: 0 0 6px #fff;
}

.btn03 p.note02 {
  font-size: 0.9rem;
}

#scbtn02 {
  background-image: url(../images/top/setsuSCbk.png);
  background-position: center left;
  color: #ff3090;
  border: 2px solid #ff3090;
  text-align: right;
}

#hbtn02 {
  background-image: url(../images/top/setsuHbk.png);
  background-position: center right;
  color: #0085ad;
  border: 2px solid #0085ad;
  text-align: left;
}

@media screen and (min-width: 768px) {
  #recruitment h2 {
    font-size: 36px;
    margin-bottom: 10px;
  }

  #setsubtn02 {
    flex-direction: row;
    margin-bottom: 30px;
  }

  .setsubtn02 {
    background: #aaa;
    margin-right: 40px;
    width: calc(100%/2 - 20px);
  }

  .setsubtn02:last-child {
    margin-right: 0;
  }

  .btn03 {
    width: -webkit-calc(100%/2 - 15px);
    border-radius: 0.3em;
    padding: 1rem;
    font-size: 2rem;
    font-weight: bold;
    text-shadow: 0 0 6px #fff;
    background-repeat: no-repeat;
    background-size: cover;
    margin-right: 30px;
    margin-bottom: 0;
  }

  .btn03:last-child {
    margin-right: 0;
  }
}

/*合格実勢*/
#jisseki.sbox {
  margin: 0 auto 2rem;
}

#jisseki h2 {
  font-size: 2rem;
  text-align: center;
  font-weight: 700;
  color: #005dac;
}

#jisseki .taikenbox {
  padding: 1rem;
  border: 1px solid #efc970;
  background: #fff;
  border-radius: 10px;
  margin-bottom: 1rem;
}

#jisseki .taikenbox.taiken03 {
  margin-bottom: 0;
}

#jisseki dt {
  font-size: 1.2rem;
  font-weight: 700;
  color: #ed4733;
}

#jisseki dt span {
  color: #000;
  font-weight: normal;
  font-size: 0.9rem;
}

#jisseki .title02 {
  color: #005dac;
  font-weight: 700;
  font-size: 1.1rem;
}

#jisseki h3 {
  font-size: 1.6rem;
}

#jisseki .jissekibox {
  padding: 1rem;
  background: #f9f0dd;
  margin-bottom: 1rem;
}

#jisseki #jissekilink01 {
  text-align: center;
}

#jisseki #jissekilink01 p {
  margin: 0 auto;
}

#jisseki #jissekilink01 a {
  display: inline-block;
  padding: 0.5rem 1rem;
  border-radius: 3rem;
  background: #ff63cc;
  color: #fff;
}

@media screen and (min-width: 768px) {
  #jisseki.sbox {
    margin: 0 auto 100px;
  }

  #jisseki h2 {
    font-size: 2rem;
    text-align: center;
    font-weight: 700;
  }

  #jisseki h3 {
    font-size: 1.6rem;
  }

  #jisseki .taikenbox {
    margin-bottom: 20px;
  }

  #jisseki #highcmt {
    margin-bottom: 20px;
  }
}

/*校舎一覧*/
#koshalist .subtitle {
  text-align: center;
}

#koshalist h2 {
  font-size: 2rem;
  background: #005dac;
  text-align: center;
  color: #fff;
}

#koshalist .note04 {
  font-size: 0.8rem;
  text-align: right;
}

.heibox {
  display: inline-block;
  /* width: 1.2rem;
  height: 1.2rem; */
  font-weight: 600;
  color: #fff;
  line-height: 1.2rem;
  text-align: center;
  padding: 0.2rem;
  font-size: 1.2rem;

}

.hei01 {
  background: rgba(34, 174, 155, .9);
}

.hei02 {
  background: rgba(255, 87, 202, 0.9);
}

.hei03 {
  background: rgb(254, 46, 46);
}
.hei04 {
  background: rgba(255, 155, 56, 0.9);
}
@media screen and (min-width: 768px) {
  #koshalist h2 {
    font-size: 36px;
    text-align: center;
  }

  #koshalist .subtitle {
    font-size: 1.25rem;
    text-align: right;
  }
}

/*tabsの再設定*/
.gradetitile {
  font-weight: bold;
  padding: 0.3rem 0 0.3rem 0.5rem;
}

@media screen and (min-width: 768px) {
  figure p {
    padding: 0;
    top: 0.3rem;
    right: 0.3rem;
    background: transparent;
    font-size: 1.2rem;
    color: #fff;
    font-weight: bold;
  }
}

/*インスタ開設校*/
#instalinkbox .instainner {
  width: auto;
  margin-bottom: 2rem;
}

#instalinkbox h2 {
  font-size: 1.8rem;
  text-align: center;
  font-weight: 700;
  color: #b42d9d;
}

@media screen and (min-width: 768px) {
  #instalinkbox .instainner {
    margin-bottom: 100px;
  }

  #instalinkbox h2 {
    font-size: 2rem;

  }
}

/*新着ニュース*/
#news {
  margin-bottom: 2rem;
}

#news h2 {
  font-size: 1.8rem;
  text-align: center;
  font-weight: 700;
  color: #005dac;
}

@media screen and (min-width: 768px) {
  #news h2 {
    font-size: 36px;
  }
}

/*リンクメニュー*/
#btns{
  margin-bottom:2rem;
}
#btns h3{
  font-size:1.8rem;
  text-align: center;
  font-weight: 700;
  color: #005dac;
}
#btns ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  text-align: center;
}

#btns ul li {
  width: -webkit-calc(100%/3 - 0.67em);
  margin-right: 1em;
  margin-bottom: 1em;
  height: 5em;
  line-height: 5em;
}

#btns ul li a {
  background: #ffed94;
  display: block;
  height: 100%;
  width: 100%;
  position: relative;
  transition: 0.3s ease-in-out;
}

#btns ul li:nth-child(3n) {
  margin-right: 0;
}
#btns ul li a::before {
  content: '';
  position: absolute;
  bottom: -5px;
  right: -5px;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border: 1px solid #c4c4c4;
  transition: 0.2s;
}

#btns ul li a:hover::before {
  top: 0;
  left: 0;
}

#btns ul li a:hover {
  text-decoration: none;
  background-color: #ff6392;
}
@media screen and (min-width: 768px) {
  #btns {
    margin-bottom: 100px;
  }
  #btns h3 {
    font-size: 36px;
  }
}
/*理念*/
#philosophy p {
  text-align: justify;
}
/*infobtn*/
#infobox{
  text-align:center;
}
.webinfoinner {
  padding: 1em;
  border: 3px solid #ffaec3;
  display: inline-block;
  border-radius: 5px;
  margin:0 auto;
}

.webinfo02 a {
  display: inline-block;
  border-radius: 3em;
  background: #fb366a;
  padding: 0.2em 0.8em;
  margin-bottom: 0.8em;
  font-weight: 600;
  font-size: 3.6vw;
  color: #fff;
  transition: all 0.3s ease-in-out;
}

.koshalink a:hover,
.webinfo02 a:hover {
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
  transform: scale(1.05);
}
.webinfobox {
  display: block;
  margin: 2em auto;
  text-align: center;
  font-size: 3.2vw;
  font-weight: 600;
  color: #000;
}

.ftel01 {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .webinfobox {
      font-size: 16px;
  }

  .webinfo02 a {
    font-size: 18px;
  }
}

#imgbox01 {
    margin: 0 auto 0.5em;
}

#top #imgbox01 img {
    display: block;
}

#koshuinfo {
    max-width: 100%;
    width: 96%;
    margin: 0 auto 2em;
    font-family: "Zen Kaku Gothic New", sans-serif;
    background: #efefef;
    padding: 0.5em;
}

#koshuinfo h2 {
    text-align: center;
    font-weight: 900;
    font-size: 4em;
    letter-spacing: 0.1em;
    color: #005dac;
}

#koshuinfo h3 {
    text-align: center;
    font-weight: 600;
    font-size: 1.2rem;
    padding: 0.2em 0;
}

#setsumeikai {}

#shosai {}

.kakicontents nav>ul {
    display: flex;
    flex-direction: row;
    width: 100%;
}

.kakicontents nav>ul li.scbox001 {
    background: #ffd0e1;
    width: calc(100%/5 * 3);
    width: -webkit-calc(100%/5 * 3);
    padding: 1em 0;
    text-align: center;
}

.kakicontents nav>ul li.hbox001 {
    background: #b4ddff;
    width: calc(100%/5 * 2);
    width: -webkit-calc(100%/5 * 2);
    padding: 1em 0;
    text-align: center;
}

.scbox001>ul {
    display: inline-flex;
    flex-direction: row;
    text-align: center;
}

.scbox001>ul>li {
    margin-right: 1em;
}

.scbox001>ul>li:last-child {
    margin-right: 0;
}

.kakicontents nav li.btn001 a {
    display: inline-block;
    background: #fff;
    border-radius: 2em;
    font-weight: 700;
    font-size: 1.2em;
    padding: 0.2em 0.6em;
    color: #fff;
    transition: all 0.2s ease-in;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
}

.kakicontents nav li.btn001 a:hover,
.kakicontents nav li.btn001 a:active {
    transform: scale(1.04);
}

.kakicontents nav li.scbox001.btn001 a,
.kakicontents nav li.scbox001 .btn001 a {
    background: #ff85b1;
}

.kakicontents nav li.hbox001.btn001 a {
    background: #2096fb;
}

@media screen and (min-width: 768px) {
    #koshuinfo {
        max-width: 1000px;
        width: 100%;
        margin: 0 auto 60px;
    }

    #koshuinfo h2 {
        font-size: 120px;
        letter-spacing: 0.2em;
    }

    #koshuinfo h3 {
        font-size: 28px;
    }

    .kakicontents nav li.btn001 a {
        padding: 0.5em 3em;
    }

    .kakicontents nav>ul li.scbox001 {
        padding: 30px 0;
    }

    .kakicontents nav>ul li.hbox001 {
        padding: 30px 0;
    }
}


#koshuinfo.kakikouki #imgbox01 {
    margin: 0 auto 1rem;
}

#koshuinfo.kakikouki{
    padding: 0;
    background: none;
    width: 100%;

}

#koshuinfo.kakikouki #kakiimgbox {
    margin-bottom: 0;
    padding: 0.5rem;
    background: #d7d7d7;
}

#koshuinfo.kakikouki #kakiimgbox img {
    display: block;
}

#koshuinfo.kakikouki #kakiimgbox .kakiimg002 {
    margin-bottom: 0.5rem;
}

#koshuinfo.kakikouki #kakiimgbox a img {
    transition: all 0.2s linear;
    transform: scale(1.0);
}

#koshuinfo.kakikouki #kakiimgbox a:hover img,
#koshuinfo.kakikouki #kakiimgbox a:active img {
    transform: scale(0.99);
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}

@media screen and (min-width: 768px) {
    #koshuinfo.kakikouki #imgbox01 {
        margin: 0 auto 60px;
    }

        #koshuinfo.kakikouki #kakiimgbox {
        margin-bottom: 0;
    }
}



