/* Scss Document */
strong {
  font-weight: 700; }

#key {
  background: url("../img/shared/key_bg.jpg") no-repeat center bottom/cover;
  height: 1010px;
  position: relative;
  box-sizing: border-box;
  color: #000;
  position: relative;
  padding: 256px 0 0; }
  #key:before, #key:after {
    content: '';
    background: url("../img/shared/key_deco.png") no-repeat 0 0/100%;
    width: 641px;
    height: 630px;
    position: absolute;
    top: -100px;
    right: -136px;
    display: none; }
  #key:after {
    right: auto;
    left: -265px;
    top: auto;
    bottom: -176px; }
  #key .wrap {
    z-index: 6; }
  #key .tit {
    font-size: 32px;
    line-height: 1.4;
    letter-spacing: 0.1em;
    padding: 0 0 66px;
    font-weight: 700;
    z-index: 8; }
    #key .tit dt {
      color: #FF9301; }
      #key .tit dt .fnt-Barlow {
        font-size: 36px;
        letter-spacing: 0.1em; }
      #key .tit dt .tt {
        display: inline-block;
        color: #000;
        font-size: 50px;
        letter-spacing: 0.05em;
        padding: 17px 44px 15px 21px;
        margin: 10px 0 0 -5px; }
    #key .tit dd {
      color: #CD0019; }
      #key .tit dd .price {
        color: #CD0019;
        font-family: 'Oswald';
        font-style: normal;
        font-weight: 500;
        font-size: 100px;
        line-height: 1;
        padding: 0 12px 0 15px; }
      #key .tit dd li {
        display: flex;
        align-items: flex-end; }
        #key .tit dd li .fnt-BIZ {
          color: #000;
          letter-spacing: 0.05em;
          border-bottom: 8px solid #CD0019;
          padding-bottom: 0; }
      #key .tit dd ul {
        display: flex;
        gap: 31px;
        padding: 35px 0 0 21px;
        font-size: 30px; }
  #key .photo {
    position: absolute;
    top: 20px;
    left: calc(50% + 37px); }
    #key .photo img {
      max-width: 100%;
      height: auto; }
    #key .photo dd {
      margin-right: -134px; }
    #key .photo ul {
      flex-wrap: wrap;
      display: flex;
      gap: 17px 20px;
      padding: 0 0 20px 10px; }
      #key .photo ul li {
        font-size: 14px;
        font-weight: 700;
        color: #fff;
        background-color: #FF9301;
        line-height: 42px;
        padding: 0 18px;
        border-radius: 20px;
        text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
        box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
        -webkit-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
        -moz-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16); }
  #key .bnr-shared {
    max-width: 516px; }
    #key .bnr-shared a {
      font-size: 28px;
      line-height: 100px;
      border-radius: 36px;
      gap: 18px;
      padding-right: 21px; }
      #key .bnr-shared a:before {
        width: 31px;
        height: 31px; }
      #key .bnr-shared a:after {
        content: '';
        width: 0;
        height: 0;
        border-top: 10px solid transparent;
        border-left: 18px solid #fff;
        border-bottom: 10px solid transparent;
        position: absolute;
        right: 20px;
        top: 50%;
        transform: translateY(-50%); }
      #key .bnr-shared a:hover:after {
        border-left-color: #CD0019; }
  @media screen and (max-width: 1330px) {
    #key {
      padding-left: 30px;
      height: 78vw;
      padding-top: 21vw; }
      #key:before, #key:after {
        width: 35vw;
        height: 35vw;
        top: -10vw;
        right: -10vw; }
      #key:after {
        right: auto;
        top: auto;
        left: -10vw;
        bottom: -10vw; }
      #key .wrap {
        max-width: 100%;
        padding: 0; }
      #key .tit {
        font-size: 2.2vw;
        padding: 0 0 4vw; }
        #key .tit dt .fnt-Barlow {
          font-size: 2.6vw; }
        #key .tit dt .tt {
          font-size: 3.5vw;
          padding: 1vw 2vw;
          margin: 1vw 0 0; }
        #key .tit dd .price {
          font-size: 6vw;
          line-height: 1;
          padding: 0 1vw; }
        #key .tit dd ul {
          display: flex;
          gap: 2vw;
          padding: 5vw 0 1vw 2vw;
          font-size: 2.2vw; }
      #key .photo {
        left: 53%;
        right: 10px; }
        #key .photo dd {
          margin-right: 0; }
        #key .photo ul {
          gap: 1vw 1vw;
          padding: 0 0 1.5vw 0px; }
          #key .photo ul li {
            font-size: 1vw;
            line-height: 2.6;
            padding: 0 1vw; }
      #key .bnr-shared {
        max-width: 100%;
        width: 46vw; } }
  @media screen and (max-width: 999px) {
    #key {
      height: 63vw;
      padding-top: 10vw; }
      #key .bnr-shared a {
        font-size: 2.6vw;
        padding-right: 1vw;
        line-height: 3;
        border-radius: 2.2vw; }
        #key .bnr-shared a:before {
          width: 3vw;
          height: 3vw; }
        #key .bnr-shared a:after {
          border-top-width: 1.3vw;
          border-left-width: 1.8vw;
          border-bottom-width: 1.3vw;
          right: 2.5vw; } }
  @media screen and (max-width: 767px) {
    #key {
      padding: 10vw 5% 34vw;
      height: auto;
      margin-bottom: -12vw; }
      #key:before, #key:after {
        width: 49vw;
        height: 49vw; }
      #key .wrap {
        display: flex;
        flex-wrap: wrap; }
      #key .tit {
        padding-bottom: 0;
        font-size: 4.7vw; }
        #key .tit dt .fnt-Barlow {
          font-size: 5.1vw; }
        #key .tit dt .tt {
          font-size: 6.5vw;
          padding: 2vw 4vw 2vw 3vw;
          margin: 1vw 0 0;
          width: 95%;
          box-sizing: border-box; }
        #key .tit dd .price {
          font-size: 14vw;
          padding: 0 1vw; }
        #key .tit dd ul {
          gap: 0 5vw;
          padding: 7vw 0 7vw 2vw;
          font-size: 5vw;
          white-space: nowrap; }
      #key .photo {
        position: static;
        width: 100%;
        margin: 0 auto 5vw; }
        #key .photo ul {
          gap: 2vw 2vw;
          padding: 0 0 3vw 0px; }
          #key .photo ul li {
            font-size: 3.2vw;
            padding: 0 3vw;
            line-height: 3; }
        #key .photo dd {
          padding: 10vw 5% 0; }
      #key .bnr-shared {
        width: 100%;
        margin: 0 auto;
        max-width: 100%;
        order: 3; }
        #key .bnr-shared a {
          font-size: 5vw;
          padding: 4vw 5.6vw 4vw 0;
          line-height: 1.2;
          gap: 2vw; }
          #key .bnr-shared a:before {
            width: 7vw;
            height: 7vw; }
          #key .bnr-shared a:after {
            border-top-width: 2.3vw;
            border-left-width: 3.8vw;
            border-bottom-width: 2.3vw;
            right: 3.5vw; } }

.h2-tt {
  text-align: center;
  margin-bottom: 120px; }
  .h2-tt span {
    position: relative;
    font-size: 45px;
    letter-spacing: 0.05em;
    font-weight: 700;
    border-bottom: 3px solid #FF9301;
    padding-bottom: 20px; }
    .h2-tt span:before {
      position: absolute;
      content: '';
      border-bottom: 1px solid #FF9301;
      bottom: 10px;
      left: 0;
      right: 0;
      z-index: 1; }
  @media screen and (max-width: 999px) {
    .h2-tt span {
      font-size: 40px; } }
  @media screen and (max-width: 767px) {
    .h2-tt {
      margin-bottom: 70px; }
      .h2-tt span {
        font-size: 24px; }
        .h2-tt span:before {
          bottom: 5px; } }

