@charset "UTF-8";
body {
  background-color: #ffffff;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  * {
    box-sizing: border-box;
  }
}
@media (max-width: 768px){
  body {
    font-size: 1.4rem;
  }
}


/* ---------------------------------------
  レスポンシブ化ページ用ユーティリティCSS
--------------------------------------- */
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  border: 0;
}

.w100p{
  width: 100% !important;
}
.wfc{
  width: fit-content;
}

.db{
  display: block;
}
.dib{
  display: inline-block;
}
.df{
  display: flex;
}
.dg{
  display: grid;
}
.fxw{
  flex-wrap: wrap;
}

.flex-center{
  display: flex;
  align-items: center;
  justify-content: center;
}
.col2{
  grid-template-columns: repeat(2, 1fr);
}
.col3{
  grid-template-columns: repeat(3, 1fr);
}
.col4{
  grid-template-columns: repeat(4, 1fr);
}
.aifs{
  align-items: flex-start;
}
.aic{
  align-items: center;
}
.aife{
  align-items: flex-end;
}
.aib{
  align-items: baseline;
}
.jcfs{
  justify-content: flex-start;
}
.jcfe{
  justify-content: flex-end;
}
.jcc{
  justify-content: center;
}
.jcsb{
  justify-content: space-between;
}
.jcsa{
  justify-content: space-around;
}
.fx1{
  flex: 1;
}
.fxdc{
  flex-direction:column;
}
.fxdcr{
  flex-direction:column-reverse;
}

.gap5{ gap: 5px; }
.gap10{ gap: 10px; }
.gap15{ gap: 15px; }
.gap20{ gap: 20px; }
.gap25{ gap: 25px; }
.gap30{ gap: 30px; }
.gap35{ gap: 35px; }
.gap40{ gap: 40px; }
.gap50{ gap: 50px; }
.gap60{ gap: 60px; }
.gap70{ gap: 70px; }
.gap80{ gap: 80px; }
.gap90{ gap: 90px; }
.gap100{ gap: 100px; }
.colmg5{ column-gap: 5px; }
.colmg10{ column-gap: 10px; }
.colmg15{ column-gap: 15px; }
.colmg20{ column-gap: 20px; }
.colmg25{ column-gap: 25px; }
.colmg30{ column-gap: 30px; }
.colmg35{ column-gap: 35px; }
.colmg40{ column-gap: 40px; }
.colmg50{ column-gap: 50px; }
.rowg5{ row-gap: 5px; }
.rowg10{ row-gap: 10px; }
.rowg15{ row-gap: 15px; }
.rowg20{ row-gap: 20px; }
.rowg25{ row-gap: 25px; }
.rowg30{ row-gap: 30px; }
.rowg35{ row-gap: 35px; }
.rowg40{ row-gap: 40px; }
.rowg50{ row-gap: 50px; }

.mt5{ margin-top: 5px; }
.mt10{ margin-top: 10px; }
.mt15{ margin-top: 15px; }
.mt20{ margin-top: 20px; }
.mt25{ margin-top: 25px; }
.mt30{ margin-top: 30px; }
.mt35{ margin-top: 35px; }
.mt40{ margin-top: 40px; }
.mt50{ margin-top: 50px; }
.mt60{ margin-top: 60px; }
.mt70{ margin-top: 70px; }
.mt80{ margin-top: 80px; }
.mt90{ margin-top: 90px; }
.mt100{ margin-top: 100px; }

.mb5{ margin-bottom: 5px; }
.mb10{ margin-bottom: 10px; }
.mb15{ margin-bottom: 15px; }
.mb20{ margin-bottom: 20px; }
.mb25{ margin-bottom: 25px; }
.mb30{ margin-bottom: 30px; }
.mb35{ margin-bottom: 35px; }
.mb40{ margin-bottom: 40px; }
.mb50{ margin-bottom: 50px; }
.mb60{ margin-bottom: 60px; }
.mb70{ margin-bottom: 70px; }
.mb80{ margin-bottom: 80px; }
.mb90{ margin-bottom: 90px; }
.mb100{ margin-bottom: 100px; }

