@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Oswald:wght@400;500;600;700&display=swap');
/* 基本情報 */
html,body {height: 100%;}
html {font-size: 62.5%;overflow-y: scroll;}
body,h1,h2,h3,h4,h5,h6,p,address,ul,ol,li,dl,dt,dd,table,th,td,img,figure,form {
  font-feature-settings:"palt";
  font-style: normal;
  font-weight: normal;
  font-family: 'Noto Sans JP', "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
  color: #4d4d4d;
  line-height: 100%;text-align: left;margin: 0;padding: 0;border: none;list-style-type: none;
}

input,button,textarea,select {
  margin: 0;padding: 0;border: none;border-radius: 0;background: none;outline: none;-webkit-appearance: none;-moz-appearance: none;appearance: none;
  font-family: 'Noto Sans JP', "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
  color: #4d4d4d;
}

textarea {resize: vertical;}
select::-ms-expand {display: none;}

::placeholder {
  color: #999;
}

/*.ie11対策*/
input:-ms-input-placeholder {
  color: #999;
}

select:invalid {
  color: #999;
}

/*.ie11対策*/
[type="checkbox"],
[type="radio"] {
  visibility: hidden;
  width:1px;
  position: absolute;
}

a {
  text-decoration: none;
  color: #4d4d4d;
  outline: none;
}

img {
  vertical-align: bottom;
  width: 100%;
  max-width: 100%;
  height: auto;
}

*,*::after,*::before {box-sizing: border-box;}

.preload * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
  transition: none !important;
}

/* --------------------------------------------------------------------------------

responsive

-------------------------------------------------------------------------------- */
@media screen and (min-width: 768px) {
  a:hover {
    opacity: .7;
  }
  .sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  a:active {
    opacity: .7;
  }
  .pc {
    display: none !important;
  }
}
/* --------------------------------------------------------------------------------

base

-------------------------------------------------------------------------------- */
p,
dt,
dd,
li,
th,
td,
input,
button,
textarea,
select {
  font-size: 2.6rem;
  line-height: 1;
}

body.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.wrap {
  margin: 0 auto;
  width: 89.333333333%;
  max-width: 670px;
}

.ff_osw {
  font-family: 'Oswald', sans-serif;
}

.ocl {
  color: #EB6424;
}

.gcl {
  color: #287A39;
}

.y_marker {
  background: linear-gradient(transparent 0%,transparent 75%,#FFF87D 75%,#FFF87D 100%);
}

.bg_dotted_pattern {
  position: relative;
  z-index: 1;
}

.bg_dotted_pattern::before {
  content:"";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: url(../img/bg_dotted_pattern.png) top left / 30px repeat ;
}

/* clearfix
---------------------------------------- */
.cf:after{
  content: ".";
  display: block;
  height: 0;
  font-size:0;
  clear: both;
  visibility:hidden;
}

.cf {display: inline-block;}

/* Hides from IE Mac */
* html .cf {height: 1%;}
.cf {display:block;}
/* End Hack */

@media screen and (max-width: 767px) {
  body {-webkit-text-size-adjust: 100%;}
}

@media screen and (max-width: 750px) {
  p,
  dt,
  dd,
  li,
  th,
  td,
  input,
  button,
  textarea,
  select {
    font-size: 3.466666666vw;
    line-height: 1;
  }
  
}

/* fv
---------------------------------------- */
#fv {
  background: #fffbe0;
  overflow: hidden;
}

#fv .wrap {
  position: relative;
  z-index: 1;
  padding: 45px 0;
  height: 106.933333333vw;
  max-height: 802px;
}
#fv .img01 {
  margin-bottom: 28px;
}

#fv .img02 {
  position: relative;
  margin-bottom: 19px;
  width: 489px;
}

#fv .img02 span {
  font-weight: 700;
  font-size: 1.3rem;
  line-height: 2.384;
  letter-spacing: .05em;
  position: absolute;
  bottom: -16px;
  right: 0;
}

#fv .ttl_img03 {
  position: relative;
  margin-bottom: 38px;
  width: 611px;
}

#fv .ttl_img03_01 {
  position: absolute;
  top: -57px;
  right: -74px;
  display: inline-block;
  width: 189px;
}

#fv .txt {
  font-weight: 700;
  line-height: 1.923;
}

#fv .txt .large {
	font-size: 3.5rem;
}

#fv .bg_img {
  position: absolute;
  bottom: -2px;
  z-index: -1;
  right: -33px;
  width: 358.5px;
}