.bg1 {
  background-color: #F1F1F2; }

.bnr-shared a {
  color: #FF9301;
  border-radius: 43px;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 87px;
  background-color: #fff;
  text-align: center;
  box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.2);
  position: relative;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-sizing: border-box; }
  .bnr-shared a span {
    letter-spacing: 0.05em; }
  .bnr-shared a:before {
    background-size: 100%;
    background-position: center;
    background-position: center;
    background-repeat: no-repeat; }
  .bnr-shared a.app:before {
    content: '';
    background-image: url("../img/shared/app.png");
    width: 50px;
    height: 50px;
    display: inline-block; }
  .bnr-shared a.app:hover:before {
    background-image: url("../img/shared/app_on.png"); }
  .bnr-shared a.app.orange {
    background-color: #CD0019;
    border: 2px solid #CD0019;
    gap: 20px;
    color: #fff; }
    .bnr-shared a.app.orange:before {
      width: 40px;
      height: 40px; }
    .bnr-shared a.app.orange:hover {
      color: #CD0019 !important;
      background-color: #fff !important; }
  .bnr-shared a.app.black {
    color: #000;
    gap: 18px; }
    .bnr-shared a.app.black:before {
      background-image: url("../img/shared/app_b.png");
      width: 38px;
      height: 38px; }
    .bnr-shared a.app.black:hover:before {
      background-image: url("../img/shared/app.png"); }
  .bnr-shared a.download:before {
    content: '';
    background-image: url("../img/shared/icon_dl.png");
    width: 40px;
    height: 40px;
    display: inline-block; }
  .bnr-shared a.download:hover:before {
    background-image: url("../img/shared/icon_dl_on.png"); }
  .bnr-shared a.email {
    gap: 17px; }
    .bnr-shared a.email:before {
      content: '';
      background-image: url("../img/shared/mail.png");
      width: 44px;
      height: 44px;
      display: inline-block; }
    .bnr-shared a.email:hover:before {
      background-image: url("../img/shared/mail_on.png"); }
    .bnr-shared a.email.black {
      background-color: #F1F1F2;
      color: #000;
      gap: 18px; }
      .bnr-shared a.email.black:before {
        background-image: url("../img/shared/email.png");
        width: 39px;
        height: 39px; }
      .bnr-shared a.email.black:hover:before {
        background-image: url("../img/shared/mail_on.png"); }
  .bnr-shared a.non {
    border: 1px solid #FF9301; }
  .bnr-shared a.lager {
    font-size: 35px;
    line-height: 102px;
    background-color: #CD0019;
    color: #fff;
    border: 3px solid #CD0019;
    border-radius: 54px; }
    .bnr-shared a.lager:before {
      content: '';
      width: 0;
      height: 0;
      border-top: 17px solid transparent;
      border-left: 29px solid #fff;
      border-bottom: 17px solid transparent;
      position: absolute;
      right: 40px;
      top: 50%;
      transform: translateY(-50%); }
    .bnr-shared a.lager:hover {
      color: #CD0019 !important;
      background-color: #fff !important; }
      .bnr-shared a.lager:hover:before {
        border-left-color: #CD0019; }
  .bnr-shared a:hover {
    color: #fff !important;
    background-color: #FF9301 !important; }
@media screen and (max-width: 999px) {
  .bnr-shared a.lager {
    font-size: 30px;
    line-height: 90px; }
    .bnr-shared a.lager:before {
      border-top: 14px solid transparent;
      border-left: 23px solid #fff;
      border-bottom: 14px solid transparent; }
  .bnr-shared a.app.black {
    gap: 10px; }
    .bnr-shared a.app.black:before {
      width: 32px;
      height: 32px; }
  .bnr-shared a.email.black {
    gap: 10px; }
    .bnr-shared a.email.black:before {
      width: 36px;
      height: 36px; } }
@media screen and (max-width: 767px) {
  .bnr-shared a {
    font-size: 4.3vw;
    line-height: 1.4;
    padding: 3.5vw 0;
    gap: 2vw;
    border-radius: 8vw; }
    .bnr-shared a.email.black:before {
      width: 7vw;
      height: 7vw; }
    .bnr-shared a.app.black:before {
      width: 7vw;
      height: 7vw; } }

h2, h3 {
  color: #000; }

.mb_100 {
  margin-bottom: 100px; }

.mb120 {
  margin-bottom: 120px; }

.mb_50 {
  margin-bottom: 50px; }

.mb_40 {
  margin-bottom: 40px; }

.mb_55 {
  margin-bottom: 55px; }

section img {
  height: auto;
  max-width: 100%; }

#sec1 {
  padding: 138px 0 00px; }
  #sec1 .group {
    max-width: 1084px;
    margin: 0 auto 120px;
    padding: 36px 0 0; }
    #sec1 .group .item {
      width: calc((100% - 64px)/3);
      text-align: center;
      color: #000;
      position: relative; }
      #sec1 .group .item h3 {
        font-size: 24px;
        font-weight: 700;
        letter-spacing: 0.025em;
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        padding-top: 82px; }
        #sec1 .group .item h3 .num {
          color: #fff;
          background-color: #CD0019;
          border-radius: 50%;
          font-size: 24px;
          letter-spacing: 0;
          width: 100px;
          height: 100px;
          position: absolute;
          left: 50%;
          top: 0;
          transform: translate(-50%, -50%);
          z-index: 1;
          display: flex;
          justify-content: center;
          align-items: center; }
      #sec1 .group .item .photo {
        margin: -140px 0 24px; }
      #sec1 .group .item .txt {
        background-color: #EEEEEE;
        border-radius: 15px;
        line-height: 30px;
        font-size: 18px;
        padding: 0 20px; }
        #sec1 .group .item .txt span {
          display: block;
          padding: 144px 0 140px;
          letter-spacing: 0;
          box-sizing: border-box; }
      #sec1 .group .item .point {
        border: 5px solid #FF9301;
        border-radius: 10px;
        text-align: center;
        box-sizing: border-box;
        position: relative; }
        #sec1 .group .item .point dl {
          padding: 60px 15px 80px;
          line-height: 35px;
          letter-spacing: 0.025em;
          font-size: 18px; }
        #sec1 .group .item .point dd span {
          font-weight: 700;
          color: #CD0019; }
        #sec1 .group .item .point dt {
          font-size: 24px;
          font-weight: 700;
          line-height: 1.6666;
          padding-bottom: 43px;
          letter-spacing: 0.025em; }
          #sec1 .group .item .point dt span {
            background-color: #fff;
            border: 5px solid #FF9301;
            border-radius: 10px;
            position: absolute;
            top: -4px;
            left: 50%;
            transform: translate(-50%, -50%);
            font-size: 18px;
            letter-spacing: 0.025em;
            border-radius: 20px;
            z-index: 1;
            width: 117px;
            line-height: 37px;
            box-sizing: border-box; }
      @media screen and (max-width: 1080px) {
        #sec1 .group .item {
          width: calc((100% - 40px)/3); } }
      @media screen and (max-width: 999px) {
        #sec1 .group .item {
          width: calc((100% - 30px)/3); }
          #sec1 .group .item h3 {
            font-size: 19px;
            padding-top: 72px; }
          #sec1 .group .item .photo {
            margin-top: -84px; }
          #sec1 .group .item .txt span {
            font-size: 15px;
            padding: 120px 0 87px; }
          #sec1 .group .item .point dl {
            padding: 40px 8px 50px;
            font-size: 15px;
            line-height: 30px; }
          #sec1 .group .item .point dt {
            font-size: 19px;
            padding-bottom: 20px; } }
  #sec1 .h3-tit {
    text-align: center;
    color: #fff;
    background-color: #FF9301;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.4444;
    padding: 70px 20px;
    position: relative;
    letter-spacing: 0.05em; }
    #sec1 .h3-tit:before {
      content: '';
      position: absolute;
      top: -2px;
      left: 50%;
      transform: translateX(-50%);
      width: 0;
      height: 0;
      border-left: 36px solid transparent;
      border-right: 36px solid transparent;
      border-top: 50px solid #fff; }
    #sec1 .h3-tit .fnt-Barlow {
      font-size: 45px; }
    @media screen and (max-width: 1200px) {
      #sec1 .h3-tit {
        font-size: 35px; }
        #sec1 .h3-tit .fnt-Barlow {
          font-size: 40px; } }
    @media screen and (max-width: 999px) {
      #sec1 .h3-tit {
        font-size: 30px; }
        #sec1 .h3-tit .fnt-Barlow {
          font-size: 35px; } }
  @media screen and (max-width: 767px) {
    #sec1 {
      padding: 60px 0 0; }
      #sec1 .group {
        gap: 30px;
        margin-bottom: 60px;
        padding: 5vw 5% 0; }
        #sec1 .group .item {
          width: 100%;
          padding-bottom: 10vw; }
          #sec1 .group .item h3 {
            font-size: 20px;
            padding-top: 50px; }
            #sec1 .group .item h3 .num {
              font-size: 20px;
              letter-spacing: 0;
              width: 60px;
              height: 60px; }
          #sec1 .group .item .photo {
            margin-bottom: 0; }
          #sec1 .group .item .txt span {
            font-size: 16px;
            padding: 95px 0 87px; }
          #sec1 .group .item .point dt {
            font-size: 20px; }
            #sec1 .group .item .point dt span {
              font-size: 16px;
              width: 100px;
              line-height: 34px; }
      #sec1 .h3-tit {
        padding: 13vw 5%;
        font-size: 5vw;
        line-height: 1.4; }
        #sec1 .h3-tit .fnt-Barlow {
          font-size: 6vw; }
        #sec1 .h3-tit:before {
          top: -20px; } }

