@charset "utf-8";

/*base*/
html {
  font-size: 62.5%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.2);
}

body {
  font-size: 1.6rem;
  /*16px*/
  line-height: 1.6;
  height: 100%;
  min-height: 100%;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  font-weight: 300;
  color: #333;
  overflow-x: hidden;
}

a {
  color: #3ba3b3;
  transition: .3s;
  -moz-transition: .3s;
  -webkit-transition: .3s;
}

a:hover {
  opacity: 0.7;
  text-decoration: none;
}

a img {
  transition: opacity .5s;
  -moz-transition: opacity .5s;
  -webkit-transition: opacity .5s;
}

::selection {
  background: rgba(221, 235, 243, 1);
}

::-moz-selection {
  background: rgba(221, 235, 243, 1);
}

/*clearfix*/
.cf:before,
.cf:after {
  content: "";
  display: block;
  overflow: hidden;
}

.cf:after {
  clear: both;
}

.cf {
  zoom: 1;
}

/*tool*/
.fl,
.fl_l {
  float: left;
}

.fr,
.fl_r {
  float: right;
}

.cl {
  clear: both
}

.tc,
.txt_c {
  text-align: center !important;
}

.tl {
  text-align: left !important;
}

.tr {
  text-align: right !important;
}

.b,
.bold {
  font-weight: 600 !important;
}

.st {
  font-weight: 600;
  background: rgba(255, 76, 90, 0.35);
  padding: 0 5px;
  margin: 0 5px;
}

.red {
  color: rgba(238, 0, 0, 1);
}

.blue {
  color: rgba(26, 128, 196, 0.85);
}

.orange {
  color: rgba(255, 77, 0, 0.85);
}

.brown {
  color: rgba(65, 14, 0, 0.75);
}

.gray {
  color: rgba(0, 0, 0, 0.35);
}

/*margin*/
.mt0 {
  margin-top: 0 !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.sws .mt50,
.sws .mt60,
.sws .mt70,
.sws .mt80,
.sws .mt90 {
  margin-top: 40px !important;
}

.mt100.sp {
  margin-top: 60px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.sws .mb50 {
  margin-bottom: 40px !important;
}

/*width*/
.w10 {
  width: 10%;
}

.w15 {
  width: 15%;
}

.w20 {
  width: 20%;
}

.w25 {
  width: 25%;
}

.w30 {
  width: 30%;
}

.w35 {
  width: 35%;
}

.w40 {
  width: 40%;
}

.w45 {
  width: 45%;
}

.px100 {
  width: 100px;
}

.px200 {
  width: 200px;
}

.m_a{
  margin-right:auto;
  margin-left:auto;
}

/*br*/
.sws .brs,
.swp .brp {
  display: block;
}

.sws .brp,
.swp .brs {
  display: none;
}

@media screen and (max-width: 895px) { /* SPレイアウト */
  .sp {
    display: block;
  }

  .pc {
    display: none;
  }
}

@media screen and (min-width: 896px) { /* PCレイアウト */
  .sp {
    display: none;
  }

  .pc {
    display: block;
  }
}

/*img*/
.fl_img,
.fr_img {
  position: relative;
}

.fl_img {
  float: left;
  margin: 0 15px 10px 0;
}

.fr_img {
  float: right;
  margin: 0 0 10px 15px;
}

.sws .fl_img,
.sws .fr_img {
  float: none;
  text-align: center;
  margin: 0 -10px 1.5rem;
}

.fl_img.blur:after,
.fr_img.blur:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  box-shadow: inset 0px 0px 10px 10px #fff;
}

.img_cap {
  display: block;
  font-size: 1.3rem;
  line-height: 1.35;
  text-align: center;
  padding: 8px;
  margin: 0 auto;
  background: #f9f5f0;
  box-sizing: border-box;
}

.fl_img img,
.fr_img img {
  max-width: 250px;
}

#company .img_cap {
  max-width: 200px;
}

#covid-19 .img_cap {
  text-align: left;
}

.swp#philosophy .fl_img img,
.swp#philosophy .fr_img img {
  max-width: 320px;
}

.sws#philosophy .fl_img,
.sws#philosophy .fr_img {
  max-width: 375px;
  margin: 0 auto 10px;
}

.sws#philosophy .fl_img img,
.sws#philosophy .fr_img img {
  max-width: 375px;
}

.img_small img,
.img_big img {
  -moz-transition: -moz-transform 0.2s ease;
  -webkit-transition: -webkit-transform 0.2s ease;
  -o-transition: -o-transform 0.2s ease;
  -ms-transition: -ms-transform 0.2s ease;
  transition: transform 0.2s ease;
}

.img_small img:hover {
  -webkit-transform: scale(0.9);
  -moz-transform: scale(0.9);
  -o-transform: scale(0.9);
  -ms-transform: scale(0.9);
  transform: scale(0.9);
}

.img_big img {
  width: 90%;
}

.img_big img:hover {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -o-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}

/*wrap*/
#wrap {
  position: relative;
  padding-bottom: 60px;
}

#body1 {
  margin: 0 auto;
  width: 1024px;
}

#body2 {
  text-align: left;
  font-size: 13px;
  line-height: 18px;
}

.swp #layout {
  width: 1024px;
  margin-top: 32px;
}

.swp #main {
  width: 800px;
  float: right;
  margin-top: -21px;
}

/*head sp*/
.sws #head {
  width: 100%;
  height: auto;
  transition: 0.5s;

  &.hide {
    opacity: 0;
    transition: 0.5s;
  }
}

.sws #head .head_wrap {
  width: auto;
  height: 100%;
}

.sws #head .catch {
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.03em;
  color: #5d3a2f;
  background: rgba(244, 236, 225, 0.5);
  text-align: center;
  padding: 5px 0 3px;
  margin-bottom: 3px;
}

.sws #head .head_box {
  display: flex;
  justify-content: space-between;
  padding: 5px 54px 5px 5px;
  margin-bottom: 4px;
  position: relative;
  height: 65px;
}

.sws #head .logo {
  margin-top: 0.5em;
}

.sws #head .logo img {
  max-height: 50px !important;
  max-width: 120px !important;
}

.swp #head .logo img {
  width: 230px;
}

/*head pc*/
.swp #head {
  background: url(/img/header/renewal/bg.gif) repeat-x left bottom #fff;
  min-width: 1024px;
}

.swp #head .head_wrap {
  width: 1024px;
  height: 100%;
  margin: 0 auto;
}

.swp #head .catch {
  margin: 3px auto -8px;
  font-size: 11px;
}

.swp #head .head_box {
  width: 768px;
  height: 136px;
  float: right;
}

.swp #head .logo {
  float: left;
  margin-top: 19px;
}

.swp #head .head_bt {
  width: 768px;
  height: 90px;
  display: flex;
  justify-content: right;
  align-items: center;
}

#head .head_tel {
  float: left;
  margin-top: 27px;
}

#head .head_contact {
  float: right;
  min-width: 150px;
}

#head .head_contact ul {
  width: auto;
}

#head .head_contact li {
  float: right;
  margin: 5px 0 0 0;
}

#gnav {
  width: 768px;
  height: 41px;
  margin-top: 3px;
}