@media screen and (max-width: 750px) {
  #fv .wrap {
    padding: 6vw 0;
  }

  #fv .img01 {
    margin-bottom: 3.733vw;
  }

  #fv .img02 {
    margin-bottom: 2.533vw;
    width: 65.2vw;
  }

  #fv .img02 span {
    font-size: 1.733vw;
    bottom: -2.133vw;
  }

  #fv .ttl_img03 {
    margin-bottom: 5.067vw;
    width: 81.467vw;
  }
  
  #fv .ttl_img03_01 {
    top: -7.6vw;
    right: -9.867vw;
    width: 25.2vw;
  }

  #fv .bg_img {
    right: -4.4vw;
    width: 47.8vw;
  }
  
  #fv .txt .large {
  	font-size: 5vw;
  }
}

@media screen and (max-width: 540px) {
  #fv .img02 span {
    font-size: 1rem;
    bottom: -13px;
  }
}

/* --------------------------------------------------------------------------------

m_entry_wrap

-------------------------------------------------------------------------------- */
.m_entry_wrap {
  padding: 41px 0 54px;
  background: #419954;
}

.m_entry_wrap .row {
  display: flex;
  margin-bottom: 48px;
}

.m_entry_wrap .img {
  margin-right: 18px;
  width: 245.5px;
}

.m_entry_wrap .txt_wrap {
  width: calc(100% - 245.5px - 18px);
}

.m_entry_wrap .label_wrap {
  font-weight: 700;
  display: flex;
  align-items: center;
  margin-bottom: 7.5px;
}

.m_entry_wrap .label {
  font-size: 3.3rem;
  letter-spacing: .13em;
  text-indent: .13em;
  display: inline-block;
  margin-right: 14px;
  padding: 10px 23px;
  background: #fff87d;
}

.m_entry_wrap .label + span {
  font-size: 2.8rem;
  letter-spacing: .07em;
  color: #fff;
}

.m_entry_wrap .txt {
  font-weight: 700;
  font-size: 3.3rem;
  line-height: 1.393;
  letter-spacing: .08em;
  color: #fff;
}

.m_entry_wrap .ff_osw {
  letter-spacing: .05em;
  color: #fff87d;
}

.m_entry_wrap .ff_osw + span {
  font-size: 2.3rem;
  color: #fff87d;
}

.m_entry_wrap .btn {
  margin-bottom: 18px;
}

.m_entry_wrap .btn_link {
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 1.5625;
  color: #fff;
  text-align: center;
  display: block;
  padding: 23px 0 27px;
  border-radius: 8px;
  background : #fa9500;
  box-shadow : 0 8px 0 rgba(209, 111, 32, 1);
  transition: .3s;
}

.m_entry_wrap .note,
.m_entry_wrap .note .popup_btn {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: .1em;
  text-indent: .1em;
  color: #fff;
  text-align: center;
}

.m_entry_wrap .note span {
  text-align: left;
  display: inline-block;
}

.m_entry_wrap .note .popup_btn {
  font-size: 2rem;
  color: #22c;
  text-decoration: underline;
  text-decoration-color: #22c;
  cursor: pointer;
  transition: .3s;
}

@media screen and (min-width: 751px) {
  .m_entry_wrap .btn_link:hover {
    box-shadow : 0 0 0 rgba(209, 111, 32, 1);
    transform: translateY(8px);
    opacity: 1;
  }
  
  .m_entry_wrap .note .popup_btn:hover {
    opacity: .7;
  }
}

@media screen and (max-width: 750px) {
  .m_entry_wrap {
    padding: 5.467vw 0 7.2vw;
  }

  .m_entry_wrap .row {
    margin-bottom: 6.4vw;
  }

  .m_entry_wrap .img {
    margin-right: 2.4vw;
    width: 32.733vw;
  }

  .m_entry_wrap .txt_wrap {
    width: calc(100% - 32.733vw - 2.4vw);
  }

  .m_entry_wrap .label_wrap {
    margin-bottom: 1vw;
  }

  .m_entry_wrap .label {
    font-size: 4.4vw;
    margin-right: 1.867vw;
    padding: 1.333vw 3.067vw;
  }

  .m_entry_wrap .label + span {
    font-size: 3.733vw;
  }

  .m_entry_wrap .txt {
    font-size: 4.4vw;
  }

  .m_entry_wrap .ff_osw + span {
    font-size: 3.067vw;
  }

  .m_entry_wrap .btn {
    margin-bottom: 2.4vw;
  }

  .m_entry_wrap .btn_link {
    font-size: 4.267vw;
    padding: 3.067vw 0 3.6vw;
    border-radius: 1.067vw;
    box-shadow : 0 1.067vw 0 rgba(209, 111, 32, 1);
  }

  .m_entry_wrap .note {
    font-size: 2.133vw;
  }

  .m_entry_wrap .note .popup_btn {
    font-size: 4vw;
  }
}

/* --------------------------------------------------------------------------------

popup_wrap

-------------------------------------------------------------------------------- */
#popup_wrap {
  display: none;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
}

#popup_wrap.show {
  display: flex;
}

