@charset "UTF-8";

@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700&display=swap);
@import url(https://fonts.googleapis.com/css?family=Roboto);

/* ===================================================================
CSS information
 File Name  : style.css
=================================================================== */

html {
  overflow-y: scroll;
  line-height: 1;
  font-size: 62.5%;
}
body {
  background: #fff;
  color: #000;
  font-family: 'Noto Sans JP', "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, sans-serif;
  letter-spacing: 0.15rem;
  font-weight:500;
  font-size: 14px;
  font-size: 1.4rem;
  word-break: normal;
  overflow-wrap: break-word;
  word-wrap: break-word;
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
}
  @media screen and (max-width: 767px) {
    body {
      letter-spacing: 0.3vw;
      font-size: 3.73vw;
    }
  }

/*----------------------------------------------------
  link要素
--------------------------------------------------- */
a {
  transition: all 0.2s ease-in-out 0s;
  text-decoration: none;
}
a:link {
  color: #000;
}
a:visited {
  color: #000;
}
a:hover {
  color: #000;
  text-decoration: underline;
}
a:active {
  color: #666;
}
:focus-ring {
  outline: dotted 1px #F6AB00;
}
:-moz-focusring {
  outline: dotted 1px #F6AB00;
}

/*----------------------------------------------------
  img要素
--------------------------------------------------- */
img {
  line-height: 1;
  font-size: 0;
  vertical-align: top;
  height: auto;
  max-width: 100%;
  transition: all 0.2s ease-in-out 0s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/*----------------------------------------------------
 フォントファミリー
--------------------------------------------------- */
.ff01 {
  font-family: 'Roboto', sans-serif;
}

/*----------------------------------------------------
 共通カラム
--------------------------------------------------- */
html {
  min-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
#page {
  overflow:hidden;
}
#contents {
  background: #FFC71D;
  line-height: 1.8;
}
#contents a:hover img{
  opacity: 0.70;
}
.wrapper {
  position: relative;
  width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.inner {
  position: relative;
  width: 1100px;
  margin-left: auto;
  margin-right: auto;
  z-index: 5;
}
  @media screen and (max-width: 767px) {
    html, body, #page {
      min-width:100%!important;
      max-width:100%!important;
      width:100%!important;
    }
    #contents {
    }
    .wrapper, .inner {
      width:100%;
    }
  }

/*----------------------------------------------------
	ヘッダー
----------------------------------------------------*/
#header {
  background: #F37303;
  height: 790px;
}
#hd_info {
  opacity: 0;
  position: relative;
  top: -50px;
  transition: all 0.3s ease-in-out 0.5s;
  z-index: 10;
}
#header.active #hd_info {
  opacity: 1;
  top: 0;
}
#hd_info .logo {
  position: absolute;
  left: 0;
  top: 38px;
  display:inline-block;
}
.site_copy {
  position: absolute;
  right: 0;
  top: 30px;
  color: #fff;
  font-weight: 500;
  line-height: 1.6;
}
  @media screen and (max-width: 767px) {
    #header {
      height: auto;
      background: #F47701;
    }
    #hd_info .logo {
      left: 2vw;
      width: 34vw;
      top: 3.33vw;
    }
    .site_copy {
      font-size: 2.66vw;
      line-height: 1.3;
      right: 2vw;
      top: 3.33vw;
      font-feature-settings: "palt";
    }
  }

.bs_ipad #hd_info .logo {
  left: 10px;
}
.bs_ipad #hd_info .site_copy {
  right: 10px;
}

