@charset "UTF-8";

/* style.css */

@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/MaterialIcons-Regular.woff2') format('woff2');
  font-display: swap;
}

[class^="material-icons"],
[class*=" material-icons"] {
  font-family: 'Material Icons' !important;
  font-weight: normal;
  font-style: normal;
  font-size: 24px; /* 必要に応じてサイズ調整 */
  line-height: 1;
  display: inline-block;
  text-transform: none;
  letter-spacing: normal;
  white-space: nowrap;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

ol{
  font-size:17px;
  margin-left:20px;
}

@media screen and (max-width:768px) {
  ol{
    font-size:15px;
  }
}

dt{
  font-weight: bold;
}

dl dd{
  font-size:17px;
  padding:10px;
}

@media screen and (max-width:768px) {
  dl dd{
    font-size:15px;
  }
}

h4{
  font-size:17px;
  font-weight:bold;
}

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

ul{
  font-size:17px;
}

@media screen and (max-width:768px) {
ul{
  font-size:15px;
}
}

/*speed insightのCLS数値の改善のため変更とheaderに移動
img{
  max-width:100%;
}
*/

.img500{
  width:500px;
  height:auto;
  margin:30px auto;
  text-align: center;
}

@media screen and (max-width:768px) {
  .img500{
    width:90%;
  }
}

.img700{
  width:700px;
  height:auto;
  margin:30px auto;
  text-align: center;
}

@media screen and (max-width:768px) {
  .img700{
    width:90%;
  }
}

.img900{
  width:900px;
  height:auto;
  margin:30px auto;
  text-align: center;
}

@media screen and (max-width:768px) {
  .img900{
    width:90%;
  }
}


.wrapper {
  max-width: 100%;
  box-sizing: border-box;
}

.font12{
  font-size:12px;
}

.font12_orange{
  font-size:12px;
  color:#ee7800;
}

.font13{
  font-size:13px;
}

.font13_orange{
  font-size:13px;
  color:#ee7800;
}

.font13_redb{
  font-size:13px;
  color:red;
  font-weight: bold;
}

.font14{
  font-size:14px;
}

.font15{
  font-size:15px;
}

.font16{
  font-size:16px;
}

.font17{
  font-size:17px;
}

.font17b{
  font-size:17px;
  font-weight: bold;
}
.font18{
  font-size:18px;
}
.font18b{
  font-size:18px;
  font-weight: bold;
}
.font19{
  font-size:19px;
}
.font19b{
  font-size:19px;
  font-weight: bold;
}
.font20{
  font-size:20px;
}
.font20b{
  font-size:20px;
  font-weight: bold;
}
.font21{
  font-size:21px;
}
.font21b{
  font-size:21px;
  font-weight: bold;
}

.font22{
  font-size:22px;
}
.font22b{
  font-size:22px;
  font-weight: bold;
}

.font23{
  font-size:23px;
}
.font23b{
  font-size:23px;
  font-weight: bold;
}


.font24{
  font-size:24px;
}
.font24b{
  font-size:24px;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .font24b{
    font-size:20px;
  }
}

.font30b{
  font-size:30px;
  font-weight: bold;
}

.new-header{
    width:100vw;
    display:flex;
    justify-content: flex-end;
    flex-wrap: nowrap;
    background-color: #fff;

}


.header-icon-container{
    margin-right:30px;
    position: relative;

}

.header-icon-container p{
  font-size:0.9vw;
}

@media screen and (max-width:768px) {
  .header-icon-container{
    display:none;
  }
}



.wrap_logo-box{
    display: flex;
    flex-wrap: nowrap;
    width:42vw;
    height:auto;
}

@media screen and (max-width:768px) {
.wrap_logo-box{
  display:none;
  width:100%;
}
}


.h1-phone-box{
  width:65%;
}


.logo-img{
  margin:0 0 0 15px;
}

@media screen and (max-width:1279px) {
  .logo-img{
    display: none;
  }
}

@media screen and (max-width:768px) {
  .logo-img{
margin:0 13px;
  }
}

h1{
    font-size:11px;
    display: inline-block;
    margin:10px 0px 0px 10px;
    width:85%;
    padding-bottom:5px;

}

@media screen and (max-width:1279px) {
  h1{
    width:95%;
  }
}

@media screen and (max-width:1000px) {
  h1{
    width:885%;
  }
}

@media screen and (max-width:768px) {
  h1{
    font-size:10px;
    margin:5px 0px 0px 16px;
  }
}

.phone-num{
    font-size:25px;
    font-weight: bold;
    margin-left:15px;
    width:100%;
    font-family: 'Kameron', serif;
    vertical-align: top;

}

@media screen and (max-width:768px) {
  .phone-num{
    font-size:14px;
    margin-left: 5px;
    vertical-align: middle;
  }
}


ul {
  list-style: none;
}

.site-logo{
  width:180px;

}

@media screen and (max-width:768px) {
  .site-logo{
    width:115px;
  }
}

.site-logo-img{
 width:80%;
 padding:15px;
}


@media screen and (max-width:768px) {
  .site-logo-img{
    width:111px;
    height:42px;
  }
}


/*https://webdesignday.jp/inspiration/technique/css/4166/*/
  .site-header{
    background-color: #fff;
    display: flex;
    position: fixed;
    top:0px;
    justify-content: space-between;
    width: 100vw;
    z-index: 999;
    height:95px;
    border-bottom:solid 10px #000;
}

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

@media screen and (max-width:768px) {
  .mainlogo{
    width:80%;
    max-width:80%;
    height:80%;
    max-height:80%;
    margin-top:8px;
  }
}


@media screen and (max-width:768px) {
  .site-header{
  height:64px;
  }
}

.gnav__menu__item a{
    color: rgb(5, 4, 4);
    text-decoration: none;
}

.main-img img{
    text-align:center;
    width: 100%;
    height: auto;
}
.menu {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    position: relative;
  }
  .menu > li {

    text-align: center;
    font-size:0.9vw;
    font-weight:bold;
    border-left:solid #999 1px;

  }
  .menu > li:nth-child(7){
    margin-right:50px;
  }

  .menu img{
    display:inline-block;
    margin:0px 5px 5px 5px;
  }

  .menu li a{
    color:#fff;
    padding:0px 10px 5px 10px;
    margin:5px 5px;
  }
  .menu > li:hover {
    background-color: #ececec;
  }

  /*
  「display: block;」でリンク範囲を親要素と同じ範囲まで広げる
  */
  .menu > li a {
    display: block;
    color:#000;
  }
  /*
  ドロップダウン用のメニュー
  初期状態は表示しないため、「visibility: hidden;」で非表示にしておく
  */
  .menu-second {
    visibility: hidden;
  }
  
  /*
  Menu Single
  「position: relative;」で、サブメニュー（Single）の基準位置として設定
  */
  .menu > .single {
    position: relative;

  }
  /*
  「position: absolute;」で、singleクラスを基準に所定の位置に配置する
  */


  .single .menu-second {
    width: 220%;
    background-color: #fff;
    position: absolute;
    top: 85px;
    left: 0;
    box-shadow: 2px 2px 4px #000;
  }

  .single .menu-second li{
    width:95%;
    padding:0px;
    margin:8px 0 0 0px;
    font-size:1vw;
    vertical-align: middle;
    border-bottom:#999 1px solid;
    border-left:none;
    border-bottom:#999 1px dotted;
 
  }

  .single .menu-second img{
    vertical-align: middle;
    width:30px;
    height:30px;
  }

  .single .menu-second li a:hover {
    opacity: 0.7;
    
  }
  /*
  ホバー時にサブメニュー（Single）を表示する
  */
  .single:hover .menu-second {
    visibility: visible;
  }
  
  /*
  Menu Wide
  「position: absolute;」で、menuクラスを基準に所定の位置に配置する
  */

  .wide .menu-second {
    background-color: #fff;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    position: absolute;
    top: 85px;
    left: -30%;
    box-shadow: 2px 2px 4px #000;
  }
  .wide .menu-second li {
    width: 24%;
    margin:5px 5px 0px 0px;
    font-size:1vw;
    vertical-align: middle;
    border-bottom:#999 1px dotted;
  }

.menu-third {
    width: 100% !important;
    background-color: rgb(46, 89, 170);
    color:#fff;
    padding:3px 12px;
    margin:8px 5px 0 5px;
    font-size:16px !important;
  }

  .wide .menu-second img{
    vertical-align: middle;
    width:30px;
    height:30px;
  }

  .wide .menu-second li a:hover {
    opacity: 0.7;

  }
  /*
  ホバー時にサブメニュー（Wide）を表示する
  */
  .wide:hover .menu-second {
    visibility: visible;
  }
  
 /*トップ動画*/
 .top_movie {
  position: relative;
}

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

/* video */

.video-box {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
}

@media screen and (max-width: 768px) {
  .video-box {
  height:700px;
}
}
.video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
  .video {
    top:300;
    min-height:700px;
  }
}

/* overlay */

.overlay::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height:650px;
  height: 100%;
  content: "";
  background-color: rgba(0,0,0,0);
  background-image: radial-gradient(rgb(66, 66, 66) 25%, transparent 26%), radial-gradient(rgb(66, 66, 66) 25%, transparent 26%);
  background-size: 4px 4px;
  background-position: 0 0, 4px 4px;
}

@media screen and (max-width: 768px) {
  .overlay::after {
    height:650px;
  }
}

.bordar_frame{
  border:1px solid;
}

/* text */

.text-box {
  position: absolute;
  top: 50%;
  left: 37%;
  width:60%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);

}

@media screen and (max-width: 768px) {
  .text-box {
    width:300px;
    top:50%;
    left:45%;
    border:none;

  }
}

.catch{
  font-size: 80px;
  font-family:Helvetica, sans-serif;
  font-weight:bold;
  line-height: 1;
  padding: 0 50px;
  color: #fff;
  text-shadow: rgb(43, 43, 43) 0px 1px 1px;
}

@media screen and (max-width: 768px) {
  .catch{
    font-size: 40px;
    line-height:1.2;
    padding:0px;
    text-align: left;
    color: #fff;
  }
}

.text-box2 {
  position: absolute;
  top: 65%;
  left: 37%;
  width:60%;
  transform: translate(-50%, -50%);

}

@media screen and (max-width: 768px) {
  .text-box2 {
    width:300px;
    top:61%;
    left:45%;
    border:none;

  }
}

.catch2 {
  position: absolute;
  bottom: 10%; /* 画像の下から10%に配置 */
  left: 10%; /* 画像の左から10%に配置 */
  font-size: 25px;
  font-weight: bold;
  line-height: 1.2;
  color: #fff;
  text-shadow: rgb(43, 43, 43) 0px 1px 1px;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .catch2{
    font-size: 20px;
    line-height:1.5;
    bottom: 50px; /* モバイルでは50pxに調整 */
    padding:0px;
    text-align: left;
    color: #fff;
  }
}

.catch2:before {
  position: absolute;
  content: "For Your";
  font-size: 60px;
  font-family: Helvetica, sans-serif;
  top: -150px; /* テキストの高さに応じて上に余白を持たせる */
  left: 0; /* left: 0でキャッチコピーと左揃え */
  line-height: 1.2;
  padding: 0;
  text-shadow: rgb(43, 43, 43) 0px 1px 1px;
}

@media screen and (max-width: 768px) {
  .catch2:before{
    font-size: 40px;
    line-height:1.2;
    top:-90px;
    padding:0px;
  }
}


/* catch2:after (装飾テキスト) */
.catch2:after {
  position: absolute;
  content: "Bright Future";
  font-size: 50px;
  font-family: Helvetica, sans-serif;
  top: -80px; /* 上のFor Yourに対して少し下の位置に配置 */
  left: 0;
  line-height: 1.2;
  padding: 0;
  text-shadow: rgb(43, 43, 43) 0px 1px 1px;
}

@media screen and (max-width: 768px) {
  .catch2:after{
    font-size: 40px;
    top:-50px;
    line-height:1.2;
    padding:0px;
  }
}


  /*-------------------------------------------
  SP
  -------------------------------------------*/
  @media screen and (max-width: 600px) {
    body {
      font-size: 0.75rem;
    }
  }


  .flex-container{
    display: flex;
    justify-content: center;
    margin:0 auto;
    flex-wrap: wrap;
    /*width:80vw;*/
  }

  @media screen and (max-width: 768px) {
    .flex-container{
      flex-wrap: wrap;
      width:95%;
  }
  }

  .flex-container2{
    display: flex;
    justify-content: center;
    margin:0 auto;
    flex-wrap: wrap;
    width:90%;
  }

  @media screen and (max-width: 768px) {
    .flex-container2{
      flex-wrap: wrap;
      width:95%;
  }
  }

  .width100{
    width:100%;
    margin:20px 0 20px;
  }

  .wrap-box-column80{
    width:80%;
    display: flex;
    flex-wrap: wrap;
    margin:10px;
  }

  .wrap-box-column85{
    width:85%;
    display: flex;
    flex-wrap: wrap;
    margin:10px;
  }
  
  .box_2column{
    position: relative;
    width: 45%;
    margin: 8px;
  }

  .box_2column img{
    width:100%;
  }

.box_2column-fig{
    position:absolute;
    width:100%;
    background-color:rgba(0,0,0,0.4);
  bottom:0;
  font-size:18px;
  font-weight:bold;
  color:#fff;
  text-align: center;
  }

  .box_2column2{
    width: 228px;
    margin: 10px;
  }

  .box_2column2 img{
    max-width:100%;
  }

  .box_2column8{
    width: 912px;
    margin: 10px;
  }


  .box_2column3{
    width: 342px;

  }

  .box_2column3 img{
    max-width:100%;
    margin-bottom:15px;
    margin-top:15px;
  }

  .box_2column7{
    width: 798px;
    padding-top:10px;
    padding-left:20px;

  }

  .box_2column3-2{
    width: 30%;
    margin:auto 15px;

  }
  @media screen and (max-width: 768px) {
    .box_2column3-2{
      width:100%;
      margin-bottom:10px;
    }
  }

  .box_2column3-2 img{
    max-width:100%;
    padding:10px 0px 10px 0px;
  }

  @media screen and (max-width: 768px) {
    .box_2column3-2 img{
      margin-top:15px;
      max-width:100%;
    }
  }
  .box_2column7-2{
    width: 60%;
    margin:0 auto;

  }

  @media screen and (max-width: 768px) {
    .box_2column7-2{
      width: 100%;
    }
  }

  @media screen and (max-width: 768px) {
    .box_2column7-2 p{
      padding:10px;
    }
  }

  .box_7column3{
    width: 50%;
    text-align: center;

  }

  @media screen and (max-width: 768px) {
    .box_7column3{
      width: 100%;
    }
  }

  @media screen and (max-width: 768px) {
    .box_7column3 p{
      padding:10px;
    }
  }

  .box_2column6{
    width: 60%;
  }

  @media screen and (max-width: 768px) {
    .box_2column6{
      width:100%;
    }
  }

  .box_2column4{
    width: 38%;
  }

  .box_2column4 img{
    max-width:100%;
  }

  @media screen and (max-width: 768px) {
 .box_2column4{
      width:98vw;
  }
  }

  @media screen and (max-width: 768px) {
    .box_2column{
      width:98vw;
  }
  }

  
  .box_3column{
    width: 300px;
    margin: 10px;
    text-align: center;
  }

  .box_3column img{
    max-width:100%;
  }

  @media screen and (max-width: 768px) {
    .box_3column{
      width:90vw;
  }
  }

/*トップページランキングボックス*/
.ranking_box{
  width:85%;
  margin:30px auto;
  text-align: center;
}

.column_warp{
  display: flex;
  width:100%;
  flex-wrap: wrap;
}

.column3{
  position:relative;
  width:30%;
}

.column3 img{
  max-width:100%;
}

 /* ここからがニュースのCSS */
  .news {
    padding: 20px 0 0 0;
    margin:30px auto;
  }
  
  
  .inner {
    width: 80%;
    background-color: #fff;
    margin: 0 auto;
    padding: 20px 0 30px;
  }

  @media screen and (max-width: 768px) {
    .inner {
      width:95%;
    }
  }

  .time-num{
    font-family: "Montserrat", sans-serif;
    color:#666;
  }

  .time-num2{
    font-family: "Montserrat", sans-serif;
    color:#666;
    margin-right:5px;
  }
  
  
  .sub_ttl {
    font-size: 30px;
    text-align: center;
    font-weight:bold;
    margin-bottom: 40px;
  }
  
  @media screen and (max-width: 768px) {
    .sub_ttl{
      font-size: 25px;
      margin-bottom: 20px;
    }
  }

  /* ここからがニュース記事のCSS */
  
  .news_list {
    margin: 0 5%;
  }
  
  .news_list_item {
    padding: 25px 0;
    border-bottom: 1px solid #E6E6E6;
  }

  .news_list_item{
    font-weight:bold;
  }
  
  .news_list_item:first-child {
    border-top: 1px solid #E6E6E6;
  }
  .news_list_item a {
   position: relative;
   display: flex;
   padding-right: 30px;
   color:#333;
  }
  
  .news_list_date {
    font-size: 15px;
    display: flex;
    margin-right: 15px;
    align-items: center;
  }
  
  .news_item {
    font-size:14px;
    width: 6em;
    /* 親要素の文字サイズを基準 */
    text-align: center;
    margin-left: 20px;
    border-radius: 4px;
    color:#fff;
  }
  
  @media screen and (max-width: 768px) {
  .news_item{
    font-size:13px;
  }
}

.color_gry{
  background: #333;
}

.color_yellow{
  background:#ffae00;
}

.color_green{
  background:#7db500;
}

.color_blue{
  background:#00a1cb;
}

.color_red{
  background:#e54028;
}

@media screen and (max-width: 768px) {
  .news_list p{
    margin-top:5px;
  }
}

  
  .arrow {
    width: 25px;
    height: 1px;
    background: #707070;
    position: absolute;
    top: 50%;
    right: 0;
  }
  
  .arrow::after {
    content: "";
    display: block;
    width: 6px;
    height: 1px;
    background: #707070;
    transform: rotate(45deg);
    position: absolute;
    right: 0px;
    bottom: 2px;
  }
  
  
  @media screen and (max-width: 1024px) {
      .news_list_item a {
          display: block;
      }
  }
  
  @media screen and (max-width: 769px) {
      .news_list_item a  {
          font-size: 14px;
      }
  
  
  }
  @media screen and (max-width: 480px) {
      .arrow {
          display: none;
      }
      .news_list_item a {
          padding-right: 0;
      }
  }

.current {
  display: flex;
  align-items: center;  /* ← 縦中央 */
  justify-content: center; /* ← 横中央 */
  width: 40px;
  height: 40px;
  margin: 50px auto;
  text-align: center;
  text-decoration: none;
  border: 1px solid #333;
  color: #fff;
  background: #333;
}


  .current2 {
    line-height: 1;
    line-height: 40px;
    margin:0 20px 0 20px;
    display: inline-block;
    width: 40px;
    height:40px;
    font-weight:bold;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    border: 1px solid #e5e7ed;
    color: #fff;
    border-color: #0066c0;
    background: #0066c0;
  }

  @media screen and (max-width: 768px) {
    .current2{
      margin:0 10px 0 0 ;
      font-size:20px;
    }
  }

  .current3 {
    line-height: 1;
    line-height: 40px;
    margin:0 20px 0 20px;
    display: inline-block;
    width: 40px;
    font-weight:bold;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    border: 1px solid #e5e7ed;
    color: #fff;
    border-color: #000;
    background: #000;
  }

  .current4 {
    line-height: 1;
    line-height: 40px;
    margin:0 20px 0 20px;
    display: inline-block;
    height:40px;
    font-weight:bold;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    border: 1px solid #e5e7ed;
    color: #fff;
    border-color: #0066c0;
    background: #0066c0;
    padding:0 10px;
  }

  @media screen and (max-width: 768px) {
    .current4{
      margin:0 10px 0 0 ;
      font-size:20px;
    }
  }
    
    .article1 {
      padding: 50px 0 0 0;
    }

/*
    .article img{
      text-align: center;
      max-width:60%;
    }
 */

    @media screen and (max-width: 768px) {
      .article img{
        max-width:90%;
      }
    }


    .inner-content {
      width: 80%;
      background-color: #fff;
      margin: 0 auto;
      text-align:center;
      padding: 20px 0 50px;
    }

    .inner-content img{
      max-width:100%;
      margin:15px;
    }

    @media screen and (max-width: 768px) {
      .inner-content img{
        max-width:95%;
        margin:0px;
      }
    }

    @media screen and (max-width: 768px) {
      .inner-content {
        width:95%;
        padding-bottom:30px;
      }
    }

    .inner-content p{
      padding:10px;
      width:80%;
      margin:0 auto;
    }

    @media screen and (max-width: 768px) {
    .inner-content p{
      width:90%;
    }
  }

  .inner-content_child{
    width:85%;
    margin:0 auto;
  }

  @media screen and (max-width: 768px) {
    .inner-content_child{
      width:100%;
    }
  } 


    .inner-content2 {
      width: 80%;
      background-color: #fff;
      margin: 10px auto;
      text-align:center;
      padding: 20px 20px 50px 20px;
    }

    @media screen and (max-width: 768px) {
      .inner-content2 {
        width:90%;
        margin:0 auto;
        padding:10px 10px 30px 10px;
      }
    }

    .inner-content2 p{
      padding:10px;
      width:90%;
      margin:0 auto;
    }

    @media screen and (max-width: 768px) {
    .inner-content2 p{
      width:95%;
    }
  }

  .inner-content3 {
    width: 85%;
    background-color: #fff;
    margin: 0px auto;
    text-align:center;
    padding: 20px 20px 50px 20px;
  }

  @media screen and (max-width: 768px) {
    .inner-content3 {
      width:95%;
      margin:0 auto;
      padding:10px 10px 0px 10px;
    }
  }

  .inner-content3 p{
    padding:10px;
    width:90%;
    margin:0 auto;
  }

  @media screen and (max-width: 768px) {
  .inner-content3 p{
    width:95%;
  }
}

.inner-content3 a{
  border-bottom:1px dotted #0066c0;
}

.inner-content4 {
  width: 80%;
  background-color: #fff;
  margin: 0 auto;
  text-align:center;
  padding: 20px 0 50px;
}

@media screen and (max-width: 768px) {
  .inner-content4 img{

  }
}

@media screen and (max-width: 768px) {
  .inner-content4 {
    width:95%;
    padding-bottom:30px;
  }
}

.inner-content5{
  width: 100%;
}

.illust img{
  margin:50px;
  display:inline-block;
}




