@charset "UTF-8";
@font-face {
  font-family: KozGoPr6N-Bold;
  src: url("../fonts/KozGoPr6N-Bold.woff2"); }
@font-face {
  font-family: KozGoPr6N-Medium;
  src: url("../fonts/KozGoPr6N-Medium.woff2"); }
@font-face {
  font-family: KozGoPr6N-Regular;
  src: url("../fonts/KozGoPr6N-Regular.woff2"); }
@font-face {
  font-family: hiraMinProp-regular;
  src: url("../fonts/HiraMinPro-W3.woff2"); }
@font-face {
  font-family: hiraMinProp-bold;
  src: url("../fonts/HiraMinPro-W6.woff2"); }
@font-face {
  font-family: noto-black;
  src: url("../fonts/NotoSansCJKjp-Black.woff2"); }
@font-face {
  font-family: noto-bold;
  src: url("../fonts/NotoSansCJKjp-Bold.woff2"); }
@font-face {
  font-family: noto-regular;
  src: url("../fonts/NotoSansCJKjp-Regular.woff2"); }
.pc {
  display: flex !important; }

.sp {
  display: none !important; }

.tc {
  display: block !important; }

.tb {
  display: none !important; }

@media print, screen and (max-width: 641px) {
  .tc {
    display: none !important; }

  .tb {
    display: block !important; } }
@media only screen and (max-width: 640px) {
  .pc {
    display: none !important; }

  .sp {
    display: flex !important; } }
@media print, screen and (min-width: 769px) {
  .pc-hide {
    display: none !important; } }
@media only screen and (max-width: 640px) {
  .sp-hide {
    display: none !important; } }
#wrapper {
  position: relative;
  width: 100%; }

main {
  position: relative; }

