@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;700&display=swap");
/* ------------------------------
    mixin
------------------------------ */
/* ------------------------------
    reset
------------------------------ */
html {
  font-size: 62.5%;
  overflow-y: scroll; }
  @media screen and (max-width: 1200px) {
    html {
      font-size: calc(100vw * 10 / 1200); } }
  @media screen and (max-width: 767px) {
    html {
      font-size: calc(100vw * 10 / 375); } }

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

body, h1, h2, h3, h4, h5, h6, p, address, time,
ul, ol, li, dl, dt, dd,
table, th, td, img, figure, figcaption,
form, input, button, textarea, select {
  margin: 0;
  padding: 0;
  border: none;
  line-height: 100%;
  list-style-type: none;
  font-style: normal;
  font-weight: normal;
  font-family: "Noto Sans JP", sans-serif;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt"; }

input, button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border-radius: 0;
  resize: none;
  outline: none;
  background: none; }

select::-ms-expand {
  display: none; }

button:hover {
  cursor: pointer; }

a {
  color: #000;
  text-decoration: none;
  transition: opacity 0.3s ease;
  outline: 1px solid transparent;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }
  a img {
    outline: 1px solid transparent;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
  a:hover {
    opacity: .6;
    cursor: pointer; }

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

/* ------------------------------
    base
------------------------------ */
body {
  color: #282828;
  text-align: left;
  position: relative; }

section {
  position: relative; }

main {
  display: block;
  position: relative; }

.wrap {
  width: 100%;
  max-width: 100rem;
  padding: 0;
  margin: 0 auto;
  position: relative; }

p, th, td, dt, dd, li, input, button, textarea {
  font-size: 1.6rem;
  line-height: 1.8; }

.flex {
  display: flex;
  justify-content: space-between; }

.tal {
  text-align: left; }

.tar {
  text-align: right; }

.tac {
  text-align: center; }

.left {
  float: left; }

.right {
  float: right; }

.center {
  display: block;
  text-align: center;
  margin-left: auto;
  margin-right: auto; }

.fwb {
  font-weight: 700; }

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

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

.color_green {
  color: #02623f !important; }

.color_ltgreen {
  color: #77ae2b !important; }

.color_emgreen {
  color: #e2ffbb !important; }

.color_red {
  color: #d90000 !important; }

.color_yel {
  color: #fff3ba !important; }

.udl_red {
  border-bottom: 1px solid #d90000; }

.preload *, .preload *::before, .preload *::after {
  transition: none !important; }

@media screen and (min-width: 768px) {
  .fade {
    transition: opacity 0.3s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }

  .fade img {
    outline: 1px solid transparent;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }

  .fade:hover {
    opacity: .6;
    cursor: pointer; }

  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }
@media screen and (max-width: 767px) {
  body {
    min-width: inherit; }

  .wrap {
    width: 92%;
    padding: 0; }

  main {
    padding-top: 7rem; }

  input, textarea, select, .select {
    font-size: 16px !important; } }
/* ------------------------------
    header
------------------------------ */
#header {
  position: absolute;
  width: 100%;
  z-index: 1000; }
  #header .wrap {
    width: calc(100% - 6rem);
    max-width: 100rem;
    height: 9.5rem;
    padding: 0;
    display: flex;
    justify-content: space-between;
    align-items: center; }
  #header .logo_wrap {
    flex-grow: 1; }
    #header .logo_wrap .logo {
      width: 9.1rem; }
  #header nav .nav_wrap {
    display: flex;
    align-items: center; }
  #header nav .gnavi {
    display: flex;
    justify-content: right; }
    #header nav .gnavi > li > a {
      display: block;
      font-size: 1.5rem;
      font-weight: bold;
      padding: 0 1em; }
    #header nav .gnavi > li + li {
      margin-left: 1rem; }
  #header nav .btn_rsv {
    margin-left: 2rem; }
    #header nav .btn_rsv a {
      width: 17rem;
      height: 5rem;
      font-size: 1.6rem;
      font-weight: 500;
      border-radius: 9999px; }
  #header .overlay {
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(45, 45, 47, 0.5);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 997; }
    #header .overlay.active {
      opacity: 1;
      pointer-events: auto; }

@media screen and (max-width: 767px) {
  #header,
  #header .wrap,
  #header .logo_wrap {
    width: 100%;
    height: 70px; }

  #header {
    background-color: transparent;
    top: 0;
    left: 0;
    padding: 0;
    margin: 0;
    z-index: 999; }
    #header .wrap {
      padding: 0;
      display: block;
      position: relative;
      min-width: inherit; }
    #header .logo_wrap {
      display: flex;
      align-items: center;
      position: relative;
      background: #fff;
      z-index: 999;
      padding: 0; }
      #header .logo_wrap .logo {
        width: auto;
        padding-left: 1.5rem;
        line-height: 1; }
        #header .logo_wrap .logo img {
          width: 85px; }
    #header .menu-trigger {
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      width: 70px;
      height: 70px;
      z-index: 999;
      background: #f8f8f8; }
      #header .menu-trigger span {
        display: inline-block;
        transition: all .4s;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: 50%;
        height: 1px;
        background-color: #2d2d2f; }
        #header .menu-trigger span:nth-of-type(1) {
          top: 35%; }
        #header .menu-trigger span:nth-of-type(2) {
          top: 50%;
          transform: translate(-50%, 50%); }
        #header .menu-trigger span:nth-of-type(3) {
          bottom: 35%; }
    #header nav {
      width: 100%;
      opacity: 0;
      padding: 0;
      position: fixed;
      left: 0;
      top: 70px;
      overflow-y: auto;
      max-height: calc(100% - 70px);
      transform: translateY(-100%);
      transition: transform .3s, opacity 1s;
      z-index: 998; }
      #header nav .nav_wrap {
        background: #fff;
        top: 0;
        left: 0;
        width: 100%;
        height: auto;
        position: relative;
        margin: 0;
        padding: 2rem 4rem 12.8vw;
        display: block; }
        #header nav .nav_wrap .gnavi {
          margin: 0;
          display: block; }
          #header nav .nav_wrap .gnavi > li {
            display: block;
            height: auto;
            position: relative; }
            #header nav .nav_wrap .gnavi > li > a {
              display: block;
              font-size: 1.8rem;
              line-height: 1;
              padding: 1em 0 1em 1.8em;
              position: relative; }
              #header nav .nav_wrap .gnavi > li > a::before {
                position: absolute;
                content: "";
                width: .7rem;
                height: .7rem;
                border-top: solid 1px #02623f;
                border-right: solid 1px #02623f;
                position: absolute;
                left: 1em;
                top: 1.35em;
                transform: rotate(45deg); }
            #header nav .nav_wrap .gnavi > li + li {
              margin-left: 0; }
      #header nav .btn_rsv {
        margin: 2.5rem auto 0;
        text-align: center; }
        #header nav .btn_rsv a {
          width: 29.5rem;
          height: 6rem;
          font-size: 2rem; }
    #header.navOpen .menu-trigger {
      background: #282828; }
      #header.navOpen .menu-trigger span {
        background-color: #fff; }
        #header.navOpen .menu-trigger span:nth-of-type(1) {
          top: 50%;
          transform: translate(-50%, 50%) rotate(-45deg); }
        #header.navOpen .menu-trigger span:nth-of-type(2) {
          opacity: 0; }
        #header.navOpen .menu-trigger span:nth-of-type(3) {
          bottom: 50%;
          transform: translate(-50%, 50%) rotate(45deg); }
    #header.navOpen nav {
      opacity: 1;
      transform: translateY(0);
      transition: transform .3s, opacity 0s; } }
/* ------------------------------
    footer
------------------------------ */
#footer {
  position: relative;
  background: #282828;
  border-bottom: 1px solid #282828;
  padding: 3rem 0; }
  #footer .copy {
    font-size: 1.2rem;
    color: #a1a1a1;
    text-align: center; }

@media screen and (max-width: 767px) {
  #footer {
    padding: 2rem 0; } }
/* ------------------------------
    main
------------------------------ */
/* common */
.btn_shadow a, .btn_shadow span {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #77ae2b;
  box-shadow: 0px 6px 12px 0px rgba(84, 124, 29, 0.3);
  color: #fff;
  line-height: 1.2;
  font-weight: 500;
  text-align: center; }
.btn_shadow.btn_web a, .btn_shadow.btn_web span, .btn_shadow.btn_ind a, .btn_shadow.btn_ind span, .btn_shadow.btn_more a, .btn_shadow.btn_more span {
  width: 44rem;
  height: 8rem;
  border-radius: .5rem;
  font-weight: 700;
  font-size: 2.8rem;
  font-feature-settings: normal; }
  .btn_shadow.btn_web a::before, .btn_shadow.btn_web span::before, .btn_shadow.btn_ind a::before, .btn_shadow.btn_ind span::before, .btn_shadow.btn_more a::before, .btn_shadow.btn_more span::before {
    position: absolute;
    content: "";
    top: 50%;
    transform: translateY(-50%);
    left: 4rem; }