.marker1 {
background: linear-gradient(transparent 55%, #c1e0ff 0%);
font-weight: bold;
}

/* スマホのみ改行　<br class="br-sp"> */
@media screen and (min-width: 768px){
.br-sp {display: none; }
 }

.font_bold{
font-weight:bold;
}

.font_red{
  color:red;
  }

.border_img{
  border:solid 1px;
}

.back_blue{
  background-color: #0066c0;
}

/*見出し*/

/*黒背景白文字*/
.headline-blk{
margin:20px auto;
padding: 15px 15px;
width:85%;
color: #fff;
background: #000;
font-weight: bold;
font-size:20px;
text-align: center;
}

.headline-blk2{
margin:20px auto;
padding: 15px 15px;
width:85%;
font-weight: bold;
font-size:20px;
text-align: center;
}

@media screen and (max-width: 768px){
.headline-blk2{
font-size:18px;
padding:10px;
}
}

.headline-blk3{
margin-top:10px;
padding: 5px 10px;
width:60%;
color: #fff;
background: #000;
font-weight: bold;
font-size:18px;
text-align: center;
}

@media screen and (max-width: 768px){
.headline-blk3{
width:80%;
margin:10px auto;
}
}

/*見出し薄青*/
.headline1 {
width:85%;
background-color: rgb(46, 89, 170);
color:#fff;
text-align: center;
font-size:23px;
font-weight: bold;
margin:20px auto;
padding:10px 0 10px 0;
}

@media screen and (max-width: 768px){
  .headline1 {
    font-size:18px;
    padding:10px;
  }
}

/*見出し薄青*/
.headline2 {
  margin:20px auto;
  padding: 15px 15px;
  color: rgb(0, 0, 0);
  background: #e0edff;
  font-weight: bold;
  font-size:22px;
  }

/*シンプルな見出し中央寄せ*/
.headline-normal1 {
margin:20px auto;
padding: 15px 15px;
width:85%;
color: #555;
font-weight: bold;
font-size:22px;
text-align:center;
}

/*吹き出し風下に三角*/
.balloon1 {
position: relative;
margin:20px auto;
padding: 7px 10px;
width:95%;
color: #555;
background: #e0edff;
font-weight: bold;
font-size:20px;
}
      
.balloon1:before {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -15px;
border: 15px solid transparent;
border-top: 15px solid #e0edff;
}

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


/*吹き出し*/
.balloon_l,
.balloon_r{
  margin: 30px 0;
  display:flex;
  justify-content: flex-start;
  align-items: flex-start; /*縦位置を上揃え*/
/*   align-items: center; */ /*縦位置を真ん中揃え*/
}
.balloon_r{
  justify-content:flex-end;
}
.faceicon img{
  width: 80px; /*任意のサイズ*/
  height: auto;
}
.balloon_r .faceicon{
  margin-left:25px;
}
.balloon_l .faceicon{
  margin-right:25px;
}
.balloon_r .faceicon{
  order:2 !important;
}
.says {
  max-width:500px; /*最大幅は任意*/
  display: flex;
  flex-wrap: wrap;
  position: relative;
  padding: 17px 13px 15px 18px;
  border-radius: 12px;
  background: #eee;/*色は任意*/
  box-sizing:border-box;
  margin:0 !important;
  line-height:1.5;
/*   align-items: center; */
}

@media screen and (max-width: 768px){
  .says {
    width:240px;
  }
}

.says p{
  margin:8px 0 0 !important; 
  width:100%;
}
.says p:first-child{
  margin-top:0 !important;
}
.says:after {
  content: "";
  position: absolute;
  border: 10px solid transparent;
/*   margin-top:-3px;  */
}
.balloon_l .says:after {
  left: -26px;
  border-right: 22px solid #eee;
}
.balloon_r .says:after {
  right: -26px;
  border-left: 22px solid #eee;
}

.says2 {
  max-width:900px; /*最大幅は任意*/
  display: flex;
  flex-wrap: wrap;
  position: relative;
  padding: 17px 13px 15px 18px;
  border-radius: 12px;
  background: #eee;/*色は任意*/
  box-sizing:border-box;
  margin:0 !important;
  line-height:1.5;
/*   align-items: center; */
}

@media screen and (max-width: 768px){
  .says2 {
    width:90%;
  }
}

.says2 p{
  margin:8px 0 0 !important; 
  width:100%;
}
.says2 p:first-child{
  margin-top:0 !important;
}
.says2:after {
  content: "";
  position: absolute;
  border: 10px solid transparent;
/*   margin-top:-3px;  */
}
.balloon_l .says2:after {
  left: -26px;
  border-right: 22px solid #eee;
}
.balloon_r .says2:after {
  right: -26px;
  border-left: 22px solid #eee;
}



/*シンプル黒文字のみ*/

.top-headline-blk{
position: relative;
padding: 10px 10px;
font-size:28px;
font-weight:bold;
text-align: center;
color:#000;
}

@media screen and (max-width: 768px){
.top-headline-blk{
font-size:23px;
}
}

.headline-blk20{
padding: 10px 10px;
font-size:20px;
font-weight:bold;
color:#000;
}
.top-headline-wte{
position: relative;
padding: 40px 10px 20px;
font-size:28px;
font-weight:normal;
text-align: center;
color:#fff;
width:100%;
z-index:10;
}

@media screen and (max-width: 768px){
  .top-headline-wte{
    padding: 25px 0 0;
    font-size:23px;
    font-weight:bold;
  }
}



.headline-wte20{
padding: 10px 10px;
font-size:20px;
font-weight:bold;
color:#fff;
}

@media screen and (max-width: 768px){
  .headline-wte20{
    width:100%;
  }
}

.headline-wte20-center{
  padding: 10px 10px;
  font-size:20px;
  font-weight:bold;
  color:#fff;
  text-align: center;
  }

  .top-headline-wte30{
    position: relative;
    width:80%;
    padding: 20px 10px;
    font-size:35px;
    font-weight:500;
    margin:0 auto;
    color:#fff;
    text-align:center;
    }
    
    @media screen and (max-width: 768px){
      .top-headline-wte30{
        padding: 10px 0px;
        font-size:23px;
        font-weight:bold;
      }
    }

    .top-headline-wte45{
      position: relative;
      width:80%;
      padding: 20px 10px;
      font-size:45px;
      font-weight:500;
      margin:0 auto;
      color:#fff;
      text-align:center;
      }
      
      @media screen and (max-width: 768px){
        .top-headline-wte45{
          padding: 20px 0px;
          font-size:23px;
          font-weight:bold;
        }
      }

/*青い番号*/

.heading12 {
position: relative;
font-size: 23px;
width:85%;
margin:20px auto;
font-weight:bold;
}

         .heading12::before {
           content: attr(data-number);
           display: inline-block;
           margin-right: 20px;
           color: #498ee0;
           font-size: 30px;
           font-weight:bold;
           border-bottom: 1px solid #498ee0;
           font-family: 'Avenir','Arial Black','Arial',sans-serif;
     
         }
 
         @media screen and (max-width: 768px){
           .heading12::before{
            font-size: 22px;
            margin-right: 10px;
           }
          }

          .heading13 {
            position: relative;
            font-size: 23px;
            width:85%;
            text-align: center;
            margin:20px auto;
            font-weight:bold;
            }
            

                     .heading13::before {
                       content: attr(data-number);
                       display: inline-block;
                       margin-right: 20px;
                       color: #498ee0;
                       font-size: 30px;
                       font-weight:bold;
                       border-bottom: 1px solid #498ee0;
                       font-family: 'Avenir','Arial Black','Arial',sans-serif;
                 
                     }
             
                     @media screen and (max-width: 768px){
                       .heading13::before{
                        font-size: 22px;
                        margin-right: 10px;
                       }
                      }

.heading_line{
  width:100%;
  padding:0.75em 0;
  border-top:1px solid #000;
  border-bottom:1px solid #000;
  margin:30px auto 10px;
  font-weight:bold;
  font-size:23px;
}

.heading_line2{
  width:90%;
  padding:0.75em 0;
  border-top:1px solid #000;
  border-bottom:1px solid #000;
  margin:30px auto 10px;
  font-weight:bold;
  font-size:23px;
}

.heading-review {
  position: relative;
  font-size: 20px;
  width:90%;
  margin:20px auto;
  }

  @media screen and (max-width: 768px){
    .heading-review {
      font-size:18px;
    }
  }

.heading-review::before {
    content: attr(data-number);
    display: inline-block;
    margin-right: 20px;
    color: #498ee0;
    font-size: 28px;
    font-weight:bold;
    border-bottom: 1px solid #498ee0;
    font-family: 'Avenir','Arial Black','Arial',sans-serif;

  }

  @media screen and (max-width: 768px){
    .heading-review::before {
      font-size: 20px;
    }
  }

.headline-1{
	font-size:22px;
	border: none;
	font-weight:bold;
	padding: 0;
	padding: 0.25em 0.5em;
	color: #498ee0;
	background: transparent;
	border-left: solid 5px #498ee0;
  margin:15px 0;
}

.headline-2{
	font-size:20px;
	border: none;
	font-weight:bold;
	padding: 0;
	padding: 0.25em 0.5em;
	color: #498ee0;
	background: transparent;
  margin-left:20px;
}

@media screen and (max-width: 768px){
  .headline-2{
    padding:0;
    margin-left:0;
    margin-bottom:10px;
  }
}

.headline-3{
	font-size:20px;
	border: none;
	font-weight:bold;
	padding: 0;
	padding: 0.25em 0.5em;
	color: #498ee0;
	background: transparent;
  margin-left:20px;
  text-align: center;
}

@media screen and (max-width: 768px){
  .headline-3{
    padding:0;
    margin-left:0;
    margin-bottom:10px;
  }
}


.headline-eng1{
color:rgb(146, 146, 146);
font-weight: bold;
font-size:20px;
margin:0px auto 20px;
width:80%;


}

@media screen and (max-width: 768px){
  .headline-eng1{
    font-size:15px;
  }
}

.box_title{
  width: 100%;
  background-color: rgb(46, 89, 170);
  color:#fff;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  margin:20px auto;
  padding:10px 0 10px 0;
}
  .category_heading {
    position: relative;
    margin:25px auto;
    text-align: center;
    font-weight: bold;
    font-size:30px;
  }
  
  .category_heading:before {
    position: absolute;
    bottom: -10px;
    left: calc(50% - 30px);
    width: 60px;
    height: 5px;
    content: '';
    border-radius: 3px;
    background: #498ee0;
  }

  @media screen and (max-width: 768px){
    .category_heading {
      font-size:23px;
    }
  }


/*ボタンデザイン*/

.simple_square_btn2 {
	display: inline-block;
	position: relative;
	width: 160px;
	padding: 0.8em;
	text-decoration: none;
	color: #1B1B1B;
	background: #fff;
	border:1px solid #1B1B1B;
  margin:10px;
}
.simple_square_btn2:hover {
	 background: #1B1B1B;
         color: #fff;
	 cursor: pointer;
	 text-decoration: none;
}


/*背景*/
.fixed-background {
  /*min-height: 100vh;*/
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
}

@media screen and (max-width: 768px){
  .fixed-background {
    min-height: 100vh;
    padding-bottom: 50px;
  }
}

.background_normal {
  padding:10px 0;
}

.background-1 {
  padding:100px 0;
  background-image: url(https://avakpjmyor.cloudimg.io/ceburyugaku-master.com/img/background1.jpg?width=1920);
}

@media screen and (max-width: 768px){
  .background-1 {
    background-image: url(https://avakpjmyor.cloudimg.io/ceburyugaku-master.com/img/background1.jpg?width=400);
  }
}


.background-2 {
  padding:50px 0;
  background-color:rgb(240, 240, 240);
}

.background-3 {
  padding:50px 0;
  background-image: url(../img/fix_background01.jpg);
}

.background-4 {
  padding:50px 0;
  background-image:url(../img/fix_background02.webp) ;
}


.background-5 {
  background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABtJREFUGFdjZGBg+M/AwMDIAAVwBjYBsEoMFQBW5gIF0HSEnwAAAABJRU5ErkJggg==), url(../img/fix_background04.jpg) repeat;
  background-attachment: fixed;
}

.background-baguio {
  background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABtJREFUGFdjZGBg+M/AwMDIAAVwBjYBsEoMFQBW5gIF0HSEnwAAAABJRU5ErkJggg==), url(../img/fix_background05.jpg) repeat;
  background-attachment: fixed;
}

.background-ilo {
  background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABtJREFUGFdjZGBg+M/AwMDIAAVwBjYBsEoMFQBW5gIF0HSEnwAAAABJRU5ErkJggg==), url(../img/fix_background06.jpg) repeat;
  background-attachment: fixed;
}

.background-clark {
  background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABtJREFUGFdjZGBg+M/AwMDIAAVwBjYBsEoMFQBW5gIF0HSEnwAAAABJRU5ErkJggg==), url(../img/fix_background07.jpg) repeat;
  background-attachment: fixed;
}

@media screen and (max-width: 768px){
.background-5 {
background-position: right 10% bottom 10%;
}
}

.transparent-blk{
  background-color: rgba(0,0,0,0.3);
  height:450px;
  max-height:450px;
}

.background-6 {
  background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABtJREFUGFdjZGBg+M/AwMDIAAVwBjYBsEoMFQBW5gIF0HSEnwAAAABJRU5ErkJggg==), url(../img/background2.jpg) repeat;
  background-attachment: fixed;
  height:450px;
  max-height:450px;
}

@media screen and (max-width: 768px){
  .background-6 {
  background-position: right 40% bottom 10%;
  }
  }

  .background-7 {
    background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABtJREFUGFdjZGBg+M/AwMDIAAVwBjYBsEoMFQBW5gIF0HSEnwAAAABJRU5ErkJggg==), url(../img/recruit_01.jpg) repeat;
    background-attachment: fixed;
    height:450px;
    max-height:450px;
  }
  
  @media screen and (max-width: 768px){
    .background-7 {
    background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABtJREFUGFdjZGBg+M/AwMDIAAVwBjYBsEoMFQBW5gIF0HSEnwAAAABJRU5ErkJggg==), url(../img/recruit_01sm.jpg) repeat;
    background-position: right 40% bottom 10%;
    height:400px;
    max-height:400px;
    }
    }
  
    .transparent-background-7{
      background-color: rgba(0,0,0,0.3);
      height:450px;
      max-height:450px;
    }

    @media screen and (max-width: 768px){
      .transparent-background-7{
        height:400px;
        max-height:400px;
      }
    }

.background-8{
background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABtJREFUGFdjZGBg+M/AwMDIAAVwBjYBsEoMFQBW5gIF0HSEnwAAAABJRU5ErkJggg==),url(../img/check_list.jpg)repeat;
background-attachment:fixed;
height:450px;
max-height:450px;
}

@media screen and (max-width: 768px){
.background-8{
background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABtJREFUGFdjZGBg+M/AwMDIAAVwBjYBsEoMFQBW5gIF0HSEnwAAAABJRU5ErkJggg==),url(../img/check_list.jpg)repeat;
background-position:right 40% bottom 10%;
height:400px;
max-height:400px;
}
}

.transparent-background-8{
background-color:rgba(0,0,0,0.2);
height:450px;
max-height:450px;
}

.background-9{
background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABtJREFUGFdjZGBg+M/AwMDIAAVwBjYBsEoMFQBW5gIF0HSEnwAAAABJRU5ErkJggg==),url(../img/destiny.jpg)repeat;
background-attachment:fixed;
height:450px;
max-height:450px;
}
      
@media screen and (max-width: 768px){
.background-9{
background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABtJREFUGFdjZGBg+M/AwMDIAAVwBjYBsEoMFQBW5gIF0HSEnwAAAABJRU5ErkJggg==),url(../img/destiny.jpg)repeat;
background-position:right 40% bottom 10%;
height:400px;
max-height:400px;
}
}

.transparent-background-9{
background-color:rgba(0,0,0,0.4);
height:450px;
max-height:450px;
}

.background-10{
  background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABtJREFUGFdjZGBg+M/AwMDIAAVwBjYBsEoMFQBW5gIF0HSEnwAAAABJRU5ErkJggg==),url(../img/school_01.jpg)repeat;
  background-attachment:fixed;
  height:450px;
  max-height:450px;
  }
        
  @media screen and (max-width: 768px){
  .background-10{
  background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABtJREFUGFdjZGBg+M/AwMDIAAVwBjYBsEoMFQBW5gIF0HSEnwAAAABJRU5ErkJggg==),url(../img/school_01.jpg)repeat;
  background-position:right 40% bottom 10%;
  height:600px;
  max-height:600px;
  }
  }
  
  .transparent-background-10{
  background-color:rgba(0,0,0,0.4);
  height:450px;
  max-height:450px;
  }

  @media screen and (max-width: 768px){
    .transparent-background-10{
    height:600px;
    max-height:600px;
    }
  }

  /*
/*1.フェードインアニメーションの指定
===========
inview
===========

.fadeIn_up {
  opacity: 0;
  transform: translate(0, 15%);
  transition: 0.8s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
  text-align: center;
}
*/

/*【画像】スマホの時は隠す*/
@media screen and (max-width:768px) {
  .hyde-sm-img{
    display:none;
  }
  }
  
  /*【画像】スマホの時だけ見せる*/
  @media screen and (min-width:769px) {
  .hyde-pc-img{
    display:none;
  }
  }

/*【文字】スマホの時は隠す*/
@media screen and (max-width:768px) {
  .hyde-sm{
    display:none;
  }
  }
  
  /*【文字】スマホの時だけ見せる*/
  @media screen and (min-width:769px) {
  .hyde-pc{
    display:none;
  }
  }

/*目次のデザイン* 参照先：https://hebochans.com/writer-profile-card//
.article .toc {
	border-color: #a08010 ;
	padding: 10px;
	width: 95%;
}
.article .toc-title {
	text-align: left;
}
.article .toc-title::before {
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f03a";
    margin-right: 0.8em;
    margin-left: 0.4em;
    transform: scale(1.4);
    color: initial;
}


/* この記事を書いた人 */

/* カード全体 */
.writer-profile-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgb(249, 249, 249);
  border: 2px dashed #eee;
  margin:20px auto;
  width:80%;
}
/* カードの右・左共通 */
.wp-left, .wp-right {
  padding: 25px 20px;
}
/* カードの左側 */
.wp-left {
  width: 90%;
  text-align: center;
}
/* カードの右側 */
.wp-right {
  width: 65%;
}

.wp-right ul{
  list-style: none !important;
}

/* 左側 */



/* 右側 */

/* リストを左揃え・中央寄せに */
.ul-center {
  display: flex;
  align-items: center;
  flex-direction: column;
  list-style: none !important;
}
/* 最後の要素にだけ下に余白をつけない */
.ul-center ul li:not(:last-child) {
  padding-bottom: 3px;
}

/* リストの文字色 */
.ul-center ul .li-point {
  color: #7b7b7b;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
}


/* 文章を左揃え・中央寄せに */
.wp-content {
  text-align: center;
  display: block;
}
/* 文章 */
.wp-content p {
  text-align: left;
  display: inline-block;
  color: #7b7b7b;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
}
/* SNSボタン全体 */
.wp-sns {
  text-align: center;
  padding: 20px 0 0;
}
/* SNSボタン */
.wp-sns li {
  display: inline-block;
  border: 1px solid #222;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  padding: 0 3px;
}
/* SNSボタンにマウスをあてた時の挙動 */
.wp-sns li:hover{
  position: relative;
  top: 1px;
}
/* SNSアイコン */
.wp-sns li a i {
  font-size: 19px;
  color: #222;
}
/* SNSアイコンの位置 */
.wp-sns li a i::before {
  position: relative;
  top: 9px;
}

/* 767px（iPad）以下 */

@media (max-width: 767px) {
  /* カードを縦並びに */
  .writer-profile-card {
    display: block;
  }
  /* 左右の幅を100%に */
  .wp-left, .wp-right {
    width: 100%;
    padding: 35px 20px;
  }
  /* 点線を左から下に */
  .wp-left {
    border-right: none;
    border-bottom: 2px dashed #eee;
  }
}


 /* Q&A https://copypet.jp/963/ */

 .cp_qa *, .cp_qa *:before, .cp_qa *:after {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cp_qa {
	margin: 0 auto;
	background: #ffffff;
}
.cp_qa input {
	display: none;
}
/* カテゴリー */
.cp_qa #cp_content1,
.cp_qa #cp_content2,
.cp_qa #cp_content3,
.cp_qa #cp_content4 {
	display: none;
	padding: 20px 0 0;
	border-top: 1px solid #dddddd;
}
.cp_qa label.cp_tabitem {
	display: inline-block;
	margin: 0 0 -1px;
	padding: 15px 25px;
	text-align: center;
	color: #666;
	border: 1px solid transparent;
}

.cp_qa label.cp_tabitem p{
  font-weight:bold;
  display: inline;
}

.cp_qa label.cp_tabitem:before {
	margin-right: 10px;
}
.cp_qa label.cp_tabitem[for*='1']:before { content: '\f1bb'; font-family: "Material Icons"; font-size:30px; vertical-align: middle;}
.cp_qa label.cp_tabitem[for*='2']:before { content: '\ef70'; font-family: "Material Icons"; font-size:30px; vertical-align: middle;}
.cp_qa label.cp_tabitem[for*='3']:before { content: '\f0c5'; font-family: "Material Icons"; font-size:30px; vertical-align: middle;}
.cp_qa label.cp_tabitem[for*='4']:before { content: '\e666'; font-family: "Material Icons"; font-size:30px; vertical-align: middle;}
.cp_qa label.cp_tabitem:hover {
	cursor: pointer;
	color: #888888;
}
.cp_qa input:checked + label {
	color: #555555;
	border: 1px solid #dddddd;
	border-bottom: 1px solid #ffffff;
}
/* --ブロックのバーの色 */
.cp_qa input:checked + label[for*='1'] {
	border-top: 5px solid #00BCD4;
}
.cp_qa input:checked + label[for*='2'] {
	border-top: 5px solid #FF5722;
}
.cp_qa input:checked + label[for*='3'] {
	border-top: 5px solid #03A9F4;
}
.cp_qa input:checked + label[for*='4'] {
	border-top: 5px solid #E91E63;
}
@media screen and (max-width: 650px) {
	.cp_qa label.cp_tabitem {
		font-size: 0;
	}
	label:before {
		font-size: 18px;
		margin: 0;
	}
}
@media screen and (max-width: 400px) {
	.cp_qa label.cp_tabitem {
		padding: 15px;
	}
	.cp_qa label.cp_tabitem:before {
		margin-right: 0px;
	}
}
/* QAブロック */
.cp_qa #cp_conttab1:checked ~ #cp_content1,
.cp_qa #cp_conttab2:checked ~ #cp_content2,
.cp_qa #cp_conttab3:checked ~ #cp_content3,
.cp_qa #cp_conttab4:checked ~ #cp_content4{
  display: block;
}
.cp_qa .cp_qain {
	overflow-x: hidden;
	margin: 0 auto;
	color: #333333;
}
.cp_qa .cp_qain .cp_actab {
	padding: 20px 0;
	border-bottom: 1px dotted #cccccc;
}
/* 質問 */
.cp_qa .cp_qain label {
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
	padding: 10px 10px 0 48px;
	cursor: pointer;
  font-size:20px;
  font-weight:bolder;
}
/* ＋アイコン */
.cp_qa .cp_qain .cp_plus {
	font-size: 2em;
	line-height: 100%;
	position: absolute;
	z-index: 5;
	margin-top: 9px;
	margin-left: 10px;
	-webkit-transition: 0.2s ease;
	        transition: 0.2s ease;
}

/* 答え */
.cp_qa .cp_qain .cp_actab-content {
	position: relative;
	overflow: hidden;
	height: 0;
	margin: 0 10px 0 48px;
	padding: 14px 0;
	-webkit-transition: 0.4s ease;
	        transition: 0.4s ease;
	opacity: 0;
}
/* 質問を開いた時の仕様 */
.cp_qa .cp_qain .cp_actab input[type=checkbox]:checked ~ .cp_actab-content {
	height: auto;
	opacity: 1;
  font-size:17px;
}

.cp_qa .cp_qain .cp_actab input[type=checkbox]:checked ~ .cp_actab-content p{
  width:100%;
}

/* 質問をクリックした時の▼アイコンの動き */
.cp_qa .cp_qain .cp_actab input[type=checkbox]:checked ~ .cp_plus {
	-webkit-transform: translateY(-20%) rotateX(180deg);
	        transform: translateY(-20%) rotateX(180deg);
}


p.answer {
  font-size:20px;
  font-weight:bold;
}


.material-icons{
  font-family: 'Material Icons';
  font-size:40px;
  margin:0 -5px;

}

.line-release{
  clear: both;
}


.material-icons-phone:before {
  font-family: 'Material Icons';
  content: "\e61d";
  font-size:30px;
  vertical-align: middle;
}

@media screen and (max-width: 768px){
  .material-icons-phone:before{
    font-size:25px;
  }
}

.material-icons-chat:before {
  font-family: 'Material Icons';
  content: "\e0c9";
  font-size:30px;
  vertical-align: middle;
}

@media screen and (max-width: 768px){
  .material-icons-chat:before{
    font-size:25px;
  }
}
/*Q&Aのアイコン*/
.material-icons-life:before {
  font-family: 'Material Icons';
  content: "\f05d";
  font-size:30px;
  vertical-align: middle;
  margin:5px;
}

.material-icons-other:before {
  font-family: 'Material Icons';
  content: "\ef64";
  font-size:30px;
  vertical-align: middle;
  margin:5px;
}

.material-icons-visa:before {
  font-family: 'Material Icons';
  content: "\e905";
  font-size:30px;
  vertical-align: middle;
  margin:5px;
}

.material-icons-question:before {
  display:inline-block;
  margin:0 15px 0 0;
  font-family: 'Material Icons';
  content: "\e0c6";
  font-size:150%;
  vertical-align: middle;
  line-height: 1.3;
  color: #007db9;
}

.material-icons-school2:before {
  font-family: 'Material Icons';
  content: "\e80c";
  font-size:18px;
  vertical-align: middle;
}

@media screen and (max-width: 768px){
  .material-icons-phone:before{
    font-size:16px;
  }
}

.awesome-school:before {
  content: '\f549';
  font-family: 'Font Awesome 5 Free';
  font-size:18px;
  margin-right:5px;
  color:#0066c0;
}


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


.text-hide-sp p{
  display:none;
}

/*youtube レスポンシフ*/

.item-movie {
	position: relative;
/*padding-top: 56.25%; 余白がおかしいので2025.10.22にコメントアウト(iframeのjsが関係)*/
  margin:20px 0;
}
.item-movie iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

.common-summary-box {
  width:100%;
	margin: 0;
}

.common-summary-box ul {
	margin: 0;
	list-style: none;
}
.common-summary-box ul li {
	padding: 1em 0;
	border-bottom:1px solid rgba(0,0,0,0.2);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width:80%;
  margin:0 auto;
}

.common-summary-box-left {
	display: inline-block;
	width: 30%;
	vertical-align: middle;
  border-radius: 1px;
  background: #6495ed;
  color:#fff;
  font-weight:bold;
  text-align: center;
  /* 親要素の文字サイズを基準 */
  color:#fff;
  padding:5px;
 
}

@media screen and (max-width: 768px) {
  .common-summary-box-left {
    width:20%;
  }
}

.common-summary-box-right {
	display: inline-block;
	width: 65%;
  margin-left:20px;
	vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .common-summary-box-right {
    width:70%;
    margin-left:10px;
  }
}


@media screen and (max-width: 768px) {
  .common-summary-box-right p{
    margin-left:15px;
  }
}

.common-summary-box-right p{
}

.common-summary-map{
  display: block;
  margin:20px auto;
}


/* ==============================
   都市別学校リスト 共通
============================== */
.wrap-school-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 18px;
}

@media screen and (max-width: 768px) {
  .wrap-school-list {
    background: #fff;
    width: 100%;
    margin: 0 auto;
  }
}

.school-title-jp {
  width: 80%;
  text-align: center;
  background-color: #fff;
  padding-top: 30px;
}
.school-title-en {
  width: 80%;
  background-color: #fff;
}

.wrap-list-area {
  display: flex;
  width: 80%;
  background-color: #fff;
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .wrap-list-area {
    width:100%;
  }
}

.school-list-area-map {
  width: 40%;
  height: 300px;
  background-color: #fff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .school-list-area-map {
    width: 100%;
  }
}
.school-list-area-map img {
  width: 380px;
  height: 280px;
}
@media screen and (max-width: 768px) {
  .school-list-area-map img {
    width: 300px;
    height: 220px;
  }
}

.wrap-area {
  width: 60%;
  display: flex;
  flex-wrap: wrap;
  height: auto;
  align-content: flex-start;
}
@media screen and (max-width: 768px) {
  .wrap-area {
    padding-bottom: 20px;
    width: 100%;
  }
}

.school-list-area-content {
  display: flex;
  align-items: center;     /* 上下中央揃え */
  height: 60px;
  margin: 10px;
  background-color: #ffebeb;
}

@media screen and (max-width: 768px) {
  .school-list-area-content{
    margin:10px auto;
  }
}

.school-list-area-content img {
  width: 100px;
  height: 60px;
}

/* ==============================
   ボタン
============================== */
.area-button {
  position: relative;
  display: block;
  width: 180px;
  line-height: 60px;
  color: #fff;
  font-size: 20px;
  background: #007db9;
  overflow: hidden;
  transition: background .3s;
}
@media screen and (max-width: 768px) {
  .area-button {
    width: 190px;
  }
}

.area-button span {
  position: relative;
  z-index: 1;
  padding: 10px 15px;
  transition: .3s;
}

/* hoverカーテン */
.area-button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgb(243, 243, 243);
  transform: translateX(-100%);
  transition: .3s;
  z-index: 0;
}
.area-button:hover::before {
  transform: translateX(0);
}
.area-button:hover span {
  color: #007db9;
}

/* クリックされた都市ボタン保持 */
.secList.active .area-button {
  background: rgb(243, 243, 243);
  color: #007db9;
}
.secList.active .area-button span {
  color: #007db9;
}


/* ==============================
   概要部分（都市説明）
============================== */
.area-desc {
  background-color: #fff;
  display: flex;
  width: 80%;
  flex-direction: column;
}

/* 各セクションのデフォルト非表示 */
.section {
  display: none;
}
.section.active {
  display: block;
}

.rank-button {
  position: relative;
  display: inline-block;
  text-align: center;
  width:250px;
  line-height: 60px;
  color: #fff;
  font-size: 20spx;
  background: #007db9;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .rank-button {
    width:190px;
    font-size:15px;
  }
}

.rank-button span {
  position: relative;
  z-index: 1;
  transition: .3s;
  padding:10px 15px;
}

.rank-button:hover span {
  color: #007db9;
}

/* 疑似要素 */
.rank-button:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background: rgb(243, 243, 243);
  transform: translate3d(-100%, 0, 0);
  transition: .3s;
}

/* 疑似要素(hover) */
.rank-button:hover:before {
  transform: translate3d(0, 0, 0);
}

.junior_btn{
  width:200px;
}

/*都市別の学校ここまで*/

/* トップ画像のfade https://yukipan-world.com/web-tips/568/*/
.top-img-title {
  font-size: 45px;
  color: #fff;
  text-shadow: rgb(155, 155, 155) 1px 1px 1px;
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
  z-index: 11;
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%,-50%);
}

.top-img-box {
  height: 550px;
  overflow: hidden;
  position: relative;

}

.simple_square_btn3 {
	display: inline-block;
	position: absolute;
	width: 160px;
	padding: 0.8em;
  top: 65%;
  left: 16%;
  z-index: 11;
	text-decoration: none;
  font-weight:bold;
  text-align:center;
	color: #000;
	background: rgba(255, 255, 255, 0.5);
	border:1px solid #1B1B1B;

}

@media screen and (max-width: 768px) {
  .simple_square_btn3 {
    left: 9%;
    font-size:15px;
  }
}

.simple_square_btn3:hover {
	 background: #000;
         color: #fff;
	 cursor: pointer;
	 text-decoration: none;
   border:1px solid #fff;
}

.simple_square_btn4 {
	display: inline-block;
  position: relative;
	width: 100px;
	padding: 0.3em;
  font-size:14px;
	text-decoration: none;
  text-align: center;
	color: #FFF;
	background: #1B1B1B;
	border:1px solid #1B1B1B;
  margin:10px;
}
.simple_square_btn4:hover {
	 background: #FFF;
  color: #1B1B1B;
	 cursor: pointer;
	 text-decoration: none;
}

@media screen and (max-width: 768px) {
  .top-img-box {
    display: none;
  }
}

.top-img-item {
  z-index: 10;
  opacity: 0;
  width: 100%;
  height: 600px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  
  left: 0;
  top: 0;
  -webkit-animation: anime 30s 0s infinite;
  animation: anime 30s 0s infinite;
  background-color: rgba(0,0,0,0.3);
}

.top-img-item:nth-of-type(2) {
  -webkit-animation-delay: 10s;
  animation-delay: 10s;
}

.top-img-item:nth-of-type(3) {
  -webkit-animation-delay: 20s;
  animation-delay: 20s;
}



@keyframes anime {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  35% {
    opacity: 1;
  }
  50% {
    opacity: 0;
    z-index: 9;
  }
  100% {
    opacity: 0;
  }
}

@-webkit-keyframes anime {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  35% {
    opacity: 1;
  }
  50% {
    opacity: 0;
    z-index: 9;
  }
  100% {
    opacity: 0;
  }
}

/*選ばれる理由*/