/*----------------------------------------------------
	フッター
----------------------------------------------------*/
#footer {
  position: relative;
  background: #F89405;
  padding: 100px 0 180px;
}
#footer::after {
  position: absolute;
  left: 0;
  top: -20px;
  content: "";
  width: 100%;
  height: 123px;
  background: url("../img/ft_bg.png") center 0 no-repeat;
}
#footer ul {
  padding-bottom: 75px;
}
#footer li {
  font-size: 1.9rem;
  font-weight: 600;
  margin: 0 20px;
}
#footer li a:hover {
  color: #fff;
}
#footer h2 {
  font-size: 1.7rem;
  font-weight: 500;
  margin-bottom: 70px;
}
.copyright {
  color: #fff;
  font-size: 1.4rem;
  font-weight: 600;
}
.ft_coin {
  position: absolute;
  left: 50%;
  margin-left: -123px;
  top: -105px;
}
  @media screen and (max-width: 767px) {
    #footer {
      padding: 23.33vw 2vw 23.33vw;
    }
    #footer ul {
      padding: 0 3.33vw 3.33vw;
    }
    #footer li {
      width: 50%;
      font-size: 4.26vw;
      margin: 0 0 8.33vw;
    }
    #footer li a {
      display: block;
      text-align: center;
    }
    #footer h2 {
      font-size: 4.26vw;
      margin-bottom: 13.66vw;
    }
    .copyright {
      font-size: 3.2vw;
      letter-spacing: 0.1vw;
    }
    .ft_coin {
      margin-left: -30vw;
      top: -24.9vw;
    }
    .ft_coin img {
      width: 60vw;
      height: auto;
    }
  }

/*----------------------------------------------------
  トップページ index
--------------------------------------------------- */
#mainVisual {
  position: relative;
  padding-top: 138px;
  background: url("../img/main_bg.png") center 95px no-repeat;
}
#mainVisual figure {
  text-align: center;
}
  @media screen and (max-width: 767px) {
    #mainVisual {
      padding: 21vw 9.33vw 6.66vw 9.33vw;
      background: none;
      background-size: 100% auto;
    }
    #mainVisual::after {
      position: absolute;
      left: 0;
      top: 10.66vw;
      content: "";
      width: 100%;
      height: 100%;
      background: url("../img/main_bg_sp.png") center 12vw no-repeat;
      background-size: 100% auto;
    }
    .movie {
      width:100%;
      height:auto;
      min-height:inherit;
      max-height:inherit
    }
  }

#mainNav {
  position: fixed;
  right: 25px;
  bottom: 20px;
  z-index: 100;
}
#mainNav ul {
  justify-content: center;
  align-items: flex-end;
}
#mainNav li a:hover {
  filter: brightness(1.15);
}
  @media screen and (max-width: 767px) {
    #mainNav {
      position: static;
      background: #F37801;
      padding: 2vw 2vw 5.33vw;
    }
    #mainNav li {
      box-shadow: none;
      margin-left: 0;
      background: none;
      margin-bottom: 0.66vw;
    }
    #mainNav li img {
      width: 100%;
      height: auto;
    }
  }

.kira_box {
  position: absolute;
  z-index: 10;
}
.kira_r {
  position: absolute;
  right: 0;
  top: 0;
}
.kira_l {
  position: absolute;
  left: 0;
  bottom: 0;
}
  @media screen and (max-width: 767px) {
    .kira_box {
      opacity: 1;
      transition: none;
    }
  }

.kira_r img {
  position: relative;
  display: block;
  animation: kira_r 0.4s linear 0.2s infinite;
}
@keyframes kira_r {
  0% { top: auto; bottom: -5px; }
  100%   { top: -5px; bottom: auto; }
}
@-webkit-keyframes kira_r {
  0% { top: auto; bottom: -5px; }
  100%   { top: -5px; bottom: auto; }
}

.kira_l img {
  position: relative;
  display: block;
  animation: kira_l 0.4s linear 0.2s infinite;
}
@keyframes kira_l {
  0%   { top: -5px; bottom: auto; }
  100% { top: auto; bottom: -5px; }
}
@-webkit-keyframes kira_l {
  0%   { top: -5px; bottom: auto; }
  100% { top: auto; bottom: -5px; }
}

  @media screen and (max-width: 767px) {
    .kira_r img {
      animation: kira_r_sp 0.4s linear 0.2s infinite;
    }
  }
  @keyframes kira_r_sp {
    0% { top: auto; bottom: -1vw; }
    100%   { top: -1vw; bottom: auto; }
  }
  @-webkit-keyframes kira_r_sp {
    0% { top: auto; bottom: -1vw; }
    100%   { top: -1vw; bottom: auto; }
  }

  @media screen and (max-width: 767px) {
    .kira_l img {
      position: relative;
      display: block;
      animation: kira_l_sp 0.4s linear 0.2s infinite;
    }
  }
  @keyframes kira_l_sp {
    0%   { top: -1.5vw; bottom: auto; }
    100% { top: auto; bottom: -1.5vw; }
  }
  @-webkit-keyframes kira_l_sp {
    0%   { top: -1.5vw; bottom: auto; }
    100% { top: auto; bottom: -1.5vw; }
  }