.head_box,
.header_box {
  align-items: center;

  .head_contact ul {
    display: flex;
    justify-content: flex-end;
    flex-basis: 64%;
    gap: 2%;
    width: 360px;
    font-size: 1.7rem;

    li {
      flex-basis: 40%;

      .bt_mess {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-flow: column;
        height: 50px;
        gap: 3px;
        padding: 2px 5px;
        border-radius: 5px;
        text-align: center;
        font-size: 0.65em;
        letter-spacing: 0.5px;
        line-height: 1.3;
        text-decoration: none;
        background: #cb5274;

        img {
          width: 18px;
          height: auto;
        }
      }

      .bt_mess.search {
        background: rgb(246, 178, 77);
        color: #fff;
      }

      .bt_mess.space_ask {
        background: #2684ff;
        color: #fff;
      }

      & .line.bt_mess {
        background: #06c755;
        font-weight: 600;
        font-size: 1.2rem;
        color: #fff;
      }
    }
  }
}

/* gNav */
.gNavArea {
  position: relative;
}

.gNavWord {
  position: absolute;
  top: 8px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  width: 100%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.gNavWordSchool {
  position: absolute;
  top: 2px;
  left: 13px;
}

.gNavWordB {
  position: absolute;
  top: 2px;
  left: 10px;
}

.gNavWordUseful {
  position: absolute;
  top: 2px;
  left: 3px;
}

.gNavWordAlumni {
  position: absolute;
  top: 6px;
  left: 18px;
}

.gNavSmallWord {
  margin-left: 5px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
}

.gNavSmallWordUseful {
  margin-left: 2px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
}

.gNavBigWord {
  font-size: 18px;
  font-weight: 800;
}

.gNavMaxBigWord {
  font-size: 22px;
  font-weight: 800;
}

.shcoolGNav4Word {
  position: absolute;
  top: 28%;
  left: 24px
}

.shcoolGNav5Word {
  position: absolute;
  top: 28%;
  left: 17px
}

.shcoolGNav8Word {
  position: absolute;
  top: 28%;
  left: 1px;
  width: 120px;
}

.shcoolGNavNormalWord {
  font-size: 14px;
  font-weight: 800;
}

.shcoolGNavBigWord {
  font-size: 16px;
  font-weight: 800;
}

.onWord {
  color: #572900;
}

.offWord {
  color: #de9462;
}

#nav_license .mdd_lv2 li,
#nav_purpose .mdd_lv2 li {
  font-size: 1.3rem;
}

ul.mdd_lv3 li {
  font-size: 0.95rem;
}

#nav_useful .nav_set .nav_txt,
#nav_area .nav_set .nav_txt a {
  font-size: 1.3rem !important;
}

.nav_set .mdd_lv3 li a:hover {
  font-weight: normal !important;
}

/*foot pc*/
#foot {
  background: #eee4d2;
  padding-top: 5px;
  margin-top: 25px;
}

#foot aside {
  text-align: center;
  margin: 10px 0;
  font-size: 14px;
  line-height: 24px;
}

#foot aside a {
  text-decoration: underline;
  color: #333;
}

#foot .toppage {
  text-align: center;
  margin: 10px 10px 30px;
  height: 15px;
}

#foot .toppage a {
  background: url(/sp/images/index/menu_icon.png) no-repeat left center;
  color: #333;
  padding: 0 0 0 13px;
  mix-blend-mode: multiply;
}

#foot #copy {
  font-size: 1.2rem;
  color: #520;
  background: #eee4d2;
  text-align: center;
  padding: 8px;
  margin: 10px 0 68px;
}

.swp #foot #copy {
  margin: 0;
}

/*foot sp*/
#foot #f_li_in {
  background: #eee4d2;
  border-bottom: 2px solid #d3b69a;
  margin-top: 35px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

#foot .f_li {
  padding-top: 5px;
  flex-basis: 20%;
}

#foot .f_li:nth-child(3) {
  width: 285px;
}

#foot .f_li:nth-child(4) {
  width: 239px;
}

#foot .f_li dt {
  text-align: center;
  background: #693614;
  border-radius: 8px;
  color: #fff;
  font-size: 1.3rem;
  line-height: 1.6;
  margin: 6px;
}

#foot .f_li dd {
  text-align: left;
  line-height: 1.4;
}

#foot .f_li a {
  text-decoration: none;
  color: #520;
  margin-left: 10px;
  font-size: 1.15rem;
}

#foot .f_li a:hover {
  color: #e8710a;
}

#foot .f_li a:before {
  color: #520;
  content: "★";
  font-size: 1rem;
  margin-right: 3px;
  position: relative;
  top: -1px;
}

/*footer_fix*/
.footer_fix {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 9999;
  width: 100vw;
  transition: .3s;
  background: rgba(225, 225, 225, 0.6);
}

.footer_fix img {
  vertical-align: bottom;
}

.footer_fix .footer_fix_bt {
  display: flex;
  justify-content: space-between;
  padding: 5px 0;
}

.footer_fix .footer_txt {
  background: rgba(255, 80, 15, 0.7);
  color: #fff;
  padding: 3px;
  text-align: center;
}

.footer_fix .footer_fix_bt li {
  text-align: center;
}

.footer_fix .footer_fix_bt .bt_tel {
  flex-basis: 28%;
}

.footer_fix .footer_fix_bt .bt_tel.tri_1 {
  flex-basis: 32%;
}

.footer_fix .footer_fix_bt .bt_space_ask {
  flex-basis: 44%;
}

.footer_fix .footer_fix_bt .bt_space_ask.tri_1 {
  flex-basis: 31%;
}

.footer_fix .footer_fix_bt .bt_order {
  flex-basis: 28%;
}

.footer_fix .footer_fix_bt .bt_order.tri_1 {
  flex-basis: 44%;
}

.footer_fix .footer_fix_bt .bt_pamphlet {
  flex-basis: 25%;
}

.footer_fix .footer_fix_bt .only {
  flex-basis: 100%;
}

.footer_fix .footer_fix_bt .two_w {
  flex-basis: 50%;
}

.footer_fix .footer_fix_bt .two_n {
  flex-basis: 50%;
}

.footer_fix .footer_fix_bt li div,
.footer_fix .footer_fix_bt li a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 27px;
  margin: 5px;
  padding: 10px;
  padding-left: 30px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.3rem;
  letter-spacing: 0.07em;
  background-size: 20px 20px !important;
  background-position: 26% 50% !important;
  transition: all 0.3s;
  border-radius: 0.2rem;
  text-decoration: none;
}

.footer_fix .footer_fix_bt li div span,
.footer_fix .footer_fix_bt li a span {
  font-size: 1.6rem !important;
  font-weight: 600;
}

.footer_fix .footer_fix_bt.tri li div,
.footer_fix .footer_fix_bt.tri li a {
  background-position: 12px 50% !important;
}

.footer_fix .footer_fix_bt li.bt_tel a,
.footer_fix .footer_fix_bt li.bt_tel div {
  background-position: 16% 51% !important;
}

.footer_fix .bt_tel a {
  background: url(/img/common/bt_tel.png) no-repeat rgb(255 143 74 / 95%);
}

.footer_fix .bt_space_ask div,
.footer_fix .bt_space_ask a {
  background: url(/img/common/bt_space_ask.png) no-repeat rgba(0, 30, 170, 0.95);
}

.footer_fix .bt_order div,
.footer_fix .bt_order a {
  background: url(/img/common/bt_order.png) no-repeat rgba(170, 15, 0, 0.9);
}

.footer_fix .bg_blue>div,
.footer_fix .bg_blue>a {
  background: rgba(0, 30, 170, 0.95);
  box-shadow: 0 5px 0 rgb(85 106 165 / 90%);
}

.footer_fix .footer_fix_bt .bt_line a {
  background: #06c755;
  opacity: 1;
  padding-left: 5%;
}