#popup_wrap .wrap {
  height: 80vh;
  background: #fff;
  overflow-y: scroll;
}

#popup_wrap .txt_wrap {
  position: relative;
  padding: 50px 60px;
}

#popup_wrap .close_btn {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
  cursor: pointer;
}

#popup_wrap .close_btn::before,
#popup_wrap .close_btn::after {
  content:"";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 3px;
  background: #4d4d4d;
  transform: translate(-50%,-50%) rotate(45deg);
}

#popup_wrap .close_btn::after {
  transform: translate(-50%,-50%) rotate(-45deg);
}

#popup_wrap .note_item,
#popup_wrap .d_term,
#popup_wrap .d_des,
#popup_wrap .note_d_term,
#popup_wrap .note_d_des {
  font-size: 1.2rem;
  line-height: 1.8;
  text-indent: -1.5em;
  padding-left: 1.5em;
}

#popup_wrap .note_list,
#popup_wrap .d_list {
  margin-bottom: 1em;
}

#popup_wrap .note_item::before,
#popup_wrap .note_d_des::before {
  content:"※";
  margin-right: .5em;
}

#popup_wrap .d_des::before {
  content:"・";
  margin: 0 .7em 0 .3em;
}

#popup_wrap .popup_bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0, .7);
  cursor: pointer;
}

@media screen and (max-width: 750px) {
  #popup_wrap .txt_wrap {
    padding: 50px 8vw;
  }
}

/* sec01
---------------------------------------- */
#sec01 {
  padding: 78px 0 53px;
}

#sec01 .ttl_img {
  margin: 0 auto 13px;
  width: 98.507462686%;
}

#sec01 .txt01 {
  font-weight: 700;
  line-height: 1.923;
  text-align: center;
  margin-bottom: 26px;
}

#sec01 .list {
  margin-bottom: 47px;
}

#sec01 .item {
  margin-bottom: 10px;
}

#sec01 .txt02 {
  font-weight: 700;
  font-size: 3rem;
  line-height: 2.1;
  letter-spacing: .08em;
  text-indent: .08em;
  text-align: center;
  margin-bottom: 61px;
}

#sec01 .txt02 .cl {
  font-weight: 700;
  font-size: 3.9rem;
  line-height: 1.615;
}

#sec01 .arrow_txt {
  font-weight: 700;
  font-size: 3.9rem;
  letter-spacing: .08em;
  text-indent: .08em;
  color: #fff;
  text-align: center;
  position: relative;
  z-index: 1;
  margin-bottom: 103px;
}

#sec01 .arrow_txt::before {
  content:"";
  display: block;
  position: absolute;
  top: -14px;
  left: 50%;
  z-index: -1;
  width: 0;
  height: 0;
  border-top: 105px solid #EB6424;
  border-left: 147.5px solid transparent;
  border-right: 147.5px solid transparent;
  transform: translateX(-50%);
}

#sec01 .sttl {
  font-feature-settings: "palt";
  font-weight: 700;
  font-size: 6rem;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 43.5px;
}

#sec01 .sttl span {
  font-size: 4.8rem;
  color: #4d4d4d;
}

#sec01 .txt03 {
  font-weight: bold;
  font-size: 3rem;
  line-height: 2.1;
  text-align: center;
  margin-bottom: 43.5px;
}

#sec01 .circle_graph_box {
  margin-bottom: 31px;
  padding-bottom: 18px;
  background: #fcfbde;
}

#sec01 .note_list {
  margin: 0 auto;
  padding: 20.5px 10px;
  width: 93.134328358%;
  background: #fff;
}

#sec01 .note_item {
  font-size: 1.7rem;
  line-height: 1.529;
  letter-spacing: .03em;
}

#sec01 .note_item:first-of-type {
  letter-spacing: .05em;
}

#sec01 .note_item:nth-of-type(2) {
  text-indent: -3em;
  padding-left: 3em;
}

#sec01 .note_item:last-of-type {
  padding-left: 2.6em;
}

#sec01 .txt04 {
  font-weight: 700;
  line-height: 1.923;
  letter-spacing: .05em;
  text-indent: .05em;
  text-align: center;
  margin-bottom: 5px;
}

#sec01 .txt05 {
  text-align: center;
}

#sec01 .txt05 .y_marker {
  font-weight: 700;
  font-size: 3.9rem;
  line-height: 1.615;
  letter-spacing: .08em;
  text-indent: .08em;
}