#sec2 {
  padding: 150px 0px 220px; }
  #sec2 h2 {
    font-size: 45px;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding-bottom: 90px;
    line-height: 1.323;
    position: relative;
    z-index: 3; }
    #sec2 h2 span {
      display: block;
      font-size: 80px;
      color: #FF9301;
      letter-spacing: 0.05em; }
    @media screen and (max-width: 999px) {
      #sec2 h2 {
        font-size: 35px; }
        #sec2 h2 span {
          font-size: 70px; } }
  #sec2 .video {
    width: 94%;
    max-width: 1100px;
    margin: 0 auto 140px;
    position: relative;
    z-index: 1; }
    #sec2 .video:before {
      content: '';
      background: url("../img/shared/sec2_deco.png") no-repeat 0 0/100%;
      width: 458px;
      height: 458px;
      position: absolute;
      top: -153px;
      left: -245px;
      z-index: -1; }
  #sec2 .group {
    display: table;
    width: 100%;
    padding-bottom: 210px; }
    #sec2 .group dl {
      display: table-cell;
      text-align: center;
      font-size: 14px;
      position: relative;
      color: #000;
      white-space: nowrap;
      position: relative;
      padding-top: 230px; }
      #sec2 .group dl:last-child:before {
        display: none; }
      #sec2 .group dl dt {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%); }
      #sec2 .group dl dd {
        position: relative;
        padding: 0 15px; }
        #sec2 .group dl dd:before {
          content: '';
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          border-left: 1px solid #B5B4B3; }
        #sec2 .group dl dd span {
          color: #000;
          display: block;
          font-weight: 700;
          letter-spacing: 0.05em;
          font-size: 21px;
          padding: 22px 0 3px; }
      #sec2 .group dl img {
        height: 230px;
        width: auto;
        max-width: max-content; }
      #sec2 .group dl:last-child dd:before {
        display: none; }
  #sec2 .point {
    text-align: center;
    font-size: 45px;
    color: #000;
    letter-spacing: 0.05em;
    line-height: 1.4444; }
    #sec2 .point dt {
      display: inline-block;
      background-color: #FF9301;
      color: #fff;
      text-align: center;
      font-size: 50px;
      border-radius: 36px;
      letter-spacing: 0.05em;
      line-height: 135px;
      padding: 0 50px;
      margin-bottom: 35px;
      box-shadow: 0px 5px 6px 0px rgba(0, 0, 0, 0.25);
      -webkit-box-shadow: 0px 5px 6px 0px rgba(0, 0, 0, 0.25);
      -moz-box-shadow: 0px 5px 6px 0px rgba(0, 0, 0, 0.25); }
      #sec2 .point dt span {
        font-weight: 700; }
    #sec2 .point dd {
      font-weight: 700; }
    @media screen and (max-width: 1100px) {
      #sec2 .point {
        font-size: 40px; }
        #sec2 .point dt {
          font-size: 45px; } }
    @media screen and (max-width: 999px) {
      #sec2 .point {
        font-size: 30px; }
        #sec2 .point dt {
          font-size: 35px;
          line-height: 120px; } }
  #sec2 .step {
    padding-bottom: 144px;
    text-align: center; }
  @media screen and (max-width: 1320px) and (min-width: 999px) {
    #sec2 .wrap {
      max-width: 100%;
      padding: 0 30px; }
    #sec2 .step {
      padding-bottom: 30px; }
    #sec2 .group dl {
      font-size: 1vw;
      line-height: 1.4;
      padding-top: 18.5vw; }
      #sec2 .group dl img {
        height: 18vw;
        width: auto;
        max-width: max-content; }
      #sec2 .group dl dd {
        padding: 0 1vw; }
        #sec2 .group dl dd span {
          letter-spacing: 0.05em;
          font-size: 1.66vw;
          line-height: 1.4;
          padding: 1vw 0 0.2vw; } }
  @media screen and (max-width: 999px) {
    #sec2 .group {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      flex-wrap: wrap;
      gap: 50px 0; }
      #sec2 .group dl {
        width: 50%; }
        #sec2 .group dl:nth-child(2) dd:before {
          display: none; } }
  @media screen and (max-width: 767px) {
    #sec2 {
      padding: 60px 0; }
      #sec2 h2 {
        white-space: nowrap;
        font-size: 18px;
        padding-bottom: 30px; }
        #sec2 h2 span {
          font-size: 45px; }
      #sec2 .video {
        width: 100%;
        margin-bottom: 10vw; }
        #sec2 .video:before {
          width: 30vw;
          height: 30vw;
          top: -10vw;
          left: -15vw; }
      #sec2 .step {
        padding-bottom: 60px; }
      #sec2 .group {
        gap: 40px 0;
        padding-bottom: 50px; }
        #sec2 .group dl {
          font-size: 13px;
          width: 100%;
          white-space: normal;
          padding-top: 185px; }
          #sec2 .group dl img {
            height: 200px; }
          #sec2 .group dl dd {
            height: auto !important; }
            #sec2 .group dl dd span {
              font-size: 18px; }
            #sec2 .group dl dd:before {
              display: none; }
      #sec2 .point {
        font-size: 24px; }
        #sec2 .point dt {
          font-size: 20px;
          line-height: 70px;
          padding: 0;
          white-space: nowrap;
          width: 100%;
          max-width: 400px;
          margin-bottom: 20px; } }

