@charset "UTF-8";

/* -------------------- COMMON -------------------- */
:root {
    --root-font-size: 16;
}
body {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: calc( 13 / var(--root-font-size) * 1rem );
  color: #000;
  background: #fff;
  line-height: 1;
}


a {
  color: #0000ff;
  text-decoration: none;
}
a:hover {
  color: #d7af2f;
  text-decoration: none;
}
a.wlink {
  color: #fff;
  text-decoration: none;
}
a.wlink:hover {
  color: #d7af2f;
  text-decoration: none;
}
a.ylink, a.ylink:hover {
  color: #d7af2f;
  text-decoration: none;
}
a.blink, a.blink:hover {
  color: #07326b;
  text-decoration: none;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.spN {display: none!important;}
.pcN {display: block!important;}
  @media screen and (min-width: 834px) {
    .spN {display: block!important;}
    .pcN {display: none!important;}
  }

p {
  font-size: 1.4em;
  line-height: 1.5;
}

.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;}
.mt100 {margin-top: 100px !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;}
.mb100 {margin-bottom: 100px !important;}


/* -------------------- Contents -------------------- */
#contents {
  width: 100%;
  text-align: center;
  overflow:hidden;
}
  @media screen and (max-width: 834px) {
    #contents {
      overflow:hidden;}
  }

.contents_item, .contents_item_g, .contents_item_n {
  display:inline-block;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}
.contents_item {
  padding: 100px 0;
}
  @media screen and (max-width:834px){
    .contents_item {
      padding: 50px 20px;}
  }
  @media screen and (max-width:768px){/*sp*/
    .contents_item {
      max-width: 768px;
      padding: 50px 10px;}
  }
.contents_item_g {
  padding: 30px 0 100px;
}
  @media screen and (max-width:834px){
    .contents_item_g {
      padding: 30px 20px 100px;}
  }
  @media screen and (max-width:768px){/*sp*/
    .contents_item_g {
      max-width: 768px;
      padding: 30px 10px 100px;}
  }
.contents_item_n {
  padding: 0;
}
  @media screen and (max-width:834px){
    .contents_item_n {
      padding: 0 20px;}
  }
  @media screen and (max-width:768px){/*sp*/
    .contents_item_n {
      max-width: 768px;
      padding: 0 10px;}
  }
.contents_item_inner {
  display: flex;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
  align-items: center;
  justify-content: center;
}


/* ------- テキスト ------- */
h1 {
  position: relative;
  padding: 0 50px;
  margin: 0 auto 50px;
  width: 100%;
  max-width: 1200px;
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 2.25rem;/*36px*/
  line-height: 1.5;
  color: #07326b;
  text-align: center;
}
  @media screen and (max-width:1000px){
    h1 {font-size: 1.875rem;/*30px*/}
  }
  @media screen and (max-width:834px){
    h1 {font-size: 1.625rem;/*26px*/}
  }
  @media screen and (max-width:768px){/*sp*/
    h1 {
      padding: 0;
      margin: 0 auto 20px;
      max-width: 768px;
      font-size: 1rem;/*16px*/
      line-height: 1.5;}
  }
h1:before {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 2px;
  margin: 0 auto;
  content: '';
  background: #07326b;
}
h1 span.w, h1 span.y, h1 span.b, h1 span.bg {
  position: relative;
  padding: 0 50px;
}
  @media screen and (max-width:1000px){
    h1 span.w, h1 span.y, h1 span.b, h1 span.bg {
      padding: 0 30px;}
  }
  @media screen and (max-width:768px){/*sp*/
    h1 span.w, h1 span.y, h1 span.b, h1 span.bg {
      padding: 5px 5px;}
  }
