@charset "UTF-8";
/* =========================================================
 @base
========================================================= */
/**
  @fonts
--------------------------------------------------------
  base/_fonts.scss
--------------------------------------------------------

■日本語フォント
- Noto Sans JP
https://fonts.google.com/specimen/Noto+Sans+JP?query=not
- Yaku Han JP
https://yakuhanjp.qranoko.jp/
-------------------------------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500&display=swap");
@font-face {
  font-family: YakuHanJP;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/lib/fonts/YakuHanJP-Light.eot);
  src: url(/lib/fonts/YakuHanJP-Light.woff2) format("woff2"), url(/lib/fonts/YakuHanJP-Light.woff) format("woff");
  unicode-range: U+3001-3002, U+3008-3011, U+3014-3015, U+30fb, U+ff01, U+ff08-ff09, U+ff1a-ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}
@font-face {
  font-family: YakuHanJP;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/lib/fonts/YakuHanJP-Regular.eot);
  src: url(/lib/fonts/YakuHanJP-Regular.woff2) format("woff2"), url(/lib/fonts/YakuHanJP-Regular.woff) format("woff");
  unicode-range: U+3001-3002, U+3008-3011, U+3014-3015, U+30fb, U+ff01, U+ff08-ff09, U+ff1a-ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}
@font-face {
  font-family: YakuHanJP;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/lib/fonts/YakuHanJP-Medium.eot);
  src: url(/lib/fonts/YakuHanJP-Medium.woff2) format("woff2"), url(/lib/fonts/YakuHanJP-Medium.woff) format("woff");
  unicode-range: U+3001-3002, U+3008-3011, U+3014-3015, U+30fb, U+ff01, U+ff08-ff09, U+ff1a-ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}
@font-face {
  font-family: YakuHanJP;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/lib/fonts/YakuHanJP-Bold.eot);
  src: url(/lib/fonts/YakuHanJP-Bold.woff2) format("woff2"), url(/lib/fonts/YakuHanJP-Bold.woff) format("woff");
  unicode-range: U+3001-3002, U+3008-3011, U+3014-3015, U+30fb, U+ff01, U+ff08-ff09, U+ff1a-ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}
/* =========================================================
  @mixin
========================================================= */
/**
  @shadow
--------------------------------------------------------
  mixin/_shadow.scss
-------------------------------------------------------- */
/* =========================================================
  @elements
========================================================= */
/**
  @buttons
--------------------------------------------------------
  elements/_buttons.scss
-------------------------------------------------------- */
.btn a {
  display: block;
  text-decoration: none;
}
.btn-round a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 50px;
  padding: 0 20px;
  border: 1px solid #0059ab;
  background: #fff;
  color: #0059ab;
  font-size: 1.142em;
  -webkit-transition: all  0.3s;
  transition: all  0.3s;
}
@media screen and (max-width: 767px) {
  .btn-round a {
    height: 30px;
    border-radius: 15px;
  }
}
@media screen and (min-width: 768px) {
  .btn-round a {
    height: 40px;
    border-radius: 20px;
  }
}
.btn-round a:hover {
  color: #fff;
  background: #0059ab;
}
.btn-round a:hover i {
  border-color: #fff;
}
.btn-round i {
  width: 8px;
  height: 8px;
  margin-left: 10px;
  border-top: 1px solid #0059ab;
  border-right: 1px solid #0059ab;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: all  0.3s;
  transition: all  0.3s;
}
.btn__item {
  display: inline-block;
}
.btn__item * {
  font-weight: 400 !important;
}
.btn--right {
  text-align: right;
}
.btn--center {
  text-align: center;
}

/**
   @hr
--------------------------------------------------------
  elements/_hr.scss
------------------------------------------------------ */
hr {
  display: block;
  height: 0;
  border: none;
  margin: 0;
  padding: 0;
  background: none;
}

/**
  @headings
--------------------------------------------------------
  elements/_headings.scss
------------------------------------------------------ */
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  font-size: 1em;
  font-weight: 400;
  line-height: 1.5;
}