.ma{
  margin-inline: auto;
}

.fwb{
  font-weight: bold;
}
.tal{
  text-align: left;
}
.tac{
  text-align: center;
}
.tar{
  text-align: right;
}
.taj{
  text-align: justify;
}
.posr{
  position: relative;
}
.posa{
  position: absolute;
}
.z1{
  z-index: 1;
}
/* .fs30{ font-size: 1.875em; }
.fs28{ font-size: 1.75em; }
.fs26{ font-size: 1.625em; }
.fs24{ font-size: 1.5em; }
.fs22{ font-size: 1.375em; }
.fs21{ font-size: 1.312em; }
.fs20{ font-size: 1.25em; }
.fs18{ font-size: 1.125em; }
.fs17{ font-size: 1.062em; }
.fs14{ font-size: 0.875em; }
.fs12{ font-size: 0.75em; } */

.fs30{ font-size: 3.0rem; }
.fs28{ font-size: 2.8rem; }
.fs26{ font-size: 2.6rem; }
.fs24{ font-size: 2.4rem; }
.fs22{ font-size: 2.2rem; }
.fs20{ font-size: 2.0rem; }
.fs21{ font-size: 2.1rem; }
.fs18{ font-size: 1.8rem; }
.fs17{ font-size: 1.7rem; }
.fs16{ font-size: 1.6rem; }
.fs14{ font-size: 1.4rem; }
.fs12{ font-size: 1.2rem; }

.lh1{ line-height: 1; }
.lh1_2{ line-height: 1.2; }
.lh1_3{ line-height: 1.3; }
.lh1_4{ line-height: 1.4; }
.lh1_5{ line-height: 1.5; }
.lh1_6{ line-height: 1.6; }
.lh1_7{ line-height: 1.7; }
.lh1_8{ line-height: 1.8; }
.lh1_9{ line-height: 1.9; }
.lh2{ line-height: 2; }