@media screen and (max-width: 750px) {
  #sec01 {
    padding: 10.4vw 0 7.067vw;
  }

  #sec01 .ttl_img {
    margin: 0 auto 1.733vw;
  }

  #sec01 .txt01 {
    margin-bottom: 3.467vw;
  }

  #sec01 .list {
    margin-bottom: 6.267vw;
  }

  #sec01 .item {
    margin-bottom: 1.333vw;
  }

  #sec01 .txt02 {
    font-size: 4vw;
    margin-bottom: 8.133vw;
  }

  #sec01 .txt02 .cl {
    font-size: 5.2vw;
  }

  #sec01 .arrow_txt {
    font-size: 5.2vw;
    margin-bottom: 13.733vw;
  }

  #sec01 .arrow_txt::before {
    top: -1.867vw;
    border-top: 14vw solid #EB6424;
    border-left: 19.666666666vw solid transparent;
    border-right: 19.666666666vw solid transparent;
  }

  #sec01 .sttl {
    font-size: 8vw;
    margin-bottom: 5.8vw;
  }

  #sec01 .sttl span {
    font-size: 6.4vw;
  }

  #sec01 .txt03 {
    font-size: 4vw;
    margin-bottom: 5.8vw;
  }

  #sec01 .circle_graph_box {
    margin-bottom: 4.133vw;
    padding-bottom: 2.4vw;
  }

  #sec01 .note_list {
    padding: 2.733vw 1.333vw;
  }

  #sec01 .note_item {
    font-size: 2.267vw;
  }

  #sec01 .txt04 {
    margin-bottom: .667vw;
  }

  #sec01 .txt05 .y_marker {
    font-size: 5.2vw;
  }
}

/* sec02
---------------------------------------- */
#sec02 {
  background: #efefef;
}

#sec02 .lead {
  font-weight: 700;
  font-size: 3.9rem;
  letter-spacing: .08em;
  text-indent: .08em;
  color: #fff;
  text-align: center;
  padding: 25px 0 29px;
  background: #eb6424;
}

#sec02 .wrap {
  position: relative;
  padding-bottom: 59px;
}

#sec02 .wrap::before {
  content:"";
  display: block;
  position: absolute;
  top; 0;
  left: 50%;
  width: 0;
  height: 0;
  border-top: 18px solid #EB6424;
  border-left: 23px solid transparent;
  border-right: 23px solid transparent;
  transform: translateX(-50%);
}

#sec02 .ttl,
#sec02 .txt {
  font-weight: 700;
  font-size: 3.9rem;
  line-height: 1.615;
  letter-spacing: .08em;
  text-indent: .08em;
  text-align: center;
}

#sec02 .ttl {
  padding: 39px 0 28px;
}

#sec02 .bar_graph_img {
  margin-bottom: 41px;
}

#sec02 .bg_img {
  position: absolute;
  bottom: 0;
  right: -22px;
  width: 135px;
}

@media screen and (max-width: 750px) {
  #sec02 .lead {
    font-size: 5.2vw;
    padding: 3.333vw 0 3.867vw;
  }

  #sec02 .wrap {
    padding-bottom: 7.867vw;
  }

  #sec02 .wrap::before {
    border-top: 2.4vw solid #EB6424;
    border-left: 3.066666666vw solid transparent;
    border-right: 3.066666666vw solid transparent;
  }

  #sec02 .ttl,
  #sec02 .txt {
    font-size: 5.2vw;
  }

  #sec02 .ttl {
    padding: 5.2vw 0 3.733vw;
  }

  #sec02 .bar_graph_img {
    margin-bottom: 5.467vw;
  }

  #sec02 .bg_img {
    right: -2.933vw;
    width: 18vw;
  }
}

/* sec03
---------------------------------------- */
#sec03 .inner:first-of-type{
  padding: 46px 0;
  background: #fff;
}

#sec03 .ttl {
  font-weight: 700;
  font-size: 3.9rem;
  line-height: 1.615;
  letter-spacing: .08em;
  text-indent: .08em;
  text-align: center;
  margin-bottom: 7px;
}

#sec03 .money_knowledge_img {
  margin: 0 auto 29px;
  width: 98.507462686%;
}

#sec03 .list_wrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: 45px;
  padding: 30px 30px 6px;
  background: #fcfbde;
}

#sec03 .list_box:first-of-type {
  width: 52.459016393%;
}

#sec03 .list_box:last-of-type {
  width: 40.655737704%;
}

#sec03 .sttl {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 2.083;
  letter-spacing: .05em;
  text-indent: .05em;
  color: #fff;
  text-align: center;
  margin-bottom: 27px;
}

#sec03 .knowledge_sttl {
  background: #f76e1e;
}

#sec03 .solution_sttl {
  background: #f0502c;
}

#sec03 .item {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.25;
  letter-spacing: .05em;
  text-indent: .05em;
  position: relative;
  margin-bottom: 24px;
  padding-left: 30px;
}

#sec03 .item::before {
  content:"";
  display: block;
  position: absolute;
  top: 5px;
  left: 0;
  width: 25px;
  height: 22px;
}