/**
  @icons
---------------------------------------------------------
  elements/_icons.scss
--------------------------------------------------------- */
/* @icon
-------------------------------------------------------- */
.icon {
  display: block;
  margin-right: 5px;
  line-height: 0;
}
.icon svg, .icon img {
  width: 1.15em;
  height: 1.15em;
}
.icon--gry svg {
  fill: #999;
}
.icon--red svg {
  fill: #e13a43;
}
.icon--grn svg {
  fill: #66bb6a;
}

/**
  @images
---------------------------------------------------------
  elements/_images.scss
--------------------------------------------------------- */
figure {
  margin: 0;
}

/* @images
-------------------------------------------------------- */
article img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

/* @img--natural
--------------------------------------------------------*/
.img--natural {
  width: auto;
}

/* @img--title
-------------------------------------------------------- */
.img--title {
  height: 1em;
  width: auto;
  vertical-align: top;
}

/* @img--shdw
-------------------------------------------------------- */
/* @image placement
-------------------------------------------------------- */
.img--right {
  width: auto;
  float: right;
  margin-bottom: 8px;
  margin-left: 8px;
}

.img--left {
  width: auto;
  float: left;
  margin-right: 8px;
  margin-bottom: 8px;
}

.img--center {
  width: auto;
  display: block;
  margin-right: auto;
  margin-bottom: 8px;
  margin-left: auto;
}

.img--right img,
.img--left img,
.img--center img {
  width: auto;
}

/* @img--circle
-------------------------------------------------------- */
.img--circle {
  border-radius: 50%;
}

/**
  @lists
--------------------------------------------------------
  elements/_lists.scss
-------------------------------------------------------- */
.main-chugaku__top ul, .main-chugaku__top li {
  padding: 0;
  margin: 0;
  list-style: none;
}
.main-chugaku__top .list-attention li {
  margin-left: 1em;
  margin-bottom: .5em;
  font-size: 11.2px;
  text-indent: -1em;
}
.main-chugaku__top .list-attention li:last-child {
  margin-bottom: 0;
}