.footer_fix .footer_fix_bt li a:active {
  margin-top: 10px;
  margin-bottom: -10px;
  transition: all 0.3s;
  box-shadow: none;
}

/* @media screen and (min-width:768px){
  #topcontrol{
    position: unset !important;
    display: none;
  }
} */
/*side*/
#side {
  float: left;
  width: 195px;
  padding-right: 13px;
  border-right: dashed 2px #eee;
  margin-top: 10px;
}

#side a {
  color: #0066cc;
}

#side a:hover {
  color: #ff8c00;
  text-decoration: underline !important;
}

#side .carbox {
  background-color: #f8f8f0;
  border: 2px solid #ccc;
  margin-bottom: 15px;
}

#side .carbox .title {
  padding: 5px 0px 5px 5px;
  border-bottom: 5px solid #eb6101;
  background-color: #eeece4;
  font-size: 14px;
}

#side .carbox .title a {
  color: #444;
  font-weight: bold;
  text-decoration: none !important;
}

#side .carbox .title a:hover {
  opacity: 0.7;
}

#side .carbox ul li {
  border-top: 1px solid #ccc;
  padding: 15px 0px;
  background-color: #fff;
}

#side .carbox ul li a {
  text-decoration: none;
  font-weight: bold;
  display: block;
  padding: 0 0 0 35px;
  color: #444;
}

#side .carbox ul li a:hover {
  text-decoration: underline;
  color: #ff9600;
}

#side .carbox ul li:hover {
  background-color: #fefae6;
  cursor: pointer;
}

#side .carbox ul li.half {
  float: left;
  width: 49.5%;
}

#side .carbox ul li.half_l {
  float: left;
  width: 49.5%;
  border-right: 1px solid #ccc;
}

#side .carbox ul li.futsu {
  background: #fff url(/img/side/car/futsu_i.png) no-repeat scroll 5px 14px;
  font-size: 15px;
}

#side .carbox ul li.futsu:hover {
  background: #fefae6 url(/img/side/car/futsu_i.png) no-repeat scroll 5px 14px;
  font-size: 15px;
}

#side .carbox ul li.nirin {
  background: #fff url(/img/side/car/f-nirin.png) no-repeat scroll 5px 14px;
  font-size: 15px;
}

#side .carbox ul li.nirin:hover {
  background: #fefae6 url(/img/side/car/f-nirin.png) no-repeat scroll 5px 14px;
  font-size: 15px;
}

#side .carbox ul li.j-chugata {
  background: #fff url(/img/side/car/j-chugata.png) no-repeat scroll 5px 14px;
  font-size: 15px;
}

#side .carbox ul li.j-chugata:hover {
  background: #fefae6 url(/img/side/car/j-chugata.png) no-repeat scroll 5px 14px;
  font-size: 15px;
}

#side .carbox ul li.o-nirin {
  background: #fff url(/img/side/car/o-nirin.png) no-repeat scroll 5px 14px;
}

#side .carbox ul li.o-nirin:hover {
  background: #fefae6 url(/img/side/car/o-nirin.png) no-repeat scroll 5px 14px;
}

#side .carbox ul li.chugata {
  background: #fff url(/img/side/car/chugata.png) no-repeat scroll 5px 14px;
}

#side .carbox ul li.chugata:hover {
  background: #fefae6 url(/img/side/car/chugata.png) no-repeat scroll 5px 14px;
}

#side .carbox ul li.ogata {
  background: #fff url(/img/side/car/ogata.png) no-repeat scroll 5px 14px;
}

#side .carbox ul li.ogata:hover {
  background: #fefae6 url(/img/side/car/ogata.png) no-repeat scroll 5px 14px;
}

#side .carbox ul li.daitoku {
  background: #fff url(/img/side/car/daitoku.png) no-repeat scroll 5px 14px;
}

#side .carbox ul li.daitoku:hover {
  background: #fefae6 url(/img/side/car/daitoku.png) no-repeat scroll 5px 14px
}

#side .carbox ul li.kenin {
  background: #fff url(/img/side/car/kenin.png) no-repeat scroll 5px 14px;
}

#side .carbox ul li.kenin:hover {
  background: #fefae6 url(/img/side/car/kenin.png) no-repeat scroll 5px 14px;
}

#side .carbox ul li.f-nishu {
  background: #fff url(/img/side/car/f-nishu.png) no-repeat scroll 5px 14px;
}

#side .carbox ul li.f-nishu:hover {
  background: #fefae6 url(/img/side/car/f-nishu.png) no-repeat scroll 5px 14px;
}

#side .carbox ul li.chu-nishu {
  background: #fff url(/img/side/car/chu-nishu.png) no-repeat scroll 5px 14px;
}

#side .carbox ul li.chu-nishu:hover {
  background: #fefae6 url(/img/side/car/chu-nishu.png) no-repeat scroll 5px 14px;
}

#side .carbox ul li.o-nishu {
  background: #fff url(/img/side/car/o-nishu.png) no-repeat scroll 5px 14px;
}

#side .carbox ul li.o-nishu:hover {
  background: #fefae6 url(/img/side/car/o-nishu.png) no-repeat scroll 5px 14px;
}

#side .areabox {
  background-color: #f8f8f0;
  border: 2px solid #ccc;
  margin-bottom: 15px;
}

#side .areabox .title {
  padding: 5px 0px 5px 5px;
  border-bottom: 5px solid #c3d825;
  background-color: #eeece4;
  font-size: 15px;
}

#side .areabox .title a {
  color: #444;
  font-weight: bold;
  font-size: 95%;
  text-decoration: none !important;
}

#side .areabox .title a:hover {
  opacity: 0.7;
}

#side .areabox .searchArea {
  width: 191px;
  height: 250px;
  background: #fff url(/img/side/area/map.gif) no-repeat bottom;
  position: relative;
}

#side .areabox .searchArea .click {
  position: absolute;
  top: 5px;
  left: 3px;
}

#side .areabox .searchArea .hokkaido {
  position: absolute;
  top: 44px;
  left: 142px;
  width: 44px;
  height: 19px;
}

#side .areabox .searchArea .tohoku {
  position: absolute;
  top: 106px;
  left: 135px;
  width: 31px;
  height: 19px;
}

#side .areabox .searchArea .kanto {
  position: absolute;
  top: 168px;
  left: 147px;
  width: 31px;
  height: 19px;
}

#side .areabox .searchArea .hokuriku {
  position: absolute;
  top: 157px;
  left: 103px;
  width: 38px;
  height: 48px;
}

#side .areabox .searchArea .kansai {
  position: absolute;
  top: 185px;
  left: 73px;
  width: 31px;
  height: 19px;
}

#side .areabox .searchArea .chugoku {
  position: absolute;
  top: 178px;
  left: 36px;
  width: 31px;
  height: 19px;
}

#side .areabox .searchArea .shikoku {
  position: absolute;
  top: 209px;
  left: 42px;
  width: 31px;
  height: 19px;
}

#side .areabox .searchArea .kyushu {
  position: absolute;
  top: 206px;
  left: 2px;
  width: 31px;
  height: 19px;
}

#side .areabox .searchArea .okinawa {
  position: absolute;
  top: 108px;
  left: 30px;
  width: 33px;
  height: 19px;
}

#side .schoollist {
  background-color: #fff;
  border: 2px solid #ccc;
  margin-bottom: 15px;
}

#side .schoollist .title {
  padding: 5px 0px 5px 5px;
  border-bottom: 5px solid #f0908d;
  background-color: #eeece4;
  font-size: 15px;
  font-size: 110%;
  font-weight: bold;
  color: #444;
}

