@charset "UTF-8";
.frame-blue {
  padding: 5%;
  border: 5px solid #b3d2e9;
}

.frame-title {
  font-size: 22px;
  line-height: 1;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 20px;
}

.frame-title::before {
  content: '';
  width: 6px;
  height: 30px;
  margin: 0 3% 0 0;
  display: inline-block;
  background: #2c6d9e;
}

.frame-subtitle {
  color: #2c6d9e;
  font-size: 20px;
  font-weight: 500;
}

.frame-img {
  text-align: center;
  margin: 0 0 15px;
}

.frame-bg-yellow {
  padding: 5%;
  background-color: #fdfbe5;
}

.frame-bg-yellow_text {
  font-size: 23px;
  font-weight: 500;
}

.title {
  padding: 5px 0 10px 20px;
  border-bottom: solid 4px #d7d6d5;
  font-weight: bold;
  font-size: 30px;
  line-height: 1.2;
  position: relative;
}

.title::before {
  content: '';
  width: 9px;
  height: 100%;
  background: #2c6d9e;
  position: absolute;
  left: 0;
  bottom: 0;
}

.subtitle {
  font-size: 22px;
  line-height: 1;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 20px;
}

.subtitle::before {
  content: '';
  width: 6px;
  height: 30px;
  margin: 0 3% 0 0;
  display: inline-block;
  background: #2c6d9e;
}

.subtitle-m-green {
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  display: inline-block;
  padding: 1% 7.5%;
  border-radius: 5px;
  background: #54943d;
}

.subtitle-m-blue {
  color: #fff;
  display: inline-block;
  padding: 1% 7.5%;
  border-radius: 5px;
  background: #2c6d9e;
}

@media screen and (max-width: 749px) {
  .subtitle-m-green {
    font-size: 5.4vw;
  }
}

.title-green {
  color: #fff;
  background: #54943d;
  display: inline-block;
  font-size: 28px;
  padding: 0 5%;
}

.triangle-down {
  width: 0;
  height: 0;
  margin: 0 auto;
  border-style: solid;
  border-width: 75px 100px 0 100px;
  border-color: #ec7d34 transparent transparent transparent;
}

@media screen and (max-width: 500px) {
  .frame-title {
    font-size: 5vw;
  }
  .frame-subtitle {
    font-size: 4.6vw;
  }
  .frame-bg-yellow_text {
    font-size: 4.8vw;
  }
  .title {
    font-size: 6vw;
  }
  .title-green {
    font-size: 5.4vw;
  }
  .triangle-down {
    border-width: 12.5vw 15vw 0 15vw;
  }
}

/* ---------------------------------------------------------
	intro
--------------------------------------------------------- */
.intro_bottom {
  font-size: 40px;
}

@media screen and (max-width: 749px) {
  .intro_bottom {
    font-size: 8vw;
  }
}

/* ---------------------------------------------------------
	check
--------------------------------------------------------- */
.check_title {
  font-size: 40px;
  line-height: 1.2;
  text-align: center;
}

@media screen and (max-width: 749px) {
  .check_title {
    font-size: 7vw;
  }
}

/* ---------------------------------------------------------
	point
--------------------------------------------------------- */
.point_title {
  font-size: 30px;
  text-align: center;
  background: #b3d2e9;
  text-shadow: -2px 2px 0 whitesmoke;
}

.point_frame {
  padding: 5% 5% 3%;
  border: 5px solid #b3d2e9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.point_frame_box {
  width: 50%;
}