.btn_shadow.btn_web a, .btn_shadow.btn_web span {
  background: #77ae2b; }
  .btn_shadow.btn_web a::before, .btn_shadow.btn_web span::before {
    background: url("../img/ico_btn_web.svg") no-repeat center center/cover;
    width: 3.2rem;
    height: 2.7rem; }
.btn_shadow.btn_ind a, .btn_shadow.btn_ind span {
  background: #fff;
  color: #77ae2b; }
  .btn_shadow.btn_ind a::before, .btn_shadow.btn_ind span::before {
    background: url("../img/ico_btn_ind.svg") no-repeat center center/cover;
    width: 3.4rem;
    height: 3.1rem; }
.btn_shadow.btn_more span {
  background: #77ae2b; }
  .btn_shadow.btn_more span::after {
    position: absolute;
    content: "";
    width: 1.5rem;
    height: 1.5rem;
    border-top: solid 0.3rem #fff;
    border-right: solid 0.3rem #fff;
    right: 3rem;
    top: 50%;
    transform: translateY(-50%) rotate(135deg);
    transition: .3s; }

@media screen and (max-width: 767px) {
  .btn_shadow.btn_web a, .btn_shadow.btn_web span, .btn_shadow.btn_ind a, .btn_shadow.btn_ind span, .btn_shadow.btn_more a, .btn_shadow.btn_more span {
    width: 100%;
    height: auto;
    padding: 2.5rem 0;
    font-size: 2.1rem; }
    .btn_shadow.btn_web a::before, .btn_shadow.btn_web span::before, .btn_shadow.btn_ind a::before, .btn_shadow.btn_ind span::before, .btn_shadow.btn_more a::before, .btn_shadow.btn_more span::before {
      left: 4rem; }
    .btn_shadow.btn_web a:hover, .btn_shadow.btn_web span:hover, .btn_shadow.btn_ind a:hover, .btn_shadow.btn_ind span:hover, .btn_shadow.btn_more a:hover, .btn_shadow.btn_more span:hover {
      opacity: 1; } }
.ttl_sec {
  font-weight: 700;
  text-align: center;
  position: relative;
  letter-spacing: .1em; }

.arrow_green {
  display: inline-block;
  width: 31.9rem;
  height: 7rem; }
  .arrow_green::before, .arrow_green::after {
    position: absolute;
    content: "";
    width: 16rem;
    height: 7rem; }
  .arrow_green::before {
    background: #358165;
    clip-path: polygon(0 0, 100% 100%, 100% 0);
    left: 0; }
  .arrow_green::after {
    background: #02623f;
    clip-path: polygon(0 0, 0 100%, 100% 0);
    right: 0; }

@media screen and (max-width: 767px) {
  .arrow_green {
    width: 19.14rem;
    height: 4.2rem; }
    .arrow_green::before, .arrow_green::after {
      width: 9.6rem;
      height: 4.2rem; } }
.catch_foot .dots {
  display: inline-block;
  position: relative; }
  .catch_foot .dots::before {
    position: absolute;
    content: "";
    background: #77ae2b;
    border-radius: 50%;
    width: .6rem;
    height: .6rem;
    top: .5rem;
    left: 50%;
    transform: translateX(-50%); }

@media screen and (max-width: 767px) {
  .catch_foot .dots::before {
    width: .5rem;
    height: .5rem;
    top: 0rem; } }
/* sec_mv */
#sec_mv {
  padding-top: 9.5rem;
  padding-bottom: 4.3rem;
  position: relative;
  /*
	.ttl {
    position: relative;
    z-index: 10;
    margin-bottom: 1rem;
		img {
			width: 73.6rem;
		}
	}
  */ }
  #sec_mv .mv_txt {
    position: relative;
    margin-top: -1rem;
    z-index: 2; }
    #sec_mv .mv_txt .subtxt {
      font-size: 2.4rem;
      line-height: 2;
      letter-spacing: .025em;
      font-weight: 700; }
    #sec_mv .mv_txt .ribbon {
      position: relative;
      height: 4.5rem;
      display: inline-flex;
      align-items: center;
      background: #282828;
      padding: 0 1.5rem; }
      #sec_mv .mv_txt .ribbon::before {
        position: absolute;
        content: "";
        background: #282828;
        clip-path: polygon(0 0, 0% 100%, 65% 0);
        height: 4.5rem;
        width: 2.8rem;
        right: -2.75rem;
        top: 0; }
      #sec_mv .mv_txt .ribbon span {
        line-height: 0;
        color: #fff; }
    #sec_mv .mv_txt .ttl {
      margin-top: 1.2rem;
      margin-bottom: 2rem; }
      #sec_mv .mv_txt .ttl .txt1,
      #sec_mv .mv_txt .ttl .txt2,
      #sec_mv .mv_txt .ttl .txt3 {
        font-weight: 800;
        display: inline-block;
        letter-spacing: -.025em;
        text-shadow: 3px 3px 0 #FFF, -3px -3px 0 #FFF, -3px 3px 0 #FFF, 3px -3px 0 #FFF, 0px 3px 0 #FFF,  0 -3px 0 #FFF, -3px 0 0 #FFF, 3px 0 0 #FFF; }
      #sec_mv .mv_txt .ttl .txt1 {
        font-size: 3.6rem;
        line-height: 1.3333333333; }
      #sec_mv .mv_txt .ttl .txt2 {
        font-size: 6.4rem;
        line-height: 1.25;
        margin: .5rem 0 .8rem; }
        #sec_mv .mv_txt .ttl .txt2 .sm {
          font-size: 5.4rem; }
      #sec_mv .mv_txt .ttl .txt3 {
        font-size: 8rem;
        line-height: 1; }
        #sec_mv .mv_txt .ttl .txt3 .sm {
          font-size: 6.6rem; }
  #sec_mv .txt {
    position: relative;
    z-index: 10;
    font-size: 2rem;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: .05em; }
  #sec_mv .bg {
    position: absolute;
    right: 0;
    top: 0; }
    #sec_mv .bg img {
      object-fit: cover;
      width: 100%;
      height: 53rem; }

@media screen and (max-width: 767px) {
  #sec_mv {
    padding: 5.5vw 0.5rem 15vw; }
    #sec_mv .mv_txt {
      margin-top: 0;
      margin-bottom: 30vw; }
      #sec_mv .mv_txt .subtxt {
        font-size: 1.4rem; }
      #sec_mv .mv_txt .ribbon {
        font-size: 1.2rem;
        height: 2.7rem;
        padding: 0 .5rem; }
        #sec_mv .mv_txt .ribbon::before {
          height: 2.7rem;
          width: 1.2rem;
          right: -1.18rem; }
        #sec_mv .mv_txt .ribbon span {
          line-height: 1.2; }
        #sec_mv .mv_txt .ribbon .color_emgreen {
          font-size: 1.4rem; }
      #sec_mv .mv_txt .ttl {
        margin-top: 1.2rem;
        margin-bottom: 0; }
        #sec_mv .mv_txt .ttl .txt1,
        #sec_mv .mv_txt .ttl .txt2,
        #sec_mv .mv_txt .ttl .txt3 {
          text-shadow: 2px 2px 0 #FFF, -2px -2px 0 #FFF, -2px 2px 0 #FFF, 2px -2px 0 #FFF, 0px 2px 0 #FFF,  0 -2px 0 #FFF, -2px 0 0 #FFF, 2px 0 0 #FFF; }
        #sec_mv .mv_txt .ttl .txt1 {
          font-size: 1.8rem; }
        #sec_mv .mv_txt .ttl .txt2 {
          font-size: 2.8rem;
          margin: .6rem 0 .6rem; }
          #sec_mv .mv_txt .ttl .txt2 .sm {
            font-size: 2.4rem; }
        #sec_mv .mv_txt .ttl .txt3 {
          font-size: 4rem; }
          #sec_mv .mv_txt .ttl .txt3 .sm {
            font-size: 3.3rem; }
    #sec_mv .txt {
      font-size: 1.5rem;
      line-height: 1.6; }
    #sec_mv .bg {
      position: absolute;
      left: 0;
      top: 26vw; }
      #sec_mv .bg img {
        height: 100%; } }
/* sec_01 */
#sec_01 {
  background: #f8f8f8; }
  #sec_01 .ttl_sec_wrap {
    background: #fff;
    padding: 3rem 0 0;
    position: relative; }
    #sec_01 .ttl_sec_wrap::before {
      position: absolute;
      content: "";
      background-color: #fff;
      height: 6rem;
      width: 100%;
      clip-path: polygon(0 0, 50% 100%, 100% 0);
      bottom: -6rem;
      left: 0; }
  #sec_01 .ttl_sec .txt {
    font-size: 4.2rem;
    display: inline-block;
    line-height: 1.3846153846;
    font-weight: 800; }
  #sec_01 .ttl_sec .gl_lg {
    color: #02623f;
    font-size: 5.2rem; }
  #sec_01 .inner {
    padding: 11rem 0 6rem; }
  #sec_01 .catch {
    font-size: 2rem;
    line-height: 2;
    letter-spacing: .1em;
    text-align: center;
    margin-bottom: 8.5rem; }
  #sec_01 .case_wrap {
    position: relative;
    background: #fff;
    border-radius: 0.5rem;
    padding: 4rem 0 3rem; }
    #sec_01 .case_wrap + .case_wrap {
      margin-top: 5.2rem; }
    #sec_01 .case_wrap .ttl {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      align-items: center;
      justify-content: center; }
      #sec_01 .case_wrap .ttl span {
        color: #fff;
        font-weight: 700;
        font-feature-settings: normal; }
    #sec_01 .case_wrap.gates .ttl {
      top: -2.5rem;
      background: #282828;
      width: 36rem;
      height: 5rem; }
      #sec_01 .case_wrap.gates .ttl span {
        font-size: 2.8rem; }
    #sec_01 .case_wrap.other .ttl {
      top: -2.25rem;
      background: #969696;
      width: 22rem;
      height: 4.5rem; }
      #sec_01 .case_wrap.other .ttl span {
        font-size: 2rem; }

@media screen and (max-width: 767px) {
  #sec_01 .ttl_sec_wrap {
    padding: 2.5rem 0 1rem; }
    #sec_01 .ttl_sec_wrap::before {
      height: 3rem;
      bottom: -3rem; }
  #sec_01 .ttl_sec .txt {
    font-size: 2rem; }
  #sec_01 .ttl_sec .gl_lg {
    font-size: 2.8rem; }
  #sec_01 .inner {
    padding: 6rem 0 2rem; }
  #sec_01 .catch {
    font-size: 1.4rem;
    text-align: left;
    line-height: 1.7142857143;
    letter-spacing: normal;
    font-feature-settings: normal;
    margin-bottom: 4rem; }
  #sec_01 .case_wrap {
    width: calc(100% + 1.5rem);
    margin-left: -0.75rem;
    margin-right: -0.75rem; }
    #sec_01 .case_wrap + .case_wrap {
      margin-top: 3rem; }
    #sec_01 .case_wrap.gates {
      padding: 4.3rem 0 2rem; }
      #sec_01 .case_wrap.gates .ttl {
        top: -2rem;
        width: 26.5rem;
        height: 3.8rem; }
        #sec_01 .case_wrap.gates .ttl span {
          font-size: 2.2rem; }
    #sec_01 .case_wrap.other {
      padding: 4.8rem 0 3rem; }
      #sec_01 .case_wrap.other .ttl {
        top: -1.75rem;
        width: 14.5rem;
        height: 3rem; }
        #sec_01 .case_wrap.other .ttl span {
          font-size: 1.8rem; } }