.kira03 {
  width: 46px;
  height: 40px;
  bottom: 110px;
  left: 50%;
  margin-left: -610px;
}
  @media screen and (max-width: 767px) {
    .kira03 {
      width: 11.66vw;
      height: 10.66vw;
      bottom: 12vw;
      left: 4vw;
      margin-left: 0;
    }
    .kira03 .kira_r img {
      width: 6.3vw;
      height: auto;
    }
    .kira03 .kira_l img {
      width: 3.76vw;
      height: auto;
    }
  }

.kira04 {
  width: 46px;
  height: 40px;
  bottom: 365px;
  right: 50%;
  margin-right: -590px;
}
  @media screen and (max-width: 767px) {
    .kira04 {
      width: 11.66vw;
      height: 10.66vw;
      bottom: 38vw;
      right: 4.4vw;
      margin-right: 0;
    }
    .kira04 .kira_r img {
      width: 6.3vw;
      height: auto;
    }
    .kira04 .kira_l img {
      width: 3.76vw;
      height: auto;
    }
  }

#service {
  position: relative;
  padding: 120px 0 90px 0;
  background: #FF9700;
}
#service::after {
  position: absolute;
  left: 0;
  top: 160px;
  content: "";
  width: 100%;
  height: 727px;
  background: url("../img/service_bg.png") center 0 no-repeat;
}
#service h2 {
  font-size: 3.2rem;
  letter-spacing: 0.2rem;
  line-height: 1.6;
  margin-bottom: 65px;
}
#service h2 span {
  position: relative;
  display: inline-block;
}
#service h2 span::before {
  position: absolute;
  left: -92px;
  top: -22px;
  content: "";
  width: 63px;
  height: 67px;
  background: url("../img/kira01.png") 0 0 no-repeat;
  background-size: 63px 67px;
}
#service h2 span::after {
  position: absolute;
  right: -100px;
  bottom: -25px;
  content: "";
  width: 58px;
  height: 62px;
  background: url("../img/kira02.png") 0 0 no-repeat;
  background-size: 58px 62px;
}
#service h2 b {
  font-size: 4.2rem;
}
  @media screen and (max-width: 767px) {
    #service {
      padding: 28vw 2vw 16vw 2vw;
      background: #F99D0B;
    }
    #service::after {
      top: 30vw;
      height: 229.86vw;
      background: url("../img/service_bg_sp.png") center 0 no-repeat;
      background-size: 100% 229.86vw;
    }
    #service h2 {
      font-size: 5.6vw;
      letter-spacing: 0.5vw;
      line-height: 1.5;
      margin-bottom: 18.4vw;
    }
    #service h2 span {
      display: block;
    }
    #service h2 span::before {
      left: 0;
      top: -15.33vw;
      width: 13.06vw;
      height: 13.73vw;
      background-size: 13.06vw 13.73vw;
    }
    #service h2 span::after {
      right: 0;
      bottom: -12vw;
      width: 11.33vw;
      height: 12vw;
      background-size: 11.33vw 12vw;
    }
    #service h2 b {
      font-size: 6.66vw;
    }
  }

.worries_box {
  margin-bottom: 75px;
}
.worries_box h3 {
  margin-bottom: 50px;
}
.worries_box ul {
  max-width: 630px;
  margin:0 auto;
  padding-bottom: 20px;
}
.worries_box li {
  position: relative;
  padding-left: 75px;
  font-size: 2.2rem;
  margin-bottom: 38px;
  font-weight: 600;
}
.worries_box li::after {
  position: absolute;
  left: 0;
  top: -8px;
  content: "";
  width: 58px;
  height: 57px;
  background: url("../img/ico_worries.png") center center no-repeat;
  background-size: 58px 57px;
}
.worries_box p {
  font-size: 3.2rem;
}
  @media screen and (max-width: 767px) {
    .worries_box {
      margin-bottom: 16vw;
    }
    .worries_box h3 {
      margin-bottom: 7.4vw;
    }
    .worries_box h3 img {
      width: 83.33vw;
      height: auto;
    }
    .worries_box ul {
      max-width: 100%;
      padding: 0 0 3.33vw;
    }
    .worries_box li {
      padding-left: 12.66vw;
      font-size: 4.53vw;
      margin-bottom: 6.66vw;
    }
    .worries_box li::after {
      top: -1vw;
      width: 10vw;
      height: 9.86vw;
      background-size: 10vw 9.86vw;
    }
    .worries_box p {
      font-size: 6.66vw;
      line-height: 1.4;
    }
  }