#side .schoollist .title a {
  color: #444;
  font-weight: bold;
  text-decoration: none;
}

#side .schoollist .listwrap dt {
  border-bottom: 1px solid #ccc;
}

#side .schoollist .listwrap dd {
  border-bottom: 1px solid #ccc;
}

#side .schoollist .listwrap dt {
  background-color: #f7f5e7;
  font-size: 12px;
  padding: 5px;
  padding-left: 10px;
}

#side .schoollist .listwrap dt a {
  display: block;
  text-decoration: none;
  font-weight: bold;
  color: #444;
}

#side .schoollist .listwrap dt a:hover {
  text-decoration: underline;
  color: #ff9600;
}

#side .schoollist .listwrap dd {
  font-size: 11px;
  padding: 5px;
  padding-left: 8px;
}

#side .schoollist .listwrap dd a {
  display: block;
  text-decoration: none;
  color: #000;
}

#side .schoollist .listwrap dd a:hover {
  text-decoration: underline;
  color: #ff9600;
}

#side .schoollist .listwrap dd:hover {
  background-color: #fefae6;
  cursor: pointer;
}

#side .listlink {
  background-color: #f8f8f0;
  border: 2px solid #ccc;
  margin-bottom: 15px;
}

#side .listlink .title {
  padding: 5px 0px 5px 5px;
  border-bottom: 5px solid #0095d9;
  background-color: #eeece4;
  font-size: 15px;
}

#side .listlink .title a {
  color: #444;
  font-weight: bold;
  font-size: 95%;
  text-decoration: none !important;
}

#side .listlink .title a:hover {
  opacity: 0.7;
}

#side .sub {
  border: solid 1px #ccc;
  border-top: solid 5px #ccc;
}

#side .sub .title {
  padding: 5px;
  border-bottom: solid 1px #ccc;
  font-size: 13px;
  background-color: #f4f4f4;
  color: #595960;
}

#side .sub .left {
  width: 70px;
  float: left;
}

#side .sub .right {
  width: 99px;
  float: right;
}

#side .sub .inner {
  padding: 10px 7px;
  color: #000;
}

#side .sub .inner:hover {
  background-color: #fffacd;
}

#side .sub dd {
  font-size: 9px;
  margin-top: 5px;
}

#side .sub .inner dt {
  font-weight: bold;
  font-size: 90%;
}

#side .sub a {
  text-decoration: none;
}

#side .sub a:hover {
  text-decoration: none !important;
}

#side .sub p:hover {
  text-decoration: none;
}

#side .sub .sub_txt {
  padding: 5px 10px 10px;
  font-size: 85%;
}

/*bc sp*/
.sws .bc {
  overflow-x: scroll;
  background-color: #FFF;
  position: absolute;
  bottom: 0;
  width: 100%;
}

.sws .bc ol {
  list-style: none;
  display: table;
  padding: 5px 0;
}

.sws .bc ol li img {
  vertical-align: middle;
  max-width: 25px;
}

.sws .bc ol li {
  padding: 0 1em;
  display: table-cell;
  white-space: nowrap;
  vertical-align: middle;
  background: rgba(244, 236, 225, 0.8);
  position: relative;
  border-radius: 2px;
}

.sws .bc ol li>* {
  display: block;
  font-size: 1.4rem;
  line-height: 25px;
  color: rgba(45, 4, 0, 0.9);
  background: rgba(244, 236, 225, 0);
  padding: 0 5px 0 30px;
}

.sws .bc ol li:first-child>* {
  padding-left: 10px;
}

.sws .bc ol li:after {
  content: '';
  position: absolute;
  top: 0;
  left: 100%;
  background: url(/sp/images/common/breadcrumb/arrow_01.png) no-repeat;
  background-size: 60%;
  width: 23px;
  height: 27px;
  z-index: 1;
}

.sws .bc ol li:nth-last-child(2)::after {
  content: '';
  position: absolute;
  top: 0;
  left: 100%;
  background: url(/sp/images/common/breadcrumb/arrow_02.png) no-repeat;
  background-size: 60%;
  width: 23px;
  height: 27px;
  z-index: 1;
}

.sws .bc ol li:last-child:after,
.sws .bc ol li:last-child:before {
  display: none;
}

.sws .bc ol .current {
  background-color: rgba(45, 4, 0, 0.9);
}

.sws .bc ol .current>* {
  background-color: rgba(45, 4, 0, 0);
  color: #fff;
}

/*bc pc*/
.swp .bc {
  font-size: 11px;
  line-height: 11px;
  position: relative;
  left: -225px;
  margin-bottom: 10px;
  width: max-content;
}

.swp .bc li {
  float: left;
  margin-right: 10px;
  margin-bottom: 10px;
}

.swp .bc li:after {
  content: "＞";
  margin-left: 10px;
}

.swp .bc li:last-child:after {
  content: none;
  margin-left: 0;
}

.swp .bc a {
  color: #333;
  text-decoration: none;
}

.swp .bc a:hover {
  color: #da8;
}

/*main_img*/
.main_img {
  text-align: center;

  img {
    width: 100%;
    max-width: none;
  }
}

/*time*/
.time {
  text-align: right;
  margin-top: 10px;
}

.time:before {
  content: "更新日：";
  font-size: 1.05rem;
}

/*tit sp*/
.sws .tit1 {
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 9px 5px 5px;
  margin: 0 0 10px;
  color: rgba(255, 255, 255, 0.95);
  background: rgba(45, 4, 0, 0.9);
  border-top: 1px solid rgba(20, 4, 0, 0.95);
  border-bottom: 3px solid rgba(20, 4, 0, 0.8);
  text-shadow: 1px 1px 2px rgba(20, 4, 0, 0.8);
}

.sws .tit1_s {
  display: block;
  font-size: 90%;
}

.sws .tit1_sup {
  display: block;
  font-size: 90%;
  font-weight: 400;
  color: rgba(225, 225, 225, 0.8);
}

.sws .tit2 {
  position: relative;
  overflow: hidden;
  margin: 20px 0 10px;
  padding: 10px 0;
  background: #f9f5f0;
  border-top: 2px solid #411c19;
  border-bottom: 1px solid #411c19;
  line-height: 40px;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.6;
  color: #411c19;
}

.sws .sws .tit2_s {
  display: block;
  font-size: 90%;
}

.sws .tit3 {
  margin: 25px 5px 15px;
  padding: 0 0 2px;
  font-size: 1.1em;
  line-height: 1.6em;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #5d3a2f;
  border-bottom: 2px solid #411c19;
}

.sws .tit4 {
  font-size: 1em;
  line-height: 1.6;
  letter-spacing: 0.03em;
  border-left: 5px solid #411c19;
  padding-left: 6px;
  font-weight: 600;
  color: #5d3a2f;
}

.sws .tit4:not(p) {
  margin: 25px auto 10px;
  width: 92%;
}

.sws p .tit4 {
  margin: 10px 0;
}

.tit5 {
  position: relative;
  display: inline-block;
  color: #5d3a2f;
  font-size: 1.05em;
  font-weight: 600;
  margin-top: 1em;
  margin-bottom: 1.5em;
}