#sec03 .knowledge_item::before {
  background: url(../img/ico_check01.png) center / cover no-repeat;
}

#sec03 .solution_item::before {
  background: url(../img/ico_check02.png) center / cover no-repeat;
}

#sec03 .txt01 {
  font-weight: 700;
  font-size: 2.6rem;
  line-height: 1.923;
  letter-spacing: .05em;
  text-indent: .05em;
  text-align: center;
}

#sec03 .txt01 .ocl {
  font-size: 3.4rem;
  line-height: 1.47;
}

#sec03 .inner:last-of-type {
  position: relative;
  padding: 78px 0 32px;
  background: #fcfbde;
}

#sec03 .inner:last-of-type::before {
  content:"";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  width: 0;
  height: 0;
  border-top: 52px solid #fff;
  border-left: 73px solid transparent;
  border-right: 73px solid transparent;
  transform: translateX(-50%);
}

#sec03 .txt02 {
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1.66;
  letter-spacing: .04em;
  text-indent: .04em;
  text-align: center;
  margin-bottom: 10px;
}

#sec03 .txt03 {
  font-weight: 700;
  font-size: 4.4rem;
  line-height: 1.136;
  letter-spacing: .06em;
  text-indent: .06em;
  text-align: center;
}

#sec03 .txt03 .y_bd_marker {
  display: inline-block;
  margin-bottom: 21px;
  border-bottom: 8px solid #fff87d;
}

#sec03 .txt03 .large {
  font-size: 6.3rem;
  letter-spacing: .01em;
  text-indent: .01em;
}

#sec03 .txt03 .sml {
  font-size: 3.6rem;
  line-height: 1.277;
  letter-spacing: .04em;
  text-indent: .04em;
  display: block;
}

@media screen and (max-width: 750px) {
  #sec03 .inner:first-of-type{
    padding: 6.133vw 0;
  }

  #sec03 .ttl {
    font-size: 5.2vw;
    margin-bottom: .933vw;
  }

  #sec03 .money_knowledge_img {
    margin: 0 auto 3.867;
  }

  #sec03 .list_wrap {
    margin-bottom: 6vw;
    padding: 4vw 4vw .8vw;
  }

  #sec03 .sttl {
    font-size: 3.2vw;
    margin-bottom: 3.6vw;
  }

  #sec03 .item {
    font-size: 3.2vw;
    margin-bottom: 3.2vw;
    padding-left: 4vw;
  }

  #sec03 .item::before {
    top: .667vw;
    width: 3.333vw;
    height: 2.933vw;
  }

  #sec03 .txt01 {
    font-size: 3.467vw;
  }

  #sec03 .txt01 .ocl {
    font-size: 4.533vw;
  }

  #sec03 .inner:last-of-type {
    padding: 10.4vw 0 4.267vw;
  }

  #sec03 .inner:last-of-type::before {
    border-top: 6.933333333vw solid #fff;
    border-left: 9.733333333vw solid transparent;
    border-right: 9.733333333vw solid transparent;
  }

  #sec03 .txt02 {
    font-size: 4.8vw;
    margin-bottom: 1.333vw;
  }

  #sec03 .txt03 {
    font-size: 5.867vw;
  }

  #sec03 .txt03 .y_bd_marker {
    margin-bottom: 2.8vw;
    border-bottom: 1.066666666vw solid #fff87d;
  }

  #sec03 .txt03 .large {
    font-size: 8.4vw;
  }

  #sec03 .txt03 .sml {
    font-size: 4.8vw;
  }
}

/* sec04
---------------------------------------- */
#sec04 .inner {
  padding: 120px 0 60px;
}

#sec04 .inner:first-of-type {
  background: #fff;
}

#sec04 .ttl {
  font-weight: 700;
  font-size: 5rem;
  letter-spacing: .05em;
  text-indent: .05em;
  text-align: center;
  position: relative;
  z-index: 1;
  margin-bottom: 98px;
}

#sec04 .ttl::before {
  content:"";
  display: block;
  position: absolute;
  top: 55%;
  left: 50%;
  z-index: -1;
  width: 163px;
  height: 164px;
  background: url(../img/ico_pen.svg) center / cover no-repeat;
  transform: translate(-50%,-50%);
}

#sec04 .d_list {
  counter-reset: my-counter;
}

#sec04 .d_term {
  font-weight: 700;
  font-size: 3.4rem;
  line-height: 1.20588235294;
  letter-spacing: .04em;
  text-indent: .04em;
  color: #fff;
  text-align: center;
  position: relative;
  padding: 17px 0;
  background: #287a39;
}

#sec04 .d_term::before {
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
  font-size: 4.5rem;
  letter-spacing: .04em;
  color: #fff;
  counter-increment: my-counter;
  content: '0' counter(my-counter);
  display: block;
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  opacity: .3;
}