.sub_ttl01 {
  position: relative;
  text-align: center;
  font-size: 4.2rem;
  line-height: 1.7;
  letter-spacing: 0.2rem;
  z-index: 5;
}
.sub_ttl01 span {
  position: relative;
  display: inline-block;
}
.sub_ttl01 span::before {
  position: absolute;
  left: -100px;
  top: -28px;
  content: "";
  width: 63px;
  height: 67px;
  background: url("../img/kira01.png") 0 0 no-repeat;
  background-size: 63px 67px;
}
.sub_ttl01 span::after {
  position: absolute;
  right: -100px;
  bottom: -20px;
  content: "";
  width: 58px;
  height: 62px;
  background: url("../img/kira02.png") 0 0 no-repeat;
  background-size: 58px 62px;
}
.sub_ttl01 small {
  display: block;
  font-size: 3.2rem;
}
.sub_ttl01 b {
  display: block;
}
  @media screen and (max-width: 767px) {
    .sub_ttl01 {
      font-size: 6.66vw;
      line-height: 1.5;
      letter-spacing: 0.5vw;
    }
    .sub_ttl01 span {
      display: block;
    }
    .sub_ttl01 span::before {
      left: 0;
      top: -15.33vw;
      width: 13.06vw;
      height: 13.73vw;
      background-size: 13.06vw 13.73vw;
    }
    .sub_ttl01 span::after {
      right: 0;
      bottom: -9.33vw;
      width: 11.33vw;
      height: 12vw;
      background-size: 11.33vw 12vw;
    }
    .sub_ttl01 small {
      font-size: 5.6vw;
    }
  }

#point {
  position: relative;
  padding-top: 142px;
}
#point .sub_ttl01 {
  margin-bottom: 80px;
}
  @media screen and (max-width: 767px) {
    #point {
      padding-top: 33.33vw;
    }
    #point .sub_ttl01 {
      width: 96vw;
      margin: 0 auto 17.33vw;
    }
  }

.point_box h3 {
  font-size: 2.6rem;
}
.point_box h3 span {
  position: relative;
  display: inline-block;
  text-align: left;
  padding-left: 78px;
}
.point_box h3 b {
  position: absolute;
  left: 0;
  top: 0;
  line-height: 1.4;
  font-size: 3.6rem;
  font-family: Arial, Helvetica, "sans-serif";
  font-style: italic;
}
.point_box h3 b::before {
  position: absolute;
  left: -30px;
  top: -12px;
  content: "";
  width: 22px;
  height: 27px;
  background: url("../img/kira03.png") center center no-repeat;
  background-size: 22px 27px;
}
.point_box h3 b::after {
  position: absolute;
  right: -20px;
  bottom: -4px;
  content: "";
  width: 13px;
  height: 17px;
  background: url("../img/kira04.png") center center no-repeat;
  background-size: 13px 17px;
}
  @media screen and (max-width: 767px) {
    .point_box {
      padding: 0 2vw;
    }
    .point_box h3 {
      font-size: 4.53vw;
    }
    .point_box h3 span {
      padding-left: 20.26vw;
    }
    .point_box h3 b {
      font-size: 6.4vw;
      width: 17.33vw;
      text-align: center;
      display: block;
      line-height: 1.3;
    }
    .point_box h3 b::before {
      left: 0;
      top: -1.66vw;
      width: 3.86vw;
      height: 4.66vw;
      background-size: 3.86vw 4.66vw;
    }
    .point_box h3 b::after {
      right: 0;
      bottom: -0.66vw;
      width: 2.4vw;
      height: 2.93vw;
      background-size: 2.4vw 2.93vw;
    }
  }