/**
  @text
--------------------------------------------------------
  elements/_text.scss
-----------------------------------------------------  */
.main-chugaku__top * {
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  font-weight: 300;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (max-width: 991px) {
  .main-chugaku__top p, .main-chugaku__top li, .main-chugaku__top h1, .main-chugaku__top h2, .main-chugaku__top h3, .main-chugaku__top h4 {
    font-size: 14px;
    font: 400 14px/1.8 YakuHanJP, "Noto Sans JP", sans-serif;
  }
}
@media screen and (min-width: 992px) {
  .main-chugaku__top p, .main-chugaku__top li, .main-chugaku__top h1, .main-chugaku__top h2, .main-chugaku__top h3, .main-chugaku__top h4 {
    font-size: 16px;
  }
}
.main-chugaku__top p {
  line-height: 1.7;
  color: #333;
  letter-spacing: 0.08em;
}
.main-chugaku__top p:last-child {
  margin-bottom: 0;
}

/* @font-weight
--------------------------------------------------------  */
main .fw-r {
  font-weight: 400;
}
main .fw-m {
  font-weight: 500;
}
main .fw-b {
  font-weight: 700;
}

/* @font-size
--------------------------------------------------------  */
@media screen and (max-width: 767px) {
  main .fz-h1 {
    font-size: 1.953em;
  }
}
@media screen and (min-width: 768px) {
  main .fz-h1 {
    font-size: 2.68em;
  }
}
@media screen and (max-width: 767px) {
  main .fz-h2 {
    font-size: 1.563em;
  }
}
@media screen and (min-width: 768px) {
  main .fz-h2 {
    font-size: 2.142em;
  }
}
@media screen and (max-width: 767px) {
  main .fz-h3 {
    font-size: 1.25em;
  }
}
@media screen and (min-width: 768px) {
  main .fz-h3 {
    font-size: 1.714em;
  }
}

/* @paragraphs
--------------------------------------------------------  */
/* @inline
-------------------------------------------------------- */
b, strong {
  font-weight: bold;
}

i, em {
  font-style: normal;
}

/* @sup
-------------------------------------------------------- */
sup {
  font-size: 65% !important;
}

/* @font color
-------------------------------------------------------- */
.txt--red {
  color: #e13a43;
}
.txt-left {
  text-align: left !important;
}
.txt-right {
  text-align: right !important;
}
.txt-center {
  text-align: center !important;
}
@media screen and (max-width: 767px) {
  .txt-sm-left {
    text-align: left !important;
  }
  .txt-sm-right {
    text-align: right !important;
  }
  .txt-sm-center {
    text-align: center !important;
  }
}
@media screen and (min-width: 768px) {
  .txt-md-left {
    text-align: left !important;
  }
  .txt-md-right {
    text-align: right !important;
  }
  .txt-md-center {
    text-align: center !important;
  }
}

/* =========================================================
  @layout
========================================================= */
/**
  @container
--------------------------------------------------------
  layout/_container.scss
------------------------------------------------------ */
main .container {
  width: 100%;
  max-width: none;
  padding: 0;
}
@media screen and (max-width: 767px) {
  main .container--bg {
    padding-top: 68px;
  }
}
@media screen and (min-width: 768px) {
  main .container--bg {
    padding-top: 80px;
  }
}
main .container section {
  padding-top: 0;
}

/**
  @row
---------------------------------------------------------
  layout/_row.scss
------------------------------------------------------ */
@media screen and (min-width: 768px) {
  main .row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 -15px;
  }
}
main .row:before, main .row:after {
  display: none;
}
@media screen and (min-width: 992px) {
  main .row {
    margin: 0 -30px;
  }
}
main .row .row {
  margin-left: 0;
  margin-right: 0;
}
@media screen and (min-width: 768px) {
  main .row__col {
    padding: 0 15px;
  }
  main .row__col--md-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%;
    padding: 0;
  }
  main .row__col--md-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.66666%;
            flex: 0 0 16.66666%;
    max-width: 16.66666%;
    padding: 0;
  }
  main .row__col--md-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 24.99999%;
            flex: 0 0 24.99999%;
    max-width: 24.99999%;
    padding: 0;
  }
  main .row__col--md-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.33332%;
            flex: 0 0 33.33332%;
    max-width: 33.33332%;
    padding: 0;
  }
  main .row__col--md-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.66665%;
            flex: 0 0 41.66665%;
    max-width: 41.66665%;
    padding: 0;
  }
  main .row__col--md-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 49.99998%;
            flex: 0 0 49.99998%;
    max-width: 49.99998%;
    padding: 0;
  }
  main .row__col--md-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.33331%;
            flex: 0 0 58.33331%;
    max-width: 58.33331%;
    padding: 0;
  }
  main .row__col--md-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.66664%;
            flex: 0 0 66.66664%;
    max-width: 66.66664%;
    padding: 0;
  }
  main .row__col--md-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 74.99997%;
            flex: 0 0 74.99997%;
    max-width: 74.99997%;
    padding: 0;
  }
  main .row__col--md-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.3333%;
            flex: 0 0 83.3333%;
    max-width: 83.3333%;
    padding: 0;
  }
  main .row__col--md-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.66663%;
            flex: 0 0 91.66663%;
    max-width: 91.66663%;
    padding: 0;
  }
  main .row__col--md-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 99.99996%;
            flex: 0 0 99.99996%;
    max-width: 99.99996%;
    padding: 0;
  }
}
@media screen and (min-width: 992px) {
  main .row__col {
    padding: 0 30px;
  }
  main .row__col--lg-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%;
    padding: 0;
  }
  main .row__col--lg-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.66666%;
            flex: 0 0 16.66666%;
    max-width: 16.66666%;
    padding: 0;
  }
  main .row__col--lg-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 24.99999%;
            flex: 0 0 24.99999%;
    max-width: 24.99999%;
    padding: 0;
  }
  main .row__col--lg-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.33332%;
            flex: 0 0 33.33332%;
    max-width: 33.33332%;
    padding: 0;
  }
  main .row__col--lg-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.66665%;
            flex: 0 0 41.66665%;
    max-width: 41.66665%;
    padding: 0;
  }
  main .row__col--lg-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 49.99998%;
            flex: 0 0 49.99998%;
    max-width: 49.99998%;
    padding: 0;
  }
  main .row__col--lg-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.33331%;
            flex: 0 0 58.33331%;
    max-width: 58.33331%;
    padding: 0;
  }
  main .row__col--lg-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.66664%;
            flex: 0 0 66.66664%;
    max-width: 66.66664%;
    padding: 0;
  }
  main .row__col--lg-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 74.99997%;
            flex: 0 0 74.99997%;
    max-width: 74.99997%;
    padding: 0;
  }
  main .row__col--lg-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.3333%;
            flex: 0 0 83.3333%;
    max-width: 83.3333%;
    padding: 0;
  }
  main .row__col--lg-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.66663%;
            flex: 0 0 91.66663%;
    max-width: 91.66663%;
    padding: 0;
  }
  main .row__col--lg-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 99.99996%;
            flex: 0 0 99.99996%;
    max-width: 99.99996%;
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  main .row-dir-col {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  main .row-dir-col_re {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  main .row-dir-col_re .block__item:last-child {
    margin-bottom: 32px !important;
  }
}
@media screen and (min-width: 768px) {
  main .row-al-center {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (min-width: 768px) {
  main .row-jc-center {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  main .row-jc-start {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  main .row-jc-end {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  main .row-jc-between {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

/**

  @hide
---------------------------------------------------------
  layout/_hide.scss
--------------------------------------------------------

  Utility state classes to hide things in different ways

--------------------------------------------------------- */
.is-hidden {
  display: none !important;
  visibility: hidden !important;
}

.is-visually-hidden {
  position: absolute;
  left: -9999%;
  height: 0;
  padding: 0;
  margin: 0;
  opacity: 0;
}

.d-none {
  display: none !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-flex {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

@media screen and (min-width: 414px) {
  .d-xs-none {
    display: none !important;
  }

  .d-xs-inline {
    display: inline !important;
  }

  .d-xs-inline-block {
    display: inline-block !important;
  }

  .d-xs-block {
    display: block !important;
  }

  .d-xs-flex {
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important;
  }
}
@media screen and (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }

  .d-sm-inline {
    display: inline !important;
  }

  .d-sm-inline-block {
    display: inline-block !important;
  }

  .d-sm-block {
    display: block !important;
  }

  .d-sm-flex {
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important;
  }
}
@media screen and (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }

  .d-md-inline {
    display: inline !important;
  }

  .d-md-inline-block {
    display: inline-block !important;
  }

  .d-md-block {
    display: block !important;
  }

  .d-md-flex {
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important;
  }
}
@media screen and (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }

  .d-lg-inline {
    display: inline !important;
  }

  .d-lg-inline-block {
    display: inline-block !important;
  }

  .d-lg-block {
    display: block !important;
  }

  .d-lg-flex {
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important;
  }
}
@media screen and (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }

  .d-xl-inline {
    display: inline !important;
  }

  .d-xl-inline-block {
    display: inline-block !important;
  }

  .d-xl-block {
    display: block !important;
  }

  .d-xl-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}
@media screen and (min-width: 1400px) {
  .d-xxl-none {
    display: none !important;
  }

  .d-xxl-inline {
    display: inline !important;
  }

  .d-xlx-inline-block {
    display: inline-block !important;
  }

  .d-xxl-block {
    display: block !important;
  }

  .d-xxl-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}
/**
  @spacing
---------------------------------------------------------
  layout/_spacing.scss
------------------------------------------------------ */
.mt0 {
  margin-top: 0px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mr0 {
  margin-right: 0px !important;
}

.ml0 {
  margin-left: 0px !important;
}

.pt0 {
  padding-top: 0px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.pr0 {
  padding-right: 0px !important;
}

.pl0 {
  padding-left: 0px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mr5 {
  margin-right: 5px !important;
}

.ml5 {
  margin-left: 5px !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pr5 {
  padding-right: 5px !important;
}

.pl5 {
  padding-left: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pl30 {
  padding-left: 30px !important;
}

@media screen and (max-width: 767px) {
  .mt-sm-0 {
    margin-top: 0px !important;
  }

  .mb-sm-0 {
    margin-bottom: 0px !important;
  }

  .pt-sm-0 {
    padding-top: 0px !important;
  }

  .pb-sm-0 {
    padding-bottom: 0px !important;
  }

  .mt-sm-5 {
    margin-top: 5px !important;
  }

  .mb-sm-5 {
    margin-bottom: 5px !important;
  }

  .pt-sm-5 {
    padding-top: 5px !important;
  }

  .pb-sm-5 {
    padding-bottom: 5px !important;
  }

  .mt-sm-10 {
    margin-top: 10px !important;
  }

  .mb-sm-10 {
    margin-bottom: 10px !important;
  }

  .pt-sm-10 {
    padding-top: 10px !important;
  }

  .pb-sm-10 {
    padding-bottom: 10px !important;
  }

  .mt-sm-15 {
    margin-top: 15px !important;
  }

  .mb-sm-15 {
    margin-bottom: 15px !important;
  }

  .pt-sm-15 {
    padding-top: 15px !important;
  }

  .pb-sm-15 {
    padding-bottom: 15px !important;
  }

  .mt-sm-20 {
    margin-top: 20px !important;
  }

  .mb-sm-20 {
    margin-bottom: 20px !important;
  }

  .pt-sm-20 {
    padding-top: 20px !important;
  }

  .pb-sm-20 {
    padding-bottom: 20px !important;
  }

  .mt-sm-25 {
    margin-top: 25px !important;
  }

  .mb-sm-25 {
    margin-bottom: 25px !important;
  }

  .pt-sm-25 {
    padding-top: 25px !important;
  }

  .pb-sm-25 {
    padding-bottom: 25px !important;
  }

  .mt-sm-30 {
    margin-top: 30px !important;
  }

  .mb-sm-30 {
    margin-bottom: 30px !important;
  }

  .pt-sm-30 {
    padding-top: 30px !important;
  }

  .pb-sm-30 {
    padding-bottom: 30px !important;
  }
}
@media screen and (min-width: 768px) {
  .mt-md-0 {
    margin-top: 0px !important;
  }

  .mb-md-0 {
    margin-bottom: 0px !important;
  }

  .pt-md-0 {
    padding-top: 0px !important;
  }

  .pb-md-0 {
    padding-bottom: 0px !important;
  }

  .mt-md-5 {
    margin-top: 5px !important;
  }

  .mb-md-5 {
    margin-bottom: 5px !important;
  }

  .pt-md-5 {
    padding-top: 5px !important;
  }

  .pb-md-5 {
    padding-bottom: 5px !important;
  }

  .mt-md-10 {
    margin-top: 10px !important;
  }

  .mb-md-10 {
    margin-bottom: 10px !important;
  }

  .pt-md-10 {
    padding-top: 10px !important;
  }

  .pb-md-10 {
    padding-bottom: 10px !important;
  }

  .mt-md-15 {
    margin-top: 15px !important;
  }

  .mb-md-15 {
    margin-bottom: 15px !important;
  }

  .pt-md-15 {
    padding-top: 15px !important;
  }

  .pb-md-15 {
    padding-bottom: 15px !important;
  }

  .mt-md-20 {
    margin-top: 20px !important;
  }

  .mb-md-20 {
    margin-bottom: 20px !important;
  }

  .pt-md-20 {
    padding-top: 20px !important;
  }

  .pb-md-20 {
    padding-bottom: 20px !important;
  }

  .mt-md-25 {
    margin-top: 25px !important;
  }

  .mb-md-25 {
    margin-bottom: 25px !important;
  }

  .pt-md-25 {
    padding-top: 25px !important;
  }

  .pb-md-25 {
    padding-bottom: 25px !important;
  }

  .mt-md-30 {
    margin-top: 30px !important;
  }

  .mb-md-30 {
    margin-bottom: 30px !important;
  }

  .pt-md-30 {
    padding-top: 30px !important;
  }

  .pb-md-30 {
    padding-bottom: 30px !important;
  }
}
@media screen and (min-width: 992px) {
  .mt-lg-0 {
    margin-top: 0px !important;
  }

  .mb-lg-0 {
    margin-bottom: 0px !important;
  }

  .pt-lg-0 {
    padding-top: 0px !important;
  }

  .pb-lg-0 {
    padding-bottom: 0px !important;
  }

  .mt-lg-5 {
    margin-top: 5px !important;
  }

  .mb-lg-5 {
    margin-bottom: 5px !important;
  }

  .pt-lg-5 {
    padding-top: 5px !important;
  }

  .pb-lg-5 {
    padding-bottom: 5px !important;
  }

  .mt-lg-10 {
    margin-top: 10px !important;
  }

  .mb-lg-10 {
    margin-bottom: 10px !important;
  }

  .pt-lg-10 {
    padding-top: 10px !important;
  }

  .pb-lg-10 {
    padding-bottom: 10px !important;
  }

  .mt-lg-15 {
    margin-top: 15px !important;
  }

  .mb-lg-15 {
    margin-bottom: 15px !important;
  }

  .pt-lg-15 {
    padding-top: 15px !important;
  }

  .pb-lg-15 {
    padding-bottom: 15px !important;
  }

  .mt-lg-20 {
    margin-top: 20px !important;
  }

  .mb-lg-20 {
    margin-bottom: 20px !important;
  }

  .pt-lg-20 {
    padding-top: 20px !important;
  }

  .pb-lg-20 {
    padding-bottom: 20px !important;
  }

  .mt-lg-25 {
    margin-top: 25px !important;
  }

  .mb-lg-25 {
    margin-bottom: 25px !important;
  }

  .pt-lg-25 {
    padding-top: 25px !important;
  }

  .pb-lg-25 {
    padding-bottom: 25px !important;
  }

  .mt-lg-30 {
    margin-top: 30px !important;
  }

  .mb-lg-30 {
    margin-bottom: 30px !important;
  }

  .pt-lg-30 {
    padding-top: 30px !important;
  }

  .pb-lg-30 {
    padding-bottom: 30px !important;
  }
}
/* =========================================================
  @modules
========================================================= */
/**

  @main
--------------------------------------------------------
  modules/_main.scss
------------------------------------------------------ */
@media screen and (max-width: 991px) {
  .main-chugaku__top {
    font-size: 14px;
  }
}
@media screen and (min-width: 992px) {
  .main-chugaku__top {
    font-size: 16px;
  }
}
.main-chugaku__top-chugaku__top {
  display: block;
  padding-bottom: 60px;
}

/**
  @blocks
--------------------------------------------------------
  modules/_blocks.scss
-------------------------------------------------------- */
/* block
-------------------------------------------------------- */
@media screen and (max-width: 767px) {
  .block {
    padding: 0 20px 68px;
  }
}
@media screen and (min-width: 768px) {
  .block {
    width: 90%;
    max-width: 1100px;
    margin: auto;
    padding: 0 0 80px;
  }
}
.block .block {
  width: 100%;
  margin: 0;
  padding-left: 0;
  padding-right: 0;
}
@media screen and (max-width: 767px) {
  .block__line {
    width: 100%;
    height: 1px;
    margin-top: 68px;
    border-bottom: 1px dotted #7d7d7d;
  }
}
.block__ttl {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .block__ttl {
    margin-bottom: 32px;
  }
}
@media screen and (min-width: 768px) {
  .block__ttl {
    margin-bottom: 48px;
  }
}
@media screen and (max-width: 767px) {
  .block__sttl {
    margin-bottom: 32px;
  }
}
@media screen and (min-width: 768px) {
  .block__sttl {
    margin-bottom: 48px;
    text-align: center;
  }
}
.block__cap {
  margin-bottom: 32px;
}
.block__cap span {
  display: block;
  padding-left: 12px;
  border-left: 3px solid #0059ab;
}
@media screen and (min-width: 768px) {
  .block__cap .fz-h2 {
    font-size: 1.875em;
  }
}
@media screen and (max-width: 767px) {
  .block__item {
    margin-bottom: 32px;
  }
}
@media screen and (min-width: 768px) {
  .block__item {
    margin-bottom: 48px;
  }
}
@media screen and (max-width: 767px) {
  .block__item--full {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
  }
}

/**
  @blocks
--------------------------------------------------------
  modules/_more.scss
-------------------------------------------------------- */
/* more
-------------------------------------------------------- */
.main-chugaku__top .more {
  margin-top: 10px;
  text-align: left;
  opacity: .7;
}
.main-chugaku__top .more label {
  cursor: pointer;
  display: table-cell;
  height: 22px;
  margin: 0;
  padding: 0 10px;
  border-radius: 11px;
  background: rgba(0, 0, 0, 0.1);
  font-size: 11.20px;
  vertical-align: middle;
  line-height: 1;
  -webkit-transition: all  0.3s;
  transition: all  0.3s;
}
.main-chugaku__top .more label:hover {
  background: rgba(0, 0, 0, 0.15);
}
.main-chugaku__top .more input {
  display: none;
}
.main-chugaku__top .more i {
  display: inline-block;
  position: relative;
  width: 9px;
  height: 9px;
  margin-left: 3px;
}
.main-chugaku__top .more i:before, .main-chugaku__top .more i:after {
  display: block;
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 1px;
  background: #333;
}
.main-chugaku__top .more i:after {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  -webkit-transition: all  0.3s;
  transition: all  0.3s;
}
.main-chugaku__top .more__main {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: all  0.3s;
  transition: all  0.3s;
}
.main-chugaku__top .more__main * {
  font-size: 11.20px;
}
.main-chugaku__top .more input:checked + label i:after {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}
.main-chugaku__top .more input:checked ~ .more__main {
  height: auto;
  padding-top: 10px;
  opacity: 1;
}

/* =========================================================
  @page
========================================================= */
/**

  @top
--------------------------------------------------------
  page/_top.scss
------------------------------------------------------ */
/* =========================================================
 general
========================================================= */
.slick-dotted.slick-slider {
  margin-bottom: 0;
}

.slider-basis .basis-dots {
  display: none !important;
}

@media screen and (min-width: 768px) {
  .block-sep {
    position: relative;
    padding-top: 80px !important;
  }
}
@media screen and (min-width: 768px) {
  .block-sep:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: calc(50% - 15px);
    width: 30px;
    height: 1px;
    background: #999;
  }
}

/* =========================================================
 cnt01
========================================================= */
#cnt01 {
  background: #fdfbf5;
}
#cnt01 .block__ttl {
  color: #4d423a;
}
#cnt01 .block__ttl em {
  display: block;
  font-size: 1.46em;
  font-weight: 400;
}

/* =========================================================
 cnt02
========================================================= */
#cnt02 {
  background: #f7fafc;
}
#cnt02 .block__ttl em {
  color: #0059ab;
}
@media screen and (max-width: 767px) {
  #cnt02 #sec01 .block__ttl em {
    font-size: 2.357em;
  }
}
@media screen and (min-width: 768px) {
  #cnt02 #sec01 .block__ttl em {
    font-size: 3.571em;
  }
}
#cnt02 .graph-wrap {
  position: relative;
  width: 100%;
}
#cnt02 .graph-wrap .graph {
  width: 58%;
}
#cnt02 .graph-wrap svg {
  display: block;
  height: 100%;
  width: 100%;
  overflow: visible;
  stroke: #0059ab;
  border-radius: 100%;
}
#cnt02 .graph-wrap circle {
  fill: rgba(0, 0, 0, 0);
  stroke-width: 31.8309886184;
  stroke-dasharray: 0,0,0,100;
  stroke-dashoffset: 25;
}
#cnt02 .graph-wrap .num {
  opacity: 1; /* 円グラフアニメ削除で追加 */
  position: absolute;
  right: 0;
  bottom: 0;
  width: 62.5%;
}