#sec04 .d_des {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.25;
  letter-spacing: .08em;
  text-indent: .08em;
  text-align: center;
  margin-bottom: 20px;
  padding: 27px 0;
  border: 3px solid #287A39;
  border-top: none;
  background: #fff;
}

#sec04 .inner:last-of-type {
  background: #efefef;
}

#sec04 .item {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  padding: 20px 27px 24px;
  border: 5px solid #eb6424;
  background: #fff;
}

#sec04 .item .ico {
  margin-right: 38px;
  width: 93px;
}

#sec04 .txt {
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.428;
  letter-spacing: .07em;
  text-indent: .07em;
  width: calc(100% - 93px - 38px);
}

#sec04 .txt .ocl {
  font-size: 3.6rem;
}

@media screen and (max-width: 750px) {
  #sec04 .inner {
    padding: 16vw 0 8vw;
  }

  #sec04 .ttl {
    font-size: 6.667vw;
    margin-bottom: 13.067vw;
  }

  #sec04 .ttl::before {
    width: 21.733vw;
    height: 21.867vw;
  }

  #sec04 .d_term {
    font-size: 4.533vw;
    padding: 2.267vw 0;
  }

  #sec04 .d_term::before {
    font-size: 6vw;
    left: 2.667vw;
  }

  #sec04 .d_des {
    font-size: 3.2vw;
    margin-bottom: 2.667vw;
    padding: 3.6vw 0;
    border: .4vw solid #287A39;
  }

  #sec04 .item {
    margin-bottom: 2.667vw;
    padding: 2.667vw 3.6vw 3.2vw;
    border: .666666666vw solid #eb6424;
  }

  #sec04 .item .ico {
    margin-right: 5.067vw;
    width: 12.4vw;
  }

  #sec04 .txt {
    font-size: 3.733vw;
    width: calc(100% - 12.4vw - 5.067vw);
  }

  #sec04 .txt .ocl {
    font-size: 4.8vw;
  }
}

/* #sec05
---------------------------------------- */
#sec05 .wrap {
  padding: 53px 0 21px;
}

#sec05 .ttl {
  font-weight: 700;
  font-size: 5rem;
  letter-spacing: .05em;
  text-indent: .05em;
  text-align: center;
  margin-bottom: 56px;
}

#sec05 .item {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 59px;
  padding: 21px 21px 26.5px 33px;
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

#sec05 .item::after {
  content:"";
  display: block;
  position: absolute;
  bottom: -52px;
  right: 50%;
  width: 0;
  height: 0;
  border-top: 52px solid #287a39;
  border-left: 73px solid transparent;
  border-right: 73px solid transparent;
  transform: translateX(50%);
}

#sec05 .item:last-of-type::after {
  display: none;
}

#sec05 .ico {
  width: 130px;
}

#sec05 .item img {
  width: 106px;
}

#sec05 .item:first-of-type img {
  width: 102px;
}

#sec05 .item:last-of-type img {
  width: 108px;
}

#sec05 .txt_wrap {
  width: calc(100% - 130px);
}

#sec05 .sttl {
  font-weight: 700;
  font-size: 3.4rem;
  line-height: 1.764;
  letter-spacing: .04em;
  margin-bottom: 13.5px;
  padding-bottom: 7px;
  border-bottom: 2px solid #4d4d4d;
}

#sec05 .txt {
  font-size: 2.4rem;
  line-height: 1.625;
  letter-spacing: .07em;
}

#sec05 .txt .gcl {
  font-weight: 700;
}

@media screen and (max-width: 750px) {
  #sec05 .wrap {
    padding: 7.067vw 0 2.8vw;
  }

  #sec05 .ttl {
    font-size: 6.667vw;
    margin-bottom: 7.467vw;
  }

  #sec05 .item {
    margin-bottom: 7.867vw;
    padding: 2.8vw 2.8vw 3.533vw 4.4vw;
    box-shadow: 0 0 1.333333333vw rgba(0, 0, 0, 0.1);
  }

  #sec05 .item::after {
    bottom: -6.933vw;
    border-top: 6.933vw solid #287a39;
    border-left: 9.733333333vw solid transparent;
    border-right: 9.733333333vw solid transparent;
  }

  #sec05 .ico {
    width: 17.333vw;
  }

  #sec05 .item img {
    width: 14.133vw;
  }

  #sec05 .item:first-of-type img {
    width: 13.6vw;
  }

  #sec05 .item:last-of-type img {
    width: 14.4vw;
  }

  #sec05 .txt_wrap {
    width: calc(100% - 17.333vw);
  }

  #sec05 .sttl {
    font-size: 4.533vw;
    margin-bottom: 1.8vw;
    padding-bottom: .933vw;
    border-bottom: .266666666vw solid #4d4d4d;
  }

  #sec05 .txt {
    font-size: 3.2vw;
  }
}

