@charset "UTF-8";
@import url("global.css");
.sec_intro {
  margin-bottom: 70px;
  display: flex;
  justify-content: space-between; }
  .sec_intro .catch {
    flex-shrink: 0;
    padding-right: 60px;
    font-size: clamp(16px, 2.6vw, 24px);
    font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

.sec_faq {
  background: #F5F5F5;
  padding-block: 80px; }
  .sec_faq .wrapper {
    display: flex;
    justify-content: space-between; }
    .sec_faq .wrapper .faq_navi {
      width: 360px;
      max-width: 28%;
      flex-shrink: 0; }
      .sec_faq .wrapper .faq_navi ul {
        position: sticky;
        top: 130px;
        font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
        .sec_faq .wrapper .faq_navi ul li a {
          display: inline-block;
          padding-block: 10px;
          position: relative; }
          .sec_faq .wrapper .faq_navi ul li a::before {
            content: "";
            height: 2px;
            background: rgba(58, 58, 102, 0.3);
            position: absolute;
            left: 0;
            right: 100%;
            bottom: 0;
            transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
            backface-visibility: hidden; }
          .sec_faq .wrapper .faq_navi ul li a.current {
            color: #3A3A66; }
            .sec_faq .wrapper .faq_navi ul li a.current::before {
              right: 0; }
    .sec_faq .wrapper .faq_area {
      flex-grow: 1;
      padding-left: 120px; }
      .sec_faq .wrapper .faq_area .faq_block {
        background: #fff;
        padding: 40px; }
        .sec_faq .wrapper .faq_area .faq_block + .faq_block {
          margin-top: 60px; }
        .sec_faq .wrapper .faq_area .faq_block .sec_title {
          margin-bottom: 30px;
          font-size: clamp(16px, 2.6vw, 24px);
          font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
        .sec_faq .wrapper .faq_area .faq_block dl {
          border-top: 1px solid #A2A2A2; }
          .sec_faq .wrapper .faq_area .faq_block dl:last-of-type {
            border-bottom: 1px solid #A2A2A2; }
          .sec_faq .wrapper .faq_area .faq_block dl dt {
            padding: 15px 45px;
            border-bottom: #E1E1E1;
            position: relative;
            cursor: pointer;
            font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
            .sec_faq .wrapper .faq_area .faq_block dl dt::before {
              content: "Q";
              width: 20px;
              text-align: center;
              display: inline-block;
              color: #7E7F85;
              line-height: 1.1;
              position: absolute;
              left: 15px;
              top: 50%;
              transform: translateY(-50%);
              font-size: clamp(16px, 2.6vw, 24px);
              font-family: "Jost", "Zen Kaku Gothic New", sans-serif; }
            .sec_faq .wrapper .faq_area .faq_block dl dt.closeheader::after {
              content: "+";
              text-align: center;
              display: inline-block;
              line-height: 1.1;
              position: absolute;
              right: 15px;
              top: 50%;
              transform: translateY(-50%);
              font-size: clamp(16px, 2.6vw, 24px);
              font-family: "Jost", "Zen Kaku Gothic New", sans-serif; }
            .sec_faq .wrapper .faq_area .faq_block dl dt.openheader::after {
              content: "";
              width: 12px;
              height: 2px;
              background: #1d1d1d;
              display: inline-block;
              position: absolute;
              right: 15px;
              top: 50%;
              transform: translateY(-50%); }
          .sec_faq .wrapper .faq_area .faq_block dl dd {
            border-top: 1px solid #A2A2A2;
            padding: 25px 15px;
            background: #F5F5F5;
            position: relative; }
            .sec_faq .wrapper .faq_area .faq_block dl dd::before {
              content: "A";
              width: 20px;
              text-align: center;
              display: inline-block;
              color: #3A3A66;
              line-height: 1.1;
              position: absolute;
              left: 15px;
              top: 25px;
              font-size: clamp(16px, 2.6vw, 24px);
              font-family: "Jost", "Zen Kaku Gothic New", sans-serif; }
            .sec_faq .wrapper .faq_area .faq_block dl dd .a_inner {
              padding-left: 30px; }
              .sec_faq .wrapper .faq_area .faq_block dl dd .a_inner p + p {
                margin-top: 1em; }
              .sec_faq .wrapper .faq_area .faq_block dl dd .a_inner .link {
                margin-top: 20px;
                display: flex;
                justify-content: flex-start;
                gap: 50px;
                background: #1A1A3F; }
                .sec_faq .wrapper .faq_area .faq_block dl dd .a_inner .link a {
                  color: #fff;
                  padding: 5px 15px 5px 50px; }
                  .sec_faq .wrapper .faq_area .faq_block dl dd .a_inner .link a::after {
                    width: 0;
                    height: 0; }
                  .sec_faq .wrapper .faq_area .faq_block dl dd .a_inner .link a::before {
                    left: 10px;
                    background-image: none;
                    background-color: #fff;
                    mask: url("../img/arrow.svg") no-repeat center/contain;
                    -webkit-mask: url("../img/arrow.svg") no-repeat center/contain; }

.sec_cta::after {
  background-color: #F5F5F5; }

/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-1 ( 1300px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 1300px) {
  .sec_faq .wrapper .faq_navi {
    width: 300px; }
  .sec_faq .wrapper .faq_area {
    padding-left: 60px; } }
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-2 ( 959px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 959px) {
  .sec_intro {
    display: block; }
    .sec_intro .catch {
      padding-right: 0;
      margin-bottom: 20px; }

  .sec_faq {
    padding-block: 60px; }
    .sec_faq .wrapper .faq_navi {
      width: 200px;
      max-width: 24%; }
      .sec_faq .wrapper .faq_navi ul {
        top: 100px; }
        .sec_faq .wrapper .faq_navi ul li a {
          font-size: 13px; }
    .sec_faq .wrapper .faq_area {
      padding-left: 30px; }
      .sec_faq .wrapper .faq_area .faq_block {
        padding: 30px; }
        .sec_faq .wrapper .faq_area .faq_block + .faq_block {
          margin-top: 40px; }
        .sec_faq .wrapper .faq_area .faq_block .sec_title {
          margin-bottom: 20px; }
        .sec_faq .wrapper .faq_area .faq_block dl dt {
          padding: 15px 40px; }
          .sec_faq .wrapper .faq_area .faq_block dl dt::before {
            left: 10px; }
          .sec_faq .wrapper .faq_area .faq_block dl dt.closeheader::after {
            right: 10px; }
          .sec_faq .wrapper .faq_area .faq_block dl dt.openheader::after {
            width: 8px;
            right: 10px; }
        .sec_faq .wrapper .faq_area .faq_block dl dd {
          padding: 20px 10px; }
          .sec_faq .wrapper .faq_area .faq_block dl dd::before {
            left: 10px;
            top: 20px; }
          .sec_faq .wrapper .faq_area .faq_block dl dd .a_inner {
            font-size: 13px; }
            .sec_faq .wrapper .faq_area .faq_block dl dd .a_inner .link {
              gap: 20px; }
              .sec_faq .wrapper .faq_area .faq_block dl dd .a_inner .link a {
                padding: 5px 10px 5px 30px; }
                .sec_faq .wrapper .faq_area .faq_block dl dd .a_inner .link a::before {
                  width: 20px;
                  height: 10px; } }
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-3 ( 644px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 644px) {
  .sec_intro {
    margin-bottom: 50px; }

  .sec_faq {
    padding-block: 30px; }
    .sec_faq .wrapper {
      display: block; }
      .sec_faq .wrapper .faq_navi {
        width: 100%;
        max-width: initial; }
        .sec_faq .wrapper .faq_navi ul {
          position: relative;
          top: auto;
          margin-bottom: 20px; }
          .sec_faq .wrapper .faq_navi ul li {
            margin-bottom: 5px; }
            .sec_faq .wrapper .faq_navi ul li a {
              display: block;
              padding: 5px 10px;
              border: 1px solid #A2A2A2; }
              .sec_faq .wrapper .faq_navi ul li a::before {
                height: 0; }
              .sec_faq .wrapper .faq_navi ul li a::after {
                content: "";
                width: 4px;
                height: 4px;
                border-top: 1px solid #7E7F85;
                border-right: 1px solid #7E7F85;
                position: absolute;
                right: 10px;
                top: 50%;
                transform: translateY(-50%) rotate(45deg); }
      .sec_faq .wrapper .faq_area {
        padding-left: 0; }
        .sec_faq .wrapper .faq_area .faq_block {
          padding: 20px; }
          .sec_faq .wrapper .faq_area .faq_block + .faq_block {
            margin-top: 30px; }
          .sec_faq .wrapper .faq_area .faq_block dl dt {
            padding: 15px 30px; }
            .sec_faq .wrapper .faq_area .faq_block dl dt.openheader::after {
              width: 6px; }
          .sec_faq .wrapper .faq_area .faq_block dl dt::before {
            width: 16px;
            margin-right: 4px; }
          .sec_faq .wrapper .faq_area .faq_block dl dt.openheader::after {
            width: 8px; }
          .sec_faq .wrapper .faq_area .faq_block dl dd::before {
            width: 16px; }
          .sec_faq .wrapper .faq_area .faq_block dl dd .a_inner {
            padding-left: 20px; }
            .sec_faq .wrapper .faq_area .faq_block dl dd .a_inner .link {
              margin-top: 10px;
              display: block; } }