.wobba{
  word-break: break-all;
}
.tdu{
  text-decoration: underline;
}
.tdn{
  text-decoration: none;
}
@media (min-width: 769px){
  .pc-w100p{
    width: 100% !important
  }
  .pc-wfc{
    width: fit-content;
  }
  .is-pc-none{
    display: none !important;
  }
  .pc-db{
    display: block;
  }
  .pc-dib{
    display: inline-block;
  }
  .pc-df{
    display: flex;
  }
  
  .pc-dg{
    display: grid;
  }
  .pc-fxw{
    flex-wrap: wrap;
  }
  .pc-flex-center{
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .pc-col2{
    grid-template-columns: repeat(2, 1fr);
  }
  .pc-col3{
    grid-template-columns: repeat(3, 1fr);
  }
  .pc-col4{
    grid-template-columns: repeat(4, 1fr);
  }
  .pc-aifs{
    align-items: flex-start;
  }
  .pc-aic{
    align-items: center;
  }
  .pc-aife{
    align-items: flex-end;
  }
  .pc-aib{
    align-items: baseline;
  }
  .pc-jcfs{
    justify-content: flex-start;
  }
  .pc-jcfe{
    justify-content: flex-end;
  }
  .pc-jcc{
    justify-content: center;
  }
  .pc-jcsb{
    justify-content: space-between;
  }
  .pc-jcsa{
    justify-content: space-around;
  }
  .pc-fx1{
    flex: 1;
  }
  .pc-fxdc{
    flex-direction:column;
  }
  .pc-fxdcr{
    flex-direction:column-reverse;
  }

  .pc-gap5{ gap: 5px; }
  .pc-gap10{ gap: 10px; }
  .pc-gap15{ gap: 15px; }
  .pc-gap20{ gap: 20px; }
  .pc-gap25{ gap: 25px; }
  .pc-gap30{ gap: 30px; }
  .pc-gap35{ gap: 35px; }
  .pc-gap40{ gap: 40px; }
  .pc-gap50{ gap: 50px; }
  .pc-gap60{ gap: 60px; }
  .pc-gap70{ gap: 70px; }
  .pc-gap80{ gap: 80px; }
  .pc-gap90{ gap: 90px; }
  .pc-gap100{ gap: 100px; }
  .pc-colmg5{ column-gap: 5px; }
  .pc-colmg10{ column-gap: 10px; }
  .pc-colmg15{ column-gap: 15px; }
  .pc-colmg20{ column-gap: 20px; }
  .pc-colmg25{ column-gap: 25px; }
  .pc-colmg30{ column-gap: 30px; }
  .pc-colmg35{ column-gap: 35px; }
  .pc-colmg40{ column-gap: 40px; }
  .pc-colmg50{ column-gap: 50px; }
  .pc-rowg5{ row-gap: 5px; }
  .pc-rowg10{ row-gap: 10px; }
  .pc-rowg15{ row-gap: 15px; }
  .pc-rowg20{ row-gap: 20px; }
  .pc-rowg25{ row-gap: 25px; }
  .pc-rowg30{ row-gap: 30px; }
  .pc-rowg35{ row-gap: 35px; }
  .pc-rowg40{ row-gap: 40px; }
  .pc-rowg50{ row-gap: 50px; }

  .pc-mt0{ margin-top: 0; }
  .pc-mt5{ margin-top: 5px; }
  .pc-mt10{ margin-top: 10px; }
  .pc-mt15{ margin-top: 15px; }
  .pc-mt20{ margin-top: 20px; }
  .pc-mt25{ margin-top: 25px; }
  .pc-mt30{ margin-top: 30px; }
  .pc-mt35{ margin-top: 35px; }
  .pc-mt40{ margin-top: 40px; }
  .pc-mt50{ margin-top: 50px; }
  .pc-mt60{ margin-top: 60px; }
  .pc-mt70{ margin-top: 70px; }
  .pc-mt80{ margin-top: 80px; }
  .pc-mt90{ margin-top: 90px; }
  .pc-mt100{ margin-top: 100px; }

  .pc-mb0{ margin-bottom: 0; }
  .pc-mb10{ margin-bottom: 10px; }
  .pc-mb15{ margin-bottom: 15px; }
  .pc-mb20{ margin-bottom: 20px; }
  .pc-mb25{ margin-bottom: 25px; }
  .pc-mb30{ margin-bottom: 30px; }
  .pc-mb35{ margin-bottom: 35px; }
  .pc-mb40{ margin-bottom: 40px; }
  .pc-mb50{ margin-bottom: 50px; }
  .pc-mb60{ margin-bottom: 60px; }
  .pc-mb70{ margin-bottom: 70px; }
  .pc-mb80{ margin-bottom: 80px; }
  .pc-mb90{ margin-bottom: 90px; }
  .pc-mb100{ margin-bottom: 100px; }

  .pc-ma{ margin-inline: auto; }

  .pc-tal{
    text-align: left;
  }
  .pc-tac{
    text-align: center;
  }
  .pc-tar{
    text-align: right;
  }
  .pc-taj{
    text-align: justify;
  }
  .pc-posr{
    position: relative;
  }
  .pc-posa{
    position: absolute;
  }

  .pc-fs16{ font-size: 1.6rem; }/* default */
  /* .pc-fs30{ font-size: 1.875em; }
  .pc-fs28{ font-size: 1.75em; }
  .pc-fs26{ font-size: 1.625em; }
  .pc-fs24{ font-size: 1.5em; }
  .pc-fs22{ font-size: 1.375em; }
  .pc-fs20{ font-size: 1.25em; }
  .pc-fs21{ font-size: 1.312em; }
  .pc-fs18{ font-size: 1.125em; }
  .pc-fs17{ font-size: 1.062em; }
  .pc-fs14{ font-size: 0.875em; }
  .pc-fs12{ font-size: 0.75em; } */

  .pc-fs30{ font-size: 3.0rem; }
  .pc-fs28{ font-size: 2.8rem; }
  .pc-fs26{ font-size: 2.6rem; }
  .pc-fs24{ font-size: 2.4rem; }
  .pc-fs22{ font-size: 2.2rem; }
  .pc-fs20{ font-size: 2.0rem; }
  .pc-fs21{ font-size: 2.1rem; }
  .pc-fs18{ font-size: 1.8rem; }
  .pc-fs17{ font-size: 1.7rem; }
  .pc-fs16{ font-size: 1.6rem; }
  .pc-fs14{ font-size: 1.4rem; }
  .pc-fs12{ font-size: 1.2rem; }

  .pc-lh1{ line-height: 1; }
  .pc-lh1_2{ line-height: 1.2; }
  .pc-lh1_3{ line-height: 1.3; }
  .pc-lh1_4{ line-height: 1.4; }
  .pc-lh1_5{ line-height: 1.5; }
  .pc-lh1_6{ line-height: 1.6; }
  .pc-lh1_7{ line-height: 1.7; }
  .pc-lh1_8{ line-height: 1.8; }
  .pc-lh1_9{ line-height: 1.9; }
  .pc-lh2{ line-height: 2; }

  .pc-wobba{
    word-break: break-all;
  }
  .pc-tdu{
    text-decoration: underline;
  }
  .pc-tdn{
    text-decoration: none;
  }
}
@media (max-width: 768px){
  .sp-w100p{
    width: 100% !important
  }
  .sp-wfc{
    width: fit-content;
  }
  .is-sp-none{
    display: none !important;;
  }
  .sp-db{
    display: block;
  }
  .sp-dib{
    display: inline-block;
  }
  .sp-df{
    display: flex;
  }
  .sp-dg{
    display: grid;
  }
  .sp-fxw{
    flex-wrap: wrap;
  }
  .sp-col2{
    grid-template-columns: repeat(2, 1fr);
  }
  .sp-col3{
    grid-template-columns: repeat(3, 1fr);
  }
  .sp-col4{
    grid-template-columns: repeat(4, 1fr);
  }
  .sp-aifs{
    align-items: flex-start;
  }
  .sp-aic{
    align-items: center;
  }
  .sp-aife{
    align-items: flex-end;
  }
  .sp-aib{
    align-items: baseline;
  }
  .sp-jcfs{
    justify-content: flex-start;
  }
  .sp-jcfe{
    justify-content: flex-end;
  }
  .sp-jcc{
    justify-content: center;
  }
  .sp-jcsb{
    justify-content: space-between;
  }
  .sp-jcsa{
    justify-content: space-around;
  }
  .sp-fx1{
    flex: 1;
  }
  .sp-fxdc{
    flex-direction:column;
  }
  .sp-fxdcr{
    flex-direction:column-reverse;
  }

  .sp-gap5{ gap: 5px; }
  .sp-gap10{ gap: 10px; }
  .sp-gap15{ gap: 15px; }
  .sp-gap20{ gap: 20px; }
  .sp-gap25{ gap: 25px; }
  .sp-gap30{ gap: 30px; }
  .sp-gap35{ gap: 35px; }
  .sp-gap40{ gap: 40px; }
  .sp-gap50{ gap: 50px; }
  .sp-gap60{ gap: 60px; }
  .sp-gap70{ gap: 70px; }
  .sp-colmg5{ column-gap: 5px; }
  .sp-colmg10{ column-gap: 10px; }
  .sp-colmg15{ column-gap: 15px; }
  .sp-colmg20{ column-gap: 20px; }
  .sp-colmg25{ column-gap: 25px; }
  .sp-colmg30{ column-gap: 30px; }
  .sp-colmg35{ column-gap: 35px; }
  .sp-colmg40{ column-gap: 40px; }
  .sp-colmg50{ column-gap: 50px; }
  .sp-rowg5{ row-gap: 5px; }
  .sp-rowg10{ row-gap: 10px; }
  .sp-rowg15{ row-gap: 15px; }
  .sp-rowg20{ row-gap: 20px; }
  .sp-rowg25{ row-gap: 25px; }
  .sp-rowg30{ row-gap: 30px; }
  .sp-rowg35{ row-gap: 35px; }
  .sp-rowg40{ row-gap: 40px; }
  .sp-rowg50{ row-gap: 50px; }

  .sp-mt0{ margin-top: 0; }
  .sp-mt5{ margin-top: 5px; }
  .sp-mt10{ margin-top: 10px; }
  .sp-mt15{ margin-top: 15px; }
  .sp-mt20{ margin-top: 20px; }
  .sp-mt25{ margin-top: 25px; }
  .sp-mt30{ margin-top: 30px; }
  .sp-mt35{ margin-top: 35px; }
  .sp-mt40{ margin-top: 40px; }
  .sp-mt50{ margin-top: 50px; }
  .sp-mt60{ margin-top: 60px; }
  .sp-mt70{ margin-top: 70px; }
  .sp-mt80{ margin-top: 80px; }
  .sp-mt90{ margin-top: 90px; }
  .sp-mt100{ margin-top: 100px; }

  .sp-mb0{ margin-bottom: 0; }
  .sp-mb5{ margin-bottom: 5px; }
  .sp-mb10{ margin-bottom: 10px; }
  .sp-mb15{ margin-bottom: 15px; }
  .sp-mb20{ margin-bottom: 20px; }
  .sp-mb25{ margin-bottom: 25px; }
  .sp-mb30{ margin-bottom: 30px; }
  .sp-mb35{ margin-bottom: 35px; }
  .sp-mb40{ margin-bottom: 40px; }
  .sp-mb50{ margin-bottom: 50px; }
  .sp-mb60{ margin-bottom: 60px; }
  .sp-mb70{ margin-bottom: 70px; }
  .sp-mb80{ margin-bottom: 80px; }
  .sp-mb90{ margin-bottom: 90px; }
  .sp-mb100{ margin-bottom: 100px; }

  .sp-ma{ margin-inline: auto; }

  .sp-tal{
    text-align: left;
  }
  .sp-tac{
    text-align: center;
  }
  .sp-tar{
    text-align: right;
  }
  .sp-taj{
    text-align: justify;
  }
  .sp-posr{
    position: relative;
  }
  .sp-posa{
    position: absolute;
  }

  .sp-fs14{ font-size: 1.4rem; }/* default */
  /* .sp-fs28{ font-size: 2em; }
  .sp-fs26{ font-size: 1.857em; }
  .sp-fs24{ font-size: 1.625em; }
  .sp-fs23{ font-size: 1.643em; }
  .sp-fs22{ font-size: 1.571em; }
  .sp-fs20{ font-size: 1.429em; }
  .sp-fs19{ font-size: 1.357em; }
  .sp-fs18{ font-size: 1.286em; }
  .sp-fs17{ font-size: 1.214em; }
  .sp-fs16{ font-size: 1.143em; }
  .sp-fs15{ font-size: 1.071em; }
  .sp-fs13{ font-size: 0.928em; }
  .sp-fs12{ font-size: 0.857em; } */

  .sp-fs28{ font-size: 2.8rem; }
  .sp-fs26{ font-size: 2.6rem; }
  .sp-fs24{ font-size: 2.4rem; }
  .sp-fs23{ font-size: 2.3rem; }
  .sp-fs22{ font-size: 2.2rem; }
  .sp-fs20{ font-size: 2.0rem; }
  .sp-fs19{ font-size: 1.9rem; }
  .sp-fs18{ font-size: 1.8rem; }
  .sp-fs17{ font-size: 1.7rem; }
  .sp-fs16{ font-size: 1.6rem; }
  .sp-fs15{ font-size: 1.5rem; }
  .sp-fs13{ font-size: 1.3rem; }
  .sp-fs12{ font-size: 1.2rem; }

  .sp-lh1{ line-height: 1; }
  .sp-lh1_2{ line-height: 1.2; }
  .sp-lh1_3{ line-height: 1.3; }
  .sp-lh1_4{ line-height: 1.4; }
  .sp-lh1_5{ line-height: 1.5; }
  .sp-lh1_6{ line-height: 1.6; }
  .sp-lh1_7{ line-height: 1.7; }
  .sp-lh1_8{ line-height: 1.8; }
  .sp-lh1_9{ line-height: 1.9; }
  .sp-lh2{ line-height: 2; }

  .sp-wobba{
    word-break: break-all;
  }
  .sp-tdu{
    text-decoration: underline;
  }
  .sp-tdn{
    text-decoration: none;
  }
}