/*
single用CSS
*/
    /* ===========================
       body single
    =========================== */
    body.single {
      flex: 1;
      padding-top: clamp(56px, 5.4vw, 80px);
      font-family: "Noto Sans JP", sans-serif;
      background: #FAF8F4;
      color: #1D293D;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
    }

    /* ===========================
       Article wrapper
    =========================== */
	.aligncenter {
	  margin: auto;
	}
	.alignleft {
	  float: left;
	  margin-right: 20px;
	}
	.alignright {
	  float: right;
	  margin-left: 20px;
	}

    .single__inner {
      width: 100%;
      max-width: 1100px;
      margin: 0 auto;
      padding: clamp(48px, 6vw, 80px) clamp(16px, 4vw, 48px);
    }

    .single__card {
      background: #fff;
      box-shadow: 0 4px 4px 0 rgba(100, 90, 71, 0.20);
      border-radius: 7px;
      padding: clamp(32px, 4.8vw, 64px) clamp(24px, 5.4vw, 72px);
    }

    .single__meta {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: clamp(14px, 1.6vw, 20px);
    }

    .single__date {
      font-size: 14px;
      font-weight: 400;
      color: #62748E;
    }

    .single__title {
      font-size: clamp(22px, 2.1vw, 30px);
      font-weight: 400;
      line-height: 1.55;
      margin-bottom: clamp(18px, 2vw, 20px);
    }

    .single__divider {
      width: 100%;
      height: 1px;
      background: #AEA594;
      border: none;
      margin-bottom: clamp(24px, 3vw, 40px);
    }

    .single__content {
      display: block;
    }

    .single__content p {
      font-size: 16px;
      font-weight: 400;
      line-height: 1.85;
	  padding: 0 0 clamp(20px, 2.2vw, 24px) 0;
    }

	.single__content img[class*="size-full"] {
	  max-width: 600px;
	  margin: 40px auto;
	  display: block;
	}

	.single__content img[class*="size-large"] {
	  max-width: 600px;
	  margin: 40px auto;
	  display: block;
	}

	.single__content img[class*="size-medium"] {
	  width: 300px;
	  height: auto;
	  display: block;
	}

    .single__content img {
      display: block;
    }

    /* ---- Back link ---- */
    .single__back {
      display: flex;
      justify-content: center;
      margin-top: clamp(32px, 4vw, 56px);
    }

    .single__back-link {
      font-size: clamp(13px, 0.94vw, 14px);
      font-weight: 400;
      letter-spacing: 0.08em;
      color: #45556C;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      transition: color 0.18s;
    }

    .single__back-link::before {
      content: "←";
      font-size: 1em;
    }

    .single__back-link:hover { 
	  color: #1D293D;
	}

    /* ===========================
       Responsive
    =========================== */

    @media (max-width: 768px) {
	  .alignleft {
	    float: none;
	    margin: 10px auto;
	  }

	  .alignright {
	    float: none;
	    margin: 10px auto;
	  }

      .single__card {
        padding: 32px 24px;
      }

      .single__content img {
        width: 100%;
      }
    }

    @media (max-width: 480px) {
      .single__inner {
        padding: 32px 0;
      }

      .single__card {
        padding: 24px 16px;
      }

      .single__title {
        font-size: 20px;
      }

      .single__content p {
        font-size: 15px;
      }
    }