#sec3 {
  padding: 130px 0 160px;
  overflow: hidden; }
  #sec3 .h2-tt .fnt-Barlow {
    font-size: 50px; }
    @media screen and (max-width: 999px) {
      #sec3 .h2-tt .fnt-Barlow {
        font-size: 45px; } }
  #sec3 .group {
    padding: 40px 0 00px; }
    #sec3 .group .point {
      position: relative;
      z-index: 1;
      margin-bottom: 230px;
      min-height: 652px;
      box-sizing: border-box;
      padding: 115px 0 100px; }
      #sec3 .group .point:before {
        content: '';
        background-color: #fff;
        border-radius: 23px;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: -100vw;
        z-index: -1; }
      #sec3 .group .point:after {
        content: '';
        background-color: rgba(255, 147, 1, 0.05);
        border-radius: 23px;
        position: absolute;
        top: -80px;
        bottom: -80px;
        left: calc(50% - 330px);
        right: -100vw;
        z-index: -2; }
        @media screen and (max-width: 1200px) {
          #sec3 .group .point:after {
            left: 270px; } }
      #sec3 .group .point .photo {
        width: 45%;
        max-width: 477px;
        position: absolute;
        top: 97px;
        right: 50px; }
        #sec3 .group .point .photo.ext {
          max-width: 502px;
          top: 145px; }
          @media screen and (max-width: 1230px) {
            #sec3 .group .point .photo.ext {
              max-width: 450px; } }
        @media screen and (max-width: 1230px) {
          #sec3 .group .point .photo {
            right: 10px; }
            #sec3 .group .point .photo.ext {
              right: 20px; } }
      #sec3 .group .point .num {
        font-size: 35px;
        line-height: 1;
        letter-spacing: 0.05em;
        position: absolute;
        left: 0;
        top: -80px;
        z-index: 1;
        color: #000; }
        #sec3 .group .point .num span {
          color: #FF9301;
          font-size: 140px;
          letter-spacing: 0.05em;
          display: inline-block;
          padding-left: 18px; }
      #sec3 .group .point dl {
        max-width: 572px; }
        #sec3 .group .point dl dt {
          font-size: 35px;
          line-height: 1.571428;
          font-weight: 700;
          padding-bottom: 25px;
          color: #000;
          letter-spacing: 0.05em; }
          #sec3 .group .point dl dt.ext {
            margin-right: -30px; }
          @media screen and (max-width: 1230px) {
            #sec3 .group .point dl dt {
              font-size: 28px; } }
        #sec3 .group .point dl dd.ext {
          margin-right: -30px; }
          @media screen and (max-width: 1140px) {
            #sec3 .group .point dl dd.ext {
              margin-right: 0; } }
        #sec3 .group .point dl p:not(:last-child) {
          padding-bottom: 30px; }
      #sec3 .group .point:nth-child(even):before {
        left: 0;
        right: -100vw; }
      #sec3 .group .point:nth-child(even):after {
        left: -100vw;
        right: calc(50% - 315px); }
        @media screen and (max-width: 1200px) {
          #sec3 .group .point:nth-child(even):after {
            right: 270px; } }
      #sec3 .group .point:nth-child(even) .num {
        left: auto;
        right: 50px; }
        @media screen and (max-width: 1200px) {
          #sec3 .group .point:nth-child(even) .num {
            right: 0; } }
      #sec3 .group .point:nth-child(even) .photo {
        width: auto;
        max-width: 571px;
        top: 210px;
        right: 50%;
        left: 30px; }
      #sec3 .group .point:nth-child(even) dl {
        margin-left: calc(50% + 47px); }
      @media screen and (max-width: 1200px) {
        #sec3 .group .point:nth-child(even) .photo {
          left: 20px; }
        #sec3 .group .point:nth-child(even) dl {
          margin-left: calc(50% + 10px);
          width: auto; } }
      #sec3 .group .point:last-child {
        margin-bottom: 0; }
      @media screen and (max-width: 1200px) {
        #sec3 .group .point dl {
          width: 53%; } }
      @media screen and (max-width: 999px) {
        #sec3 .group .point .photo {
          position: static;
          margin: 0 auto 20px;
          width: auto;
          /* max-width: 100%; */ }
        #sec3 .group .point dl {
          width: auto;
          max-width: 100%;
          padding-right: 30px;
          margin: 0 !important; }
          #sec3 .group .point dl dt {
            text-align: center; }
            #sec3 .group .point dl dt.ext {
              margin-right: 0; }
        #sec3 .group .point:nth-child(even) dl {
          padding-left: 30px;
          padding-right: 0; } }
  #sec3 .app-list {
    gap: 30px;
    justify-content: flex-start;
    padding-top: 50px; }
    #sec3 .app-list img {
      height: 59px;
      width: auto; }
    @media screen and (max-width: 1230px) {
      #sec3 .app-list {
        padding-top: 10px; } }
    @media screen and (max-width: 999px) and (min-width: 768px) {
      #sec3 .app-list {
        justify-content: center; } }
  @media screen and (max-width: 767px) {
    #sec3 {
      padding: 60px 0 80px; }
      #sec3 .h2-tt .fnt-Barlow {
        font-size: 30px; }
      #sec3 .group .point {
        padding: 50px 0;
        margin-bottom: 110px;
        min-height: 100px; }
        #sec3 .group .point .photo {
          width: 90%; }
          #sec3 .group .point .photo.ext {
            max-width: 100%;
            margin: 0;
            width: auto;
            margin: 0 10% 20px 8%; }
        #sec3 .group .point .num {
          font-size: 25px;
          top: -38px; }
          #sec3 .group .point .num span {
            font-size: 70px;
            padding-left: 10px; }
        #sec3 .group .point:after {
          left: 150px;
          top: -30px;
          bottom: -30px; }
        #sec3 .group .point dl {
          padding-right: 15px; }
          #sec3 .group .point dl dt {
            font-size: 20px;
            padding-bottom: 20px; }
          #sec3 .group .point dl p:not(:last-child) {
            padding-bottom: 20px; }
        #sec3 .group .point:nth-child(even):after {
          right: 150px; }
        #sec3 .group .point:nth-child(even) dl {
          padding-left: 20px; }
        #sec3 .group .point:nth-child(even) .photo {
          max-width: 100%;
          margin: 0 3% 3vw 6%; }
      #sec3 .app-list {
        gap: 15px;
        padding-top: 0px; }
        #sec3 .app-list img {
          height: 38px; } }

.contact-shared {
  background: #ff9301;
  background: linear-gradient(90deg, #ff9301 0%, rgba(255, 255, 255, 0.02) 100%);
  padding: 60px 30px;
  position: relative;
  overflow: hidden; }
  .contact-shared:before {
    position: absolute;
    content: '';
    width: 640px;
    height: 612px;
    border-radius: 50%;
    border: 30px solid #FFFFFD;
    top: -82px;
    right: -615px;
    z-index: 0; }
  .contact-shared:after {
    position: absolute;
    content: '';
    width: 640px;
    height: 598px;
    border-radius: 50%;
    border: 30px solid #FFFFFD;
    bottom: -523px;
    left: -294px;
    z-index: 0;
    /* transform: rotate(75deg); */ }
  .contact-shared .wrap {
    max-width: 1620px;
    padding: 0;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    z-index: 9; }
  .contact-shared h2 {
    color: #000000;
    font-size: 35px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 2;
    text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: calc(100% - 900px); }
    .contact-shared h2 span {
      letter-spacing: 0.05em; }
    @media screen and (max-width: 999px) {
      .contact-shared h2 {
        font-size: 30px; } }
  .contact-shared .contact {
    max-width: 882px;
    position: relative;
    z-index: 3; }
    .contact-shared .contact .banner {
      position: relative;
      z-index: 2;
      position: relative;
      margin-bottom: 30px; }
      .contact-shared .contact .banner dt {
        border-radius: 39px;
        box-shadow: 0px 5px 6px 0px rgba(0, 0, 0, 0.25);
        -webkit-box-shadow: 0px 5px 6px 0px rgba(0, 0, 0, 0.25);
        -moz-box-shadow: 0px 5px 6px 0px rgba(0, 0, 0, 0.25);
        overflow: hidden; }
      .contact-shared .contact .banner .bnr-shared {
        width: calc(50% - 20px);
        position: absolute;
        top: 55%;
        left: 42px; }
        .contact-shared .contact .banner .bnr-shared a {
          line-height: 83px; }
    .contact-shared .contact .link {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      justify-content: space-between;
      position: relative;
      z-index: 9; }
      .contact-shared .contact .link .bnr-shared {
        width: calc(50% - 20px);
        position: relative;
        z-index: 9; }
  @media screen and (max-width: 1400px) {
    .contact-shared h2 {
      width: 100%;
      text-align: center;
      transform: none;
      position: static;
      padding-bottom: 40px; }
    .contact-shared .wrap {
      justify-content: center; } }
  @media screen and (max-width: 999px) {
    .contact-shared .contact .bnr-shared a {
      font-size: 20px;
      line-height: 72px; }
    .contact-shared .contact .banner .bnr-shared a {
      line-height: 66px; }
      .contact-shared .contact .banner .bnr-shared a.app:before {
        width: 34px;
        height: 34px; }
    .contact-shared .contact .link .bnr-shared a:before {
      width: 32px !important;
      height: 32px !important; } }
  @media screen and (max-width: 767px) {
    .contact-shared {
      padding: 60px 20px; }
      .contact-shared:before {
        width: 62vw;
        height: 89vw;
        border: 4vw solid #FFFFFD;
        top: 50%;
        right: -56vw;
        z-index: 0;
        transform: translateY(-50%); }
      .contact-shared:after {
        width: 111vw;
        height: 89vw;
        border: 4vw solid #FFFFFD;
        left: -70vw;
        bottom: -65vw; }
      .contact-shared h2 {
        font-size: 22px;
        line-height: 1.428571;
        line-height: 1.6; }
      .contact-shared .contact .banner {
        margin-bottom: 20px; }
        .contact-shared .contact .banner dt {
          border-radius: 20px;
          margin-bottom: 30px; }
        .contact-shared .contact .banner .bnr-shared {
          position: static;
          width: 80%;
          margin: 0 auto; }
          .contact-shared .contact .banner .bnr-shared a.app {
            font-size: 4.3vw;
            line-height: 1.4;
            padding: 2.97vw 0;
            gap: 2vw;
            border-radius: 8vw; }
            .contact-shared .contact .banner .bnr-shared a.app:before {
              width: 7vw !important;
              height: 7vw !important; }
      .contact-shared .contact .link {
        flex-wrap: wrap;
        padding: 0 10%;
        gap: 20px 0; }
        .contact-shared .contact .link .bnr-shared {
          width: 100%; }
          .contact-shared .contact .link .bnr-shared a {
            font-size: 4.3vw;
            line-height: 1.4;
            padding: 3.5vw 0;
            gap: 2vw;
            border-radius: 8vw; }
            .contact-shared .contact .link .bnr-shared a:before {
              width: 7vw !important;
              height: 7vw !important; } }

#sec4 {
  padding: 160px 0 00px; }
  #sec4 .h2-tt {
    margin-bottom: 74px; }
  #sec4 .note {
    font-size: 18px; }
  #sec4 .point {
    gap: 64px 0;
    padding: 81px 0 200px; }
    #sec4 .point .item {
      width: calc(50% - 32px);
      border: 1px solid #FF9301;
      padding: 38px 34px 35px;
      box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.16);
      -webkit-box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.16);
      -moz-box-shadow: 3px 3px 5px 6px rgba(0, 0, 0, 0.16);
      color: #000; }
      #sec4 .point .item .photo {
        width: 56%;
        max-width: 278px;
        margin: 0 auto 20px; }
      #sec4 .point .item dt {
        text-align: center;
        color: #000;
        font-size: 35px;
        font-weight: 700;
        padding-bottom: 27px; }
    @media screen and (max-width: 999px) {
      #sec4 .point {
        gap: 32px 0; }
        #sec4 .point .item {
          width: calc(50% - 15px);
          padding: 30px; }
          #sec4 .point .item dt {
            font-size: 30px; } }
  #sec4 .sns {
    border-top: 3px solid #FF9301;
    background-color: #FAFAFA;
    padding-bottom: 128px; }
    #sec4 .sns .wrap {
      padding-top: 1px; }
    #sec4 .sns h3 {
      text-align: center;
      margin: -43px 0 85px; }
      #sec4 .sns h3 span {
        max-width: 670px;
        text-align: center;
        color: #fff;
        background-color: #FF9301;
        font-weight: 700;
        font-size: 35px;
        letter-spacing: 0.05em;
        display: inline-block;
        line-height: 85px;
        border-radius: 49px;
        width: 70%; }
    #sec4 .sns .list {
      justify-content: flex-start; }
      #sec4 .sns .list li {
        font-weight: 700;
        font-size: 24px;
        line-height: 30px;
        letter-spacing: 0.05em;
        color: #000;
        position: relative;
        padding: 10px 0 10px 100px;
        box-sizing: border-box;
        margin-bottom: 25px;
        display: flex;
        align-items: center;
        min-height: 70px; }
        #sec4 .sns .list li img {
          position: absolute;
          left: 0;
          top: 50%;
          transform: translateY(-50%); }
        #sec4 .sns .list li:nth-child(3n+1) {
          width: 433px; }
        #sec4 .sns .list li:nth-child(3n + 2) {
          width: 343px; }
        #sec4 .sns .list li:nth-child(3n) {
          width: 440px;
          margin-right: -40px; }
      @media screen and (max-width: 1280px) {
        #sec4 .sns .list {
          max-width: 930px;
          margin: 0 auto; }
          #sec4 .sns .list li {
            width: 454px !important;
            margin-right: 0 !important; } }
      @media screen and (max-width: 999px) {
        #sec4 .sns .list li {
          width: 50% !important;
          padding-left: 69px;
          font-size: 20px; }
          #sec4 .sns .list li img {
            width: 60px;
            height: auto; } }
  @media screen and (max-width: 767px) {
    #sec4 {
      padding: 60px 0 0; }
      #sec4 .note {
        font-size: 15px; }
      #sec4 .point {
        padding: 30px 0 100px;
        gap: 30px 0; }
        #sec4 .point .item {
          width: 100%;
          padding: 30px 20px; }
          #sec4 .point .item .photo {
            width: 45%;
            margin-bottom: 5px; }
          #sec4 .point .item dt {
            font-size: 22px;
            padding-bottom: 10px; }
      #sec4 .sns {
        padding-bottom: 50px; }
        #sec4 .sns h3 {
          text-align: center;
          margin: -22px 0 35px; }
          #sec4 .sns h3 span {
            max-width: 670px;
            font-size: 20px;
            line-height: 44px;
            border-radius: 40px;
            width: 77%;
            /* padding: 0 20px; */ }
        #sec4 .sns .list {
          justify-content: flex-start; }
          #sec4 .sns .list li {
            width: 100% !important;
            padding-left: 69px;
            font-size: 17px;
            padding: 5px 0 5px 62px;
            margin-bottom: 8px;
            min-height: 50px;
            line-height: 26px; }
            #sec4 .sns .list li img {
              width: 50px; } }