h1 span.w {background: #fff;}
h1 span.y {background: #f6eac5;}
h1 span.b {background: #dde4ec;}
h1 span.bg {background-image:url(../img/bg_glay.png);}
h1 span.spac {letter-spacing: -0.3em;}


/* ------- バナー ------- */
.banner01, .banner02, .banner03 {
  position: fixed;
  right: 0;
  z-index: 1000;
}
.banner01 {
  top: 150px;
}
.banner02 {
  top: 225px;
}
.banner03 {
  top: 280px;
}
  @media screen and (max-width:768px){/*sp*/
    .banner01 {
      top: 411px;
    }
    .banner02 {
      top: 465px;
    }
    .banner03 {
      top: 505px;
    }
  }
.banner01-inner, .banner02-inner, .banner03-inner {
  display: table;
  min-width: 200px;
  padding: 5px 10px;
  font-weight: 500;
  border: solid #fff;
  border-width: 1px 0 1px 1px;
  text-align: center;
}
  @media screen and (max-width:768px){/*sp*/
    .banner01-inner, .banner02-inner, .banner03-inner {
      min-width: 100px;}
  }
.banner01-inner {
  background: #07326b;
  color: #d7af2f;
}
.banner02-inner, .banner03-inner {
  background: #d7af2f;
  color: #07326b;
}
  @media screen and (max-width: 834px) {
    .banner01 {
      display: inline-block;
    }
    .banner01-inner {
      padding: 5px 10px;
    }
  }
  @media screen and (max-width:768px){/*sp*/
    .banner01-inner {
      padding: 5px 8px;}
  }
.banner01-inner .b_txt {
  display: table-cell;
  font-size: 1.375em;/*22px*/
  line-height: 1.2em;
  padding: 5px 9px 5px 20px;
  vertical-align: middle;
}
  @media screen and (max-width:768px){/*sp*/
    .banner01-inner .b_txt {
      padding: 5px 5px 5px 20px;
      font-size: .75rem;/*12px*/
      font-weight: 700;
      }
  }
.banner01-inner .b_txt:before {
    position: absolute;
    top: 20%;
    left: 15px;
    width: 4px;
    height: 60%;
    content: '';
    border-radius: 3px;
    background: #d7af2f;
}
.banner02-inner .b_txt, .banner03-inner .b_txt {
  display: table-cell;
  font-size: 1.375em;/*22px*/
  font-weight: 700;
  line-height: 1.2em;
  padding: 5px 15px 5px 20px;
  vertical-align: middle;
}
  @media screen and (max-width:768px){/*sp*/
    .banner02-inner .b_txt, .banner03-inner .b_txt {
      padding: 5px 5px 5px 20px;
      font-size: .75rem;/*12px*/
      }
  }
.banner02-inner .b_txt:before, .banner03-inner .b_txt:before {
    position: absolute;
    top: 20%;
    left: 15px;
    width: 4px;
    height: 60%;
    content: '';
    border-radius: 3px;
    background: #07326b;
}
  @media screen and (max-width: 834px) {
    .b_point  {
        display: inline-block;
    }
    .b_txt {
        padding: 8px;
    }
  }
.b_txt span {
  letter-spacing: -0.3em;
}


/* ------- Top ------- */
.contents_item img.logo {
  max-width: 600px;
  height: auto;
  padding-bottom: 20px;
  margin: 20px auto;
}
  @media screen and (max-width:1000px){
    .contents_item img.logo {
      max-width: 400px;
      height: auto;
      padding-bottom: 0;
      margin: 20px auto 0;}
  }
  @media screen and (max-width:768px){/*sp*/
    .contents_item img.logo {
      width: 70%;
      }
  }
p.maintxt {
  padding: 150px 20px 10px;
  font-size: 2.625rem;/*42px*/
  color: #000;
  text-align: center;
}
  @media screen and (max-width:1000px){
    p.maintxt{
      padding: 50px 20px 10px;
      font-size: 1.875rem;/*30px*/}
  }
  @media screen and (max-width:834px){
    p.maintxt {
      padding: 5px 10px;
      font-size: 1.625rem;/*26px*/}
  }
  @media screen and (max-width:768px){/*sp*/
    p.maintxt {
      font-size: 1rem;/*16px*/}
  }
p.maintxt span {
  letter-spacing: -0.2em;
}


/* ------- Explain01 ------- */
.ex_circle {
  -js-display: flex;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 95%;
  margin: 0 auto;
}
.ex_circle .ex_circle_inner {
  width: calc(33.3% - 10px);
  margin: 5px;
}
.ex_circle .ex_circle_inner img {
  width: 100%;
  max-width: 380px;
  height: auto;
}
  @media screen and (max-width:768px){/*sp*/
    .ex_circle .ex_circle_inner {
      width: calc(50% - 10px);
      margin: 5px;
    }
  }

.explain01_01 {
  width: 100%;
  background-image:url(../img/bg_glay.png);
  background-repeat:no-repeat;
  background-size:cover;
  z-index: -1;
}
.explain01_01 p.midashi {
  padding: 10px 10px 20px;
  font-size: 1.875rem;/*30px*/
  color: #07326b;
  text-align: center;
}
  @media screen and (max-width:1000px){
    .explain01_01 p.midashi{
      font-size: 1.625rem;/*26px*/
      line-height: 1.4;}
  }
  @media screen and (max-width:834px){
    .explain01_01 p.midashi {
      padding: 5px 10px;
      font-size: 1.3em;}
  }
  @media screen and (max-width:768px){/*sp*/
    .explain01_01 p.midashi {
      font-size: .875rem;/*14px*/}
  }
.explain01_02 {
  position: relative;
  width: 100%;
  height: auto;
  padding: 20px 0 40px;
  background-color: #fee183;
  text-align: center;
  vertical-align: middle;
  z-index: 0;
}
.explain01_02 p {
  font-size: 3.75rem;/*60px*/
  font-weight: 700;
  color: #07326b;
}
  @media screen and (max-width:1000px){
    .explain01_02 p {
      font-size: 3.125rem;/*50px*/}
  }
  @media screen and (max-width:768px){/*sp*/
    .explain01_02 p {
      font-size: 1.5rem;/*24px*/}
  }
.explain01_02 p span{
  letter-spacing: -0.3em;
}

.explain01_02a {
  position: absolute;
  top: -40px;
  width: 100%;
  height: 40px;
  max-height: 50px;
  background-image:url(../img/bg_yellow.png);
  background-repeat:no-repeat;
  background-size:cover;/**/
  background-position: center center;
  z-index: 1;
}
  @media screen and (max-width:768px){/*sp*/
    .explain01_02a {
      top: -34px;
      height: 36px;
      background-image:url(../img/bg_yellow_sp.png);}
  }
.explain01_02b {
  position: absolute;
  top: -334px;
  right: 10%;
  width: 100px;
  height: auto;
  z-index: 2;
}
  @media screen and (max-width:1000px){
    .explain01_02b {
      right: 5%;}
  }
  @media screen and (max-width:768px){/*sp*/
    .explain01_02b {
      top: -161px;}
  }
.explain01_02b img {
  width: auto;
  height: 300px;
}
  @media screen and (max-width:768px){/*sp*/
    .explain01_02b img {
      height: 130px;}
  }


/* ------- Point ------- */
.point_bg_top {
  background-color: #fffde6;
}
.point_bg_bottom {
  padding-bottom: 20px;
  background-color: #fffbc4;
}
.line_downward {
  position: relative;
  width: 100%;
  padding: 0;
  border: 2px solid #07326b;
}
.line_downward:before {
  content: '';
  position: absolute;
  bottom: -50px;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -50px;
  border-width: 50px 62px 0 62px;
  border-style: solid;
  border-color: #07326b transparent transparent transparent;
}
  @media screen and (max-width:768px){/*sp*/
    .line_downward:before {
      bottom: -20px;
      margin-left: -20px;
      border-width: 20px 22px 0 22px;}
  }
.line_downward:after {
  content: '';
  position: absolute;
  bottom: -46px;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -50px;
  border-width: 50px 62px 0 62px;
  border-style: solid;
  border-color: #fffde6 transparent transparent transparent;
}
  @media screen and (max-width:768px){/*sp*/
    .line_downward:after {
      bottom: -15px;
      margin-left: -20px;
      border-width: 20px 22px 0 22px;}
  }
.point_midashi_left {
  display: table-cell;
  width:20%;
  padding-left: 10px;
}
  @media screen and (max-width:768px){/*sp*/
    .point_midashi_left {
      padding-left: 0;}
  }
.point_midashi_left img {
  position: relative;
  left: 10px;
  width: 100%;
}
.point_midashi_right {
  display: table-cell;
  width: 80%;
  padding-right: 20px;
  text-align: left;
}
  @media screen and (max-width:768px){/*sp*/
    .point_midashi_right {
      padding-right: 5px;}
  }
.point_midashi_right .mtxt01 {
  padding: 2px 30px 15px;
  font-size: 2.5rem;/*40px*/
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: 700;
  color: #08326c;
}
  @media screen and (max-width:1000px){
    .point_midashi_right .mtxt01 {
      font-size: 2.125rem;/*34px*/}
  }
  @media screen and (max-width:834px){
    .point_midashi_right .mtxt01 {
      font-size: 1.75rem;/*28px*/}
  }
  @media screen and (max-width:768px){/*sp*/
    .point_midashi_right .mtxt01 {
      padding: 2px 5px 5px 12px;
      font-size: .875rem;/*14px*/}
  }
.point_midashi_right .mtxt01 span {
  letter-spacing: -0.25em;
}
.point_midashi_right p.mtxt02 {
  padding: 10px 30px 5px;
  font-size: 1.875rem;/*30px*/
  font-weight: 700;
  color: #d7af2f;
}
  @media screen and (max-width:834px){
    .point_midashi_right p.mtxt02 {
      font-size: 1.5rem;/*24px*/}
  }
  @media screen and (max-width:768px){/*sp*/
    .point_midashi_right p.mtxt02 {
      padding: 5px 5px 5px 15px;
      font-size: .75rem;/*12px*/}
  }
.point_midashi_right p.line {
  border-bottom: solid 3px #08326c;
}
.txt_box01 {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 20px;
}
.txt_box01 p.stxt_left {
  padding: 30px 240px 50px 30px;
  font-size: 1.5rem;/*24px*/
  font-weight: 400;
  text-align: left;
}
  @media screen and (max-width:768px){/*sp*/
    .txt_box01 p.stxt_left {
      padding: 10px 100px 30px 20px;
      font-size: .75rem;/*12px*/}
  }
.txt_box01 img {
  position: absolute;
  right: 0;
  bottom: 40px;
  width: auto;
  height: 350px;
}
  @media screen and (max-width:768px){/*sp*/
    .txt_box01 img {
      width: 100px;
      height: auto;}
  }
.txt_box02 {
  width: 70%;
  max-width: 1200px;
  margin: 0 auto;
}
  @media screen and (max-width:768px){/*sp*/
    .txt_box02 {
      width: 90%;}
  }
.txt_box02 p.stxt_center {
  padding: 10px 0 ;
  font-size: 2rem;/*32px*/
  line-height: 1.4;
  font-weight: 700;
  color: #08326c;
  text-align: center;
}
  @media screen and (max-width:768px){/*sp*/
    .txt_box02 p.stxt_center {
      font-size: 1.125rem;/*18px*/}
  }
.txt_box02 span.ltxt {
  font-size: 3.125rem;/*50px*/
  font-weight: 700;
  letter-spacing:-0.3em;
}
  @media screen and (max-width:768px){/*sp*/
    .txt_box02 span.ltxt  {
      font-size: 1.75rem;/*28px*/}
  }
.txt_box02 p.sstxt {
  font-size: .875rem;/*14px*/
  text-align: right;
}
.txt_box02 img {
  width: 100%;
  max-width: 1200px;
  height: auto;
  padding-left: 40px;
}
  @media screen and (max-width:768px){/*sp*/
    .txt_box02 img {
     padding-left: 0;}
  }
.point_bg_bottom img {
  padding: 40px 0 ;
  width: 90%;
  max-width: 1200px;
  height: auto;
}
.point_bg_bottom p {
  padding: 0 0 20px;
  font-size: 2.5rem;/*40px*/
  line-height: 1.4;
  font-weight: 700;
  color: #08326c;
  text-align: center;
}
  @media screen and (max-width:1000px){
    .point_bg_bottom p {
      font-size: 2.25rem;/*36px*/}
  }
  @media screen and (max-width:834px){
    .point_bg_bottom p {
      font-size: 2rem;/*32px*/}
  }
  @media screen and (max-width:768px){/*sp*/
    .point_bg_bottom p {
      font-size: 1rem;/*16px*/}
  }
.point_bg_bottom p span {
  letter-spacing: -0.3em;
}


/* ------- Explain02 ------- */
.explain02 {
  display: block;
  width: 100%;
  text-align: center;
}
  @media screen and (max-width:768px){/*sp*/
    .explain02 {
      width: 80%;
      margin: 0 auto;}
  }
.explain02_inner {
  display: block;
  max-width: 500px;
  padding: 30px;
  margin: 0 auto;
  background-color: #d7af2f;
  text-align: center;
}
.explain02 img {
  max-width: 300px;
  height: auto;
  padding: 20px 0;
}
  @media screen and (max-width:768px){/*sp*/
    .explain02 img {
      max-width: 200px;
      padding: 10px 0;}
  }
.explain02_left {
  padding-right: 20px;
  display: table-cell;
  vertical-align: middle;
}
  @media screen and (max-width:768px){/*sp*/
    .explain02_left img {
      max-width: 15px;
      padding: 10px 0;}
  }
.explain02_right {
  display: table-cell;
  text-align: left;
  vertical-align: middle;
}
.explain02_right p.etxt01 {
  font-size: 2.75rem;/*44px*/
  font-weight: 700;
  color: #07326b;
}
  @media screen and (max-width:768px){/*sp*/
    .explain02_right p.etxt01 {
      font-size: 1.25rem;/*20px*/}
  }
.explain02_right p.etxt01 span {
  letter-spacing: -0.2em;
}
.explain02_right p.etxt02 {
  font-size: 1.75rem;/*28px*/
}
  @media screen and (max-width:768px){/*sp*/
    .explain02_right p.etxt02 {
      font-size: .875rem;/*14px*/}
  }
.explain02 .eline {
  padding: 5px;
  margin-bottom: 10px;
  border-bottom: solid 1px #ba7d00;
}

.ex02txt{
  padding-top: 50px;
  font-weight: 700;
  font-size: 1.875rem;/*30px*/
  color: #07326b;
}
  @media screen and (max-width:834px){
    .ex02txt {
      padding: 25px 20px 15px 0;
      margin-bottom: 15px;
      font-size: 1.5rem;/*24px*/}
  }
  @media screen and (max-width:768px){/*sp*/
    .ex02txt {
      font-size: 1rem;/*16px*/
      line-height: 1.5;}
  }
.ex02txt span {
  letter-spacing: -0.3em;
}


/* ------- Explain03 ------- */
.explain03 {
  display: block;
  width: 100%;
  text-align: center;
  background-color: #f6eac5;
}
.ex03txt {
  padding: 0 50px 10px;
  font-size: 1.5rem;/*24px*/
  font-weight: 400;
  text-align: center;
}
  @media screen and (max-width:768px){/*sp*/
    .ex03txt {
      padding: 0 20px 10px;
      font-size: .75rem;/*12px*/}
  }
.ex03_circle {
  position: relative;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: #000;
  text-align: center;
  margin: 10px auto;
}
  @media screen and (max-width:768px){/*sp*/
    .ex03_circle {
      width: 60px;
      height: 60px;}
  }
.ex03_circle p {
  position: absolute;
  width: 100px;
  left: 0;
  top: 12%;
  font-size: 2rem;/*32px*/
  line-height: 2.2em;
  font-weight: 700;
  color: #fff;
  text-align: center;
  transform: rotate( -10deg )
}
  @media screen and (max-width:768px){/*sp*/
    .ex03_circle p {
      left: -18px;
      top: 14%;
      font-size: 1.125rem;/*18px*/}
  }
.ex03_box {
  display: table;
  max-width: 1200px;
  width: 100%;
  padding: 20px 0 10px;
  margin: 0 auto;
}
.ex03_box_item {
  display: table-cell;
  width: 50%;
  padding: 0 20px;
}
  @media screen and (max-width:768px){/*sp*/
    .ex03_box_item  {
      display: block;
      width: 100%;
      margin: 0 auto 30px;}
  }
.ex03_box_item img {
  max-width: 500px;
  width: 100%;
  height: auto;
}
.ex03_box_tty, .ex03_box_ttb {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 15px;
  padding: 10px;
  font-size: 2rem;/*32px*/
  font-weight: 500;
  text-align: center;
}
  @media screen and (max-width:768px){/*sp*/
    .ex03_box_tty, .ex03_box_ttb {
      font-size: .875rem;/*14px*/}
  }
.ex03_box_tty {
  color: #fff;
  background-color: #d7af2f;
}
.ex03_box_ttb {
  color: #fff;
  background-color: #07326b;
}
.ex03_box_ttb span {
  letter-spacing: -0.3em;
}
.ex03img {
  margin: 0 auto;
}
  @media screen and (max-width:768px){/*sp*/
    .ex03img img {
      width: 50%;}
  }


/* ------- Request ------- */
.request {
  display: block;
  width: 100%;
  padding: 50px 0;
  text-align: center;
  background-color: #dfad00;
}
.request_midashi {
  padding: 0 50px 10px;
  font-size: 3.125rem;/*50px*/
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  text-shadow: 2px 2px #000;
  text-align: center;
}
  @media screen and (max-width:1000px){
    .request_midashi {
      font-size: 2.5rem;/*40px*/}
  }
  @media screen and (max-width:768px){/*sp*/
    .request_midashi {
      padding: 0 10px 10px;
      font-size: 1.125rem;/*18px*/}
  }
.re_button {
  display: table;
  max-width: 1000px;
  width: 70%;
  padding: 10px 0;
  margin: 0 auto;
}
  @media screen and (max-width:768px){/*sp*/
    .re_button {
      width: 90%;}
  }
.re_button_item {
  display: table-cell;
  width: 45%;
  height: auto;
  border-radius: 15px;
  padding: 15px;
  color: #fff;
  text-align: center;
  background-color: #07326b;
}
  @media screen and (max-width:768px){/*sp*/
    .re_button_item {
      padding: 10px;}
  }
.re_button_space {
  display: table-cell;
  width: 5%;
}
.re_button_item p {
  font-size: 2.25rem;/*36px*/
  font-weight: 700;
}
  @media screen and (max-width:768px){/*sp*/
    .re_button_item p {
      font-size: 1rem;/*16px*/}
  }
.triangle-bottom {
  display: inline-block;
  margin: 5px;
  border-style: solid;
  border-width: 12px 20px 0 20px;
  border-color: #dde4ec transparent transparent transparent;
}
  @media screen and (max-width:768px){/*sp*/
    .triangle-bottom  {
        border-width: 6px 10px 0 10px;}
  }

/* ------- Explain04 ------- */
.explain04 {
  display: table;
  width: 70%;
  padding-bottom: 10px;
  margin: 0 auto;
  text-align: center;
}
  @media screen and (max-width:1000px){
    .explain04 {
      width: 85%;}
  }
.explain04_left {
  display: table-cell;
  width: 20%;
  padding-right: 20px;
  vertical-align: middle;
}
  @media screen and (max-width:768px){
    .explain04_left {
      display: block;
      width: 100%;
      padding-right: 0;
      margin: 0 auto 20px;}
  }
.explain04_left img {
  width: auto;
  height: 300px;
}
.explain04_right {
  position: relative;
  display: table-cell;
  width: 80%;
  color: #07326b;
}
  @media screen and (max-width:768px){
    .explain04_right {
      position: static;
      display: block;
      margin: 0 auto;}
  }
.explain04_right .ex04txt01 {
  position: absolute;
  top: 20%;
  font-size: 2.25rem;/*36px*/
  font-weight: 700;
  line-height: 1.5;
  text-align: left;
}
  @media screen and (max-width:1000px){
    .explain04_right .ex04txt01 {
      font-size: 2rem;/*32px*/}
  }
  @media screen and (max-width:768px){
    .explain04_right .ex04txt01 {
      position: static;
      display: block;
      font-size: 1.125rem;/*18px*/
      text-align: center;}
  }
.explain04_right .ex04txt02 {
  position: absolute;
  top: 40%;
  font-size: 1.75rem;/*28px*/
  font-weight: 500;
  line-height: 1.3;
  text-align: left;
}
  @media screen and (max-width:1000px){
    .explain04_right .ex04txt02 {
      font-size: 1.5rem;/*24px*/}
  }
  @media screen and (max-width:834px){
    .explain04_right .ex04txt02 {
      font-size: 1.25rem;/*20px*/}
  }
  @media screen and (max-width:768px){
    .explain04_right .ex04txt02 {
      position: static;
      display: block;
      font-size: .875rem;/*14px*/
      text-align: center;}
  }
.explain04_right .ex04txt02 span {
  letter-spacing: -0.3em;
}
.triangle-ex04 {
  position: absolute;
  left: 5%;
  bottom: 0;
  display: inline-block;
  margin: 20px 75% 0 25%;
  border-style: solid;
  border-width: 30px 30px 0 30px;
  border-color: #cbb196 transparent transparent transparent;
}
  @media screen and (max-width:768px){
    .triangle-ex04 {
      position: static;
      display: block;
      margin: 20px 40%;
    }
  }
.ex04line {
  position: relative;
  width: 80%;
  margin: 15px auto;
  text-align: center;
  border-bottom: dotted 6px #ffd700;
}
  @media screen and (max-width:1000px){
    .ex04line {
      margin: 60px auto;}
  }
.ex04line .lineTxt {
  position: absolute;
  bottom: -6px;
  right: 0;
  height: 55px;
  padding: 15px 15px 15px 0;
  font-size: 1.875rem;/*30px*/
  font-weight: 700;
  color: #07326b;
  background-color: #ffd700;
}
  @media screen and (max-width:768px){/*sp*/
    .ex04line .lineTxt {
      height: 35px;
      padding: 10px 10px 5px 0;
      font-size: 1rem;/*16px*/}
  }

.ex04line .lineTxt:before {
  content: '';
  position: absolute;
  display: block;
  bottom: 0px;
  left: -35px;
  border-left: 35px solid transparent;
  border-bottom: 55px solid #ffd700;
}
  @media screen and (max-width:768px){/*sp*/
    .ex04line .lineTxt:before {
      border-bottom: 35px solid #ffd700;}
  }

/* ------- Explain05 ------- */
.explain05 {
  display: block;
  width: 100%;
  text-align: center;
  background-color: #dde4eb;
}
.ex05txt {
  padding: 0 50px 10px;
  font-size: 1.5rem;/*24px*/
  font-weight: 400;
  text-align: center;
}
  @media screen and (max-width:768px){/*sp*/
    .ex05txt {
      font-size: .75rem;/*12px*/}
  }
.ex05txt span {
  letter-spacing: -0.3em;
}
.ex05midashi {
  padding: 0 50px 20px;
  font-size: 2.25rem;/*36px*/
  font-weight: 700;
  text-align: center;
  color: #004f84;
}
  @media screen and (max-width:1000px){
    .ex05midashi {
      font-size: 2.125rem;/*34px*/}
  }
  @media screen and (max-width:768px){/*sp*/
    .ex05midashi {
      padding: 0 20px 20px;
      font-size: 1rem;/*16px*/}
  }
.explain05_inner {
  display: table;
  width: 95%;
  margin: 0 auto;
}
  @media screen and (max-width:768px){/*sp*/
    .explain05_inner {
      padding: 10px 0;}
  }
.explain05_inner span, .ex05midashi span {
  letter-spacing: -0.2em;
}
.explain05_01left, .explain05_02right {
  display: table-cell;
  width: 65%;
  vertical-align: middle;
}
.explain05_01right, .explain05_02left {
  display: table-cell;
  width: 35%;
  text-align: center;
  vertical-align: middle;
}
.explain05_01right img, .explain05_02left img {
  width: auto;
  height: 200px;
}
  @media screen and (max-width:768px){/*sp*/
    .explain05_01right img, .explain05_02left img {
      width: auto;
      height: 80px;}
  }
.explain05_01left .balloon, .explain05_02right .balloon {
  position: relative;
  padding: 20px 30px;
  width: 100%;
  background-color: #dfad00;
  border-radius: 15px;
}
  @media screen and (max-width:768px){/*sp*/
    .explain05_01left .balloon, .explain05_02right .balloon {
      padding: 10px;}
  }
.explain05_01left .balloon::before {
  content: "";
  position: absolute;
  border: 16px solid transparent;
  border-left: 36px solid #dfad00;
  top: 34%;
  left: 100%;
}
  @media screen and (max-width:768px){/*sp*/
    .explain05_01left .balloon::before {
      border: 10px solid transparent;
      border-left: 20px solid #dfad00;
      top: 34%;}
  }
.explain05_02right .balloon::before {
  content: "";
  position: absolute;
  border: 16px solid transparent;
  border-right: 36px solid #dfad00;
  top: 34%;
  right: 100%;
}
  @media screen and (max-width:768px){/*sp*/
    .explain05_02right .balloon::before  {
      border: 10px solid transparent;
      border-right: 20px solid #dfad00;
      top: 34%;}
  }

.explain05_01left .balloon p, .explain05_02right .balloon p {
  margin: 0;
  padding: 0;
  font-size: 2rem;/*32px*/
  font-weight: 500;
  color: #07326b;
  color: #fff;
  text-align: left;
}
  @media screen and (max-width:1000px){
    .explain05_01left .balloon p, .explain05_02right .balloon p {
      font-size: 1.5rem;/*24px*/}
  }
  @media screen and (max-width:768px){/*sp*/
    .explain05_01left .balloon p, .explain05_02right .balloon p {
      font-size: .875rem;/*14px*/}
  }

/* ------- Explain06 ------- */
.explain06 {
  display: block;
  width: 100%;
  text-align: center;
  background-color: #f6eac5;
}
.ex06price {
  padding: 0 50px 20px;
  color: #07326b;
  text-align: center;
}
  @media screen and (max-width:768px){/*sp*/
    .ex06price {
      padding: 0 20px 20px;}
  }
.ex06price .ltxt {
  font-size: 6.25rem;/*100px*/
  font-weight: 900;
  letter-spacing: -0.2em;
}
  @media screen and (max-width:768px){/*sp*/
    .ex06price .ltxt {
      font-size: 3.125rem;/*50px*/}
  }
.ex06price .mtxt {
  font-size: 3rem;/*46px*/
  font-weight: 500;
  letter-spacing: -0.2em;
}
.ex06price .stxt {
  font-size: 2.25rem;/*36px*/
  font-weight: 500;
  letter-spacing: normal;
}
  @media screen and (max-width:768px){/*sp*/
    .ex06price .stxt {
      font-size: 2rem;/*32px*/}
  }
.ex06tax {
  padding: 0 50px 10px;
  font-size: 2.75rem;/*44px*/
  font-weight: 400;
  color: #727171;
  text-align: center;
}
  @media screen and (max-width:768px){/*sp*/
    .ex06tax  {
      font-size: 1.5rem;/*24px*/}
  }
.ex06tax span {
  letter-spacing: -0.2em;
}
.ex06tax span.stxt {
  font-size: 1.375rem;/*22px*/
  font-weight: 500;
  letter-spacing: normal;
}
  @media screen and (max-width:768px){/*sp*/
    .ex06tax span.stxt {
      font-size: 1rem;/*16px*/}
  }
.ex06txt {
  padding: 0 50px 10px;
  font-size: 1.625rem;/*26px*/
  font-weight: 400;
  text-align: center;
}
  @media screen and (max-width:1000px){
    .ex06txt {
      padding: 0 20px 10px;
      font-size: 1.4375rem;/*23px*/}
  }
  @media screen and (max-width:768px){/*sp*/
    .ex06txt {
      font-size: 1rem;/*16px*/}
  }
.ex06box {
  padding: 20px 30px;
  width: 95%;
  margin: 0 auto;
  background-color: #dfad00;
  border-radius: 15px;
}
  @media screen and (max-width:1000px){
    .ex06box {
      width: 96%;}
  }
  @media screen and (max-width:768px){/*sp*/
    .ex06box  {
        padding: 20px 15px;}
  }
.ex06xt01 {
  position: relative;
  padding: 30px 50px;
  margin: 0 auto;
  width: 100%;
  max-width: 1200px;
  font-size: 1.625rem;/*26px*/
  font-weight: 500;
  color: #fff;
  text-align: center;
}
  @media screen and (max-width:1000px){
    .ex06xt01 {
      font-size: 1.375rem;/*22px*/}
  }
  @media screen and (max-width:834px){
    .ex06xt01 {
      font-size: 1.25rem;/*20px*/}
  }
  @media screen and (max-width:768px){/*sp*/
    .ex06xt01 {
      padding: 20px 5px;
      font-size: 1rem;/*16px*/
      line-height: 1.2;}
  }
.ex06xt01:before {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 1px;
  content: '';
  background: #fff;
}
.ex06xt01 span.y {
  position: relative;
  padding: 0 30px;
  background: #dfad00;
}
  @media screen and (max-width:768px){/*sp*/
    .ex06xt01 span.y {
      padding: 0 10px;}
  }
.ex06xt01 span.sp {
  letter-spacing: -0.2em;
}
.ex06xt02 {
  font-size: 3.125rem;/*50px*/
  font-weight: 700;
  color: #07326b;
}
  @media screen and (max-width:1000px){
    .ex06xt02 {
      font-size: 2.25rem;/*36px*/}
  }
  @media screen and (max-width:768px){/*sp*/
    .ex06xt02 {
      font-size: 1.625rem;/*26px*/
      line-height: 1.2;}
  }
.ex06xt02 span {
  letter-spacing: -0.3em;
}
.ex06xt03 {
  padding: 20px 50px;
  font-size: 3.125rem;/*50px*/
  font-weight: 700;
  color: #fff;
  text-shadow: 5px 5px 0 rgb(0, 0, 0, 0.2);
  text-align: center;
}
  @media screen and (max-width:1000px){
    .ex06xt03 {
      font-size: 2.5rem;/*40px*/}
  }
  @media screen and (max-width:768px){/*sp*/
    .ex06xt03 {
      padding: 10px 10px;
      font-size: 1.625rem;/*26px*/
      line-height: 2;}
  }
.ex06xt03 span.lltxt{
  font-size: 6.25rem;/*100px*/
  font-weight: 900;
  line-height: 0.5;
  letter-spacing: -0.2em;
}
  @media screen and (max-width:1000px){
    .ex06xt03 span.lltxt {
      font-size: 5rem;/*80px*/}
  }
  @media screen and (max-width:768px){/*sp*/
    .ex06xt03 span.lltxt {
      font-size: 3rem;/*46px*/}
  }
.ex06button {
  display: table;
  padding-top: 50px;
  margin: 0 auto;
  text-align: center;
}


/* ------- QA ------- */
.qa_y_top, .qa_b_top {
  display: table;
  width: 95%;
  padding: 20px 30px;
  margin: 0 auto;
  color: #07326b;
  text-align: left;
  background-color: #fee183;
  border-radius: 15px 15px 0 0;
}
  @media screen and (max-width:768px){/*sp*/
    .qa_y_top, .qa_b_top {
      padding: 10px 20px;}
  }
.qa_y_line, .qa_b_line  {
  position: relative;
  width: 95%;
  height: 1px;
  margin: 0 auto;
}
.qa_y_line::before, .qa_b_line::before {
  content: "";
  background-size: 15px 1px;
  background-repeat: repeat-x;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.qa_y_line::before {
  background-image: linear-gradient(to right, #efad73, #efad73 8px, transparent 2px, transparent 15px);
}
.qa_b_line::before {
  background-image: linear-gradient(to right, #29abe2, #29abe2 8px, transparent 2px, transparent 15px);
}
.qa_y_bottom, .qa_b_bottom {
  display: table;
  width: 95%;
  padding: 20px 30px;
  margin: 0 auto;
  color: #07326b;
  text-align: left;
  border-radius: 0 0 15px 15px;
}
  @media screen and (max-width:768px){/*sp*/
    .qa_y_bottom, .qa_b_bottom {
      padding: 10px 20px;}
  }
.qa_y_top, .qa_y_line, .qa_y_bottom {
  background-color: #fee183;
}
.qa_b_top, .qa_b_line, .qa_b_bottom {
  background-color: #d3edfb;
}
.qa_left {
  display: table-cell;
  width: 10%;
  padding-right: 20px;
  vertical-align: middle;
}
.qa_left img {
  max-width: 80px;
}
  @media screen and (max-width:768px){/*sp*/
    .qa_left img {
      max-width: 30px;}
  }
.qa_right {
  display: table-cell;
  width: 90%;
  font-size: 1.5rem;/*24px*/
  font-weight: 500;
  line-height: 1.5;
  vertical-align: middle;
}
  @media screen and (max-width:768px){/*sp*/
    .qa_right {
       font-size: .875rem;/*14px*/}
  }
.qa_right span {
  letter-spacing: -0.3em;;
}


/* ------- Explain007 ------- */
.explain07 {
  display: block;
  width: 100%;
  padding-bottom: 10px;
  margin: 0 auto;
  text-align: center;
  /*vertical-align: bottom;*/
}
.explain07 img.logo {
  max-width: 500px;
  padding: 20px;
  margin: 0 auto;
}
.explain07 p.ex07txt01 {
  padding: 20px 0 0;
  margin: 0 auto;
  font-size: 2.5rem;/*40px*/
  font-weight: 400;
}
  @media screen and (max-width:1000px){
    .explain07 p.ex07txt01 {
      font-size: 2.25rem;/*36px*/}
  }
  @media screen and (max-width:834px){
    .explain07 p.ex07txt01 {
      font-size: 1.875rem;/*30px*/}
  }
  @media screen and (max-width:768px){/*sp*/
    .explain07 p.ex07txt01 {
      font-size: 1rem;/*16px*/}
  }
.explain07 p.ex07txt02 {
  padding: 40px 20px 20px;
  margin: 0 auto;
  font-size: 1.25rem;/*20px*/
  font-weight: 400;
  color: #999;
}
  @media screen and (max-width:768px){/*sp*/
    .explain07 p.ex07txt02 {
      font-size: .625rem;/*10px*/
      padding: 20px 20px 5px;}
  }
.explain07 p.ex07txt01 span, .explain07 p.ex07txt02 span {
  letter-spacing: -0.3em;
}
.explain07_item {
  display: table;
  width: 80%;
  margin: 30px auto;
  text-align: center;
}
  @media screen and (max-width:768px){/*sp*/
    .explain07_item {
      display: block;
      width: 100%;
      margin: 0 auto;}
  }
.explain07_item01 {
  display: table-cell;
  width: 50%;
  padding: 20px;
  margin: 0 auto;
}
  @media screen and (max-width:768px){/*sp*/
    .explain07_item01 {
      display: block;
      width: 90%;
      padding: 0;}
  }
.explain07_item01 img {
  width: 100%;
}

/* ------- Other ------- */
.other {
  display: block;
  width: 100%;
  padding: 30px 0;
  text-align: center;
  background-color: #8dc3e8;
}
.other_midashi {
  font-size: 2.5rem;/*40px*/
  font-weight: 700;
  line-height: 1.5;
  color: #07326b;
  text-align: center;
}
  @media screen and (max-width:1000px){
    .other_midashi {
      font-size: 2.25rem;/*36px*/}
  }
  @media screen and (max-width:834px){
    .other_midashi {
      font-size: 2rem;/*32px*/}
  }
  @media screen and (max-width:768px){/*sp*/
    .other_midashi {
      font-size: 1.25rem;/*20px*/}
  }
.other_txt01 {
  padding-top: 20px;
  font-size: 1.25rem;/*20px*/
  font-weight: 700;
  line-height: 1.5;
  color: #07326b;
  text-align: center;
}
  @media screen and (max-width:834px){
    .other_txt01 {
      font-size: 1rem;/*16px*/}
  }
  @media screen and (max-width:768px){/*sp*/
    .other_txt01 {
      font-size: .875rem;/*14px*/}
  }

.other_txt01 span {
  letter-spacing: -0.2em;
}


/* ------- Company ------- */
.company {
  display: block;
  width: 100%;
  padding: 30px 0;
  margin: 0 auto;
  text-align: center;
  background-color: #c5daf1;
}
.company_inner {
  display: inline-block;
  margin: 0 auto 30px;
  text-align: center;
}
  @media screen and (max-width:768px){/*sp*/
    .company_inner  {
      padding: 0 20px;}
  }

.company_inner p.company_txt01 {
  padding-top: 20px;
  font-size: 1.5rem;/*24px*/
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
}
  @media screen and (max-width:768px){/*sp*/
    .company_inner p.company_txt01 {
      font-size: .875rem;/*14px*/}
  }
.company_inner p.company_txt01 span {
  letter-spacing: -0.2em;
}