.tit5:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px;
  content: '';
  background-image: -webkit-repeating-linear-gradient(135deg, #5d3a2f, #5d3a2f 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, #5d3a2f, #5d3a2f 1px, transparent 2px, transparent 5px);
  background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/*tit pc*/
.swp .tit1 {
  background: url(/img/hl/sec_tit_01.png) no-repeat;
  font-size: 150%;
  padding: 11px 0 11px 45px;
  margin: 0 0 10px;
  color: #520;
  font-weight: normal;
  text-align: left;
  width: 100%;
  height: 20px;
  line-height: 100%;
}

.swp .tit2 {
  background: url(/img/hl/sec_tit_02.png) no-repeat;
  font-size: 150%;
  line-height: 240%;
  padding: 0 0 0 40px;
  margin: 50px 0 25px;
  height: 45px;
  color: #410;
  width: 100%;
  text-align: left;
}

.swp .tit3 {
  margin: 25px 0 15px;
  padding: 0 0 2px;
  font-size: 1.8rem;
  line-height: 1.6em;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #5d3a2f;
  border-bottom: 2px solid #411c19;
}

.swp .tit4 {
  line-height: 1.6;
  letter-spacing: 0.03em;
  border-left: 5px solid #411c19;
  margin-top: 20px;
  margin-bottom: 10px;
  padding-left: 6px;
  font-weight: 600;
  font-size: 1.6rem;
  color: #5d3a2f;
}

.swp .tit5 {
  background: url(/img/school-material/common/h-3.gif) no-repeat;
  font-size: 13px;
  line-height: 13px;
  font-weight: bold;
  padding: 1px 0 0 25px;
  color: #520;
  margin: 0 0 5px 0;
}

/*txt*/
.txt {
  font-size: 1.6rem;
  line-height: 1.8;
  color: #333;
  margin: 0 auto;
}

.sws .txt {
  width: 96%;
}

#c0 div.txt {
  margin-top: 0.5em;
}

.txt p {
  margin-bottom: 15px;
}

.txt p:last-child {
  margin-bottom: 0;
}

.txt p a {
  font-size: 1.5rem;
  font-weight: 600;
}

.txt p .big {
  font-size: 2.0rem;
  font-weight: 600;
  margin: 0 3px;
}

.sws .txt p .big {
  font-size: 1.8rem;
}

.txt .note {
  font-size: 1.5rem;
  line-height: 1.3;
  padding-left: 1.3rem;
  text-indent: -1.5rem;
  margin-bottom: 8px;
}

.txt .note:before {
  content: "※";
  padding-right: 5px;
  font-size: 80%;
  position: relative;
  top: -1px;
}

.txt .note.n1:before {
  content: "※1";
}

.txt .note.n2:before {
  content: "※2";
}

.txt .note.n3:before {
  content: "※3";
}

.txt .note.n4:before {
  content: "※4";
}

.txt .note.n5:before {
  content: "※5";
}

.txt .note a {
  font-size: 1.3rem;
}

#philosophy .txt .imp {
  font-size: 1.5rem;
  text-align: center;
  font-weight: bold;
  line-height: 2;
  background: #fec;
  padding: 12px 0;
}

/*flex*/
.flex_dbl,
.flex_tri {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.swp .flex_dbl>* {
  flex-basis: 46.5%;
}

.swp .flex_tri>* {
  flex-basis: 29.5%;
}

.sws .flex_dbl.all,
.sws .flex_tri.all {
  justify-content: space-between;
}

.sws .flex_dbl.all>* {
  flex-basis: 42%;
}

.sws .flex_tri.all>* {
  flex-basis: 25%;
}

.sws .flex_dbl,
.sws .flex_tri {
  justify-content: center;
}

.sws .flex_dbl>*,
.sws .flex_tri>* {
  flex-basis: 100%;
}

/*list*/
.li1 li,
.li2 li {
  margin-bottom: 10px;
}

.li1 li:last-child,
.li2 li:last-child {
  margin-bottom: 0;
}

.li1>li {
  text-indent: -1em;
  padding: 0 1em;
}

.li1>li:before {
  content: "・";
}

.li1>li>.li1 {
  margin-top: 5px;
}

.li1>li>.li1>li {
  font-size: 1.2rem;
  font-weight: normal;
  color: rgba(45, 4, 0, 0.85);
  background: #f9f5f0;
  width: fit-content;
  border-radius: 4px;
  text-indent: 0;
  padding: 2px 5px;
  margin-bottom: 5px;
  overflow-wrap: initial;
}

.li1>li>.li1>li:before {
  content: none;
}

.li2 {
  counter-reset: number;
}

.li2>li {
  text-indent: -1.8em;
  padding-left: 1.8em;
}

.li2>li:before {
  content: counter(number)".";
  counter-increment: number;
  padding-right: 10px;
}

.li_s {
  font-size: 1.3rem !important;
}

.li3 li a {
  display: block;
  font-weight: 400;
  line-height: 1.4;
  color: rgba(45, 4, 0, 0.95);
  background: rgba(244, 236, 225, 0.3);
  border: solid 1px rgba(45, 4, 0, 0.3);
  padding: 12px 30px 12px 15px;
  margin-bottom: 6px;
  border-radius: 4px;
  position: relative;
  font-size:1.6rem;
}

.li3 li a:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 18px;
  margin: auto;
  vertical-align: middle;
  width: 5px;
  height: 5px;
  border-top: 1px solid rgba(45, 4, 0, 0.45);
  border-right: 1px solid rgba(45, 4, 0, 0.45);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.li3 li a:hover:after {
  width: 8px;
  height: 8px;
  border-width: 2px;
  -moz-transition: width .3s ease-out;
  -webkit-transition: width .3s ease-out;
  transition: width .3s ease-out;
  -moz-transition: height .3s ease-out;
  -webkit-transition: height .3s ease-out;
  transition: height .3s ease-out;
}

/*bg*/
.bg1 {
  background: rgba(250, 247, 245, 0.95);
  padding: 10px;
}

/*dl*/
.dl1,
.dl2 {
  background: rgba(250, 247, 245, 0.95);
  padding: 10px;
  margin-bottom: 15px;
}

.dl2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
}

.dl1 dt,
.dl2 dt,
.dl1 dd,
.dl2 dd {
  line-height: 1.4;
  padding: 5px 0;
  font-size: 1.6rem;
}

.dl1 dt,
.dl2 dt {
  font-size: 1.8rem;
  font-weight: 600;
}

.swp .dl2 dt {
  flex-basis: 100%;
  padding-right: 0;
  border-bottom: none;
  margin-bottom: 0;
}

.dl1.dd_li dd,
.dl1.dd_star dd {
  text-indent: -1.3em;
  padding-left: 1.3em;
}

.dl1.dd_li dd:before {
  content: "・";
}

.dl1.dd_star dd:before {
  content: "★";
  font-size: 80%;
  color: rgba(196, 26, 26, 0.75);
  padding-right: 5px;
  position: relative;
  top: -1px;
}

.dl2 dt,
.dl2 dd {
  border-bottom: solid 1px rgba(26, 128, 196, 0.25);
  margin-bottom: 15px;
}

.dl2>*:nth-last-child(1),
.dl2>*:nth-last-child(2) {
  border-bottom: none;
  margin-bottom: 0;
}

.dl2 dt {
  flex-basis: 24%;
  padding-right: 2%;
}

.dl2 dd {
  flex-basis: 74%;
}

.swp .dl2 dd {
  flex-basis: 100%;
}

.dl1 .dl_s {
  font-size: 1.3rem;
}

.dl1 .li1 li {
  line-height: 1.5;
  margin-bottom: 0;
}

.dl3 {
  background: rgba(240, 250, 250, 0.95);
  padding: 10px;
  width: 80%;
  margin: 0 auto 15px;
}

.dl3 dt {
  font-weight: 600;
}

.dl4 {}

/*rel*/
.rel {
  margin-top: 10px;
  margin-bottom: 20px;
}

