@charset "UTF-8";
/* ======================== */
/* firstview */
/* ======================== */
#firstview {
  background-color: var(--color-2nd-green);
  padding-top: 50px;
  padding-bottom: 50px;
  text-align: center;
  margin-bottom: 10px; }
  #firstview .read1 {
    font-weight: 600;
    color: var(--color-1st-green);
    font-size: 4.6rem; }
  #firstview .read2 {
    font-weight: 600;
    font-size: 2.8rem; }
  #firstview .read3 {
    width: 50%;
    text-align: left;
    margin: 0 auto;
    /* スマホサイズ */ }
    @media (max-width: 479px) {
      #firstview .read3 {
        width: 100%; } }

/* ======================== */
/* price-plan */
/* ======================== */
#price-plan {
  background-color: var(--color-gray);
  padding-top: 50px;
  padding-bottom: 50px;
  margin-bottom: 75px; }
  #price-plan h2 {
    color: var(--color-main-text);
    font-size: 4.6rem;
    text-align: center;
    margin-bottom: 75px;
    /* スマホサイズ */ }
    #price-plan h2 .strong {
      color: var(--color-1st-green); }
    @media (max-width: 479px) {
      #price-plan h2 {
        margin-bottom: 50px; } }
  #price-plan .plan-detail {
    position: relative;
    /* スマホサイズ */ }
    @media (max-width: 479px) {
      #price-plan .plan-detail {
        margin-bottom: 50px; } }
    #price-plan .plan-detail .recommendation {
      position: absolute;
      right: 0;
      left: 0;
      margin: 0 auto;
      top: -50px;
      width: 136px; }
    #price-plan .plan-detail h3 {
      background-color: var(--color-1st-green);
      color: #fff;
      text-align: center;
      padding: 15px 0;
      border-top-left-radius: 10px;
      border-top-right-radius: 10px;
      margin-bottom: 0; }
    #price-plan .plan-detail .detail-box {
      background-color: #fff;
      padding: 20px 10px;
      border-bottom-left-radius: 10px;
      border-bottom-right-radius: 10px; }
    #price-plan .plan-detail .price {
      color: var(--color-pink);
      font-size: 1.8rem; }
      #price-plan .plan-detail .price .strong {
        font-size: 4.8rem;
        font-weight: 700; }
    #price-plan .plan-detail .company {
      font-size: 2.2rem;
      font-weight: 500;
      border-top: 1px solid var(--color-1st-green);
      padding-top: 10px; }
    #price-plan .plan-detail ul {
      border-top: 1px solid var(--color-1st-green);
      padding-top: 10px;
      margin-top: 20px;
      font-size: 2.1rem; }
  #price-plan .attention {
    list-style: none;
    font-size: 1.8rem;
    margin-top: 20px;
    margin-bottom: 50px;
    /* スマホサイズ */ }
    @media (max-width: 479px) {
      #price-plan .attention {
        margin-top: 0; } }
  #price-plan .option {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    list-style: none; }
    #price-plan .option li {
      color: var(--color-1st-green);
      padding: 10px;
      flex-basis: calc(100% / 2);
      text-align: center;
      font-size: 2.2rem;
      font-weight: 500;
      background-color: #fff;
      border-radius: 10px; }

/* ======================== */
/* recommend */
/* ======================== */
#recommend {
  margin-bottom: 75px; }
  #recommend h2 {
    color: var(--color-main-text);
    font-size: 4.6rem;
    text-align: center;
    margin-bottom: 20px; }
  #recommend .h2-btm {
    text-align: center;
    margin-bottom: 50px;
    font-size: 2.4rem; }
  #recommend .recommend-detail {
    border: 2px solid var(--color-1st-green);
    border-radius: 10px;
    margin-bottom: 50px; }
    #recommend .recommend-detail h3 {
      font-size: 2.2rem;
      color: var(--color-1st-green);
      text-align: center;
      padding-top: 10px;
      padding-bottom: 10px;
      border-bottom: 2px solid var(--color-1st-green); }
    #recommend .recommend-detail .detail-box {
      padding: 10px; }
      #recommend .recommend-detail .detail-box ul {
        font-size: 1.8rem; }
  #recommend .about-credit {
    background-color: var(--color-2nd-green);
    padding: 20px;
    border-radius: 10px;
    margin-bottom: 20px; }
    #recommend .about-credit h3 {
      font-size: 2.6rem;
      color: var(--color-1st-green); }

