@charset "utf-8";

/*----- common -----*/
html {
  font-size: 62.5%;
}
body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.3;
  color: #222222;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overscroll-behavior-y: none;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
  padding: 3.5rem 0;
}

.notoSerif {
  font-family: "Noto Serif JP", serif;
}
.noto {
  font-family: "Noto Sans JP", sans-serif;
}
.roboto {
  font-family: "Roboto", sans-serif;
}
.jost {
  font-family: "Jost", sans-serif;
}
.dnone,
.sp {
  display: none;
}
.db {
  display: block !important;
}
.dib {
  display: inline-block;
}
.tac {
  text-align: center;
}
.tar {
  text-align: right;
}
.tal {
  text-align: left;
}
.relative {
  position: relative;
}
.z1 {
  z-index: 1;
}
hr {
  border: none;
  border-bottom: 0.1rem solid #199342;
  margin: 0;
}

.brb15 {
  border-radius: 0 0 1.5rem 1.5rem;
}
.br15 {
  border-radius: 1.5rem;
}

.pc-hidden,
.pc-hidden-inline {
  display: none;
}

.sp-hidden {
  display: block;
}

.active {
  display: block;
}

.sp-hidden-inline {
  display: inline;
}
/*---------- upper -----------*/
#container {
  max-width: 75rem;
  margin: 0 auto;
  overflow: hidden;
}
.box {
  position: relative;
  padding-left: 2rem;
  padding-right: 2rem;
}
.m_box {
  position: relative;
  padding-left: 5rem;
  padding-right: 5rem;
}
.s_box {
  position: relative;
  padding-left: 8rem;
  padding-right: 8rem;
}

.mauto {
  margin: 0 auto;
}

.orange_box {
  border: 0.1rem solid #f85e1e;
}
.green_box {
  border: 0.1rem solid #199342;
}
.black_box {
  border: 0.1rem solid #3e3a39;
}