/* sec_02 */
#sec_02 {
  background: #235342;
  position: relative;
  padding: 5.5rem 0 6.5rem; }
  #sec_02::before {
    position: absolute;
    content: "";
    background-image: url("../img/bg_sec02_pc.jpg");
    background-blend-mode: lighten;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 15%; }
  #sec_02 .ttl_sec .txt1,
  #sec_02 .ttl_sec .txt2 {
    color: #fff;
    font-feature-settings: normal;
    display: inline-block;
    line-height: 1.7;
    font-weight: 800; }
  #sec_02 .ttl_sec .txt1 {
    font-size: 3.6rem; }
    #sec_02 .ttl_sec .txt1 .en {
      font-size: 4.2rem; }
  #sec_02 .ttl_sec .txt2 {
    font-size: 5.6rem; }
  #sec_02 .ttl_sec .dots {
    display: inline-block;
    position: relative; }
    #sec_02 .ttl_sec .dots::before {
      position: absolute;
      content: "";
      background: #fff;
      border-radius: 50%;
      width: 1rem;
      height: 1rem;
      top: 0;
      left: 50%;
      transform: translateX(-50%); }
  #sec_02 .inner {
    position: relative;
    width: 100%;
    background: #fff;
    border-radius: 0.5rem;
    padding: 5.5rem 6rem 5rem;
    margin-top: 1.5rem; }
    #sec_02 .inner .deco {
      position: absolute;
      right: 4rem;
      top: -1.6rem;
      width: 29.7rem; }
  #sec_02 .rec_list li {
    position: relative;
    font-size: 2rem;
    line-height: 2.4;
    font-weight: 700;
    letter-spacing: .05em;
    padding-left: 1.9em; }
    #sec_02 .rec_list li::before, #sec_02 .rec_list li::after {
      position: absolute;
      content: ""; }
    #sec_02 .rec_list li::before {
      background: url("../img/ico_list_check_green.svg") no-repeat center center/contain;
      width: 2.1rem;
      height: 1.7rem;
      left: .1em;
      top: .8em; }
    #sec_02 .rec_list li::after {
      border: 1px solid #02623f;
      border-radius: 0.3rem;
      width: 2.4rem;
      height: 2.4rem;
      left: 0;
      top: .6em; }

@media screen and (max-width: 767px) {
  #sec_02 {
    padding: 3rem 0 2.5rem; }
    #sec_02::before {
      background-image: url("../img/bg_sec02_sp.jpg"); }
    #sec_02 .ttl_sec {
      text-align: left;
      letter-spacing: normal;
      padding-left: .5rem; }
      #sec_02 .ttl_sec .txt1 {
        font-size: 1.8rem;
        line-height: 1.5;
        font-weight: 700; }
        #sec_02 .ttl_sec .txt1 .en {
          font-size: 2rem; }
      #sec_02 .ttl_sec .txt2 {
        font-size: 2.8rem;
        font-weight: 700;
        line-height: 1.5; }
      #sec_02 .ttl_sec .sp_lg {
        font-size: 4rem; }
      #sec_02 .ttl_sec .dots::before {
        width: 0.5rem;
        height: 0.5rem;
        top: .05em; }
    #sec_02 .inner {
      padding: 2.4rem 1.5rem 2rem;
      margin-top: 1rem; }
      #sec_02 .inner .deco {
        right: 1rem;
        top: -11rem;
        width: 15rem; }
    #sec_02 .rec_list li {
      font-size: 1.6rem;
      padding-left: 1.6em;
      line-height: 1.5; }
      #sec_02 .rec_list li + li {
        margin-top: 1.4rem; }
      #sec_02 .rec_list li::before {
        width: 1.68rem;
        height: 1.36rem;
        left: .26em;
        top: .35em; }
      #sec_02 .rec_list li::after {
        width: 2.1rem;
        height: 2.1rem;
        top: .15em; } }
/* sec_03 */
#sec_03 {
  background: #e2e9e6;
  padding: 7.5rem 0; }
  #sec_03 .ttl_sec {
    margin-bottom: 3.5rem; }
    #sec_03 .ttl_sec .slash {
      display: inline-block;
      position: relative;
      font-size: 6rem;
      color: #000;
      line-height: 1.2;
      letter-spacing: normal; }
      #sec_03 .ttl_sec .slash::before, #sec_03 .ttl_sec .slash::after {
        content: '';
        position: absolute;
        bottom: -2rem;
        width: 3px;
        height: 140%;
        background: #282828;
        transform: rotate(-30deg); }
      #sec_03 .ttl_sec .slash::before {
        left: -5rem; }
      #sec_03 .ttl_sec .slash::after {
        right: -4rem;
        transform: rotate(30deg); }
  #sec_03 .catch {
    font-size: 2.4rem;
    line-height: 1.6666666667;
    text-align: center;
    margin-bottom: 4.2rem;
    font-feature-settings: normal; }
  #sec_03 .item_box {
    position: relative;
    width: 100%;
    background: #fff;
    border: 3px solid #c9cdcb;
    padding: 3rem 4.3rem 4.2rem 4.3rem;
    display: grid;
    grid-template-columns: 31rem auto;
    grid-template-rows: auto auto;
    gap: 0 4.8rem;
    grid-template-areas: "img ttl" "img txt"; }
    #sec_03 .item_box .img {
      position: relative;
      grid-area: img;
      padding-top: 3rem; }
    #sec_03 .item_box .ttl_wrap {
      position: relative;
      grid-area: ttl;
      border-bottom: 3px solid #c9cdcb;
      margin-bottom: 2rem; }
      #sec_03 .item_box .ttl_wrap .ttl,
      #sec_03 .item_box .ttl_wrap .txt {
        font-weight: 700;
        font-feature-settings: normal; }
      #sec_03 .item_box .ttl_wrap .ttl {
        color: #02623f;
        font-size: 2.8rem;
        line-height: 2.1428571429; }
      #sec_03 .item_box .ttl_wrap .name {
        color: #000;
        font-size: 1.6rem;
        line-height: 1.75;
        font-weight: 700; }
    #sec_03 .item_box .txt_wrap {
      grid-area: txt;
      min-height: 20rem; }
      #sec_03 .item_box .txt_wrap p {
        font-size: 1.6rem;
        line-height: 1.75;
        font-feature-settings: normal; }
    #sec_03 .item_box::before {
      position: absolute;
      content: "";
      background-color: #fff3ba;
      height: 22rem;
      width: 22rem;
      clip-path: polygon(0 0, 0% 100%, 100% 0);
      top: 0;
      left: 0; }
    #sec_03 .item_box.reverse {
      grid-template-columns: auto 31rem;
      grid-template-areas: "ttl img" "txt img"; }
      #sec_03 .item_box.reverse::before {
        clip-path: polygon(0 0, 100% 100%, 100% 0);
        left: auto;
        right: 0; }
    #sec_03 .item_box + .item_box {
      margin-top: 2.5rem; }
  #sec_03 .catch_foot {
    margin-top: 3.8rem; }
    #sec_03 .catch_foot .txt1,
    #sec_03 .catch_foot .txt2 {
      color: #000;
      font-feature-settings: normal;
      font-weight: 700;
      text-align: center; }
    #sec_03 .catch_foot .txt1 {
      font-size: 2.8rem;
      line-height: 1.7142857143; }
    #sec_03 .catch_foot .txt2 {
      font-size: 3.8rem;
      line-height: 1.3571428571; }
    #sec_03 .catch_foot .marker {
      display: inline-block;
      background: linear-gradient(transparent 68%, #fff3ba 68%, #fff3ba 100%, transparent 100%);
      padding-bottom: .5rem; }
  #sec_03 .item_more_wrap {
    margin-top: 4rem;
    margin-bottom: 8rem; }
  #sec_03 .item_hide {
    display: none; }
  #sec_03 .js-morebtn {
    text-align: center;
    cursor: pointer;
    margin-bottom: 4rem; }
    #sec_03 .js-morebtn.is-open span::after {
      transform: translateY(-50%) rotate(-45deg); }

