@charset "UTF-8";
* {
  box-sizing: border-box; }

html {
  font-size: clamp(16px, 1.1vw, 18px);
  /* ルート要素 */ }
  @media (max-width: 1380px) {
    html {
      font-size: clamp(14px, 1.1vw, 16px); } }
  @media (max-width: 900px) {
    html {
      font-size: clamp(14px, 1.1vw, 15px); } }
  @media (max-width: 767px) {
    html {
      font-size: clamp(13px, 1.1vw, 14px); } }
  html body {
    font-weight: 500;
    color: #5E5E5E;
    line-height: 1.5;
    font-family: "Yu Gothic", "Yu Gothic Medium", "YuGothic", sans-serif;
    /* 将来対応用（上書き） */ }
    @media (max-width: 900px) {
      html body.over {
        overflow: hidden; } }
    html body .mt_none {
      margin-top: 0 !important; }
    html body .mb_none {
      margin-bottom: 0 !important; }
    html body .pt_none {
      padding-top: 0 !important; }
    html body .pb_none {
      padding-bottom: 0 !important; }
    html body .mt_1 {
      margin-top: 1rem !important; }
    html body .mb_1 {
      margin-bottom: 1rem !important; }
    html body .pt_1 {
      padding-top: 1rem !important; }
    html body .pb_1 {
      padding-bottom: 1rem !important; }
    html body .mt_2 {
      margin-top: 2rem !important; }
    html body .mb_2 {
      margin-bottom: 2rem !important; }
    html body .pt_2 {
      padding-top: 2rem !important; }
    html body .pb_2 {
      padding-bottom: 2rem !important; }
    html body .mt_3 {
      margin-top: 3rem !important; }
    html body .mb_3 {
      margin-bottom: 3rem !important; }
    html body .pt_3 {
      padding-top: 3rem !important; }
    html body .pb_3 {
      padding-bottom: 3rem !important; }
    html body .mt_4 {
      margin-top: 4rem !important; }
    html body .mb_4 {
      margin-bottom: 4rem !important; }
    html body .pt_4 {
      padding-top: 4rem !important; }
    html body .pb_4 {
      padding-bottom: 4rem !important; }
    html body [role="note"] {
      padding-left: 1em;
      text-indent: -1em; }
    html body .textHalf {
      width: 50%; }
      @media (max-width: 767px) {
        html body .textHalf {
          width: 100%; } }
      html body .textHalf.right {
        margin: 0 0 0 auto; }
    html body .newsTitle {
      margin-bottom: 1rem;
      padding: 1rem 0; }
    html body .tableWrap {
      overflow-x: scroll;
      padding: 1rem 0; }
      html body .tableWrap table {
        margin: auto; }
        html body .tableWrap table tbody tr th, html body .tableWrap table tbody tr td {
          padding: 0.5rem 1rem;
          border: 1px solid #888; }
        html body .tableWrap table tbody tr th {
          background-color: #FFB3B3; }
        html body .tableWrap table tbody tr td {
          background-color: white; }
    html body .TitleBox {
      position: relative;
      overflow: hidden;
      height: 40vw;
      max-height: 22rem;
      display: flex;
      justify-content: center;
      align-items: center; }
      html body .TitleBox.pageTop {
        height: 18vw;
        min-height: 12rem;
        max-height: 15rem;
        background-color: #FFE0E0;
        position: relative;
        z-index: 3;
        margin-bottom: 3rem;
        padding: 1rem 0; }
        @media (max-width: 767px) {
          html body .TitleBox.pageTop {
            height: 30vw;
            min-height: 10rem;
            max-height: inherit; } }
        html body .TitleBox.pageTop::after {
          content: none; }
        html body .TitleBox.pageTop h1 {
          color: #FF7D7D; }
        html body .TitleBox.pageTop h2 {
          margin: 0.5rem 0 0 0;
          font-size: clamp(16px, 1.1vw, 18px); }
          @media (max-width: 767px) {
            html body .TitleBox.pageTop h2 {
              font-size: clamp(14px, 1.1vw, 16px); } }
        html body .TitleBox.pageTop.gray {
          background-color: #F4F4F4; }
          html body .TitleBox.pageTop.gray h1 {
            color: #5E5E5E; }
      html body .TitleBox .pageWidth {
        position: relative;
        z-index: 5;
        width: 100%; }
        html body .TitleBox .pageWidth .titleBlock {
          padding-top: 0; }
      html body .TitleBox::after {
        position: absolute;
        display: block;
        pointer-events: none;
        z-index: 1;
        opacity: 0.6;
        top: 0;
        left: 0;
        content: "";
        background-color: #fff;
        width: 100%;
        height: 100%; }
      html body .TitleBox img.back {
        display: block;
        position: absolute;
        pointer-events: none;
        z-index: 1;
        width: 100%;
        height: 100%;
        object-fit: cover;
        top: 0;
        left: 0; }
        html body .TitleBox img.back.pc {
          display: block; }
          @media (max-width: 767px) {
            html body .TitleBox img.back.pc {
              display: none; } }
        html body .TitleBox img.back.sp {
          display: none; }
          @media (max-width: 767px) {
            html body .TitleBox img.back.sp {
              display: block; } }
    html body section {
      padding: 5rem 0; }
      @media (max-width: 767px) {
        html body section {
          padding: 3rem 0; } }
      html body section.section_top {
        padding-top: 0 !important; }
      html body section.recommend {
        height: 50vh;
        min-height: 35rem;
        display: flex;
        align-items: center;
        justify-content: center; }
        @media (max-width: 767px) {
          html body section.recommend {
            height: 55vh;
            min-height: inherit;
            max-height: 45rem;
            align-items: flex-end; } }
        html body section.recommend .pageWidth {
          width: 100%; }
      html body section.pink_back {
        background-color: #FFF1F3; }
      html body section.gray_back {
        background-color: #F4F4F4; }
      html body section.white_f {
        position: relative; }
        html body section.white_f .pageWidth {
          position: relative;
          z-index: 5; }
        html body section.white_f::after {
          position: absolute;
          display: block;
          pointer-events: none;
          z-index: 1;
          opacity: 0.6;
          top: 0;
          left: 0;
          content: "";
          background-color: #fff;
          width: 100%;
          height: 100%; }
      html body section.image_back {
        position: relative;
        overflow: hidden; }
        html body section.image_back .pageWidth {
          position: relative;
          z-index: 5; }
        html body section.image_back img.back {
          display: block;
          position: absolute;
          pointer-events: none;
          z-index: 1;
          width: 100%;
          height: 100%;
          object-fit: cover;
          top: 0;
          left: 0; }
          html body section.image_back img.back.pc {
            display: block; }
            @media (max-width: 767px) {
              html body section.image_back img.back.pc {
                display: none; } }
          html body section.image_back img.back.sp {
            display: none; }
            @media (max-width: 767px) {
              html body section.image_back img.back.sp {
                display: block; } }
      html body section *:first-child {
        margin-top: 0 !important; }
      html body section *:last-child {
        margin-bottom: 0 !important; }
      html body section.fv {
        padding: 1rem 0 0 0;
        overflow: hidden; }
        html body section.fv .fv_box {
          position: relative; }
          html body section.fv .fv_box .pageWidth {
            position: absolute;
            z-index: 5;
            transform: translate(-50%, -50%);
            top: 40%;
            left: 50%;
            width: 100%; }
          html body section.fv .fv_box .image {
            width: 60%;
            margin: 0 0 0 auto;
            position: relative;
            z-index: 4;
            height: 38rem;
            overflow: hidden;
            border-radius: 4rem 0 0 4rem; }
            @media (max-width: 1380px) {
              html body section.fv .fv_box .image {
                width: 68%; } }
            @media (max-width: 900px) {
              html body section.fv .fv_box .image {
                width: 85%; } }
            @media (max-width: 767px) {
              html body section.fv .fv_box .image {
                width: 70%; } }
            @media (max-width: 600px) {
              html body section.fv .fv_box .image {
                height: 29rem;
                border-radius: 3rem 0 0 3rem; } }
            html body section.fv .fv_box .image img {
              object-fit: cover;
              width: 100%;
              height: 100%; }
        html body section.fv .fv_bottom {
          background-image: url(../img/back_p.jpg);
          background-size: cover;
          background-repeat: no-repeat;
          padding: 4rem 0 2rem 0;
          color: #fff;
          z-index: 3;
          margin-top: -6.25rem; }
          html body section.fv .fv_bottom p {
            margin-top: 0.5rem;
            font-size: clamp(12px, 1.1vw, 14px); }
          html body section.fv .fv_bottom .boxList {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 1rem;
            position: relative;
            z-index: 5; }
            @media (max-width: 900px) {
              html body section.fv .fv_bottom .boxList {
                gap: 0.5rem; } }
            @media (max-width: 767px) {
              html body section.fv .fv_bottom .boxList {
                grid-template-columns: repeat(2, 1fr); } }
            html body section.fv .fv_bottom .boxList li {
              background-color: #fff;
              border-radius: 0.3rem;
              border: 3px solid #FF7D7D;
              padding: 0.25rem 0.5rem; }
              html body section.fv .fv_bottom .boxList li img {
                width: auto;
                height: 3.5rem;
                margin: 0 auto; }
    html body #productSection .productLoop .item {
      margin-bottom: 1.5rem;
      padding: 2rem;
      border-radius: 10px;
      background-color: white;
      box-shadow: 0 0 12px #999;
      display: flex; }
      @media (max-width: 767px) {
        html body #productSection .productLoop .item {
          display: block; } }
      html body #productSection .productLoop .item .detail {
        width: 48%; }
        @media (max-width: 767px) {
          html body #productSection .productLoop .item .detail {
            width: 100%; } }
        html body #productSection .productLoop .item .detail .catchCopy {
          font-weight: bold;
          font-size: clamp(24px, 1.1vw, 26px);
          color: #FF7D7D;
          margin-bottom: 1rem; }
          @media (max-width: 767px) {
            html body #productSection .productLoop .item .detail .catchCopy {
              font-size: clamp(18px, 1.1vw, 20px); } }
        html body #productSection .productLoop .item .detail .productName {
          margin: 0.5rem 0;
          font-weight: bold; }
        html body #productSection .productLoop .item .detail .price {
          margin: 0.5rem 0;
          font-weight: bold;
          color: #FF7D7D;
          font-size: clamp(20px, 1.1vw, 22px); }
        html body #productSection .productLoop .item .detail .a_btn {
          margin: 0;
          display: flex;
          justify-content: flex-start; }
          html body #productSection .productLoop .item .detail .a_btn a {
            display: flex;
            align-items: center;
            justify-content: center;
            color: white; }
            html body #productSection .productLoop .item .detail .a_btn a img {
              width: 2rem;
              height: 2rem;
              margin-right: 0.5rem; }
      html body #productSection .productLoop .item figure {
        overflow: hidden;
        aspect-ratio: 16 / 9;
        width: 48%; }
        @media (max-width: 767px) {
          html body #productSection .productLoop .item figure {
            width: 100%; } }
        html body #productSection .productLoop .item figure img {
          width: 100%;
          height: 100%;
          object-fit: contain; }
    html body .tableScroller {
      overflow: scroll; }
      html body .tableScroller table {
        min-width: 100%; }
        html body .tableScroller table tbody tr, html body .tableScroller table tbody td {
          border: 1px solid #888; }
        html body .tableScroller table tbody tr:first-child {
          background-color: #FFF1F3; }
        html body .tableScroller table tbody tr td {
          padding: 0.5rem 1rem; }
    html body .priceDetail h3 {
      font-size: 120%;
      font-weight: bold;
      margin-bottom: 0.5rem; }
    html body #medicineListSection {
      background-color: #FFE0E0; }
      html body #medicineListSection h2 {
        text-align: center;
        color: #FF7D7D;
        margin-bottom: 4rem;
        font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "メイリオ", Meiryo, sans-serif;
        font-size: clamp(32px, 1.1vw, 34px); }
        @media (max-width: 767px) {
          html body #medicineListSection h2 {
            font-size: clamp(24px, 1.1vw, 26px); } }
      html body #medicineListSection .tags ul {
        margin-top: 1rem !important;
        display: flex; }
        html body #medicineListSection .tags ul li {
          border-radius: 100rem;
          border: 1px solid #FF7D7D;
          color: #FF7D7D;
          font-size: clamp(12px, 1.1vw, 14px);
          padding: 0.1rem 1rem;
          margin-right: 0.5rem; }
      html body #medicineListSection ul.medicineList {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap; }
        @media (max-width: 767px) {
          html body #medicineListSection ul.medicineList {
            display: block; } }
        html body #medicineListSection ul.medicineList li.item {
          background-color: white;
          width: 49%;
          margin-bottom: 2rem;
          border-radius: 10px;
          box-shadow: 0 0 12px #999;
          padding: 2rem;
          padding-bottom: 4rem; }
          @media (max-width: 767px) {
            html body #medicineListSection ul.medicineList li.item {
              width: 100%; } }
          html body #medicineListSection ul.medicineList li.item .openPriceDialog {
            border-radius: 100rem;
            background-color: #FF7D7D;
            color: white;
            display: block;
            width: 100%;
            border: none;
            margin-top: 2rem;
            padding: 0.5rem 2rem; }
          html body #medicineListSection ul.medicineList li.item .priceDialog {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            border: none;
            border-radius: 10px;
            padding: 2rem;
            margin: auto !important;
            max-width: 90vw; }
            html body #medicineListSection ul.medicineList li.item .priceDialog .closePriceDialog {
              position: absolute;
              right: 1rem;
              top: 1rem;
              border: none;
              width: 2rem;
              height: 2rem;
              border-radius: 4rem; }
            html body #medicineListSection ul.medicineList li.item .priceDialog .priceDialogInner h4 {
              font-weight: bold;
              font-size: clamp(16px, 1.1vw, 18px);
              margin: 0.5rem 0; }
          html body #medicineListSection ul.medicineList li.item .description dl {
            margin: 2rem 0; }
            html body #medicineListSection ul.medicineList li.item .description dl dt {
              font-weight: bold;
              margin-bottom: 1rem;
              font-size: clamp(18px, 1.1vw, 20px); }
            html body #medicineListSection ul.medicineList li.item .description dl dd h4 {
              font-weight: bold;
              font-size: clamp(16px, 1.1vw, 18px);
              margin: 0.5rem 0; }
            html body #medicineListSection ul.medicineList li.item .description dl dd ul {
              background-color: #f0f0f0;
              padding: 1rem;
              border-radius: 5px; }
              html body #medicineListSection ul.medicineList li.item .description dl dd ul li {
                margin: 1rem 0;
                font-size: clamp(14px, 1.1vw, 16px); }
          html body #medicineListSection ul.medicineList li.item .medicineTitle {
            display: flex;
            justify-content: space-between;
            align-items: flex-start; }
            @media (max-width: 767px) {
              html body #medicineListSection ul.medicineList li.item .medicineTitle {
                display: block; } }
            html body #medicineListSection ul.medicineList li.item .medicineTitle h3 {
              font-size: clamp(24px, 1.1vw, 26px);
              font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "メイリオ", Meiryo, sans-serif; }
              html body #medicineListSection ul.medicineList li.item .medicineTitle h3 small {
                display: block;
                color: #FF7D7D;
                font-size: clamp(16px, 1.1vw, 18px); }
            html body #medicineListSection ul.medicineList li.item .medicineTitle .underCost {
              display: block;
              color: #FF7D7D;
              font-size: clamp(24px, 1.1vw, 26px);
              font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "メイリオ", Meiryo, sans-serif;
              margin-top: 0 !important; }
              @media (max-width: 767px) {
                html body #medicineListSection ul.medicineList li.item .medicineTitle .underCost {
                  margin-top: 1rem !important; } }
    html body .pointBlock {
      display: flex;
      padding-top: 2rem;
      gap: 1rem;
      justify-content: space-between; }
      @media (max-width: 767px) {
        html body .pointBlock {
          display: block; } }
      html body .pointBlock li {
        flex: 1;
        /* 全アイテムが等幅になる */
        border-radius: 10px;
        background-color: white;
        padding: 2rem;
        margin-bottom: 1rem; }
        html body .pointBlock li h3 {
          font-size: 110%;
          color: #FF7D7D;
          font-weight: bold; }
    html body .docBlock {
      display: flex;
      justify-content: space-between;
      align-items: center; }
      @media (max-width: 767px) {
        html body .docBlock {
          flex-direction: column; } }
      html body .docBlock figure {
        width: 20%; }
        @media (max-width: 767px) {
          html body .docBlock figure {
            padding-top: 2.5rem;
            width: 50%;
            max-width: 12rem; } }
      html body .docBlock .text {
        width: calc(80% - 3rem);
        padding: 2rem;
        background-color: #fff;
        border-radius: 1rem;
        font-weight: 600;
        position: relative; }
        html body .docBlock .text::before {
          transform: translateY(-50%);
          display: block;
          content: "";
          position: absolute;
          clip-path: polygon(0 50%, 100% 0, 100% 100%);
          height: 1.8rem;
          width: 2rem;
          background-color: #fff;
          top: 50%;
          left: -1.9rem; }
        @media (max-width: 767px) {
          html body .docBlock .text {
            order: -1;
            width: 100%; }
            html body .docBlock .text::before {
              clip-path: polygon(0 0, 100% 0, 50% 100%);
              top: inherit;
              bottom: -1.7rem;
              left: 50%;
              transform: translateX(-50%); } }
    html body ul {
      list-style-type: none; }
      html body ul.checkList li {
        padding: 1rem 0.8rem;
        display: flex;
        align-items: center;
        border-top: 1px dotted #5E5E5E;
        font-size: clamp(18px, 1.1vw, 20px);
        font-weight: 600; }
        @media (max-width: 767px) {
          html body ul.checkList li {
            font-size: clamp(16px, 1.1vw, 18px); } }
        html body ul.checkList li:last-of-type {
          border-bottom: 1px dotted #5E5E5E; }
        html body ul.checkList li::before {
          content: "";
          width: 2rem;
          height: 2rem;
          min-width: 2rem;
          min-height: 2rem;
          display: block;
          background-image: url(../svg/check.svg);
          background-position: center;
          background-repeat: no-repeat;
          background-size: contain;
          margin-right: 0.8rem; }
      html body ul.newsList li {
        border-bottom: 1px dotted #5E5E5E; }
        html body ul.newsList li:last-of-type {
          border-bottom: none; }
        html body ul.newsList li a {
          padding: 1rem 0.5rem;
          display: flex;
          flex-wrap: wrap;
          align-items: center; }
          @media (max-width: 767px) {
            html body ul.newsList li a {
              padding: 1rem 0; } }
          html body ul.newsList li a time {
            font-size: clamp(12px, 1.1vw, 14px);
            margin: 0 0.5rem 0.5rem 1rem; }
          html body ul.newsList li a h3 {
            width: 100%;
            font-weight: 600; }
      html body ul.pointList {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
        margin: 2rem 0; }
        html body ul.pointList li {
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: space-between;
          gap: 1rem; }
          html body ul.pointList li figure {
            order: -1;
            width: 5.5rem; }
          html body ul.pointList li h3 {
            text-align: center;
            font-size: clamp(20px, 1.1vw, 22px);
            font-weight: 600;
            flex-grow: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%; }
            @media (max-width: 767px) {
              html body ul.pointList li h3 {
                font-size: clamp(18px, 1.1vw, 20px); } }
        @media (max-width: 1380px) {
          html body ul.pointList {
            padding: 0 2rem; } }
        @media (max-width: 900px) {
          html body ul.pointList {
            grid-template-columns: repeat(2, 1fr); } }
        @media (max-width: 767px) {
          html body ul.pointList {
            grid-template-columns: repeat(1, 1fr); } }
        html body ul.pointList li {
          padding: 2rem;
          border-radius: 1rem;
          background-color: #fff;
          box-shadow: 0px 0px 16px 0px rgba(255, 125, 125, 0.7); }
      html body ul.flowList {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem 3rem;
        margin: 2rem 0; }
        @media (max-width: 1380px) {
          html body ul.flowList {
            margin: 2rem 3rem 2rem 0; } }
        @media (max-width: 767px) {
          html body ul.flowList {
            margin: 2rem 0;
            grid-template-columns: repeat(1, 1fr);
            gap: 4rem; } }
        html body ul.flowList li {
          display: flex;
          flex-direction: column;
          justify-content: space-between;
          position: relative; }
          html body ul.flowList li::after {
            position: absolute;
            content: "";
            background: #FF7D7D;
            height: calc(tan(60deg) * 3rem / 2);
            width: 1.25rem;
            clip-path: polygon(0 0, 100% 50%, 0 100%);
            transform: translateY(-50%);
            right: -2.3rem;
            top: 50%;
            display: block; }
            @media (max-width: 767px) {
              html body ul.flowList li::after {
                right: 50%;
                top: inherit;
                bottom: -2.75rem;
                left: 50%;
                clip-path: polygon(0 0, 100% 0, 50% 100%);
                height: 1.5rem;
                width: 4rem;
                transform: translateX(-50%); } }
          html body ul.flowList li:last-of-type::after {
            content: none; }
          html body ul.flowList li h3 {
            width: 100%;
            font-size: clamp(24px, 1.1vw, 26px);
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 0.8rem;
            margin-bottom: 0.8rem; }
            @media (max-width: 767px) {
              html body ul.flowList li h3 {
                font-size: clamp(20px, 1.1vw, 22px); } }
            html body ul.flowList li h3 .step {
              min-width: 3.5rem;
              min-height: 3.5rem;
              width: 3.5rem;
              height: 3.5rem;
              background-color: #fff;
              display: flex;
              flex-direction: column;
              align-items: center;
              justify-content: center;
              color: #FF7D7D;
              font-weight: 600;
              line-height: 1; }
              html body ul.flowList li h3 .step span {
                font-size: min(1.5vw, 0.75rem); }
                html body ul.flowList li h3 .step span.number {
                  font-size: min(5vw, 1.8rem); }
          html body ul.flowList li .text {
            width: 100%;
            background-color: #fff;
            padding: 1rem;
            flex-grow: 1; }
          html body ul.flowList li figure {
            margin: 0;
            position: relative;
            padding-top: 56%;
            width: 100%;
            overflow: hidden; }
            html body ul.flowList li figure img {
              position: absolute;
              width: 100%;
              height: 100%;
              -o-object-fit: cover;
              object-fit: cover;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%);
              z-index: 1;
              transition: all .4s; }
      html body ul.menuList {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem 1rem;
        margin: 2rem 0; }
        @media (max-width: 900px) {
          html body ul.menuList {
            grid-template-columns: repeat(2, 1fr); } }
        @media (max-width: 767px) {
          html body ul.menuList {
            grid-template-columns: repeat(2, 1fr); } }
        html body ul.menuList li a {
          display: flex;
          flex-direction: column;
          gap: 0.5rem 0; }
          html body ul.menuList li a h3 {
            width: 100%;
            text-align: center;
            font-size: clamp(16px, 1.1vw, 18px);
            font-weight: 600; }
            @media (max-width: 767px) {
              html body ul.menuList li a h3 {
                font-size: clamp(14px, 1.1vw, 16px); } }
          html body ul.menuList li a figure {
            margin: 0;
            position: relative;
            padding-top: 60%;
            width: 100%;
            order: -1;
            overflow: hidden;
            border-radius: 1rem; }
            html body ul.menuList li a figure img {
              position: absolute;
              width: 100%;
              height: 100%;
              -o-object-fit: cover;
              object-fit: cover;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%);
              z-index: 1;
              transition: all .4s; }
          html body ul.menuList li a:hover figure img {
            transform: translate(-50%, -50%) scale(1.1); }
    html body .faqBlock {
      display: grid;
      grid-template-columns: repeat(1, 1fr);
      margin: 1.5rem auto;
      gap: 1rem;
      align-items: flex-start;
      font-size: clamp(16px, 1.1vw, 18px); }
      @media (max-width: 767px) {
        html body .faqBlock {
          font-size: clamp(14px, 1.1vw, 16px); } }
      html body .faqBlock details {
        cursor: pointer;
        line-height: 1.8;
        display: flex;
        flex-direction: column;
        height: 100%; }
        html body .faqBlock details summary.faq_q {
          background-color: #FFF1F3;
          border-radius: 2rem;
          display: block;
          list-style: none !important;
          padding: 1rem;
          padding-left: 3.75rem;
          padding-right: 3.5rem;
          position: relative;
          height: 100%;
          font-weight: 600; }
          html body .faqBlock details summary.faq_q::marker {
            display: none !important;
            content: "" !important; }
          html body .faqBlock details summary.faq_q::after {
            content: "";
            clip-path: polygon(0 0, 100% 0, 50% 100%);
            background-color: #FF7D7D;
            width: 0.8rem;
            height: 0.7rem;
            right: 1.5rem;
            top: 52%;
            transform: translateY(-50%);
            position: absolute;
            pointer-events: none; }
          html body .faqBlock details summary.faq_q::before {
            position: absolute;
            top: 0.8rem;
            left: 1.1rem;
            content: "";
            width: 2rem;
            height: 2rem;
            display: block;
            background-image: url("../svg/q.svg");
            background-position: center;
            background-size: contain;
            background-repeat: no-repeat; }
        html body .faqBlock details .faq_a {
          flex-grow: 1;
          padding: 1rem;
          padding-left: 3.75rem;
          background-color: #fff;
          position: relative; }
          html body .faqBlock details .faq_a::before {
            position: absolute;
            top: 0.8rem;
            left: 1.1rem;
            content: "";
            width: 2rem;
            height: 2rem;
            display: block;
            background-image: url("../svg/a.svg");
            background-position: center;
            background-size: contain;
            background-repeat: no-repeat; }
      html body .faqBlock details[open] summary.faq_q {
        padding-bottom: 1rem;
        height: auto; }
        html body .faqBlock details[open] summary.faq_q::after {
          clip-path: polygon(50% 0, 100% 100%, 0 100%);
          top: 49%; }
    html body .article_contents {
      border-bottom: 1px dotted #5E5E5E;
      margin-bottom: 2rem;
      padding-bottom: 2rem; }
    html body .contentInclude {
      font-size: clamp(16px, 1.1vw, 18px); }
      @media (max-width: 767px) {
        html body .contentInclude {
          font-size: clamp(14px, 1.1vw, 16px); } }
      html body .contentInclude *:first-child {
        margin-top: 0 !important; }
      html body .contentInclude *:last-child {
        margin-bottom: 0 !important; }
      html body .contentInclude iframe {
        width: 100%;
        max-width: 100%; }
      html body .contentInclude .dlBox {
        margin: 1.5rem 0; }
      html body .contentInclude dl {
        display: flex;
        margin-bottom: 1rem; }
        @media (max-width: 767px) {
          html body .contentInclude dl {
            display: block; } }
        html body .contentInclude dl dt {
          font-weight: 600;
          padding: 1rem 1rem 1rem 0;
          min-width: 13.5em;
          width: 13.5em;
          position: relative;
          font-size: clamp(16px, 1.1vw, 18px); }
          @media (max-width: 767px) {
            html body .contentInclude dl dt {
              font-size: clamp(14px, 1.1vw, 16px);
              width: 100%;
              padding: 0.8rem 0 0.5rem 0; } }
          html body .contentInclude dl dt::before {
            width: 1px;
            height: 100%;
            position: absolute;
            top: 0;
            right: 0;
            content: "";
            background-color: #5E5E5E; }
            @media (max-width: 767px) {
              html body .contentInclude dl dt::before {
                width: 100%;
                height: 1px;
                top: 100%;
                left: 0;
                right: inherit; } }
        html body .contentInclude dl dd {
          font-size: clamp(16px, 1.1vw, 18px);
          font-weight: 500;
          padding: 1rem 0 1rem 1rem; }
          @media (max-width: 767px) {
            html body .contentInclude dl dd {
              font-size: clamp(14px, 1.1vw, 16px);
              padding: 0.8rem 0; } }
      html body .contentInclude .dlWrap dl {
        margin: 0;
        border-bottom: 1px solid #FF7D7D; }
        html body .contentInclude .dlWrap dl:last-of-type {
          border: none; }
        @media (max-width: 767px) {
          html body .contentInclude .dlWrap dl {
            display: block; } }
        html body .contentInclude .dlWrap dl dt {
          background-color: #FFB3B3;
          width: 50%;
          padding: 1rem;
          font-size: clamp(12px, 1.1vw, 14px);
          color: #fff;
          align-items: center;
          display: flex; }
          html body .contentInclude .dlWrap dl dt::before {
            content: none; }
          @media (max-width: 767px) {
            html body .contentInclude .dlWrap dl dt {
              width: 100%;
              padding: 0.5rem 1rem; } }
        html body .contentInclude .dlWrap dl dd {
          font-size: clamp(18px, 1.1vw, 20px);
          padding: 1rem;
          background-color: #fff;
          width: 50%;
          font-weight: 600;
          display: flex;
          align-items: center;
          text-align: center;
          justify-content: center; }
          @media (max-width: 767px) {
            html body .contentInclude .dlWrap dl dd {
              font-size: clamp(16px, 1.1vw, 18px);
              width: 100%; } }
      html body .contentInclude .column2 {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem; }
        @media (max-width: 900px) {
          html body .contentInclude .column2 {
            gap: 1rem; } }
        @media (max-width: 767px) {
          html body .contentInclude .column2 {
            grid-template-columns: repeat(1, 1fr);
            gap: 1rem; } }
        html body .contentInclude .column2 .dlWrap h4 {
          margin: 1rem 0 0.5rem 0; }
        html body .contentInclude .column2 .dlWrap dl {
          border: none; }
          @media (max-width: 767px) {
            html body .contentInclude .column2 .dlWrap dl {
              display: flex; } }
          html body .contentInclude .column2 .dlWrap dl dt {
            width: 100%;
            max-width: 7em;
            justify-content: center;
            font-size: clamp(18px, 1.1vw, 20px); }
            @media (max-width: 767px) {
              html body .contentInclude .column2 .dlWrap dl dt {
                font-size: clamp(16px, 1.1vw, 18px);
                max-width: 10em; } }
          html body .contentInclude .column2 .dlWrap dl dd {
            width: 100%; }
      html body .contentInclude p.center, html body .contentInclude span.center, html body .contentInclude ol li.center, html body .contentInclude ul li.center, html body .contentInclude dl dd.center {
        text-align: center; }
      html body .contentInclude p.right, html body .contentInclude span.right, html body .contentInclude ol li.right, html body .contentInclude ul li.right, html body .contentInclude dl dd.right {
        text-align: right; }
      html body .contentInclude p b, html body .contentInclude span b, html body .contentInclude ol li b, html body .contentInclude ul li b, html body .contentInclude dl dd b {
        font-weight: 600; }
      html body .contentInclude p span.line, html body .contentInclude span span.line, html body .contentInclude ol li span.line, html body .contentInclude ul li span.line, html body .contentInclude dl dd span.line {
        text-decoration: underline; }
      html body .contentInclude p span.marker, html body .contentInclude span span.marker, html body .contentInclude ol li span.marker, html body .contentInclude ul li span.marker, html body .contentInclude dl dd span.marker {
        background: linear-gradient(transparent 60%, #ff6 60%); }
      html body .contentInclude p span.red, html body .contentInclude span span.red, html body .contentInclude ol li span.red, html body .contentInclude ul li span.red, html body .contentInclude dl dd span.red {
        color: #FF0000; }
      html body .contentInclude p span.white, html body .contentInclude span span.white, html body .contentInclude ol li span.white, html body .contentInclude ul li span.white, html body .contentInclude dl dd span.white {
        color: #fff; }
      html body .contentInclude p a, html body .contentInclude span a, html body .contentInclude ol li a, html body .contentInclude ul li a, html body .contentInclude dl dd a {
        color: #FF7D7D;
        display: inline;
        white-space: normal; }
        html body .contentInclude p a.external::after, html body .contentInclude span a.external::after, html body .contentInclude ol li a.external::after, html body .contentInclude ul li a.external::after, html body .contentInclude dl dd a.external::after {
          display: inline-block;
          content: "";
          background-image: url(../svg/external.svg);
          background-position: center;
          background-repeat: no-repeat;
          background-size: contain;
          margin: 0 0.2em;
          width: 1.2em;
          height: 1.2em;
          vertical-align: sub; }
        html body .contentInclude p a.pdf::after, html body .contentInclude span a.pdf::after, html body .contentInclude ol li a.pdf::after, html body .contentInclude ul li a.pdf::after, html body .contentInclude dl dd a.pdf::after {
          display: inline-block;
          content: "";
          background-image: url(../svg/pdf.svg);
          background-position: center;
          background-repeat: no-repeat;
          background-size: contain;
          margin: 0 0.2em;
          width: 1.3em;
          height: 1.3em;
          vertical-align: sub; }
        html body .contentInclude p a.url, html body .contentInclude span a.url, html body .contentInclude ol li a.url, html body .contentInclude ul li a.url, html body .contentInclude dl dd a.url {
          word-break: break-all; }
        html body .contentInclude p a:hover, html body .contentInclude span a:hover, html body .contentInclude ol li a:hover, html body .contentInclude ul li a:hover, html body .contentInclude dl dd a:hover {
          text-decoration: underline; }
      html body .contentInclude p.red, html body .contentInclude span.red, html body .contentInclude ol li.red, html body .contentInclude ul li.red, html body .contentInclude dl dd.red {
        color: #FF0000; }
      html body .contentInclude ol li h2, html body .contentInclude ol li h3, html body .contentInclude ol li h4, html body .contentInclude ol li h5, html body .contentInclude ol li h6, html body .contentInclude ul li h2, html body .contentInclude ul li h3, html body .contentInclude ul li h4, html body .contentInclude ul li h5, html body .contentInclude ul li h6 {
        margin-bottom: 0.5rem;
        font-size: clamp(24px, 1.1vw, 26px); }
      html body .contentInclude ol li ol:first-of-type, html body .contentInclude ol li ul:first-of-type, html body .contentInclude ul li ol:first-of-type, html body .contentInclude ul li ul:first-of-type {
        margin-top: 1rem; }
      html body .contentInclude ol li P, html body .contentInclude ul li P {
        margin: 0 0 1.5rem 0 !important; }
      html body .contentInclude figure {
        display: block;
        margin: 1.5rem 0; }
      html body .contentInclude table {
        margin: 1.5rem 0;
        border-collapse: collapse;
        border: solid 1px #5E5E5E;
        width: 100%;
        line-height: 1.8; }
        html body .contentInclude table caption {
          padding: 0.5rem 0; }
        html body .contentInclude table td {
          border: solid 1px #5E5E5E;
          padding: 0.875rem 1rem; }
          html body .contentInclude table td.fc_red {
            color: #FF0000; }
        html body .contentInclude table th {
          border: solid 1px #5E5E5E;
          padding: 0.875rem 1rem;
          min-width: 7em;
          font-weight: 500; }
      html body .contentInclude p {
        line-height: 1.8;
        margin: 1.5rem 0; }
        html body .contentInclude p.center {
          text-align: center; }
        html body .contentInclude p.big {
          text-align: center;
          font-size: clamp(32px, 1.1vw, 34px);
          line-height: 1.4; }
          html body .contentInclude p.big b {
            font-weight: 600; }
      html body .contentInclude ul, html body .contentInclude ol {
        list-style-type: none; }
        html body .contentInclude ul ul, html body .contentInclude ul ol, html body .contentInclude ol ul, html body .contentInclude ol ol {
          margin-top: 1.5rem !important;
          margin-bottom: 2rem !important; }
          html body .contentInclude ul ul:first-of-type, html body .contentInclude ul ol:first-of-type, html body .contentInclude ol ul:first-of-type, html body .contentInclude ol ol:first-of-type {
            margin-top: 1.5rem !important; }
          html body .contentInclude ul ul:last-of-type, html body .contentInclude ul ol:last-of-type, html body .contentInclude ol ul:last-of-type, html body .contentInclude ol ol:last-of-type {
            margin-bottom: 2rem !important; }
      html body .contentInclude ul {
        margin: 1.5rem 0; }
        html body .contentInclude ul li {
          margin: 1rem 0;
          padding-left: 1.8em;
          position: relative; }
          html body .contentInclude ul li:first-of-type {
            margin: 0 0 1rem 0; }
          html body .contentInclude ul li:last-of-type {
            margin: 1rem 0 0 0; }
          html body .contentInclude ul li::before {
            position: absolute;
            top: 0.54em;
            left: 0.45em;
            content: "";
            background-color: #FF7D7D;
            border-radius: 50%;
            height: 0.5em;
            width: 0.5em;
            min-height: 0.5em;
            min-width: 0.5em; }
          html body .contentInclude ul li ol {
            margin: 1.5rem 0;
            counter-reset: number; }
            html body .contentInclude ul li ol li {
              margin: 1rem 0;
              padding-left: 1.8em;
              position: relative; }
              html body .contentInclude ul li ol li:first-of-type {
                margin: 0 0 1rem 0; }
              html body .contentInclude ul li ol li:last-of-type {
                margin: 1rem 0 0 0; }
              html body .contentInclude ul li ol li::before {
                position: absolute;
                counter-increment: number;
                content: counter(number) ".";
                background: none;
                border-radius: 0;
                top: 0.05em;
                left: 0;
                font-weight: 600;
                color: #FF7D7D;
                width: 1.5em;
                height: 1.5em;
                min-width: 1.5em;
                min-height: 1.5em;
                text-align: center;
                display: flex;
                justify-content: center;
                align-items: center;
                line-height: 1; }
        html body .contentInclude ul.link li {
          padding-left: 0;
          margin: 0.25rem 0; }
          html body .contentInclude ul.link li::before {
            content: none; }
          html body .contentInclude ul.link li a {
            display: block;
            color: #FF7D7D; }
            html body .contentInclude ul.link li a span {
              display: inline-block;
              padding-left: 1.5em;
              line-height: 1.3;
              position: relative;
              font-size: 0.875rem; }
              html body .contentInclude ul.link li a span::after {
                position: absolute;
                left: 0.15em;
                top: 54%;
                width: 0.6em;
                min-width: 0.6em;
                min-height: 0.6em;
                height: 0.6em;
                content: "";
                border-top: solid 2px #FF7D7D;
                border-right: solid 2px #FF7D7D;
                transform: translateY(-50%) rotate(45deg);
                transition: all .4s; }
            html body .contentInclude ul.link li a:hover span::after {
              left: 0.35em; }
      html body .contentInclude ol {
        margin: 1.5rem 0;
        list-style-type: none;
        counter-reset: number; }
        html body .contentInclude ol li {
          margin: 1rem 0;
          padding-left: 1.8em;
          position: relative; }
          html body .contentInclude ol li:first-of-type {
            margin: 0 0 1rem 0; }
          html body .contentInclude ol li:last-of-type {
            margin: 1rem 0 0 0; }
          html body .contentInclude ol li::before {
            position: absolute;
            counter-increment: number;
            content: counter(number) ".";
            top: 0.05em;
            left: 0;
            font-weight: 600;
            color: #FF7D7D;
            width: 1.5em;
            height: 1.5em;
            min-width: 1.5em;
            min-height: 1.5em;
            text-align: center;
            display: flex;
            justify-content: center;
            align-items: center;
            line-height: 1; }
          html body .contentInclude ol li ul {
            margin: 1.5rem 0; }
            html body .contentInclude ol li ul li {
              margin: 0.8rem 0;
              padding-left: 1.8em;
              position: relative; }
              html body .contentInclude ol li ul li:first-of-type {
                margin: 0 0 0.8rem 0; }
              html body .contentInclude ol li ul li:last-of-type {
                margin: 0.8rem 0 0 0; }
              html body .contentInclude ol li ul li::before {
                position: absolute;
                top: 0.85em;
                left: 0.45em;
                content: "";
                background-color: #FF7D7D;
                border-radius: 50%;
                height: 0.5em;
                width: 0.5em;
                min-height: 0.5em;
                min-width: 0.5em; }
      html body .contentInclude h1, html body .contentInclude h2, html body .contentInclude h3, html body .contentInclude h4, html body .contentInclude h5, html body .contentInclude h6 {
        font-weight: 700;
        font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "メイリオ", Meiryo, sans-serif;
        margin: 3rem 0 1.5rem 0; }
      html body .contentInclude h1, html body .contentInclude h2 {
        font-size: clamp(24px, 1.1vw, 26px); }
        @media (max-width: 767px) {
          html body .contentInclude h1, html body .contentInclude h2 {
            font-size: clamp(20px, 1.1vw, 22px); } }
      html body .contentInclude h2 {
        position: relative;
        padding: 0.25rem 0; }
        html body .contentInclude h2::before {
          content: "";
          background-color: #FF7D7D;
          display: block;
          position: absolute;
          height: 2px;
          width: 100%;
          bottom: -5px;
          left: 0; }
      html body .contentInclude h3 {
        font-size: clamp(20px, 1.1vw, 22px);
        padding: 0.2rem 0 0.2rem 0.75rem;
        position: relative; }
        html body .contentInclude h3::before {
          content: "";
          background-color: #FFB3B3;
          display: block;
          position: absolute;
          height: 1px;
          width: 100%;
          bottom: -5px;
          left: 0; }
        html body .contentInclude h3::after {
          content: "";
          background-color: #FF7D7D;
          display: block;
          position: absolute;
          height: 100%;
          width: 4px;
          top: 0;
          left: 0; }
        @media (max-width: 767px) {
          html body .contentInclude h3 {
            font-size: clamp(18px, 1.1vw, 20px); } }
      html body .contentInclude h4 {
        font-size: clamp(18px, 1.1vw, 20px); }
        @media (max-width: 767px) {
          html body .contentInclude h4 {
            font-size: clamp(16px, 1.1vw, 18px); } }
      html body .contentInclude h5 {
        font-size: clamp(16px, 1.1vw, 18px); }
      html body .contentInclude h6 {
        font-size: clamp(16px, 1.1vw, 18px); }
        @media (max-width: 767px) {
          html body .contentInclude h6 {
            font-size: clamp(16px, 1.1vw, 18px); } }
    html body .whiteBlock {
      background-color: #fff;
      padding: 1rem 1.5rem;
      border-radius: 1rem; }
      html body .whiteBlock.newsFlex {
        display: flex;
        justify-content: space-between; }
        @media (max-width: 767px) {
          html body .whiteBlock.newsFlex {
            display: block; } }
        html body .whiteBlock.newsFlex .box {
          width: 20%;
          padding: 0.5rem 0; }
          html body .whiteBlock.newsFlex .box .titleBlock {
            padding-top: 0;
            margin-bottom: 0; }
          html body .whiteBlock.newsFlex .box a.arrow {
            margin-top: 1.5rem; }
          @media (max-width: 767px) {
            html body .whiteBlock.newsFlex .box {
              width: 100%;
              display: flex;
              align-items: flex-end;
              justify-content: space-between;
              margin-bottom: 1rem; }
              html body .whiteBlock.newsFlex .box a.arrow {
                margin-top: 0;
                padding: 0.5rem 0; }
              html body .whiteBlock.newsFlex .box .titleBlock {
                margin-bottom: 0;
                padding-top: 0;
                padding-bottom: 0; } }
        html body .whiteBlock.newsFlex .newsList {
          width: 80%;
          padding-left: 2rem; }
          html body .whiteBlock.newsFlex .newsList.info {
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center; }
          @media (max-width: 767px) {
            html body .whiteBlock.newsFlex .newsList {
              width: 100%;
              padding-left: 0; } }
    html body .titleBlock {
      font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "メイリオ", Meiryo, sans-serif;
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
      margin-bottom: 2rem;
      margin-top: 3rem;
      padding-top: 1rem; }
      html body .titleBlock h1, html body .titleBlock h2, html body .titleBlock h3, html body .titleBlock h4, html body .titleBlock h5, html body .titleBlock h6 {
        font-weight: 700; }
      html body .titleBlock h1, html body .titleBlock h2 {
        font-size: clamp(32px, 1.1vw, 34px); }
        @media (max-width: 767px) {
          html body .titleBlock h1, html body .titleBlock h2 {
            font-size: clamp(24px, 1.1vw, 26px); } }
      html body .titleBlock h3 {
        font-size: clamp(24px, 1.1vw, 26px); }
        @media (max-width: 767px) {
          html body .titleBlock h3 {
            font-size: clamp(20px, 1.1vw, 22px); } }
      html body .titleBlock b {
        font-size: clamp(24px, 1.1vw, 26px);
        font-weight: 600;
        color: #FFB3B3; }
        @media (max-width: 767px) {
          html body .titleBlock b {
            font-size: clamp(20px, 1.1vw, 22px); } }
      html body .titleBlock.white h1, html body .titleBlock.white h2, html body .titleBlock.white h3, html body .titleBlock.white h4, html body .titleBlock.white h5, html body .titleBlock.white h6, html body .titleBlock.white b {
        color: #fff; }
      html body .titleBlock.fv_title h1 {
        font-size: min(7vw, 3.2rem); }
        @media (max-width: 767px) {
          html body .titleBlock.fv_title h1 {
            font-size: min(5.9vw, 3rem); } }
      html body .titleBlock.fv_title b {
        font-size: min(5vw, 2rem);
        color: #FF7D7D; }
      html body .titleBlock.center {
        text-align: center;
        align-items: center; }
    html body a {
      display: block; }
    html body p a {
      display: inline; }
    html body img {
      width: 100%;
      height: auto;
      max-width: 100%;
      display: block; }
    html body p {
      margin: 1.5rem 0;
      font-size: clamp(16px, 1.1vw, 18px); }
      @media (max-width: 767px) {
        html body p {
          font-size: clamp(14px, 1.1vw, 16px); } }
      html body p.center {
        text-align: center; }
      html body p.right {
        text-align: right; }
      html body p.big {
        text-align: center;
        font-size: clamp(32px, 1.1vw, 34px);
        line-height: 1.4; }
        html body p.big b {
          font-weight: 600; }
    @supports (text-indent: hanging 1em) {
      html body [role="note"] {
        padding-left: 0;
        text-indent: hanging 1em; } }
    html body b, html body strong {
      font-weight: 600; }
    html body .pageWidth {
      max-width: 1210px;
      margin: 0 auto;
      padding: 0 1rem; }
      html body .pageWidth.wide_h {
        max-width: 1580px; }
      html body .pageWidth.wide {
        max-width: 1300px; }
      html body .pageWidth.narrow {
        max-width: 870px; }
      html body .pageWidth.small {
        max-width: 450px; }
    html body .breadWrap {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      font-size: 0.75rem;
      margin: 1rem auto 0.5rem auto; }
      html body .breadWrap span {
        padding: 0 0.5rem 0.25rem 0;
        line-height: 1.5; }
        html body .breadWrap span::before {
          content: ">";
          padding-right: 0.4rem; }
        html body .breadWrap span:first-of-type::before {
          content: none; }
        html body .breadWrap span a, html body .breadWrap span span {
          padding: 0; }
          html body .breadWrap span a::before, html body .breadWrap span span::before {
            content: none; }
        html body .breadWrap span a {
          display: inline-block; }
      html body .breadWrap.sp_show {
        display: none;
        margin: 1rem auto; }
        @media (max-width: 767px) {
          html body .breadWrap.sp_show {
            display: flex; } }
    html body .tag_time {
      width: 100%;
      align-items: center;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 0.5rem; }
      html body .tag_time .tagList {
        margin: 0; }
      html body .tag_time time {
        font-size: clamp(12px, 1.1vw, 14px); }
    html body .tagList {
      margin: 0.5rem 0;
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 0.5rem 0.25rem; }
      html body .tagList span, html body .tagList a {
        display: inline-block;
        font-size: clamp(10px, 1.1vw, 11px);
        background-color: #F4F4F4;
        padding: 0.25rem 0.5rem;
        border-radius: 3rem;
        line-height: 1;
        min-width: 6.5em;
        font-weight: 600;
        text-align: center; }
    html body header {
      position: relative; }
      html body header .headerInner {
        display: flex;
        justify-content: space-between;
        align-items: center;
        max-width: 1580px;
        margin: 0 auto;
        padding: 0.5rem 1rem; }
        @media (max-width: 767px) {
          html body header .headerInner {
            padding: 0.6rem 1rem; } }
        html body header .headerInner .logo {
          height: 3rem; }
          @media (max-width: 767px) {
            html body header .headerInner .logo {
              height: 2.8rem; } }
          html body header .headerInner .logo img {
            height: 100%;
            width: auto; }
      html body header .headerNav ul li {
        font-weight: 600; }
      @media (max-width: 767px) {
        html body header .headerNav {
          display: none; } }
      html body header ul.parentList {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: 0.5rem 1.5rem; }
        html body header ul.parentList li .a {
          cursor: pointer; }
          html body header ul.parentList li .a.menuToggle {
            position: relative;
            padding-right: 1.2em; }
            html body header ul.parentList li .a.menuToggle::after {
              position: absolute;
              right: 0.1em;
              content: "";
              width: 0.6em;
              min-width: 0.6em;
              height: 0.6em;
              min-height: 0.6em;
              border-top: solid 2px #FF7D7D;
              border-right: solid 2px #FF7D7D;
              transform: translateY(-50%) rotate(135deg);
              transition: all .5s;
              top: 45%; }
            html body header ul.parentList li .a.menuToggle.open::after {
              transform: translateY(-50%) rotate(-45deg);
              top: 52%; }
        html body header ul.parentList li.List {
          position: relative; }
          html body header ul.parentList li.List .childListWrap {
            display: none; }
          html body header ul.parentList li.List .childList {
            position: absolute;
            top: calc(100% + 0.5rem);
            left: 50%;
            width: 15rem;
            transform: translateX(-50%);
            z-index: 20;
            background-color: #FFF1F3;
            padding: 1rem;
            border-radius: 1rem; }
            html body header ul.parentList li.List .childList li {
              margin-bottom: 0.5rem; }
              html body header ul.parentList li.List .childList li a {
                padding: 0.25rem 0.5rem; }
              @media (max-width: 767px) {
                html body header ul.parentList li.List .childList li {
                  margin-bottom: 0; } }
              html body header ul.parentList li.List .childList li:last-of-type {
                margin-bottom: 0; }
              html body header ul.parentList li.List .childList li.Top {
                border-bottom: 1px solid #FF7D7D;
                margin-bottom: 0.8rem;
                width: 100%; }
                html body header ul.parentList li.List .childList li.Top a {
                  font-size: clamp(16px, 1.1vw, 18px);
                  padding: 0.25rem 0.5rem 0.5rem 0.5rem;
                  font-size: clamp(16px, 1.1vw, 18px); }
                  @media (max-width: 767px) {
                    html body header ul.parentList li.List .childList li.Top a {
                      font-size: clamp(14px, 1.1vw, 16px);
                      padding: 0.5rem; } }
                  html body header ul.parentList li.List .childList li.Top a span {
                    width: 100%; }
                    @media (max-width: 767px) {
                      html body header ul.parentList li.List .childList li.Top a span {
                        width: auto; } }
      html body header #menu_trigger {
        display: none; }
      html body header .menu_trigger {
        display: none; }
        @media (max-width: 767px) {
          html body header .menu_trigger {
            display: flex;
            justify-content: center;
            align-items: center;
            position: absolute;
            z-index: 99;
            transform: translateY(-50%);
            top: 48%;
            right: 0.3rem;
            width: 3rem;
            height: 3rem;
            min-width: 3rem;
            min-height: 3rem; } }
        html body header .menu_trigger div {
          position: relative;
          width: 2.5rem;
          height: 2rem;
          background: none;
          border: none;
          -webkit-appearance: none;
          -moz-appearance: none;
          appearance: none;
          cursor: pointer;
          transition: all .4s;
          box-sizing: border-box;
          z-index: 250;
          transform: scale(0.7); }
          html body header .menu_trigger div span {
            position: absolute;
            left: 0;
            height: 2px;
            background-color: #FF7D7D;
            display: inline-block;
            transition: all .4s;
            box-sizing: border-box; }
            html body header .menu_trigger div span:first-of-type {
              top: 0;
              width: 100%; }
            html body header .menu_trigger div span:nth-of-type(2) {
              top: 1rem;
              width: 100%; }
              html body header .menu_trigger div span:nth-of-type(2)::after {
                position: absolute;
                top: 0;
                left: 0;
                content: '';
                width: 100%;
                height: 2px;
                background-color: #FF7D7D;
                border-radius: 4px;
                transition: all .4s; }
            html body header .menu_trigger div span:last-of-type {
              bottom: 0;
              width: 100%; }
      html body header #menu_trigger:checked + label span:first-of-type {
        transform: translateY(0.95rem) scale(0); }
        html body header #menu_trigger:checked + label span:first-of-type::after {
          background-color: #fff; }
      html body header #menu_trigger:checked + label span:nth-of-type(2) {
        transform: rotate(-45deg);
        width: 100%; }
        html body header #menu_trigger:checked + label span:nth-of-type(2)::after {
          transform: rotate(90deg); }
      html body header #menu_trigger:checked + label span:last-of-type {
        transform: translateY(-0.95rem) scale(0); }
        html body header #menu_trigger:checked + label span:last-of-type::after {
          background-color: #fff; }
      html body header #menu_trigger:checked ~ .headerNav {
        display: block;
        position: absolute;
        top: 99.5%;
        left: 0;
        width: 100%;
        height: 100vh;
        background-color: #FFF1F3;
        padding: 0 0 1rem 0;
        z-index: 20; }
        html body header #menu_trigger:checked ~ .headerNav ul.childList {
          background-color: #fff; }
    html body footer {
      background-color: #F4F4F4; }
      html body footer .a_btn {
        margin: 2rem 0 3rem 0; }
      html body footer .footerBottom {
        background-color: #fff;
        text-align: center;
        padding: 0.5rem 0; }
        @media (max-width: 767px) {
          html body footer .footerBottom {
            padding-bottom: 6rem; } }
      html body footer .logo {
        height: 4rem;
        margin-bottom: 1.5rem; }
        html body footer .logo img {
          height: 100%;
          width: auto; }
        @media (max-width: 767px) {
          html body footer .logo {
            height: 3.8rem; } }
      html body footer .footerInner {
        padding: 3rem 1rem 0 1rem;
        display: flex;
        flex-direction: column;
        align-items: center; }
        html body footer .footerInner .footerNav {
          width: 100%;
          padding: 1rem 1rem 0.8rem 1rem;
          border-radius: 1rem;
          background-color: #fff; }
          @media (max-width: 767px) {
            html body footer .footerInner .footerNav {
              padding: 0; } }
          html body footer .footerInner .footerNav ul.flexList {
            display: flex;
            justify-content: flex-end;
            align-items: center;
            flex-wrap: wrap;
            padding: 1rem;
            font-size: clamp(12px, 1.1vw, 14px);
            gap: 0.5rem 1rem; }
            @media (max-width: 767px) {
              html body footer .footerInner .footerNav ul.flexList {
                justify-content: center;
                flex-direction: column; } }
      html body footer ul.parentList li.List {
        font-weight: 600;
        margin-bottom: 0.25rem; }
        html body footer ul.parentList li.List a {
          padding: 0.5rem 1rem;
          font-size: clamp(18px, 1.1vw, 20px); }
          html body footer ul.parentList li.List a span {
            display: inline-block;
            padding-right: 1.5em;
            position: relative; }
            html body footer ul.parentList li.List a span::after {
              position: absolute;
              right: 0.5em;
              content: "";
              width: 0.6em;
              min-width: 0.6em;
              height: 0.6em;
              min-height: 0.6em;
              border-top: solid 2px #FF7D7D;
              border-right: solid 2px #FF7D7D;
              transform: translateY(-50%) rotate(45deg);
              transition: all .4s;
              top: 50%; }
          html body footer ul.parentList li.List a:hover span::after {
            right: 0.25em; }
        html body footer ul.parentList li.List .a {
          padding: 0.5rem 1rem 0.25rem 1rem;
          font-size: clamp(18px, 1.1vw, 20px);
          pointer-events: none; }
          html body footer ul.parentList li.List .a.menuToggle {
            cursor: pointer;
            display: none; }
            @media (max-width: 767px) {
              html body footer ul.parentList li.List .a.menuToggle {
                display: block; } }
          @media (max-width: 767px) {
            html body footer ul.parentList li.List .a {
              font-size: clamp(16px, 1.1vw, 18px);
              display: block;
              pointer-events: inherit; } }
        html body footer ul.parentList li.List .childList {
          display: flex !important;
          flex-wrap: wrap;
          gap: 0.25rem 0.5rem;
          padding-bottom: 1rem;
          padding-left: 0.5rem;
          padding-right: 0.5rem; }
          @media (max-width: 767px) {
            html body footer ul.parentList li.List .childList {
              padding-left: 1.5rem; } }
          html body footer ul.parentList li.List .childList li {
            margin-bottom: 0; }
            html body footer ul.parentList li.List .childList li a {
              padding: 0.5rem;
              font-size: clamp(12px, 1.1vw, 14px); }
              html body footer ul.parentList li.List .childList li a span {
                padding-right: 0; }
                html body footer ul.parentList li.List .childList li a span.sp_show {
                  display: none !important;
                  padding-right: 0 !important; }
                  html body footer ul.parentList li.List .childList li a span.sp_show::after {
                    content: none !important; }
                  @media (max-width: 767px) {
                    html body footer ul.parentList li.List .childList li a span.sp_show {
                      display: inline !important; } }
                html body footer ul.parentList li.List .childList li a span::after {
                  content: none; }
            html body footer ul.parentList li.List .childList li.Top {
              border: none;
              margin: 0 0 0 -0.5rem;
              width: calc(100% + 2rem); }
              @media (max-width: 767px) {
                html body footer ul.parentList li.List .childList li.Top {
                  border-bottom: 1px solid #FF7D7D;
                  margin: 0;
                  margin-bottom: 0.8rem;
                  width: 100%; } }
              html body footer ul.parentList li.List .childList li.Top a {
                padding: 0.5rem 1rem;
                font-size: clamp(18px, 1.1vw, 20px); }
                @media (max-width: 767px) {
                  html body footer ul.parentList li.List .childList li.Top a {
                    padding: 0.5rem;
                    font-size: clamp(14px, 1.1vw, 16px); } }
    html body header ul.parentList li.List .childList li a, html body footer ul.parentList li.List .childList li a {
      font-size: clamp(12px, 1.1vw, 14px); }
    html body header ul.parentList li.List .childList li.Top a::after, html body footer ul.parentList li.List .childList li.Top a::after {
      content: none; }
    html body header ul.parentList li.List .childList li.Top a span, html body footer ul.parentList li.List .childList li.Top a span {
      display: inline-block;
      padding-right: 1.5em;
      position: relative; }
      html body header ul.parentList li.List .childList li.Top a span::after, html body footer ul.parentList li.List .childList li.Top a span::after {
        position: absolute;
        right: 0.5em;
        content: "";
        width: 0.6em;
        min-width: 0.6em;
        height: 0.6em;
        min-height: 0.6em;
        border-top: solid 2px #FF7D7D;
        border-right: solid 2px #FF7D7D;
        transform: translateY(-50%) rotate(45deg);
        transition: all .4s;
        top: 50%; }
    html body header ul.parentList li.List .childList li.Top a:hover span::after, html body footer ul.parentList li.List .childList li.Top a:hover span::after {
      right: 0.25em; }
    @media (max-width: 767px) {
      html body header ul.parentList, html body footer ul.parentList {
        display: block; }
        html body header ul.parentList li.List, html body footer ul.parentList li.List {
          border-bottom: 1px dotted #FF7D7D;
          margin-bottom: 0; }
          html body header ul.parentList li.List .a, html body footer ul.parentList li.List .a {
            padding: 1rem 2.5em 1rem 1rem;
            position: relative;
            font-size: clamp(14px, 1.1vw, 16px); }
            html body header ul.parentList li.List .a.menuToggle::before, html body header ul.parentList li.List .a.menuToggle::after, html body footer ul.parentList li.List .a.menuToggle::before, html body footer ul.parentList li.List .a.menuToggle::after {
              position: absolute;
              display: block;
              content: "";
              background-color: #FF7D7D;
              transform: translateY(-50%);
              min-width: inherit;
              min-height: inherit; }
            html body header ul.parentList li.List .a.menuToggle::before, html body footer ul.parentList li.List .a.menuToggle::before {
              height: 2px;
              width: 1rem;
              top: 50%;
              right: calc(1.1rem - 1px); }
            html body header ul.parentList li.List .a.menuToggle::after, html body footer ul.parentList li.List .a.menuToggle::after {
              width: 2px;
              height: 1rem;
              top: 50%;
              right: calc(1.6rem - 2px); }
            html body header ul.parentList li.List .a.menuToggle.open::after, html body footer ul.parentList li.List .a.menuToggle.open::after {
              content: none; }
          html body header ul.parentList li.List a, html body footer ul.parentList li.List a {
            padding: 1rem;
            padding-right: 2.5em;
            position: relative;
            font-size: clamp(14px, 1.1vw, 16px); }
            html body header ul.parentList li.List a span, html body footer ul.parentList li.List a span {
              padding-right: 0; }
              html body header ul.parentList li.List a span::after, html body footer ul.parentList li.List a span::after {
                content: none; }
            html body header ul.parentList li.List a::after, html body footer ul.parentList li.List a::after {
              position: absolute;
              right: 1.25em;
              content: "";
              width: 0.6em;
              min-width: 0.6em;
              height: 0.6em;
              min-height: 0.6em;
              border-top: solid 2px #FF7D7D;
              border-right: solid 2px #FF7D7D;
              transform: translateY(-50%) rotate(45deg);
              transition: all .4s;
              top: 50%; }
            html body header ul.parentList li.List a:hover::after, html body footer ul.parentList li.List a:hover::after {
              right: 1em; }
          html body header ul.parentList li.List .childListWrap, html body footer ul.parentList li.List .childListWrap {
            display: none; }
          html body header ul.parentList li.List ul.childList, html body footer ul.parentList li.List ul.childList {
            padding: 0 0.5rem 1rem 0.5rem;
            width: 100%;
            background: none;
            position: static;
            transform: inherit;
            display: flex;
            flex-wrap: wrap;
            border-radius: 0; }
            html body header ul.parentList li.List ul.childList li, html body footer ul.parentList li.List ul.childList li {
              margin-bottom: 0; }
              html body header ul.parentList li.List ul.childList li a, html body footer ul.parentList li.List ul.childList li a {
                padding: 0.5rem; }
                html body header ul.parentList li.List ul.childList li a::after, html body footer ul.parentList li.List ul.childList li a::after {
                  content: none; } }
    html body a.arrow.arrow span {
      display: inline-block;
      padding-right: 1em;
      position: relative;
      font-weight: 600; }
      html body a.arrow.arrow span::after {
        position: absolute;
        right: 0.2em;
        content: "";
        width: 0.6em;
        min-width: 0.6em;
        height: 0.6em;
        min-height: 0.6em;
        border-top: solid 2px #FF7D7D;
        border-right: solid 2px #FF7D7D;
        transform: translateY(-50%) rotate(45deg);
        transition: all .4s;
        top: 50%; }
    html body a.arrow.arrow:hover span::after {
      right: 0; }
    html body .textBox h3 {
      font-size: clamp(20px, 1.1vw, 22px);
      background-color: #fff;
      display: inline-block;
      padding: 0.5rem;
      font-weight: 600;
      color: #FF7D7D;
      border-radius: 0.25rem;
      font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "メイリオ", Meiryo, sans-serif; }
      @media (max-width: 767px) {
        html body .textBox h3 {
          font-size: clamp(18px, 1.1vw, 20px); } }
    html body .textBox p {
      font-weight: 600; }
    @media (max-width: 767px) {
      html body .textBox .a_btn.left {
        justify-content: center; } }
    html body .a_btn {
      margin: 2.5rem 0 0 0;
      display: flex;
      justify-content: center;
      gap: 1rem 1.5rem;
      flex-wrap: wrap; }
      html body .a_btn.jumpBlock {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1rem;
        padding-bottom: 3rem; }
        @media (max-width: 900px) {
          html body .a_btn.jumpBlock {
            grid-template-columns: repeat(2, 1fr); } }
        html body .a_btn.jumpBlock .btn {
          width: 100%;
          max-width: inherit;
          border-radius: 0;
          font-size: clamp(16px, 1.1vw, 18px);
          padding: 0.9rem 0.5rem 1rem 0.5rem; }
          @media (max-width: 900px) {
            html body .a_btn.jumpBlock .btn {
              font-size: clamp(14px, 1.1vw, 16px); } }
      html body .a_btn.center {
        justify-content: center; }
      html body .a_btn.right {
        justify-content: flex-end; }
      html body .a_btn.left {
        justify-content: flex-start; }
      html body .a_btn .btn {
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        color: #fff;
        background-color: #fff;
        border: 2px solid #FF7D7D;
        border-radius: 0.25rem;
        color: #FF7D7D;
        padding: 1rem 0.5rem 1.125rem 0.5rem;
        width: 100%;
        max-width: 22rem;
        font-weight: 600;
        font-size: clamp(16px, 1.1vw, 18px);
        transition: all .4s; }
        @media (max-width: 767px) {
          html body .a_btn .btn {
            font-size: clamp(14px, 1.1vw, 16px);
            max-width: 20rem;
            padding: 0.9rem 0.5rem 1rem 0.5rem; } }
        html body .a_btn .btn span {
          display: inline-block; }
        html body .a_btn .btn.line {
          background-color: #00B900;
          border: 2px solid #00B900;
          padding: 0.5rem; }
          html body .a_btn .btn.line span img {
            height: 3rem;
            width: auto; }
          html body .a_btn .btn.line:hover {
            opacity: 0.9; }
    html body #line_side {
      background-color: #00B900;
      position: fixed;
      z-index: 10;
      right: 0;
      padding: 1rem 0.5rem;
      border-radius: 0.5rem 0 0 0.5rem;
      bottom: 20%;
      display: none; }
      @media (max-width: 767px) {
        html body #line_side {
          width: 100%;
          bottom: 0;
          left: 0;
          padding: 0.8rem 0.5rem 1rem 0.5rem;
          border-radius: 0; } }
      html body #line_side span {
        width: 3rem;
        display: block; }
        @media (max-width: 767px) {
          html body #line_side span {
            width: auto;
            height: 3rem; } }
        html body #line_side span img {
          display: block;
          margin: auto; }
          html body #line_side span img.pc {
            display: block; }
            @media (max-width: 767px) {
              html body #line_side span img.pc {
                display: none; } }
          html body #line_side span img.sp {
            display: none; }
            @media (max-width: 767px) {
              html body #line_side span img.sp {
                display: block;
                height: 100%;
                width: auto; } }
    html body .pagination {
      margin: 2rem 0 0 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 0.5rem; }
      html body .pagination .page-numbers {
        display: flex;
        flex-wrap: wrap; }
      html body .pagination span, html body .pagination a {
        width: 3.5em;
        height: 3.5em;
        min-width: 3.5em;
        min-height: 3.5em;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 0.875rem;
        background-color: #F4F4F4;
        border-radius: 20rem;
        font-weight: 600;
        border: 1px solid #FF7D7D;
        color: #FF7D7D; }
      html body .pagination a {
        color: #fff;
        background-color: #FF7D7D; }
        html body .pagination a.next::after {
          content: "";
          display: inline-block;
          margin-right: 0.25rem;
          width: 0.8em;
          height: 0.8em;
          min-width: 0.8em;
          min-height: 0.8em;
          border-top: 3px solid #fff;
          border-right: 3px solid #fff;
          transform: rotate(45deg); }
        html body .pagination a.prev::after {
          content: "";
          display: inline-block;
          margin-left: 0.25rem;
          width: 0.8em;
          height: 0.8em;
          min-width: 0.8em;
          min-height: 0.8em;
          border-top: 3px solid #fff;
          border-right: 3px solid #fff;
          transform: rotate(-135deg); }