.rel:before {
  content: "関連ページ";
  display: block;
  font-size: 1.5rem;
  font-weight: 600;
  margin: 15px 0 2px;
}

.rel.site:before {
  content: "関連サイト（外部）";
}

.rel>*:before {
  color: #333;
  content: "・";
}

.rel>* {
  font-size: 1.6rem;
  font-weight: 600;
}

.sws .rel>* {
  margin-bottom: 10px;
}

/*bt_cta*/
.sws .bt_cta div,
.sws .bt_cta a {
  width: 96%;
}

p.bt_cta a,
.bt_cta div,
p.bt_school a {
  display: block;
  border-radius: 8px;
  text-align: center;
  margin: 0 auto;
  text-decoration: none;
  font-weight: bold;
  letter-spacing: 3px;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, .15);
  color: #fff !important;
}

p.bt_cta a,
.bt_cta div,
p.bt_school a {
  font-size: 2rem;
  background: #3ba3b3;
  padding: 10px 0;
  margin-top: 10px;
}

p.bt_tel a {
  background-color: rgba(238, 119, 17, 0.85) !important;
}

p.bt_school a {
  background: #999;
}

/*tb1*/
.tb1 {
  color: #333;
  border: 1px solid #eee;
  width: 100%;
  margin: 0 auto;
}

.sws .tb1 {
  width: 96%;
}

.tb1 tr:nth-child(2n),
.tb1 .pref,
.tb1 .school {
  background: #FCFCFC;
}

.tb1 th,
.tb1 td {
  border: 1px dashed #eee;
  text-align: center;
  vertical-align: middle;
  line-height: 1.6;
  padding: 4px 5px;
  font-size: 1.6rem;
}

.tb1 th {
  background: rgba(244, 236, 225, 0.8);
  border: 1px solid #fff;
  font-size: 1.5rem;
}

.sws .tb1 td {
  font-size: 1.6rem;
}

.tb1 td.school {
  text-align: left;
}

.tb1 a {
  text-decoration: none;
  padding: 6px 0;
}

.tb1 a .txt_s {
  font-size: 1.15rem;
  color: #333;
}

.tb1 li {
  font-size: inherit;
  line-height: inherit;
  margin-bottom: inherit;
}

.tb1 .li1 li {
  text-indent: -1em;
  padding-left: 1em;
}

.tdl td {
  text-align: left !important;
}

/*banner*/
.bn1 {
  width: 100%;
  margin: 0 auto;
}

.sws .bn1 {
  width: 96%;
}

.bn1 img {
  width: 100%;
}

/*index_box*/
.index_box {
  position :relative;
  background: rgba(250, 247, 245, 0.95);
  border: solid 6px rgba(0, 0, 0, 0.015);
  padding: 12px;
  margin: 0 auto;
  box-sizing: border-box;
}

.sws .index_box {
  margin-top: 15px;
  margin-bottom: 10px;
  width: 96%;
}

.swp .index_box {
  margin-top: 20px;
  margin-bottom: 30px;
}

.index_box ol {
  counter-reset: section;
}

.sws .index_box ol {
  padding: 0;
}

.index_box li:before {
  content: counters(section, "-")".";
  counter-increment: section;
  color: rgba(45, 4, 0, 0.6);
  padding-right: 0.5em;
  font-size: 80%;
}

.index_box:before {
  content: "目次";
  display: block;
  margin-bottom: 10px;
  text-align: center;
  font-size: 1.1em;
}

.sws .index_box .parent_list li {
  font-size: 1.6rem;
  line-height: 1.3;
  margin-top: 2px;
  padding: 0 0 15px 1em;
  text-indent: -1em;
}

.swp .index_box .parent_list li {
  font-size: 1.6rem;
  line-height: 1.6;
  margin-top: 8px;
  padding-left: 2em;
  text-indent: -1.5em;
}

.swp .index_box .parent_list li:first-child {
  margin-top: 5px;
}

.sws .index_box .parent_list li:first-child {
  margin-top: 15px;
}

.sws .index_box .child_list {
  margin-top: 8px;
}

.index_box .child_list li {
  margin-top: 0;
  padding-left: 2.6em;
  text-indent: -2.6em;
}

.sws .index_box .child_list li {
  font-size: 90%;
}

.swp .index_box .child_list li {
  font-size: 80%;
}

.index_box li a {
  text-decoration: none;
  color: rgba(45, 4, 0, 0.85);
  font-weight: 600;
}

.sws .index_box li a {
  font-weight: 500;
}

.index_box li a:hover {
  opacity: 0.7;
  text-decoration: underline;
}

/*rel_link*/
.rel_link {
  background: rgba(250, 247, 245, 0.95);
  border: solid 6px rgba(0, 0, 0, 0.015);
  margin: 15px auto;
  box-sizing: border-box;
}

.sws .rel_link {
  padding: 12px;
  width: 96%;
}

.swp .rel_link {
  padding: 10px;
}

.rel_link_tit {
  font-weight: bold;
  color: rgba(45, 4, 0, 0.4);
  text-align: center;
  text-decoration: underline;
  transform: rotate(-2.5deg);
  -webkit-transform: rotate(-2.5deg);
}

.sws .rel_link_tit {
  font-size: 115%;
  margin-bottom: 20px;
}

.swp .rel_link_tit {
  font-size: 130%;
  margin-bottom: 15px;
}

.rel_link_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 0;
  margin: 10px 0 0;
}

.sws .rel_link_list {
  align-items: flex-start;
  flex-direction: column;
}

.sws #other_area_link .rel_link_list {
  flex-direction: inherit;
}

.rel_link_list li {
  flex-basis: auto;
  letter-spacing: 0.03em;
  margin-right: 20px;
}

.sws .rel_link_list li {
  font-size: 1.65rem;
  line-height: 1.6;
  margin-bottom: 15px;
}

.swp .rel_link_list li {
  font-size: 1.5rem;
  line-height: 2;
}

.rel_link_list li:before {
  content: "＞";
  color: rgba(45, 4, 0, 0.6);
  margin-left: 5px;
}

.rel_link_list li a {
  text-decoration: none;
  color: rgba(45, 4, 0, 0.85);
}

.sws .rel_link_list li a {
  font-weight: normal;
}

.swp .rel_link_list li a {
  font-weight: bold;
}

.rel_link_list li a:hover {
  opacity: 0.7;
  text-decoration: underline;
}

.child_link .rel_link_list {
  border-bottom: solid 1px rgba(0, 0, 0, 0.05);
  padding-bottom: 5px;
}

.child_link .rel_link_list:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.child_link .rel_link_list li {
  flex-basis: auto;
}

.sws .child_link .rel_link_list li {
  font-size: 90%;
  line-height: 1.8;
}

.swp .child_link .rel_link_list li {
  font-size: 95%;
  margin-right: 5px;
  position: relative;
  top: 1px;
}

.child_link .rel_link_list li:first-child {
  font-size: 115%;
}

.sws .child_link .rel_link_list li:first-child {
  flex-basis: 100%;
  margin-bottom: 15px;
}

.swp .child_link .rel_link_list li:first-child {
  flex-basis: 12%;
  top: 0;
}

/*bn_scroll*/
.bn_scroll ul {
  text-align: center;
  width: unset;
  overflow: scroll;
  overflow-y: hidden;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  border: dotted 1px #ddd;
  box-shadow: none;
  padding: 10px;
  margin: 10px auto;
  width: 96%;
  box-sizing: border-box;
}