@media screen and (max-width: 767px) {
  #sec_03 {
    padding: 3rem 0 6rem; }
    #sec_03 .ttl_sec {
      margin-bottom: 3rem; }
      #sec_03 .ttl_sec .slash {
        font-size: 2.2rem;
        line-height: 1.5; }
        #sec_03 .ttl_sec .slash::before, #sec_03 .ttl_sec .slash::after {
          width: 2px; }
        #sec_03 .ttl_sec .slash::before {
          left: -1rem; }
        #sec_03 .ttl_sec .slash::after {
          right: -1rem; }
    #sec_03 .catch {
      font-size: 1.6rem;
      margin-bottom: 2rem; }
    #sec_03 .item_box {
      padding: 2rem 1.5rem 2rem;
      grid-template-columns: auto;
      grid-template-rows: auto auto auto;
      gap: 2rem 0;
      grid-template-areas: "ttl" "img" "txt"; }
      #sec_03 .item_box .img {
        padding-top: 0;
        text-align: center; }
        #sec_03 .item_box .img img {
          max-width: 68%; }
      #sec_03 .item_box .ttl_wrap {
        padding-bottom: 1.5rem;
        margin-bottom: 0; }
        #sec_03 .item_box .ttl_wrap .ttl {
          font-size: 1.8rem;
          line-height: 1.5; }
      #sec_03 .item_box .txt_wrap {
        min-height: inherit; }
        #sec_03 .item_box .txt_wrap p {
          font-size: 1.4rem;
          line-height: 1.7142857143; }
      #sec_03 .item_box::before {
        height: 12.5rem;
        width: 12.5rem; }
      #sec_03 .item_box.reverse {
        grid-template-columns: auto;
        grid-template-areas: "ttl" "img" "txt"; }
      #sec_03 .item_box + .item_box {
        margin-top: 2rem; }
    #sec_03 .catch_foot {
      margin-top: 2rem; }
      #sec_03 .catch_foot .txt1 {
        font-size: 1.8rem;
        line-height: 1.5; }
      #sec_03 .catch_foot .txt2 {
        font-size: 2.2rem;
        margin-top: 1rem; }
      #sec_03 .catch_foot .marker {
        background: linear-gradient(transparent 80%, #fff3ba 80%, #fff3ba 100%, transparent 100%); } }
/* sec_04 */
#sec_04 {
  background: #f8f8f8;
  padding-bottom: 9rem; }
  #sec_04 .ttl_sec_wrap {
    background: #02623f;
    width: 100%;
    height: 18rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4.5rem; }
  #sec_04 .ttl_sec {
    position: relative;
    color: #fff;
    font-size: 4.8rem;
    font-weight: 700;
    letter-spacing: normal;
    font-feature-settings: normal;
    line-height: 1.35; }
    #sec_04 .ttl_sec span {
      display: inline-block;
      position: relative; }
      #sec_04 .ttl_sec span::before {
        position: absolute;
        content: "";
        background: url("../img/img_sec04_fuki.png") no-repeat center center/contain;
        width: 13.3rem;
        height: 8.5rem;
        left: -14rem;
        top: -4.2rem; }
  #sec_04 .catch_wrap .txt1,
  #sec_04 .catch_wrap .txt2,
  #sec_04 .catch_wrap .txt3 {
    font-weight: 700;
    font-feature-settings: normal;
    color: #000;
    text-align: center; }
  #sec_04 .catch_wrap .txt1 {
    font-size: 3rem;
    line-height: 1.7333333333; }
  #sec_04 .catch_wrap .txt2 {
    font-size: 3rem;
    line-height: 1.7142857143; }
  #sec_04 .catch_wrap .txt3 {
    font-size: 3.6rem;
    line-height: 1.3333333333;
    margin-top: 1rem; }
  #sec_04 .catch_wrap .bl_line_lg {
    border-bottom: 3px solid #000;
    font-size: 3.6rem;
    font-feature-settings: "palt"; }
  #sec_04 .catch_wrap .red_line {
    color: #d90000;
    border-bottom: 2px solid #d90000; }
  #sec_04 .catch_wrap .skew {
    display: inline-block;
    transform: skew(-10deg); }
  #sec_04 .item_box {
    width: 100%;
    background: #fff;
    padding: 4rem 0 7rem;
    box-shadow: 0px 5px 20px 0px rgba(25, 55, 55, 0.15);
    margin-top: 5.5rem;
    margin-bottom: 3.5rem; }
    #sec_04 .item_box .img.img01 {
      padding: .4rem 0 5rem; }
    #sec_04 .item_box .img.img02 {
      padding: 0 0 4.8rem; }
    #sec_04 .item_box .img.img03 {
      position: relative;
      text-align: center; }
      #sec_04 .item_box .img.img03 img {
        display: inline-block;
        position: relative; }
      #sec_04 .item_box .img.img03 .deco {
        width: 35.8rem;
        display: inline-block;
        position: absolute;
        right: -4.3rem;
        top: 0; }
  #sec_04 .ttl.ribbon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
    width: 100%;
    max-width: calc(90rem - 3rem);
    margin: 0 auto 3rem; }
    #sec_04 .ttl.ribbon span {
      display: inline-block;
      font-size: 3rem;
      color: #fff;
      font-weight: 700; }
    #sec_04 .ttl.ribbon::before, #sec_04 .ttl.ribbon::after {
      position: absolute;
      top: 0;
      width: 0;
      height: 0;
      border-style: solid;
      content: ''; }
    #sec_04 .ttl.ribbon::before {
      left: -15px;
      border-width: 30px 0px 30px 15px; }
    #sec_04 .ttl.ribbon::after {
      right: -15px;
      border-width: 30px 15px 30px 0px; }
    #sec_04 .ttl.ribbon.gates {
      background: #000; }
      #sec_04 .ttl.ribbon.gates::before, #sec_04 .ttl.ribbon.gates::after {
        border-color: #000 transparent; }
    #sec_04 .ttl.ribbon.other {
      background: #969696; }
      #sec_04 .ttl.ribbon.other::before, #sec_04 .ttl.ribbon.other::after {
        border-color: #969696 transparent; }
  #sec_04 .item_green_box {
    background: #02623f;
    padding: 3.5rem 3rem 2.5rem;
    margin-top: 5.5rem; }
    #sec_04 .item_green_box_ttl .txt1,
    #sec_04 .item_green_box_ttl .txt2 {
      color: #fff;
      text-align: center; }
    #sec_04 .item_green_box_ttl .txt1 {
      font-size: 3.2rem;
      line-height: 1.5;
      font-weight: 700; }
    #sec_04 .item_green_box_ttl .txt2 {
      font-size: 2.4rem;
      line-height: 2; }
    #sec_04 .item_green_box .inner {
      background: #fff;
      padding: 3.5rem 0rem 4.5rem;
      margin-top: 2rem; }
    #sec_04 .item_green_box .subttl {
      text-align: center;
      margin-bottom: 4rem; }
      #sec_04 .item_green_box .subttl .slash {
        display: inline-block;
        position: relative;
        font-size: 4.8rem;
        color: #000;
        font-weight: 700;
        line-height: 1.6666666667;
        letter-spacing: normal; }
        #sec_04 .item_green_box .subttl .slash::before, #sec_04 .item_green_box .subttl .slash::after {
          content: '';
          position: absolute;
          bottom: 0;
          width: 2px;
          height: 90%;
          background: #282828;
          transform: rotate(-30deg); }
        #sec_04 .item_green_box .subttl .slash::before {
          left: -3.5rem; }
        #sec_04 .item_green_box .subttl .slash::after {
          right: -3.5rem;
          transform: rotate(30deg); }
  #sec_04 .select_list {
    display: flex;
    gap: 2rem 2rem;
    justify-content: center;
    flex-wrap: wrap;
    width: 80%;
    margin: 0 auto; }
    #sec_04 .select_list li .select_item {
      position: relative;
      width: 15.5rem;
      height: 15.5rem;
      background: #e2e9e6;
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center; }
      #sec_04 .select_list li .select_item::before {
        position: absolute;
        content: "";
        background: url("../img/ico_check_lg.png") no-repeat center center/contain;
        width: 5.3rem;
        height: 4.9rem;
        top: -.5rem;
        left: 55%;
        transform: translateX(-55%); }
      #sec_04 .select_list li .select_item.spacer {
        display: none;
        visibility: hidden; }
    #sec_04 .select_list li .txt {
      color: #000;
      font-size: 2.4rem;
      line-height: 1.25;
      font-weight: 700;
      text-align: center;
      padding-top: 1.5rem; }
      #sec_04 .select_list li .txt.sm {
        font-size: 2rem;
        line-height: 1.4; }
      #sec_04 .select_list li .txt.pt {
        padding-top: 2.4rem; }
  #sec_04 .catch_foot {
    margin-top: 4rem; }
    #sec_04 .catch_foot .txt {
      font-feature-settings: normal;
      font-weight: 700;
      text-align: center;
      font-size: 3.4rem;
      line-height: 1.8823529412; }
    #sec_04 .catch_foot .marker {
      background: linear-gradient(transparent 62%, #fff3ba 62%, #fff3ba 96%, transparent 96%); }

/*
@-moz-document url-prefix(){
  #sec_04 .ttl.ribbon::before {
    left: -14px;
  }
  #sec_04 .ttl.ribbon::after {
    right: -14px;
  }
}
@supports (not (-webkit-hyphens: none)) and (not (-moz-appearance: none)) {
  #sec_04 .ttl.ribbon::before {
    left: -14px;
  }
  #sec_04 .ttl.ribbon::after {
    right: -14px;
  }
}
*/
@media screen and (max-width: 767px) {
  #sec_04 {
    padding-bottom: 8rem; }
    #sec_04 .ttl_sec_wrap {
      height: auto;
      margin-bottom: 2rem;
      padding: 1.5rem 0; }
    #sec_04 .ttl_sec {
      font-size: 2.8rem;
      line-height: 1.5; }
      #sec_04 .ttl_sec span::before {
        width: 8.9775rem;
        height: 5.7375rem;
        left: -5rem;
        top: -3.2rem; }
    #sec_04 .catch_wrap .txt1 {
      font-size: 1.8rem;
      line-height: 1.5; }
    #sec_04 .catch_wrap .txt2 {
      font-size: 1.8rem;
      line-height: 1.5; }
    #sec_04 .catch_wrap .txt3 {
      font-size: 2.2rem;
      line-height: 1.5;
      margin-top: 0; }
    #sec_04 .catch_wrap .bl_line_lg {
      font-size: 2.2rem; }
    #sec_04 .item_box {
      width: 100%;
      background: #fff;
      padding: 1.5rem 0 3rem;
      margin-top: 2rem;
      margin-bottom: 2rem; }
      #sec_04 .item_box .img.img01 {
        padding: 0 0 3rem; }
      #sec_04 .item_box .img.img02 {
        padding: 0 0 4.5rem; }
      #sec_04 .item_box .img.img03 {
        margin-left: -1rem; }
        #sec_04 .item_box .img.img03 .deco {
          width: 12rem;
          right: -1.4rem;
          top: 2rem; }
    #sec_04 .ttl.ribbon {
      height: 3.6rem;
      max-width: calc(100% - 4rem);
      margin-bottom: 2rem; }
      #sec_04 .ttl.ribbon::before {
        left: -0.8rem;
        border-width: 1.8rem 0px 1.8rem 0.8rem; }
      #sec_04 .ttl.ribbon::after {
        right: -0.8rem;
        border-width: 1.8rem 0.8rem 1.8rem 0px; }
      #sec_04 .ttl.ribbon.gates {
        background: #000; }
        #sec_04 .ttl.ribbon.gates::before, #sec_04 .ttl.ribbon.gates::after {
          border-color: #000 transparent; }
        #sec_04 .ttl.ribbon.gates span {
          font-size: 2rem; }
      #sec_04 .ttl.ribbon.other {
        background: #969696; }
        #sec_04 .ttl.ribbon.other::before, #sec_04 .ttl.ribbon.other::after {
          border-color: #969696 transparent; }
        #sec_04 .ttl.ribbon.other span {
          font-size: 1.8rem; }
    #sec_04 .item_green_box {
      padding: 2rem 1.5rem 2rem;
      margin-top: 2.5rem; }
      #sec_04 .item_green_box_ttl .txt1 {
        font-size: 2.2rem; }
      #sec_04 .item_green_box_ttl .txt2 {
        font-size: 1.6rem;
        line-height: 1.5;
        margin-top: 1rem; }
      #sec_04 .item_green_box .inner {
        padding: 2rem 0rem 2.5rem;
        margin-top: 2rem; }
      #sec_04 .item_green_box .subttl {
        margin-bottom: 3rem; }
        #sec_04 .item_green_box .subttl .slash {
          font-size: 2.4rem;
          line-height: 1.4; }
          #sec_04 .item_green_box .subttl .slash::before {
            left: -1.5rem; }
          #sec_04 .item_green_box .subttl .slash::after {
            right: -1.5rem; }
    #sec_04 .select_list {
      gap: 0 2rem;
      width: 100%; }
      #sec_04 .select_list li:nth-child(3n) {
        flex-basis: 100%;
        display: flex;
        justify-content: center;
        align-items: center; }
      #sec_04 .select_list li .select_item {
        width: 12.5rem;
        height: 12.5rem; }
        #sec_04 .select_list li .select_item::before {
          width: 3.18rem;
          height: 2.94rem;
          top: -.5rem; }
      #sec_04 .select_list li .txt {
        font-size: 1.8rem;
        padding-top: 0; }
        #sec_04 .select_list li .txt.sm {
          font-size: 1.6rem; }
        #sec_04 .select_list li .txt.pt {
          padding-top: 1rem; }
    #sec_04 .catch_foot {
      margin-top: 2rem; }
      #sec_04 .catch_foot .txt {
        font-size: 2.2rem;
        line-height: 1.5; }
      #sec_04 .catch_foot .marker {
        background: linear-gradient(transparent 70%, #fff3ba 70%, #fff3ba 100%, transparent 100%); } }
/* sec_05 */
#sec_05 {
  background: #fff;
  padding: 6rem 0 7.5rem;
  overflow: hidden; }
  #sec_05 .ttl_sec {
    margin-bottom: 9.5rem; }
    #sec_05 .ttl_sec .txt1,
    #sec_05 .ttl_sec .txt2 {
      font-weight: 700;
      text-align: center;
      display: inline-block; }
    #sec_05 .ttl_sec .txt1 {
      font-size: 4.8rem;
      line-height: 1.25; }
    #sec_05 .ttl_sec .txt2 {
      font-size: 8.6rem;
      line-height: 1.1; }
      #sec_05 .ttl_sec .txt2 .num {
        color: #77ae2b;
        font-size: 12rem;
        font-family: 'Oswald', sans-serif;
        margin-right: .6rem; }
  #sec_05 .item_box {
    position: relative;
    width: 100%;
    display: grid;
    grid-template-columns: auto 45rem;
    grid-template-rows: auto auto;
    gap: 0 7rem;
    grid-template-areas: "ttl img" "txt img"; }
    #sec_05 .item_box .img {
      position: relative;
      grid-area: img; }
    #sec_05 .item_box .ttl_wrap {
      position: relative;
      grid-area: ttl;
      border-bottom: 2px solid #c9cdcb;
      margin-bottom: 2rem;
      display: flex;
      align-items: center; }
      #sec_05 .item_box .ttl_wrap .reason {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding-right: 1rem; }
        #sec_05 .item_box .ttl_wrap .reason .num,
        #sec_05 .item_box .ttl_wrap .reason .subtxt {
          font-family: 'Oswald', sans-serif;
          color: #02623f;
          font-weight: 700;
          line-height: 1; }
        #sec_05 .item_box .ttl_wrap .reason .num {
          font-size: 7.2rem;
          margin-bottom: .8rem; }
        #sec_05 .item_box .ttl_wrap .reason .subtxt {
          font-size: 1.8rem; }
      #sec_05 .item_box .ttl_wrap .ttl,
      #sec_05 .item_box .ttl_wrap .txt {
        font-weight: 700;
        font-feature-settings: normal; }
      #sec_05 .item_box .ttl_wrap .ttl {
        font-size: 3.6rem;
        line-height: 1.3888888889;
        flex: 1;
        display: flex; }
        #sec_05 .item_box .ttl_wrap .ttl.row {
          align-items: flex-end; }
        #sec_05 .item_box .ttl_wrap .ttl.clm {
          flex-direction: column; }
        #sec_05 .item_box .ttl_wrap .ttl_item {
          display: block; }
          #sec_05 .item_box .ttl_wrap .ttl_item span {
            display: inline-block; }
        #sec_05 .item_box .ttl_wrap .ttl .lh {
          line-height: .7; }
        #sec_05 .item_box .ttl_wrap .ttl .lg {
          font-size: 6rem;
          bottom: -0.5rem;
          position: relative; }
        #sec_05 .item_box .ttl_wrap .ttl .md {
          font-size: 4.2rem; }
        #sec_05 .item_box .ttl_wrap .ttl .ft_oswald {
          font-weight: 500; }
          #sec_05 .item_box .ttl_wrap .ttl .ft_oswald.ml .lg {
            padding-left: .6rem; }
        #sec_05 .item_box .ttl_wrap .ttl .pb {
          padding-bottom: 1.8rem; }
        #sec_05 .item_box .ttl_wrap .ttl .pb2 {
          padding-bottom: 1.2rem; }
          #sec_05 .item_box .ttl_wrap .ttl .pb2 .lg {
            bottom: 0; }
        #sec_05 .item_box .ttl_wrap .ttl .notes {
          font-size: 1.1rem;
          color: #282828;
          margin-left: .5rem; }
    #sec_05 .item_box .txt_wrap {
      position: relative;
      grid-area: txt; }
      #sec_05 .item_box .txt_wrap p {
        font-size: 1.6rem;
        line-height: 1.875; }
    #sec_05 .item_box::before {
      position: absolute;
      content: "";
      background: #fffcec;
      top: -4rem;
      left: calc(50% - 50vw);
      width: calc(50vw + 20rem);
      height: calc(100% + 8rem); }
    #sec_05 .item_box.reverse {
      grid-template-columns: 45rem auto;
      grid-template-areas: "img ttl" "img txt"; }
      #sec_05 .item_box.reverse::before {
        background: #f8f8f8;
        right: calc(50% - 50vw);
        left: auto; }
    #sec_05 .item_box.num01 .ttl_wrap .reason {
      padding-right: 2.5rem; }
    #sec_05 .item_box.num02 {
      grid-template-columns: 43rem auto;
      gap: 0 6rem; }
      #sec_05 .item_box.num02 .ttl {
        font-feature-settings: "palt";
        letter-spacing: -.01em; }
    #sec_05 .item_box.num03 .ttl_wrap {
      padding-bottom: 2.2rem; }
    #sec_05 .item_box.num05 .ttl {
      letter-spacing: -.01em; }
    #sec_05 .item_box + .item_box {
      margin-top: 11rem; }
  #sec_05 .catch_foot {
    margin-top: 10rem; }
    #sec_05 .catch_foot .txt1,
    #sec_05 .catch_foot .txt2 {
      font-feature-settings: normal;
      font-weight: 700;
      text-align: center; }
    #sec_05 .catch_foot .txt1 {
      font-size: 3.4rem;
      line-height: 1.7647058824; }
    #sec_05 .catch_foot .txt2 {
      font-size: 2.4rem;
      line-height: 2.5; }
    #sec_05 .catch_foot .marker {
      background: linear-gradient(transparent 62%, #fff3ba 62%, #fff3ba 96%, transparent 96%); }

@media screen and (max-width: 767px) {
  #sec_05 {
    padding: 3rem 0 6rem; }
    #sec_05 .ttl_sec {
      margin-bottom: 5.5rem; }
      #sec_05 .ttl_sec .txt1 {
        font-size: 2.8rem; }
      #sec_05 .ttl_sec .txt2 {
        font-size: 4.8rem; }
        #sec_05 .ttl_sec .txt2 .num {
          font-size: 6.4rem;
          margin-right: .3rem; }
    #sec_05 .item_box {
      grid-template-columns: auto;
      grid-template-rows: auto auto auto;
      gap: 0 2rem;
      grid-template-areas: "ttl" "img" "txt"; }
      #sec_05 .item_box .img {
        margin-bottom: 2rem;
        text-align: center; }
      #sec_05 .item_box .ttl_wrap {
        margin-bottom: 2rem;
        padding-bottom: 2rem; }
        #sec_05 .item_box .ttl_wrap .reason {
          padding-right: 1rem !important; }
          #sec_05 .item_box .ttl_wrap .reason .num {
            font-size: 5rem;
            margin-bottom: .5rem; }
          #sec_05 .item_box .ttl_wrap .reason .subtxt {
            font-size: 1.6rem; }
        #sec_05 .item_box .ttl_wrap .ttl {
          font-size: 2.4rem; }
          #sec_05 .item_box .ttl_wrap .ttl.row {
            align-items: flex-end; }
          #sec_05 .item_box .ttl_wrap .ttl.clm {
            flex-direction: column; }
          #sec_05 .item_box .ttl_wrap .ttl_item {
            display: block; }
            #sec_05 .item_box .ttl_wrap .ttl_item span {
              display: inline-block; }
          #sec_05 .item_box .ttl_wrap .ttl .lh {
            line-height: .7; }
          #sec_05 .item_box .ttl_wrap .ttl .lg {
            font-size: 4rem; }
          #sec_05 .item_box .ttl_wrap .ttl .md {
            font-size: 2.8rem; }
          #sec_05 .item_box .ttl_wrap .ttl .ft_oswald.ml .lg {
            padding-left: .3rem; }
          #sec_05 .item_box .ttl_wrap .ttl .notes {
            font-size: 1rem; }
      #sec_05 .item_box .txt_wrap p {
        font-size: 1.4rem;
        line-height: 1.7142857143; }
      #sec_05 .item_box::before {
        top: -3rem;
        left: 50%;
        transform: translateX(-50%);
        height: calc(100% + 6rem); }
      #sec_05 .item_box.reverse {
        grid-template-columns: auto;
        grid-template-areas: "ttl" "img" "txt"; }
        #sec_05 .item_box.reverse::before {
          left: 50%;
          transform: translateX(-50%);
          right: auto; }
      #sec_05 .item_box.num02 {
        grid-template-columns: auto;
        gap: 0 6rem; }
      #sec_05 .item_box.num03 .ttl_wrap {
        padding-bottom: 1rem; }
      #sec_05 .item_box + .item_box {
        margin-top: 6rem; }
    #sec_05 .catch_foot {
      margin-top: 4rem; }
      #sec_05 .catch_foot .txt1 {
        font-size: 2.2rem;
        line-height: 1.5; }
      #sec_05 .catch_foot .txt2 {
        font-size: 1.6rem;
        line-height: 1.5;
        margin-top: 1rem; }
      #sec_05 .catch_foot .marker {
        background: linear-gradient(transparent 62%, #fff3ba 62%, #fff3ba 88%, transparent 88%); } }
/* sec_06 */
#sec_06 {
  background: #32635e;
  padding: 5rem 0 8.7rem; }
  #sec_06 .ttl_sec_wrap {
    margin: 0 auto;
    max-width: 50.5rem;
    margin-bottom: 4.5rem; }
  #sec_06 .ttl_sec {
    font-size: 5.2rem;
    line-height: 1.2;
    color: #fff;
    letter-spacing: normal; }
  #sec_06 .notes {
    font-size: 1.4rem;
    text-align: right;
    font-weight: normal;
    color: #fff; }
  #sec_06 .item_box {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 2rem 2rem; }
    #sec_06 .item_box .item {
      width: 49rem;
      background: #fff;
      border-radius: 0.5rem;
      padding: 3rem;
      display: flex;
      gap: 0 2rem; }
    #sec_06 .item_box .img {
      width: 20rem; }
    #sec_06 .item_box .tbl {
      border-top: 1px dotted #a7a7a7;
      width: calc(100% - 22rem); }
      #sec_06 .item_box .tbl dl {
        display: table;
        border-bottom: 1px dotted #a7a7a7;
        width: 100%; }
      #sec_06 .item_box .tbl dt, #sec_06 .item_box .tbl dd {
        display: table-cell;
        vertical-align: middle;
        font-size: 1.6rem;
        height: calc(22rem / 4);
        font-feature-settings: normal; }
      #sec_06 .item_box .tbl dt {
        font-weight: 700;
        width: 9rem; }
      #sec_06 .item_box .tbl dd {
        width: calc(100% - 9rem); }
      #sec_06 .item_box .tbl .num,
      #sec_06 .item_box .tbl .percent {
        color: #d90000;
        font-weight: 700; }
      #sec_06 .item_box .tbl .num {
        font-size: 3rem; }
      #sec_06 .item_box .tbl .percent {
        font-size: 2.2rem; }