@media screen and (max-width: 749px) {
  .point_frame {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .point_frame_box {
    width: 100%;
  }
}

/* ---------------------------------------------------------
	hop
--------------------------------------------------------- */
.hop_box-01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.hop_box-01_img {
  width: 25%;
}

.hop_box-01_text {
  width: 75%;
  padding: 3% 5%;
  background: #fcf9f9;
  border-radius: 10px;
  position: relative;
}

.hop_box-01_text::before {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 10px 10px 0;
  border-color: transparent #fcf9f9 transparent transparent;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
}

@media screen and (max-width: 749px) {
  .hop_box-01_img {
    padding-right: 2%;
  }
}

/*———————————————-
matome
———————————————-*/
.matome {
  margin-top: 70px;
  padding: 1px 30px 30px;
  border-radius: 10px;
  background: #105d00;
  font-size: 20px;
  color: #fff;
}

.matome h3 span {
  display: inline-block;
  vertical-align: top;
  width: 60px;
  height: 60px;
  border-radius: 100%;
  -webkit-box-shadow: 0 0 0 3px #105d00 inset;
          box-shadow: 0 0 0 3px #105d00 inset;
  background: #fff;
  font-weight: 500;
  font-size: 40px;
  line-height: 56px;
  color: #0f0f0f;
}

.matome p.ttl {
  margin-bottom: 10px;
}

.matome p.ol-ttl {
  text-decoration: underline;
  color: #f2e826;
  font-size: 22px;
}

.matome li {
  padding-left: 3%;
}

.last_text-01 {
  font-size: 26px;
  line-height: 1.3;
  text-align: center;
}

.last_text-02 {
  font-size: 30px;
  text-align: center;
  font-weight: bold;
}

.last_text-03 {
  font-size: 34px;
  line-height: 1.3;
  text-align: center;
  font-weight: bold;
}

@media screen and (max-width: 749px) {
  .matome {
    font-size: 19px;
  }
  .matome p.ol-ttl {
    font-size: 20px;
  }
  .last_text-02 {
    font-size: 6vw;
  }
  .last_text-03 {
    font-size: 7vw;
  }
}

/* ---------------------------------------------------------
	汎用スタイル
--------------------------------------------------------- */
/*———————————————-
margin 共通
———————————————-*/
.mb0 {
  margin-bottom: 0 !important;
}

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

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

.mb90 {
  margin-bottom: 90px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.mb1em {
  margin-bottom: 1em;
}

.mb2em {
  margin-bottom: 2em;
}

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

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

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

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

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

.mt50 {
  margin-top: 50px !important;
}

.ml1em {
  margin-left: 1em;
}

.m0auto {
  margin: 0 auto;
}

/*———————————————-
margin PC
———————————————-*/
@media screen and (min-width: 750px) {
  .mb0Pc {
    margin-bottom: 0 !important;
  }
  .mb5Pc {
    margin-bottom: 5px !important;
  }
  .mb10Pc {
    margin-bottom: 10px !important;
  }
  .mb20Pc {
    margin-bottom: 20px !important;
  }
  .mb30Pc {
    margin-bottom: 30px !important;
  }
  .mb40Pc {
    margin-bottom: 40px !important;
  }
  .mb50Pc {
    margin-bottom: 50px !important;
  }
  .mt0Pc {
    margin-top: 0 !important;
  }
  .mt10Pc {
    margin-top: 10px !important;
  }
  .mt20Pc {
    margin-top: 20px !important;
  }
  .mt30Pc {
    margin-top: 30px !important;
  }
  .mt40Pc {
    margin-top: 40px !important;
  }
  .mt50Pc {
    margin-top: 50px !important;
  }
}

/*———————————————-
margin Mo
———————————————-*/
@media screen and (max-width: 749px) {
  .mb0Mo {
    margin-bottom: 0 !important;
  }
  .mb5Mo {
    margin-bottom: 5px !important;
  }
  .mb10Mo {
    margin-bottom: 10px !important;
  }
  .mb20Mo {
    margin-bottom: 20px !important;
  }
  .mb30Mo {
    margin-bottom: 30px !important;
  }
  .mb40Mo {
    margin-bottom: 40px !important;
  }
  .mb50Mo {
    margin-bottom: 50px !important;
  }
  .mt0Mo {
    margin-top: 0 !important;
  }
  .mt10Mo {
    margin-top: 10px !important;
  }
  .mt20Mo {
    margin-top: 20px !important;
  }
  .mt30Mo {
    margin-top: 30px !important;
  }
  .mt40Mo {
    margin-top: 40px !important;
  }
  .mt50Mo {
    margin-top: 50px !important;
  }
}

/*———————————————-
padding
———————————————-*/
.pb0 {
  padding-bottom: 0;
}

.pb5 {
  padding-bottom: 5px;
}

.pb10 {
  padding-bottom: 10px;
}

.pb20 {
  padding-bottom: 20px;
}

.pb30 {
  padding-bottom: 30px;
}

.pb40 {
  padding-bottom: 40px;
}

.pb50 {
  padding-bottom: 50px;
}

.pt10 {
  padding-top: 10px;
}

.pt20 {
  padding-top: 20px;
}

.pl30per {
  padding-left: 30% !important;
}

.pall2per {
  padding: 2%;
}

.pall3per {
  padding: 3%;
}

.pall5per {
  padding: 5%;
}

/*———————————————-
font 共通
———————————————-*/
.fwb {
  font-weight: bold;
}

.fc-red {
  color: #ea3131;
}

.fc-blue {
  color: #2c6d9e;
}

.fc-green {
  color: #017b3a;
}

.fc-orange {
  color: #e6a43e;
}

.fc-yellow {
  color: #bac222;
}

.fc-white {
  color: #FFFFFF;
}

.fs-70per {
  font-size: 70%;
}

.fs-80per {
  font-size: 80%;
}

.fs-90per {
  font-size: 90%;
}

.fs-110per {
  font-size: 110%;
}

.fs-120per {
  font-size: 120%;
}

.fs-130per {
  font-size: 130%;
}

.fs-140per {
  font-size: 140%;
}

.fs-150per {
  font-size: 150%;
}

.fs-160per {
  font-size: 160%;
}

.fs-170per {
  font-size: 170%;
}

.fs-180per {
  font-size: 180%;
}

.fs-190per {
  font-size: 190%;
}

.fs-200per {
  font-size: 200%;
}

.fw-bold {
  font-weight: bold;
}

/*———————————————-
font Mo
———————————————-*/
@media screen and (max-width: 749px) {
  .fs-120perMo {
    font-size: 120%;
  }
  .fs-130perMo {
    font-size: 130%;
  }
  .fs-140perMo {
    font-size: 140%;
  }
  .fs-150perMo {
    font-size: 150%;
  }
  .fs-160perMo {
    font-size: 160%;
  }
}

/*———————————————-
text-align
———————————————-*/
.ta-right {
  text-align: right;
}

.ta-left {
  text-align: left;
}

.ta-center {
  text-align: center;
}

/*———————————————-
border
———————————————-*/
.bs1px-999999 {
  border: solid 1px #999999;
}

.bs3px-45b5b1 {
  border: solid 3px #45b5b1;
}

.bs3px-54943d {
  border: solid 3px #54943d;
}

/*———————————————-
background
———————————————-*/
.bg-yellow {
  background-color: #fdfbe5;
}

.bg-green {
  background-color: #54943d;
}

/*———————————————-
display
———————————————-*/
.disp-b {
  display: block;
}

.disp-ilb {
  display: inline-block;
}

/*———————————————-
スマホでは非表示
———————————————-*/
@media screen and (min-width: 750px) {
  .sp {
    display: none;
  }
}

/*———————————————-
PCでは非表示
———————————————-*/
@media screen and (max-width: 749px) {
  .pc {
    display: none;
  }
}