#sec5 {
  background-color: #FAFAFA;
  padding: 140px 0 160px; }
  #sec5 .h2-tt {
    margin-bottom: 80px; }
  #sec5 .free {
    margin: 0 0 20px 25%;
    position: relative; }
    #sec5 .free ul {
      position: absolute;
      bottom: 74px;
      left: 5px;
      right: 10px;
      z-index: 1; }
      #sec5 .free ul li {
        width: calc((100% - 12px)/3);
        padding: 0 26px; }
        #sec5 .free ul li.ext {
          padding: 0 15px; }
        #sec5 .free ul li a {
          font-size: 20px;
          line-height: 53px;
          border-radius: 22px;
          gap: 10px; }
          #sec5 .free ul li a:before {
            width: 30px;
            height: 30px; }
          #sec5 .free ul li a.app.orange {
            border: 1px solid #CD0019; }
      @media screen and (max-width: 1100px) {
        #sec5 .free ul {
          bottom: 7vw;
          left: 0.3vw; }
          #sec5 .free ul li {
            padding: 0 2.5%; }
            #sec5 .free ul li.ext {
              padding: 0 1.8%; }
            #sec5 .free ul li a {
              font-size: 1.8vw;
              line-height: 2.5;
              border-radius: 2vw; }
              #sec5 .free ul li a:before {
                width: 2.5vw;
                height: 2.5vw; } }
  #sec5 .tbl-price table {
    width: 100%;
    border-spacing: 8px;
    border-collapse: separate;
    text-align: center;
    line-height: 24px;
    color: #000; }
  #sec5 .tbl-price tr td {
    width: 25%;
    padding: 8px 24px;
    vertical-align: middle;
    box-sizing: border-box; }
    #sec5 .tbl-price tr td:first-child {
      text-align: left;
      font-size: 18px;
      line-height: 30px;
      font-weight: 700; }
  #sec5 .tbl-price tr:nth-child(odd) td, #sec5 .tbl-price tr.color td {
    background-color: rgba(255, 147, 1, 0.11); }
  #sec5 .tbl-price tr.f_ext td {
    font-size: 18px;
    font-weight: 700; }
    #sec5 .tbl-price tr.f_ext td span {
      font-size: 14px;
      line-height: 24px;
      font-weight: 500;
      display: inline-block; }
  @media screen and (max-width: 999px) {
    #sec5 .tbl-price {
      border-spacing: 4px; }
      #sec5 .tbl-price tr td {
        padding: 8px 12px;
        font-size: 13px; }
        #sec5 .tbl-price tr td:first-child {
          font-size: 16px; } }
  #sec5 .link {
    max-width: 930px;
    margin: 90px auto 0; }
    #sec5 .link .tag {
      width: 618px;
      margin: 0 auto 10px; }
    #sec5 .link ul {
      gap: 56px 0; }
    #sec5 .link li {
      width: 48%;
      max-width: 433px; }
      #sec5 .link li:first-child {
        width: 90%;
        max-width: 708px;
        margin: 0 auto; }
      #sec5 .link li a.bd {
        border: 2px solid #FF9301;
        line-height: 83px; }
  #sec5 .group-price {
    text-align: center;
    padding-bottom: 25px; }
    #sec5 .group-price .item {
      font-size: 18px;
      line-height: 26px;
      background-color: #fff;
      border-radius: 16px;
      padding: 25px 20px 28px;
      border: 1px solid #E2DFDF;
      width: calc(50% - 15px);
      font-weight: 700;
      box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.16);
      -webkit-box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.16);
      -moz-box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.16); }
      #sec5 .group-price .item h3 {
        font-size: 40px;
        line-height: 53px;
        padding-bottom: 11px; }
      #sec5 .group-price .item .txt {
        font-weight: 400; }
      #sec5 .group-price .item .price {
        line-height: 1;
        color: #C60018;
        font-size: 70px;
        letter-spacing: 0.05em;
        margin: -7px 0 43px; }
        #sec5 .group-price .item .price .f {
          font-size: 120px; }
        #sec5 .group-price .item .price .f1 {
          font-size: 20px; }
        #sec5 .group-price .item .price.ext {
          padding: 44px 0 0px; }
        @media screen and (max-width: 1240px) {
          #sec5 .group-price .item .price {
            font-size: 50px; }
            #sec5 .group-price .item .price .f {
              font-size: 90px; }
            #sec5 .group-price .item .price .f1 {
              font-size: 16px; } }
      #sec5 .group-price .item .li-price {
        gap: 15px;
        display: flex;
        margin-bottom: 58px;
        white-space: nowrap; }
        #sec5 .group-price .item .li-price li {
          color: #fff;
          background-color: #FF9301;
          font-size: 18px;
          letter-spacing: 0.05em;
          line-height: 44px;
          background-image: url("../img/shared/price_icon_1.png");
          background-position: center 8px;
          background-repeat: no-repeat;
          background-size: 54px;
          padding: 46px 0 9px;
          height: 141px;
          box-sizing: border-box;
          flex: 1;
          border-radius: 11px; }
          #sec5 .group-price .item .li-price li span {
            font-size: 24px; }
          #sec5 .group-price .item .li-price li:nth-child(2) {
            background-image: url("../img/shared/price_icon_2.png");
            background-color: #EB6100;
            background-size: 37px; }
          #sec5 .group-price .item .li-price li:nth-child(3) {
            background-image: url("../img/shared/price_icon_3.png");
            background-position: center 12px;
            background-size: 28px;
            background-color: #C60018; }
          @media screen and (max-width: 1080px) {
            #sec5 .group-price .item .li-price li {
              font-size: 16px;
              line-height: 34px;
              padding: 53px 0 9px;
              height: 131px; }
              #sec5 .group-price .item .li-price li span {
                font-size: 20px; } }
      #sec5 .group-price .item .bnr a {
        display: block;
        background: #C60018;
        background: linear-gradient(90deg, #c60018 0%, #ff9301 100%);
        color: #fff;
        text-align: center;
        font-size: 35px;
        font-weight: 700;
        line-height: 68px;
        border-radius: 11px; }
        #sec5 .group-price .item .bnr a:hover {
          opacity: 0.8; }
        @media screen and (max-width: 1080px) {
          #sec5 .group-price .item .bnr a {
            font-size: 30px; } }
        @media screen and (max-width: 999px) {
          #sec5 .group-price .item .bnr a {
            font-size: 24px;
            line-height: 60px; } }
        @media screen and (max-width: 767px) {
          #sec5 .group-price .item .bnr a {
            font-size: 20px;
            line-height: 55px; } }
    @media screen and (max-width: 999px) {
      #sec5 .group-price .item {
        width: calc(50% - 10px);
        font-size: 14px; }
        #sec5 .group-price .item h3 {
          font-size: 30px; }
        #sec5 .group-price .item .price {
          font-size: 35px; }
          #sec5 .group-price .item .price .f {
            font-size: 60px; }
          #sec5 .group-price .item .price .f1 {
            font-size: 14px; }
        #sec5 .group-price .item .li-price {
          gap: 10px; }
          #sec5 .group-price .item .li-price li {
            font-size: 12px;
            line-height: 24px;
            background-size: auto 20px !important;
            padding: 33px 0 0;
            height: 95px; }
            #sec5 .group-price .item .li-price li span {
              font-size: 18px; } }
    @media screen and (max-width: 767px) {
      #sec5 .group-price {
        gap: 30px; }
        #sec5 .group-price .item {
          width: 100%;
          padding: 20px 15px; }
          #sec5 .group-price .item .price {
            padding: 0 !important;
            margin: 0px 0 20px; }
          #sec5 .group-price .item .li-price {
            margin-bottom: 30px; } }
  #sec5 .txt-end {
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0; }
    #sec5 .txt-end a {
      color: #FF9301;
      text-decoration: underline; }
      #sec5 .txt-end a:hover {
        text-decoration: none; }
    @media screen and (max-width: 999px) {
      #sec5 .txt-end {
        font-size: 20px; } }
    @media screen and (max-width: 767px) {
      #sec5 .txt-end {
        font-size: 18px; } }
  @media screen and (max-width: 767px) {
    #sec5 {
      padding: 60px 0; }
      #sec5 .menu {
        position: relative;
        padding-top: 130vw; }
        #sec5 .menu .photo {
          position: absolute;
          top: 12vw;
          left: 0;
          right: 0;
          padding: 0 9%; }
          #sec5 .menu .photo.ext {
            top: 0;
            padding: 0px 11%; }
      #sec5 .tbl-price table {
        border-spacing: 4px; }
      #sec5 .tbl-price tr td {
        width: 68%;
        padding: 10px;
        line-height: 20px;
        font-size: 12px;
        letter-spacing: 0; }
      #sec5 .tbl-price tr td:first-child {
        line-height: 20px;
        font-size: 12px;
        width: 32%;
        padding-right: 0;
        white-space: nowrap; }
      #sec5 .tbl-price tr.f_ext td {
        font-size: 12px; }
        #sec5 .tbl-price tr.f_ext td span {
          font-size: 9px;
          line-height: 15px; }
      #sec5 .link {
        width: auto;
        margin: 0 auto; }
        #sec5 .link .tag {
          width: auto;
          margin: 0 auto 10px; }
        #sec5 .link ul {
          gap: 20px 0; }
        #sec5 .link .bnr-shared {
          width: 80%;
          margin: 0 auto; }
          #sec5 .link .bnr-shared a.lager {
            border: 2px solid #CD0019;
            font-size: 5vw;
            padding: 6vw 5.6vw 6vw 0;
            line-height: 1.2;
            gap: 2vw; }
            #sec5 .link .bnr-shared a.lager:before {
              border-top-width: 2.3vw;
              border-left-width: 4vw;
              border-bottom-width: 2.3vw;
              right: 3.5vw; }
          #sec5 .link .bnr-shared a.bd {
            line-height: 1.4; }
          #sec5 .link .bnr-shared:first-child {
            width: 100%;
            margin-bottom: 20px; } }