@media screen and (max-width: 767px) {
  #sec_06 {
    padding: 2.5rem 0 3rem; }
    #sec_06 .ttl_sec_wrap {
      max-width: inherit;
      margin-bottom: 2rem; }
    #sec_06 .ttl_sec {
      font-size: 3.2rem;
      line-height: 1.5; }
    #sec_06 .notes {
      font-size: 1.3rem; }
    #sec_06 .item_box {
      flex-direction: column;
      gap: 2rem 0; }
      #sec_06 .item_box .item {
        width: 100%;
        padding: 2rem 1.5rem;
        gap: 0 1rem; }
      #sec_06 .item_box .img {
        width: 45%; }
      #sec_06 .item_box .tbl {
        width: calc(55% - 1rem); }
        #sec_06 .item_box .tbl dt, #sec_06 .item_box .tbl dd {
          font-size: 1.4rem;
          height: calc(15rem / 4); }
        #sec_06 .item_box .tbl dt {
          width: 6.5rem;
          gap: 0 0.5rem; }
        #sec_06 .item_box .tbl dd {
          width: calc(100% - 7rem); }
        #sec_06 .item_box .tbl .num {
          font-size: 2.2rem; }
        #sec_06 .item_box .tbl .percent {
          font-size: 1.6rem; } }