/* --------------------------------------------------------------------------------

form_wrap

-------------------------------------------------------------------------------- */
#form_wrap {
  padding: 82px 0 132px;
  background: #fff;
}

#form_wrap .ttl {
  font-weight: 700;
  font-size: 5rem;
  letter-spacing: .05em;
  text-indent: .05em;
  text-align: center;
  margin-bottom: 58px;
}

#form_wrap .d_list {
  margin-bottom: 60px;
}

#form_wrap .d_term {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}

#form_wrap .d_term .req_txt {
  font-size: 2.4rem;
  letter-spacing: .04em;
  text-indent: .04em;
  color: #fff;
  margin-right: 18px;
  padding: 8.5px 8.5px 10.5px;
  background: #eb6424;
}

#form_wrap .d_term .d_term_txt {
  font-weight: 700;
  font-size: 3rem;
  letter-spacing: .04em;
  padding-bottom: 3px;
}

#form_wrap .input_wrap input,
#form_wrap .select_wrap select {
  font-size: 3rem;
  letter-spacing: .04em;
  padding: 0 20px;
  width: 100%;
  height: 80px;
  border: 2px solid #b5bdbf;
  border-radius: 5px;
}

#form_wrap .select_wrap {
  position: relative;
}

#form_wrap .select_wrap::after {
  content:"";
  display: block;
  position: absolute;
  top: 52%;
  right: 23px;
  width: 0;
  height: 0;
  border-top: 20px solid #999;
  border-left: 14.5px solid transparent;
  border-right: 14.5px solid transparent;
  transform: translateY(-50%);
  pointer-events: none;
}

#form_wrap .select_wrap select {
  cursor: pointer;
}

#form_wrap .d_des {
  margin-bottom: 50px;
}

#form_wrap .txt_wrap {
  margin-bottom: 27px;
  padding: 16px 28px 18px;
  border: 2px solid #b5bdbf;
  border-radius: 6px;
}

#form_wrap .txt_wrap .sttl {
  font-size: 2.9rem;
  line-height: 1.793;
  letter-spacing: .04em;
  text-indent: .04em;
  text-align: center;
}

#form_wrap .txt_wrap .txt {
  font-size: 2.4rem;
  line-height: 1.792;
  letter-spacing: .04em;
}

#form_wrap .txt_wrap .txt a {
  color: #eb6424;
  text-decoration: underline;
  transition: .3s;
}

#form_wrap .agree_wrap {
  text-align: center;
  margin-bottom: 83px;
}

#form_wrap .agree_wrap_left {
	text-align: left;
	margin-bottom: 55px;
}

#form_wrap form .agree_wrap_left:nth-last-of-type(2) {
	margin-bottom: 83px;
}

#form_wrap .agree_wrap_left .agree_txt {
	line-height: initial;
    text-indent: -1.8em;
    padding-left: 1.8em;
}

#form_wrap .agree_wrap label {
  cursor: pointer;
}

#form_wrap .agree_wrap .agree_txt {
  font-weight: 700;
  font-size: 3rem;
  line-height: 1.5;
  letter-spacing: .04em;
  position: relative;
  display: inline-block;
}

#form_wrap .agree_wrap .agree_txt::before {
  content:"";
  display: inline-block;
  position: relative;
  top: 6px;
  left: 0;
  margin-right: 20px;
  width: 35px;
  height: 35px;
  border: 2px solid #b5bdbf;
  background: #fff;
}

#form_wrap .agree_wrap .agree_txt::after {
  content:"";
  position: absolute;
  top: 12px;
  left: 13px;
  width: 10px;
  height: 19px;
  transform: rotate( 45deg);
  border-bottom: 2px solid #eb6424;
  border-right: 2px solid #eb6424;
  opacity: 0;
}

#form_wrap .agree_wrap input:checked + .agree_txt::after {
  opacity: 1;
}

#form_wrap .submit_btn {
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 1.5625;
  color: #fff;
  text-align: center;
  display: block;
  padding: 23px 0 27px;
  width: 100%;
  border-radius: 8px;
  background : #fa9500;
  box-shadow : 0 8px 0 rgba(209, 111, 32, 1);
  cursor: pointer;
  transition: .3s;
}

#form_wrap .submit_btn.back {
  background : #4d4d4d;
  box-shadow : 0 8px 0 #333;
}

#form_wrap .submit_btn+.submit_btn {
  margin-top: 25px;
}

#form_wrap .thanks_txt {
  text-align: center;
  font-weight: bold;
  font-size: 2rem;
  line-height: 2.1;
}
#form_wrap .thanks_txt + .submit_btn {
  margin-top: 20px;
}