#sec6 {
  padding: 140px 0 50px;
  position: relative;
  overflow: hidden; }
  #sec6:before {
    content: '';
    background: url("../img/shared/sec6_deco.png") no-repeat 0 0/100%;
    width: 457px;
    height: 457px;
    position: absolute;
    right: 0;
    top: 0;
    transform: translateY(-50%); }
    @media screen and (max-width: 1500px) {
      #sec6:before {
        width: 25vw;
        height: 25vw; } }
  #sec6 .h2-tt {
    margin-bottom: 64px; }
  #sec6 .note {
    font-size: 18px; }
  #sec6 .group {
    position: relative;
    margin: 115px auto 140px; }
    #sec6 .group:before {
      content: '';
      position: absolute;
      top: 51px;
      left: 12.5%;
      right: 12.5%;
      border-top: 1px solid #FF9301;
      z-index: -1; }
    #sec6 .group .sub-step {
      font-size: 18px;
      position: absolute;
      top: -10px;
      left: 25%;
      right: 25%;
      text-align: center;
      letter-spacing: 0;
      color: #000; }
      #sec6 .group .sub-step:before {
        position: absolute;
        content: '';
        border-left: 1px dashed #FF9301;
        height: 21px;
        left: 50%;
        bottom: -28px; }
    #sec6 .group .step {
      width: calc((100% - 40px)/4);
      position: relative;
      z-index: 1; }
      #sec6 .group .step .heightLine-step {
        background-color: #FAFAFA; }
      #sec6 .group .step .num {
        width: 102px;
        height: 102px;
        border-radius: 50%;
        color: #fff;
        background-color: #FF9301;
        align-content: center;
        justify-content: center;
        text-align: center;
        margin: 0 auto -20px;
        font-size: 25px;
        letter-spacing: 0.05em;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        flex-wrap: wrap;
        line-height: 1;
        position: relative;
        z-index: 1; }
        #sec6 .group .step .num span {
          display: block;
          width: 100%;
          font-size: 40px;
          letter-spacing: 0.05em; }
      #sec6 .group .step dl {
        padding: 43px 22px 40px;
        letter-spacing: 0em; }
        #sec6 .group .step dl p {
          padding-bottom: 30px; }
        #sec6 .group .step dl dt {
          font-size: 18px;
          color: #000;
          letter-spacing: 0em;
          text-align: center;
          margin: 0 -20px 20px; }
    @media screen and (max-width: 1200px) {
      #sec6 .group {
        gap: 40px;
        max-width: 730px;
        width: 100%; }
        #sec6 .group:before {
          left: 25%;
          right: 25%; }
        #sec6 .group .step {
          width: calc(50% - 20px); }
          #sec6 .group .step .line:before {
            content: '';
            position: absolute;
            border-left: 1px solid #FF9301;
            height: 40px;
            left: 50%;
            top: 0;
            transform: translateY(-100%); }
          #sec6 .group .step .line:after {
            content: '';
            position: absolute;
            border-top: 1px solid #FF9301;
            width: 83vw;
            right: 0;
            top: 50%;
            max-width: 410px; }
          #sec6 .group .step.step4 {
            order: 3; }
          #sec6 .group .step.step3 {
            order: 4; }
        #sec6 .group .sub-step {
          left: 25%;
          right: 25%; } }
  #sec6 .next {
    text-align: center;
    font-size: 40px;
    line-height: 1.5;
    font-weight: 700;
    color: #000;
    max-width: 912px;
    margin: 0 auto;
    position: relative; }
    #sec6 .next:before {
      background: url("../img/shared/catch1.png") no-repeat 0 0, url("../img/shared/catch.png") no-repeat right 0;
      content: '';
      position: absolute;
      top: 42px;
      left: 0;
      right: 0;
      bottom: 0; }
    #sec6 .next dt {
      color: #CD0019;
      font-size: 60px;
      line-height: 1;
      padding-bottom: 11px; }
    #sec6 .next dl {
      margin-bottom: 73px; }
    #sec6 .next .arrow {
      width: 90px;
      margin: 0 auto; }
    @media screen and (max-width: 999px) {
      #sec6 .next {
        font-size: 30px; }
        #sec6 .next dt {
          font-size: 50px; }
        #sec6 .next .arrow {
          width: 80px; } }
  @media screen and (max-width: 767px) {
    #sec6 {
      padding: 60px 0; }
      #sec6 .note {
        font-size: 16px; }
      #sec6 .group {
        gap: 40px 0;
        margin: 40px 0 60px;
        padding-top: 58px; }
        #sec6 .group:before {
          display: none; }
        #sec6 .group .sub-step {
          left: auto;
          right: auto;
          top: auto;
          position: relative;
          width: 100%;
          background: #fff;
          z-index: 9;
          padding-bottom: 25px;
          margin-bottom: -40px; }
          #sec6 .group .sub-step:before {
            bottom: 0; }
        #sec6 .group .heightLine-step {
          height: auto !important; }
        #sec6 .group .step {
          width: 100%; }
          #sec6 .group .step dl p {
            padding-bottom: 20px; }
          #sec6 .group .step:after {
            content: '';
            border-left: 1px solid #FF9301;
            height: 60px;
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateY(100%); }
          #sec6 .group .step .line:after {
            display: none; }
          #sec6 .group .step.step3 {
            order: 3; }
          #sec6 .group .step.step4 {
            order: 4; }
            #sec6 .group .step.step4:after {
              display: none; }
      #sec6 .next {
        font-size: 16px;
        max-width: 380px;
        margin: 0 auto; }
        #sec6 .next:before {
          background: url("../img/shared/catch1_sp.png") no-repeat 0 0, url("../img/shared/catch_sp.png") no-repeat right 0;
          top: 0;
          left: -50px;
          right: -50px;
          bottom: 0;
          height: 120px; }
        #sec6 .next .arrow {
          width: 40px; }
        #sec6 .next dl {
          margin-bottom: 30px; }
        #sec6 .next dt {
          font-size: 30px; } }