/* sec_07 */
#sec_07 {
  position: relative;
  background: #fff;
  padding: 8rem 0; }
  #sec_07::before {
    position: absolute;
    content: "";
    background: #e2e9e6;
    width: 100%;
    height: 56rem;
    clip-path: polygon(0 0, 100% 0, 100% 42%, 0% 100%);
    top: 0;
    left: 0; }
  #sec_07 .ttl_sec {
    margin-bottom: 6rem; }
    #sec_07 .ttl_sec .slash {
      position: relative;
      display: inline-block;
      position: relative;
      font-size: 4.8rem;
      color: #000;
      line-height: 1.25;
      letter-spacing: normal; }
      #sec_07 .ttl_sec .slash::before, #sec_07 .ttl_sec .slash::after {
        content: '';
        position: absolute;
        bottom: -2rem;
        width: 3px;
        height: 140%;
        background: #282828;
        transform: rotate(-30deg); }
      #sec_07 .ttl_sec .slash::before {
        left: -5rem; }
      #sec_07 .ttl_sec .slash::after {
        right: -4rem;
        transform: rotate(30deg); }
    #sec_07 .ttl_sec .kome {
      position: absolute;
      font-size: 1.2rem;
      font-weight: normal;
      right: 0;
      bottom: -1.8rem;
      right: 1rem; }
  #sec_07 .item_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem 2rem; }
    #sec_07 .item_box .item {
      background: #fff;
      box-shadow: 0px 5px 20px 0px rgba(25, 55, 55, 0.15);
      border-radius: 0.5rem;
      width: 32rem; }
      #sec_07 .item_box .item:nth-child(n + 4) .txt_wrap {
        padding: 1rem 2.2rem 3rem; }
    #sec_07 .item_box .txt_wrap {
      padding: 1rem 2.5rem 3rem; }
      #sec_07 .item_box .txt_wrap .name,
      #sec_07 .item_box .txt_wrap .txt {
        color: #000;
        font-feature-settings: normal; }
      #sec_07 .item_box .txt_wrap .name {
        font-size: 2.6rem;
        line-height: 2.3076923077;
        font-weight: 700;
        text-align: center; }
      #sec_07 .item_box .txt_wrap .txt {
        font-size: 1.6rem;
        line-height: 1.75; }
  #sec_07 .catch_foot {
    margin-top: 6rem; }
    #sec_07 .catch_foot .txt1,
    #sec_07 .catch_foot .txt2 {
      font-feature-settings: normal;
      font-weight: 700;
      text-align: center; }
    #sec_07 .catch_foot .txt1 {
      font-size: 3.4rem;
      line-height: 1.5294117647; }
    #sec_07 .catch_foot .txt2 {
      font-size: 2rem;
      line-height: 2.4;
      font-weight: normal; }
    #sec_07 .catch_foot .marker {
      background: linear-gradient(transparent 62%, #fff3ba 62%, #fff3ba 96%, transparent 96%); }
    #sec_07 .catch_foot .dots::before {
      top: 0; }

@media screen and (max-width: 767px) {
  #sec_07 {
    padding: 3rem 0 6rem; }
    #sec_07::before {
      width: 100%;
      height: 28rem; }
    #sec_07 .ttl_sec {
      margin-bottom: 4rem; }
      #sec_07 .ttl_sec .slash {
        font-size: 3.2rem; }
        #sec_07 .ttl_sec .slash::before, #sec_07 .ttl_sec .slash::after {
          bottom: -1rem;
          width: 2px;
          height: 120%; }
        #sec_07 .ttl_sec .slash::before {
          left: -2rem; }
        #sec_07 .ttl_sec .slash::after {
          right: -2rem; }
      #sec_07 .ttl_sec .kome {
        right: 1.5rem; }
    #sec_07 .item_box {
      flex-direction: column;
      gap: 0 3rem; }
      #sec_07 .item_box .item {
        width: 100%;
        max-width: 320px;
        margin: 2rem auto 0; }
        #sec_07 .item_box .item:first-child {
          margin-top: 0; }
        #sec_07 .item_box .item:nth-child(n + 4) .txt_wrap {
          padding: 1rem 1.5rem 2rem; }
      #sec_07 .item_box .txt_wrap {
        padding: 1rem 1.5rem 2rem; }
        #sec_07 .item_box .txt_wrap .name {
          font-size: 1.9rem; }
        #sec_07 .item_box .txt_wrap .txt {
          font-size: 1.4rem;
          line-height: 1.7142857143; }
    #sec_07 .catch_foot {
      margin-top: 4rem; }
      #sec_07 .catch_foot .txt1 {
        font-size: 2.2rem;
        line-height: 1.5; }
      #sec_07 .catch_foot .txt2 {
        font-size: 1.6rem; }
      #sec_07 .catch_foot .marker {
        background: linear-gradient(transparent 62%, #fff3ba 62%, #fff3ba 88%, transparent 88%); }
      #sec_07 .catch_foot .dots::before {
        top: 0; } }
/* sec_08 */
#sec_08 {
  position: relative;
  border-bottom: 1px solid #fff;
  margin-top: -1px; }
  #sec_08 .inner {
    padding: 8rem 0 7rem;
    position: relative;
    background: url("../img/bg_sec09.jpg") no-repeat center top;
    background-size: cover; }
  #sec_08 .ttl_sec {
    font-size: 4rem;
    line-height: 1.5;
    font-feature-settings: normal;
    position: relative;
    color: #fff;
    margin-bottom: 5rem; }
    #sec_08 .ttl_sec::before {
      position: absolute;
      content: "FAQ";
      font-family: 'Oswald', sans-serif;
      font-size: 16rem;
      -webkit-text-stroke: 0.05rem #fff;
      color: transparent;
      opacity: 0.3;
      top: -11rem;
      left: 50%;
      transform: translateX(-50%);
      font-feature-settings: "palt";
      letter-spacing: normal; }
    #sec_08 .ttl_sec span {
      position: relative;
      display: inline-block;
      z-index: 2; }
  #sec_08 .faq_box {
    background: #fff; }
    #sec_08 .faq_box + .faq_box {
      margin-top: 1rem; }
    #sec_08 .faq_box dt {
      font-size: 2.0rem;
      line-height: 3;
      font-weight: 700;
      position: relative;
      padding: 1.6rem 5rem 1.6rem 8.2rem;
      cursor: pointer; }
      #sec_08 .faq_box dt::before {
        content: 'Q.';
        position: absolute;
        font-size: 3rem;
        font-family: 'Oswald', sans-serif;
        color: #02623f;
        font-weight: 700;
        font-feature-settings: "palt";
        left: 5rem;
        top: 0; }
      #sec_08 .faq_box dt .ico {
        position: absolute;
        right: 6.8rem;
        top: 1.9em; }
        #sec_08 .faq_box dt .ico::before {
          content: '';
          position: absolute;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%);
          width: 1.2rem;
          height: 1.2rem;
          border-top: solid 2px #000;
          border-right: solid 2px #000;
          transform: rotate(135deg);
          transition: all .4s; }
      #sec_08 .faq_box dt.acd-open .ico:before {
        transform: rotate(-45deg); }
      #sec_08 .faq_box dt.stay .ico:before {
        transform: rotate(-45deg); }
      #sec_08 .faq_box dt.stay.acd-open .ico:before {
        transform: rotate(135deg); }
    #sec_08 .faq_box dd {
      display: none;
      padding: 0 5rem 3rem 8rem;
      font-feature-settings: normal; }
      #sec_08 .faq_box dd.stay {
        display: block; }