#point01 {
  position: relative;
  padding-bottom: 80px;
}
#point01::after {
  position: absolute;
  left: 0;
  top: -380px;
  content: "";
  width: 100%;
  height: 2434px;
  background: url("../img/point01_bg.png") center 0 no-repeat;
}
#point01 h3 {
  margin-bottom: 50px;
}
.point01_lead {
  margin-bottom: 90px;
}
.point01_lead h4 {
  margin-bottom: 35px;
}
.point01_lead p {
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 600;
}
.point01_lead p span {
  font-size: 1.8rem;
}
  @media screen and (max-width: 767px) {
    #point01 {
      padding-bottom: 13.33vw;
      z-index: 2;
    }
    #point01::after {
      top: -42vw;
      height: 499.33vw;
      background: url("../img/point01_bg_sp.png") 0 0 no-repeat;
      background-size: 100% 499.33vw;
    }
    #point01 h3 {
      margin-bottom: 5vw;
    }
    .point01_lead {
      margin-bottom: 4vw;
    }
    .point01_lead h4 {
      margin-bottom: 4.4vw
    }
    .point01_lead h4 img {
      width: 34.66vw;
      height: auto;
    }
    .point01_lead p {
      text-align: left;
      font-size: 4vw;
      line-height: 1.9;
    }
    .point01_lead p span {
      font-size: 4.53vw;
    }
  }

#point01_graph01 {
  position: relative;
  height: 738px;
}
.graph {
  position: absolute;
  left: 228px;
  top: 0;
  width: 853px;
  height: 662px;
  overflow: hidden;
}
.graph li {
  position: absolute;
}
#graph01 {
  bottom: -384px;
  left: 0;
  transition: all 0.4s ease 1.2s;
}
#graph02 {
  bottom: -428px;
  left: 166px;
  transition: all 0.4s ease 1.3s;
}
#graph03 {
  bottom: -481px;
  left: 372px;
  transition: all 0.4s ease 1.4s;
}
#graph04 {
  bottom: -555px;
  left: 588px;
  transition: all 0.4s ease 1.5s;
}
  @media screen and (max-width: 767px) {
    #point01_graph01 {
      height: 122vw;
    }
    .graph {
      position: absolute;
      left: 12vw;
      top: 5.4vw;
      width: 84vw;
      height: 108.93vw;
    }
    #graph01 {
      bottom: -55vw;
    }
    #graph01 img {
      width: auto;
      height: 70.53vw;
    }
    #graph02 {
      bottom: -65.5vw;
      left: 18vw;
    }
    #graph02 img {
      width: auto;
      height: 80vw;
    }
    #graph03 {
      bottom: -78.7vw;
      left: 36vw;
    }
    #graph03 img {
      width: auto;
      height: 93.2vw;
    }
    #graph04 {
      bottom: -94.5vw;
      left: auto;
      right: 0;
    }
    #graph04 img {
      width: auto;
      height: 108.93vw;
    }
  }

#point01_graph01.active .graph li {
  bottom: 0!important;
}

.point_year {
  position: absolute;
  left: 62px;
  bottom: 0;
  z-index: 10;
}
  @media screen and (max-width: 767px) {
    .point_year {
      left: 0;
    }
    .point_year img {
      width: 89.6vw;
    }
  }

.s_txt {
  opacity: 0;
  position: absolute;
  right: 48px;
  bottom: 80px;
  z-index: 15;
  transition: all 0.7s ease 2.6s;
}
#point01_graph01.active .s_txt {
  opacity: 1;
  bottom: 235px;
}
  @media screen and (max-width: 767px) {
    .s_txt {
      right: 1.33vw;
      bottom: 20vw;
    }
    #point01_graph01.active .s_txt {
      bottom: 31vw;
    }
    #point01_graph01.active .s_txt img {
      width: 84vw;
      height: auto;
    }
  }

#point01_graph02 {
  position: relative;
  height: 607px;
}
.b_graph {
  position: absolute;
  left: calc(50% - 445px);
  top: 0;
  width: 890px;
  height: 607px;
  overflow: hidden;
}
.b_graph li {
  position: absolute;
}
#b_graph01 {
  bottom: -480px;
  left: 0;
  transition: all 0.4s ease 1.2s;
}
#b_graph02 {
  bottom: -475px;
  left: 350px;
  transition: all 0.4s ease 1.3s;
}
#b_graph03 {
  bottom: 0;
  right: 0;
  transition: all 0.4s ease 1.4s;
}
#point01_graph02.active .b_graph li {
  bottom: 0!important;
}
  @media screen and (max-width: 767px) {
    #point01_graph02 {
      height: 89.86vw;
    }
    .b_graph {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 89.86vw;
    }
    #b_graph01 {
      bottom: -72vw;
    }
    #b_graph01 img {
      width: 29.33vw;
      height: auto;
    }
    #b_graph02 {
      bottom: -72vw;
      left: 34.13vw;
    }
    #b_graph02 img {
      width: 29.06vw;
      height: auto;
    }
    #b_graph03 img {
      width: 96vw;
      height: auto;
    }
  }

