@charset "UTF-8";
/*  @media用 */
.tac, .center {
  text-align: center;
}

.left {
  text-align: left !important;
}

.right {
  text-align: right !important;
}

.left_t {
  text-align: left !important;
}

.right_t {
  text-align: right !important;
}

.fl {
  float: left;
}

.fr {
  float: right;
}

.vatop {
  vertical-align: top;
}

.vam {
  vertical-align: middle;
}

.fwb {
  font-weight: bold;
}

.fwn {
  font-weight: normal;
}

.ls0 {
  letter-spacing: 0px;
}

.ls1 {
  letter-spacing: 1px;
}

.ls2 {
  letter-spacing: 2px;
}

.lsm1 {
  letter-spacing: -1px;
}

.lsm2 {
  letter-spacing: -2px;
}

.lh1 {
  line-height: 1 !important;
}

.lh2 {
  line-height: 2 !important;
}

.fonts_italic {
  font-style: italic;
}

.wspace-nw {
  white-space: nowrap;
}

.fs0 {
  font-size: 0;
}

.bt0 {
  border-top: 0 !important;
}

.bb0 {
  border-bottom: 0 !important;
}

.bsnone {
  box-shadow: none !important;
}

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

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

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

.pt40 {
  padding-top: 40px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pt60 {
  padding-top: 60px !important;
}

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

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

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

.pb40 {
  padding-bottom: 40px !important;
}

.mauto {
  margin: auto !important;
}

.mt0 {
  margin-top: 0px !important;
}

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

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

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

.mt40 {
  margin-top: 40px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mb0 {
  margin-bottom: 0px !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;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

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

.wauto {
  width: auto !important;
}

.w100 {
  width: 100% !important;
}

.w50 {
  width: 50% !important;
}

.dibl {
  display: block !important;
}

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

.aitemsc {
  align-items: center;
}

.ascenter {
  align-self: center;
}

.asend {
  align-self: end;
}

.grid {
  gap: 10px;
}

@media screen and (min-width: 540px) {
  .grid {
    display: grid;
    display: -ms-grid;
  }
}

.grid.col2 {
  grid-template-columns: repeat(2, 1fr);
}

.grid.col2.columns7-3 {
  grid-template-columns: 7fr 3fr;
}

.grid.col3 {
  grid-template-columns: repeat(3, 1fr);
}

@media screen and (max-width: 540px) {
  .grid.col3.sp-col2 {
    display: grid;
    display: -ms-grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
  }
}

.tit_01 {
  font-size: 4.26667vw;
  font-weight: bold;
  line-height: 1.34;
  font-family: "hiragino-mincho-pron", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "Sawarabi Mincho", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", "Hiragino Mincho W3 JIS2004", "Hiragino Mincho Pro W3", serif;
  margin-bottom: 10px;
}

@media screen and (min-width: 768px) {
  .tit_01 {
    font-size: 36px;
  }
}

.tit_01 .sstxt, .tit_01.sstxt {
  font-size: 4.26667vw;
}

@media screen and (min-width: 768px) {
  .tit_01 .sstxt, .tit_01.sstxt {
    font-size: 30px;
  }
}

.tit_01 .stxt, .tit_01.stxt {
  font-size: 3.46667vw;
}

@media screen and (min-width: 768px) {
  .tit_01 .stxt, .tit_01.stxt {
    font-size: 25px;
  }
}

.tit_01 .stxt2 {
  font-size: 4vw;
}

@media screen and (min-width: 768px) {
  .tit_01 .stxt2 {
    font-size: 28px;
  }
}

.tit_01 .mtxt {
  font-size: 5.6vw;
}

@media screen and (min-width: 768px) {
  .tit_01 .mtxt {
    font-size: 40px;
  }
}

.tit_01 .mtxt2 {
  font-size: 6.13333vw;
}

@media screen and (min-width: 768px) {
  .tit_01 .mtxt2 {
    font-size: 44px;
  }
}

.tit_01 .ltxt {
  font-size: 6.66667vw;
}

@media screen and (min-width: 768px) {
  .tit_01 .ltxt {
    font-size: 49px;
  }
}

.tit_01 .ltxt2 {
  font-size: 10.13333vw;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .tit_01 .ltxt2 {
    font-size: 75px;
  }
}

.tit_01 .lltxt {
  font-size: 11.46667vw;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .tit_01 .lltxt {
    font-size: 85px;
  }
}

.tit_01 .num {
  font-size: 6.93333vw;
}

@media screen and (min-width: 768px) {
  .tit_01 .num {
    font-size: 51px;
  }
}

.tit_01 .num2 {
  font-size: 10.66667vw;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .tit_01 .num2 {
    font-size: 78px;
  }
}

.tit_01.bb01 {
  padding-bottom: 20px;
  margin-bottom: 20px;
}