@media screen and (max-width: 767px) {
  #sec_08 .inner {
    padding: 3rem 0 3rem;
    background-image: url("../img/bg_sec09_sp.jpg"); }
  #sec_08 .ttl_sec {
    font-size: 3rem;
    margin-bottom: 3.5rem; }
    #sec_08 .ttl_sec::before {
      font-size: 10rem;
      top: -6rem; }
  #sec_08 .faq_box + .faq_box {
    margin-top: 1rem; }
  #sec_08 .faq_box dt {
    font-size: 1.6rem;
    line-height: 1.8;
    padding: 1.5rem 4rem 1.5rem 5rem; }
    #sec_08 .faq_box dt::before {
      font-size: 2.25rem;
      left: .8em;
      top: 0.3em; }
    #sec_08 .faq_box dt .ico {
      right: 1.8em;
      top: 1.4em; }
      #sec_08 .faq_box dt .ico::before {
        width: 1rem;
        height: 1rem; }
    #sec_08 .faq_box dt.acd-open .ico {
      top: 1.6em; }
  #sec_08 .faq_box dd {
    padding: 0 4rem 1.5rem 5rem; } }
/* sec_09 */
#sec_09 {
  background: #f8f8f8;
  padding: 6rem 0;
  position: relative; }
  #sec_09 .ttl_sec span {
    font-size: 3rem;
    line-height: 1.8;
    border-bottom: 4px solid #77ae2b;
    display: inline-block;
    padding: 0 .8rem;
    margin-bottom: 7rem; }
  #sec_09 .inner {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 0 6rem; }
  #sec_09 .img {
    padding-top: .8rem; }
  #sec_09 .tbl {
    width: 56rem; }
    #sec_09 .tbl table {
      width: 100%;
      border-collapse: collapse; }
      #sec_09 .tbl table th, #sec_09 .tbl table td {
        font-size: 1.6rem;
        vertical-align: top;
        padding: 1.6rem 0;
        border-bottom: 1px solid #c8c8c8; }
      #sec_09 .tbl table tr:first-child th,
      #sec_09 .tbl table tr:first-child td {
        padding-top: 0; }
      #sec_09 .tbl table th {
        font-weight: 700;
        width: 11.5rem; }
      #sec_09 .tbl table td {
        width: calc(100% - 11.5rem); }
        #sec_09 .tbl table td dd {
          text-indent: 1em; }

@media screen and (max-width: 767px) {
  #sec_09 {
    padding: 3rem 0 3rem; }
    #sec_09 .ttl_sec span {
      font-size: 2.25rem;
      margin-bottom: 3rem; }
    #sec_09 .inner {
      display: block; }
    #sec_09 .img {
      padding-top: 0;
      text-align: center; }
      #sec_09 .img img {
        width: 68%; }
    #sec_09 .tbl {
      width: 100%;
      margin-top: 3rem; }
      #sec_09 .tbl table th, #sec_09 .tbl table td {
        font-size: 1.4rem;
        line-height: 1.7142857143;
        padding: 1.5rem 0; }
      #sec_09 .tbl table th {
        width: 9rem; }
      #sec_09 .tbl table td {
        width: calc(100% - 9rem); }
        #sec_09 .tbl table td dt, #sec_09 .tbl table td dd, #sec_09 .tbl table td li {
          font-size: 1.4rem;
          line-height: 1.7142857143; }
        #sec_09 .tbl table td dd {
          padding-left: 1em;
          text-indent: inherit; } }
/* sec_10 */
#sec_10 {
  background: #fff;
  padding: 8.5rem 0 0; }
  #sec_10 .txt_wrap {
    padding-bottom: 10rem; }
    #sec_10 .txt_wrap * {
      text-align: center; }
    #sec_10 .txt_wrap .catch {
      font-size: 3.6rem;
      line-height: 1.6666666667;
      font-weight: 700;
      margin-bottom: 4.5rem; }
    #sec_10 .txt_wrap .txt {
      font-size: 1.8rem;
      line-height: 2;
      letter-spacing: 0.05em; }
      #sec_10 .txt_wrap .txt + .txt {
        padding-top: 3.8rem; }

@media screen and (max-width: 767px) {
  #sec_10 {
    padding: 3rem 0 0; }
    #sec_10 .txt_wrap {
      padding-bottom: 10rem; }
      #sec_10 .txt_wrap .catch {
        font-size: 2.4rem;
        margin-bottom: 2rem; }
      #sec_10 .txt_wrap .txt {
        font-size: 1.4rem;
        line-height: 1.7142857143; }
        #sec_10 .txt_wrap .txt + .txt {
          padding-top: 2.5rem; } }
/* form関連 */
select,
input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
  width: 100%;
  height: 5rem;
  padding: 0 2rem;
  background: #f9f9f9;
  border: 1px solid #e1e1e1;
  font-size: 1.6rem;
  color: #282828; }
  select::placeholder,
  input[type="text"]::placeholder,
  input[type="tel"]::placeholder,
  input[type="email"]::placeholder,
  textarea::placeholder {
    color: #b6b6b6;
    font-size: 1.6rem;
    line-height: 2.1428571429; }

select {
  position: relative;
  max-width: 26rem;
  font-size: 1.4rem; }
  select.error {
    color: #282828; }
  @media screen and (max-width: 767px) {
    select {
      max-width: inherit;
      padding: 0 2.2rem; } }

.select_wrap {
  position: relative;
  width: 26rem; }
  @media screen and (max-width: 767px) {
    .select_wrap {
      width: 100%; } }

.select_wrap:before {
  content: '';
  position: absolute;
  right: 1rem;
  top: 2.2rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 4px 0 4px;
  border-color: #938886 transparent transparent transparent;
  pointer-events: none;
  z-index: 1; }

.req {
  color: #d90000;
  margin-left: .5rem; }

.error {
  color: #d90000;
  font-size: 1.4rem; }

.c-check {
  position: relative;
  display: inherit;
  cursor: pointer; }
  .c-check input {
    position: absolute;
    visibility: hidden;
    width: 1px;
    top: 0;
    left: 0; }
  .c-check span {
    position: relative;
    padding-left: 2.8rem; }
    .c-check span::before {
      content: '';
      position: absolute;
      top: 1px;
      left: 0;
      width: 2.2rem;
      height: 2.2rem;
      background-color: #fff;
      border: 1px solid #282828; }
    .c-check span::after {
      content: '';
      position: absolute;
      background: url("../img/ico_check_form.png") no-repeat center center/cover;
      width: 2rem;
      height: 1.8rem;
      opacity: 0;
      top: 0.2rem;
      left: 0.2rem; }
      @media screen and (max-width: 767px) {
        .c-check span::after {
          background: url("../img/ico_check_form.svg") no-repeat center center/cover;
          width: 2rem;
          height: 1.6rem;
          top: 0.25em; } }
  .c-check input:checked + span::after {
    opacity: 1; }

#form_wrap {
  position: absolute;
  top: -5rem; }

@media screen and (max-width: 767px) {
  #form_wrap {
    top: -3rem; } }
.form_wrap {
  background: #77ae2b;
  padding: 5.5rem 0 8rem;
  position: relative; }
  .form_wrap .ttl_sec {
    font-size: 4.4rem;
    line-height: 1.5;
    font-feature-settings: normal;
    letter-spacing: normal;
    position: relative;
    color: #fff;
    margin-bottom: 4rem; }
    .form_wrap .ttl_sec::before {
      position: absolute;
      content: "application";
      text-transform: uppercase;
      font-family: 'Oswald', sans-serif;
      font-size: 15rem;
      -webkit-text-stroke: 0.05rem #e2e9e6;
      color: transparent;
      opacity: 0.9;
      top: -15rem;
      left: 50%;
      transform: translateX(-50%);
      font-feature-settings: "palt"; }
    .form_wrap .ttl_sec span {
      position: relative;
      display: inline-block;
      z-index: 2; }
  .form_wrap .inner {
    background: #fff;
    padding: 5rem 9rem 8.5rem; }
    .form_wrap .inner * {
      font-feature-settings: normal; }
@media screen and (max-width: 767px) {
  .form_wrap {
    padding: 4rem 0 6rem; }
    .form_wrap .ttl_sec {
      font-size: 3rem;
      margin-bottom: 2rem; }
      .form_wrap .ttl_sec::before {
        font-size: 6.5rem;
        top: -8rem; }
    .form_wrap .inner {
      padding: 3rem 1.5rem 4.5rem; } }
.form_dl {
  display: flex;
  width: 100%;
  margin: auto; }
  @media screen and (max-width: 767px) {
    .form_dl {
      display: block; } }
.form_dt {
  width: 17rem;
  padding: 2rem 0;
  font-size: 1.6rem;
  font-weight: 700; }
  .form_dt.pdt0 {
    padding-top: 1rem; }
  @media screen and (max-width: 767px) {
    .form_dt {
      width: 100%;
      padding: 1rem 0 0.5rem 0; } }
.form_dd {
  width: calc(100% - 17rem);
  padding: 1rem 0 1rem 3rem; }
  .form_dd .check_list {
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap; }
    .form_dd .check_list li {
      line-height: 2.2;
      margin-right: 3rem; }
      .form_dd .check_list li:nth-child(4) {
        margin-right: 0; }
  @media screen and (max-width: 767px) {
    .form_dd {
      width: 100%;
      padding: 0 0 1rem 0; }
      .form_dd .check_list {
        display: block; }
        .form_dd .check_list li {
          margin-right: 0; } }
.form_txt {
  margin-bottom: 1rem; }
.form_privacy {
  width: 100%;
  border: 3px solid #e1e1e1;
  padding: 2rem 2.5rem 2.5rem;
  margin: 2rem 0 3.8rem; }
  .form_privacy dt {
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 700;
    margin-bottom: 2rem; }
  .form_privacy dd {
    font-size: 1.4rem;
    line-height: 1.7142857143; }
  @media screen and (max-width: 767px) {
    .form_privacy {
      padding: 2rem 1.5rem 2.5rem; }
      .form_privacy dt {
        margin-bottom: 1rem; } }
.form_submit {
  text-align: center;
  margin-top: 2rem; }
  .form_submit .form_btn {
    width: 46rem;
    height: 9rem;
    margin: 0 auto;
    background: #02623f;
    border-radius: 0.5rem;
    box-shadow: 0 0.5rem 0 #193a2e;
    cursor: pointer;
    transition: .4s;
    display: inline-flex;
    justify-content: center;
    align-items: center; }
    @media screen and (min-width: 768px) {
      .form_submit .form_btn:hover {
        transform: translateY(0.5rem);
        box-shadow: none; } }
    .form_submit .form_btn.back {
      background: #a4a4a4;
      box-shadow: 0 0.5rem 0 #838383;
      width: 18rem; }
  .form_submit span {
    color: #fff;
    font-size: 2.4rem;
    line-height: 1.5;
    font-weight: 700; }
