@charset "UTF-8";

html, body, h1, h2, h3, h4, h5, h6, a, p, span, em, small, strong, sub, sup, mark, del, ins, strike, abbr, dfn, blockquote, q, cite, code, pre, ol, ul, li, dl, dt, dd, div, section, article, main, aside, nav, header, hgroup, footer, img, figure, figcaption, address, time, audio, video, canvas, iframe, details, summary, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
}
/* Typography
 * *********************************** */
html {
  font-size: 62.5%;
}
body {
  color: #333;
  font-size: 1.6rem;
  line-height: 1.6;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
}
h1, h2, h3, h4, h5, p.site-title {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 400;
}
h4 {
  color: #1c4370;
}
hr {
  background-color: #e1d9d0;
  border: 0;
  height: 1px;
  margin-top: 90px;
  margin-bottom: 90px;
}
.background::before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
  background-repeat: no-repeat;
  background-position: 50% 100%;
  background-size: cover;
}
* {
  font-size: inherit;
  line-height: inherit;
  font-family: inherit;
}
h1, h2, h3, h4 {
  font-size: 2.6rem;
  line-height: 1.4;
}
a, a:visited {
  color: inherit;
  text-decoration: none;
}
a:hover, a:focus, a:active {
  color: #333;
}
body.preload a, body.preload a img {
  transition: all .3s;
}
/*a:hover, a img:hover {
  opacity: 0.7;
}*/
.dib {
  display: inline-block;
}
.m0 {
  margin: 0 auto !important;
}
.m0a {
  margin: 0 auto;
}
.mla {
  margin-left: auto;
}
.posr {
  position: relative;
}
.posa {
  position: absolute;
}
.imgr {
  display: block;
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .sp_scroll {
    width: 100%;
    overflow-x: scroll;
  }
  .sp_scroll > * {
    min-width: 768px;
  }
}
/*テキスト関連----------------------------------------------------------- */
.fwb {
  font-weight: 700 !important;
}
.minchou {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.gothic {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
}
.fbb span {
  background: #333;
  color: #fff;
  padding: 15px 30px;
  border-radius: 15px;
}
.underline {
  text-decoration: underline;
}
.font_red {
  color: #bb0d23;
}
.font_blue {
    color: #1c4370;
}
.font_yellow {
    color: #ebff38;
}
.highlight {
  position: relative;
  font-weight: 400;
  border-bottom: solid 2px #ffeb3b;
}
.highlight-cc {
  position: relative;
  font-weight: 400;
  border-bottom: solid 2px #998c70;
}
.yellow_line {
  border-bottom: solid 3px #ebff38;
}
.red_line {
  border-bottom: solid 3px #bb0d23;
}
/*.highlight:after {
  content: '';
  width: 100%;
  height: 3px;
  background: #ffeb3b;
  position: absolute;
  bottom: -6px;
  left: 0;
}*/
/*.highlight-cc:after {
  content: '';
  width: 100%;
  height: 3px;
  background: #998c70;
  position: absolute;
  bottom: -6px;
  left: 0;
}*/
/*60%*/ .font_60 {
  font-size: 60%;
}
/*70%*/ .font_70 {
  font-size: 70%;
}
/*125%*/ .font_125 {
  font-size: 125%;
}
/*150%*/ .font_150 {
  font-size: 150%;
}
/*12px*/ .font_xs {
  font-size: 0.666em;
}
/*14px*/ .font_s {
  font-size: 0.777em;
}
/*21px*/ .font_m {
  font-size: 1.166em;
}
/*24px*/ .font_l {
  font-size: 1.333em;
}
/*36px*/ .font_xl {
  font-size: 2em;
}
@media screen and (max-width: 767px) {
  /*10px*/ .font_xs {
    font-size: 0.625em;
  }
  /*12px*/ .font_s {
    font-size: 0.75em;
  }
  /*20px*/ .font_m {
    font-size: 1.25em;
  }
  /*24px*/ .font_l {
    font-size: 1.5em;
  }
  /*32px*/ .font_xl {
    font-size: 2em;
  }
}
.tac {
  text-align: center !important;
}
.tal {
  text-align: left !important;
}
.tar {
  text-align: right !important;
}
.shadow {
  text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
}
.font_min {
  font-family: "Yu Mincho", YuMincho, HG明朝B, "MS Mincho", serif;
}
.font_go {
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
}
.indent {
  text-indent: -1em;
  padding-left: 1em;
}
.note {
  position: relative;
  font-size: 0.777em;
  padding-left: 1em;
}
.note:before {
  position: absolute;
  content: "※";
  top: 0;
  left: 0;
  font-size: 1em;
  line-height: 1.554em;
}
@media (min-width: 768px) and (max-width: 959px) {
  .tab_shadow {
    text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
  }
}
@media screen and (max-width: 767px) {
  .sp_tal {
    text-align: left !important;
  }
  .sp_shadow {
    text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
  }
}
/*余白&幅調整----------------------------------------------------------- */
.mt0 {
  margin-top: 0 !important;
}
.mt5 {
  margin-top: 5px;
}
.mt10 {
  margin-top: 10px;
}
.mt15 {
  margin-top: 15px;
}
.mt20 {
  margin-top: 20px;
}
.mt30 {
  margin-top: 30px !important;
}
.mt45 {
  margin-top: 45px;
}
.mt50 {
  margin-top: 50px;
}
.mt60 {
  margin-top: 60px !important;
}
.mt75 {
  margin-top: 75px;
}
.mt90 {
  margin-top: 90px !important;
}
.mt120 {
  margin-top: 120px;
}
.mt160 {
  margin-top: 160px;
}
.mb0 {
  margin-bottom: 0 !important;
}
.mb5 {
  margin-bottom: 5px !important;
}
.mb10 {
  margin-bottom: 10px;
}
.mb15 {
  margin-bottom: 15px!important;
}
.mb20 {
  margin-bottom: 20px;
}
.mb30 {
  margin-bottom: 30px !important;
}
.mb40 {
  margin-bottom: 40px;
}
.mb45 {
  margin-bottom: 45px !important;
}
.mb50 {
  margin-bottom: 50px;
}
.mb60 {
  margin-bottom: 60px !important;
}
.mb75 {
  margin-bottom: 75px;
}
.mb80 {
  margin-bottom: 80px;
}
.mb90 {
  margin-bottom: 90px !important;
}
.mb100 {
  margin-bottom: 100px !important;
}
.mb115 {
  margin-bottom: 115px;
}
.mb120 {
  margin-bottom: 120px;
}
.mb130 {
  margin-bottom: 130px;
}
.mb270 {
  margin-bottom: 270px !important;
}
.pt0 {
  padding-top: 0 !important;
}
.pt5 {
  padding-top: 5px;
}
.pt10 {
  padding-top: 10px;
}
.pt15 {
  padding-top: 15px;
}
.pt20 {
  padding-top: 20px;
}
.pt30 {
  padding-top: 30px!important;
}
.pt45 {
  padding-top: 45px;
}
.pt60 {
  padding-top: 60px;
}
.pt70 {
  padding-top: 70px;
}
.pt75 {
  padding-top: 75px;
}
.pt90 {
  padding-top: 90px;
}
.pt120 {
  padding-top: 120px;
}
.pb0 {
  padding-bottom: 0 !important;
}
.pb5 {
  padding-bottom: 5px;
}
.pb10 {
  padding-bottom: 10px;
}
.pb15 {
  padding-bottom: 15px;
}
.pb20 {
  padding-bottom: 20px;
}
.pb30 {
  padding-bottom: 30px !important;
}
.pb45 {
  padding-bottom: 45px;
}
.pb50 {
  padding-bottom: 50px;
}
.pb60 {
  padding-bottom: 60px;
}
.pb75 {
  padding-bottom: 75px;
}
.pb90 {
  padding-bottom: 90px;
}
.pb100 {
  padding-bottom: 100px;
}
.pb120 {
  padding-bottom: 120px;
}
.pl0 {
  padding-left: 0;
}
.pr15 {
  padding-right: 15px;
}
.pl15 {
  padding-left: 15px;
}
.pr0 {
  padding-right: 0;
}
.ph0 {
  padding-left: 0;
  padding-right: 0;
}
.ph15 {
  padding-left: 15px;
  padding-right: 15px;
}
@media screen and (max-width: 767px) {
  .spmt0 {
    margin-top: 0 !important;
  }
  .spmt5 {
    margin-top: 5px;
  }
  .spmt10 {
    margin-top: 10px;
  }
  .spmt15 {
    margin-top: 15px;
  }
  .spmt20 {
    margin-top: 20px;
  }
  .spmt30 {
    margin-top: 30px;
  }
  .spmt45 {
    margin-top: 45px;
  }
  .spmt60 {
    margin-top: 60px;
  }
  .spmt120 {
    margin-top: 120px;
  }
  .spmb0 {
    margin-bottom: 0;
  }
  .spmb5 {
    margin-bottom: 5px;
  }
  .spmb10 {
    margin-bottom: 10px;
  }
  .spmb15 {
    margin-bottom: 15px;
  }
  .spmb20 {
    margin-bottom: 20px;
  }
  .spmb30 {
    margin-bottom: 30px !important;
  }
  .spmb40 {
    margin-bottom: 40px;
  }
  .spmb45 {
    margin-bottom: 45px;
  }
  .spmb50 {
    margin-bottom: 50px;
  }
  .spmb60 {
    margin-bottom: 60px !important;
  }
  .spmb80 {
    margin-bottom: 80px !important;
  }
  .spmb100 {
    margin-bottom: 100px;
  }
  .sppt0 {
    padding-top: 0;
  }
  .sppt5 {
    padding-top: 5px;
  }
  .sppt10 {
    padding-top: 10px;
  }
  .sppt15 {
    padding-top: 15px;
  }
  .sppt20 {
    padding-top: 20px;
  }
  .sppt30 {
    padding-top: 30px;
  }
  .sppt45 {
    padding-top: 45px;
  }
  .sppt50 {
    padding-top: 50px;
  }
  .sppt60 {
    padding-top: 60px;
  }
  .sppb0 {
    padding-bottom: 0;
  }
  .sppb5 {
    padding-bottom: 5px;
  }
  .sppb10 {
    padding-bottom: 10px;
  }
  .sppb15 {
    padding-bottom: 15px;
  }
  .sppb20 {
    padding-bottom: 20px;
  }
  .sppb30 {
    padding-bottom: 30px !important;
  }
  .sppb45 {
    padding-bottom: 45px;
  }
  .sppb50 {
    padding-bottom: 50px;
  }
  .sppb60 {
    padding-bottom: 60px;
  }
  .sppb100 {
    padding-bottom: 100px;
  }
  .sppl0 {
    padding-left: 0;
  }
  .sppr0 {
    padding-right: 0;
  }
  .spph0 {
    padding-left: 0;
    padding-right: 0;
  }
  .spml0 {
    margin-left: 0 !important;
  }
  .spml10 {
    margin-left: 10px !important;
  }
  .spml20 {
    margin-left: 20px !important;
  }
}
@media screen and (max-width: 767px) {
  .spwd50 {
    width: 50% !important;
  }
  .spwd60 {
    width: 60% !important;
  }
  .spwd70 {
    width: 70% !important;
  }
  .spwd80 {
    width: 80% !important;
  }
  .spwd90 {
    width: 90% !important;
  }
}
/*-------------------------*/
/* +GRID                   */
/*-------------------------*/
.fx-row {
  margin-left: -15px;
  margin-right: -15px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.fx-row + .fx-row {
  margin-top: 0;
}
.aic {
    align-items: center;
}
.fxc {
  -webkit-box-align: center !important;
  -ms-flex-align: center !important;
  align-items: center !important;
}
.fxb {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.fx-row-start-xs {
  -ms-flex-pack: start;
  justify-content: flex-start;
}
.fx-row-center-xs {
  -ms-flex-pack: center;
  justify-content: center;
}
.fx-row-end-xs {
  -ms-flex-pack: end;
  justify-content: flex-end;
}
.fx-row-between-xs {
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.fx-row-around-xs {
  -ms-flex-pack: distribute;
  justify-content: space-around;
}
.spfxcr {
  flex-direction: column-reverse;
}
@media screen and (min-width: 768px) {
  .fx-row-start-s {
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .fx-row-center-s {
    -ms-flex-pack: center;
    justify-content: center;
  }
  .fx-row-end-s {
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  .fx-row-between-s {
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .fx-row-around-s {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
  .spfxcr {
    flex-direction: row;
  }
}
@media screen and (min-width: 960px) {
  .fx-row-start-m {
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .fx-row-center-m {
    -ms-flex-pack: center;
    justify-content: center;
  }
  .fx-row-end-m {
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  .fx-row-between-m {
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .fx-row-around-m {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
}
@media screen and (min-width: 1280px) {
  .fx-row-start-l {
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .fx-row-center-l {
    -ms-flex-pack: center;
    justify-content: center;
  }
  .fx-row-end-l {
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  .fx-row-between-l {
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .fx-row-around-l {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
}
.fx-row-reverse-xs {
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
@media screen and (min-width: 768px) {
  .fx-row-reverse-s {
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 960px) {
  .fx-row-reverse-m {
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 1280px) {
  .fx-row-reverse-l {
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
}
[class*="fx-col"] {
  margin-top: 30px;
  padding-left: 0;
  padding-right: 0;
  -ms-flex-positive: 1;
  flex-grow: 1;
}
.fx-col-10-xs {
  -ms-flex-preferred-size: 10%;
  flex-basis: 10%;
  max-width: 10%;
}
.fx-col-20-xs {
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
  max-width: 20%;
}
.fx-col-25-xs {
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%;
  max-width: 25%;
}
.fx-col-30-xs {
  -ms-flex-preferred-size: 30%;
  flex-basis: 30%;
  max-width: 30%;
}
.fx-col-33-xs {
  -ms-flex-preferred-size: 33.3333%;
  flex-basis: 33.3333%;
  max-width: 33.3333%;
}
.fx-col-40-xs {
  -ms-flex-preferred-size: 40%;
  flex-basis: 40%;
  max-width: 40%;
}
.fx-col-50-xs {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  max-width: 50%;
}
.fx-col-60-xs {
  -ms-flex-preferred-size: 60%;
  flex-basis: 60%;
  max-width: 60%;
}
.fx-col-66-xs {
  -ms-flex-preferred-size: 66.6666%;
  flex-basis: 66.6666%;
  max-width: 66.6666%;
}
.fx-col-70-xs {
  -ms-flex-preferred-size: 70%;
  flex-basis: 70%;
  max-width: 70%;
}
.fx-col-75-xs {
  -ms-flex-preferred-size: 75%;
  flex-basis: 75%;
  max-width: 75%;
}
.fx-col-80-xs {
  -ms-flex-preferred-size: 80%;
  flex-basis: 80%;
  max-width: 80%;
}
.fx-col-90-xs {
  -ms-flex-preferred-size: 90%;
  flex-basis: 90%;
  max-width: 90%;
}
.fx-col-100-xs {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .fx-col-10-s {
    -ms-flex-preferred-size: 10%;
    flex-basis: 10%;
    max-width: 10%;
  }
  .fx-col-20-s {
    -ms-flex-preferred-size: 20%;
    flex-basis: 20%;
    max-width: 20%;
  }
  .fx-col-25-s {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
  }
  .fx-col-30-s {
    -ms-flex-preferred-size: 30%;
    flex-basis: 30%;
    max-width: 30%;
  }
  .fx-col-33-s {
    -ms-flex-preferred-size: 33.3333%;
    flex-basis: 33.3333%;
    max-width: 33.3333%;
  }
  .fx-col-40-s {
    -ms-flex-preferred-size: 40%;
    flex-basis: 40%;
    max-width: 40%;
  }
  .fx-col-45-s {
    -ms-flex-preferred-size: 50%;
    flex-basis: 45%;
    max-width: 45%;
  }
  .fx-col-50-s {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
  .fx-col-55-s {
    -ms-flex-preferred-size: 50%;
    flex-basis: 55%;
    max-width: 55%;
  }
  .fx-col-60-s {
    -ms-flex-preferred-size: 60%;
    flex-basis: 60%;
    max-width: 60%;
  }
  .fx-col-66-s {
    -ms-flex-preferred-size: 66.6666%;
    flex-basis: 66.6666%;
    max-width: 66.6666%;
  }
  .fx-col-70-s {
    -ms-flex-preferred-size: 70%;
    flex-basis: 70%;
    max-width: 70%;
  }
  .fx-col-75-s {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%;
  }
  .fx-col-80-s {
    -ms-flex-preferred-size: 80%;
    flex-basis: 80%;
    max-width: 80%;
  }
  .fx-col-90-s {
    -ms-flex-preferred-size: 90%;
    flex-basis: 90%;
    max-width: 90%;
  }
  .fx-col-100-s {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  [class*="fx-col"] {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media screen and (min-width: 960px) {
  .fx-col-10-m {
    -ms-flex-preferred-size: 10%;
    flex-basis: 10%;
    max-width: 10%;
  }
  .fx-col-20-m {
    -ms-flex-preferred-size: 20%;
    flex-basis: 20%;
    max-width: 20%;
  }
  .fx-col-25-m {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
  }
  .fx-col-30-m {
    -ms-flex-preferred-size: 30%;
    flex-basis: 30%;
    max-width: 30%;
  }
  .fx-col-33-m {
    -ms-flex-preferred-size: 33.3333%;
    flex-basis: 33.3333%;
    max-width: 33.3333%;
  }
  .fx-col-40-m {
    -ms-flex-preferred-size: 40%;
    flex-basis: 40%;
    max-width: 40%;
  }
  .fx-col-50-m {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
  .fx-col-60-m {
    -ms-flex-preferred-size: 60%;
    flex-basis: 60%;
    max-width: 60%;
  }
  .fx-col-66-m {
    -ms-flex-preferred-size: 66.6666%;
    flex-basis: 66.6666%;
    max-width: 66.6666%;
  }
  .fx-col-70-m {
    -ms-flex-preferred-size: 70%;
    flex-basis: 70%;
    max-width: 70%;
  }
  .fx-col-75-m {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%;
  }
  .fx-col-80-m {
    -ms-flex-preferred-size: 80%;
    flex-basis: 80%;
    max-width: 80%;
  }
  .fx-col-90-m {
    -ms-flex-preferred-size: 90%;
    flex-basis: 90%;
    max-width: 90%;
  }
  .fx-col-100-m {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
}
@media screen and (min-width: 1280px) {
  .fx-col-10-l {
    -ms-flex-preferred-size: 10%;
    flex-basis: 10%;
    max-width: 10%;
  }
  .fx-col-20-l {
    -ms-flex-preferred-size: 20%;
    flex-basis: 20%;
    max-width: 20%;
  }
  .fx-col-25-l {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
  }
  .fx-col-30-l {
    -ms-flex-preferred-size: 30%;
    flex-basis: 30%;
    max-width: 30%;
  }
  .fx-col-33-l {
    -ms-flex-preferred-size: 33.3333%;
    flex-basis: 33.3333%;
    max-width: 33.3333%;
  }
  .fx-col-40-l {
    -ms-flex-preferred-size: 40%;
    flex-basis: 40%;
    max-width: 40%;
  }
  .fx-col-50-l {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
  .fx-col-60-l {
    -ms-flex-preferred-size: 60%;
    flex-basis: 60%;
    max-width: 60%;
  }
  .fx-col-66-l {
    -ms-flex-preferred-size: 66.6666%;
    flex-basis: 66.6666%;
    max-width: 66.6666%;
  }
  .fx-col-70-l {
    -ms-flex-preferred-size: 70%;
    flex-basis: 70%;
    max-width: 70%;
  }
  .fx-col-75-l {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%;
  }
  .fx-col-80-l {
    -ms-flex-preferred-size: 80%;
    flex-basis: 80%;
    max-width: 80%;
  }
  .fx-col-90-l {
    -ms-flex-preferred-size: 90%;
    flex-basis: 90%;
    max-width: 90%;
  }
  .fx-col-100-l {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
}
.fx-col-top-xs {
  -ms-flex-item-align: start;
  align-self: flex-start;
}
.fx-col-center-xs {
  -ms-flex-item-align: center;
  align-self: center;
}
.fx-col-bottom-xs {
  -ms-flex-item-align: end;
  align-self: flex-end;
}
@media screen and (min-width: 768px) {
  .fx-col-top-s {
    -ms-flex-item-align: start;
    align-self: flex-start;
  }
  .fx-col-center-s {
    -ms-flex-item-align: center;
    align-self: center;
  }
  .fx-col-bottom-s {
    -ms-flex-item-align: end;
    align-self: flex-end;
  }
}
@media screen and (min-width: 960px) {
  .fx-col-top-m {
    -ms-flex-item-align: start;
    align-self: flex-start;
  }
  .fx-col-center-m {
    -ms-flex-item-align: center;
    align-self: center;
  }
  .fx-col-bottom-m {
    -ms-flex-item-align: end;
    align-self: flex-end;
  }
}
@media screen and (min-width: 1280px) {
  .fx-col-top-l {
    -ms-flex-item-align: start;
    align-self: flex-start;
  }
  .fx-col-center-l {
    -ms-flex-item-align: center;
    align-self: center;
  }
  .fx-col-bottom-l {
    -ms-flex-item-align: end;
    align-self: flex-end;
  }
}
@media screen and (max-width: 767px) {
  .fx-row {
    margin-left: 0;
    margin-right: 0;
  }
}
/*white-box----------------------------------------------------------- */
.white_box {
  padding: 45px;
  background-color: #fff;
  position: relative;
  /*  margin-bottom: 30px;*/
}
.white_box_l {
  padding: 60px;
  background-color: #fff;
  margin-bottom: 30px;
}
.white_box_s {
  padding: 30px;
  background-color: #fff;
  margin-bottom: 30px;
}
.white_box_xs {
  padding: 15px;
  background-color: #fff;
  margin-bottom: 30px;
}
.white_box:last-of-type {
  margin-bottom: 0;
}
@media (min-width: 768px) and (max-width: 959px) {
  .white_box {
    padding: 30px;
    /*    margin-bottom: 15px;*/
  }
  .white_box_l {
    padding: 45px;
    margin-bottom: 30px;
  }
  .white_box_s, .white_box_xs {
    padding: 15px;
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 767px) {
  .white_box, .white_box_s, .white_box_xs {
    padding: 45px 15px 15px;
    /*    margin-bottom: 15px;*/
  }
  .white_box_l {
    padding: 30px;
    margin-bottom: 15px;
  }
}
/* Layout
 * *********************************** */
article, aside, footer, header, nav, section, main {
  display: block;
}
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
*:before, *:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}
/* Elements
 * *********************************** */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
ol, ul {
  list-style: none;
}
img, video {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}
img {
  border-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:after, blockquote:before, q:after, q:before {
  content: "";
  content: none;
}
/* Attributes & states
 * *********************************** */
[hidden] {
  display: none !important;
}
[disabled] {
  cursor: not-allowed;
}
:focus:not(:focus-visible) {
  outline: none;
}
.inner {
  padding: 60px 4vw;
  max-width: 1250px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .inner {
    padding: 90px 4vw;
  }
}
@media screen and (min-width: 1025px) {
  .inner {
    margin: 0 auto;
    padding: 100px 4vw;
  }
}
._forPC {
  display: none;
}
.high-light {
  background: -webkit-linear-gradient(transparent 60%, #fffa79 50%);
  background: linear-gradient(transparent 60%, #fffa79 50%);
  font-weight: bold;
}
.invisible {
  transition: opacity 0.5s ease;
  opacity: 0.0;
}
.visible {
  transition: opacity 0.5s ease;
  opacity: 1.0;
}
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.col2 {
  width: 100%;
}
@media screen and (min-width: 768px) {
  ._forSP {
    display: none;
  }
  ._forPC {
    display: block;
  }
  .col2 {
    width: 48%;
  }
}
.animated.delay-01s {
  -webkit-animation-delay: .1s;
  animation-delay: .1s
}
.animated.delay-02s {
  -webkit-animation-delay: .2s;
  animation-delay: .2s
}
.animated.delay-03s {
  -webkit-animation-delay: .3s;
  animation-delay: .3s
}
.animated.delay-04s {
  -webkit-animation-delay: .4s;
  animation-delay: .4s
}
.animated.delay-05s {
  -webkit-animation-delay: .5s;
  animation-delay: .5s
}
.animated.delay-06s {
  -webkit-animation-delay: .6s;
  animation-delay: .6s
}
.animated.ease-in {
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}
.animated.ease-in-out {
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}
@-webkit-keyframes fadeInRightBottom {
  0% {
    -webkit-transform: translate3d(50px, 50px, 0);
    opacity: 0;
    transform: translate3d(50px, 50px, 0)
  }
  to {
    -webkit-transform: translateZ(0);
    opacity: 1;
    transform: translateZ(0)
  }
}
@keyframes fadeInRightBottom {
  0% {
    -webkit-transform: translate3d(50px, 50px, 0);
    opacity: 0;
    transform: translate3d(50px, 50px, 0)
  }
  to {
    -webkit-transform: translateZ(0);
    opacity: 1;
    transform: translateZ(0)
  }
}
.fadeInRightBottom {
  -webkit-animation-name: fadeInRightBottom;
  animation-name: fadeInRightBottom;
}
@-webkit-keyframes fadeInLeftTop {
  0% {
    -webkit-transform: translate3d(-50px, -50px, 0);
    opacity: 0;
    transform: translate3d(-50px, -50px, 0)
  }
  to {
    -webkit-transform: translateZ(0);
    opacity: 1;
    transform: translateZ(0)
  }
}
@keyframes fadeInLeftTop {
  0% {
    -webkit-transform: translate3d(-50px, -50px, 0);
    opacity: 0;
    transform: translate3d(-50px, -50px, 0)
  }
  to {
    -webkit-transform: translateZ(0);
    opacity: 1;
    transform: translateZ(0)
  }
}
.fadeInLeftTop {
  -webkit-animation-name: fadeInLeftTop;
  animation-name: fadeInLeftTop;
}
@-webkit-keyframes fadeInRightTop {
  0% {
    -webkit-transform: translate3d(50px, -50px, 0);
    opacity: 0;
    transform: translate3d(50px, -50px, 0)
  }
  to {
    -webkit-transform: translateZ(0);
    opacity: 1;
    transform: translateZ(0)
  }
}
@keyframes fadeInRightTop {
  0% {
    -webkit-transform: translate3d(50px, -50px, 0);
    opacity: 0;
    transform: translate3d(50px, -50px, 0)
  }
  to {
    -webkit-transform: translateZ(0);
    opacity: 1;
    transform: translateZ(0)
  }
}
.fadeInRightTop {
  -webkit-animation-name: fadeInRightTop;
  animation-name: fadeInRightTop;
}
@-webkit-keyframes fadeInRightSmall {
  0% {
    -webkit-transform: translate3d(50px, 0, 0);
    opacity: 0;
    transform: translate3d(50px, 0, 0)
  }
  to {
    -webkit-transform: translateZ(0);
    opacity: 1;
    transform: translateZ(0)
  }
}
@keyframes fadeInRightSmall {
  0% {
    -webkit-transform: translate3d(50px, 0, 0);
    opacity: 0;
    transform: translate3d(50px, 0, 0)
  }
  to {
    -webkit-transform: translateZ(0);
    opacity: 1;
    transform: translateZ(0)
  }
}
.fadeInRightSmall {
  -webkit-animation-name: fadeInRightSmall;
  animation-name: fadeInRightSmall;
}
@-webkit-keyframes fadeInLeftSmall {
  0% {
    -webkit-transform: translate3d(-50px, 0, 0);
    opacity: 0;
    transform: translate3d(-50px, 0, 0)
  }
  to {
    -webkit-transform: translateZ(0);
    opacity: 1;
    transform: translateZ(0)
  }
}
@keyframes fadeInLeftSmall {
  0% {
    -webkit-transform: translate3d(-50px, 0, 0);
    opacity: 0;
    transform: translate3d(-50px, 0, 0)
  }
  to {
    -webkit-transform: translateZ(0);
    opacity: 1;
    transform: translateZ(0)
  }
}
.fadeInLeftSmall {
  -webkit-animation-name: fadeInLeftSmall;
  animation-name: fadeInLeftSmall;
}
@-webkit-keyframes fadeInUpSmall {
  0% {
    -webkit-transform: translate3d(0, 50px, 0);
    opacity: 0;
    transform: translate3d(0, 50px, 0)
  }
  to {
    -webkit-transform: translateZ(0);
    opacity: 1;
    transform: translateZ(0)
  }
}
@keyframes fadeInUpSmall {
  0% {
    -webkit-transform: translate3d(0, 50px, 0);
    opacity: 0;
    transform: translate3d(0px, 50px, 0)
  }
  to {
    -webkit-transform: translateZ(0);
    opacity: 1;
    transform: translateZ(0)
  }
}
.fadeInUpSmall {
  -webkit-animation-name: fadeInUpSmall;
  animation-name: fadeInUpSmall;
}
@media screen and (min-width: 376px) {
  .header-ttl {
    font-size: 1.0rem;
  }
  .header-ttl span {
    font-size: 1.4rem;
  }
}
@keyframes fadeInDownSmall {
  0% {
    -webkit-transform: translate3d(0, -50px, 0);
    opacity: 0;
    transform: translate3d(0px, -50px, 0)
  }
  to {
    -webkit-transform: translateZ(0);
    opacity: 1;
    transform: translateZ(0)
  }
}
.fadeInDownSmall {
  -webkit-animation-name: fadeInDownSmall;
  animation-name: fadeInDownSmall;
}
/* アニメーション前のスタイル */
.js-marker {
  padding-bottom: 5px;
  display: inline;
  position: relative;
  background-image: linear-gradient(90deg, #a4c1d7, #a4c1d7); /* 単色の場合は同じ色、グラデーションさせる場合は別々の色 */
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 0 30%; /* '30%'の部分にマーカーの太さを記入 */
  transition: all 1s ease-in-out; /* マーカーを引く速度を調整 */
  font-weight: bold; /* ついでに太字にしたい場合 */
}
/* アニメーション発火時 */
.js-marker.inview {
  background-size: 100% 30%; /* '30%'の部分は上で設定した太さに合わせる */
}