/* input */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
select,
textarea {
  position: relative;
  background-color: transparent;
  border: 1px solid #672E2B;
  box-sizing: border-box;
  padding: 0.9rem 1.6rem;
  width: 100%;
  font-weight: normal;
  font-size: 1.8rem;
  line-height: 3.0rem;
  text-align: left;
  color: #000000;
  outline: none !important; }
  @media only screen and (max-width: 640px) {
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    input[type="password"],
    select,
    textarea {
      padding: 1.2rem 1.6rem;
      font-size: 2.4rem;
      line-height: 3.2rem; } }

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
select {
  height: 4.8rem; }
  @media only screen and (max-width: 640px) {
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    input[type="password"],
    select {
      height: 5.6rem; } }

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus {
  border-color: #672E2B; }

picture,
figure,
.image_wrap {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  overflow: hidden; }

picture img,
figure img,
.image_wrap img {
  width: 100%; }

.common-page {
  position: relative;
  padding: 8.0rem 0 12.0rem; }
  @media only screen and (max-width: 640px) {
    .common-page {
      padding: 6.0rem 0 18.0rem; } }

.p-lead-section {
  position: relative;
  padding: 4.8rem 0 7.0rem; }
  @media only screen and (max-width: 640px) {
    .p-lead-section {
      padding: 4.0rem 0 6.0rem; } }

.column-section {
  position: relative;
  padding: 6.0rem 0; }
  @media only screen and (max-width: 640px) {
    .column-section {
      padding: 5.0rem 0; } }

.p-archive-section {
  position: relative;
  padding: 7.0rem 0; }
  @media only screen and (max-width: 640px) {
    .p-archive-section {
      padding: 6.0rem 0; } }

.m-text {
  position: relative;
  font-family: hiraMinProp-regular;
  font-size: 1.8rem;
  line-height: 3.2rem;
  text-align: left;
  color: #171C61; }
  @media only screen and (max-width: 640px) {
    .m-text {
      font-size: 2.4rem;
      line-height: 4.0rem; } }

.mx-text {
  position: relative;
  font-family: hiraMinProp-regular;
  font-size: 1.4rem;
  line-height: 2;
  text-align: left;
  color: #171C61; }
  @media only screen and (max-width: 640px) {
    .mx-text {
      font-size: 2.4rem;
      line-height: 4.0rem; } }

.lead-title {
  position: relative;
  font-family: hiraMinProp-regular;
  font-size: 2.8rem;
  line-height: 4.0rem;
  color: #FFFFFF;
  margin-bottom: 2.0rem; }
  @media only screen and (max-width: 640px) {
    .lead-title {
      margin-bottom: 2.0rem; } }

.text-list {
  position: relative;
  list-style-type: "・";
  padding-left: 1.8rem; }

.underline_bg {
  display: inline;
  background: linear-gradient(transparent 68%, #FBB03B 0%); }

.section-title {
  position: relative; }
  .section-title .lead {
    position: relative;
    font-size: 3.6rem;
    line-height: 1.3;
    color: #3340A3; }
    @media only screen and (max-width: 640px) {
      .section-title .lead {
        font-size: 3.2rem; } }

.section-lead {
  position: relative;
  margin-bottom: 3.5rem; }
  .section-lead .title {
    position: relative;
    font-size: 3.6rem;
    line-height: 1.3;
    color: #3340A3; }
    @media only screen and (max-width: 640px) {
      .section-lead .title {
        font-size: 3.2rem; } }
  .section-lead .text {
    position: relative;
    font-family: noto-regular;
    font-size: 1.6rem;
    line-height: 2;
    color: #000000;
    text-align: center; }
    @media only screen and (max-width: 640px) {
      .section-lead .text {
        font-size: 1.8rem;
        line-height: 2; } }
    .section-lead .text span {
      color: #DD0012; }

/* btn */
.btn-wrap {
  position: relative; }

.btn {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 20px;
  max-width: 240px;
  width: 100%;
  height: 50px;
  background: #F2F2F2;
  border: 1px solid #858585;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  line-height: 24px;
  font-weight: 300;
  color: #1A1A1A;
  text-align: center;
  text-decoration: none;
  outline: none;
  transition: all 0.4s;
  cursor: pointer; }
  @media only screen and (max-width: 640px) {
    .btn {
      height: 45px;
      max-width: 200px; } }
  .btn span {
    position: relative;
    color: inherit;
    text-decoration: none;
    z-index: 3; }
  .btn:hover {
    background: #A10707;
    border-color: #A10707;
    color: #FFFFFF; }

.viewmore_link_wrap {
  position: relative; }
  .viewmore_link_wrap .viewmore_link {
    position: relative;
    display: inline-block;
    font-family: "Ubuntu";
    font-weight: bold;
    font-style: italic;
    font-size: 16px;
    line-height: 26px;
    color: #FF7100;
    text-decoration: none; }
    .viewmore_link_wrap .viewmore_link::before {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 2px;
      background: #FF7100; }
    .viewmore_link_wrap .viewmore_link::after {
      content: ">";
      display: inline-block;
      line-height: 1;
      margin-left: 6px;
      vertical-align: text-bottom; }
    .viewmore_link_wrap .viewmore_link:hover::before {
      width: 100%;
      animation: link-lineloop 0.6s ease-out;
      -webkit-animation: link-lineloop 0.6s ease-out; }

.view-more {
  position: relative; }

.link-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  outline: none;
  transition: all 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  cursor: pointer;
  width: 22rem;
  height: 6rem;
  background: #3340A3; }
  .link-btn span {
    position: relative;
    font-family: noto-black;
    font-size: 2rem;
    color: #FFFFFF;
    text-decoration: none;
    line-height: 1;
    z-index: 3; }
  .link-btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background: #FFFFFF;
    width: 100%;
    height: 100%;
    transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
    transform-origin: right top;
    transform: scale(0, 1);
    z-index: 1; }
  .link-btn:hover::before {
    transform-origin: left top;
    transform: scale(1, 1); }
  .link-btn:hover span {
    color: #3340A3; }
  .link-btn.btn-blue {
    background: #171C61; }
    .link-btn.btn-blue:hover span {
      color: #171C61; }
  .link-btn.btn-base {
    background: transparent;
    border: 1px solid #FFFFFF; }

.form-btn {
  position: relative;
  display: inline-block;
  padding: 2.0rem 3.0rem;
  max-width: 100%;
  width: 30.0rem;
  background-color: #672E2B;
  border: 1px solid #672E2B;
  border-radius: 0.6rem;
  font-family: "Kozuka Gothic Pr6N", sans-serif;
  font-weight: 500;
  font-size: 2.3rem;
  line-height: 3.6rem;
  text-align: center;
  color: #FFFFFF;
  white-space: nowrap;
  text-align: center;
  text-decoration: none;
  outline: none;
  transition: all 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  cursor: pointer;
  overflow: hidden;
  margin: 0 2.0rem;
  z-index: 0; }
  @media only screen and (max-width: 640px) {
    .form-btn {
      width: 32.0rem;
      font-size: 2.4rem;
      line-height: 3.6rem; }
      .form-btn:not(:last-child) {
        margin-bottom: 3.0rem; } }
  .form-btn span {
    position: relative;
    color: inherit;
    text-decoration: none;
    z-index: 3; }
  .form-btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background: #FFFFFF;
    width: 100%;
    height: 100%;
    transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
    transform-origin: right top;
    transform: scale(0, 1);
    z-index: 1; }
  .form-btn:hover {
    color: #672E2B; }
    .form-btn:hover::before {
      transform-origin: left top;
      transform: scale(1, 1); }

.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  display: none;
  outline: 0;
  opacity: 0;
  transition: opacity .1s linear;
  padding: 1.5rem;
  overflow-x: hidden;
  overflow-y: auto;
  background: rgba(0, 0, 0, 0.5); }
  .modal .modal-dialog {
    position: relative;
    max-width: 70.0rem;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out;
    transform: translate(0, -15%);
    margin: auto; }
  .modal .modal-content {
    position: relative;
    display: block;
    width: 100%;
    background: #FFFFFF;
    border-radius: 0.6rem;
    border: 1px solid rgba(0, 0, 0, 0.2);
    pointer-events: auto; }
  .modal .close {
    position: absolute;
    top: -1.0rem;
    right: -1.0rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.2rem 0.6rem;
    width: 3.0rem;
    height: 3.0rem;
    background-color: #FCEE21;
    border-radius: 50%;
    font-size: 1.6rem;
    line-height: 1;
    z-index: 3; }
  .modal .modal-body {
    position: relative;
    padding: 2.0rem; }
  .modal.show {
    opacity: 1; }
    .modal.show .modal-dialog {
      transform: translate(0, 0); }

.modal-open {
  overflow: hidden; }

#toc_container {
  position: relative;
  display: block;
  max-width: 100%;
  width: 100%;
  border: 1px solid #D9D9D9;
  border-radius: 1.5rem;
  font-size: 100%;
  line-height: 1.8;
  letter-spacing: 0.05em;
  padding: 2.4rem;
  margin-top: 3.0rem;
  margin-bottom: 3.0rem; }
  @media only screen and (max-width: 640px) {
    #toc_container {
      letter-spacing: 0;
      padding: 1.8rem;
      margin-top: 2.4rem;
      margin-bottom: 2.5rem;
      border-radius: 1.2rem; } }
  #toc_container .toc_title {
    position: relative;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #000000;
    text-align: center;
    margin: 0;
    padding: 0; }
    @media only screen and (max-width: 640px) {
      #toc_container .toc_title {
        font-size: 1.6rem; } }
  #toc_container .toc_list {
    margin-top: 1.0rem !important; }
    #toc_container .toc_list .toc_number {
      margin-right: 0.4rem; }

.accordion-item-list {
  position: relative;
  margin-bottom: 5rem; }
  .accordion-item-list:last-child {
    margin: 0; }
  .accordion-item-list .accordion-item {
    position: relative; }
    .accordion-item-list .accordion-item:not(:last-child) {
      margin-bottom: 1.6rem; }
    .accordion-item-list .accordion-item .accordion-question {
      position: relative;
      padding: 0;
      margin: 0;
      background: #C7AD87;
      display: flex;
      align-items: center;
      cursor: pointer; }
      .accordion-item-list .accordion-item .accordion-question::after {
        content: "";
        position: absolute;
        top: calc(50% - 0.2rem);
        right: 2.4rem;
        display: inline-block;
        width: 1.0rem;
        height: 1.0rem;
        border-left: 1px solid #171C61;
        border-bottom: 1px solid #171C61;
        transition: transform ease-in-out 0.4s;
        transform: translateY(-50%) rotate(-45deg);
        z-index: 2; }
        @media only screen and (max-width: 640px) {
          .accordion-item-list .accordion-item .accordion-question::after {
            width: 1.4rem;
            height: 1.4rem; } }
      .accordion-item-list .accordion-item .accordion-question h3 {
        position: relative;
        display: block;
        width: 100%;
        font-family: hiraMinProp-regular;
        font-size: 1.4rem;
        line-height: 1.3;
        text-align: left;
        color: #171C61;
        padding: 2.4rem 6.0rem 2.4rem 10.0rem;
        z-index: 0; }
        @media only screen and (max-width: 640px) {
          .accordion-item-list .accordion-item .accordion-question h3 {
            padding: 2.4rem 6.0rem 2.4rem 6.0rem;
            font-size: 1.8rem; } }
        .accordion-item-list .accordion-item .accordion-question h3::before {
          content: "Q";
          position: absolute;
          display: inline-block;
          top: 50%;
          transform: translateY(-50%);
          left: 3rem;
          font-family: hiraMinProp-regular;
          font-size: 4.8rem;
          line-height: 1.3;
          text-align: left;
          color: #FFFFFF; }
          @media only screen and (max-width: 640px) {
            .accordion-item-list .accordion-item .accordion-question h3::before {
              left: 2rem;
              font-size: 3.6rem; } }
      .accordion-item-list .accordion-item .accordion-question.expanded::after {
        border-left: none;
        border-bottom: none;
        border-right: 1px solid #171C61;
        border-top: 1px solid #171C61;
        top: calc(50% + 0.6rem); }
    .accordion-item-list .accordion-item .accordion-answer {
      position: relative;
      display: none;
      padding: 3.6rem 2.4rem 3.6rem 0;
      background: #FFFFFF;
      margin-top: 0.5rem; }
      @media only screen and (max-width: 640px) {
        .accordion-item-list .accordion-item .accordion-answer {
          padding: 2.4rem 2rem 2.4rem 0; } }
      .accordion-item-list .accordion-item .accordion-answer .content {
        position: relative;
        padding: 0 0 0 10.0rem;
        margin: 0; }
        @media only screen and (max-width: 640px) {
          .accordion-item-list .accordion-item .accordion-answer .content {
            padding-left: 6rem; } }
        .accordion-item-list .accordion-item .accordion-answer .content::before {
          content: "A";
          position: absolute;
          top: -1.0rem;
          left: 3rem;
          font-size: 4.8rem;
          line-height: 1.3;
          color: #C7AD87; }
          @media only screen and (max-width: 640px) {
            .accordion-item-list .accordion-item .accordion-answer .content::before {
              left: 2rem;
              font-size: 3.6rem; } }
        .accordion-item-list .accordion-item .accordion-answer .content .m-text {
          position: relative;
          color: #171C61;
          font-family: hiraMinProp-regular;
          font-size: 1.4rem; }
          @media only screen and (max-width: 640px) {
            .accordion-item-list .accordion-item .accordion-answer .content .m-text {
              font-size: 1.8rem; } }

.back-to-top {
  position: fixed;
  bottom: 9.6rem;
  right: 1.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 9.5rem;
  background: none;
  padding: 0;
  margin: 0;
  text-decoration: none;
  outline: none;
  cursor: pointer;
  z-index: 996; }
  .back-to-top img {
    width: 100%;
    height: auto; }

#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 9.5rem;
  background: rgba(229, 230, 230, 0.75);
  padding: 0 3.5rem;
  transition: background 0.3s ease-in-out;
  z-index: 999;
  transition: all .2s ease-in-out; }
  @media only screen and (max-width: 640px) {
    #header {
      padding: 0 2rem; } }
  #header .header-wrapper {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    margin: 0;
    height: 100%;
    z-index: 0; }
    @media only screen and (max-width: 640px) {
      #header .header-wrapper {
        justify-content: space-between; } }
    #header .header-wrapper .header-logo {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center; }
      #header .header-wrapper .header-logo h1 {
        display: flex;
        justify-content: center;
        align-items: center; }
        #header .header-wrapper .header-logo h1 a {
          display: flex;
          justify-content: center;
          align-items: center; }
          #header .header-wrapper .header-logo h1 a img {
            width: 33rem;
            height: auto; }
            @media only screen and (max-width: 640px) {
              #header .header-wrapper .header-logo h1 a img {
                width: 24rem; } }
    #header .header-wrapper .header-nav {
      position: absolute;
      left: 0;
      height: 100%;
      display: flex;
      justify-content: flex-start;
      align-items: center; }
      @media only screen and (max-width: 640px) {
        #header .header-wrapper .header-nav {
          position: relative;
          right: unset; } }
      #header .header-wrapper .header-nav .navbtn {
        position: relative;
        width: 34.5rem;
        height: 5.4rem;
        background: #3340A3;
        display: flex;
        justify-content: center;
        align-items: center;
        text-decoration: none;
        outline: none;
        border: 1px solid #3340A3;
        transition: all 0.6s cubic-bezier(0.8, 0, 0.2, 1);
        cursor: pointer; }
        @media only screen and (max-width: 640px) {
          #header .header-wrapper .header-nav .navbtn {
            width: 24rem; } }
        #header .header-wrapper .header-nav .navbtn span {
          position: relative;
          font-family: KozGoPr6N-Bold;
          font-size: 1.4rem;
          color: #FFFFFF;
          text-decoration: none;
          line-height: 2;
          z-index: 3; }
        #header .header-wrapper .header-nav .navbtn::before {
          content: "";
          position: absolute;
          top: 0;
          left: 0;
          display: block;
          background: #FFFFFF;
          width: 100%;
          height: 100%;
          transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
          transform-origin: right top;
          transform: scale(0, 1);
          z-index: 1; }
        #header .header-wrapper .header-nav .navbtn:hover::before {
          transform-origin: left top;
          transform: scale(1, 1); }
        #header .header-wrapper .header-nav .navbtn:hover span {
          color: #3340A3; }

        #header .header-wrapper ul {
          width: 42rem;
          display: flex;
          justify-content: space-between;
          position: absolute;
          right: 0;
          height: 100%;
          align-items: center;
        }
        @media only screen and (max-width: 767px) {
          #header .header-wrapper ul {
            display: none;
          }
        }
        #header .header-wrapper ul li.fix_bnr_area {
          list-style: none;
        }
        #header .header-wrapper ul a {
          position: relative;
          width: 20.5rem;
          height: 5.4rem;
          background: #3340A3;
          display: flex;
          justify-content: center;
          align-items: center;
          text-decoration: none;
          outline: none;
          border: 1px solid #3340A3;
          transition: all 0.6s cubic-bezier(0.8, 0, 0.2, 1);
          cursor: pointer;
        }
        #header .header-wrapper ul a:hover {
          transition: 0.3s;
          opacity: 0.6;
        }
        #header .header-wrapper ul a.bk {
          background: #000000;
          border: 1px solid #000;
        }
        #header .header-wrapper ul a img {
          width: 15%;
        }
        #header .header-wrapper ul a p {
          margin-left: 16px;
          position: relative;
          font-family: KozGoPr6N-Bold;
          font-size: 1.4rem;
          color: #FFFFFF;
          text-decoration: none;
          line-height: 2;
          z-index: 3;
        }
        #header .header-wrapper .header-nav a:hover span {
          color: #3340A3;
        }