.bn_scroll ul li {
  display: inline-block;
  width: 39vw;
  margin: 0 1.5vw 0 0;
  border: none;
  height: auto;
  line-height: inherit;
}

.bn_scroll ul li a {
  display: block;
  padding: 0;
}

.bn_scroll ul li img {
  width: 100%;
  height: auto;
}

.bn_scroll ul:after {
  content: "スクロール >>";
  color: rgba(45, 4, 0, 0.4);
  background: rgba(244, 236, 225, 0.9);
  font-weight: 600;
  font-size: 90%;
  display: block;
  margin: 5px 0 0;
  padding: 3px 5px;
  border-radius: 4px;
  width: 7em;
  text-align: center;
}

.no_scroll ul {
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.no_scroll ul li {
  margin: 0 3vw 0;
}

.no_scroll ul:after {
  content: "";
}

/*menu*/
.menu {
  width: 100%;
  margin: 10px 0 0 0;
}

.menu ul a {
  color: #411c19;
}

.menu ul li {
  border-bottom: #d5d5d5 solid 1px;
  height: 42px;
  font-size: 16px;
  line-height: 42px;
  font-weight: bold;
}

.menu ul li.schedule-li {
  background: url(/sp/images/index/schedule.png) no-repeat 5px center, url(/sp/images/index/menu_icon.png) no-repeat 98% center;
}

.menu ul li.cp {
  background: url(/sp/images/index/cp.png) no-repeat 5px center, url(/sp/images/index/menu_icon.png) no-repeat 98% center;
}

.menu ul li.about {
  background: url(/sp/images/index/about.png) no-repeat 8px center, url(/sp/images/index/menu_icon.png) no-repeat 98% center;
}

.menu ul li.flow {
  background: url(/sp/images/index/flow.png) no-repeat 8px center, url(/sp/images/index/menu_icon.png) no-repeat 98% center;
}

.menu ul li.pay {
  background: url(/sp/images/index/pay.png) no-repeat 8px center, url(/sp/images/index/menu_icon.png) no-repeat 98% center;
}

.menu ul li.item {
  background: url(/sp/images/index/item.png) no-repeat 6px center, url(/sp/images/index/menu_icon.png) no-repeat 98% center;
}

.menu ul li.faq {
  background: url(/sp/images/index/faq.png) no-repeat 5px center, url(/sp/images/index/menu_icon.png) no-repeat 98% center;
}

.menu ul li.kowaza {
  background: url(/sp/images/index/kowaza.png) no-repeat 5px center, url(/sp/images/index/menu_icon.png) no-repeat 98% center;
}

.menu ul li.glossary {
  background: url(/sp/images/index/glossary.png) no-repeat 5px center, url(/sp/images/index/menu_icon.png) no-repeat 98% center;
}

.menu ul li.insurance {
  background: url(/sp/images/index/hoken.png) no-repeat 5px center, url(/sp/images/index/menu_icon.png) no-repeat 98% center;
}

.menu ul li a {
  display: block;
  padding: 0 0 0 32px;
}

/* follow_txt */
.follow {
  background: rgb(255 251 243 / 87%);
  border: solid 1px rgb(215 169 99 / 70%);
  padding: 15px 0.5em;
  margin: 0.5em;
}

.follow_tit {
  margin-bottom: 10px;
  text-align: center;
  font-weight: bold;
  font-size: 1.2em;
  color: rgb(97 64 64 / 90%);
}

.follow_txt {
  margin: 10px;
  letter-spacing: 0.05em;
  line-height: 1.7;
  font-size: 1.1em;
}

@media screen and (min-width: 896px) {
  .follow {
    max-width: 630px;
    margin: 1em auto;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

/*drawer*/
.drawer {
  display: block;
  z-index: 9999;
}

.drawer-hamburger {
  width: 30px !important;
  padding: 9px 12px 27px !important;
  background: rgba(255, 255, 255, 0.5) !important;
  border-radius: 3px 0 0 3px;
  z-index: 9999 !important;
}

.drawer-hamburger,
.drawer-hamburger:hover {
  background: rgba(255, 255, 255, 0.8);
  z-index: 999;
}

.drawer-hamburger:after {
  content: "MENU";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 7px;
  font-size: 10.5px;
  z-index: 999;
  color: #222;
}

.drawer-hamburger-icon {
  margin: 7px 0;
}

.drawer-nav {
  background-color: transparent !important;
  width: 100% !important;
  z-index: 999;
}

.drawer--right .drawer-nav {
  right: -100vw !important;
  top: -10px;
  background: rgb(255 235 222) !important;
}

.drawer--right.drawer-open .drawer-hamburger {
  right: 0px !important;
  top: -0.7em !important;
}

.drawer-menu .drawer_dl1 dt,
.drawer-menu .drawer_dl2 dt {
  margin-top: 1em;
  padding: 1em;
  text-align: center;
  font-size: 1.1em;
}

.drawer-menu .drawer_dl1 dd {
  padding: 0.5em 0;
  color: #333;
  border-top: 1px solid #33333361;
  margin: 0 1em;
}

.drawer-menu .drawer_dl1 dd:last-of-type {
  border-bottom: 1px solid #33333361;
}

.drawer-menu {
  padding-bottom: 120px !important;
}

.drawer-menu li a,
.drawer-menu li .drawer-menu-item {
  font-weight: bold;
  padding: 13px 20px;
  display: block;
  background: rgba(65, 24, 20, 0.85);
  border-bottom: solid 1px rgba(255, 255, 255, 0.7);
  color: #fff;
  letter-spacing: 0.1em;
  font-size: 14.8px;
  text-align: left;
}

.drawer-menu .drawer-dropdown-menu {
  background: none;
}

.drawer-menu li a:hover,
.drawer-menu li .drawer-menu-item:hover,
.drawer-menu .open .drawer-menu-item:hover {
  background: rgba(25, 4, 0, 0.85);
  text-decoration: none;
  color: rgba(255, 255, 255, 0.95);
  opacity: 1;
  cursor: pointer;
}

.drawer-menu .open .drawer-menu-item {
  background: rgba(35, 4, 0, 0.85);
}

.drawer_anchor {
  margin-top: 4.5em;
  margin-bottom: 1em;
  text-align: center;
}

.drawer_anchor a {
  background: #fff;
  display: block;
  width: 60vw;
  padding: 1.5em 1em;
  margin: auto;
  color: #333;
  text-decoration: none;
}

.drawer_dl2 dd.drawer_anchor {
  margin: 1em;
}

.drawer_dl2 dd.drawer_anchor:first-of-type {
  margin-top: 0;
}

.drawer--right.drawer-open .drawer-nav {
  right: 0 !important;
}

div.head_announce p {
  font-size: 0.8em;
}

/*scroll*/
.sws .scroll {
  width: unset;
  overflow: scroll;
  overflow-y: hidden;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  padding: 10px;
  box-shadow: none;
  border: dotted 1px #ddd;
}

.sws .scroll:after {
  content: "スクロール >>";
  color: rgba(45, 4, 0, 0.4);
  background: rgba(244, 236, 225, 0.8);
  font-weight: 600;
  font-size: 1.2rem;
  display: block;
  margin: 10px 0 0;
  padding: 0px 5px;
  border-radius: 4px;
  width: 7em;
  text-align: center;
}

/* item_scroll */
.item_scroll {
  overflow: scroll;
  overflow-y: hidden;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
}

.item_scroll table.cm_tb {
  letter-spacing: 0.01em;
  width: 100%;
  line-height: 1.7;
}

.item_scroll table.cm_tb th {
  line-height: 1.7;
  font-size: 1.5rem;
  background: #fcfdfd;
  border: #b7b9b9 solid 1px;
  color: #767676;
  font-weight: 600;
}

.item_scroll table.cm_tb td {
  border-left: #dddddd solid 1px;
  color: #333;
}

.item_scroll table.cm_tb th,
.item_scroll table.cm_tb td {
  padding: 0.2em;
  font-size: 1.3rem;
}

.item_scroll table.cm_tb a {
  color: #333;
  text-decoration: underline;
}

.item_scroll .cm_tb tr:nth-child(even) td {
  background: #f9f8fa;
}

.item_scroll .cm_tb tr:nth-child(odd) td {
  background: #f1f1f1;
}

.item_scroll .cm_tb img {
  max-width: 60px;
}

.item_scroll table.cm_tb tr .sch {
  width: 150px;
  min-width: 150px;
  white-space: pre-line;
}

.item_scroll table.cm_tb tr td.sch {
  text-align: left;
}

#main .item_scroll .cm_tb a,
#main .item_scroll .cm_tb a:visited {
  color: #333;
}

@media screen and (max-width:800px) {
  .item_scroll table {
    font-size: 0.8em;
  }
}

.sort_comment {
  font-size: 0.9em;
  letter-spacing: 0.7px;
  line-height: 1.7;
  margin: 0.5em;
  padding-left: 1em;
  text-indent: -1em;
}

@media screen and (max-width:800px) {
  .sort_comment {
    font-size: 0.8em;
  }
}

.waribiki_box {
  margin: 1em;
  padding-bottom: 1em;
  border-radius: 10px;
  border: #d2d7e5 solid 1px;
  line-height: 1.7;
  letter-spacing: 0.3px;
  font-size: 0.9em;
}

.waribiki_box .waribiki_tit {
  text-align: center;
  font-size: 1.1em;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
  background: #ffc153;
  color: #fff;
  font-weight: 600;
  border-radius: 0.5em 0.5em 0 0;
}

.waribiki_box ul.icon_list img {
  width: 100%;
  height: auto;
  max-width: 40px;
}

.waribiki_box ul.icon_list {
  margin: 0 0.5em;
}

.waribiki_box ul.icon_list li {
  display: flex;
  gap: 0.5em;
  align-items: center;
  margin-bottom: 0.5em;
}

.waribiki_box p.waribiki_note {
  margin: 0 0.5em;
  text-indent: -1em;
  padding-left: 1em;
}

.waribiki_max {
  text-align: center;
  margin-bottom: 1em;
}

.waribiki_max p {
  display: inline-block;
  background: linear-gradient(transparent 64%, #ffc153 65%);
  padding: 0 0.5em;
}

.waribiki_max span {
  font-size: 1.5em;
  padding: 0.2em;
  color: #f74545;
  font-weight: 600;
}

@media screen and (min-width:900px) {
  .waribiki_box {
    width: 600px;
    margin: 3em auto;
  }

  .waribiki_max p {
    background: linear-gradient(transparent 58%, #ffc153 56%);
  }
}

/* pick_link */
@media screen and (width > 768px) {
  .pick_link_box {
    display: flex;
    gap: 1em;
  }
}

a.pick_link {
  display: block;
  max-width: 360px;
  text-decoration: none;
  margin: 1em auto;
  border: 1px solid #959595e8;
  border-radius: 10px;
  color: #333333de !important;
}

a.pick_link img {
  width: 100%;
  height: auto;
  border-radius: 10px 10px 0 0;
}

a.pick_link p.txt {
  font-weight: 600;
  padding: 0.5em;
}

p.pick_link_tit {
  margin: 1.5em 1em 0.5em;
  font-weight: 500;
  font-size: 1.15em;
  color: #333;
}

.pick_link p.txt {
  display: flex;
  justify-content: space-between;
}

.pick_link p.txt span.pick_note_bt {
  background: #0c28ad;
  border-radius: 5px;
  color: #fff;
  padding: 0 5px 0 7px;
}

@media screen and (min-width: 768px) {
  a.pick_link {
    max-width: 520px;
  }
}

.cta_img img {
  height: auto;
  width: 100%;
  cursor: pointer;
}

.cta_img {
  width: 95%;
}

.swp .cta_img {
  width: 40%;
  margin: auto;
}

.swp .cta_img.tel {
  width: 40%;
  margin: auto;
}

.cta_img {
  margin: 0.5em auto;
  text-align: center;
}

.cta_flex {
  display: flex;
  justify-content: space-around;
}

.cta_flex>* {
  flex-basis: 45%;
}


/** chatplus **/
.sws {
  div#outline img {
    margin-bottom: 70px !important;
  }

  #chatplusview.closed #outline #eye_catcher img {
    width: 110px !important;
    height: auto;
  }
}

/* box_futsu */
.box_futsu,
.box_top {
  position: relative;
  border: dashed 2px white;
  line-height: 1.7;
  padding: 10px 15px 1px;
  color: rgb(93, 58, 47);
  font-size: 1rem;
}

.box_futsu {
  background: #fff0cd;
  box-shadow: 0px 0px 0px 5px #fff0cd;
}

.box_top {
  margin: 0 0 15px;
  padding: 15px 15px 20px;
  background: #f0f0f0;
  box-shadow: 0px 0px 0px 5px #f0f0f0;
  font-size: 1.6remem;
}

.box_futsu:after,
.box_top:after {
  position: absolute;
  content: '';
  left: -7px;
  top: -7px;
  border-style: solid;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
}

.box_futsu:after {
  border-width: 0 0 15px 15px;
  border-color: #ffdb88 #fff #ffdb88;
}

.box_top:after {
  border-width: 0 0 20px 20px;
  border-color: #f0f0f0 #fff #f0f0f0;
}

.box_futsu .box_futsu_tit {
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 1.1rem;
}

.box_top .box_top_tit {
  margin-bottom: 10px;
  text-align: center;
  font-weight: bold;
}

.box_top .box_top_txt {
  list-style: disc;
  padding-left: 1em;
  font-size: 0.85em;
}

.box_top .box_top_txt li {
  padding-bottom: 10px;
}

.box_top .box_top_txt li:last-child {
  padding-bottom: 0;
}

/* slider_plan1 */
.slider_plan1 {
  line-height: 1.5;
  letter-spacing: 0.03em;
  display: flex;
  overflow: scroll;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  margin-bottom: 2em;
  gap: 1em;
}

.slider_plan1::-webkit-scrollbar {
  width: 10px;
}

.slider_plan1::-webkit-scrollbar-track {
  background-color: #ccc;
}

.slider_plan1::-webkit-scrollbar-thumb {
  background-color: #17585d;
  border-radius: 5px;
}

.slider_plan1 li a {
  display: block;
  width: 210px;
  min-height: 260px;
  text-decoration: none;
  color: #333;
  font-size: 0.9em;
}

.plan_bg {
  background-color: #e3e3e5;
  padding: 1em;
}

.plan_bg>* {
  background: #fff;
  padding: 0.5em;
  border-radius: 0.5em;
  box-shadow: 0 6px 20px 0 rgba(0, 0, 0, .15);
}

.plan_bg .plan_bg_tit {
  margin-top: 0.5em;
  font-weight: 600;
  margin-bottom: 0.5em;
  font-size: 1.4rem;
}

.plan_bg .plan_bg_txt {
  font-size: 1.2rem;
}

.plan_bg .plan_bg_txt span {
  color: #ed5342;
  font-weight: 600;
  font-size: 1.2em;
}

.slider_plan1 .plan_bg_img {
  margin-bottom: 0.3em;
}