@media screen and (min-width: 751px) {
  #form_wrap .submit_btn:hover {
    box-shadow : 0 0 0 rgba(209, 111, 32, 1);
    transform: translateY(8px);
    opacity: 1;
  }
}

@media screen and (max-width: 750px) {
  #form_wrap {
    padding: 10.933vw 0 17.6vw;
  }

  #form_wrap .ttl {
    font-size: 6.667vw;
    margin-bottom: 7.733vw;
  }

  #form_wrap .d_list {
    margin-bottom: 8vw;
  }

  #form_wrap .d_term {
    margin-bottom: 1.067vw;
  }

  #form_wrap .d_term .req_txt {
    font-size: 3.2vw;
    margin-right: 2.4vw;
    padding: 1.133vw 1.133vw 1.4vw;
  }

  #form_wrap .d_term .d_term_txt {
    font-size: 4vw;
    padding-bottom: .4vw;
  }

  #form_wrap .input_wrap input,
  #form_wrap .select_wrap select {
    font-size: 4vw;
    padding: 0 2.667vw;
    height: 10.667vw;
    border: .266666666vw solid #b5bdbf;
    border-radius: .667vw;
  }

  #form_wrap .select_wrap::after {
    right: 3.067vw;
    border-top: 2.66666666vw solid #999;
    border-left: 1.933333333vw solid transparent;
    border-right: 1.933333333vw solid transparent;
  }

  #form_wrap .d_des {
    margin-bottom: 6.667vw;
  }

  #form_wrap .txt_wrap {
    margin-bottom: 3.6vw;
    padding: 2.133vw 3.733vw 2.4vw;
    border: .266666666vw solid #b5bdbf;
    border-radius: .8vw;
  }

  #form_wrap .txt_wrap .sttl {
    font-size: 3.867vw;
  }

  #form_wrap .txt_wrap .txt {
    font-size: 3.2vw;
  }

  #form_wrap .agree_wrap {
    margin-bottom: 11.067vw;
  }
  
  #form_wrap .agree_wrap_left {
  	margin-bottom: 7vw;
  }
  
  #form_wrap form .agree_wrap_left:nth-last-of-type(2) {
  	margin-bottom: 11.067vw;
  }

  #form_wrap .agree_wrap .agree_txt {
    font-size: 4vw;
  }

  #form_wrap .agree_wrap .agree_txt::before {
    top: .8vw;
    margin-right: 2.667vw;
    width: 4.667vw;
    height: 4.667vw;
    border: .266666666vw solid #b5bdbf;
  }

  #form_wrap .agree_wrap .agree_txt::after {
    top: 1.6vw;
    left: 1.733vw;
    width: 1.333vw;
    height: 2.533vw;
  }

  #form_wrap .submit_btn {
    font-size: 4.267vw;
    padding: 3.067vw 0 3.6vw;
    border-radius: 1.067vw;
    box-shadow : 0 1.067vw 0 rgba(209, 111, 32, 1);
  }
  #form_wrap .thanks_txt {
    font-size: 4vw;
    text-align: left;
  }
  #form_wrap .thanks_txt + .submit_btn {
    margin-top: 5vw;
  }
}

@media screen and (max-width: 414px) {
  #form_wrap .input_wrap input,
  #form_wrap .select_wrap select {
    font-size: 1.6rem;
  }
}

/* --------------------------------------------------------------------------------

footer

-------------------------------------------------------------------------------- */
footer {
  padding: 42px 0 76px;
  background: #4d4d4d;
}

footer .label {
  font-weight: 700;
  font-size: 3rem;
  letter-spacing: .04em;
  text-indent: .04em;
  text-align: center;
  margin-bottom: 38px;
  padding: 15px 0;
  border-radius: 50em;
  background: #fff;
}

footer .company_list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 21px;
  padding-bottom: 36px;
  border-bottom: 1px solid #fff;
}

footer .company_term,
footer .company_des,
footer .company_des address,
footer .licenses_term,
footer .licenses_des {
  font-size: 2.8rem;
  line-height: 2.142;
  letter-spacing: .04em;
  color: #fff;
}

footer .company_term {
  width: 150px;
}

footer .company_des {
  width: calc(100% - 150px);
}

@media screen and (max-width: 750px) {
  footer {
    padding: 5.6vw 0 10.133vw;
  }

  footer .label {
    font-size: 4vw;
    margin-bottom: 5.067vw;
    padding: 2vw 0;
  }

  footer .company_list {
    margin-bottom: 2.8vw;
    padding-bottom: 4.8vw;
  }

  footer .company_term,
  footer .company_des,
  footer .company_des address,
  footer .licenses_term,
  footer .licenses_des {
    font-size: 3.733vw;
  }

  footer .company_term {
    width: 20vw;
  }

  footer .company_des {
    width: calc(100% - 20vw);
  }
}