.mobile-nav-toggle {
  position: relative;
  background: transparent;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 1.5rem;
  cursor: pointer;
  z-index: 1001;
  transition: all 0.4s ease-in-out; }
  @media only screen and (max-width: 640px) {
    .mobile-nav-toggle {
      display: flex; } }
  .mobile-nav-toggle .toggle-icon {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 5.5rem;
    height: 2.0rem;
    margin: 0; }
    .mobile-nav-toggle .toggle-icon span {
      display: inline-block;
      position: relative;
      width: 100%;
      height: 0.15rem;
      background: #A50E32;
      transition: all 0.4s ease-in-out;
      transform-origin: center center; }
  .mobile-nav-toggle .toggle-text {
    font-family: hiraMinProp-regular;
    font-size: 1.2rem;
    color: #A50E32;
    writing-mode: vertical-lr;
    -ms-writing-mode: bt-lr;
    margin-top: 1.5rem; }
  .mobile-nav-toggle.toggle-active .toggle-icon span:nth-child(1) {
    transform: translateY(2rem) rotate(-45deg); }
  .mobile-nav-toggle.toggle-active .toggle-icon span:nth-child(2) {
    opacity: 0;
    visibility: hidden; }
  .mobile-nav-toggle.toggle-active .toggle-icon span:nth-child(3) {
    transform: translateY(0) rotate(45deg); }

.mobile-nav-active .mobile-nav-toggle .toggle-icon span {
  background: #FFFFFF; }
.mobile-nav-active .mobile-nav-toggle .toggle-text {
  color: #FFFFFF; }

#mobile-nav {
  position: fixed;
  bottom: 0;
  z-index: 998;
  top: -100%;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  background: #171C61;
  transition: all 0.4s ease-in-out; }
  #mobile-nav .mobile-nav-container {
    position: relative;
    padding: 3.0rem 3.0rem 6.0rem;
    display: flex;
    justify-content: space-between;
    height: 100%; }
    @media only screen and (max-width: 640px) {
      #mobile-nav .mobile-nav-container {
        flex-direction: column;
        justify-content: flex-start;
        padding: 3rem 0 6rem; } }
  #mobile-nav .mobile-nav-menu {
    position: relative;
    list-style: none;
    width: 55%; }
    @media only screen and (max-width: 640px) {
      #mobile-nav .mobile-nav-menu {
        width: 100%; } }
    #mobile-nav .mobile-nav-menu > li {
      position: relative;
      display: flex;
      flex-direction: column;
      padding: 0 12rem;
      margin-bottom: 4rem;
      list-style: none; }
      @media (max-width: 1000px) {
        #mobile-nav .mobile-nav-menu > li {
          padding: 0 8rem; } }
      @media only screen and (max-width: 640px) {
        #mobile-nav .mobile-nav-menu > li {
          padding: 0 2rem; } }
      #mobile-nav .mobile-nav-menu > li .header-logo {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 6rem; }
        @media only screen and (max-width: 640px) {
          #mobile-nav .mobile-nav-menu > li .header-logo {
            justify-content: flex-start; } }
        #mobile-nav .mobile-nav-menu > li .header-logo h1 {
          margin-top: 1rem; }
          @media (max-width: 1000px) {
            #mobile-nav .mobile-nav-menu > li .header-logo h1 img {
              height: 4rem;
              width: auto; } }
          @media only screen and (max-width: 640px) {
            #mobile-nav .mobile-nav-menu > li .header-logo h1 img {
              height: 3.5rem;
              width: auto; } }
        #mobile-nav .mobile-nav-menu > li .header-logo .header-sdgs {
          border-left: 1px solid #FFFFFF;
          padding-left: 1.5rem;
          margin-left: 1.5rem; }
          @media (max-width: 1000px) {
            #mobile-nav .mobile-nav-menu > li .header-logo .header-sdgs img {
              height: 3rem;
              width: auto; } }
          @media only screen and (max-width: 640px) {
            #mobile-nav .mobile-nav-menu > li .header-logo .header-sdgs img {
              height: 2.5rem; } }
      #mobile-nav .mobile-nav-menu > li .nav-btn {
        font-family: hiraMinProp-bold;
        font-size: 1.8rem;
        line-height: 1.3;
        color: #FFFFFF; }
      #mobile-nav .mobile-nav-menu > li .nav-subbtn {
        display: flex;
        align-items: center;
        font-family: hiraMinProp-regular;
        font-size: 1.4rem;
        color: #FFFFFF; }
        #mobile-nav .mobile-nav-menu > li .nav-subbtn a {
          margin: 0 0.2rem; }
      #mobile-nav .mobile-nav-menu > li .footer-submenu-group {
        display: flex;
        justify-content: flex-start;
        align-items: center; }
        @media only screen and (max-width: 640px) {
          #mobile-nav .mobile-nav-menu > li .footer-submenu-group {
            justify-content: center; } }
        #mobile-nav .mobile-nav-menu > li .footer-submenu-group a {
          font-family: KozGoPr6N-Regular;
          font-size: 1.2rem;
          color: #FFFFFF; }
      #mobile-nav .mobile-nav-menu > li .footer-submenu-border {
        width: 1px;
        height: 1.5rem;
        background: #FFFFFF;
        margin: 0 2rem;
        transform: rotate(30deg); }
  #mobile-nav .mobile-nav-bg {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    background-image: url(../img/common/menu_bg_pc.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center; }
    @media only screen and (max-width: 640px) {
      #mobile-nav .mobile-nav-bg {
        background: none;
        position: relative;
        top: unset;
        right: unset;
        width: 100%; }
        #mobile-nav .mobile-nav-bg img {
          width: 100%;
          height: auto; } }

.mobile-nav-overly {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 997;
  background: rgba(0, 0, 0, 0.5);
  display: none;
  overflow: hidden;
  transition: all 0.2s ease-in-out; }

/* Mobile Nav body classes */
@media only screen and (max-width: 640px) {
  body.mobile-nav-active {
    overflow: hidden; } }

body.mobile-nav-active #mobile-nav {
  top: 0; }