@-webkit-keyframes bounceIn {
  0%, 100%, 20%, 40%, 60%, 80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, .61, .355, 1);
    transition-timing-function: cubic-bezier(0.215, .61, .355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(.97, .97, .97);
    transform: scale3d(.97, .97, .97);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes bounceIn {
  0%, 100%, 20%, 40%, 60%, 80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, .61, .355, 1);
    transition-timing-function: cubic-bezier(0.215, .61, .355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    -ms-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    -ms-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(.9, .9, .9);
    -ms-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    -ms-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(.97, .97, .97);
    -ms-transform: scale3d(.97, .97, .97);
    transform: scale3d(.97, .97, .97);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    -ms-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.point_graph_txt {
  font-size: 1.6rem;
  padding: 15px 0 80px;
  font-weight: 600;
}
  @media screen and (max-width: 767px) {
    .point_graph_txt {
      font-size: 2.93vw;
      padding: 3vw 0 10.66vw;
    }
  }

#point01 h5 {
  font-size: 3.2rem;
  line-height: 1.7;
  margin-bottom: 55px;
}
#point01 h5 span {
  color: #f43b51;
}
  @media screen and (max-width: 767px) {
    #point01 h5 {
      font-size: 5.6vw;
      line-height: 1.5;
      margin-bottom: 8.66vw;
    }
  }

#point02 {
  position: relative;
  padding: 90px 0 120px;
  background: #FF9700;
}
#point02::after {
  position: absolute;
  left: 0;
  top: 20px;
  content: "";
  width: 100%;
  height: 860px;
  background: url("../img/point02_bg.png") center 0 no-repeat;
}
#point02 h3 {
  margin-bottom: 40px;
}
.point02_lead {
  margin-bottom: 55px;
}
.point02_lead h4 {
  margin-bottom: 30px;
}
.point02_lead p {
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 600;
}
#point02 h5 {
  font-size: 2.6rem;
  color: #e04154;
  margin-bottom: 50px;
}
  @media screen and (max-width: 767px) {
    #point02 {
      padding: 14vw 2vw 16vw;
      background: #F99D0B;
      z-index: 1;
    }
    #point02::after {
      top: 33.33vw;
      height: 182.8vw;
      background: url("../img/point02_bg_sp.png") center 0 no-repeat;
      background-size: 100% 182.8vw;
    }
    #point02 h3 {
      margin-bottom: 6.66vw;
    }
    .point02_lead {
      margin-bottom: 9.33vw;
    }
    .point02_lead h4 {
      margin-bottom: 5vw;
    }
    .point02_lead h4 img {
      width: 38vw;
      height: auto
    }
    .point02_lead p {
      font-size: 4vw;
      line-height: 1.9;
      text-align: left;
    }
    #point02 h5 {
      font-size: 5vw;
      margin-bottom: 6.66vw;
    }
  }

.logo_slider {
  max-width: 1000px;
  margin: 0 auto;
}
.logo_slider figure img {
  margin: 0 auto;
}
.logo_slider .slick-arrow {
  position: absolute;
  top: calc(50% - 27px);
  cursor: pointer;
  z-index: 10;
}
.logo_slider .slick-arrow.prev  {
  left: 0;
}
.logo_slider .slick-arrow.next  {
  right: 0;
}
  @media screen and (max-width: 767px) {
    .logo_slider {
      max-width: 84vw;
      margin: 0 auto;
    }
    .logo_slider .slick-arrow {
      top: calc(50% - 2.3vw);
    }
    .logo_slider .slick-arrow img {
      width: 4.6vw;
      height: auto;
    }
    .logo_slider .slick-arrow.prev  {
      left: -6vw;
    }
    .logo_slider .slick-arrow.next  {
      right: -6vw;
    }
  }