#faq .lead {
  background: url("../img/shared/faq.jpg") no-repeat center 0/cover;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 343px; }
  #faq .lead .h2-tt {
    margin-bottom: 0; }
  @media screen and (max-width: 767px) {
    #faq .lead {
      min-height: 140px;
      background-size: cover;
      background-position: right 0; } }
#faq .qa {
  padding: 90px 0 115px;
  position: relative;
  z-index: 1; }
  #faq .qa:before {
    content: '';
    background: url("../img/shared/faq_deco.png") no-repeat 0 0/100%;
    width: 690px;
    height: 920px;
    position: absolute;
    z-index: -1;
    top: 11px;
    right: -316px; }
  #faq .qa .toggle {
    background-color: #fff;
    border-radius: 17px;
    box-shadow: 0px 5px 8px 0px rgba(0, 0, 0, 0.13);
    -webkit-box-shadow: 0px 5px 8px 0px rgba(0, 0, 0, 0.13);
    -moz-box-shadow: 0px 5px 8px 0px rgba(0, 0, 0, 0.13);
    margin-bottom: 44px; }
    #faq .qa .toggle .toggle-link {
      font-size: 24px;
      font-weight: 700;
      color: #000;
      position: relative;
      cursor: pointer;
      padding: 40px 92px;
      letter-spacing: 0.05em; }
      #faq .qa .toggle .toggle-link:after {
        content: '';
        background: url("../img/shared/arow2.png") no-repeat 0 0/100%;
        width: 35px;
        height: 35px;
        position: absolute;
        top: 41px;
        right: 30px; }
      #faq .qa .toggle .toggle-link:before {
        content: '';
        background: url("../img/shared/Q.svg") no-repeat 0 0/100%;
        width: 34px;
        height: 32px;
        position: absolute;
        left: 40px;
        top: 40px; }
    #faq .qa .toggle .txt {
      padding: 0px 60px 40px 94px; }
      #faq .qa .toggle .txt p:not(:last-child) {
        padding-bottom: 30px; }
      #faq .qa .toggle .txt .t {
        font-weight: 700; }
    #faq .qa .toggle.active .toggle-link:after {
      transform: rotate(180deg); }
  @media screen and (max-width: 767px) {
    #faq .qa {
      padding: 40px 0 0px; }
      #faq .qa .toggle {
        border-radius: 17px;
        font-size: 14px;
        margin-bottom: 44px; }
        #faq .qa .toggle .toggle-link {
          font-size: 18px;
          padding: 20px 40px 20px 55px; }
          #faq .qa .toggle .toggle-link:after {
            width: 25px;
            height: 25px;
            right: 10px;
            top: 20px; }
          #faq .qa .toggle .toggle-link:before {
            width: 28px;
            height: 30px;
            left: 20px;
            top: 20px; }
        #faq .qa .toggle .txt {
          padding: 0px 20px 30px 55px; } }

#message {
  position: relative;
  z-index: 1; }
  #message:before {
    content: '';
    background: url("../img/shared/owner.jpg") no-repeat center/cover;
    height: 550px;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    z-index: -1; }
  #message .wrap {
    padding-top: 155px; }
  #message h2 {
    color: #fff;
    font-size: 65px;
    line-height: 1.5384;
    letter-spacing: 0.03em;
    font-weight: 700;
    padding-bottom: 30px;
    padding-bottom: 17px; }
  #message .note {
    font-weight: 700;
    font-size: 24px;
    letter-spacing: 0.05em; }
  #message .info {
    color: #000;
    background-color: #fff;
    padding: 53px 46px 22px 58px;
    margin-top: 104px;
    font-size: 18px;
    line-height: 35px;
    letter-spacing: 0;
    margin-bottom: 290px; }
    #message .info p {
      padding-bottom: 35px; }
  #message .next {
    text-align: center;
    color: #000;
    font-size: 50px;
    line-height: 1.6;
    font-weight: 700;
    padding-bottom: 40px;
    letter-spacing: 0.05em; }
    #message .next .bnr-shared {
      max-width: 500px;
      margin: 60px auto 130px; }
      #message .next .bnr-shared a {
        line-height: 90px;
        gap: 19px; }
        #message .next .bnr-shared a.app.orange:before {
          width: 45px;
          height: 45px; }
    #message .next .arow {
      width: 90px;
      margin: 0 auto; }
  @media screen and (max-width: 1200px) {
    #message:before {
      background-position: 61% 0; }
    #message h2 {
      font-size: 60px; } }
  @media screen and (max-width: 1080px) {
    #message h2 {
      font-size: 50px; }
    #message .note {
      font-size: 20px; } }
  @media screen and (max-width: 999px) {
    #message:before {
      background-size: auto 78%;
      background-position: 56% 0; }
    #message .wrap {
      padding-top: 130px; }
    #message h2 {
      font-size: 40px; }
    #message .note {
      font-size: 17px; }
    #message .next {
      font-size: 40px; }
      #message .next .arow {
        width: 80px; }
    #message .info {
      padding: 40px 30px; } }
  @media screen and (max-width: 767px) {
    #message:before {
      background-size: auto 100%;
      height: 64vw;
      background-position: 59% -5vw; }
    #message .wrap {
      padding-top: 20vw; }
    #message h2 {
      font-size: 5.5vw;
      padding-bottom: 3vw; }
    #message .note {
      font-size: 12px;
      line-height: 18px; }
    #message .info {
      margin: 6vw 0 100px;
      font-size: 15px;
      line-height: 28px;
      padding: 30px 20px 10px; }
      #message .info p {
        padding-bottom: 20px; }
    #message .next {
      font-size: 22px; }
      #message .next .bnr-shared {
        margin: 30px auto 50px; }
        #message .next .bnr-shared a {
          line-height: 2; }
          #message .next .bnr-shared a.app.orange:before {
            width: 8vw;
            height: 8vw; }
      #message .next .arow {
        width: 40px; } }

.failed .confirm_table input[type="text"],
.failed .confirm_table input[type="tel"],
.failed .confirm_table input[type="email"],
.failed .confirm_table textarea,
.failed .confirm_table select,
.failed .confirm_table input[type="checkbox"] {
  display: none !important; }

.failed .confirm_table .required,
.failed .confirm_table .optional {
  display: none !important; }

.failed .confirm_table .wpcf7-list-item-label {
  display: none !important; }

.confirm_table .radio_style input[disabled="disabled"] + .wpcf7-list-item-label {
  display: none !important; }