@media screen and (max-width: 767px) {
  .form_submit {
    margin-top: 3rem; }
    .form_submit .form_btn {
      width: 100%;
      height: 6rem; }
    .form_submit span {
      font-size: 2rem; } }

.agree_wrap {
  text-align: center;
  margin-bottom: 2rem; }
  @media screen and (max-width: 767px) {
    .agree_wrap {
      text-align: left; } }
  .agree_wrap .agree_txt {
    font-size: 2rem;
    line-height: 1.2;
    font-weight: 700; }
    @media screen and (max-width: 767px) {
      .agree_wrap .agree_txt {
        font-size: 1.8rem;
        text-indent: -0.1em;
        display: inline-block; } }
  .agree_wrap .c-check span {
    padding-left: 3.8rem; }
    .agree_wrap .c-check span::before {
      border-color: #e4e4e4;
      border-width: 2px;
      width: 2.5rem;
      height: 2.5rem; }
    .agree_wrap .c-check span::after {
      transform: scale(1.05, 1.051);
      top: 0.45rem;
      left: 0.3rem; }

.agree_list {
  display: inline-block;
  margin: 0 auto; }
  .agree_list_wrap {
    text-align: center; }
    @media screen and (max-width: 767px) {
      .agree_list_wrap {
        margin-left: .2em; } }
  .agree_list li {
    text-align: left; }
    @media screen and (max-width: 767px) {
      .agree_list li + li {
        margin-top: 1rem; } }
  .agree_list .c-check span {
    padding-left: 3rem; }
    .agree_list .c-check span::before {
      border-color: #e4e4e4;
      border-width: 2px;
      width: 2rem;
      height: 2rem; }
    .agree_list .c-check span::after {
      transform: scale(0.75, 0.75);
      top: 0.3rem;
      left: 0.1rem; }
  .agree_list .agree_txt {
    font-size: 1.6rem;
    line-height: 1.875;
    color: #000; }
    @media screen and (max-width: 767px) {
      .agree_list .agree_txt {
        text-indent: -0.1em;
        display: inline-block;
        line-height: 1.5; } }

/* confirm */
#container {
  padding-top: 14rem; }
  @media screen and (max-width: 767px) {
    #container {
      padding-top: 40px; } }

#sec_contact.confirm .lead, #sec_contact.thanks .lead {
  font-size: 2rem;
  line-height: 1.7;
  text-align: center;
  font-weight: 500; }
#sec_contact.confirm .form_wrap .inner, #sec_contact.thanks .form_wrap .inner {
  padding: 6rem 7.5rem 8rem; }
@media screen and (max-width: 767px) {
  #sec_contact.confirm .lead, #sec_contact.thanks .lead {
    font-size: 1.6rem; }
  #sec_contact.confirm .form_wrap .inner, #sec_contact.thanks .form_wrap .inner {
    padding: 2rem 1.5rem 3rem; } }
#sec_contact.confirm .form {
  border-top: 1px solid #d1d1d1;
  padding: 3rem 0 0;
  margin-top: 5.5rem; }
#sec_contact.confirm .form_wrap {
  padding-bottom: 6.7rem; }
#sec_contact.confirm .form_submit {
  border-top: 1px solid #d1d1d1;
  padding-top: 5rem; }
#sec_contact.confirm .form_dt {
  width: 23rem;
  padding: 2.25rem 0 2.25rem 1.5rem; }
#sec_contact.confirm .form_dd {
  width: calc(100% - 23rem);
  padding: 2.25rem 0 2.25rem 3rem; }
#sec_contact.confirm .form_submit {
  margin-top: 4.2rem; }
  #sec_contact.confirm .form_submit.flex {
    justify-content: center; }
  #sec_contact.confirm .form_submit .form_btn.back {
    margin-right: 2rem; }
@media screen and (max-width: 767px) {
  #sec_contact.confirm .form {
    padding: 1rem 0 0;
    margin-top: 2rem; }
  #sec_contact.confirm .form_wrap {
    padding-bottom: 3rem; }
  #sec_contact.confirm .form_submit {
    padding-top: 2rem; }
  #sec_contact.confirm .form_dt {
    width: 100%;
    padding: 1rem 0 0.5rem 0; }
  #sec_contact.confirm .form_dd {
    width: 100%;
    padding: 0 0 1rem 0; }
  #sec_contact.confirm .form_submit {
    margin-top: 2rem;
    display: flex; }
    #sec_contact.confirm .form_submit .form_btn {
      width: 65%; }
      #sec_contact.confirm .form_submit .form_btn span {
        font-size: 1.8rem; }
    #sec_contact.confirm .form_submit .form_btn.back {
      width: calc(100% - 65% - 1rem);
      margin-right: 1rem; } }
#sec_contact.thanks .form_wrap {
  padding-bottom: 7.2rem;
  height: 100svh; }
#sec_contact.thanks .txt_wrap {
  border-top: 1px solid #d1d1d1;
  padding: 5rem 0 0;
  margin-top: 5.5rem; }
  #sec_contact.thanks .txt_wrap p {
    text-align: center;
    line-height: 2.125; }
#sec_contact.thanks .btn_top {
  text-align: center;
  margin-top: 6rem; }
  #sec_contact.thanks .btn_top a {
    background: #a4a4a4;
    width: 24rem;
    height: 5rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: .5rem; }
    #sec_contact.thanks .btn_top a span {
      color: #fff;
      font-size: 1.6rem;
      font-weight: 700;
      font-feature-settings: normal; }
@media screen and (orientation: landscape) and (max-width: 767px) {
  #sec_contact.thanks .form_wrap {
    height: 100%; } }
@media screen and (max-width: 767px) {
  #sec_contact.thanks .form_wrap {
    padding-bottom: 3rem; }
  #sec_contact.thanks .txt_wrap {
    padding: 2rem 0 0;
    margin-top: 2rem; }
    #sec_contact.thanks .txt_wrap p {
      font-size: 1.4rem;
      line-height: 1.7142857143; }
  #sec_contact.thanks .btn_top {
    text-align: center;
    margin-top: 3rem; }
    #sec_contact.thanks .btn_top a {
      width: 24rem;
      height: 5rem; }
      #sec_contact.thanks .btn_top a span {
        font-size: 1.6rem; } }

body.thanks {
  position: relative; }

/* sec_cta */
.sec_cta {
  position: relative;
  background: #e2e9e6;
  padding: 3.3rem 0 4.5rem;
  text-align: center; }
  .sec_cta .ttl {
    margin-bottom: 1rem; }
    .sec_cta .ttl .txt1,
    .sec_cta .ttl .txt2 {
      letter-spacing: .075em;
      display: inline-block;
      line-height: 1.2; }
    .sec_cta .ttl .txt1 {
      font-size: 2.4rem;
      font-weight: 700;
      display: inline-flex;
      align-items: center; }
      .sec_cta .ttl .txt1 .lg {
        font-size: 3.6rem;
        display: inline-block;
        font-family: 'Roboto', sans-serif;
        letter-spacing: normal;
        transform: scale(0.9, 1);
        font-weight: 500; }
    .sec_cta .ttl .txt2 {
      font-size: 3.6rem;
      font-weight: 800; }
      .sec_cta .ttl .txt2 .gl_line {
        color: #02623f;
        border-bottom: 4px solid #02623f; }
    .sec_cta .ttl .slash {
      display: inline-flex;
      flex-wrap: wrap;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      position: relative; }
      .sec_cta .ttl .slash::before, .sec_cta .ttl .slash::after {
        content: '';
        position: absolute;
        bottom: -.7em;
        width: 3px;
        height: 100%;
        background: #282828;
        transform: rotate(-30deg); }
      .sec_cta .ttl .slash::before {
        left: -8rem; }
      .sec_cta .ttl .slash::after {
        right: -8rem;
        transform: rotate(30deg); }
  .sec_cta .btn_wrap {
    display: flex;
    justify-content: center;
    gap: 0 4rem;
    margin-top: 3.4rem; }
  .sec_cta.cta2 .arrow_green {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -5.5rem; }

@media screen and (max-width: 767px) {
  .sec_cta {
    padding: 3rem 0 4rem; }
    .sec_cta .ttl .txt1 {
      font-size: 1.6rem; }
      .sec_cta .ttl .txt1 .lg {
        font-size: 2.4rem; }
    .sec_cta .ttl .txt2 {
      font-size: 2.4rem;
      line-height: 1.5; }
      .sec_cta .ttl .txt2 .gl_line {
        border-bottom: 2px solid #02623f; }
    .sec_cta .ttl .slash::before, .sec_cta .ttl .slash::after {
      bottom: 0;
      width: 2px; }
    .sec_cta .ttl .slash::before {
      left: -1.1rem; }
    .sec_cta .ttl .slash::after {
      right: -1.1rem; }
    .sec_cta .btn_wrap {
      flex-direction: column;
      gap: 2rem 0;
      margin-top: 2rem; }
    .sec_cta.cta2 .arrow_green {
      top: -3rem; } }
@media screen and (max-width: 767px) {
  .floating_bnr {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
    opacity: 0;
    pointer-events: none;
    transition: 0.3s opacity;
    padding: 1rem 0; }
    .floating_bnr.is-show {
      opacity: 1;
      pointer-events: auto; }
    .floating_bnr .btn_wrap {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin: 0 auto;
      padding: 0 0.5rem; }
    .floating_bnr .btn_shadow,
    .floating_bnr .btn_web {
      width: 100%;
      max-width: 19.2rem;
      padding: 0 0.3rem; }
      .floating_bnr .btn_shadow a,
      .floating_bnr .btn_web a {
        font-size: 1.6rem;
        padding: 1.5rem 0 1.5rem 2.2rem;
        border: 1px solid #77ae2b; }
    .floating_bnr .btn_shadow a::before {
      width: 2.4rem;
      height: 2.2rem;
      left: 1.8rem; }
    .floating_bnr .btn_web a::before {
      width: 2.2rem;
      height: 1.8rem;
      left: 1.5rem; } }
/* ------------------------------
    responsive
------------------------------ */
@media screen and (min-width: 768px) {
  .sp {
    display: none !important; } }
@media screen and (max-width: 767px) {
  .pc {
    display: none !important; } }
/* ------------------------------
    clearfix
------------------------------ */
.cf {
  zoom: 1; }
  .cf::after {
    content: " ";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    overflow: hidden;
    /* 隙間対応 */
    font-size: 0.1em;
    /* 隙間対応 */
    line-height: 0;
    /* 隙間対応 */ }