main#main {
  position: relative;
  overflow: hidden; }

.mainvisual {
  position: relative;
  height: 100vh;
  padding: 0 4rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  /*background-image: url(../img/bg_top.jpg);*/
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }
  @media only screen and (max-width: 640px) {
    .mainvisual {
      padding: 0 3rem;
      /*background-image: url(../img/bg_top_sp.jpg);*/
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover; } }

  /*TOPスライダー*/
.mainvisual .key-main {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.swiper-container {
  width: 100%;
  height: 100%;
  position: relative;
}

.key-main .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.swiper-slide-bg {
  width: 100%;
  height: 100%;
  background: url(../image/top/main01.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}
.swiper-slide-bg02 {
  width: 100%;
  height: 100%;
  background: url(../image/top/main02.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}
.swiper-slide-bg03 {
  width: 100%;
  height: 100%;
  background: url(../image/top/main03.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}
.swiper-slide-bg04 {
  width: 100%;
  height: 100%;
  background: url(../image/top/main04.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}
.swiper-slide-bg05 {
  width: 100%;
  height: 100%;
  background: url(../image/top/main05.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.key-main .swiper-pagination {
  width: 10px!important;
  left: unset!important;
  right: 40px!important;
  bottom: 60px!important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}

.swiper-pagination-bullet {
  width: 10px!important;
  height: 10px!important;
  margin: 3px 0px!important;
  background: rgba(141, 141, 141, 1)!important;
}

.swiper-pagination-bullet-active {
  background: rgba(255, 255, 255, 0.5)!important;
}
/*ここまで*/

  .mainvisual-title {
    margin: auto;
    position: relative;
    z-index: 3; }
    .mainvisual-title h1 {
      position: relative;
      z-index: 2;
      display: flex;
      flex-direction: column;
      align-items: center;
      font-family: hiraMinProp-bold;
      font-size: 3.7rem;
      color: #FFFFFF;
      line-height: 1.5;
      text-align: center; }
      @media only screen and (max-width: 640px) {
        .mainvisual-title h1 {
          font-size: 3.2rem; } }
      .mainvisual-title h1::before {
        content: "";
        width: 80rem;
        height: 2rem;
        background-image: url(../img/top_line.png);
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% 100%;
        margin-bottom: 2.5rem; }
        @media only screen and (max-width: 640px) {
          .mainvisual-title h1::before {
            width: 100%; } }
      .mainvisual-title h1::after {
        content: "";
        width: 80rem;
        height: 2rem;
        background-image: url(../img/bt_line.png);
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% 100%;
        margin-top: 2.5rem; }
        @media only screen and (max-width: 640px) {
          .mainvisual-title h1::after {
            width: 100%; } }

.scroll {
  position: absolute;
  bottom: -10rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 3; }
  .scroll p {
    font-family: hiraMinProp-regular;
    font-size: 1.0rem;
    line-height: 1;
    color: #ffffff;
    writing-mode: vertical-lr;
    -ms-writing-mode: bt-lr;
    margin-bottom: 2.5rem; }
  .scroll span {
    position: relative;
    height: 15rem;
    width: 1px;
    background: #171C61; }
    .scroll span::after {
      content: "";
      width: 1px;
      height: 15rem;
      background: #FFFFFF;
      position: absolute;
      top: 0;
      left: 0;
      animation: scroll 2s infinite; }

@keyframes scroll {
  from {
    height: 0; }
  to {
    height: 15rem; } }
.top-about {
  position: relative;
  padding: 15.0rem 0 24rem;
  background-image: url(../img/bg_about.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }
  .top-about::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 19rem;
    background: linear-gradient(0deg, #3e3a39 0%, rgba(62, 58, 57, 0) 100%); }
  .top-about .container {
    position: relative;
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 640px) {
      .top-about .container {
        flex-direction: column; } }
  .top-about .about-thumb {
    width: 45%;
    display: flex;
    align-items: center;
    position: relative; }
    @media only screen and (max-width: 640px) {
      .top-about .about-thumb {
        width: 100%;
        order: 2;
        justify-content: flex-end; } }
	.top-about .about-thumb::before {
		content: "";
		position: absolute;
		width: 100%;
		height: 100%;
		left: 0;
		top: 0;
		z-index: 3;
		background: #3340A3;
		-webkit-transition: all .5s cubic-bezier(.77,0,.175,1);
		transition: all .5s cubic-bezier(.77,0,.175,1);
		-webkit-transition-timing-function: cubic-bezier(.77,0,.175,1);
		transition-timing-function: cubic-bezier(.77,0,.175,1);
		-webkit-transition-delay: .5s;
		transition-delay: .5s;
	}
	.top-about .about-thumb.wowend.animated::before {
		width: 0;
	}
    .top-about .about-thumb::after {
      content: "";
      position: absolute;
      bottom: -10rem;
      left: -4rem;
      width: 49rem;
      height: 49rem;
      background: #C9CF00;
      mix-blend-mode: multiply; }
      @media only screen and (max-width: 640px) {
        .top-about .about-thumb::after {
          left: 5rem;
          bottom: -8rem; } }
    .top-about .about-thumb img {
      width: 100%;
      height: auto;
      position: relative;
      z-index: 2; }
      @media only screen and (max-width: 640px) {
        .top-about .about-thumb img {
          width: 44rem; } }
  .top-about .section-content {
    width: 50%;
    font-family: noto-bold;
    color: #FFFFFF; }
    @media only screen and (max-width: 640px) {
      .top-about .section-content {
        width: 100%;
        order: 1;
        margin-bottom: 4rem; } }
    .top-about .section-content .about-title {
      font-size: 3rem;
      margin-bottom: 2rem; }
      @media only screen and (max-width: 640px) {
        .top-about .section-content .about-title {
          font-size: 3.2rem; } }
    .top-about .section-content .mx-text {
      font-size: 2.1rem;
      color: #FFFFFF;
      margin-bottom: 6rem; }
      @media only screen and (max-width: 640px) {
        .top-about .section-content .mx-text {
          font-size: 1.8rem; } }
  .top-about .mx-name {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    line-height: 1;
    font-size: 2.1rem;
    position: relative;
    z-index: 3; }
    @media only screen and (max-width: 640px) {
      .top-about .mx-name {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        font-size: 1.8rem;
        order: 3;
        color: #FFFFFF;
        margin-top: 10rem; } }
    .top-about .mx-name span {
      font-size: 3rem;
      margin-left: 1rem; }
      @media only screen and (max-width: 640px) {
        .top-about .mx-name span {
          font-size: 3.2rem;
          margin-left: 0;
          margin-top: 1rem; } }

.top-worries {
  position: relative;
  padding: 14rem 0 8rem; }
  .top-worries .phone-video {
    width: 100%;
    display: flex;
    justify-content: center;
    position: relative;
    margin-bottom: 6rem; }
    /*.top-phone .phone-video video {
      width: 100%;
      height: 65rem; }*/
    .top-worries .phone-video iframe {
      width: 100%;
      height: 65rem; }
    .top-worries .phone-video .play-bt {
      width: 10rem;
      height: 10rem;
      border-radius: 50%;
      background-image: url(../img/play_btn.png);
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      z-index: 99;
      cursor: pointer; }
  .top-worries .section-title {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 1.5rem; }
    .top-worries .section-title::before {
      content: "";
      width: 4rem;
      height: 4rem;
      background-image: url(../img/icon_worries.png);
      background-position: center;
      background-repeat: no-repeat;
      background-size: 100% 100%;
      margin-right: 2rem; }
  .top-worries .worries-title {
    font-family: noto-bold;
    font-size: 4.5rem;
    color: #4E4E4F;
    text-align: center;
    margin-bottom: 5rem; }
    @media only screen and (max-width: 640px) {
      .top-worries .worries-title {
        font-size: 3.2rem; } }
  .top-worries .worries-layout {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
  .top-worries .worries-item {
    width: 49%;
    min-height: 24rem;
    position: relative;
    background: #3340A3;
    padding: 3rem 2rem;
    margin-bottom: 1.5rem; }
    @media only screen and (max-width: 640px) {
      .top-worries .worries-item {
        width: 100%; } }
    .top-worries .worries-item .wrap {
      display: flex;
      align-items: center; }
      .top-worries .worries-item .wrap .worries-item-title:nth-child(2) {
        margin-left: 2.5rem;
        padding-left: 2.5rem;
        border-left: 3px solid #FFFFFF; }
    .top-worries .worries-item-title {
      font-family: noto-black;
      color: #FFFFFF;
      font-size: 2.1rem;
      line-height: 1.5; }
      .top-worries .worries-item-title span {
        font-size: 3.5rem; }
    .top-worries .worries-item-content {
      font-family: noto-regular;
      font-size: 1.6rem;
      line-height: 1.5;
      color: #FFFFFF;
      margin-top: 3rem; }
    .top-worries .worries-item-num {
      font-family: noto-black;
      font-size: 8rem;
      font-style: italic;
      line-height: 1;
      color: rgba(255, 255, 255, 0.2);
      position: absolute;
      bottom: 0;
      right: 2rem; }
      @media only screen and (max-width: 640px) {
        .top-worries .worries-item-num {
          font-size: 10rem; } }

.top-client {
  position: relative;
  padding: 20rem 0 14rem;
  background-image: url(../img/bg_client.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }
  .top-client::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 12rem;
    border-left: 50vw solid transparent;
    border-right: 50vw solid transparent;
    border-top: 12rem solid #FFFFFF; }
  .top-client .client-title {
    text-align: center;
    color: #FFFFFF;
    font-family: noto-bold;
    font-size: 2.4rem;
    margin-bottom: 8rem; }
    .top-client .client-title span {
      position: relative;
      font-size: 4.5rem;
      width: fit-content;
      width: -moz-fit-content;
      width: -webkit-fit-content;
      z-index: 3; }
      @media only screen and (max-width: 640px) {
        .top-client .client-title span {
          font-size: 3.2rem;
          line-height: 1.7; } }
      .top-client .client-title span::after {
        content: "";
        position: absolute;
        bottom: 0.5rem;
        left: 50%;
        transform: translateX(-50%);
        width: 105%;
        height: 2rem;
        background: #c8ce00;
        z-index: -1; }
        @media only screen and (max-width: 640px) {
          .top-client .client-title span::after {
            bottom: 0; } }
  .top-client .client-layout {
    display: flex;
    flex-direction: column;
    align-items: center; }
  .top-client .client-main {
    width: 97rem;
    height: 20rem;
    background-image: url(../img/bg_title_client.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 4rem; }
    @media only screen and (max-width: 640px) {
      .top-client .client-main {
        width: 100%; } }
    .top-client .client-main .mx-text {
      font-family: noto-black;
      color: #FFFFFF;
      font-size: 2.1rem;
      text-align: center; }
      @media only screen and (max-width: 640px) {
        .top-client .client-main .mx-text {
          font-size: 1.8rem; } }
      .top-client .client-main .mx-text span {
        font-size: 3rem; }
  .top-client .client-img {
    width: 12rem;
    height: 4.5rem;
    border-left: 6rem solid transparent;
    border-right: 6rem solid transparent;
    border-top: 4.5rem solid #C9CF00;
    margin-bottom: 3rem; }
  .top-client .client-content {
    display: flex;
    flex-direction: column;
    align-items: center; }
    .top-client .client-content .mx-text {
      font-family: noto-black;
      color: #FFFFFF;
      font-size: 2.1rem;
      text-align: center; }
      @media only screen and (max-width: 640px) {
        .top-client .client-content .mx-text {
          font-size: 1.8rem; } }
      .top-client .client-content .mx-text span {
        font-size: 3rem;
        color: #C9CF00; }

.top-reason {
  position: relative;
  padding: 10rem 0; }
  .top-reason .section-title {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 6rem; }
    .top-reason .section-title::before {
      content: "";
      width: 3.5rem;
      height: 4.6rem;
      background-image: url(../img/icon_reason.png);
      background-position: center;
      background-repeat: no-repeat;
      background-size: 100% 100%;
      margin-right: 2rem; }
  .top-reason .reason-part {
    margin-bottom: 4rem;
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 640px) {
      .top-reason .reason-part {
        flex-direction: column;
        margin-bottom: 8rem; } }
    .top-reason .reason-part-left {
      width: 45%;
      display: flex;
      justify-content: center;
      align-items: center;
	  position: relative}
      @media only screen and (max-width: 640px) {
        .top-reason .reason-part-left {
          width: 100%;
          margin-bottom: 3.5rem; } }
	.top-reason .reason-part-left::after {
		content: "";
		position: absolute;
		width: 100%;
		height: 100%;
		left: 0;
		top: 0;
		z-index: 3;
		background: #3340A3;
		-webkit-transition: all .5s cubic-bezier(.77,0,.175,1);
		transition: all .5s cubic-bezier(.77,0,.175,1);
		-webkit-transition-timing-function: cubic-bezier(.77,0,.175,1);
		transition-timing-function: cubic-bezier(.77,0,.175,1);
		-webkit-transition-delay: .5s;
		transition-delay: .5s;
	}
	.top-reason .reason-part-left.right::after {
		left: unset;
		right: 0;
	}
	.top-reason .reason-part-left.wowend.animated::after {
		width: 0;
	}
      .top-reason .reason-part-left img {
        width: 100%;
        height: auto; }
    .top-reason .reason-part-right {
      position: relative;
      width: 52%; }
      @media only screen and (max-width: 640px) {
        .top-reason .reason-part-right {
          width: 100%; } }
    .top-reason .reason-part-num {
      font-family: noto-black;
      font-size: 6.2rem;
      color: #3340A3;
      line-height: 1.5;
      margin-bottom: 0.5rem; }
    .top-reason .reason-part-title {
      font-family: noto-black;
      font-size: 2.1rem;
      color: #3340A3;
      line-height: 1.5;
      margin-bottom: 2rem; }
      @media only screen and (max-width: 640px) {
        .top-reason .reason-part-title {
          font-size: 3rem; } }
    .top-reason .reason-part-content {
      font-family: noto-regular;
      font-size: 1.7rem;
      color: #000000;
      line-height: 1.5; }
      @media only screen and (max-width: 640px) {
        .top-reason .reason-part-content {
          font-size: 1.8rem; } }
    .top-reason .reason-part-img {
      height: 4.2rem;
      width: auto;
      position: absolute;
      top: 0;
      right: 0; }
    @media only screen and (max-width: 640px) {
      .top-reason .reason-part:nth-child(2) {
        flex-direction: column-reverse; } }
  .top-reason .wrap {
    display: flex;
    justify-content: space-between; }
  .top-reason .reason-item {
    width: 32%;
    display: flex;
    flex-direction: column;
    align-items: center; }
    .top-reason .reason-item-title {
      width: 100%;
      height: 9rem;
      background: #4E4E4F;
      position: relative;
      margin-bottom: 6rem;
      display: flex;
      justify-content: center;
      align-items: center;
      font-family: noto-black;
      font-size: 2.1rem;
      line-height: 2;
      color: #FFFFFF; }
      @media only screen and (max-width: 640px) {
        .top-reason .reason-item-title {
          font-size: 1.4rem;
          height: 5rem; } }
      .top-reason .reason-item-title::after {
        content: "";
        position: absolute;
        bottom: -1.5rem;
        left: 50%;
        transform: translateX(-50%);
        border-left: 1.2rem solid transparent;
        border-right: 1.2rem solid transparent;
        border-top: 1.5rem solid #4E4E4F; }
        @media only screen and (max-width: 640px) {
          .top-reason .reason-item-title::after {
            bottom: -1rem; } }
    .top-reason .reason-item-img {
      display: flex;
      justify-content: center;
      align-items: center; }
      .top-reason .reason-item-img img {
        width: 18rem;
        height: auto; }
        @media only screen and (max-width: 640px) {
          .top-reason .reason-item-img img {
            width: 10rem; } }

.top-phone {
  position: relative;
  padding: 8rem 0; }
  .top-phone .phone-title {
    display: flex;
    justify-content: center;
    margin-bottom: 2.5rem; }
    .top-phone .phone-title h4 {
      font-family: noto-bold;
      font-size: 1.8rem;
      color: #C9CF00;
      position: relative;
      display: flex;
      justify-content: center; }
      .top-phone .phone-title h4::before {
        content: "";
        width: 0.3rem;
        height: 3.5rem;
        background: #C9CF00;
        transform: rotate(-20deg);
        margin-right: 2rem; }
      .top-phone .phone-title h4::after {
        content: "";
        width: 0.3rem;
        height: 3.5rem;
        background: #C9CF00;
        transform: rotate(20deg);
        margin-left: 2rem; }
  .top-phone .phone-layout {
    width: 63rem;
    height: 18.5rem;
    border-radius: 9.25rem;
    background: #3340A3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0 auto; }
    @media only screen and (max-width: 640px) {
      .top-phone .phone-layout {
        width: 100%; } }
    .top-phone .phone-layout .section-title {
      display: flex;
      justify-content: center;
      align-items: center;
      margin-bottom: 1rem; }
      .top-phone .phone-layout .section-title::before {
        content: "";
        width: 3.8rem;
        height: 3.3rem;
        background-image: url(../img/icon_contact_white.png);
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% 100%;
        margin-right: 2rem; }
      .top-phone .phone-layout .section-title .lead {
        font-size: 2.4rem;
        color: #FFFFFF; }
        @media only screen and (max-width: 640px) {
          .top-phone .phone-layout .section-title .lead {
            font-size: 1.8rem; } }
    .top-phone .phone-layout a {
      font-family: KozGoPr6N-Bold;
      font-size: 6rem;
      line-height: 1;
      color: #FFFFFF;
      margin-bottom: 0.5rem; }
      @media only screen and (max-width: 640px) {
        .top-phone .phone-layout a {
          font-size: 5rem; } }
    .top-phone .phone-layout .mx-text {
      font-family: noto-bold;
      font-size: 1.8rem;
      color: #FFFFFF; }

.top-possible {
  position: relative;
  padding: 8rem 0;
  background-image: url(../img/bg_possible.jpg);
  background-position: left center;
  background-size: cover;
  background-repeat: no-repeat; }
  @media only screen and (max-width: 640px) {
    .top-possible {
      background-image: url(../img/bg_possible_sp.jpg);
      background-position: left center;
      background-size: cover;
      background-repeat: no-repeat; } }
  .top-possible .section-title {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 5rem; }
    .top-possible .section-title::before {
      content: "";
      width: 3.6rem;
      height: 5.3rem;
      background-image: url(../img/icon_possible.png);
      background-position: center;
      background-repeat: no-repeat;
      background-size: 100% 100%;
      margin-right: 2rem; }
    .top-possible .section-title .lead {
      color: #C9CF00; }
  .top-possible .possible-title {
    font-family: noto-black;
    font-size: 2.1rem;
    color: #C9CF00;
    text-align: center;
    margin-bottom: 6rem; }
  .top-possible .possible-swiper {
    width: 100%;
    min-height: 60rem; }
    .top-possible .possible-swiper .swiper-wrapper {
      align-items: center; }
    .top-possible .possible-swiper .swiper-slide {
      position: relative;
      transition: 0.2s; }
      .top-possible .possible-swiper .swiper-slide .possible-item {
        width: 100%; }
        .top-possible .possible-swiper .swiper-slide .possible-item-thumb {
          width: 100%;
          display: flex;
          justify-content: center;
          align-items: center;
          margin-bottom: 2.5rem; }
          .top-possible .possible-swiper .swiper-slide .possible-item-thumb img {
            width: 55rem;
            height: auto; }
        .top-possible .possible-swiper .swiper-slide .possible-item-content {
          font-family: noto-black;
          font-size: 2.1rem;
          color: #FFFFFF;
          text-align: center;
          line-height: 1.5; }
          @media only screen and (max-width: 640px) {
            .top-possible .possible-swiper .swiper-slide .possible-item-content {
              font-size: 1.8rem; } }
          .top-possible .possible-swiper .swiper-slide .possible-item-content span {
            font-size: 3rem;
            color: #C9CF00; }
            @media only screen and (max-width: 640px) {
              .top-possible .possible-swiper .swiper-slide .possible-item-content span {
                font-size: 2.4rem; } }
      .top-possible .possible-swiper .swiper-slide.active .possible-item {
        width: 100%; }
        .top-possible .possible-swiper .swiper-slide.active .possible-item-thumb img {
          width: 70rem !important; }
    .top-possible .possible-swiper .prev,
    .top-possible .possible-swiper .next {
      cursor: pointer;
      z-index: 100;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      transition: 0.2s;
      width: 7rem;
      height: 7rem;
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
      background: #FFFFFF; }
      .top-possible .possible-swiper .prev:hover,
      .top-possible .possible-swiper .next:hover {
        background: #C9CF00; }
      .top-possible .possible-swiper .prev svg,
      .top-possible .possible-swiper .next svg {
        width: 1rem;
        height: 1rem; }
      .top-possible .possible-swiper .prev svg path,
      .top-possible .possible-swiper .next svg path {
        fill: #4E4E4F; }
    .top-possible .possible-swiper .prev {
      left: 50%;
      transform: translateX(-50rem); }
      @media only screen and (max-width: 640px) {
        .top-possible .possible-swiper .prev {
          transform: translateX(-30rem); } }
    .top-possible .possible-swiper .next {
      right: 50%;
      transform: translateX(50rem); }
      @media only screen and (max-width: 640px) {
        .top-possible .possible-swiper .next {
          transform: translateX(30rem); } }

.top-contact {
  position: relative;
  padding: 10rem 0; }
  .top-contact .section-title {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 3.5rem; }
    .top-contact .section-title::before {
      content: "";
      width: 5.7rem;
      height: 4.9rem;
      background-image: url(../img/icon_contact.png);
      background-position: center;
      background-repeat: no-repeat;
      background-size: 100% 100%;
      margin-right: 2rem; }
  .top-contact .section-lead .text {
    margin-bottom: 2rem; }
  .top-contact .contact-flow {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 7rem; }
    .top-contact .contact-flow img {
      width: 100%;
      height: auto; }

.top-faq {
  position: relative;
  padding: 10rem 0; }
  .top-faq .section-title {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 5.5rem; }
    .top-faq .section-title::before {
      content: "";
      width: 3.7rem;
      height: 4.6rem;
      background-image: url(../img/icon_faq.png);
      background-position: center;
      background-repeat: no-repeat;
      background-size: 100% 100%;
      margin-right: 2rem; }
    .top-faq .section-title .lead {
      color: #4E4E4F; }
  .top-faq .faq-layout {
    position: relative; }
    .top-faq .faq-layout .faq-item {
      margin-bottom: 1.5rem; }
    .top-faq .faq-layout .accordion {
      cursor: pointer;
      transition: all .2s ease-in-out;
      position: relative;
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: space-between;
      background: #4E4E4F;
      width: 100%;
      min-height: 7.5rem;
      padding: 1.5rem 3rem; }
    .top-faq .faq-layout .accordion-text span {
      font-family: noto-bold;
      font-size: 3.8rem;
      color: #ffffff;
      margin-right: 2rem; }
    .top-faq .faq-layout .accordion-text {
      font-family: noto-bold;
      font-size: 2.0rem;
      line-height: 1.5;
      display: flex;
      align-items: center; }
    .top-faq .faq-layout .accordion-arrow1, .top-faq .faq-layout .accordion-arrow2, .top-faq .faq-layout .accordion-arrow3, .top-faq .faq-layout .accordion-arrow4, .top-faq .faq-layout .accordion-arrow5, .top-faq .faq-layout .accordion-arrow6 {
      font-size: 4rem;
      line-height: 1;
      color: #ffffff;
      transition: all .3s ease;
      margin-left: 1rem; }
    .top-faq .faq-layout .panel {
      width: 100%;
      padding: 0 6rem;
      max-height: 0;
      overflow: hidden;
      background: #CFD7DA;
      transition: max-height 0.2s ease-in-out; }
      @media only screen and (max-width: 640px) {
        .top-faq .faq-layout .panel {
          padding: 0 3rem; } }
    .top-faq .faq-layout .panel .wrap {
      width: 100%;
      display: flex;
      align-items: flex-start;
      padding: 4rem 0; }
      @media only screen and (max-width: 640px) {
        .top-faq .faq-layout .panel .wrap {
          padding: 3rem 0; } }
    .top-faq .faq-layout .panel .wrap span {
      font-family: noto-bold;
      font-size: 3.8rem;
      color: #3340A3;
      line-height: 1;
      margin-right: 3rem;
      margin-top: -1rem; }
    .top-faq .faq-layout .panel-text {
      font-family: noto-bold;
      font-size: 1.6rem;
      line-height: 1.5;
      text-align: left; }

.required {
  font-family: KozGoPr6N-Regular;
  font-size: 1.8rem;
  color: #DE0012; }

.p-form .section-lead {
  margin-bottom: 6rem; }
  .p-form .section-lead .title {
    text-align: center;
    margin-bottom: 4rem; }
.p-form .link-btn {
  position: relative;
  width: 38rem;
  height: 9rem;
  font-size: 2.1rem;
  border: 1px solid #3340A3;
  margin: 0 auto; }
  .p-form .link-btn span {
    color: #FFFFFF; }
  .p-form .link-btn:hover span {
    color: #3340A3; }

.p-contact-form {
  position: relative;
  display: block;
  font-family: noto-regular;
  font-size: 1.4rem;
  line-height: 1.3;
  text-align: left;
  color: #000000; }
  .p-contact-form .form-group {
    position: relative;
    list-style: none;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0;
    margin-bottom: 5.0rem; }
    .p-contact-form .form-group > li {
      position: relative;
      width: 100%;
      padding: 2.0rem 0;
      border-top: 1px solid #BFC7C9; }
    .p-contact-form .form-group .mw_wp_form_confirm .form-group li:last-child {
      display: none; }
  .p-contact-form .form-input {
    position: relative;
    display: flex;
    justify-content: center; }
    @media only screen and (max-width: 640px) {
      .p-contact-form .form-input {
        flex-direction: column; } }
    .p-contact-form .form-input + .form-input {
      margin-top: 1.0rem; }
      @media only screen and (max-width: 640px) {
        .p-contact-form .form-input + .form-input {
          margin-top: 2.4rem; } }
    .p-contact-form .form-input .label {
      position: relative;
      padding: 0.8rem 0;
      display: flex;
      font-size: 1.4rem;
      color: #000000;
      font-family: noto-regular;
      width: 20%; }
      @media only screen and (max-width: 640px) {
        .p-contact-form .form-input .label {
          padding: 0;
          font-size: 2.0rem;
          width: 100%;
          margin-bottom: 1.5rem; } }
      .p-contact-form .form-input .label p {
        display: flex;
        align-items: center; }
    .p-contact-form .form-input .input {
      position: relative;
      width: 75%;
      font-family: KozGoPr6N-Regular;
      color: #000000; }
      @media only screen and (max-width: 640px) {
        .p-contact-form .form-input .input {
          width: 100%; } }
      .p-contact-form .form-input .input > * {
        vertical-align: middle; }
      .p-contact-form .form-input .input select {
        width: 100%;
        border: 1px solid #BFC7C9;
        color: #000000; }
      .p-contact-form .form-input .input input {
        border: 1px solid #BFC7C9;
        font-size: 1.4rem;
        width: 100%;
        color: #000000; }
      .p-contact-form .form-input .input textarea {
        width: 100%;
        border: 1px solid #BFC7C9;
        font-size: 1.4rem;
        color: #000000; }
    .p-contact-form .form-input .sm {
      width: 30.0rem;
      max-width: 100%; }
      @media only screen and (max-width: 640px) {
        .p-contact-form .form-input .sm {
          width: 100%; } }
    .p-contact-form .form-input .md {
      width: 45.0rem;
      max-width: 100%; }
      @media only screen and (max-width: 640px) {
        .p-contact-form .form-input .md {
          width: 100%; } }
    .p-contact-form .form-input .xs {
      width: 73.0rem;
      max-width: 100%; }
      @media only screen and (max-width: 640px) {
        .p-contact-form .form-input .xs {
          width: 100%; } }
    .p-contact-form .form-input .inline-group {
      position: relative;
      list-style: none;
      display: flex;
      align-items: center;
      margin-left: -0.5rem;
      margin-right: -0.5rem;
      padding: 0; }
      @media only screen and (max-width: 640px) {
        .p-contact-form .form-input .inline-group {
          margin-left: -0.75rem;
          margin-right: -0.75rem; } }
      .p-contact-form .form-input .inline-group > li {
        position: relative;
        flex: 0 0 auto;
        width: auto;
        padding: 0 0.5rem; }
        @media only screen and (max-width: 640px) {
          .p-contact-form .form-input .inline-group > li {
            padding: 0 0.75rem; } }
      .p-contact-form .form-input .inline-group .num {
        position: relative;
        width: 8.0rem;
        max-width: 100%; }
        @media only screen and (max-width: 640px) {
          .p-contact-form .form-input .inline-group .num {
            width: 14.0rem; } }
      .p-contact-form .form-input .inline-group .line {
        position: relative;
        display: block;
        width: 1.0rem;
        height: 1px;
        background: #000000; }
    .p-contact-form .form-input .field {
      position: relative;
      display: block;
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 1.4rem; }
    .p-contact-form .form-input .mwform-tel-field {
      position: relative;
      display: flex;
      align-items: center;
      margin-left: -0.5rem;
      margin-right: -0.5rem; }
      .p-contact-form .form-input .mwform-tel-field input {
        position: relative;
        width: 14.0rem;
        max-width: 100%;
        margin: 0 1.0rem; }
    .p-contact-form .form-input .mwform-zip-field {
      position: relative;
      display: flex;
      align-items: center; }
      .p-contact-form .form-input .mwform-zip-field input {
        position: relative;
        width: 14.0rem;
        max-width: 100%;
        margin: 0 1.0rem; }
  .p-contact-form .mwform-checkbox-field {
    position: relative;
    display: inline-block;
    margin: 0; }
    .p-contact-form .mwform-checkbox-field label {
      display: inline-block;
      cursor: pointer; }
    .p-contact-form .mwform-checkbox-field [type="radio"],
    .p-contact-form .mwform-checkbox-field [type="checkbox"] {
      position: absolute;
      opacity: 0;
      visibility: hidden; }
      .p-contact-form .mwform-checkbox-field [type="radio"] + .mwform-checkbox-field-text,
      .p-contact-form .mwform-checkbox-field [type="checkbox"] + .mwform-checkbox-field-text {
        position: relative;
        display: inline-block;
        padding-left: 3.0rem; }
        .p-contact-form .mwform-checkbox-field [type="radio"] + .mwform-checkbox-field-text::before, .p-contact-form .mwform-checkbox-field [type="radio"] + .mwform-checkbox-field-text::after,
        .p-contact-form .mwform-checkbox-field [type="checkbox"] + .mwform-checkbox-field-text::before,
        .p-contact-form .mwform-checkbox-field [type="checkbox"] + .mwform-checkbox-field-text::after {
          content: "";
          position: absolute;
          box-sizing: border-box; }
    .p-contact-form .mwform-checkbox-field [type="radio"] + .mwform-checkbox-field-text::before, .p-contact-form .mwform-checkbox-field [type="radio"] + .mwform-checkbox-field-text::after {
      border-radius: 5.0rem; }
    .p-contact-form .mwform-checkbox-field [type="radio"] + .mwform-checkbox-field-text::before {
      top: 0.5rem;
      left: 0;
      width: 2.0rem;
      height: 2.0rem;
      border: 1px solid #171C61;
      border-radius: 0.45rem; }
    .p-contact-form .mwform-checkbox-field [type="radio"] + .mwform-checkbox-field-text::after {
      top: 1.0rem;
      left: 0.5rem;
      width: 1.0rem;
      height: 1.0rem;
      background: #171C61;
      transition: all 0.2s; }
    .p-contact-form .mwform-checkbox-field [type="radio"]:not(:checked) + .mwform-checkbox-field-text::after {
      opacity: 0;
      visibility: hidden; }
    .p-contact-form .mwform-checkbox-field [type="radio"]:checked + .mwform-checkbox-field-text::after {
      opacity: 1;
      visibility: visible; }
    .p-contact-form .mwform-checkbox-field [type="checkbox"] + .mwform-checkbox-field-text::before {
      top: 50%;
      transform: translateY(-50%);
      left: 0;
      width: 2.0rem;
      height: 2.0rem;
      border: 1px solid #BFC7C9; }
    .p-contact-form .mwform-checkbox-field [type="checkbox"] + .mwform-checkbox-field-text::after {
      top: 0.2rem;
      left: 0.6rem;
      width: 0.8rem;
      height: 1.2rem;
      border: solid #000000;
      border-width: 0 0.2rem 0.2rem 0;
      transform: rotate(45deg);
      transition: all 0.2s; }
    .p-contact-form .mwform-checkbox-field [type="checkbox"]:not(:checked) + .mwform-checkbox-field-text::after {
      opacity: 0;
      visibility: hidden; }
    .p-contact-form .mwform-checkbox-field [type="checkbox"]:checked + .mwform-checkbox-field-text::after {
      opacity: 1;
      visibility: visible; }
  .p-contact-form .form-term {
    position: relative;
    text-align: center;
    margin-bottom: 4.0rem; }
    @media only screen and (max-width: 640px) {
      .p-contact-form .form-term {
        margin-bottom: 3.0rem;
        letter-spacing: 0; } }
  .p-contact-form .form-submit {
    position: relative;
    line-height: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center; }
    .p-contact-form .form-submit .link-btn {
      position: relative;
      width: 38rem;
      height: 9rem;
      font-size: 2.1rem;
      border: 1px solid #3340A3;
      margin: 0 2rem 3rem; }
    .p-contact-form .form-submit .back-btn {
      background-color: transparent;
      color: #3340A3;
      border: 1px solid #171C61; }
      .p-contact-form .form-submit .back-btn span {
        color: #3340A3; }
      @media only screen and (max-width: 640px) {
        .p-contact-form .form-submit .back-btn {
          margin-bottom: 3rem; } }

.mw_wp_form_confirm .p-contact-form .form-notice {
  display: none; }
.mw_wp_form_confirm .p-contact-form .form-input .label {
  padding: 0; }
.mw_wp_form_confirm .p-contact-form .form-input .input .field.check {
  display: none; }
.mw_wp_form_confirm .p-contact-form .form-term {
  display: none; }

.mw_wp_form_send_error {
  text-align: center;
  margin-bottom: 5.0rem; }

.top-privacy {
  width: 100%;
  height: 450px;
  /*background-image: url("../images/bg_top.jpg");*/
  background-size: cover;
  background-position: top center;
  position: relative;
}
.top-privacy .container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  height: 100%;
}
.top-privacy .container .pageindex-title {
  align-items: flex-start;
  color: #3340A3;
  font-family: noto-black;
}
.top-privacy .container .pageindex-title h2 {
  font-size: 30px;
}
.p-privacy {
  position: relative;
  padding: 0rem 0 8rem; }
  .p-privacy .container {
    position: relative;
    z-index: 3; }
  .p-privacy .container .breadcrumb {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    font-family: noto-regular;
    font-size: 15px;
    margin-bottom: 50px;
  }
  .p-privacy .container .breadcrumb span {
    margin: 0 10px;
  }
  .p-privacy .privacy-title {
    position: relative;
    margin-bottom: 3.0rem;
    color: #3340A3;
    font-size: 2.4rem;
    text-align: left;
    font-family: noto-black; }
  .p-privacy .privacy_item {
    margin-bottom: 2rem; }
  .p-privacy .privacy_item_title {
    display: block;
    padding: 0;
    font-family: noto-regular;
    font-size: 1.8rem;
    line-height: 2;
    text-align: left;
    color: #3340A3; }
    @media only screen and (max-width: 640px) {
      .p-privacy .privacy_item_title {
        font-size: 2.4rem; } }
  .p-privacy .privacy_item_content {
    position: relative;
    display: block;
    padding: 0 0.5rem;
    font-family: noto-regular;
    font-size: 1.4rem;
    line-height: 2;
    text-align: left;
    color: #3340A3; }
    @media only screen and (max-width: 640px) {
      .p-privacy .privacy_item_content {
        font-size: 1.8rem; } }

.p-sitemap {
  position: relative;
  padding: 18rem 0 8rem; }
  .p-sitemap .container {
    position: relative;
    z-index: 3; }
  .p-sitemap .section-title {
    margin-bottom: 3rem; }
    .p-sitemap .section-title .lead {
      font-family: hiraMinProp-regular;
      font-size: 3.6rem;
      color: #FFFFFF; }
  .p-sitemap .sitemap-menu {
    position: relative;
    list-style: none;
    display: block;
    padding: 0; }
    .p-sitemap .sitemap-menu > li {
      position: relative;
      margin-bottom: 1.2rem; }
    .p-sitemap .sitemap-menu .menu-link {
      position: relative;
      display: block;
      width: 100%;
      background: #3340A3;
      padding: 2rem 3.0rem;
      font-family: hiraMinProp-regular;
      font-size: 2.8rem;
      line-height: 4.0rem;
      font-weight: bold;
      color: #FFFFFF;
      text-decoration: none;
      text-align: left;
      transition: all 0.3s ease-in-out; }
      @media only screen and (max-width: 640px) {
        .p-sitemap .sitemap-menu .menu-link {
          padding: 2.4rem 4.0rem; } }

.fix_bnr_pc {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 997;
}
.fix_bnr_pc li.fix_bnr_area {
  width: 160px;
  height: 160px;
  list-style: none;
  background-color: #3340A3;
}
.fix_bnr_pc li.wh {
  background-color: #000000
}
.fix_bnr_pc li:hover {
  transition: 1s;
  opacity: 0.7;
}
.fix_bnr_pc li a:hover {
  transition: 1s;
  opacity: 0.7;
}
.fix_bnr_pc li.fix_bnr_area a {
  width: 100%;
  text-align: center;
  display: inline-block;
}
.fix_bnr_pc li a img {
  width: 35%;
  vertical-align: bottom;
  margin: 3rem 0 0.5rem;
}
.fix_bnr_pc li.wh a img {
  margin: 3rem 0 1rem;
}
.fix_bnr_pc li a p {
  color: #fff;
  font-size: 1.7rem;
  font-family: KozGoPr6N-Bold;
}
.fix_bnr_pc li a p.fix_tel {
  font-size: 2rem;
}
@media only screen and (max-width: 1000px) {
  .fix_bnr_pc li.fix_bnr_area {
    width: 120px;
    height: 120px;
  }
  .fix_bnr_pc li a img {
    width: 32%;
		margin: 3rem 0 1rem;
	}
  .fix_bnr_pc li.wh a img {
    margin: 3rem 0 1.5rem;
  }
  .fix_bnr_pc li a p {
    color: #fff;
    font-size: 2.3rem;
    font-family: KozGoPr6N-Regular;
  }
  .fix_bnr_pc li a p.fix_tel {
    font-size: 2.5rem;
  }
}
.fix_bnr_sp {
  display: none;
}
@media only screen and (max-width: 767px) {
  .fix_bnr_pc {
		display: none;
	}
	.fix_bnr_sp {
		display: block;
		position: fixed;
		right: 0;
		bottom: 0;
		z-index: 997;
		width: 100%;
	}
	.fix_bnr_sp ul {
		padding-inline-start: 0;
		margin-block-start: 0;
		margin-block-end: 0;
	}	
	.fix_bnr_sp li.fix_bnr_area {
    background-color: #fff;
		list-style: none;
    padding: 12px 0;
	}
  .fix_bnr_sp li.wh {
    background-color: #000000;
  }
  .fix_bnr_sp li a {
		display: flex;
    justify-content: center;
    align-items: center;
	}
	.fix_bnr_sp li a img {
		width: 7%;
		vertical-align: bottom;
	}
  .fix_bnr_sp li a p {
    margin-left: 15px;
		color: #3340A3;
    font-size: 4.2vw;
    font-family: KozGoPr6N-Bold;
    letter-spacing: 1px;
	}
  .fix_bnr_sp li a p.fix_tel {
		color: #fff;
    font-size: 4.7vw;
	}
}

#footer {
  position: relative;
  padding: 8rem 0 0; }
  #footer .container {
    display: flex;
    flex-direction: column;
    align-items: center; }
  #footer .footer-logo {
    position: relative;
    display: flex;
    justify-content: center; }
    #footer .footer-logo h1 {
      display: flex;
      justify-content: center;
      align-items: center;
      margin-bottom: 5rem; }
      @media only screen and (max-width: 640px) {
        #footer .footer-logo h1 {
          justify-content: center; } }
      #footer .footer-logo h1 img {
        width: 50rem;
        height: auto; }
  #footer .navbtn {
    position: relative;
    width: 34.5rem;
    height: 5.4rem;
    background: #3340A3;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    outline: none;
    border: 1px solid #3340A3;
    transition: all 0.6s cubic-bezier(0.8, 0, 0.2, 1);
    cursor: pointer;
    margin-bottom: 5rem; }
    @media only screen and (max-width: 640px) {
      #footer .navbtn {
        width: 24rem; } }
    #footer .navbtn span {
      position: relative;
      font-family: KozGoPr6N-Bold;
      font-size: 1.4rem;
      color: #FFFFFF;
      text-decoration: none;
      line-height: 2;
      z-index: 3; }
    #footer .navbtn::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      background: #FFFFFF;
      width: 100%;
      height: 100%;
      transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
      transform-origin: right top;
      transform: scale(0, 1);
      z-index: 1; }
    #footer .navbtn:hover::before {
      transform-origin: left top;
      transform: scale(1, 1); }
    #footer .navbtn:hover span {
      color: #3340A3; }
  #footer .copyright {
    padding: 2.5rem 0;
    border-top: 0.5rem solid #4E4E4F; }
  #footer .container {
    display: flex;
    justify-content: center;
    font-family: KozGoPr6N-Medium;
    font-size: 1.2rem;
    line-height: 1.3;
    color: #4E4E4F;
    white-space: nowrap;
    text-align: center; }

/*# sourceMappingURL=style.css.map */

.underline {
	text-decoration: underline;
}
.underline:hover {
	text-decoration: none;
}