/*----- column -----*/
.flex {
  display: flex;
  flex-wrap: wrap;
}
.sec,
.sec_rev {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.sec_rev {
  flex-direction: row-reverse;
}
.jcc {
  justify-content: center;
}
.aic {
  align-items: center;
}
.w315 > li {
  width: 31.5rem;
}
.w69 {
  width: 69rem;
}

/*---------- margin,padding -----------*/
.mb5 {
  margin-bottom: 0.5rem;
}
.mb10 {
  margin-bottom: 1rem;
}
.mb15 {
  margin-bottom: 1.5rem;
}
.mb20 {
  margin-bottom: 2rem;
}
.mb25 {
  margin-bottom: 2.5rem;
}
.mb30 {
  margin-bottom: 3rem;
}
.mb35 {
  margin-bottom: 3.5rem;
}
.mb40 {
  margin-bottom: 4rem;
}
.mb45 {
  margin-bottom: 4.5rem;
}
.mb50 {
  margin-bottom: 5rem;
}
.mb60 {
  margin-bottom: 6rem;
}
.mb70 {
  margin-bottom: 7rem;
}
.mb80 {
  margin-bottom: 8rem;
}
.mb90 {
  margin-bottom: 9rem;
}

.mt10 {
  margin-top: 1rem;
}
.mt15 {
  margin-top: 1.5rem;
}
.mt20 {
  margin-top: 2rem !important;
}
.mt25 {
  margin-top: 2.5rem !important;
}
.mt30 {
  margin-top: 3rem;
}
.mt35 {
  margin-top: 3.5rem;
}
.mt40 {
  margin-top: 4rem;
}
.mt45 {
  margin-top: 4.5rem;
}
.mt50 {
  margin-top: 5rem;
}
.mt60 {
  margin-top: 6rem;
}
.mt80 {
  margin-top: 8rem;
}
.mt85 {
  margin-top: 8.5rem;
}
.mt-10 {
  margin-top: -1rem;
}

.mtb30 {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.mtb40 {
  margin-top: 4rem;
  margin-bottom: 4rem;
}

.ml10 {
  margin-left: 1rem;
}
.ml40 {
  margin-left: 4rem;
}
.ml50 {
  margin-left: 5rem;
}

.pb15 {
  padding-bottom: 1.5rem;
}
.pb20 {
  padding-bottom: 2rem;
}
.pb25 {
  padding-bottom: 2.5rem;
}
.pb30 {
  padding-bottom: 3rem;
}
.pb45 {
  padding-bottom: 4.5rem;
}
.pb50 {
  padding-bottom: 5rem;
}
.pb60 {
  padding-bottom: 6rem;
}
.pb65 {
  padding-bottom: 6.5rem;
}
.pb75 {
  padding-bottom: 7.5rem;
}
.pb80 {
  padding-bottom: 8rem;
}
.pb90 {
  padding-bottom: 9rem;
}
.pb100 {
  padding-bottom: 10rem;
}
.pb110 {
  padding-bottom: 11rem;
}
.pb120 {
  padding-bottom: 12rem;
}
.pb140 {
  padding-bottom: 14rem;
}

.pt10 {
  padding-top: 1rem;
}
.pt15 {
  padding-top: 1.5rem;
}
.pt20 {
  padding-top: 2rem;
}
.pt30 {
  padding-top: 3rem;
}
.pt35 {
  padding-top: 3.5rem;
}
.pt40 {
  padding-top: 4rem;
}
.pt45 {
  padding-top: 4.5rem;
}
.pt50 {
  padding-top: 5rem;
}
.pt60 {
  padding-top: 6rem;
}
.pt70 {
  padding-top: 7rem;
}
.pt75 {
  padding-top: 7.5rem;
}
.pt90 {
  padding-top: 9rem;
}
.pt105 {
  padding-top: 10.5rem;
}
.pt120 {
  padding-top: 12rem;
}
.pt160 {
  padding-top: 16rem;
}
.pt180 {
  padding-top: 18rem;
}

.ptb20 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.ptb30 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.ptb60 {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.mlr40 {
  margin-left: 4rem;
  margin-right: 4rem;
}

.p15 {
  padding: 1.5rem;
}
.p20 {
  padding: 2rem;
}
.p30 {
  padding: 3rem;
}

.pl20 {
  padding-left: 2rem;
}
.pl30 {
  padding-left: 3rem;
}
.pl35 {
  padding-left: 3.5rem;
}
.pl40 {
  padding-left: 4rem;
}
.pl50 {
  padding-left: 5rem;
}

.pr15 {
  padding-right: 1.5rem;
}
.pr20 {
  padding-right: 2rem;
}
.pr30 {
  padding-right: 3rem;
}
.pr40 {
  padding-right: 4rem;
}
.pr45 {
  padding-right: 4.5rem;
}
.pr65 {
  padding-right: 6.5rem;
}

.plr10 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.plr15 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.plr20 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.plr30 {
  padding-left: 3rem;
  padding-right: 3rem;
}
.plr35 {
  padding-left: 3.5rem;
  padding-right: 3.5rem;
}
.plr60 {
  padding-left: 6rem;
  padding-right: 6rem;
}
.plr70 {
  padding-left: 7rem;
  padding-right: 7rem;
}
.plr80 {
  padding-left: 8rem;
  padding-right: 8rem;
}

/*----- img -----*/
.c_img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.r_img {
  display: block;
  margin: 0 0 0 auto;
}
.h_img {
  transition: 0.3s;
}
.h_img:hover {
  opacity: 0.8;
}

.nowrap {
  white-space: nowrap;
}

/*----- color -----*/
.green {
  color: #199342;
}
.orange {
  color: #ff4600;
}
.yellow {
  color: #f0af00;
}
.yellow02 {
  color: #ffff89;
}
.white {
  color: #fff;
}
.grey {
  color: #666666;
}
.grey02 {
  color: #333333;
}
.grey03 {
  color: #4d4d4d;
}
.black {
  color: #000;
}
.black01 {
  color: #1a1a1a;
}
.brown {
  color: #88764c;
}
.pink {
  color: #df1678;
}
.lightPink {
  color: #f8a9cf;
}
.white {
  color: #fff;
}
.blue {
  color: #0036a9;
}
.blueText {
  color: #3f8bd7;
}
.darkBlue {
  color: #08568b;
}
.red {
  color: #e73817;
}

.grey_bg {
  background: #e1f5eb80;
}
.white_bg {
  background: #ffffff;
}

/*----- text -----*/
.r_txt {
  margin: 0 0 0 auto;
}
.ttl {
  text-align: center;
}
mark {
  position: relative;
  z-index: 1;
  display: inline-block;
}
mark:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0rem;
  bottom: 1rem;
  z-index: -1;
  background: #ffff73;
  -webkit-transform: translate(0, -53%);
  transform: translate(0, -53%);
  top: 58%;
}
.speech {
  position: relative;
  z-index: 1;
  line-height: 1;
  padding: 0 3rem;
}
.speech::before,
.speech::after {
  content: "";
  position: absolute;
  bottom: 0.6rem;
  width: 1.8rem;
  height: 3.7rem;
  z-index: -1;
}
.speech::before {
  left: 0;
}
.speech::after {
  right: 0;
}
.speech01::before {
  background: url(../../img/speech01_l.svg) no-repeat center center;
  background-size: cover;
}
.speech01::after {
  background: url(../../img/speech01_r.svg) no-repeat center center;
  background-size: cover;
}
.speech02::before {
  background: url(../../img/speech02_l.svg) no-repeat center center;
  background-size: cover;
}
.speech02::after {
  background: url(../../img/speech02_r.svg) no-repeat center center;
  background-size: cover;
}

.square {
  position: relative;
  z-index: 1;
  display: inline-block;
}
.square::before,
.square::after {
  content: "";
  position: absolute;
  width: 3.5rem;
  height: 3.5rem;
  z-index: -1;
}
.square::before {
  top: -2rem;
  left: -4rem;
  background: url(../../img/square_l.svg) no-repeat center center;
  background-size: cover;
}
.square::after {
  bottom: -2rem;
  right: -4rem;
  background: url(../../img/square_r.svg) no-repeat center center;
  background-size: cover;
}

.fs10 {
  font-size: 1rem;
}
.fs12 {
  font-size: 1.2rem;
}
.fs14 {
  font-size: 1.4rem;
}
.fs15 {
  font-size: 1.5rem;
}
.fs16 {
  font-size: 1.6rem;
}
.fs18 {
  font-size: 1.8rem;
}
.fs19 {
  font-size: 1.9rem;
}
.fs20 {
  font-size: 2rem;
}
.fs21 {
  font-size: 2.1rem;
}
.fs22 {
  font-size: 2.2rem;
}
.fs23 {
  font-size: 2.3rem;
}
.fs24 {
  font-size: 2.4rem;
}
.fs25 {
  font-size: 2.5rem;
}
.fs26 {
  font-size: 2.6rem;
}
.fs27 {
  font-size: 2.7rem;
}
.fs28 {
  font-size: 2.8rem;
}
.fs30 {
  font-size: 3rem;
}
.fs31 {
  font-size: 3.1rem;
}
.fs32 {
  font-size: 3.2rem;
}
.fs33 {
  font-size: 3.3rem;
}
.fs34 {
  font-size: 3.4rem;
}
.fs35 {
  font-size: 3.5rem;
}
.fs36 {
  font-size: 3.6rem;
}
.fs37 {
  font-size: 3.7rem;
}
.fs38 {
  font-size: 3.8rem;
}
.fs39 {
  font-size: 3.9rem;
}
.fs40 {
  font-size: 4rem;
}
.fs42 {
  font-size: 4.2rem;
}
.fs43 {
  font-size: 4.3rem;
}
.fs44 {
  font-size: 4.4rem;
}
.fs45 {
  font-size: 4.5rem;
}
.fs46 {
  font-size: 4.6rem;
}
.fs47 {
  font-size: 4.7rem;
}
.fs48 {
  font-size: 4.8rem;
}
.fs49 {
  font-size: 4.9rem;
}
.fs50 {
  font-size: 5rem;
}
.fs51 {
  font-size: 5.1rem;
}
.fs52 {
  font-size: 5.2rem;
}
.fs53 {
  font-size: 5.3rem;
}
.fs54 {
  font-size: 5.4rem;
}
.fs55 {
  font-size: 5.5rem;
}
.fs56 {
  font-size: 5.6rem;
}
.fs57 {
  font-size: 5.7rem;
}
.fs58 {
  font-size: 5.8rem;
}
.fs59 {
  font-size: 5.9rem;
}
.fs60 {
  font-size: 6rem;
}
.fs61 {
  font-size: 6.1rem;
}
.fs62 {
  font-size: 6.2rem;
}
.fs63 {
  font-size: 6.3rem;
}
.fs64 {
  font-size: 6.4rem;
}
.fs65 {
  font-size: 6.5rem;
}
.fs66 {
  font-size: 6.6rem;
}
.fs68 {
  font-size: 6.8rem;
}
.fs69 {
  font-size: 6.9rem;
}
.fs70 {
  font-size: 7rem;
}
.fs71 {
  font-size: 7.1rem;
}
.fs72 {
  font-size: 7.2rem;
}
.fs74 {
  font-size: 7.4rem;
}
.fs75 {
  font-size: 7.5rem;
}
.fs76 {
  font-size: 7.6rem;
}
.fs77 {
  font-size: 7.7rem;
}
.fs78 {
  font-size: 7.8rem;
}
.fs80 {
  font-size: 8rem;
}
.fs82 {
  font-size: 8.2rem;
}
.fs88 {
  font-size: 8.8rem;
}
.fs90 {
  font-size: 9rem;
}
.fs92 {
  font-size: 9.2rem;
}
.fs95 {
  font-size: 9.5rem;
}
.fs96 {
  font-size: 9.6rem;
}
.fs98 {
  font-size: 9.8rem;
}
.fs100 {
  font-size: 10rem;
}
.fs103 {
  font-size: 10.3rem;
}
.fs105 {
  font-size: 10.5rem;
}
.fs108 {
  font-size: 10.8rem;
}
.fs110 {
  font-size: 11rem;
}
.fs112 {
  font-size: 11.2rem;
}
.fs119 {
  font-size: 11.9rem;
}
.fs120 {
  font-size: 12rem;
}
.fs134 {
  font-size: 13.4rem;
}
.fs140 {
  font-size: 14rem;
}
.fs150 {
  font-size: 15rem;
}
.fs158 {
  font-size: 15.8rem;
}
.fs210 {
  font-size: 21rem;
}
.fs222 {
  font-size: 22.2rem;
}

.fwn {
  font-weight: normal;
}
.light {
  font-weight: 300;
}
.medium {
  font-weight: 600;
}
.fwb {
  font-weight: bold;
}
.bold {
  font-weight: 700;
}
.fw400 {
  font-weight: 400;
}
.fw500 {
  font-weight: 500;
}
.fw600 {
  font-weight: 600;
}
.fw700 {
  font-weight: 700;
}
.fw900 {
  font-weight: 900;
}

.lh0 {
  line-height: 0;
}
.lh1 {
  line-height: 1;
}
.lh11 {
  line-height: 1.1;
}
.lh12 {
  line-height: 1.2;
}
.lh126 {
  line-height: 1.26;
}
.lh13 {
  line-height: 1.3;
}
.lh14 {
  line-height: 1.4;
}
.lh15 {
  line-height: 1.5;
}
.lh16 {
  line-height: 1.6;
}
.lh17 {
  line-height: 1.7;
}
.lh175 {
  line-height: 1.75;
}
.lh18 {
  line-height: 1.8;
}
.lh19 {
  line-height: 1.9;
}

.lt-1 {
  letter-spacing: -0.1rem;
}
.lt-2 {
  letter-spacing: -0.2rem;
}
.lt05 {
  letter-spacing: 0.5rem;
}
.lt20 {
  letter-spacing: -0.2rem;
}
.tsw01 {
  text-shadow: 0.2rem 0.2rem #fff;
}
.tsw02 {
  text-shadow: 0.4rem 0 #fff, -0.4rem 0 #fff, 0 0.4rem #fff, 0 -0.4rem #fff,
    0.2rem 0.2rem #fff, -0.2rem -0.2rem #fff, 0.2rem -0.2rem #fff,
    -0.2rem 0.2rem #fff;
}
.tsw03 {
  text-shadow: -0.1rem -0.4rem 0.5rem #fff;
}

.italic {
  font-style: italic;
}

.sp {
  display: none;
}

.colorGreenGra {
  background: linear-gradient(to right, #79bdaf 0%, #439f81 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.left,
.in_left {
  float: left;
}

.in_left img {
  width: 20rem;
}

.generalTtl p {
  letter-spacing: 0.1rem;
  color: #afc3d1;
}

.generalTtl mark {
  color: #333;
  font-style: italic;
}

.yellowMark {
  background: linear-gradient(transparent 50%, #f4e621 25%);
  background-position: bottom;
}

.yellowMark02 {
  background: linear-gradient(transparent 70%, #ffff73 2rem);
  background-position: top;
}

.blueMark {
  background: #1e99d4;
  color: #fff;
  background-repeat: no-repeat;
  background-position: top;
  display: inline-block;
  height: 100%;
}

.lBlueMark {
  background: #7ec7ed;
  color: #fff;
  background-repeat: no-repeat;
  background-position: top;
  display: inline-block;
  height: 100%;
  width: 85%;
}

@media screen and (max-width: 749px) {
  html {
    font-size: 1.33333vw;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  body {
    padding-bottom: 14rem;
  }
}