.confirm_table .radio_style .wpcf7-list-item-label {
  display: block !important; }

.confirm_table .radio_style .wpcf7-list-item-label label.icon-check {
  padding-left: 0; }

.confirm_table .radio_style .wpcf7-list-item-label label.icon-check:before {
  display: none !important; }

.failed .confirm_table span.comment {
  display: none !important; }

.failed .confirm_table .wpcf7-form-control-wrap.your-email_confirm {
  display: none !important; }

.result_txt {
  display: block;
  white-space: pre-wrap; }

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
  border-color: #FF9301; }

#contact {
  padding: 100px 30px 180px; }
  #contact .h2-tt {
    margin-bottom: 85px; }
  #contact .wrap {
    border: 2px solid #CD0019; }
  #contact input, #contact textarea, #contact select {
    padding: 18px 20px;
    font: inherit;
    line-height: 1.5;
    background: #fff;
    border-radius: 8px;
    width: 100%;
    border: 1px solid #707070;
    appearance: none;
    -webkit-appearance: none;
    font-weight: 500; }
  #contact input[type='checkbox'] {
    display: inline-block;
    width: auto;
    position: absolute;
    z-index: 999;
    width: 100%;
    /* padding: 0; */
    cursor: pointer; }
  #contact .i-custom .wpcf7-form-control {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 0;
    line-height: 30px; }
  #contact .i-custom .wpcf7-list-item {
    margin: 0 35px 0 0; }
    @media screen and (max-width: 767px) {
      #contact .i-custom .wpcf7-list-item {
        width: 100%;
        margin: 0;
        line-height: 24px; } }
    #contact .i-custom .wpcf7-list-item:nth-child(5) {
      min-width: 223px; }
    #contact .i-custom .wpcf7-list-item input:checked ~ span:after {
      opacity: 1;
      transform: scale(1); }
    #contact .i-custom .wpcf7-list-item span {
      padding-left: 43px;
      position: relative;
      display: block; }
      #contact .i-custom .wpcf7-list-item span:before, #contact .i-custom .wpcf7-list-item span:after {
        content: "";
        margin: auto;
        border-radius: 2px;
        position: absolute;
        top: 0;
        bottom: 0;
        transition: all .3s ease;
        box-sizing: border-box; }
      #contact .i-custom .wpcf7-list-item span:before {
        background: #FEFEFE;
        width: 30px;
        height: 30px;
        border: 1px solid #707070;
        border-radius: 0;
        margin: 0;
        left: 0; }
      #contact .i-custom .wpcf7-list-item span:after {
        opacity: 0;
        background: #707070;
        width: 16px;
        height: 16px;
        left: 7px;
        transform: scale(0);
        border-radius: 0;
        margin: 0;
        top: 7px; }
      @media screen and (max-width: 767px) {
        #contact .i-custom .wpcf7-list-item span:before {
          width: 24px;
          height: 24px; }
        #contact .i-custom .wpcf7-list-item span:after {
          width: 12px;
          height: 12px;
          left: 6px;
          top: 6px; } }
  #contact select {
    width: auto; }
  #contact select {
    background-position: calc(100% - 3px) 50%;
    background-repeat: no-repeat;
    background-size: 40px 16px;
    appearance: none;
    /* padding-left: .75rem; */
    /* padding-right: 1.25rem; */
    width: 50%; }
  #contact select {
    background-image: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23212529' viewBox='0 0 1000 1000'%3E%3Cpath d='M500,10L227.8,391.1h544.4L500,10z M500,990l272.2-381.1H227.8L500,990z'%3E%3C/path%3E%3C/svg%3E"); }
  #contact select::-ms-expand {
    display: none; }
  #contact textarea {
    resize: vertical;
    height: 220px; }
  #contact input:focus, #contact textarea:focus {
    background: #fffaf0; }
  #contact .btBox {
    justify-content: center;
    padding: 40px 0 0;
    text-align: center; }
    #contact .btBox .wpcf7-spinner {
      margin-top: 10px; }
    #contact .btBox p {
      width: 100%;
      max-width: 500px; }
    #contact .btBox input {
      display: block;
      width: 100%;
      padding: 0;
      border: 2px solid #FF9301;
      border-radius: 42px;
      color: #fff;
      font-size: 24px;
      font-weight: 700;
      background-color: #FF9301;
      text-align: center;
      cursor: pointer;
      line-height: 90px;
      box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.25);
      -webkit-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.25);
      -moz-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.25); }
      #contact .btBox input:hover {
        background-color: #fff;
        color: #FF9301;
        transition: all .3s ease;
        -moz-transition: all .3s ease;
        -webkit-transition: all .3s ease; }
      @media screen and (max-width: 999px) {
        #contact .btBox input {
          line-height: 80px; } }
    #contact .btBox .btn-back input {
      background: #f5f5f5;
      color: #000; }
      #contact .btBox .btn-back input:hover {
        background: #ff9301;
        color: #fff; }
  #contact .contact-box {
    padding: 90px 0px 110px;
    max-width: 1000px;
    margin: 0 auto; }
  #contact .note {
    font-size: 18px;
    line-height: 35px;
    padding-bottom: 30px; }
  #contact .inquiryFormTable {
    color: #000; }
    #contact .inquiryFormTable dl {
      font-weight: 700;
      font-size: 18px;
      letter-spacing: 0;
      padding-bottom: 27px; }
      #contact .inquiryFormTable dl dt {
        padding-bottom: 13px; }
      #contact .inquiryFormTable dl dd.gr {
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-start;
        gap: 18px; }
        #contact .inquiryFormTable dl dd.gr .your-name {
          margin-right: 12px; }
    #contact .inquiryFormTable .required {
      color: #fff;
      background-color: #F20E0F;
      letter-spacing: 0.05em;
      font-size: 16px;
      line-height: 25px;
      border-radius: 33px;
      width: 66px;
      margin: 0 14px 0 0;
      display: inline-block;
      text-align: center;
      vertical-align: text-bottom; }
    #contact .inquiryFormTable.confirm_table dl {
      border-bottom: 1px solid;
      padding: 10px 0; }
    #contact .inquiryFormTable.confirm_table .btBox {
      justify-content: center;
      padding: 40px 30px 0;
      gap: 20px;
      justify-content: space-between; }
      #contact .inquiryFormTable.confirm_table .btBox p {
        width: calc(50% - 15px); }
      @media screen and (max-width: 999px) {
        #contact .inquiryFormTable.confirm_table .btBox p {
          width: calc(50% - 10px); } }
      @media screen and (max-width: 767px) {
        #contact .inquiryFormTable.confirm_table .btBox p {
          width: 100%; } }
    #contact .inquiryFormTable.confirm_table dd {
      font-weight: 500; }
  @media screen and (max-width: 767px) {
    #contact {
      padding: 60px 20px; }
      #contact .contact-box {
        padding: 40px 0px; }
      #contact .h2-tt {
        margin-bottom: 50px; }
      #contact .note {
        font-size: 15px;
        line-height: 28px; }
      #contact input, #contact textarea, #contact select {
        padding: 10px; }
      #contact select {
        width: 100%; }
      #contact .inquiryFormTable dl {
        font-size: 15px; }
        #contact .inquiryFormTable dl dd.gr {
          flex-wrap: wrap; }
          #contact .inquiryFormTable dl dd.gr span {
            width: calc(100% - 36px);
            margin: 0 !important; }
      #contact .inquiryFormTable .btBox {
        padding: 20px 20px 0; }
        #contact .inquiryFormTable .btBox input {
          width: 100%;
          font-size: 20px;
          line-height: 50px;
          border-radius: 36px; }
      #contact .inquiryFormTable.confirm_table .btBox {
        padding: 40px 0 0; }
        #contact .inquiryFormTable.confirm_table .btBox input {
          width: 100%; } }

#thanks {
  text-align: center;
  padding: 200px 0; }
  #thanks h3 {
    font-size: 30px;
    line-height: 1.45;
    font-weight: 700;
    padding-bottom: 30px; }
  @media screen and (max-width: 767px) {
    #thanks {
      padding: 100px 0;
      font-size: 14px; } }

@keyframes sdb07 {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 0; } }
.arow-ani span {
  display: block;
  -webkit-animation: sdb07 2s infinite;
  animation: sdb07 2s infinite;
  opacity: 0; }
  .arow-ani span:nth-child(1) {
    -webkit-animation-delay: 0s;
    animation-delay: 0s; }
  .arow-ani span:nth-child(2) {
    -webkit-animation-delay: .15s;
    animation-delay: .15s; }
  .arow-ani span:nth-child(3) {
    -webkit-animation-delay: .3s;
    animation-delay: .3s; }