.wrap-selected-box{
  display:flex;
  flex-wrap:wrap;
  background: rgb(236, 236, 236);
  width: 100%;
  margin:30px auto;
  justify-content: center;
  font-size:16px;
  padding:30px 0;
}

@media screen and (max-width: 768px) {
  .wrap-selected-box{
    width:95%;
  }
}
.selected-box01{
  height:auto;
  order:1;
  width:200px;
  height:150px;
  margin: 10px;
  background-color: #fff;
  text-align: center;
  box-shadow: 2px 2px 4px gray;
}

@media screen and (max-width: 768px) {
  .selected-box01{
    width:100px;
    height:100px;
    margin:5px;
  }
}

.selected-box01 p{
  text-align: center;
  font-weight: bold;
}

.selected-box01 img{
  margin-top:32px;
}

@media screen and (max-width: 768px) {
  .selected-box01 img{
    width:50px;
    height:27px;
    margin:15px 0 10px 0;
  }
}
@media screen and (max-width: 768px) {
  .selected-box01 p{
    font-size:14px;
    padding:0;
  }
}

.selected-box02{
  display: flex;
  height:auto;
  order:2;
  width:15%;
  margin: 10px;
  background-color: #fff;
}
.selected-box03{
  display: flex;
  height:auto;
  order:3;
  width:15%;
  margin: 10px;
  background-color: #fff;
}

.material-icons-card:before {
  font-family: 'Material Icons';
  content: "\e870";
  font-size:450%;
  vertical-align: middle;
  line-height: 1.3;
  color: #007db9;
}

@media screen and (max-width: 768px) {
  .material-icons-card:before {
    font-size:250%;
  }
}

.material-icons-net:before {
  font-family: 'Material Icons';
  content: "\e63e";
  font-size:450%;
  vertical-align: middle;
  line-height: 1.3;
  color: #007db9;
}

@media screen and (max-width: 768px) {
  .material-icons-net:before {
    font-size:250%;
  }
}

.material-icons-plane:before {
  font-family: 'Material Icons';
  content: "\e53d";
  font-size:450%;
  vertical-align: middle;
  line-height: 1.3;
  color: #007db9;
}

@media screen and (max-width: 768px) {
  .material-icons-plane:before {
    font-size:250%;
  }
}


.material-icons-guarantee:before {
  font-family: 'Material Icons';
  content: "\e7af";
  font-size:450%;
  vertical-align: middle;
  line-height: 1.3;
  color: #007db9;
}

@media screen and (max-width: 768px) {
  .material-icons-guarantee:before {
    font-size:250%;
  }
}

.material-icons-guarantee2:before {
  font-family: 'Material Icons';
  content: "\e7af";
  font-size:30px;
  vertical-align: middle;
  color: #fff;
}

.material-icons-book:before {
  font-family: 'Material Icons';
  content: "\e666";
  font-size:450%;
  vertical-align: middle;
  line-height: 1.3;
  color: #007db9;
}

@media screen and (max-width: 768px) {
  .material-icons-book:before {
    font-size:250%;
  }
}

.material-icons-book2:before {
  display:inline-block;
  margin:0 20px 0 0;
  font-family: 'Material Icons';
  content: "\e666";
  font-size:200%;
  vertical-align: middle;
  line-height: 1.3;
  color: #007db9;
}

@media screen and (max-width: 768px) {
  .material-icons-book2:before {
    font-size:150%;
    margin:0 10px 5px 0;
  }
}

.material-icons-clock:before {
  display:inline-block;
  margin:0 20px 0 0;
  font-family: 'Material Icons';
  content: "\e8b5";
  font-size:200%;
  vertical-align: middle;
  line-height: 1.3;
  color: #007db9;
}

@media screen and (max-width: 768px) {
  .material-icons-clock:before {
    font-size:150%;
    margin:0 10px 5px 0;
  }
}

.material-icons-meal:before {
  display:inline-block;
  margin:0 0 0 10px;
  font-family: 'Material Icons';
  content: "\e56c";
  font-size:120%;
  vertical-align: middle;
  line-height: 1.3;
  color: #000;
}

@media screen and (max-width: 768px) {
  .material-icons-meal:before {
    font-size:100%;
    margin:0 0px 2px 10px;
  }
}

.material-icons-medal:before {
  display:inline-block;
  margin:0 10px 0 0;
  font-family: 'Material Icons';
  content: "\ea3f";
  font-size:200%;
  vertical-align: middle;
  line-height: 1.3;
  color: #007db9;
}

@media screen and (max-width: 768px) {
  .material-icons-medal:before {
    font-size:180%;
    margin:0 0px 5px 0;
  }
}

.material-icons-counseling:before {
  font-family: 'Material Icons';
  content: "\f233";
  font-size:450%;
  vertical-align: middle;
  line-height: 1.3;
  color: #007db9;
}

@media screen and (max-width: 768px) {
  .material-icons-counseling:before {
    font-size:250%;
  }
}

.material-icons-local:before {
  font-family: 'Material Icons';
  content: "\e80b";
  font-size:450%;
  vertical-align: middle;
  line-height: 1.3;
  color: #007db9;
}

@media screen and (max-width: 768px) {
  .material-icons-local:before {
    font-size:250%;
  }
}

.material-icons-rss:before {
  font-family: 'Material Icons';
  content: "\e0e5";
  font-size:450%;
  vertical-align: middle;
  line-height: 1.3;
  color: #007db9;
}

@media screen and (max-width: 768px) {
  .material-icons-rss:before {
    font-size:250%;
  }
}

.material-icons-enschool:before {
  font-family: 'Material Icons';
  content: "\e7f1";
  font-size:450%;
  vertical-align: middle;
  line-height: 1.3;
  color: #007db9;
}

@media screen and (max-width: 768px) {
  .material-icons-enschool:before {
    font-size:250%;
  }
}

.material-icons-renewal:before{
  font-family: 'Material Icons';
  content: "\e627";
  font-size:25px;
  vertical-align: middle;
  line-height: 1.3;
  color: #333333;
  margin-left:20px;
}

.material-icons-release{
  font-family: inherit !important;
  font-size:18px;
}

.material-icons-release:before{
  font-family: 'Material Icons';
  content: "\e8df";
  font-size:px;
  vertical-align: middle;
  line-height: 1.3;
  color: #333333;
}



.attention-box{
	display: flex;
	flex-wrap: wrap;
	width:85%;
	border:1px solid #999;
	padding:20px;
	margin:20px auto;
	align-items: center;
  justify-content: center;
}

.attention-box2{
	display: flex;
	flex-wrap: wrap;
	width:90%;
	border:1px solid #999;
	padding:20px;
	margin:20px auto;
	align-items: center;
  justify-content: center;
}

@media screen and (max-width: 768px) {
  .attention-box2{
    padding:15px;
  }
}

.attention-box-child1{
	width:10%;
	text-align: center;
}

@media screen and (max-width: 768px) {
  .attention-box-child1{
    width:20%;
  }
}

.attention-box-child2{
		width:80%;
}

.attention-box-child3{
  width:90%;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .attention-box-child3{
    margin-bottom:10px;
  }
}
.renewal_box{
  width:90%;
  margin:0 auto;
  font-size:17px;
}

@media screen and (max-width: 768px) {
  .renewal_box{
    font-size:15px;
  }
}

/*awesomeの右側のマージン設定*/
.fas{margin-left:3px;}
.fa-link{margin-right:5px;}


/*cautionアイコン*/
.fa-exclamation-triangle:before{
  font-size:35px;
}

/*awesome 見積もり　フッター*/
.fa-file-alt{
font-size:30px;
vertical-align: middle;
padding-bottom:4px;
padding-right:10px;
margin-top:5px;
}

/*awesome 申し込み*/
.fa-feather-alt{
  font-size:30px;
  vertical-align: middle;
  padding-bottom:4px;
  }

.fa-clipboard-list{
  margin-top:5px;
}

/*awesome 資料請求*/
  .fa-book-open-reader:before{
    display: inline-block;
    font-family: "Font Awesome 5 Free"; 
    content:"\f5da";
    font-size:30px;
    vertical-align: middle;
    padding-bottom:4px;
    margin-top:5px;
    }

/*awesome 見積り2*/
.fa-calculate:before{
  display: inline-block;
  font-family: "Font Awesome 5 Free"; 
  content:"\f1ec";
  font-size:30px;
  vertical-align: middle;
  padding-bottom:4px;
  margin-top:5px;
  }


/*awesome 空室確認*/
.fa-vacancy:before{
  display: inline-block;
  font-family: "Font Awesome 5 Free"; 
  content:"\f549";
  font-size:30px;
  vertical-align: middle;
  padding-bottom:4px;
  margin-top:5px;
  }


  /*awesome スマホ*/
  .fa-mobile-alt{
    font-size:30px;
    vertical-align: middle;
    padding-bottom:4px;
    }
/*オンラインカウンセリング*/
.fa-headphones{
font-size:30px;
vertical-align: middle;
padding-bottom:4px;
}
  
/*awesome メール*/

.fa-envelope-open-text{
font-size:30px;
vertical-align: middle;
padding-bottom:4px;
}

/*awesome メール(もう一つはFOOTER)*/
.fa-envelope-open-text2:before{
content:"\f658";
font-size:30px;
vertical-align: middle;
padding-bottom:4px;
}

/*awesome LINE(もう一つはFOOTER)*/
.fa-line2::before{
  content:"\f3c0";
  font-size:30px;
  vertical-align: middle;
  padding-bottom:4px;
}

/*awesome twitter*/
.fa-twitter-square:before{
  display: inline-block;
  content:"\f081";
  font-size:30px;
  vertical-align: middle;
  padding-bottom:4px;
  margin-top:5px;
  }


/*申し込みエリア*/
.wrap-application{
 width:100%;
 display:flex;
 flex-wrap: wrap;
 margin:0 auto;
 align-items: center;
}

.application-title{
  width:100%;
  text-align: center;
}

.application-title span{
  font-size:20px;
  font-weight:bold;
}

.wrap-application-btn{
display: flex;
margin:0 auto;
justify-content: center;

}

@media screen and (max-width: 768px) {
  .wrap-application-btn{
  width:100%;
}
}

.application-child1{
text-align: center;
margin:10px;
}

@media screen and (max-width: 768px) {
  .application-child1{
    margin:10px 5px;
  }
}

.application-child2{
  text-align: center;
  margin:10px;
}

@media screen and (max-width: 768px) {
  .application-child2{
    margin:10px 5px;
  }
}

.wrap-line-btn{
  width:100%;
}

.wrap-line-btn2{
  width:80%;
  flex-wrap: wrap;
  justify-content: center;
  display: flex;
  margin:0 auto;
}

.material-icons-application:before {
  font-family: 'Material Icons';
  content: "\eb9b";
  font-size:30px;
  vertical-align: middle;
}

.material-icons-rocket:before {
  font-family: 'Material Icons';
  content: "\eb9b";
  font-size:65px;
  vertical-align: middle;
  line-height: 1.3;
}

.material-icons-right-arrow:before {
  font-family: 'Material Icons';
  content: "\e5e1";
  font-size:18px;
  vertical-align: middle;
  line-height: 1.3;
}

/*光るボタン https://dezanari.com/css-shiny-button/*/
/*LINE*/
.shiny-btn3 {
  display: block;
  position: relative;
  width:250px; /*ボタンの幅*/
  padding: 10px 10px !important;
  margin: 20px auto;
  background-color: #00B900;/*ボタンの色*/
  box-shadow: 0 3px 0 0 rgb(143, 180, 143);/*影の色(rgbaの値を変更)*/
  border-radius: 5px;
  font-weight: bold;
  font-size: 18px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .shiny-btn3 {
    width:220px; /*ボタンの幅*/
    margin:15px auto;
    font-size:16px;
  }
}