/* =========================================================
 main hero
========================================================= */
.main-hero {
  position: relative;
  margin-bottom: 68px;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .main-hero figure {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .main-hero .hgroup {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .main-hero .hgroup {
    text-align: center;
  }
}
.main-hero .hgroup__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .main-hero .hgroup__icon {
    margin-top: 20px;
    padding-left: 20px;
  }
}
@media screen and (min-width: 768px) {
  .main-hero .hgroup__icon {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 430px;
    margin: 40px auto 0;
    padding: 20px;
    background: #a5c8e1;
    border-radius: 15px;
  }
}
@media screen and (max-width: 767px) {
  .main-hero .hgroup__icon li {
    width: 76px;
    margin-right: 12px;
  }
}
@media screen and (min-width: 768px) {
  .main-hero .hgroup__icon li {
    width: 120px;
  }
}
.main-hero i {
  display: inline-block;
  background: #0059ab;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .main-hero i {
    margin-bottom: 20px;
    padding: 7px 20px;
  }
}
@media screen and (min-width: 768px) {
  .main-hero i {
    margin-bottom: 32px;
    padding: 10px 30px;
  }
}
.main-hero i span {
  display: block;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .main-hero i span {
    position: relative;
    padding: 0 0 0 15px;
    font-size: 2.142em;
  }
  .main-hero i span:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 2px;
    height: 80%;
    background: #fff;
  }
}
@media screen and (min-width: 768px) {
  .main-hero i span {
    font-size: 2.857em;
  }
}
@media screen and (max-width: 767px) {
  .main-hero h2 {
    padding: 0 20px;
  }
}