#point03 {
  position: relative;
  padding: 100px 0 80px;
}
#point03::after {
  position: absolute;
  left: 0;
  bottom: 120px;
  content: "";
  width: 100%;
  height: 91px;
  background: url("../img/point03_bg.png") center 0 no-repeat;
}
#point03 h3 {
  margin-bottom: 30px;
}
.point03_lead h4 {
  margin-bottom: 30px;
}
.point03_lead p {
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 600;
}
.point03_lead p span {
  font-size: 1.8rem;
}
  @media screen and (max-width: 767px) {
    #point03 {
      padding: 16vw 2vw 12vw;
      z-index: 2;
    }
    #point03::after {
      bottom: auto;
      top: 50vw;
      height: 126.39vw;
      background: url("../img/point03_bg_sp.png") center 0 no-repeat;
      background-size: 100% 126.39vw;
    }
    #point03 h3 {
      margin-bottom: 5vw;
    }
    .point03_lead h4 {
      margin-bottom: 5.33vw;
    }
    .point03_lead h4 img {
      width: 48vw;
      height: auto;
    }
    .point03_lead p {
      font-size: 4vw;
      line-height: 1.9;
      text-align: left;
    }
    .point03_lead p span {
      font-size: 4.26vw;
    }
  }

#faq {
  position: relative;
  background: #FF9700;
  padding: 120px 0 80px;
}
#faq::after {
  position: absolute;
  left: 0;
  top: -5px;
  content: "";
  width: 100%;
  height: 1294px;
  background: url("../img/faq_bg.png") center 0 no-repeat;
}
#faq .sub_ttl01 {
  margin-bottom: 60px;
}
.faq_wrap {
  max-width: 1000px;
  margin: 0 auto;
}
.faq_wrap dl {
  font-weight: 600;
  margin-bottom: 50px;
}
.faq_wrap dt {
  position: relative;
  border: solid 1px #333;
  background: #EDF953;
  font-size: 1.8rem;
  padding: 7px 10px 7px 68px;
  margin-bottom: 20px;
}
.faq_wrap dt span {
  position: absolute;
  left: 0;
  top: 0;
  width: 45px;
  height: 100%;
  color: #fff;
  background: #333;
  text-align: center;
  font-size: 3rem;
  font-style: italic;
  line-height: 1;
  font-family: Arial, Helvetica, "sans-serif";
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.faq_wrap dd {
  position: relative;
  font-size: 1.6rem;
  line-height: 2;
  padding: 7px 10px 7px 68px;
}
.faq_wrap dd span {
  position: absolute;
  left: 0;
  top: 0;
  width: 45px;
  height: 45px;
  color: #fff;
  background: #F43C52;
  text-align: center;
  font-size: 3rem;
  font-style: italic;
  line-height: 1;
  font-family: Arial, Helvetica, "sans-serif";
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
  @media screen and (max-width: 767px) {
    #faq {
      background: #F99D0B;
      padding: 31.33vw 2vw 17vw;
    }
    #faq::after {
      top: 54vw;
      height: 351.86vw;
      background: url("../img/faq_bg_sp.png") center 0 no-repeat;
      background-size: 100% 351.86vw;
    }
    #faq .sub_ttl01 {
      margin-bottom: 15.33vw;
    }
    .faq_wrap {
      max-width: 100%;
    }
    .faq_wrap dl {
      margin-bottom: 6.66vw;
      letter-spacing: 0.2vw;
    }
    .faq_wrap dt {
      background: #EFF970;
      font-size: 4.53vw;
      padding: 1.33vw 4vw 1.33vw 11.33vw;
      margin-bottom: 5.33vw;
      line-height: 1.4;
    }
    .faq_wrap dt span {
      width: 8.26vw;
      font-size: 4.53vw;
    }
    .faq_wrap dd {
      font-size: 4vw;
      line-height: 1.6;
      padding: 0.5vw 2.66vw 1.33vw 10vw;
    }
    .faq_wrap dd span {
      width: 8.26vw;
      height: 16.26vw;
      font-size: 4.53vw;
    }
  }