.shiny-btn3:hover {
  text-decoration: none;
  color: #fff;
  opacity: 0.7;
}
.shiny-btn3::before {
  position: absolute;
  content: '';
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  animation: shiny-btn3 3s ease-in-out infinite;
}
@-webkit-keyframes shiny-btn3 {
  0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
  80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
  100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

.shiny-btn-red {
  display: block;
  position: relative;
  width:250px; /*ボタンの幅*/
  padding: 10px 0 !important;
  margin: 20px 10px 20px 10px;
  background-color: #f04343;/*ボタンの色*/
  box-shadow: 0 3px 0 0 rgb(180, 143, 143);/*影の色(rgbaの値を変更)*/
  border-radius: 5px;
  font-weight: bold;
  font-size: 18px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .shiny-btn-red {
    width:220px; /*ボタンの幅*/
    margin:15px auto;
    font-size:16px;
  }
}

.shiny-btn-red:hover {
  text-decoration: none;
  color: #fff;
  opacity: 0.7;
}
.shiny-btn-red::before {
  position: absolute;
  content: '';
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  animation: shiny-btn-red 3s ease-in-out infinite;
}

@keyframes shiny-btn-red {
  0% { transform: scale(0) rotate(45deg); opacity: 0; }
  80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { transform: scale(4) rotate(45deg); opacity: 1; }
  100% { transform: scale(50) rotate(45deg); opacity: 0; }
}


.shiny-btn-green {
  display: block;
  position: relative;
  width:250px; /*ボタンの幅*/
  padding: 10px 0 !important;
  margin: 20px 10px 20px 10px;
  background-color: #00B900;/*ボタンの色*/
  box-shadow: 0 3px 0 0 rgb(143, 180, 143);/*影の色(rgbaの値を変更)*/
  border-radius: 5px;
  font-weight: bold;
  font-size: 18px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .shiny-btn-green {
    width:220px; /*ボタンの幅*/
    margin:15px auto;
    font-size:16px;
  }
}

.shiny-btn-green:hover {
  text-decoration: none;
  color: #fff;
  opacity: 0.7;
}
.shiny-btn-green::before {
  position: absolute;
  content: '';
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  animation: shiny-btn-green 3s ease-in-out infinite;
}
@keyframes shiny-btn-green {
  0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
  80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
  100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

/*ありよしさんが見積もりページで制御をかけている*/
a.estimate-btn {
  display: block;
  width:220px;
  color: #fff;
  background: #3ab2e9;
  padding:15px;
  text-align: center;
  font-size:19px;
  font-weight:bold;
  box-sizing:border-box;
}
@media screen and (max-width: 768px) {
a.estimate-btn{
  font-size:15px;
  width:180px;
}
}

a.estimate-btn:hover{
  background: #5ac2f1;
}
/*ここまで*/

a.estimate-btn2 {
  display: block;
  width:220px;
  color: #fff;
  background: #3ab2e9;
  padding:15px;
  text-align: center;
  font-size:19px;
  font-weight:bold;
  box-sizing:border-box;
}
@media screen and (max-width: 768px) {
a.estimate-btn2{
  font-size:15px;
  width:160px;
  padding:5px;
}
}

a.estimate-btn2:hover{
  background: #5ac2f1;
}

/*インラインブロック要素*/
a.estimate-btn3 {
  display: inline-block;
  color: #fff;
  background: #3ab2e9;
  padding:15px;
  text-align: center;
  font-size:19px;
  font-weight:bold;
  box-sizing:border-box;
  margin:10px;
}
@media screen and (max-width: 768px) {
a.estimate-btn3{
  font-size:15px;
  padding:10px;
}
}

a.estimate-btn3:hover{
  background: #5ac2f1;
}

/*インラインブロック要素*/
a.estimate-line {
  display: inline-block;
  color: #fff;
  background: #00B900;
  padding:15px;
  text-align: center;
  font-size:19px;
  font-weight:bold;
  box-sizing:border-box;
  margin:10px;
}
@media screen and (max-width: 768px) {
a.estimate-line{
  font-size:15px;
  padding:10px;
}
}

a.estimate-line:hover{
  background: #3dd53d;
}


a.application-btn {
  display: block;
  width:220px;
  color: #fff;
  background: #f04343;
  padding:15px;
  text-align: center;
  font-size:19px;
  font-weight:bold;
  box-sizing:border-box;
}

@media screen and (max-width: 768px) {
  a.application-btn{
    font-size:15px;
    width:160px;
    padding:5px;
  }
  }

a.application-btn:hover{
  background: #f56f6f;
}

a.application-btn-junior {
  display: block;
  width:330px;
  color: #fff;
  background: #f04343;
  padding:15px;
  text-align: center;
  font-size:19px;
  font-weight:bold;
  box-sizing:border-box;
}

@media screen and (max-width: 768px) {
  a.application-btn-junior{
    font-size:15px;
    width:160px;
    padding:5px;
  }
  }

a.application-btn-junior:hover{
  background: #f56f6f;
}



a.line-btn {
  display: block;
  width:220px;
  color: #fff;
  background: #00B900;
  padding:18px 15px 18px 15px;
  text-align: center;
  font-size:19px;
  font-weight:bold;
  box-sizing:border-box;
}

@media screen and (max-width: 768px) {
  a.line-btn{
    font-size:15px;
    width:160px;
    padding:8px 5px 10px 5px;
  }
  }

a.line-btn:hover{
  background: #10cc10;
}

a.inquery-btn1 {
  display: block;
  width:220px;
  color: #fff;
  background: #000;
  padding:15px;
  text-align: center;
  font-size:19px;
  font-weight:bold;
  box-sizing:border-box;
}
@media screen and (max-width: 768px) {
  a.inquery-btn1{
  font-size:15px;
  width:160px;
  padding:5px;
}
}

a.inquery-btn1:hover{
  background: #505050;
}

a.inquery-btn2 {
  display: block;
  width:220px;
  color: #fff;
  background: #00B900;
  padding:15px;
  text-align: center;
  font-size:19px;
  font-weight:bold;
  box-sizing:border-box;
}
@media screen and (max-width: 768px) {
  a.inquery-btn2 {
  font-size:15px;
  width:180px;
}
}

a.inquery-btn2:hover{
  background: #29b929;
}

/*申し込みエリアここまで*/

.txt-org_b{
  color:#FF5722;
  font-weight: bold;
  margin-left: 20px;
  font-size:18px;
}

@media screen and (max-width: 768px) {
  .txt-org_b{
  font-size:17px;
  margin-left: 0px;
}
}

.txt-blue_b{
  color:#498ee0;
  font-weight: bold;
  margin-left: 20px;
  font-size:18px;
}

@media screen and (max-width: 768px) {
  .txt-blue_b{
  font-size:17px;
  margin-left: 0px;
}
}


/*ステップフローのCSS*/
ul.stepflow {
	border: none;
	margin: 1em 0.5em;
	padding: 0;
	list-style: none;
}
ul.stepflow > li:before, ol.stepflow > li:before {
	background-color:#cccccc!important;
  margin-left:10px;
}
.stepflow li {
    position: relative;
    padding: 0 0 1.5em 30px;
}
.stepflow>li:before {
	content: "";
	width: 3px;
	background: #cccccc;
	display: block;
	position: absolute;
	top: 28px;
	bottom: 0;
	left: 5px;
}
.stepflow-white {
	content: '';
	display: inline-block;
	position: absolute;
	top: 5px;
	left: 7px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	border: solid 3px #232F3E;
}
.stepflow-black {
	content: '';
	display: inline-block;
	position: absolute;
	top: 5px;
	left: 0;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	border: solid 3px #232F3E;
	background-color: #232F3E;
}
.stepflow_label {
	padding: 3px 0px 8px 10px;
	margin-bottom:8px;
	color:#498ee0;
	font-size: 23px;
	font-weight: bold;
}
.stepflow_title {
	font-size:20px;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom:15px;
}
.stepflow_content {
	font-size: 18px;
	line-height: 1.5;
	margin-top: .5em;
	padding: 0 0 1.5em;
	border-bottom: dashed 1px #cccccc;
}

.stepflow_content p{
  width:90%;
}


/*ステップフローのCSSここまで*/

.simple-head-box{
  width:100%;
  display: flex;
  justify-content: center; /*左右中央揃え*/
  align-items: center;     /*上下中央揃え*/
  height:100%;
}

.simple-head-box-child1{
  width:100%;
}

.simple-head-box p{
  color:#fff;
  margin:0 auto;
  width:80%;
font-size:20px;
  font-weight:500;
}

@media screen and (max-width: 768px) {
  .simple-head-box p{
    font-size:18px;
  }
}

.review-answer-box{
  width:85%;
  padding:15px;
  margin:20px auto;
  background-color: rgb(247, 247, 247);
}

.review-wrap{
  width:88%;
  margin:0 auto;
}

img.frame{
  border:1px solid #666;
}

.anchor {
  display: block;
  padding-top: 120px;
  margin-top: -120px;
  z-index:-10;
}

.tete{
  background-color: #f7f7f7;
}

.left_line-headline{
  font-size:22px;
  padding: 0.25em 0.5em;/*上下 左右の余白*/
  margin:15px 10px;
  color: #0f0f0f;/*文字色*/
  background: transparent;/*背景透明に*/
  border-left: solid 5px #498ee0;/*左線*/
  font-weight:bold;
}

@media screen and (max-width: 768px) {
  .school-headline{
  font-size:19px;
  }
}

.simple-headline{
  font-size:22px;
  padding: 0.25em 0;/*上下 左右の余白*/
  margin:15px 0;
  color: #0f0f0f;/*文字色*/
  background: transparent;/*背景透明に*/
  font-weight:bold;
}

.left_line-headline2{
  font-size:22px;
  padding: 0.25em 0.5em;/*上下 左右の余白*/
  margin:15px 0;
  color: #0f0f0f;/*文字色*/
  background: transparent;/*背景透明に*/
  border-left: solid 5px #498ee0;/*左線*/
  font-weight:bold;
}

@media screen and (max-width: 768px) {
  .school-headlin2{
  font-size:18px;
  }
}

/* 会社概要 */
.timeline {
  list-style: none;
}
.timeline > li {
  margin-bottom: 0px;
}

/* for Desktop */
@media ( min-width : 640px ){
  .timeline > li {
    overflow: hidden;
    margin-bottom: 50px;
    position: relative;
  }

  .timeline-date {
    width: 180px !important;
    float: left;
    margin-top: 20px;
  }

  .timeline-content {
    width: 70%;
    float: left;
    border-left: 3px #e5e5d1 solid;
    padding-left: 30px;
  }

  .timeline-content p{
    width:90%;
  }

  .timeline-content:before {
    content: '';
    width: 12px;
    height: 12px;
    background: #498ee0;
    position: absolute;
    left: 195px;
    top: 18px;
    border-radius: 100%;
  }
}

.timeline-title{
  margin-top:9px;
  font-size:20px;
  font-weight: bold;
}


.imgtitle-summary{
  position: relative;
  display: flex;
  width:60%;
  height:450px;
  align-items: center;
  margin:0 auto;
  flex-wrap: wrap;
  text-shadow: rgb(0, 0, 0) 1px 1px 1px;
  z-index: 100;
}

@media screen and (max-width: 768px) {
  .imgtitle-summary{
    height:400px;
    width:80%;
  }
}


.imgtitle-summary p{
  text-align: center;
  font-size:19px;
  color:#fff;

}

.imgtitle-summary-child{
  width:100%;
}

.imgtitle-summary-child2{
  width:100%;
  text-align: center;
}


.imgtitle-summary_area{
  position: relative;
  display: flex;
  width:90%;
  height:auto;
  align-items: center;
  margin:0 auto;
  flex-wrap: wrap;
  text-shadow: rgb(0, 0, 0) 1px 1px 1px;
  z-index: 100;
}

@media screen and (max-width: 768px) {
  .imgtitle-summary_area{
    height:auto;
    width:100%;
  }
}

.simple_list ul{
  list-style: disc;
}

.simple_ol{
  list-style-position: inside;
}
.simple_ol li{
  margin-left:25px;
}
.simple_ol p{
  width:100%;
}

/*olの直下のセレクタ番号だけ太字*/
.simple_ol > li::marker {
  font-size:20px;
  font-weight: bold;
}

.simple_list2{
  margin:20px auto;
  padding:15px;
}

.simple_list2 ul{
  padding-left:20px;
}
.simple_list2 li{
  list-style: disc;
  margin-left:25px;
}

.simple_dl dt{
  font-weight: bold;
  font-size:19px;

}

.simple_dl dd{
  padding:10px;
}

.simple_box_wte{
  background-color: #fff;
  padding:15px;
}

.simple_box_wte td{
  padding:5px;
}

.simple_box90{
  padding:10px;
  width:90%;
  margin:0 auto;
}

.simple_box90_gry{
  padding:15px;
  width:90%;
  margin:20px auto;
  background-color: #f4f4f4;
}

.simple_box90_gry3{
  padding:15px;
  width:90%;
  margin:20px auto;
  background-color: #f8f8f8;
}

.simple_box80_gry2{
  padding:10px;
  width:80%;
  margin:50px auto;
  background-color: #f8f8f8;
}

.simple_box80_gry2 p{
  width:90%;
}

.simple_box80{
  padding:10px;
  width:80%;
  margin:0 auto;
}

.simple_box80_gry{
  padding:10px;
  width:80%;
  margin:0 auto;
  background-color: #ececec;
}

.simple_box50{
  padding:10px;
  width:50%;
  margin:0 auto;
}

@media screen and (max-width: 768px) {
  .simple_box50{
    width:100%;
  }
}

.left_box{
  width:100%;
  text-align: right;
}

.simple_box01 {
  width:100%;
  padding: 20px;
  margin: 20px auto;
  color: #2c2c2f;
  background: #f0f7ff;/*背景色*/
}
.simple_box01 p {
  width:100%;
  margin: 0; 
  padding: 0;
}

@media screen and (max-width:768px) {
  .simple_box01 {
    width:95%;
  }
}

.simple_box02 {
  width:90%;
  padding: 20px;
  margin: 20px auto;
  color: #2c2c2f;
  background: #f3f3f3;/*背景色*/
}

@media screen and (max-width:768px) {
  .simple_box02 {
    width:95%;
    padding:10px;
  }
}

.simple_box03 {
  width:90%;
  padding: 20px;
  font-size:17px;
  margin: 30px auto;
  color: #2c2c2f;
  background: #f5f9ff;/*背景色*/
}

@media screen and (max-width:768px) {
  .simple_box03 {
    width:90%;
    font-size:15px;
    padding:10px;
  }
}

.simple_summary{
  display: block;
  margin:20px;
  cursor: pointer;
  line-height:2;
}

.white_box{
  color:#fff;
  border:2px solid #fff;
  background-color: rgba(0,0,0,0.2);
  padding:20px;
  text-align:center;
  font-size:20px;
  margin:0 auto;
  width:80%;

}

.summary_box{
  width:100%;
  margin:30px auto;
}

.summary_box p{
  padding:10px 0 10px 0;
}

.summary_box2{
  width:100%;
  margin:00px auto;
}

/*ページトップに戻るボタンhttps://recooord.org/scroll-to-top/*/

.fixed_button {
  position: fixed;
  right: 0;
  bottom: 0;
  width: 50px;
  height: 50px;
  color: #fff;
  background: #498ee0;
  padding: 10px 10px 0 10px;
  cursor: pointer;
  text-align: center;
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  
  /* デフォルトは非表示 */
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px); /* 下からフワッと */
  z-index: 999; /* 他要素の下に隠れないように */
}

/* ボタンが有効時 */
.fixed_button.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* スマホ（768px以下）は非表示 */
@media screen and (max-width: 768px) {
  .fixed_button {
    display: none;
  }
}

/*ここまで*/

.toc_box{
width:60%;
border:solid 1px #999;
padding:20px;
margin-bottom:30px;
}

@media screen and (max-width:768px) {
  .toc_box{
  width:90%;
}
}

.top_img_box{
margin-top:100px;
position:relative;
background-attachment: fixed;
width:100%;
max-width: 100%;
height:auto;
background-repeat: no-repeat;
background-position: center;
background-size: cover;
background-blend-mode:darken;
}

@media screen and (max-width:768px) {
.top_img_box{
  margin-top:70px;
  background-position:top;
  background-size:400%;
}
}


.top_img_box600{
  margin-top:100px;
  position:relative;
  background-attachment: fixed;
  width:100%;
  height:450px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-blend-mode:darken;
  }

  @media screen and (max-width:768px) {
    .top_img_box600{
      margin-top:70px;
      height:600px;
    }
  }

  @media screen and (max-width:768px) {
.staff_img{
  background-position:top 0 left -400px;
  background-size: 1000px;
  max-width:100%; 
}
}

.mybox{
  width:90%;
  margin:20 auto;
	background-color: #fffbf5;/* 背景色 */
	border: 1px solid #ccc; /* 線の太さ・種類・色 */
	box-shadow:1px 1px 6px 0px #ccc;
	-moz-box-shadow:1px 1px 6px 0px #ccc;
	-webkit-box-shadow:1px 1px 6px 0px #ccc;
	-o-box-shadow:1px 1px 6px 0px #ccc;
	padding: 30px 20px 20px 20px; /* 内側の余白 上・右・下・左 */
	position: relative;
	z-index: 0;
}
.mybox:after{
	background-color: #d9ccb3; /* マステ部分の色1 */
	background-image: linear-gradient(45deg, #dfd4be 25%, transparent 25%, transparent 75%, #dfd4be 75%, #dfd4be), linear-gradient(45deg, #dfd4be 25%, transparent 25%, transparent 75%, #dfd4be 75%, #dfd4be); /* マステ部分の色2 */
	background-position: 0 0, 12px 12px;
	background-size: 24px 24px;
	border-left: 2px dotted rgba(255,255,255,0.9);
	border-right: 2px dotted rgba(255,255,255,0.9);
	box-shadow: 0 0 5px rgba(255,255,255,0.5);
	content: '見どころ';
	display: block;
	margin: 0 0 10px 0;
	padding: 5px 20px;
	color: #000;  /* マステ部分文字色 */
  font-weight:bold;
	text-align: center;
	position: absolute;
	top: -10px;
	left: 20px;
	transform: rotate(-3deg);
	-moz-transform: rotate(-3deg);
	-webkit-transform: rotate(-3deg);
	-o-transform: rotate(-3deg);
}

.mybox2{
  width:90%;
  margin:20 auto;
	background-color: #fffbf5;/* 背景色 */
	border: 1px solid #ccc; /* 線の太さ・種類・色 */
	box-shadow:1px 1px 6px 0px #ccc;
	-moz-box-shadow:1px 1px 6px 0px #ccc;
	-webkit-box-shadow:1px 1px 6px 0px #ccc;
	-o-box-shadow:1px 1px 6px 0px #ccc;
	padding: 30px 20px 20px 20px; /* 内側の余白 上・右・下・左 */
	position: relative;
	z-index: 0;
}
.mybox2:after{
	background-color: #d9ccb3; /* マステ部分の色1 */
	background-image: linear-gradient(45deg, #dfd4be 25%, transparent 25%, transparent 75%, #dfd4be 75%, #dfd4be), linear-gradient(45deg, #dfd4be 25%, transparent 25%, transparent 75%, #dfd4be 75%, #dfd4be); /* マステ部分の色2 */
	background-position: 0 0, 12px 12px;
	background-size: 24px 24px;
	border-left: 2px dotted rgba(255,255,255,0.9);
	border-right: 2px dotted rgba(255,255,255,0.9);
	box-shadow: 0 0 5px rgba(255,255,255,0.5);
	content: 'ワンポイントアドバイス';
	display: block;
	margin: 0 0 10px 0;
	padding: 5px 20px;
	color: #000;  /* マステ部分文字色 */
  font-weight:bold;
	text-align: center;
	position: absolute;
	top: -10px;
	left: 20px;
	transform: rotate(-3deg);
	-moz-transform: rotate(-3deg);
	-webkit-transform: rotate(-3deg);
	-o-transform: rotate(-3deg);
}

.dott_image::after {
	content: '';
  position: absolute;
	display: block;
	top: 0;
	right: 0;
	width: 100%;
  height:450px;
	background-color: rgba(0,0,0,0.3);
  background-image: radial-gradient(#111 10%, transparent 20%), radial-gradient(#111 10%, transparent 20%);
	background-size: 4px 4px;
	background-position: 0 0, 10px 10px;
  /*
	background-image: radial-gradient(#111 30%, transparent 31%), radial-gradient(#111 30%, transparent 31%);
	background-size: 4px 4px;
	background-position: 0 0, 2px 2px;
  */
  z-index: 1;
}

@media screen and (max-width:768px) {
  .dott_image::after {
    height:400px;
  }
}

.dott_image600::after {
	content: '';
  position: absolute;
	display: block;
	top: 0;
	right: 0;
	width: 100%;
  height:450px;
	background-color: rgba(0,0,0,0.3);
  background-image: radial-gradient(#111 10%, transparent 20%), radial-gradient(#111 10%, transparent 20%);
	background-size: 4px 4px;
	background-position: 0 0, 10px 10px;
  /*
	background-image: radial-gradient(#111 30%, transparent 31%), radial-gradient(#111 30%, transparent 31%);
	background-size: 4px 4px;
	background-position: 0 0, 2px 2px;
  */
  z-index: 1;
}

@media screen and (max-width:768px) {
  .dott_image600::after {
    height:600px;
  }
}

.dott_image_area::after {
	content: '';
  position: absolute;
	display: block;
	top: 0;
  bottom:0;
	width: 100%;
	background-color: rgba(0,0,0,0.3);
  background-image: radial-gradient(#111 10%, transparent 20%), radial-gradient(#111 10%, transparent 20%);
	background-size: 4px 4px;
	background-position: 0 0, 10px 10px;
  /*
	background-image: radial-gradient(#111 30%, transparent 31%), radial-gradient(#111 30%, transparent 31%);
	background-size: 4px 4px;
	background-position: 0 0, 2px 2px;
  */
  z-index: 1;
}

@media screen and (max-width:768px) {
  .dott_image_area::after {
    height:auto;
    bottom:0;
  }
}

.category_title{
  width:85%;
  margin:0 auto;
}

.category_title p{
  margin:20px auto;
}

/* おすすめの理由*/

.reason_box_wrap{
  width:100%;
  display: flex;
  flex-wrap: wrap;
  margin:40px auto 60px;
}

.reason_box1{
  width:45%;
  display: flex;
  align-self:flex-start;
}

@media screen and (max-width:768px) {
  .reason_box1{
    width:100%;
  }
}

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

.reason_box2{
  display: flex;
  flex-wrap:wrap;
  align-self:flex-start;
  padding:0px 0px 20px 20px;
  width:51%;
}

@media screen and (max-width:768px) {
  .reason_box2{
    width:100%;
    margin-top:20px;
    align-items: center;
    padding:0;
  }
}

.reason_box1-2{
  width:40%;
  display: flex;
  align-self:flex-start;
}

@media screen and (max-width:768px) {
  .reason_box1-2{
    width:100%;
  }
}

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

.reason_box2-2{
  display: flex;
  flex-wrap:wrap;
  align-self:flex-start;
  padding:0px 0px 20px 20px;
  width:55%;
}

.reason_box2-2 p{
  width:100% !important;
}

@media screen and (max-width:768px) {
  .reason_box2-2{
    width:100%;
    margin-top:20px;
    align-items: center;
    padding:0;
  }
}

/*数字箇所*/
.reason_title{
  width:100%;
  display: flex;
  align-items: center;
}

/*数字箇所*/
.reason_title2{
  width:100%;
  display: flex;
  align-items: center;
  font-size:21px;
  font-weight:bold;
}

/*モニター募集内容*/
.monitor_box{
  display:flex;
  width:100%;
  justify-content: center;
  flex-wrap: wrap;
}

.monitor_box_child1{
  position: relative;
  text-align:center;
  width:30%;

}

.staff_wrap{
  position:relative;
  width:100%;
  height:auto;
  text-align: center;
}

.staff_wrap img{
  width:100%;

}

.staff_cap1{
  position:absolute;
bottom:24%;
  left:10px
}



.staff_cap2{
  position:absolute;
 bottom:5%;
  left:10px
}

/*画像回り込み*/
.wraparound{

}

.wraparound img{
  padding:20px;
  width:50%;
  float:left;

}


.btn_staff1{
  background-color: #fff;
  font-weight:bold;
  font-size:13px;
  padding:2px 5px 2px 5px;
  border-radius: 2px;
}

.btn_staff2{
  background-color: #fff;
  font-weight:bold;
  padding:3px 5px 3px 5px;
  border-radius: 2px;
  font-size:15px;
}

@media screen and (max-width:768px) {
  .monitor_box_child1{
    width:100%;
    margin:10px;
  }
}

.monitor_box_child2{
  width:60%;
  display:flex;
  flex-wrap: wrap;
  margin:0 10px;
}

@media screen and (max-width:768px) {
  .monitor_box_child2{
    width:100%;
    margin:10px;
  }
}

.monitor_child_box{
  width:100%;
  display:flex;
  border-bottom: 1px dashed #666;
}

.monitor_box_child2_title{
  width:90%;
}

.monitor_box_child2_cts{
  margin:5px 10px ;
}

.monitor_detail_box{
  width:100%;
  padding:20px;
}

.btn{
  /*共通のcss*/
  border-radius: 5px;
  text-align: center;
  border:2px #000 solid;
  margin:0 50px;
  width: 200px;
  margin: 0 auto;

}

.blue{
  color:blue;
  margin-bottom: 10px; 
}

.red{
  color:red;
  letter-spacing: ;
}

.count-size{
  display: inline-block;
  margin-left:10px;
  font-size:25px;
  font-weight: bold;
  color: #498ee0;
}

.climate{
  display: flex;
  background-color: rgb(241, 241, 241);
}

.climate p{
  width:40%;
}

@media screen and (min-width: 769px) {
  .chart_container {
    width: 800px;
    height:550px;
    margin: auto;
  }
}

@media screen and (max-width:768px) {
  .chart_container {
    width: 380px;
    height:250px;
    margin: auto;
  }
}

/*TOPの画像*/

#top_slider {
  width: 100%;
  height: 100vh;/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}

.slide_wrapper{
  position: relative;
}

.slider_title{
  position: absolute;
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
  z-index: 2;
  top: 55%;
  left: 25%;
  transform: translate(-50%, -50%);
  color:#fff;
  padding:20px;
  text-align:center;
  font-size:35px;
  text-align:left;
}

@media screen and (max-width:768px) {
  .slider_title{
    font-size:20px;
    width:300px;
    top:60%;
    left:45%;
  }
}


  /*アコーディオン*/
  .nav-open{
    padding: 8px;
    color: #fff;
    font-size: 20px;
    font-weight:bold;
    background: #498ee0;
    width:65%;
    margin:0 0 0 auto;
    position: relative;
  }
  .nav-open::before{/* 閉じている時 */
    content: "＋";
    position: absolute;
    right: 20px;
  }
  .nav-open.active::before{/* 開いている時 */
    content: "－";
  }

  @media screen and (max-width:768px) {
    .nav-open{
      margin:25px auto;
    }
  }

  .price_accordion {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}


  .family_box{
    width:90%;
    margin:10px auto;
    display: flex;
    flex-wrap: wrap;
  }

  @media screen and (max-width:768px) {
    .family_box{
      width:100%;
    }
  }

  .family_box img{
    width:80%;
    max-width:100%;
  }

  .family_main_img{
    width:100%;
    text-align: center;
    margin:10px;
  }

  .family_icn_box{
    width:95%;
    display: flex;
    flex-wrap: wrap;
    margin:0 auto;
  }

  .family_box_icn{
    width:24%;
    margin:3px;
  }

  @media screen and (max-width:768px) {
    .family_box_icn{
      width:31%;
    }
  }

  .family_box_icn img{
    width:100%;
  }

  .simple_center_box{
    width:90%;
    display: flex;
    margin:30px auto;
  }

  @media screen and (max-width:768px) {
    .simple_center_box{
      text-align: center;
      margin:0;
    }
}

.double_btn_box{
width:90%;
display: flex;
justify-content: center;
margin:30px auto;
}
@media screen and (max-width:768px) {
.double_btn_box{
flex-wrap: wrap;
justify-content: flex-start;
text-align: center;
margin:0;
}
}

  .simple_center_box2{
    text-align: center;
    width:90%;
    margin:30px auto;
  }

  /*関連記事*/
  .relative_wrap{
    width:100%;
    display: flex;
    flex-wrap: wrap;
  }

  .relative_box{
    width:100%;
    display: flex;
    border: 1px solid rgb(179, 179, 179);
    margin-bottom:15px;
    background: #f8f8f8;
  }
  @media screen and (max-width:768px) {
    .relative_box{
      flex-wrap: wrap;
    }
  }

  .relative_box h2{
    width:100%;
    font-weight:bold;
    font-size:18px;
    padding:0 15px 0 15px;
  }

  
  .relative_box h4{
    width:100%;
    font-weight:bold;
    font-size:18px;
    padding:0 15px 0 15px;
  }

  .relative_cts1{
    width:30%;
    padding:15px;
  }

  @media screen and (max-width:768px) {
    .relative_cts1{
      width:100%;
      padding-bottom:0;
    }
  }

  .relative_cts2{
    width:70%;
    padding:15px;
    margin:15px 15px 15px 0;
  }

  @media screen and (max-width:768px) {
    .relative_cts2{
      width:100%;
      margin:15px;
    }
  }

.thumb_box{
  width:100%;
  display:flex;
  flex-wrap: wrap;
  border: 1px solid rgb(179, 179, 179);
  margin-bottom: 20px;
}

.thumb_box h2{
  font-size:20px;
  font-weight: bold;
  text-align: center;
}

.thumb_box p{
  width:95%;
}

.thumb_box ul{
  padding-left: 15px;
  margin-top:10px;
}

.thumb_cts1{
  width:30%;
  margin:15px 0 15px 15px;
  padding:0px 15px 0px 0px;
}

@media screen and (max-width:768px) {
  .thumb_cts1{
    width:100%;
  }
}
.thumb_cts2{
  width:65%;
  margin:15px 0;
  background-color: rgb(248, 248, 248);
}

@media screen and (max-width:768px) {
  .thumb_cts2{
    width:100%;
  }
}

.clearfix_junior_icn{
  padding:0 0 0 10px;
}

.clearfix_junior_icn::after {
  content: "";
  display: block;
  clear: both;
}

/*続きを読む*/

.readmore{
  position: relative;
  box-sizing: border-box;
  /*以下お好み*/
  /* ボーダーを付ける場合 */

}

.readmore-content{
  position: relative;
  overflow: hidden;
  /*以下お好み*/
  /*高さの初期値*/
  height: 200px;
}
.readmore-content::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  content: "";
  /*以下お好み グラデーションの色と高さ 高さはreadmoreのheight以下にすること*/
  height: 50px;
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, rgba(255,255,255,0.8) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, rgba(255,255,255,0.8) 50%, #fff 100%);
}

/* 続きを読むボタン */
.readmore-label{
  display: table;
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  margin: 0 auto;
  z-index: 2;
  padding: 3px 10px;
  /* background-color: #498ee0; */
  background-color:#000;
  border-radius: 2px;
  color: #FFF;
  cursor: pointer;
}
.readmore-label:before{
  content: '続きを読む';
}

.readmore-check{
  display: none;
}
/*チェック時にボタンを非表示*/
.readmore-check:checked ~ .readmore-label{
  position: static;
  margin-bottom:15px;
  transform: translateX(0);
  -webkit-transform: translateX(0);
  /* 「続きを読む」を押した後、元に戻す必要がない場合は、上のオプションを消してこの1行だけにする */
  /* display: none; */
}
.readmore-check:checked ~ .readmore-label:before{
  content: '閉じる';
}

/*チェック時に高さを自動に戻す*/
.readmore-check:checked ~ .readmore-content{
  height: auto;

}
/*チェック時グラデーション等を削除*/
.readmore-check:checked ~ .readmore-content::before {
  display: none;
}


/*ランキングの箱*/
.itemList{
  width: 92%;
  margin:50px auto;
  display: flex;
  flex-wrap: wrap;
  align-items:flex-start;
}

@media screen and (max-width: 768px) {
  .itemList{
      margin:20px auto;
      justify-content:center;
  }
}


/*slick*/

/* Slick カルーセル全体 */
.slick-slide {
  padding-bottom: 0;
  overflow: hidden; /* はみ出し防止 */
  box-sizing: border-box;
}

/* Slick ナビゲーションのドット */
.slick-dots {
  margin-top: 20px !important;
}

/* スライダーラッパー全体 */
.slick01 {
  margin-top: 30px;
  font-family: "Helvetica Neue", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif !important;
}

/* スライド内の画像 */
.slick-slide img {
  width: 100%;
  position: relative;
}

@media screen and (max-width: 768px) {
  .slick-slide img {
    width: 90%;
    margin: 20px auto;
  }
}

/* キャプション用共通スタイル */
.caption {
  display: block;
  width: 100%;
  position: absolute;
  bottom: 0;
  color: #fff;
  font-size: 16px;
  background-color: rgba(0, 0, 0, 0.4);
  line-height: 30px;
  z-index: 9999;
}

/* リストマークを非表示 */
.slick-slide li {
  list-style-type: none;
}

/* スライドのコンテンツボックス */
.slick_box {
  position: relative;
  width: 100%;
  background-color: #fff;
  box-shadow: 0px 1px 22px -5px #828282;
  margin: 0 5px 20px 15px;
  padding: 10px;
  box-sizing: border-box;
  overflow: hidden;        /* はみ出し防止 */
  height: auto !important; /* 固定高さは解除 */
}

@media screen and (max-width: 768px) {
  .slick_box {
    margin-left: 5px;
  }
}

/* テキスト部（<p>） */
.slick_box p,
.slide-text {
  text-align: center;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  max-width: 100%;
  padding: 0 10px;
  box-sizing: border-box;
}

/* 下線スタイル */
.underline {
  border-bottom: dotted 3px #000;
}

/* スライド内リスト項目の左右余白 */
.slick_list li {
  padding: 0 10px;
}



.icn_slider{
  display: inline-block;
  vertical-align: middle;
  text-align:center;
  line-height:1.45;
  border-radius:100px;
  background:#82b81d;
  font-family:"FOT-筑紫ゴシック Pro B",TsukuGoPro-B,sans-serif;
  color:#fff;
  padding:0 8px ;
  padding-top:1px;
  margin:10px 10px;
  border:2px solid;
  font-size:11px;
  }

.cover_cts_01{
width:100%;
padding:50px 0;
background-color: #edf0f5;
}

.cover_cts_01 img{
  width:100%;
  max-width: 100%;
}

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

.headline_box{
    height:80px;
    margin-top:10px;
    text-align: center;
}

@media screen and (max-width: 768px) {
  .headline_box{
    height:50px;
  }
}

.slick_box_wrap{
  width:100%;
  max-width: 100%;
  margin:30px auto 170px;
  height:250px;
}


summary {
  list-style: none;
  position: relative;
  padding: 20px 70px 20px 30px;
  cursor: pointer;
  background-color: rgb(247, 247, 247);
}

@media not all and (min-width: 768px){
  summary {
    padding: 20px 50px 20px 20px;
  }
}

summary::-webkit-details-marker {
  display: none;
}

summary:hover,
details[open] summary {
  background-color: #f3f3f3;
}


summary::after {
  content: '+';
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  transition: transform 0.5s;
  font-size: 30px;
}

details[open] summary::after {
  transform: translateY(-50%) rotate(45deg);
}

.answer {
  padding: 20px 30px;
}

@media not all and (min-width: 768px){
  summary::after {
    right: 20px;
    font-size: 20px;
  }

  .answer {
    padding: 10px 20px;
  }
}

details[open] .answer {
  animation: fadein 0.5s ease;
  
}

@keyframes fadein {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

body, p {
  margin: 0;
}

details {
  margin-bottom: 10px;
  margin-right: auto;
  margin-left: auto;
}

@media not all and (min-width: 640px){
  details {
    width: 100%;
  }
}

details:first-of-type {
  margin-top: 30px;
}

.post_box{
  padding:35px;
  width:90%;
  margin:20px auto;
  background-color: #f3f3f3;
}
@media screen and (max-width: 768px) {
  .post_box{
    padding:15px;
  }
}

.post_info_title{
  display: inline-block;
  background-color: #000;
  color:#fff;
  font-weight: bold;
  padding:5px 10px;
}

/* ===== フェード機能 一時停止 2026.2.16(js廃止で表示がバグっていた)===== */
.effect-fade{
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
.effect-fade.effect-scroll{
  opacity: 1 !important;
  transform: none !important;
}

  /*旧ページのスマホのハンバーガーの個所*/

  @media not all and (min-width: 768px){
    .ac_menu{
      display: none;
    }
  }
  @media not all and (min-width: 768px){
  .fix_menu_smartphone2{
    display:none !important;
  }
  }
  
  .fix_menu_smartphone2{
    display: none !important;
  }

.blk_text{
 width:auto;
  color:#FFF;
  font-weight:bold;
  text-align:center;
  margin:3px 0px 0px 3px;
   box-shadow:5px 5px 3px #aedaf2;
   -moz-box-shadow:5px 5px 3px #aedaf2;
   -webkit-box-shadow:5px 5px 3px #aedaf2;
  padding:3px 7px 3px 7px;
}


@media screen and (max-width: 768px) {
.blk_text{
 width:auto;
  font-size:15px;
  color:#FFF;
  font-weight:bold;
  text-align:center;
  margin:3px 0px 0px 3px;
   box-shadow:5px 5px 3px #aedaf2;
   -moz-box-shadow:5px 5px 3px #aedaf2;
   -webkit-box-shadow:5px 5px 3px #aedaf2;
  padding:3px 7px 3px 7px;
}
}

/*パンくず*/
.breadcrumb__list{
  display:flex;
  font-size:14px;
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .breadcrumb__list{
    font-size:12px;
    width:90%;
    overflow-x: auto;  /* 横スクロールの指定 */
    white-space: nowrap;  /* 横スクロールの指定 */
    -webkit-overflow-scrolling: touch;  /* スクロールを滑らかにする */
  }
}
.breadcrumb__item{
  position: relative;
  padding-left: 15px;
}

.breadcrumb__item::after {
  position:absolute;
  top:7;
  content:url(../img/bread-arrow.svg);
  padding: 0 5px;
}
@media screen and (max-width: 768px) {
  .breadcrumb__item::after {
    top:5;
  }
}
.breadcrumb__item:last-child::after {
  content: '';
}

/*ここまで*/

/*目的ページ*/
.wrap_purpose{
  display:flex;
  flex-wrap: wrap;
  width:100%;
}

.purpose_box{
  display:flex;
  flex-wrap: wrap;
  width:320px;
  margin:10px;
}

.purpose_box img{
  width:320px;
  height:216px;
}

.purpose_box h2{
  text-align: center;
  font-weight: bold;
  font-size:19px;
  margin-bottom:5px;
}

.purpose_box h3{
  text-align: center;
  font-weight: bold;
  font-size:19px;
  margin-bottom:5px;
}

.purpose_box h4{
  text-align: center;
  font-weight: bold;
  font-size:19px;
  margin-bottom:5px;
}

/* この記事書いた人 吹き出し */
.wp-label {
  position: relative;
  margin: 20px;
  padding: 10px 15px;
  border: 1px solid #222;
  display:block;
  min-width: 120px;
  max-width: 100%;
  border-radius: 20px;
}
/* 三角 */
.wp-label::before,
.wp-label::after {
  content: '';
  border: 14px solid transparent;
  position: absolute;
  left: 50%;
  margin-left: -14px;
}
/* 線 */
.wp-label::before {
  border-top-color: #222;
  bottom: -28px;
}
/* 地 */
.wp-label::after {
  border-top-color: #fff;
  bottom: -27px;
}
/* 吹き出し内のテキスト */
.wp-label p {
  color: #222;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

/* 画像 */
.wp-img {
  width: 100px;
  height: 100px;
  margin: 10px auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
/* 画像を丸く、枠線をつける */
.wp-img img {
  border-radius: 50%;
  border: 2px solid #eee;
}
/* 名前 */
.wp-name {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  color: #6C9FCE;
  margin-bottom: 5px;
}
/* 職業 */
.wp-job {
  color: #7b7b7b;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

.align-center{
  text-align: center;
}

.margin_updown20{
  margin:20px auto;
}

.margin_top20{
  margin-top:20px;
}

.margin_top30{
  margin-top:30px;
}

.margin_top40{
  margin-top:40px;
}



.margin_updown30{
  margin:30px auto;
}

.margin_left10{
  margin-left: 10px;
}

.margin_left20{
  margin-left: 20px;
}

.width80per{
  width:80%;
}

.width90per{
  width:90%;
}

/*fullcalendar スマホ時の高さ*/
@media screen and (max-width: 768px) {
.fc .fc-view-harness{
height:400px !important;
}
}

th.fc-day-sat {
  background-color: #eaf4ff;
}
th.fc-day-sun {
  background-color: #ffeaea;
}

td.fc-day-sat {
  background-color: #eaf4ff;
}
td.fc-day-sun {
  background-color: #ffeaea;
}

.holidays .fc .fc-daygrid-day-frame{
  background-color: #000 !important;
}


.fc .fc-bg-event{
  background-color: #fdd4d4 !important;
}

.fc .fc-bg-event .fc-event-title{
  color:#000 !important;
}

/*ここまで*/

/* ここでまとめて横長の長方形を作ります */
div.diamond, div.ribbon, div.right-arrow, div.left-arrow {
  display: inline-block;
  color: #FFFFFF;
   font-size: 18px;
   line-height: 38px;
  margin: 15px 0;
  position: relative;
  width: 200px;
  text-align: center;
 }
 
 /* それぞれの長方形のbefore（前）とafter（後ろ）に大きさゼロの要素を作ります */

 .ribbon-right-arrow:before, .ribbon-right-arrow:after {
  content: "";
  border-style: solid;
  border-width: 0;
  position: absolute;
  width: 0;
  height: 0;
 }

 
 /* 右側矢印 */
 .ribbon-right-arrow {
  display: inline-block;
  position:absolute;
  background:rgba(255,120,91,0.9);
  top:10;
  left:10;
  color:#fff;
  font-weight:bold;
  padding:10px;
 }
.ribbon-right-arrow:after, div.right-arrow:before {
  border-width: 24px 0 24px 24px;
 }

 @media screen and (max-width:768px) {
  .ribbon-right-arrow:after, div.right-arrow:before {
    border-width: 24px 0 21px 24px;
  }
}

 .ribbon-right-arrow:before {
  border-color: rgba(255,120,91,0.9);
  left: -24px;
 }
.ribbon-right-arrow:after {
  border-color: transparent rgba(255,120,91,0.9);
  right: -24px;
  top:0;
  
 }

.vacant{
  position:absolute;
  background:rgba(1, 31, 123, 0.7);
  top: 95;
  left:10;
  font-size:12px;
  font-weight: bold;
  padding:5px;
  color:#fff;
  width:300px;
}

.vacant2{
  position:absolute;
  background:rgba(29, 1, 123, 0.8);
  top: 100;
  left:10;
  font-size:12px;
  font-weight: bold;
  padding:5px;
  color:#fff;
  width:300px;
}

.refund{
  position:absolute;
  top: 10;
  left:10;
}

.refund img{
  width:150px !important;
  height:73px !important;
}

.refund2{
  position:absolute;
  bottom: 10;
  right:10;
}

.refund2 img{
  width:150px !important;
  height:73px !important;
}

/* ==============================
   アコーディオン全体
============================== */
.accordion-area {
  list-style: none;
  width: 100%;
  margin: 0 auto;
}
.accordion-area ul {
  width: 100%;
}
.accordion-area > li {
  list-style: none; /* ← タイトル横のドットを消す */
  margin: 10px 0;
}
.accordion-area .accordion_box ul li {
  margin-left: 25px;
  list-style: disc; /* ← 中のリンクだけドット表示 */
}

/* ==============================
   アコーディオンタイトル
============================== */
.title {
  position: relative;
  cursor: pointer;
  font-size: 22px;
  font-weight: bold;
  color: #498ee0;
  border-left: solid 5px #498ee0;
  padding: 0.25em 0.5em;
  transition: all 0.3s ease;
}

/* ==============================
   アコーディオン開閉アイコン（＋／×）
============================== */
.title::before,
.title::after {
  position: absolute;
  content: '';
  width: 15px;
  height: 2px;
  background-color: #333;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
}
.title::before {
  transform: rotate(0deg);
}
.title::after {
  transform: rotate(90deg);
}
/* 開いたときは×印に変化 */
.title.close::before {
  transform: rotate(45deg);
}
.title.close::after {
  transform: rotate(-45deg);
}

/* ==============================
   アコーディオンで現れるエリア
============================== */
.accordion_box {
  max-height: 0;          /* ← 初期状態は閉じる */
  overflow: hidden;
  background: #f5f5f5;
  margin-top: 20px;
  padding: 0 10px;         /* ← paddingは常に確保 */
  transition: max-height 0.4s ease;
}
.accordion_box.open {
  max-height: 1000px;      /* ← 中身に合わせて十分大きく */
}

/* アコーディオン内テキスト */
.accordion_box p {
  width: 95% !important;
}


/* jqueryのアコーディオンは止めてもっと見るに統一 */
/* 通常は3行だけ見せる */
.limited-list {
  max-height: 6em; /* 3件分の高さ相当で調整 */
  overflow: hidden;
  transition: max-height 0.4s ease;
  margin-bottom: 10px;
}
.limited-list.open {
  max-height: 1000px;
}

/* ボタンデザイン */
.show-more {
  display: inline-block;
  margin: 10px 0 30px;
  padding: 8px 18px;
  font-size: 14px;
  font-weight: bold;
  color: #498ee0;
  background: #fff;
  border: 2px solid #498ee0;
  border-radius: 25px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.show-more:hover {
  background: #498ee0;
  color: #fff;
}

/* モーダル全体(背景＋本体) */
.modal{
  display: none;
  position: fixed;
  top: 0;
  height: 100vh;
  width: 100vw;
}

/* モーダル背景 */
.modal-bg{
  position: absolute;
  height: 100vh;
  width: 100%;
  transform: translateX(-20%);
  background: rgba(0, 0, 0, 0.8);
}

@media screen and (max-width:768px) {
  .modal-bg{
    left:50%;
    transform: translateX(-58%);
  }
}

/* モーダル本体 */
.modal-content{
  position: absolute;
  top: 55%;
  left: 30%;
  transform: translate(-50%, -50%);
  overflow: scroll; /* はみ出た部分はスクロールさせる */
  height: 60%;/* これが無いと「overflow:scroll」が利かない */
  width: 60%;/* これが無いと「overflow:scroll」が利かない */
  background: white;
  padding: 30px;
}
@media screen and (max-width:768px) {
.modal-content{
  top: 40%;
  left:42%;
  width:80%;
  padding:10px;
}
}

.modal-content img{
  display: flex;
  margin:0 auto;
}

.modal-content iframe{
  width:100%;
  height:100%;
}

/* モーダルウィンドウ表示中に記事本体を固定 */
body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
}
/*aタグの入れ子*/
.js-link{
  text-decoration: underline dotted;
  color:#0066c0;
}


@media screen and (max-width:768px) {
  .doughnut_wrap{
    position: relative;
    width:80vw;
    height:65vh;
  }
}

.iine-box{
  display: flex;
  margin:10px 0;
}

.torikeshi{
    text-decoration: line-through;
}

.article_box{
  width:100%;
  margin:0 auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.article_box h2{
  width:100%;
}

.article_box p{
  padding:15px;
}

.article_list{
  width: 92%;
  margin:50px auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items:flex-start;

}

.article_thmb{
  max-width: 370px;
  margin:5px 10px;
  background-color: #fff;
}

.article_thmb p{
  font-size:17px;
  font-weight: bold;
  padding:10px;
  height:50px;
}

.article_thmb a{
 color:#000;
}

.article_thmb img{
  max-width: 370px;
}

.box28 {
  position: relative;
  width:90%;
  margin: 2em auto;
  padding: 25px 10px 7px;
  border: solid 2px #FFC107;
}
.box28 .box-title {
  position: absolute;
  display: inline-block;
  top: -2px;
  left: -2px;
  padding: 0 9px;
  height: 25px;
  line-height: 25px;
  font-size: 17px;
  background: #FFC107;
  color: #ffffff;
  font-weight: bold;
}
.box28 p {
  margin: 0; 
  padding: 0;
  width:100%;
}

.instagram-media{
  margin:0 auto;
  max-width:100% !important;
}

/*トップページ目次*/
.toc_toppage{
  width:80%;
  background-color: #e9f4fd;
  margin:40px auto;
  border:4px solid;
  padding:40px;
}

@media screen and (max-width: 768px) {
  .toc_toppage{
    padding:10px;
  }
}

@media screen and (max-width: 768px) {
.toc_toppage li{
  padding:5px;
}
}

.toc_toppage h2{
  font-weight: bold;
  border-bottom: 7px dotted #222;
  margin-bottom:20px;
}

.toc_toppage ul{
  padding-left:20px;
}

.toc_toppage ol{
  padding-left:60px;
}

@media screen and (max-width: 768px) {
  .toc_toppage ol{
    padding-left:0px;
  }
}   

.toc_toppage a{
  color:#0f0f0f;
  border-bottom: 1px dashed;
}

.material-icons-toc:before {
  display: inline-block;
  font-family: 'Material Icons';
  content: "\e873";
  font-size:30px;
  vertical-align: middle;
  margin-bottom:5px;
  line-height: 2;
}
.circle_num{
  display:inline-block;
  width: 30px;
  height: 30px;
  color:#fff;
  font-weight: bold;
  margin:10px;
  padding-top:2px;
  border-radius: 50%;
  background-color: #0066c0;
  text-align: center;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .circle_num{
    padding-top:3px;
  }
}

/*ここまで*/

/*トップページのこの記事を書いた*/
.writer_box{
  display: flex;
  flex-wrap: wrap;
  width:80%;
  margin:20px auto;
  padding-bottom:20px;
  background-color:#f3f9fe;
}

@media screen and (max-width: 768px) {
  .writer_box{
    width:90%;
  }
}
.writer_box p{
  max-width:100%;
  width:90%;
  margin:0px;
}

.writer_box img{
  max-width:100%;
}

.writer_box h3{
  display: inline-block;
  width:100%;
  padding:20px 0 0 10px;
}

@media screen and (max-width: 768px) {
  .writer_box h3{
    text-align: center;
  }
}
.writer_box1{
width:20%;
}

@media screen and (max-width: 768px) {
  .writer_box1{
    width:100%;
    }
  }

.writer_box2{
  width:80%;
}

@media screen and (max-width: 768px) {
  .writer_box2{
    width:100%;
    }
  }


.writer_box2024{
  display: flex;
  flex-wrap: wrap;
  width:85%;
  margin:20px auto;
  padding:20px;
  background:#fff;
}

.writer_box2024-left{
  width:30%;
  border-right:2px dotted #d8d8d8;
}

.writer_box2024-left p{
  display: flex;
  justify-content:center;
}

@media screen and (max-width: 768px) {
  .writer_box2024-left{
    width:100%;
    border:none;
    margin-bottom:25px;
  }
}

.writer_box2024-right{
  width:65%;
}

@media screen and (max-width: 768px) {
  .writer_box2024-right{
    width:100%;
  }
}

.writer_box2024-sns{
  width:100%;
  margin:0 0 10px 15px;
  }
  
  .writer_box2024-sns img{
    margin: 5px;
    width:35px;
  }

/*ここまで*/

.area_wrap{
width:100vw;
}

.section{
  margin:10px auto 30px;
}

.section1{
  margin:10px auto 30px;
}

.section h2{
  margin:20px 0 0 20px;
}

.section1 h2{
  margin:20px 0 0 20px;
}

.section h3{
  margin:20px 0 0 30px;
}

.section1 h3{
  margin:20px 0 0 30px;
}

.section p{
  padding:10px 10px 10px 30px;
}

.section1 p{
  padding:10px 10px 10px 30px;
}

/**検索機能のliドット削除のため**/
.col{
        
  box-sizing: border-box;
  display: block;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  
}

.review_form_box{
  width:85%;
  padding:10px;
}

.top_review_box{
  display: flex;
  width:90vw;
  margin:10px auto 50px;
}

@media screen and (max-width: 768px) {
  .top_review_box{
    flex-wrap: wrap;
    width:100%;
    margin:50px auto;
  }
}
.review-title{
  margin-top:140px;
  margin-bottom:50px;
  width:100%;
}

.review-title p{
  width:90%;
  margin:0 auto;
}

.top_review_box .arrow{
display: inline-block;
margin-left:10px;
left:180px;
}

.top_review_box p{
  position: relative;
  padding:10px;
}

.top_review_child1{
  width:30%;
}

.top_review_child1 img{
  max-width: 100%;

}

@media screen and (max-width: 768px) {
  .top_review_child1{
    width:100%;
  }
}

.top_review_child1-2{
  width:30%;
  margin-left:30px;
}

.top_review_child1-2 img{
  max-width: 100%;

}

@media screen and (max-width: 768px) {
  .top_review_child1-2{
    order:-1;
    width:100%;
    margin:0;
  }
}

.top_review_child2{
  width:100px;
  font-size:40px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

@media screen and (max-width: 768px) {
  .top_review_child2{
    order:0;
    padding:10px 10px 0 10px;
    width:100%;
    font-size:25px;
    writing-mode: horizontal-tb;
  }
}

.top_review_child3{
  padding-top: 100px;
  font-size:40px;
  width:100px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

@media screen and (max-width: 768px) {
  .top_review_child3{
    order:1;
    padding:0 10px 10px 10px;
    width:100%;
    font-size:25px;
    writing-mode: horizontal-tb;
  }
}

.top_review_cts{
  width:50%;
  margin:100px 0 0 30px;
  padding:20px;
}

@media screen and (max-width: 768px) {
  .top_review_cts{
    margin:0 auto;
    padding:10px;
    order:3;
    width:100%;
  }
}

.top_review_cts li{
  padding:5px;
  font-weight: bold;
  font-size:18px;
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc-img { display: block !important; }
.sp-img { display: none !important; }
 
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
    .pc-img { display: none !important; }
    .sp-img { display: block !important; }
}

.note1{
  width:90%;
  padding:15px;
  background-color: #FFEBEB;
  margin:30px auto;
}

.note1 h4{
  font-size:20px;
  font-weight:bold;
  color:#F88080
}

.fa-circle-exclamation:before, .fa-exclamation-circle:before{
  vertical-align: middle;
  font-size:25px;
  margin-right:5px;
}

.fa-tree:before{
  vertical-align: middle;
  font-size:25px;
  margin-right:5px;
}

.fa-lightbulb:before{
  vertical-align: middle;
  font-size:25px;
  margin-right:5px;
}
.fa-bullhorn:before{
  vertical-align: middle;
  font-size:25px;
  margin-right:5px;
}


.simple_box90_gry2{
  padding:15px;
  background-color: #f8f8f8;
  margin:10px auto;
  width:100%;
}

/*資料請求のボタン*/
.sgb-btn .btn {
  position: relative;
  color: var(--sgb--custom--text-color,#fff);
  z-index: 1;
  box-shadow: none;
  overflow: hidden;
  border: calc(var(--sgb--custom--bd-width,3)*1px) solid var(--sgb--custom--bg-color,#203a45);
  border-radius:5px;
  transition: .3s;
  padding: 0.6em 1.3em;
  width: 100%;
  font-weight: bold;
}

.fa-download{
  font-size:20px;
margin-right: 10px;
}


.fa-pencil{
  font-size:20px;
  padding-right:10px;
}
.margin-bottom6030{
margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .margin-bottom6030{
    margin-bottom: 30px;
  }
}

.map-container {
  position: relative;
  width: 90%; /* 幅を90%に設定 */
    margin: 30px auto; /* 中央寄せ */
  padding-bottom: 56.25%; /* アスペクト比16:9を維持 */
  height: 0;
}

.map-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* --------------------------------------------- */
/* 画面横のCTAボタン（PC版） */
/* --------------------------------------------- */
.l-header-cta-button_wrapper {
  position: fixed;
  right: 0;
  top: 40%;
  transform: translateY(-50%);
  z-index: 20;
  color: #fff !important;
  font-size: 16px;
  font-weight: 500;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.l-header-cta-button_a {
  display: flex;
  color: #fff !important;
  align-items: center;
  justify-content: center;
  padding: 12px 12px 12px 14px;
  border-radius: 8px 0 0 8px;
  border-right: none;
  background-color: #292929;
  writing-mode: vertical-rl; /* 縦書き */
  text-orientation: upright;
  letter-spacing: 0.3em;
  line-height: 1.2;
}

/* --------------------------------------------- */
/* スマホ時は100px下に横並び、右寄せで半分の幅に収める */
/* --------------------------------------------- */
@media (max-width: 768px) {
  .l-header-cta-button_wrapper {
    top: 75px; /* 100px下げる */
    left: auto;
    right: 0;
    width: 60%; /* 画面の半分の幅 */
    transform: none;
    flex-direction: row;
    justify-content: flex-end; /* 右寄せ */
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
    border-radius: 10px 0 0 10px;
  }

  .l-header-cta-button_a {
    width: auto;
    height: 30px;
    padding: 5px 10px;
    font-size: 13px;
    writing-mode: horizontal-tb; /* 縦書きを解除 */
    border-radius: 5px;
  }
}

 /* ====== SNS（Instagram・YouTube・TikTok）ボタン ====== */
.social-buttons {
  position: fixed;
  right: 15px;
  bottom: 80px; /* PC・スマホ共通のデフォルト位置 */
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 1000;
}

/* ボタンの基本スタイル */
.social-buttons a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.2);
  text-decoration: none;
  font-size: 22px;
  color: white;
  transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease;
}

/* 各SNSボタンの背景色 */
.social-buttons .instagram {
  background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
}

.social-buttons .youtube {
  background-color: #FF0000;
}

.social-buttons .tiktok {
  background-color: #000000; /* TikTokのブランドカラー */
}

/* ホバー時のエフェクト */
.social-buttons a:hover {
  transform: scale(1.15);
  box-shadow: 0px 5px 8px rgba(0, 0, 0, 0.3);
  opacity: 0.9;
}

/* ====== スマホ時のみ「10px上」に調整 ====== */
@media (max-width: 768px) {
  .social-buttons {
      bottom: 130px; /* スマホ時のみ10px上に */
  }
}


/* 縦動画＋コンテンツの全体のコンテナ */
.vertical_movie {
  display: flex;
  align-items: flex-start; /* 上揃え */
  gap: 20px; /* 動画と内容の間のスペース */
  max-width: 900px; /* 横幅の最大サイズ */
  margin: 0 auto; /* センター配置 */
}

/* 動画のスタイル */
.vertical_movie_video {
  flex-shrink: 0; /* 動画のサイズを固定 */
  width: 337px; /* 動画の横幅 */
}

/* テキスト部分のスタイル */
.vertical_movie_content {
  flex: 1; /* 残りの幅を全部使う */
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.vertical_movie_content .font20b {
  font-size: 20px;
  font-weight: bold;
}

.vertical_movie_content .simple_list2 {
  list-style: none;
  padding: 0;
}

.vertical_movie_content .simple_list2 li {
  margin-bottom: 8px;
}

/* スマホ対応（画面幅が狭い場合は縦並び） */
@media (max-width: 768px) {
  .vertical_movie {
      flex-direction: column; /* スマホでは縦並び */
      align-items: center;
  }

  .vertical_movie_video {
      width: 100%; /* スマホでは動画を100%幅に */
      max-width: 337px; /* 最大幅を指定 */
  }
}

.room-section {
  padding: 40px 20px;
  background-color: #f9f9f9;
  text-align: center;
}

.room-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 -10px;
}

.room-box {
  background-color: #6495ed;
  border-radius: 8px;
  flex: 1 1 calc(25% - 20px); /* 基本4列で可変 */
  max-width: calc(25% - 20px);
  margin: 10px;
  box-sizing: border-box;
  padding: 20px;
  color: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.room-box h3 {
  font-size: 19px;
  font-weight: bold;
  margin-bottom: 5px;
  text-align: center;
}

.underline {
  border-bottom: 2px solid #fff;
  margin: 0 auto 15px auto;
  width: 100%;
}

.price {
  background-color: #fff;
  color: #000;
  font-size: 24px;
  font-weight: bold;
  padding: 15px;
  border-radius: 6px;
  width: 100%;
  box-sizing: border-box;
  display: inline-block;
}

.small-unit {
  font-size: 15px;
  color: #666;
  margin-left: 4px;
}

/* タブレット以下：3列 */
@media screen and (max-width: 1024px) {
  .room-box {
    flex: 1 1 calc(33.333% - 20px);
    max-width: calc(33.333% - 20px);
  }
}

/* スマホ：2列 */
@media screen and (max-width: 768px) {
  .room-box {
    flex: 1 1 calc(50% - 20px);
    max-width: calc(50% - 20px);
  }
}

/* 極小画面：1列 */
@media screen and (max-width: 480px) {
  .room-box {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

/* ==============================
  ジュニアキャンプのアーカイブ
============================== */

.footer-archive {
  text-align: center;
  margin: 40px 0;
}
.footer-archive h4 {
  font-size: 18px;
  margin-bottom: 20px;
  font-weight: bold;
}

/* カードを横並びに */
.archive-list {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap; /* スマホでは折り返し */
}

/* カードデザイン */
.archive-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 250px;
  height: 150px;
  border-radius: 10px;
  background: linear-gradient(135deg, #f04343, #f76b6b);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.archive-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 16px rgba(0,0,0,0.2);
}

.archive-card__year {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 8px;
}
.archive-card__title {
  font-size: 14px;
  font-weight: 500;
}

.archive-card__text1 {
  font-size: 18px;
  font-weight:bold;
}

/* ========== YouTube Facade Lazy Loading ========== */
.youtube-facade {
  position: relative;
  width: 100%;
  max-width: 800px;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  cursor: pointer;
  background: #000;
  margin: 0 auto 30px;
}

.youtube-facade img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 再生ボタン（中央配置） */
/* 再生ボタン（赤いYouTube風） */
.youtube-facade .play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90px;
  height: 63px;
  background: #ff0000;
  border: none;
  border-radius: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

/* 白い三角形 */
.youtube-facade .play-button::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-left: 24px solid #fff;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  margin-left: 5px;
}

/* hover時の軽い拡大エフェクト */
.youtube-facade .play-button:hover {
  transform: translate(-50%, -50%) scale(1.1);
  box-shadow: 0 6px 30px rgba(255, 0, 0, 0.6);
}


.youtube-facade .play-button:hover {
  opacity: 1;
}

/* iframe化後に余白をリセット */
.youtube-facade iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}


/* drawer_menu.css */

/*https://spreadsheep.net/post-860/*/
  /*ハンバーガーボタン*/

  .el_humburger {
    position: fixed;
    top: 45px;
    right: 60px;
    width: 46px;
    height: 25px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-top: 0px;
    z-index: 20;
    cursor: pointer;
    pointer-events: auto;
    color: #fff;
    text-align: center;
    display:none;
}

  @media screen and (max-width: 840px) {
    .el_humburger {
      display: block;
      right: 0;
      top: 0;
      padding-top: 20px;
      width: 70px;
      height: 70px;}
      #factory .el_humburger {
        display: none; } }
   

  .el_humburger_wrapper {
    margin-bottom: 5px;
    width: 42px;
    display: inline-block; }
   
  @media screen and (max-width: 840px) {
    .el_humburger_wrapper {
      margin-bottom: 5px;
      width: 30px; } }
   
  .el_humburger_text {
    font-size: 12px;
    letter-spacing: 0.1em;
    font-family: "游ゴシック Medium", YuGothic, "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif; }
   
  .js_humburgerOpen .el_humburger_text.el_humburger_text__menu {
    display: none; }
   
  .el_humburger_text.el_humburger_text__close {
    display: none; }
   
  .js_humburgerOpen .el_humburger_text.el_humburger_text__close {
    display: block; }
   
  @media screen and (max-width: 840px) {
    .el_humburger_text {
      font-size: 10px;
      padding-top: 2px; } }
   
  @media screen and (max-width: 840px) {
    .el_humburger_text svg path {
      -webkit-transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
      -o-transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
      transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
      fill: #000; } }
   
  @media screen and (max-width: 840px) {
    .js_humburgerOpen .el_humburger_text svg path {
      fill: #000; } }
   
  .el_humburger span.el_humburger_bar {
    display: block;
    width: 100%;
    margin: 0 auto 9px;
    height: 1px;
    background: #fff;
    -webkit-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out; }
   
  .el_humburger span.el_humburger_bar:last-child {
    margin-bottom: 0; }
   
  .js_humburgerOpen .el_humburger span.el_humburger_bar {
    background: #000; }
   
  @media screen and (max-width: 840px) {
    .el_humburger span.el_humburger_bar {
      left: 0;
      top: 0;
      background: #000; } }
   
  .js_humburgerOpen .el_humburger span.el_humburger_bar.top {
    -webkit-transform: translateY(9px) rotate(-45deg);
    -ms-transform: translateY(9px) rotate(-45deg);
    transform: translateY(9px) rotate(-45deg); 
    background-color:#fff;
}
   
  .js_humburgerOpen .el_humburger span.el_humburger_bar.middle {
    opacity: 0; }
   
  .js_humburgerOpen .el_humburger span.el_humburger_bar.bottom {
    -webkit-transform: translateY(-11px) rotate(45deg);
    -ms-transform: translateY(-11px) rotate(45deg);
    transform: translateY(-11px) rotate(45deg);
    background-color:#fff;
 }
   
  .el_humburgerButton.el_humburgerButton__close {
    top: 2%;
    right: 2%; }
   
  .el_humburgerButton__close span.el_humburger_bar {
    display: block;
    width: 35px;
    margin: 0 auto;
    height: 4px;
    background: #000; }
   
  .el_humburgerButton__close span.el_humburger_bar.top {
    -webkit-transform: translateY(5px) rotate(-45deg);
    -ms-transform: translateY(5px) rotate(-45deg);
    transform: translateY(5px) rotate(-45deg); }
   
  .el_humburgerButton__close span.el_humburger_bar.bottom {
    -webkit-transform: translateY(-6px) rotate(45deg);
    -ms-transform: translateY(-6px) rotate(45deg);
    transform: translateY(-6px) rotate(45deg); }
   
  .navi {
    position: fixed;
    right: 0;
    height: 100%;
    background-color: rgba(3, 3, 3, 0.9);
    width: 450px;
    z-index: 3;
    padding-top: 100px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all 600ms ease-out;
    -o-transition: all 600ms ease-out;
    transition: all 600ms ease-out;
    transform:translateZ(0) translateX(100%);
    overflow: auto; }
    .js_humburgerOpen .navi {
      transform:translateZ(0) translateX(0); }
      @media screen and (max-width: 840px) {
        .navi {
          padding: 100px 5% 0; }
        .js_humburgerOpen .navi {
          width: 100%;} }
   
  .navi_item {
    position:relative;
    margin-bottom: 28px;
    font-size: 20px;
    white-space: nowrap;
    margin-left: 90px; }
    .navi_item.op_innerLink {
      cursor: pointer; }
    @media screen and (max-width: 840px) {
      .navi_item {
        margin-left: 0;
        font-size: 18px; } }
   
        .navi_item a{
            color:#fff;
        }
   
  .el_spChildNavOpen {
    position: absolute;
    top: -6px;
    left: 80%;
    z-index: 20;
    color:#fff;
    -webkit-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    transition: all 200ms ease-out;
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    padding: 10px; }
   
  .js_openParent.js_fire > .el_spChildNavOpen {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg); }
    .js_openParent.js_fire > .el_spChildNavOpen > .el_spChildNavOpen_wrapper:after {
      -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
      transform: rotate(90deg);
      opacity: 0; }
   
  .el_spChildNavOpen_wrapper {
    position: relative;
    width: 15px;
    height: 15px;
    color:#fff;
    -webkit-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    transition: all 200ms ease-out;
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center; }
    .el_spChildNavOpen_wrapper:before {
      content: "";
      width: 100%;
      height: 1px;
      background-color: #fff;
      position: absolute;
      top: calc(50% - 1px); }
    .el_spChildNavOpen_wrapper:after {
      content: "";
      width: 1px;
      height: 100%;
      background-color: #fff;
      position: absolute;
      left: calc(50% - 1px);
      -webkit-transition: all 200ms ease-out;
      -o-transition: all 200ms ease-out;
      transition: all 200ms ease-out; }
   
   
  .nav_child{
    padding-top:20px;
  }
   
  .nav_child_item{
    position: relative;
    font-size:16px;
    padding-left:20px;
    margin-bottom:10px;
    color:#fff;
  }

   
  .nav_child_item > a{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    top:0;
    color:#fff;
  }
   
  .nav_child_item:last-child{
    margin-bottom:0px;
  }
   
  .js_openSwitch {
    cursor: pointer;
    color:#fff;
 }
  
    .material-icons-dm-search:before {
        font-family: 'Material Icons';
        content: "\ea11";
        font-size:30px;
        vertical-align: middle;
        margin:5px;
      }
      .material-icons-dm-purpose:before {
        font-family: 'Material Icons';
        content: "\f02f";
        font-size:30px;
        vertical-align: middle;
        margin:5px;
      }


      .material-icons-chat:before {
        font-family: 'Material Icons';
        content: "\f189";
        font-size:30px;
        vertical-align: middle;
        margin:5px;
      }

      /*style.cssにもう一つあり*/
      .material-icons-counseling2:before {
        font-family: 'Material Icons';
        content: "\ea21";
        font-size:30px;
        vertical-align: middle;
        margin:5px;
      }
      
      .material-icons-dm-school:before {
        font-family: 'Material Icons';
        content: "\e80c";
        font-size:30px;
        vertical-align: middle;
        margin:5px;
      }
      .material-icons-help:before {
        font-family: 'Material Icons';
        content: "\e0f0";
        font-size:30px;
        vertical-align: middle;
        margin:5px;
      }
      .material-icons-vaccine:before {
        font-family: 'Material Icons';
        content: "\e138";
        font-size:30px;
        vertical-align: middle;
        margin:5px;
      }

      .material-icons-calculate:before {
        font-family: 'Material Icons';
        content: "\ea5f";
        font-size:30px;
        vertical-align: middle;
        margin:5px;
      }

      /*ハンバーガーのメール*/
.fa-mail:before{
  display: inline-block;
  font-family: "Font Awesome 5 Free"; 
  content:"\f1d8";
  font-size:25px;
  vertical-align: middle;
  padding-bottom:4px;
  margin-right:5px;
  }

  .hum-line:before{
    display: inline-block;
    font-family: "Font Awesome 5 Brands"; 
    content:"\f3c0";
    font-size:30px;
    vertical-align: middle;
    padding-bottom:4px;
    margin-left:3px;
    margin-right:5px;
    }

      .material-icons-dm-promo:before {
        font-family: 'Material Icons';
        content: "\e8f6";
        font-size:30px;
        vertical-align: middle;
        margin:5px;
      }

/* スマホのハンバーガーメニュー部分 2025.9.26 バニラjsで追加 */
.js_openTarget {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  display: block; /* 重要: display:none; ではなく必ず block に */
}

/* school.css */

.background-school {
  background-color:rgb(240, 240, 240);
}

.flex-container-school{
  display: flex;
  justify-content:center;
  margin:10px auto;
  width:100%;
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .flex-container-school{   
    width:95%;
}
}

.flex-container-school p{
  width:100%;
}

.inner-content-school {
    width: 80%;
    background-color: #fff;
    margin: 0 auto;
    text-align:center;
    margin-top:100px;
    padding: 20px 0 100px;
  }

  @media screen and (max-width: 768px) {
    .inner-content-school{
  width:100%;
  padding: 20px 0 50px;
  margin-top:70px;
    }
  }

  .inner-content-school p{
    padding:15px;
    margin:0 auto;
  }

  @media screen and (max-width: 768px) {
    .inner-content-school p{
        padding:10px;
    }
  }

  /*Q&A*/
  .inner-content-school2 {
    width: 80%;
    background-color: #fff;
    margin: 0 auto;
    text-align:center;
    padding: 20px 0 100px;
  }

  @media screen and (max-width: 768px) {
    .inner-content-school2{
  width:100%;
  padding: 20px 0 50px;
    }
  }

  .inner-content-school2 p{
    padding:15px;
    margin:0 auto;
  }

  @media screen and (max-width: 768px) {
    .inner-content-school2 p{
        padding:0px;
    }
  }

  .flex-container-point{
    display: flex;
    justify-content:center;
    margin:10px auto;
    width:100%;
  }

  @media screen and (max-width: 768px) {
    .flex-container-point{
      flex-wrap: wrap;
    }
  }

  .flex-container-point h4{
    padding:15px;
  }

 .box_school-title{
    width: 90%;
    background-color: rgb(46, 89, 170);
    color:#fff;
    text-align: center;
    font-size:25px;
    font-weight: bold;
    margin:10px auto;
    padding:10px;
  }

  @media screen and (max-width: 768px) {
    .box_school-title{
      font-size:20px;
    }
  }

  .box_school-title-img{
    max-width: 34%;
    margin: 10px;
    color:#000;
    text-align: center;
    font-size:25px;
    font-weight: bold;
  }

  .box_school-title-img img{
    max-width: 100%;
  }

  .box_school-title2{
    width: 100%;
    background-color: rgb(46, 89, 170);
    color:#fff;
    text-align: center;
    font-size:25px;
    font-weight: bold;
    margin:20px auto;
    padding:10px 0 10px 0;
  }

  @media screen and (max-width: 768px) {
    .box_school-title2{
      font-size:20px;
      width:90%;
      padding:10px;
    }
  }

  .box-feature{
font-weight:bold;
margin:25px 0 10px 0;
  }

  @media screen and (max-width: 768px) {
    .box-feature{
font-size:14px;
    }
  }


.box-sns{
margin:20px;
width:100%;
margin:0 0 10px 0;
}
.box-sns h3{
  font-weight: bold;
  margin:0 5px;
}

.box-sns img{
  margin: 5px;
}

  @media screen and (max-width: 768px) {
    .box_school-title-img{
        max-width:100%
    }
    }

.box_title-content{
    width:53%;
}

@media screen and (max-width: 768px) {
    .box_title-content{
        width:100%;
        margin:20px auto;
    }
    }

.box_summary{
    width: 50%;
    margin: 5px;
  }

  @media screen and (max-width: 768px) {
    .box_summary{
      width:95%;
    }
  }

.box_icon{
  margin:0 0 10px 0;
}

.school-summary{
  margin:10px 0;
}

  .box_gallery{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin:0 auto;

  }

  .box_gallery img{
    width:350px;
    max-width:100%;
    height:auto;
    max-height:200px;
  }

  @media screen and (max-width: 768px) {
    .box_gallery img{
      width:320px;
      max-width:320px;
      max-height:213px;
    }
  }

.gallery-cap{
  position: relative;
  width:31%;
  max-width:31%;
  height:auto;
  margin:8px;
}

@media screen and (max-width: 768px) {
  .gallery-cap{
    text-align: center;
    width:320px;
    max-width:320px;
    margin:20px auto;
  }
}


.gallery-fig{
  position:absolute;
  width:100%;
  background-color:rgba(0,0,0,0.4);
line-height:0.8;
bottom:0;
}

@media screen and (max-width: 768px) {
  .gallery-fig{
  top:183;
  width:320px;
  line-height:2;
}
}



.gallery-fig p{
  color:#fff;
  text-align: center;
}



  .icn-blue{/*スパルタ系*/
    font-size:12px;
    padding: 2px 2px 1px 2px; 
	margin:3px;
	float: left;
    font-weight: bold;  
    color: #FFF; 
	background:#00a1cb;
	-moz-border-radius: 3px;    /* Firefox */
   -webkit-border-radius:3px; /* Safari,Chrome */
   border-radius: 3px;         /* CSS3 */
   border: 0px;     /* 枠線の装飾 */
} 

.icn-green{/*シニア 社会人*/
    font-size:12px;
    padding: 2px 2px 1px 2px; 
	margin:3px;
	float: left;
    font-weight: bold;  
    color: #FFF; 
	background:#7db500;
	-moz-border-radius: 3px;    /* Firefox */
   -webkit-border-radius:3px; /* Safari,Chrome */
   border-radius: 3px;         /* CSS3 */
   border: 0px;     /* 枠線の装飾 */
} 

.icn-yellow{/*親子留学*/
  font-size:12px;
  padding: 2px 2px 1px 2px; 
margin:3px;
float: left;
  font-weight: bold;  
  color: #FFF; 
background:#ffae00;
-moz-border-radius: 3px;    /* Firefox */
 -webkit-border-radius:3px; /* Safari,Chrome */
 border-radius: 3px;         /* CSS3 */
 border: 0px;     /* 枠線の装飾 */
} 

.icn-orange{ /*toeic*/
    font-size:12px;
    padding: 2px 2px 1px 2px; 
	margin:3px;
  float: left;
    font-weight: bold;  
    color: #FFF; 
	background:#e54028;
	-moz-border-radius: 3px;    /* Firefox */
   -webkit-border-radius:3px; /* Safari,Chrome */
   border-radius: 3px;         /* CSS3 */
   border: 0px;     /* 枠線の装飾 */
} 

.icn-orange2{ /*社会人 toefl*/
  font-size:12px;
  padding: 2px 2px 1px 2px; 
margin:3px;
float: left;
  font-weight: bold;  
  color: #FFF; 
background:#ff9900;
-moz-border-radius: 3px;    /* Firefox */
 -webkit-border-radius:3px; /* Safari,Chrome */
 border-radius: 3px;         /* CSS3 */
 border: 0px;     /* 枠線の装飾 */
} 

.icn-purple{/*ielts*/
  font-size:12px;
  padding: 2px 2px 1px 2px; 
margin:3px;
float: left;
  font-weight: bold;  
  color: #FFF; 
background:rgb(247, 0, 152);
-moz-border-radius: 3px;    /* Firefox */
 -webkit-border-radius:3px; /* Safari,Chrome */
 border-radius: 3px;         /* CSS3 */
 border: 0px;     /* 枠線の装飾 */
} 

.icn-purple2{/*ネイティブ*/
  font-size:12px;
  padding: 2px 2px 1px 2px; 
margin:3px;
float: left;
  font-weight: bold;  
  color: #FFF; 
background:#b70070;
-moz-border-radius: 3px;    /* Firefox */
 -webkit-border-radius:3px; /* Safari,Chrome */
 border-radius: 3px;         /* CSS3 */
 border: 0px;     /* 枠線の装飾 */
} 

.icn-blk{
font-size:12px;
padding: 2px 2px 1px 2px; 
margin:3px;
float: left;
font-weight: bold;  
color: #FFF; 
background:#000000;
-moz-border-radius: 3px;    /* Firefox */
 -webkit-border-radius:3px; /* Safari,Chrome */
 border-radius: 3px;         /* CSS3 */
 border: 0px;     /* 枠線の装飾 */
}

.other{/*その他*/
  font-size:12px;
  padding: 2px 2px 1px 2px; 
margin:3px;
float: left;
  font-weight: bold;  
  color: #FFF; 
background:#24005f;
-moz-border-radius: 3px;    /* Firefox */
 -webkit-border-radius:3px; /* Safari,Chrome */
 border-radius: 3px;         /* CSS3 */
 border: 0px;     /* 枠線の装飾 */
}


/* 共通スタイル */
.tag-icon {
  font-size: 12px;
  padding: 2px 6px;
  margin: 3px;
  display: inline-block;
  font-weight: bold;
  color: #fff;
  border-radius: 3px;
  border: none;
  line-height: 1.4;
}

/* デフォルト（未定義キーワード用） */
.icn-default {
  background: #24005f;
}

/* スパルタ系（赤系） */
.icn-sparta { background: #b71c1c; color:#fff; }  /* スパルタ：真っ赤で一番目立つ */
.icn-semi   { background: #d84315; color:#fff; }  /* セミスパルタ：赤みオレンジ */
.icn-non    { background: #e57373; color:#fff; }  /* ノンスパルタ：赤系だけど少し柔らかめ */

/* 学生層（紫・オレンジ） */
.icn-junior   { background: #8e24aa; color:#fff; } /* 中学生：明るめ紫 */
.icn-high     { background: #6a1b9a; color:#fff; } /* 高校生：濃い紫でインパクト強 */
.icn-college  { background: #ef6c00; color:#fff; } /* 大学生：ビビッドオレンジ */

/* 年齢層・対象（緑系） */
.icn-adult  { background: #2e7d32; color:#fff; }   /* 社会人：濃い緑 */
.icn-senior { background: #1b5e20; color:#fff; }   /* シニア：さらに深い緑（落ち着き） */
.icn-family { background: #ff8f00; color:#333; }   /* 親子留学：明るいオレンジ → 黒文字で可読性確保 */

/* 試験系（青系） */
.icn-toeic  { background: #1565c0; color:#fff; }   /* TOEIC：鮮やか青 */
.icn-ielts  { background: #283593; color:#fff; }   /* IELTS：濃紺（最も重厚） */
.icn-toefl  { background: #0d47a1; color:#fff; }   /* TOEFL：ダークブルー */

/* 特徴（補色で差別化） */
.icn-popular   { background: #c62828; color:#fff; } /* 人気校：赤でさらに強調 */
.icn-weekend   { background: #2e7d32; color:#fff; } /* 土日授業：緑強め */
.icn-native    { background: #37474f; color:#fff; } /* ネイティブ講師：ダークグレー */
.icn-fewjpn    { background: #00897b; color:#fff; } /* 日本人少ない：青緑 */
.icn-hotel     { background: #546e7a; color:#fff; } /* ホテル滞在：ブルーグレー */



  /*タブ切り替え全体のスタイル*/
#tabs-wrap{
  margin:0px;
  width:100%;
}

/* 固定 */
.fixed {
  position: fixed;
  top:0;
  padding: 0;
  width: 100%;
  z-index: 1000;
}

/* 固定 */
.fixed {
  position: fixed;
  top: 0;
  padding: 0;
  width: 100%;
  z-index: 1000;
}

.tabs {
    margin-top: 50px;
    padding-bottom: 40px;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    width: 90%;
    margin: 0 auto 30px;}
  
    @media screen and (max-width: 768px) {
    .tabs{
        width: 90%;
    }
    }

/*学校タブ https://bagelee.com/design/css/create_tabs_using_only_css/ */

  /*タブのスタイル*/
  .tab_item {
    width: 20%;
    border-bottom: 3px solid #333;
    background-color: #f5f5f5;
    line-height: 30px;
    font-size: 16px;
    text-align: center;
    color: #565656;
    display: block;
    float: left;
    text-align: center;
    font-weight: bold;
    transition: all 0.2s ease;
    padding-top:15px;

  }

  .tab_item-title2{
    text-align:center;
    position: relative;
  }

  .tab_item-title{
    text-align:center;
    position: relative;
  }

  .tab_item-title:before {
    content:"";
    display:inline-block;
    width:0.8px;
    height:70px;
    background-color:#3a3a3a;
    position:absolute;
    top:-28px;
    right:0px;
  }

  @media screen and (max-width: 768px) {
  .tab_item-title:before {
    height:65px;
    top:-30px;
    right:0px;
  }
}

  @media screen and (max-width: 768px) {
.tab_item p{
  line-height: 1.2em;
  text-align: center;
  font-weight: normal;
  padding:10px;
  font-size:14px;
}
}

  .tab_item:hover {
    opacity: 0.75;
  }

  @media screen and (max-width: 768px) {
    .tab_item {
  
      font-size:15px;
      height:70px;
      padding:10px 0px;
    }
  }
  
  /*ラジオボタンを全て消す*/
  input[name="tab_item"] {
    display: none;
  }
  
  /*タブ切り替えの中身のスタイル*/
  .tab_content {
    display: none;
    padding: 40px 40px 0;
    clear: both;
    overflow: hidden;
  }

  @media screen and (max-width: 768px) {
    .tab_content {
      padding:10px 10px 0;
    }
  }

  .tab_content dt{
    font-weight:bold;
  }

  .tab_content dd{
    margin:10px auto;
  }

  
  /*選択されているタブのコンテンツのみを表示*/
  #info:checked ~ #info_content,
  #course:checked ~ #course_content,
  #dormitory:checked ~ #dormitory_content,
  #images:checked ~ #images_content,
  #review:checked ~ #review_content{
    display: block;
    text-align: center;
  }
  
  /*選択されているタブのスタイルを変える*/
  .tabs input:checked + .tab_item {
    background-color: #6495ed;
    color: #fff;
  }

  .material-icons-school:before {
    font-family: 'Material Icons';
    content: "\e7f1";
    font-size:30px;
    vertical-align: middle;
    margin:5px;
  }

  .material-icons-course:before {
    font-family: 'Material Icons';
    content: "\f0c5";
    font-size:30px;
    vertical-align: middle;
    margin:5px;
  }

  .material-icons-dormitory:before {
    font-family: 'Material Icons';
    content: "\efe2";
    font-size:30px;
    vertical-align: middle;
    margin:5px;
  }

  .material-icons-image:before {
    font-family: 'Material Icons';
    content: "\e43f";
    font-size:30px;
    vertical-align: middle;
    margin:5px;
  }

  .material-icons-review:before {
    font-family: 'Material Icons';
    content: "\f054";
    font-size:30px;
    vertical-align: middle;
    margin:5px;
  }

  .material-icons-tag:before {
    font-family: 'Material Icons';
    content: "\e54e";
    font-size:20px;
    vertical-align: middle;
    margin:5px;
  }

  /*塗りつぶした星*/
  .material-icons-star:before {
    font-family: 'Material Icons';
    content: "\e838";
    font-size:18px;
    vertical-align: text-top;
    color:#ffa41a;
  }
 /*空の星*/
  .material-icons-star-empty:before {
    font-family: 'Material Icons';
    content: "\f06f";
    font-size:18px;
    vertical-align: text-top;
    color:#ffa41a;
  }
   /*半分の星*/
   .material-icons-star-half:before {
    font-family: 'Material Icons';
    content: "\e839";
    font-size:18px;
    vertical-align: text-top;
    color:#ffa41a;
  }

  /*注意*/
  .material-icons-attention:before {
    font-family: 'Material Icons';
    content: "\f083";
    font-size:50px;
    vertical-align: middle;
    margin:10px;
  }

  .caption1-p {
      position: relative;
  }
  .caption1-c {
      position: absolute;
      left: 0px;
      bottom: 0;
      padding: 5px 10px;
      margin-left:20px;
      width:580px;
      color: #fff;
      background:rgba(0, 0, 0, 0.6)
  }

  @media screen and (max-width: 768px) {
    .caption1-c {
      width:350px;
      margin-left:6px;
    }
  }


    figure figcaption h3{
      text-align: center;
    }

    figure figcaption span{
      display: block;
      text-align: center;
    }

.headline-box{
  margin:30px 0;
  text-align:center;
}

    .headline-eng2{
      color:rgb(146, 146, 146);
      font-size:19px;
      margin:0px auto;
      width:80%;
      text-align:center;
    }

  @media screen and (max-width: 768px) {
    .headline-eng2{
font-size:15px;
margin-bottom: 10px;
    }
  }

  .top-headline-blk2{
    position: relative;
    font-size:24px;
    font-weight:bold;
    color:#000;
    display:inline-block;
    
    }

    @media screen and (max-width: 768px) {
      .top-headline-blk2{
font-size:20px;
line-height: 40px;
      }
    }

    .under{
      text-decoration: underline;
    }

    /*サルワカ https://saruwakakun.com/html-css/reference/ribbon*/

    .ribbon15-wrapper {  
      display: block;
      position: relative;
      margin: 10px 5px 10px 5px;
      width: 370px;
      height:250px;
      background: #f1f1f1;
      box-sizing: border-box;
      background-repeat: no-repeat;
      background-size: contain;
      }

    
      @media screen and (max-width: 768px) {
        .ribbon15-wrapper{
          width: 350px;
          height:235px;
        }
      }

      .ribbon15-wrapper img{
        width: 100%;
        max-width: 100%;
        height:100%;
        max-height: 100%;
      }
    
    .ribbon15 {  
      display: inline-block;
      position: absolute;
      top: -6px;
      right: 10px;
      margin: 0;
      padding: 10px 0;
      z-index: 2;
      width: 50px;
      text-align: center;
      color: white;
      font-size: 13px;
      font-weight:bold;
      background: linear-gradient(#ff785b 0%, #e95738 100%);
      border-radius: 2px 0 0 0;
      }
    
    .ribbon15:before {
      position: absolute;
      content: '';
      top: 0;
      right: -6px;
      border: none;
      border-bottom: solid 6px #cf4a2d;
      border-right: solid 6px transparent;
    }
    .ribbon15:after {
      content: '';
      position: absolute;
      left: 0;
      top: 100%;
      height: 0;
      width: 0;
      border-left: 25px solid #e95738;
      border-right: 25px solid #e95738;
      border-bottom: 10px solid transparent;
    }


    .school-details2{
      display:flex;
      width:300px;
      margin:0 auto;
      
  }
  
  .school-details2 img{
      width:300px;
      height:200px;
      text-align: center;
  }

  .ribbon16-3{
    position: absolute;
    top:145px;/*位置*/
    left: 0;
    margin: 0; /*余計な隙間を除く*/
    color: white;/*文字を白に*/
    background-color: rgba(0,0,0,0.4);/*背景色*/
    font-size: 15px;
    line-height: 1;/*行高は1に*/
    padding: 5px 10px !important;/*文字周りの余白*/
}
  
      /*黒背景白文字*/
      .headline-blk-school{
        margin:20px auto;
        padding: 10px 15px;
        color: #fff;
        background: #000;
        font-weight: bold;
        font-size:20px;
        text-align: center;
      }

      @media screen and (max-width: 768px) {
        .headline-blk-school{
          font-size:17px;
        }
}

      /*青だったが黒に変更*/
      .headline-blue-school{
        margin:20px auto;
        padding: 10px 15px;
        color: #fff;
        background: #000;
        font-weight: bold;
        font-size:20px;
      }

      @media screen and (max-width: 768px) {
        .headline-blue-school{
          font-size:17px;
        }
}

#disp_count {
  color: rgb(223, 75, 75);
  font-size: 18px;
  font-weight:bold;
  border-radius: 10px;
  padding: 0 0 0 10px;
  display: inline;
}

#btn_count_up {
  font-size: 12px;
  font-weight: bold;
border:none;
background-color: #e0edff;
  
}

/*留学に行きたい人ボタンの装飾*/
.balloon1-right {
  position: relative;
  display: inline-block;
  margin: 5px;
  padding: 3px;
  min-width: 120px;
  max-width: 100%;
  color: #555;
  background: #e0edff;
}

.balloon1-right:before {
  content: "";
  position: absolute;
  top: 69%;
  left: 100%;
  margin-top: -15px;
  border: 8px solid transparent;
  border-left: 8px solid #e0edff;
}

.balloon1-right p {
  margin: 0;
  padding: 0;
}

.spot-font-12p{
  display:inline-block;
  margin:6px 0 0 3px;
  font-size:12px
}

.spot-font-13p{
  font-size:13px
}


/* ajax btn https://jpn.phpkobo.com/ajax-iine-button*/
.aiin-css-tpl-sb-blue-s .aiin-btn {
	position:relative;
	display:table;
	border-collapse:separate;
	border-spacing:;
	color:#000;
  height:30px;
	cursor:pointer;
	user-select:none;
  margin:10px 5px;
	-moz-user-select:none;
	-webkit-tap-highlight-color:transparent;
	line-height:1;
  background-image: url("../img/arrow.png");
  background-repeat: no-repeat;
  font-family:"Helvetica Neue","游ゴシック体", "YuGothic","游ゴシック", "Yu Gothic",sans-serif !important;
}
.aiin-css-tpl-sb-blue-s .aiin-btn.aiin-sel {
	color:#000;
}
.aiin-css-tpl-sb-blue-s .aiin-btn.aiin-not-allowed {
	cursor:default;
}
/* tcell */
.aiin-css-tpl-sb-blue-s .aiin-tcell {
	display:table-cell;
	vertical-align:middle;
}
.aiin-css-tpl-sb-blue-s .aiin-tcell:first-child {
	padding-left:5px;
}
.aiin-css-tpl-sb-blue-s .aiin-tcell:last-child {
	padding-right:5px;
}
/* label & vcnt */
.aiin-css-tpl-sb-blue-s .aiin-label,
.aiin-css-tpl-sb-blue-s .aiin-vcnt {
	font-size:13px;
  font-weight:bold;
}
/* vcnt */
.aiin-css-tpl-sb-blue-s .aiin-vcnt {
	text-align:right;
	min-width:12px;
  font-size:17px;
  color: rgb(223, 75, 75);
  margin:0 0 0 23px;
}

.iframe_movie{
  display: block;
  margin:20px auto;

}

@media screen and (max-width: 768px) {
  .frame_movie{
    max-width:90%;

  }
}


.school-summary-box {
  width:100%;
	margin: 0;
}

.school-summary-box ul {
	margin: 0;
	list-style: none;
}
.school-summary-box ul li {
	padding: 1em 0;
	border-bottom:1px solid rgba(0,0,0,0.2);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.school-summary-box-left {
	display: inline-block;
	width: 30%;
	vertical-align: middle;
  border-radius: 1px;
  background: #6495ed;
  color:#fff;
  font-weight:bold;
  text-align: center;
  /* 親要素の文字サイズを基準 */
  color:#fff;
  padding:5px;
 
}

@media screen and (max-width: 768px) {
  .school-summary-box-left {
    width:20%;
  }
}

.school-summary-box-right {
	display: inline-block;
	width: 65%;
  margin-left:20px;
	vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .school-summary-box-right {
    width:70%;
    margin-left:10px;
  }
}


@media screen and (max-width: 768px) {
  .school-summary-box-right p{
    margin-left:15px;
  }
}

.school-summary-box-right p{
}

.school-summary-map{
  display: block;
  margin:20px auto;
}



/*現地費用*/


.school-local-fee {
  width:100%;
	margin: 20px auto;
}
.school-local-fee ul {
	margin: 0;
	list-style: none;
}
.school-local-fee ul li {
  border-top:1px solid rgba(0,0,0,0.2);
  border-right:1px solid rgba(0,0,0,0.2);
}

.school-local-fee ul li:last-child{
	border-bottom:1px solid rgba(0,0,0,0.2);
}

.school-local-fee-left {
	display: inline-block;
	width: 20%;
	vertical-align: middle;
  border-radius: 1px;
  background: #6495ed;
  color:#fff;
  font-weight:bold;
  text-align: center;
  /* 親要素の文字サイズを基準 */
  color:#fff;
}

@media screen and (max-width: 768px) {
  .school-local-fee-left {
    width: 25%;
  }
}

.school-local-fee-left p{
  display: inline;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .school-local-fee-left p{
    font-size:14px;
  }
}

.school-local-fee-right {
	display: inline-block;
	width: 65%;
  margin-left:20px;
	vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .school-local-fee p{
    margin-left:15px;
  }
}

.slick-box{
  width:95%;
  margin:30px auto 70px;
}

.slider {
  margin: 0px auto;
  width: 100%;
}
.slider-img {
  margin: 0;
}

.slider-img img {
  height: auto;
  width: 600px;
  max-width:100%;
  max-height:400px;
  margin:0 20px;
}

@media screen and (max-width: 768px) {
  .slider-img img {
    width:350px;
    height:235px;
    margin:0 5px !important;
  }
}

.slider-img iframe {
  max-width:100%;
  max-height:315px;
  margin:0 20px;
}

@media screen and (max-width: 768px) {
  .slider-img iframe {
    width:220px;
    height:146px;
    margin:0 10px !important;
  }
}

.slider-img2 img {
  height: auto;
  width: 650px;
  margin:0 20px;
  max-width:100%;
}

@media screen and (max-width: 768px) {
  .slider-img2 img {
    width:400px;
    height:266px;
    margin:0 10px !important;
  }
}


/*スライダーの高さ調整*/
.slick-track {
  display: flex;
}
.slick-slide {
  height: auto !important;
  /* padding-bottom:20px; */
}

@media screen and (max-width: 768px) {
  .slick-slide {
    /* padding-bottom:10px; */
  }
}
/*ここまで*/


/*ボタンアイコン　https://www.flaticon.com/　edit 72scale*/
	/********ボタンカスタマイズ*******/
	.slick-dots li:nth-of-type(1) button:before{
		background: url("/img/btn_01.png") no-repeat;
		background-size: contain!important;
	}
	.slick-dots li:nth-of-type(2) button:before{
		background: url("/img/btn_02.png") no-repeat;
		background-size: contain!important;
	}
	.slick-dots li:nth-of-type(3) button:before{
		background: url("/img/btn_03.png") no-repeat;
		background-size: contain!important;
	}

	.slick-dots li:nth-of-type(4) button:before{
		background: url("/img/btn_04.png") no-repeat;
		background-size: contain!important;
	}

  .slick-dots li:nth-of-type(5) button:before{
		background: url("/img/btn_05.png") no-repeat;
		background-size: contain!important;
	}

	.slick-dots li:nth-of-type(6) button:before{
		background: url("/img/btn_06.png") no-repeat;
		background-size: contain!important;
	}

  .slick-dots li:nth-of-type(7) button:before{
		background: url("/img/btn_07.png") no-repeat;
		background-size: contain!important;
	}

  .slick-dots li:nth-of-type(8) button:before{
		background: url("/img/btn_08.png") no-repeat;
		background-size: contain!important;
	}

  .slick-dots li:nth-of-type(9) button:before{
		background: url("/img/btn_09.png") no-repeat;
		background-size: contain!important;
	}

  .slick-dots li:nth-of-type(10) button:before{
		background: url("/img/btn_10.png") no-repeat;
		background-size: contain!important;
	}

  .slick-dots li:nth-of-type(11) button:before{
		background: url("/img/btn_11.png") no-repeat;
		background-size: contain!important;
	}

  .slick-dots li:nth-of-type(12) button:before{
		background: url("/img/btn_12.png") no-repeat;
		background-size: contain!important;
	}

  .slick-dots li:nth-of-type(13) button:before{
		background: url("/img/btn_13.png") no-repeat;
		background-size: contain!important;
	}

  .slick-dots li:nth-of-type(14) button:before{
		background: url("/img/btn_14.png") no-repeat;
		background-size: contain!important;
	}

  .slick-dots li:nth-of-type(15) button:before{
		background: url("/img/btn_15.png") no-repeat;
		background-size: contain!important;
	}
  .slick-dots li:nth-of-type(16) button:before{
		background: url("/img/btn_16.png") no-repeat;
		background-size: contain!important;
	}
  .slick-dots li:nth-of-type(17) button:before{
		background: url("/img/btn_17.png") no-repeat;
		background-size: contain!important;
	}

  .slick-dots li:nth-of-type(18) button:before{
		background: url("/img/btn_18.png") no-repeat;
		background-size: contain!important;
	}

  .slick-dots li:nth-of-type(19) button:before{
		background: url("/img/btn_19.png") no-repeat;
		background-size: contain!important;
	}
  .slick-dots li:nth-of-type(20) button:before{
		background: url("/img/btn_20.png") no-repeat;
		background-size: contain!important;
	}

	.slick-dots li button:before{
		content: ''!important;
		height:100%!important;
                width: 100%!important;
	}
	.slick-dots li{
	    width: 32px!important;
	    height:32px!important;
	    margin: 0!important;
	}
	.slick-dots li button{
		width:auto!important;
		height:auto!important;
	}


	.slick-dots{
		bottom: initial!important;
		/* margin-top:-10px!important; */
	}

  .slick-dots li.slick-active button:before{
    opacity:1 !important;
  }

  @media screen and (max-width: 768px) {
    .slick-dots{
      margin-top:10px !important;
    }
  }

	/*********************************/

.school-headline{
  font-size:20px;
  padding: 0.25em 0.5em;/*上下 左右の余白*/
  margin:15px 0;
  font-weight:bold;
  color: #494949;/*文字色*/
  background: transparent;/*背景透明に*/
  border-left: solid 5px #7db4e6;/*左線*/
}

@media screen and (max-width: 768px) {
  .school-headline{
  font-size:17px;
  }
}


.school-headline2{
  font-size:20px;
  padding: 0.25em 0.5em;/*上下 左右の余白*/
  margin:15px 0;
  color: #498ee0;/*文字色*/
  background: transparent;/*背景透明に*/
  border-left: solid 5px #498ee0;/*左線*/
  font-weight:bold;
}

@media screen and (max-width: 768px) {
  .school-headline{
  font-size:17px;
  }
}

/*吹き出し https://saruwakakun.com/html-css/reference/speech-bubble*/

.comment-box{
  width:90%;
  display: flex;
  align-items: center;
  justify-content:center;
  flex-wrap: wrap;
}

.comment-box img{
  padding-right:10px;
}

@media screen and (max-width: 768px) {
  .comment-box img{
    padding-top:10px;
    padding-right:0px;
  }
}


.balloon2-left {
  position: relative;
  display: inline-block;
  margin: 1.5em 0 1.5em 15px;
  padding: 7px 20px 7px 10px ;
  min-width: 120px;
  max-width: 80%;
  color: #555;
  font-size: 16px;
  background: #FFF;
  border: solid 3px #555;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
.balloon2-left{
  max-width:100%;
  margin: 1.5em 0;
}
}

.balloon2-left:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -24px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-right: 12px solid #FFF;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .balloon2-left:before {
    content: "";
    position: absolute;
    top: -24px;
    left: 50%;
    margin-left: -15px;
    margin-top:0;
    border: 12px solid transparent;
    border-bottom: 12px solid #FFF;
    z-index: 2;
  }
}


.balloon2-left:after {
  content: "";
  position: absolute;
  top: 50%;
  left: -30px;
  margin-top: -14px;
  border: 14px solid transparent;
  border-right: 14px solid #555;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .balloon2-left:after {
    content: "";
    position: absolute;
    top: -30px;
    left: 50%;
    margin-left: -17px;
    margin-top:0;
    border: 14px solid transparent;
    border-bottom: 14px solid #555;
    z-index: 1;
  }
}

.balloon2-left p {
  margin: 0;
  padding:8px;
}

.review-box{
  width:100%;
  display: flex;
  flex-wrap: wrap;

}

.review-box p{
  padding:0 0 0 10px;
}

.review-box a{
  color:#333;
}

@media screen and (max-width: 768px) {
  .review-box p{
  padding:0 0 0px 8px;
}
}

.review-box img{
  width:320px;
  max-width:320px;
  max-height:213px;
}

.review-child-box1{
  width:320px;
  max-width:320px;
  text-align: center;
  margin:7px;
}

@media screen and (max-width: 768px) {
  .review-child-box1{
    width:100%;
    margin:0 auto;
  }
}

.review-child-box2{
  width:320px;
  max-width:320px;
  text-align: center;
  margin:7px;
}

@media screen and (max-width: 768px) {
  .review-child-box2{
    width:100%;
    margin:0 auto;
  }
}

.review-child-box3{
  width:320px;
  max-width:320px;
  text-align: center;
  margin:7px;
}

@media screen and (max-width: 768px) {
  .review-child-box3{
    width:100%;
    margin:0 auto;
  }
}

p.review-details{
  font-size:12px;
  padding:0px;
  width:100%;
  margin-top:10px;
}

.evaluation-box{
  display: flex;
  flex-wrap:wrap;
  padding-left:10px;
}
.evaluation{
  color:#cf4a2d;
  font-size:17px;
  font-weight: bold;
  padding:0 5px;
}


.point-box {
  position: relative;
  margin: 50px 0 30px 0;
  padding: 1.5em 1.5em;
  border: solid 3px #6495ed;
}
.point-box .box-title {
  position: absolute;
  display: inline-block;
  top: -27px;
  left: -3px;
  padding: 0 9px;
  height: 25px;
  line-height: 25px;
  font-size: 17px;
  background:#6495ed;
  color: #ffffff;
  font-weight: bold;
  border-radius: 5px 5px 0 0;
}
.point-box p {
  margin: 0; 
  padding: 0;
}

.point-box80 {
  position: relative;
  margin: 2em 0;
  padding: 0.5em 1em;
  border: solid 3px #6495ed;
  width:80%;
}
.point-box80 .box-title80 {
  position: absolute;
  display: inline-block;
  top: -35px;
  left: -3px;
  padding: 5px 9px;
  height: 25px;
  line-height: 25px;
  font-size: 17px;
  background:#6495ed;
  color: #ffffff;
  font-weight: bold;
  border-radius: 5px 5px 0 0;
}
.point-box80 p {
  margin: 0; 
  padding: 0;
}

/************************************
** 評価グラフ
************************************/
.pb-rating-graph {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  width:80%;
  margin: 10px auto 10px;
  padding:20px;
  color: #333;
  background: #fafafa;
}
.pb-rating-graph ul {
  margin: 0!important;
  padding: 0!important;
  border: none!important;
}
.pb-rating-graph ul li {
  list-style: none!important;
  margin: 0 !important;
  padding: 0 !important;
}
.pb-rating-graph ul li:before {
  content: unset !important;
}

.wrap-pb-rating-graph__label{
  width:20%;
}

@media screen and (max-width: 768px) {
  .wrap-pb-rating-graph__label{
    width:100%;
  }
}

.pb-rating-graph__label {
  background: #6495ed;
  color: #fff;
  display: inline-block;
  padding: 6px 15px;
  font-weight: 600;
  font-size: 14px;
  line-height: 2;

}

@media screen and (max-width: 768px) {
  .pb-rating-graph__label {
    line-height: 1.3;
    margin-bottom:10px;
  }
}

.pb-rating-graph__wrap {
  display: flex;
}

@media screen and (max-width: 768px) {
  .pb-rating-graph__wrap {
    flex-wrap: wrap;
  }
}
.pb-rating-graph li:last-child .pb-rating-graph__wrap {
  margin: 10px 0 0;
}
.pb-rating-graph__axis {
  width: 40%;
  margin-top: 10px;
  position: relative;
  display: flex;
  justify-content: space-between;
}

.pb-rating-graph__axis:before {
  content: "";
  display: inline-block;
  height: 5px;
  background: #E3E6E7;
  width: 100%;
  position: absolute;
}
.pb-rating-graph__basis {
  color: #71828A;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.5;
  margin:10px;
}
.pb-rating-graph__basis-inner {
  display: inline-block;
  text-align: left;
  padding-right:10px;
}
.pb-rating-graph__wrap .pb-rating-graph__basis:first-of-type {
  text-align: right;
  padding-right: 15px;
}
.pb-rating-graph__wrap .pb-rating-graph__basis:last-of-type {
  text-align: left;
  padding-left: 15px;
}
.pb-rating-graph__scale {
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 1;
  width: 20px;
  margin-top: 0 !important;
}
.pb-rating-graph__scale:before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  margin-top: -7px;
  margin-bottom: 10px;
  background: #E3E6E7;
}
.pb-rating-graph__axis:after, .pb-rating-graph__scale:after {
  content: unset !important;
}
.pb-rating-graph .pb-rating-graph__scale .pb-rating-graph__item {
  width: 42px;
  display: block;
  font-weight: 600;
  font-size: 14px;
  color: #777;
  text-align: center;
  padding-top: 5px;
  margin-top: -10px !important;
}
@media screen and (max-width:600px) {
  .pb-rating-graph {
    padding: 2em 1em !important;
  }
  .pb-rating-graph__axis {
    width: 40%;
  }
  .pb-rating-graph__basis {
    font-size: 13px;
    letter-spacing: 0px;
    line-height: 1.8;
  }
  .pb-rating-graph__wrap .pb-rating-graph__basis:first-of-type {
    padding-right: 7px;
  }
  .pb-rating-graph__wrap .pb-rating-graph__basis:last-of-type {
    padding-left: 7px;
  }
  .pb-rating-graph__scale {
    width: 16px;
  }
  .pb-rating-graph__scale:before {
    width: 16px;
    height: 16px;
  }
  .pb-rating-graph .pb-rating-graph__scale .pb-rating-graph__item {
    font-size: 12px;
  }
  .pb-rating-graph__scale[data-check='true']:before {
    font-size: 20px;
  }
}

.pb-rating-graph__scale[data-check='true']:before {
  background:#ee8f81;
}

.ribbon-promo {
  display: inline-block;
  position: relative;
  padding: 5px 20px;
  font-size: 18px;/*フォントサイズ*/
  color: #FFF;/*フォントカラー*/
  background: #d40000;/*背景色*/
  margin-bottom:20px;
}

.ribbon-promo:before {
  position: absolute;
  content: '';
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 10px transparent;
  border-right: solid 20px rgb(149, 158, 155);/*折り返し部分*/
}

.ribbon-promo:after {
  position: absolute;
  content: '';
  top: 100%;
  right: 0;
  border: none;
  border-bottom: solid 10px transparent;
  border-left: solid 20px rgb(149, 158, 155);/*折り返し部分*/
}

.wrap-simple{
  border:#000 solid 1px;
  display:flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .wrap-simple p{
    width:80%;
padding:10px;
  }
}



.img-box3c{
  display: flex;
  width:100%;
  margin:20px auto;
}

.img-box3c-child1{
  max-width:31%;
  margin:0 10px;
}

.img-box3c-child1 img{
  max-width:100%;
}

@media screen and (max-width: 768px) {
  .img-box3c-child1{
    max-width:30%;
    max-height:auto;
  }
}

.school-single-img{
  text-align: center;
}

.school-single-img img{
  width:90%;
  margin:20px;
}

.course-list{
  margin-bottom:30px;
}

.course-list li{
  padding-right:15px;
  font-size:18px;
}

.course-list a{
  border-bottom:1px dotted #999;
  color:#1B1B1B;
}

/* コースリスト変更前
.course-list{
  margin-bottom:30px;
}

.course-list li{
  display: inline;
  padding-right:15px;
  font-size:18px;
}

.course-list a{
  border-bottom:1px dotted #999;
  color:#1B1B1B;
}
*/


.simple_course-box{
  width:90%;
  padding:15px;
  margin:20px auto;
  background-color: rgb(255, 255, 255);
}

.simple_course-box-child{
  width:90%;
  padding:15px;
  margin:20px auto;
  background-color: rgb(247, 247, 247);
}

@media screen and (max-width: 768px) {
  .simple_course-box-child{
    margin:0;
  }
}

.course_list_box{
  width:100%;
  display: flex;
  flex-wrap: wrap;
  background-color: #F9FBFE;
  padding:10px;
}

.course_list_box img{
  width:100px;
}

.course_list_items{
  padding:10px;
  margin:10px;
  width:21%;
  background-color: #fff;
  text-align: center;
  box-shadow: rgb(0 0 0 / 4%) 0px 2px 10px;
}

@media screen and (max-width: 768px) {
  .course_list_items{
    width:80%;
  }
}

.course_list_items h2{
  font-weight:bold;
  text-align: center;
}
.course_list_items h4{
  font-weight:bold;
  text-align: center;
}

.course_list_items p{
  font-size:14px;
}


/* school-list.css */

.ceb-school-box{
    display:flex;
    flex-wrap:wrap;
    background: #fff;
    width: 83%;
    margin:30px auto;
    padding:30px 0 30px 20px;
    font-size:16px;
}

@media screen and (max-width: 768px) {
    .ceb-school-box{
        width:95%;
    }
}


.ceb-school-summary{
    display: flex;
    width:85%;
    margin:0 auto;
    flex-wrap: wrap;
    text-shadow: rgb(0, 0, 0) 1px 1px 1px;
    z-index: 10;
}

.ceb-school-summary-left{
 
    width:40%;
    color:#fff;
    padding:0 20px 20px;
    text-align: center;
    z-index:100;

}

.ceb-school-summary-left p{
    color:#fff;
    padding-top:20px;
}

.ceb-school-summary-1row{
 
    width:100%;
    color:#fff;
    padding:0 20px 20px;
    text-align: center;

}

.ceb-school-summary-1row p{
    color:#fff;
    padding:20px;
    text-align: center;
}



@media screen and (max-width: 768px) {
    .ceb-school-summary-left{
        width:100%;
        color:#fff;
        padding:0;
    }
}

.ceb-school-summary-right{
    display:flex;
    flex-wrap: wrap;
    width:50%;
    color:#fff;
    padding-bottom:40px;
    z-index: 100;
}

@media screen and (max-width: 768px) {
    .ceb-school-summary-right{
        width:100%;
    }
}

.ceb-school-summary-right img{
    width:100%;
}

.school-details{
    display:flex;
    width:370px;
    margin:0 auto;
    
}

.family-details{
    display:flex;
    width:100%;
    margin:0 auto;
    
}

.ceb-school-summary-child01{
    width:20%;
    display:inline;
}

.ceb-school-summary-child02{
    width:80%;
    display:inline;
}

.ceb-school-summary-child span{
    display: inline-block;
}

.school-details p{
    padding:15px;
    width:95%;
}


.school-details h4{
    width:90%;
    font-size:18px;
    font-weight:bold;
    padding:8px;
    margin:10px auto 0;
    text-align:center;
    color:#fff;
    background-color: #007db9;
}

.school-details_btn{
  display: inline-block;
  font-size:16px;
  font-weight:bold;
  padding:8px;
  margin-left:10px;
  text-align:center;
  color:#0066c0;
}

.school-details img{
    width:370px;
    height:250px;
    text-align: center;
}

.family-details img{
}

.school-list-box01{
    display: flex;
    height:auto;
    width:370px;
    margin: 10px;
    background-color: #fff;
    box-shadow: 2px 2px 4px gray;
}

.school-list-box01 a{
    color:#000;
}

@media screen and (max-width: 768px) {
    .school-list-box01{
      
    }
}
.school-list-box02{
    order:2;
    width:350px;
    height:auto;
    margin: 10px;
    background-color: #fff;
    box-shadow: 2px 2px 4px gray;
}

.school-list-box02 a{
    color:#000;
}

@media screen and (max-width: 768px) {
    .school-list-box02{
        width:100%;
    }
}

.school-list-box03{
    order:3;
    width:31%;
    height: 200px;
    margin: 10px;
    background-color: #66b6d5;
}

.school-list-box03 a{
    color:#000;
}

.school-list-box04{
    order:4;
    width:31%;
    height: 200px;
    margin: 10px;
    background-color: #66b6d5;
}

.school-list-box04 a{
    color:#000;
}

.school-list-box05{
    order:5;
    width:31%;
    height: 200px;
    margin: 10px;
    background-color: #66b6d5;
}

.school-list-box05 a{
    color:#000;
}

.ribbon16-wrapper {  
    display: block;
    position: relative;
    margin:0 auto;
    width: 100%;
    box-sizing: border-box;
    }

.list_img{
    position:relative;
}

.list_img-family{
    position:relative;
    text-align: center;
}
  
  .ribbon16 {  
    display: inline-block;
    position: absolute;
    line-height:1.2;
    top: -6px;
    right: 10px;
    margin: 0;
    padding: 10px 0 7px;
    z-index: 2;
    width: 50px;
    text-align: center;
    color: white;
    font-weight:bold;
    font-size: 13px;
    background: linear-gradient(#ff785b 0%, #e95738 100%);
    border-radius: 2px 0 0 0;
    }
  
  .ribbon16:before {
    position: absolute;
    content: '';
    top: 0;
    right: -5px;
    border: none;
    border-bottom: solid 6px #a84040;
    border-right: solid 5px transparent;
  }
  
  .ribbon16:after {
    content: '';
    position: absolute;
    left: 0;
    top: 100%;
    height: 0;
    width: 0;
    border-left: 25px solid transparent;
    border-right: 25px solid transparent;
    border-top: 10px solid #e25959;
  }

  .ribbon16-2{
    position: absolute;
    bottom:0;/*位置*/
    left: 0;
    margin: 0; /*余計な隙間を除く*/
    color: white;/*文字を白に*/
    background-color: rgba(0,0,0,0.4);/*背景色*/
    font-size: 15px;
    line-height: 1;/*行高は1に*/
    padding: 5px 10px !important;/*文字周りの余白*/
}

.ribbon16-review{
    width:300px !important;
    position: absolute;
    bottom:0;/*位置*/
    left: 0;
    margin: 0; /*余計な隙間を除く*/
    color: white;/*文字を白に*/
    background-color: rgba(0,0,0,0.4);/*背景色*/
    font-size: 15px;
    line-height: 1;/*行高は1に*/
    padding: 5px 10px !important;/*文字周りの余白*/
}

.ribbon13-wrapper {  
    display: block;
    position: relative;
    margin: 15px auto;
    padding: 10px 0;
    background: #f1f1f1;

    }
  
  .ribbon13 {
    display: inline-block;
    position: absolute;
    box-sizing: border-box;
    padding: 5px 0;
    margin: 0 0 0 -20px;
    /* width: calc(100% + 20px); */
    color: white;
    background: #70a6ff;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
  }
  
  .ribbon13 h3{
    margin: 0;
    padding: 0 30px 0 15px;
    border-top: dashed 1px #FFF;
    border-bottom: dashed 1px #FFF;
    font-size: 20px;
    line-height: 46px;
  }
  
  .ribbon13:after {
    position: absolute;
    content: '';
    z-index: 1;
    top: 0;
    right: 0;
    width: 0px;
    height: 0px;
    border-width: 30px 15px 30px 0px;
    border-color: transparent #f1f1f1 transparent transparent;
    border-style: solid;
  }
  
  .ribbon13:before {
    position: absolute;
    content: '';
    top: 100%;
    left: 0;
    border: none;
    border-bottom: solid 15px transparent;
    border-right: solid 20px #6081b7;
  }

.ribbon-rank1 {  
    display: inline-block;
    position: absolute;
    line-height:1.2;
    top: -6px;
    right: 10px;
    margin: 0;
    padding: 10px 0 7px;
    z-index: 2;
    width: 50px;
    text-align: center;
    color: white;
    font-weight:bold;
    font-size: 13px;
    background: linear-gradient(#eede66 0%, #c1ab05 100%);
    border-radius: 2px 0 0 0;
    }

    .ribbon-rank1_family { 
        right:30;
        top:4;
    }
  
  .ribbon-rank1:before {
    position: absolute;
    content: '';
    top: 0;
    right: -5px;
    border: none;
    border-bottom: solid 6px #c1ab05;
    border-right: solid 5px transparent;
  }
  
  .ribbon-rank1:after {
    content: '';
    position: absolute;
    left: 0;
    top: 100%;
    height: 0;
    width: 0;
    border-left: 25px solid transparent;
    border-right: 25px solid transparent;
    border-top: 10px solid #c1ab05;
  }

  .ribbon-rank2 {  
    display: inline-block;
    position: absolute;
    line-height:1.2;
    top: -6px;
    right: 10px;
    margin: 0;
    padding: 10px 0 7px;
    z-index: 2;
    width: 50px;
    text-align: center;
    color: white;
    font-weight:bold;
    font-size: 13px;
    background: linear-gradient(#c9caca 0%, #808080 100%);
    border-radius: 2px 0 0 0;
    }
  
  .ribbon-rank2:before {
    position: absolute;
    content: '';
    top: 0;
    right: -5px;
    border: none;
    border-bottom: solid 6px #808080;
    border-right: solid 5px transparent;
  }
  
  .ribbon-rank2:after {
    content: '';
    position: absolute;
    left: 0;
    top: 100%;
    height: 0;
    width: 0;
    border-left: 25px solid transparent;
    border-right: 25px solid transparent;
    border-top: 10px solid #808080;
  }

  .ribbon-rank-family {  
    display: inline-block;
    position: absolute;
    line-height:1.2;
    top: -6px;
    right: 15%;
    margin: 0;
    padding: 10px 0 7px;
    z-index: 2;
    width: 50px;
    text-align: center;
    color: white;
    font-weight:bold;
    font-size: 13px;
    background: linear-gradient(#eede66 0%, #c1ab05 100%);
    border-radius: 2px 0 0 0;
    }
  
  .ribbon-rank-family:before {
    position: absolute;
    content: '';
    top: 0;
    right: -5px;
    border: none;
    border-bottom: solid 6px #c1ab05;
    border-right: solid 5px transparent;
  }
  
  .ribbon-rank-family:after {
    content: '';
    position: absolute;
    left: 0;
    top: 100%;
    height: 0;
    width: 0;
    border-left: 25px solid transparent;
    border-right: 25px solid transparent;
    border-top: 10px solid #c1ab05;
  }

.material-icons-takeoff:before {
    font-family: 'Material Icons';
    content: "\e905";
    font-size:400%;
    vertical-align: middle;
    line-height: 1.3;
    color: #7ac1e2;
  }

  .material-icons-sailing:before {
    font-family: 'Material Icons';
    content: "\e502";
    font-size:400%;
    vertical-align: middle;
    line-height: 1.3;
    color: #7ac1e2;
  }

  .material-icons-grow:before {
    font-family: 'Material Icons';
    content: "\e4fb";
    font-size:400%;
    vertical-align: middle;
    line-height: 1.3;
    color: #7ac1e2;
  }

  .material-icons-bulb:before {
    font-family: 'Material Icons';
    content: "\ea24";
    font-size:500%;
    vertical-align: middle;
    line-height: 1.3;
    color: #f1ff6f;
  }

.material-icons-check:before {
    font-family: 'Material Icons';
    content: "\f0c5";
    font-size:500%;
    vertical-align: middle;
    line-height: 1.3;
    color: #f1ff6f;
  }

.short_detail p{
padding:5px 15px 5px 15px;
width:90%;
}

/***　鎌倉カラーのtable　***/

.kamakura-table {
  border-spacing: 0;
  width:90%;
	table-layout: fixed;
  font-size:13px;
  margin:8px auto 15px;
}

/* ヘッダー */
.kamakura-table thead th {
  text-align: center;
	background:#181B39;
	font-weight: bold;
	color:#fff;
  border:1px solid #e9e9e9;
}


/* ボディデータ・フッターデータ */
.kamakura-table tbody td{
	text-align:center;
  border:1px solid #e9e9e9;
}

/* 偶数行　１行ごとの色変えが不要なら削除 */
.kamakura-table tr:nth-child(2n) td {
    background: #FBFBF6;
}


/* table.css */

table{
    font-size:17px;
}

.table-scroll{
  width:100%;
  overflow-x: scroll !important;
  white-space: nowrap; /*文字の折り返しを禁止*/
}

@media screen and (max-width: 768px) {
    table{
    font-size:15px;
    }
}

/*https://b-risk.jp/blog/2018/07/table-css/*/

.tbl-r02{
    margin:20px auto;
    width:80%;
    border:1px solid rgb(236, 236, 236);
    background-color: rgb(241, 241, 241);
    border-collapse:;
    border-spacing: 0;
    padding:50px;
}

@media screen and (max-width: 768px) {
    .tbl-r02{
        padding:10px;
        width:100%;
        margin:0 auto;

    }
}


.tbl-r02 th {
    background: #fff;
    padding: 20px;
    width:30%;
  }
  .tbl-r02 td {
    background: #fff;
    padding: 5px;
    width:70%;
  }
   
    .tbl-r02 th,
    .tbl-r02 td {
  　　border-bottom: none;
    }

  @media screen and (max-width: 768px) {
    .tbl-r02 th,
    .tbl-r02 td{
        display: block;
        width:92%;
        padding:0px 15px;
    }
  }

  @media screen and (max-width: 768px) {
    .tbl-r02 th{
        font-weight: bold;
    }
  }

/* table01 */
.table01 tr {
    border-bottom: 1px solid #b5b1b1;
  }
  
  .table01 th,
  .table01 td {
    padding: 24px 0;
    border: none;
  }
  
  .table01 th {
    width: 30%;
  }
  
  /* sp */
  @media only screen and (max-width: 480px) {
    .table01 th,
    .table01 td {
      width: 100%;
      display: block;
    }
  
    .table01 th {
      width: 100%;
    }
  
    .table01 td {
      padding-top: 0;
    }
  }

  .simple_table{
    position: relative;
    margin:20px 0;
    width: 100%;
    text-align: center;
    border-collapse: collapse;
    border-spacing: 0;
   }
   .simple_table th {
    padding: 10px;
    background: #f1f1f1;
    border: solid 1px #666;
    font-size:15px;
    position: sticky;
    top: 0;
   }

   .simple_table th:nth-of-type(1){
    width:30%;
   }
   
   .simple_table td {
    padding: 10px;
    border: solid 1px #666;
    font-size:15px;
   }

  .simple_scroll {
    position: relative;
    margin:20px 0;
    width: 100%;
    text-align: center;
    border-collapse: collapse;
    border-spacing: 0;
   }
   .simple_scroll th {
    z-index: 1;
    padding: 10px;
    background: #f1f1f1;
    border: solid 1px#666;
    font-size:15px;
    white-space: nowrap;
    position: sticky;
    top: 0;
   }
   
   .simple_scroll td {
    padding: 10px;
    border: solid 1px #666;
    font-size:15px;
    table-layout: fixed;
    white-space: nowrap;
   }
  

.school-fee {
  position: relative;
  margin:20px 0;
  width: 100%;
  text-align: center;
  border-collapse: collapse;
  border-spacing: 0;
 }
 .school-fee th {
  z-index: 1;
  padding: 10px;
  background: #f1f1f1;
  border: solid 1px #666;
  font-size:15px;
  white-space: nowrap;
  position: sticky;
  top: 0;
 }
 
 .school-fee td {
  padding: 10px;
  border: solid 1px #666;
  font-size:15px;
  table-layout: fixed;
  white-space: nowrap;
 }

 .school-fee td:nth-child(n+2) {
   text-align: center;
 }

 .school-fee th:nth-child(n+2) {
  text-align: center;
}

.school-fee_2col {
  position: relative;
  table-layout: fixed;
  margin:20px 0;
  width: 100%;
  text-align: center;
  border-collapse: collapse;
  border-spacing: 0;
 }
 .school-fee_2col th {
  z-index: 1;
  padding: 10px;
  background: #f1f1f1;
  border: solid 1px#666;
  font-size:15px;
  white-space: nowrap;
  position: sticky;
  top: 0;
 }
 
 .school-fee_2col td {
  padding: 10px;
  border: solid 1px #666;
  font-size:15px;
  table-layout: fixed;
  white-space: nowrap;
 }

 .school-fee_2col td:nth-child(n+2) {
   text-align: center;
 }

 .school-fee_2col th:nth-child(n+2) {
  text-align: center;
}

.school-group {
  position: relative;
  table-layout: fixed;
  margin:20px 0;
  border-collapse: collapse;
  border-spacing: 0;
 }
 .school-group th {
  z-index: 1;
  padding: 10px;
  background-color: #6495ed;
  color:#fff;
  font-weight: bold;
  border: solid 1px#fff;
  font-size:15px;
  white-space: nowrap;
  position: sticky;
  top: 0;
 }
 
 .school-group td {
  padding: 10px;
  border: solid 1px #666;
  font-size:15px;
  table-layout: fixed;
  white-space: nowrap;
 }


.table-blue{
  width:90%;
  margin:30px auto;
}

.table-blue th{
  background: #6495ed;
  text-align: center;
  color:#fff;
  font-weight: bold;
  padding: 15px;
}


.table-vacancy{
  width:90%;
  margin:30px auto;
  border-collapse:collapse;
  border-spacing:0;
}

.table-vacancy th{
  background: #6495ed;
  text-align: center;
  color:#fff;
  font-weight: bold;
  padding: 15px;
}

.table-vacancy td{
  text-align: center;
  border: 1px solid #b5b1b1;
  font-weight: bold;
  padding: 15px;
}

@media screen and (max-width: 768px) {
  .table-blue th{
    padding: 5px;
  }
}

.table-blue td{
  padding: 10px;
  text-align: center;
  border-top:1px solid rgba(0,0,0,0.2);
  border-right:1px solid rgba(0,0,0,0.2);
}

.table-blue td:nth-of-type(1){
  border-left:1px solid rgba(0,0,0,0.2);
}

.table-blue tr:nth-child(2){
  border-top:none;
}

@media screen and (max-width: 768px) {
  .table-blue td{
    padding: 5px;
  }
}

.table-blue tr:last-child td{
  border-bottom:1px solid rgba(0,0,0,0.2);
}


.left30-blue{
  width:100%;
  margin:30px 0;
  
}

.left30-blue th{
  background: #6495ed;
  text-align: center;
  color:#fff;
  font-weight: bold;
  width:30%;
  padding: 15px;
}

@media screen and (max-width: 768px) {
  .left30-blue th{
    padding: 5px;
    width:40%;
  }
}

.left30-blue td{
  width:70%;
  padding: 15px;
  border-top:1px solid rgba(0,0,0,0.2);
  border-right:1px solid rgba(0,0,0,0.2);
}

@media screen and (max-width: 768px) {
  .left30-blue td{
    padding: 5px;
    width:60%;
  }
}

.left30-blue tr:last-child td{
  border-bottom:1px solid rgba(0,0,0,0.2);
}

.left50-blue{
  width:100%;
  margin:30px 0;
  
}

.left50-blue th{
  background: #6495ed;
  text-align: center;
  color:#fff;
  font-weight: bold;
  width:50%;
  padding: 15px;
}

@media screen and (max-width: 768px) {
  .left50-blue th{
    padding: 5px;
    width:50%;
  }
}

.left50-blue td{
  width:50%;
  padding: 15px;
  border-top:1px solid rgba(0,0,0,0.2);
  border-right:1px solid rgba(0,0,0,0.2);
}

@media screen and (max-width: 768px) {
  .left50-blue td{
    padding: 5px;
    width:50%;
  }
}

.left50-blue tr:last-child td{
  border-bottom:1px solid rgba(0,0,0,0.2);
}

/*tableソートhttps://kinocolog.com/tablesorter/*/
.tablesorter th{
  position: relative;
  cursor: pointer;
  text-align: left;
}
.tablesorter th::before, .tablesorter th::after{
  content: '';
  position: absolute;
  z-index: 2;
  right: 7px;
  width: 0;
  height: 0;
  border: 4px dashed;
  border-color: #333 transparent;
  pointer-events: none;
}
.tablesorter th::before{
  border-bottom-style: solid;
  border-top: none;
  top: 30%;
}
.tablesorter th::after{
  border-top-style: solid;
  border-bottom: none;
  bottom: 30%;
}
.tablesorter th.tablesorter-headerAsc:after{
  border: none;
}
.tablesorter th.tablesorter-headerAsc:before{
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
.tablesorter th.tablesorter-headerDesc:before{
  border: none;
}
.tablesorter th.tablesorter-headerDesc:after{
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
.tablesorter th.sorter-false:before, .tablesorter th.sorter-false:after{
  border: none;
}

/*レビューページのtable*/

.review-table{
border:none;
width:90%;
margin:0 auto;
}

.review-table img{
  width:100px;
  height:66px;
  margin-right: 15px;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .review-table img{
    width:100%;
  }
}

table.review-table tr{
  cursor:pointer;
}

table.review-table th{
  background-color: #6495ed;
  color:#fff;
  font-weight:bold;
  padding:10px 25px 10px 10px;
  border-right:darkgrey dotted 1px;
  white-space: nowrap;
}

table.review-table td{
  background-color: rgb(248, 248, 248);
  padding:15px;
  border-right:darkgrey dotted 1px;
  white-space: nowrap;
  border-bottom: 1px solid #999;
}

@media screen and (max-width: 768px) {
  table.review-table td{
    padding:8px;
    text-align: center;
  }
}

  table.review-table th:first-child{
    border-left:1px solid #999;

  }

  table.review-table th:last-child{
    border-right:1px solid #999;

  }



  table.review-table td:first-child{
    border-left:1px solid #999;
  }

  table.review-table td:last-child{
    border-right:1px solid #999;

  }

/*3カラム想定*/
.design01{
width: 100%;
margin:20px 0;
text-align: center;
border-collapse: collapse;
border-spacing: 0;
border: solid 1px #778ca3;
}
.design01 tr:nth-child(2n+1) {
background: #ebebeb;
}
.design01 th{
background-color: #6495ed;
color:#fff;
font-weight: bold;
padding:15px;
border:solid 1px;
}

.design01 td {
padding: 10px;
border: solid 1px #778ca3;
}

.design01 td:nth-child(1) {
width:200px;
}

@media screen and (max-width: 768px) {
  .design01 td:nth-child(1) {
    width:100px;
    }
  }

  /*カラム指定なしでスクロールヒント*/
  .design_free {
    position: relative;
    margin:20px 0;
    width: 100%;
    text-align: center;
    border-collapse: collapse;
    border-spacing: 0;
   }
   .design_free th {
    z-index: 1;
    padding: 10px;
    background: #6495ed;
    border:solid 1px;
    font-size:15px;
    font-weight: bold;
    color:#fff;
    white-space: nowrap;
    position: sticky;
    top: 0;
   }
   .design_free tr:nth-child(2n+1) {
    background: #efefef;
    }
   
   .design_free td {
    padding: 10px;
    border:solid 1px #778ca3;
    font-size:15px;
    table-layout: fixed;
    white-space: nowrap;
   }
  
   .design_free td:nth-child(n+2) {
     text-align: center;
   }
  
   .design_free th:nth-child(n+2) {
    text-align: center;
  }

  /*2カラム想定*/

.design02{
position: relative;
width:100%;
margin:20px 0;
text-align: center;
border-collapse: collapse;
border-spacing: 0;
border: solid 1px #778ca3;
}
.design02 tr:nth-child(2n+1) {
background: #ebebeb;
}
.design02 th{
background-color: #6495ed;
color:#fff;
font-weight: bold;
padding:15px;
border:solid 1px;
}

.design02 td {
padding: 10px;
border: solid 1px #778ca3;
}

.design02 td:nth-child(1) {
width:300px;
}

 @media screen and (max-width: 768px) {
.design02 td:nth-child(1) {
width:100px;
}
}

.design02_sm50{
  position: relative;
  width:100%;
  margin:20px 0;
  text-align: center;
  border-collapse: collapse;
  border-spacing: 0;
  border: solid 1px #778ca3;
  }
  .design02_sm50 tr:nth-child(2n+1) {
  background: #ebebeb;
  }
  .design02_sm50 th{
  background-color: #6495ed;
  color:#fff;
  font-weight: bold;
  padding:15px;
  border:solid 1px;
  }

  @media screen and (max-width: 768px) {
    .design02_sm50 th{
      width:50%;
  }
}
  
  .design02_sm50 td {
  padding: 10px;
  border: solid 1px #778ca3;
  }
  
  .design02_sm50 td:nth-child(1) {
  width:300px;
  }
  
   @media screen and (max-width: 768px) {
  .design02_sm50 td:nth-child(1) {
  width:100px;
  }
  }


/* first child 20%*/

.design02_fst20{
  width: 100%;
  margin:20px 0;
  text-align: center;
  border-collapse: collapse;
  border-spacing: 0;
  border: solid 1px #778ca3;
  }

.design02_fst20 tr td:nth-of-type(1){
  width:20%;
}

  .design02_fst20 tr:nth-child(2n+1) {
  background: #ebebeb;
  }
  .design02_fst20 th{
  background-color: #6495ed;
  color:#fff;
  font-weight: bold;
  padding:15px;
  border:solid 1px;
  }
  
  .design02_fst20 td {
  padding: 10px;
  border: solid 1px #778ca3;
  }
  
  .design02_fst20 td:nth-child(1) {
  width:300px;
  }
  
   @media screen and (max-width: 768px) {
  .design02_fst20 td:nth-child(1) {
  width:100px;
  }
  }

  /*列(th)3*/

  .table_design01 {
    width: 100%;
    margin:20px 0 20px 0;
    text-align: center;
    border-collapse: collapse;
    border-spacing: 0;
    border: solid 2px #778ca3;
   }

   @media screen and (max-width: 768px) {
    .table_design01 {
      font-size:13px;
      white-space: nowrap;
    }
   }

   .table_design01 th {
    padding: 10px;
    text-align: center;
    border: solid 1px #778ca3;
    border-bottom: dashed 1px #778ca3;
   }
   .table_design01 td {
     text-align: center;
    padding: 10px;
    border-left: solid 1px #778ca3;
   }

   .table_design01 th:nth-child(1) {
    width:20%;
  }

  .table_design01 th:nth-child(2) {
    width:40%;
  }

  .table_design01 th:nth-child(3) {
    width:40%;
  }

   .table_design01 tr {
    border-top: solid 1px #778ca3;
   }

/*列(th)5*/

   .table_design02 {
     margin:20px 0 20px 0;
    width: 100%;
    text-align: center;
    border-collapse: collapse;
    border-spacing: 0;
    border: solid 2px #778ca3;
   }

   @media screen and (max-width: 768px) {
    .table_design02 {
      font-size:13px;
      white-space: nowrap;
    }
   }

   .table_design02 th {
    padding: 10px;
    text-align: center;
    border: solid 1px #778ca3;
    border-bottom: dashed 1px #778ca3;
   }
   .table_design02 td {
     text-align: center;
    padding: 10px;
    border-left: solid 1px #778ca3;
   }

   .table_design02 th:nth-child(1) {
    width:20%;
  }

  .table_design02 th:nth-child(2) {
    width:20%;
  }

  .table_design02 th:nth-child(3) {
    width:20%;
  }

  .table_design02 th:nth-child(4) {
    width:20%;
  }

  .table_design02 th:nth-child(5) {
    width:20%;
  }

   .table_design02 tr {
    border-top: solid 1px #778ca3;
   }

table.type50{
  width:90%;
    margin:20px auto;
    font-size:15px;
  }

  
  @media screen and (min-width: 481px) {
.type50 {
    border-collapse: collapse;
    text-align: left;
    border: 2px solid #ccc;
    line-height: 1.5;
    }
  }

 .type50 thead th {
  width:25%;
    padding: 10px;
    font-weight: bold;
    vertical-align: top;
    color: #369;
    border-bottom: 3px solid #036;
    border-right:1px solid #ccc;
  }
 .type50 tbody th {
   width:25%;
    padding: 10px;
    font-weight: bold;
    vertical-align: top;
    border-bottom: 1px solid #ccc;
    border-right:1px solid #ccc;
    background: #f3f6f7;
  }

  @media screen and (max-width: 768px) {
    .type50 tbody th {
      width:35%;
    }
  }
.type50 td {
    padding: 10px;
    vertical-align: top;
    border-bottom: 1px dashed #ccc;
  }
  
  @media screen and (min-width: 0px) and (max-width: 480px) {
.type50 {
    border-collapse: collapse;
    width:100%;
    text-align: left;
    border: 2px solid #ccc;
    line-height: 1.5;
  
  }
}
.type50 thead th {
    padding: 3px;
    font-weight: bold;
    vertical-align: top;
    color: #369;
    border-bottom: 3px solid #036;
    border-right:1px solid #ccc;
  }

.type50 td {
    padding: 10px;
    vertical-align: top;
    border-bottom: 1px dashed #ccc;
    border-right: 1px  dashed #ccc;
  }

/*記事投稿時のinfomation*/
.post_info table{
  width: 100%;
}
.post_info th{
  width:22%;
  padding-right:10px;
}

.post_info iframe{
  width:100%;
  height:200px;
}


.comparison{
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  width: 490px;
  margin:50px auto;
}
@media screen and (max-width: 481px) {
  .comparison{
    width:100%;
  }
}



.comparison tr:last-child{
  border-bottom:solid 1px #ddd;
}

.comparison th{
  text-align: center;
  padding: 7px 0;
  border-right:solid 1px #ddd;
  border-left:solid 1px #ddd;
  width: 155px;
}

@media screen and (max-width: 481px) {
  .comparison th,td{
    width:33%;
  }
}

.comparison th:nth-child(1){
  background-color:#dddddd;
}

.comparison th:nth-child(3){
  background-color:#f5b932;
  color: white;
}

.comparison tr:nth-child(2) td{
  font-size: 30px;
}

@media screen and (max-width: 481px) {
  .comparison tr:nth-child(2) td{
    font-size: 25px;
  }
}


.comparison td{
  text-align: center;
  padding: 7px 0;
  border-right:solid 1px #ddd;
  border-left:solid 1px #ddd;
  width: 155px;
}



.comparison td a{
  background-color: #25b327;
  color: white;
  padding:5px 20px;
  border-radius: 30px;
  font-weight: bold;
}

.comparison .popular{
  width: 230px;
}

@media screen and (max-width: 481px) {
  .comparison .popular{
    width:33%;
  }
}



.comparison th.popular{
  position: relative;
}

.comparison th.popular span.no1{
  position: absolute;
  top: -10px;
  left:calc(50% - 30px);
  background: #bdcc28;
  width: 60px;
  font-size: 10px;
  border-radius: 15px;
  line-height: 1;
  padding: 5px;
}

.comparison th.popular span.inner{
  position: absolute;
  color:white;
  background-color: #f34955;
  left: 0;
  bottom: 0;
  display: block;
  width: 230px;
  padding: 10px 0;
  text-align: center;
}

@media screen and (max-width: 481px) {
  .comparison th.popular span.inner{
    width:100%;
  }
}

.design03{
  width: 100%;
  border-collapse: collapse;
}

.design03 tr{
  border-bottom: solid 2px white;
}

.design03 tr:last-child{
  border-bottom: none;
}

.design03 th{
  position: relative;
  text-align: left;
  width: 30%;
  background-color: #6495ed;
  color: white;
  text-align: center;
  padding:15px;
}

.design03 th:after{
  display: block;
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  top:calc(50% - 10px);
  right:-10px;
  border-left: 10px solid #6495ed;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

.design03 td{
  text-align: left;
  width: 70%;
  background-color: rgb(245, 245, 245);
  padding: 10px 25px;
}

.design10 {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border-spacing: 0;
 }
 @media screen and (max-width: 481px) {
  .design10_sm {
    
  }
 }

 .design10 th {
  padding: 10px;
  text-align: center;
  border: solid 1px #778ca3;
 }
 .design10 td {
  padding: 10px;
  text-align: center;
  border: solid 1px #778ca3;
 }

 .th_blue th{
  background: #6495ed;
  color:#fff;
  font-weight: bold;
 }

.date-table{
  width: 100%;
  border-collapse:separate;
  border-spacing: 0;
}

.date-table th:first-child{
  border-radius: 5px 0 0 0;
}

.date-table th:last-child{
  border-radius: 0 5px 0 0;
  border-right: 1px solid #3c6690;
}

.date-table th{
  text-align: center;
  color:white;
  background: linear-gradient(#829ebc,#225588);
  border-left: 1px solid #3c6690;
  border-top: 1px solid #3c6690;
  border-bottom: 1px solid #3c6690;
  box-shadow: 0px 1px 1px rgba(255,255,255,0.3) inset;
  width: 25%;
  padding: 10px 0;
}

.date-table td{
  text-align: center;
  border-left: 1px solid #a8b7c5;
  border-bottom: 1px solid #a8b7c5;
  border-top:none;
  box-shadow: 0px -3px 5px 1px #eee inset;
  width: 25%;
  padding: 10px 0;
}

.date-table td:last-child{
  border-right: 1px solid #a8b7c5;
}

.date-table tr:last-child td:first-child {
  border-radius: 0 0 0 5px;
}

.date-table tr:last-child td:last-child {
  border-radius: 0 0 5px 0;
}

.left-bold-simple {
  border-collapse: collapse;
  width: 100%;
  table-layout: fixed; /* 列幅を均等に */
}
.left-bold-simple, .left-bold-simple th, .left-bold-simple td {
  border: 1px solid black;
}
.left-bold-simple th, .left-bold-simple td {
  padding: 8px;
  text-align: center; /* 文字を中央寄せ */
}

 /* 左の1列目のスタイル */
 .left-bold-simple td:first-child {
  background-color: rgb(46, 89, 170);
  color:#fff;
  font-weight: bold;
}

/* 左の1列目の下線を#fffにする。ただし、一番下のセルを除く */
.left-bold-simple tr:not(:last-child) td:first-child {
  border-bottom: 1px solid #fff; /* 下線を白くする */
}

/* スマホなどで表が小さく表示されたときに列幅を自動調整 */
@media screen and (max-width: 600px) {
  .left-bold-simple td, .left-bold-simple th {
      font-size: 14px; /* 文字サイズを小さく調整 */
  }
}

/* 特定のセルだけ背景と文字色を変えるクラス */
.highlight-cell {
  background-color: #ffe4b5; /* モカ(暖色系) */
  color: #333; /* 落ち着いた黒に近い文字色 */
  font-weight: bold; /* 少し強調 */
}

/* 返金規定のテーブル */
.refund-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-size: 15px;
  line-height: 1.6;
}
.refund-table th,
.refund-table td {
  border: 1px solid #ddd;
  padding: 10px;
  text-align: left;
}
.refund-table th {
  background-color: #f0f6fc;
  color: #333;
  font-weight: bold;
}
.refund-table tr:nth-child(even) td {
  background-color: #fafafa;
}


/* footer.css */


/*背景*/
.wrap-footer {
    max-width: 100vw;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    background-color: #000;
    color:#fff;
    padding-top:50px;
  }


  @media screen and (max-width: 768px) {
    .wrap-footer{
      padding-top:0px;
    }
  }

  .wrap-footer a{
    color:#fff;
  }

.wrap-list-container{
    display:flex;
    justify-content: center;
    margin:0 0 30px 0;
}
  .footer-list-container{
    justify-content: center;
    width:auto;
}

@media screen and (max-width: 768px) {
  .footer-list-container{
    display:none;
  }
}

.footer-content-container{
    display: flex;
    justify-content: center;
    margin:20px auto;
    width:600px;
    border-bottom: #fff solid 1px;
    border-top: #fff solid 1px;
}

@media screen and (max-width: 768px) {
  .footer-content-container{
    width:90%;

  }
}

  .footer-sns-container{
    display: flex;
    justify-content: center;
    margin:0 auto;
    width:200px;
  }

  @media screen and (max-width: 768px) {
    .footer-sns-container{
      margin:0 auto 30px;
    }
  }

  .footer-sns-container img{
    width:30px;
}

.footer-flex-box{
    margin:10px 15px;
}


  .footer-flex-box img{
    max-width:30px;
    height:30px;
}


@media screen and (max-width: 768px) {
  .footer-flex-box{
    margin:10px;
  }
}


.footer-flex-box-headline{
    font-weight:bold;
  }

  .footer-flex-box-child{
    font-size:14px;
    margin: 10px 20px 0 0;
  }

.footer_company{
  padding-left:30px;
}

  .copyright{
    width:100vw;
    text-align:center;
    padding:20px 0;
 }
 
 .copyright p{
    display:inline;
    font-size:13px;
    vertical-align: middle;
    color:#fff;
 }

 
/*footer固定メニュー*/

#sp-fixed-menu{
  position: fixed;
  width: 100%;
  bottom: 0px;
  left:0px;
  font-size: 0;
  opacity: 1;
  z-index: 999;
}

@media screen and (max-width:768px) {
#sp-fixed-menu{
 width: 100%;
 }
}


/*メニューを横並びにする*/
#sp-fixed-menu ul{
  display: flex;
  list-style: none;
  padding:0;
  margin:0;
  width:100%;
}

#sp-fixed-menu li{
  flex-shrink: 0 !important;/*display:flexでwidthを有効にするために必要*/
  align-items: center;
  width: 25% !important;
  padding:0;
  margin:0;
  font-size: 14px;
  border-right: 1px solid #fff;
 background: #f0f0f0;
}

@media screen and (max-width:768px) {
#sp-fixed-menu li{
 font-size: 12px;
 padding: 7px 0px 10px 0px;
 width: 25%;
 text-align:center;
 }
}

@media screen and (max-width:768px) {
  #sp-fixed-menu li img{
    display: block;
    margin:0 auto;
  }
}


/*ボタンを調整*/
#sp-fixed-menu li a{
  color: #333333;
  text-align: center;
  display:block;
  line-height: 1.5em;
  width: 100%;
  padding:10px;
}

@media screen and (max-width:768px) {
#sp-fixed-menu li a{
 padding:0px;
 }
}

@media (min-width: 768px) {
  .for-sp{
     display:none;
   }
}

/*フッターアイコン*/

.fa-line:before{
  font-size:35px;
  line-height: 1em;
}

.fa-arrow-alt-circle-up:before{
  font-size:35px;
  line-height: 1.3em;
}

.fa-chevron-up:before{
  font-size:35px;
  line-height: 1.1em;
}

.fa-clipboard-list:before{
  font-size:30px;
  line-height: 1.3em;
}

.fa-envelope-open-text:before{
  font-size:30px;
  line-height: 1.3em;
}

.fa-rocket:before{
  font-size:30px;
  line-height: 1.3em;
}

.footer_logo{
  width:80%;
  margin:0 auto 20px;
}


/* form.css */


.button_must{
  display:inline;
  background-color:#f55;
  color:#fff;
  font-weight:bold;
  font-size:12px;
  padding:1px 5px 1px 5px;
  margin:4px 0 0 5px;
  border-radius:5px;
  vertical-align: top;
  right:0;
}

@media screen and (max-width: 768px) {
  .button_must{
    right:auto;
    margin-top:0px;
  }
}


.button_any{
  display: inline;
  background-color:rgb(148, 148, 148);
  color:#fff;
  font-weight:bold;
  font-size:12px;
  padding:1px 5px 1px 5px;
  margin:4px 0 0 5px;
  border-radius:5px;
  vertical-align: top;
  right:0;
}

@media screen and (max-width: 768px) {
  .button_any{
    right:auto;
    margin-top:0px;
  }
}

.formWrap{
  width:85%;
}

.formTable{
  width:80%;
  padding:10px;
}

.formTable th{
  width:30%;
}

.formTable td{
  width:70%;
}

/*料金シュミレーション*/

.formbox{
    display: flex;
    width:90%;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin:25px auto;
}

.formbox p{
  width:100%;
  padding:0px;
  margin:0px;
}

.formbox-child1{
    width:20%;
    margin:10px;
}

.formbox-child1_2{
  position:relative;
  width:25%;
  margin:10px;
}

@media screen and (max-width: 768px) {
.formbox-child1_2{
  width:70%;
}
}

.formbox-child2{
    width:75%;
    margin:10px;
}

.formbox-child2_2{
  display: flex;
  flex-wrap: wrap;
  width:55%;
  margin:10px;
}

@media screen and (max-width: 768px) {
.formbox-child2_2{
  width:100%;
}
}

.m-form-text {
    height: 2.4em;
    width: 100%;
    padding: 0 16px;
    border-radius: 4px;
    border: none;
    box-shadow: 0 0 0 1px #ccc inset;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.m-form-text:focus {
    outline: 0;
    box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}

.m-form-select {
    position: relative;
}

.m-form-select:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 12px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    transform: rotate(135deg);
    pointer-events: none;
}

.m-form-select select {
    height: 2.4em;
    width: 100%;
    padding: 0 8px;
    border-radius: 4px;
    border: none;
    box-shadow: 0 0 0 1px #ccc inset;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
}

@media screen and (max-width: 768px) {
  .m-form-select select {
    height: 2.8em;
  }
}

.m-form-select select::-ms-expand {
    display: none;
}

.m-form-select select:focus {
    outline: 0;
    box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}

.m-form-item-textarea textarea {
  height: 300px;
}

.m-form-textarea {
  display: block;
  width: 100%;
  height:150px;
  padding: 4px 16px;
  border-radius: 4px;
  border: none;
  box-shadow: 0 0 0 1px #ccc inset;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  resize: vertical;
}

.m-form-textarea:focus {
  outline: 0;
  box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}

.m-form-textarea2 {
  display: block;
  width: 100%;
  height:100px;
  padding: 4px 16px;
  border-radius: 4px;
  border: none;
  box-shadow: 0 0 0 1px #ccc inset;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  resize: vertical;
}

.m-form-textarea2:focus {
  outline: 0;
  box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}

@media screen and (max-width: 768px) {
  .m-form-textarea2 {
    width:100% !important;
  }
}

.m-form-file{
  display: block;
  padding:5px;

}

.m-form-submit-button {
  display: inline-block;
  width: 200px;
  margin:20px auto;
  padding: 8px;
  border: none;
  border-radius: 4px;
  background-color: #333;
  color: #fff;
  font-weight: bold;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  border: 2px solid transparent;
}

.m-form-submit-button:hover {
  background-color: #000;
}

.m-form-submit-button:focus {
  outline: 0;
  background-color: #000;
  border: 2px solid rgb(33, 150, 243);
}


/*見積もり箇所*/

.estimate_resultbox{
    display:flex;
    width:95%;
    flex-wrap: wrap;
    margin:20px auto;

  }
  
  
  .basic_informationbox{
    display:flex;
    width:40%;
    flex-wrap: wrap;
    align-content: flex-start;
  
  }
  
  .wrap_imformationbox{
    display: flex;
    width:95%;
    border-bottom:dashed 1px #333;
  }

  .imformation_item1{
    font-weight: bold;
    margin:10px;
    text-align: center;
    vertical-align: center;
    width:30%;
    padding:10px;
    background-color: #000;
    color:#fff;
  
  }
  
  .imformation_item2{
    width:60%;
    padding:10px;
    margin:10px;
  }
  
  .estimate_itembox{
    display:flex;
    justify-content: space-between;
    width:60%;
    flex-wrap: wrap;
  
  }

  .payment{
      width:90%;
      font-weight: bold;
      margin:15px 0 15px 15px;
  }
  
  .wrap_estimatebox{
      display: flex;
      width:100%;
      border-bottom:dashed 1px #333;
  }

  .item_name{
    width:40%;
    margin:5px;
    font-weight: bold;
  
  }

  .item_currency{
    width:30%;
    margin:5px;
    text-align: right;
  
  }
  
  .item_fee{
    width:30%;
    margin:5px;
    text-align: right;
  }

  .total_name{
    width:50%;
    margin:5px;
    font-weight: bold;
  
  }
  
  .total_fee{
    width:45%;
    margin:5px;
    text-align: right;
    font-weight: bold;
  }

.estimate_total{
  width:90%;
  display:flex;
  margin:30px auto;
  justify-content:space-between;

}

.estimate_total-child1{
  width:40%;
  font-size:25px;
  font-weight:bold;
}

.estimate_total-child2{
  width:40%;
  font-size:25px;
  font-weight:bold;
  text-align:right;
}

.estimate_total-child3{

}

/* チェックボックスの装飾 */
.checkbox_input {
  display: none;
}

.checkbox_parts {
  padding-left: 25px;
  position: relative;
}

.checkbox_parts::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  border: 1px solid #999;
}

.checkbox_input:checked+.checkbox_parts::after {
  content: "";
  display: block;
  position: absolute;
  top: -5px;
  left: 5px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #0050c1;
  border-right: 3px solid #0050c1;
}

#other_room{
  width:100%;
}

.school_checkbox{
  width:45%;
}

.form_btn{
width:10%;
}

@media screen and (max-width: 768px) {
  .form_btn{
    width:20%;
  }
}

.alertarea{
  color:red;
  font-weight: bold;
}


/* scroll-hint.css */

@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%,
  100% {
    transform: translateX(-40px);
    opacity: 0;
  }
}

.scroll-hint.is-right-scrollable {
  background: linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-right-scrollable.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint-icon {
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 60px);
  box-sizing: border-box;
  width: 120px;
  height: 80px;
  border-radius: 5px;
  transition: opacity .3s;
  opacity: 0;
  background: rgba(0, 0, 0, .7);
  text-align: center;
  padding: 20px 10px 10px 10px;
}

.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none;
}

.scroll-hint-text {
  font-size: 10px;
  color: #FFF;
  margin-top: 5px;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: .8;
}

.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #FFF;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  opacity: 0;
  transition-delay: 2.4s;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2;
}

.scroll-hint-icon-white {
  background-color: #FFF;
  box-shadow: 0 4px 5px rgba(0, 0, 0, .4);
}

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
  color: #000;
}

/*学校の特徴のフォントサイズ調整*/
.material-icons-course {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: bold !important; /* ← これで太字だけ維持 */
  line-height: normal !important;
}