/* =========================================================
 cnt03
========================================================= */
@media screen and (min-width: 768px) {
  #cnt03 {
    border-top: 3px solid #0059ab;
    padding-top: 0;
  }
}

/* =========================================================
 cnt04
========================================================= */
@media screen and (min-width: 768px) {
  #cnt04 {
    border-top: 3px solid #0059ab;
    padding-top: 0;
  }
}
#cnt04 .icon-feature {
  display: block;
  margin-bottom: 15px;
  font-size: 0;
  vertical-align: bottom;
}
#cnt04 .icon-feature img {
  width: auto;
}
@media screen and (max-width: 767px) {
  #cnt04 .icon-feature img {
    height: 28px;
  }
}
@media screen and (min-width: 992px) {
  #cnt04 .icon-feature img {
    height: 40px;
  }
}

/* =========================================================
 cnt05
========================================================= */
@media screen and (min-width: 768px) {
  #cnt05 {
    border-top: 3px solid #0059ab;
    padding-top: 0;
  }
}
#cnt05 .icon-feature {
  display: block;
  margin-bottom: 15px;
  font-size: 0;
  vertical-align: bottom;
}
#cnt05 .icon-feature img {
  width: auto;
}
@media screen and (max-width: 767px) {
  #cnt05 .icon-feature img {
    height: 28px;
  }
}
@media screen and (min-width: 992px) {
  #cnt05 .icon-feature img {
    height: 40px;
  }
}