.faq_btn a {
  position: relative;
  display: block;
  width: 540px;
  margin: 0 auto;
  padding: 17px 10px;
  background: #fff;
  border-radius: 20px;
  font-size: 2.6rem;
  font-weight: 600;
  border: solid 1px #000;
}
.faq_btn a:hover {
  text-decoration: none;
  color: #fff;
  background: #F37303;
  border: solid 1px #fff;
}
  @media screen and (max-width: 767px) {
    .faq_btn a {
      width: 100%;
      padding: 2.13vw;
      border-radius: 10px;
      font-size: 5.33vw;
    }
  }

#entry {
  position: relative;
  padding: 140px 0 250px;
}
#entry::after {
  position: absolute;
  left: 0;
  top: 100px;
  content: "";
  width: 100%;
  height: 772px;
  background: url("../img/entry_bg.png") center 0 no-repeat;
}
#entry .sub_ttl01 {
  margin-bottom: 60px;
}
.entry_lead {
  padding-bottom: 30px;
}
.entry_lead p {
  font-size: 1.8rem;
  line-height: 2;
  margin-bottom: 40px;
}
#entry h3 {
  margin-bottom: 50px;
}
  @media screen and (max-width: 767px) {
    #entry {
      padding: 30.66vw 2vw 50vw;
    }
    #entry::after {
      display: none;
    }
    #entry .sub_ttl01 {
      margin-bottom: 12.66vw;
    }
    .entry_lead {
      padding-bottom: 5vw;
    }
    .entry_lead p {
      font-size: 4.26vw;
      line-height: 1.7;
      margin-bottom: 6vw;
    }
    #entry h3 {
      margin-bottom: 18vw;
    }
    #entry h3 img {
      width: 88vw;
      height: auto;
    }
  }

.entry_btn a {
  position: relative;
  display: block;
  width: 525px;
  margin: 0 auto;
  padding: 26px 10px;
  background: #E4FF01;
  border-radius: 20px;
  font-size: 2.8rem;
  font-weight: 600;
}
.entry_btn a:hover {
  text-decoration: none;
  color: #fff;
  background: #F37303;
}
.entry_btn a span {
  display: inline-block;
  background: url("../img/icon_note.png") 0 center no-repeat;
  background-size: 61px 52px;
  line-height: 52px;
  padding-left: 73px;
}
.entry_btn a img {
  position: absolute;
  right: 30px;
  top: -42px;
}
.entry_btn a:hover img {
  opacity: 1!important;
}
  @media screen and (max-width: 767px) {
    .entry_btn a {
      width: 100%;
      padding: 5.7vw 2.66vw;
      border-radius: 10px;
      font-size: 5.33vw;
    }
    .entry_btn a span {
      background-size: 16.26vw 13.73vw;
      line-height: 13.73vw;
      padding-left: 18.8vw;
    }
    .entry_btn a img {
      width: 19.46vw;
      right: 4vw;
      top: -10.66vw;
    }
  }

.ft_btn_sp {
  display: none;
}
  @media screen and (max-width: 767px) {
    .ft_btn_sp {
      display: block;
      opacity: 0;
      position: fixed;
      left: 0;
      bottom: -15vw;
      width: 100%;
      padding: 2vw;
      background: rgba(245,131,3,0.7);
      z-index: 100;
      transition: all 0.2s ease-in-out 0s;
    }
    .ft_btn_sp.ft_active {
      opacity: 1;
      bottom: 0;
    }
    .ft_btn_sp li {
      width: 49%;
    }
    .ft_btn_sp li img {
      width: 100%;
      height: auto;
    }
  }

.corp_info {
    position: relative;
    display: block;
    width: 800px;
    margin: 10px auto ;
    padding: 17px 10px;
    background: #fff;
    border-radius: 20px;
    font-size: 1.4rem;
    font-weight: 600;
    border: solid 1px #000;
}

.corp_info h2 {
    margin-bottom: 20px !important;
}
.corp_info dt {
    width : 30%;
    text-align: right;
    float: left;
}

.corp_info dd {
    width : 70%;
    margin-left : 300px;
    text-align : left;
}

@media screen and (max-width: 767px) {
    .corp_info {
        width: 95%;
    }
    .corp_info h2 {
        font-size: 1.4rem !important;
    }
    .corp_info dt {
        margin : 5px 0;
        float: none;
        margin: auto;
        width: 100%;
        text-align: center;
    }
    .corp_info dd {
        margin: 0 0 10px 0;
        width: 100%;
        font-size: 1.2rem !important;
        text-align: center;
        font-weight : 100 !important;
    }

}