/* ======================== */
/* option */
/* ======================== */
#option {
  margin-bottom: 75px;
  /* スマホサイズ */ }
  #option h2 {
    color: var(--color-main-text);
    font-size: 4.6rem;
    text-align: center;
    margin-bottom: 50px; }
  #option .option-detail h3 {
    background-color: var(--color-1st-green);
    color: #fff;
    text-align: center;
    padding: 15px 0;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    margin-bottom: 0; }
  #option .option-detail .detail-box {
    /* スマホサイズ */
    border: 2px solid var(--color-1st-green);
    padding: 20px 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px; }
    @media (max-width: 479px) {
      #option .option-detail .detail-box {
        margin-bottom: 50px; } }
  #option .option-detail .price {
    color: var(--color-pink);
    font-size: 1.8rem; }
    #option .option-detail .price .strong {
      font-size: 4.8rem;
      font-weight: 700; }
  #option .option-detail a {
    font-size: 1.8rem; }
  @media (max-width: 479px) {
    #option {
      margin-bottom: 25px; } }

/* ======================== */
/* question */
/* ======================== */
#question {
  margin-bottom: 75px; }
  #question h2 {
    color: var(--color-main-text);
    font-size: 4.6rem;
    text-align: center;
    margin-bottom: 50px; }
  #question .qa-accordion {
    list-style: none;
    padding-left: 0;
    /*アコーディオンタイトル*/
    /*アイコンの＋と×*/
    /*　closeというクラスがついたら形状変化　*/ }
    #question .qa-accordion section {
      margin-bottom: 0;
      padding-right: calc(var(--bs-gutter-x) * 2);
      padding-left: calc(var(--bs-gutter-x) * 2);
      /* スマホサイズ */ }
      @media (max-width: 767px) {
        #question .qa-accordion section {
          padding-right: 0;
          padding-left: 0; } }
    #question .qa-accordion > li {
      padding-bottom: 20px; }
    #question .qa-accordion > li:last-child {
      padding-bottom: 0; }
    #question .qa-accordion .title {
      font-size: 2.2rem;
      padding: 20px 0 20px 50px;
      /* スマホサイズ */
      /* スマホサイズ以上 */
      font-weight: 500;
      position: relative;
      /*+マークの位置基準とするためrelative指定*/
      cursor: pointer;
      transition: all .5s ease;
      margin-bottom: 0;
      background-color: var(--color-gray);
      background-repeat: no-repeat;
      background-size: contain; }
      @media (max-width: 767px) {
        #question .qa-accordion .title {
          font-size: 1.8rem;
          padding: 20px 30px 20px 20px; } }
      @media (min-width: 480px) {
        #question .qa-accordion .title {
          background-image: url("../images/q.png");
          background-size: auto;
          background-position: 10px center; } }
    #question .qa-accordion .title::before,
    #question .qa-accordion .title::after {
      position: absolute;
      content: '';
      width: 15px;
      height: 3px;
      background-color: var(--color-1st-green); }
    #question .qa-accordion .title::before {
      top: 48%;
      right: 15px;
      transform: rotate(0deg); }
    #question .qa-accordion .title::after {
      top: 48%;
      right: 15px;
      transform: rotate(90deg); }
    #question .qa-accordion .title.accordion-close::before {
      transform: rotate(45deg); }
    #question .qa-accordion .title.accordion-close::after {
      transform: rotate(-45deg); }
    #question .qa-accordion .box {
      display: none;
      padding: 10px 10px 0 10px; }
      #question .qa-accordion .box p {
        margin-bottom: 0; }
  #question .btn-black {
    text-align: center;
    padding: 15px 0;
    margin-top: 50px; }
    #question .btn-black a {
      background-color: #5C5D5E;
      font-size: 2.2rem;
      color: #fff;
      text-decoration: none;
      border-radius: 10px;
      padding: 15px 10px; }