/* =========================================================
 cnt06
========================================================= */
@media screen and (min-width: 768px) {
  #cnt06 {
    border-top: 3px solid #e3943d;
    padding-top: 0;
  }
}
#cnt06 .main-hero i {
  display: inline-block;
  background: #e3943d;
}
@media screen and (max-width: 767px) {
  #cnt06 .main-hero i span {
    padding: 0;
    font-size: 1.25em;
  }
  #cnt06 .main-hero i span:after {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  #cnt06 .main-hero i span {
    font-size: 1.5em;
  }
}
#cnt06 .block__cap i {
  display: inline-block;
  margin-bottom: 20px;
  padding: 10px 15px;
  background: #fbf1e6;
  color: #e3943d;
  font-size: 1em;
  font-weight: 400;
  line-height: 1;
}
#cnt06 .block__cap span {
  border-left-color: #e3943d;
}

/* =========================================================
 cnt07
========================================================= */
@media screen and (min-width: 768px) {
  #cnt07 {
    border-top: 3px solid #0059ab;
  }
}

/* =========================================================
 cnt08
========================================================= */
@media screen and (min-width: 768px) {
  #cnt08 {
    border-top: 3px solid #0059ab;
  }
}

/* =========================================================
 cnt09
========================================================= */
@media screen and (min-width: 768px) {
  #cnt09 {
    border-top: 3px solid #0059ab;
    background: #f7fafc;
  }
}

/* graph
--------------------------------------------------------- */
@-webkit-keyframes pie1 {
  50%,100% {
    stroke-dasharray: 88,12,0,0;
  }
}
@keyframes pie1 {
  50%,100% {
    stroke-dasharray: 88,12,0,0;
  }
}
@-webkit-keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
            transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
            transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
            transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
            transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
}
@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
            transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
            transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
            transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
            transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
}
/* =========================================================
  @plugins
========================================================= */
