h1 {
  font-size: clamp(1.5em, 5vw, 3.1em)!important;
	 font-weight: 700!important;
  span.sub-title {
   font-size: clamp(.3em, 3.6vw, .4em)!important;
   line-height: 1.2em!important;
	  margin-top: 20px;
  }
 }
.top h1 {
  transform: translateY(-40px);
}
.top img.logotop {
  transform: translateY(-60px);
}
.logotxt {
  transform: translateY(-60px);
}
@media (max-width: 767px) {
.top h1 {
  transform: translateY(0px);
}
.top img.logotop {
  transform: translateY(0px);
}
}
	  
section#top {
  background: #fff url("../image/back-cotop.png") no-repeat center / cover !important;
  background-position: center bottom 50px !important;
  min-height: 400px !important;
  display: flex;
  align-items: stretch;

  > .top {
    max-width: var(--basic-width);
    width: 100%;
    margin: 0 auto;
    padding: var(--basic-padding);

    display: grid;
    grid-template-columns: 1fr 492px;
    grid-template-rows: auto auto;
    align-items: end;
    column-gap: 30px;

    h1 {
      grid-column: 1;
      grid-row: 1;
      margin: 0;
		  text-shadow:
    0 0 3px #fff,
    0 0 6px #fff,
    0 0 10px rgba(255, 255, 255, 0.9);
    }

img:nth-of-type(1) {
  grid-column: 1;
  grid-row: 2;
  width: 80%;
  height: auto;
  align-self: start;

  filter:
    drop-shadow(0 0 3px #fff)
    drop-shadow(0 0 6px #fff)
    drop-shadow(0 0 10px rgba(255, 255, 255, 0.9));
}
    img:nth-of-type(2) {
      grid-column: 2;
      grid-row: 1 / 3;
      width: 100%;
      height: auto;
      align-self: end;
    }
  }
}
@media (max-width: 767px) {
  section#top {
    min-height: auto !important;

    > .top {
      display: grid;
      grid-template-columns: 1fr;
      grid-template-rows: auto auto auto;
      gap: 15px;

      justify-items: center; /* ← 全体を中央揃え */

      h1 {
        grid-column: 1;
        grid-row: 1;
        text-align: center;
        width: 100%;
      }

      img:nth-of-type(1) {
        grid-column: 1;
        grid-row: 2;
        width: 100%;
        justify-self: center;
      }

      img:nth-of-type(2) {
        grid-column: 1;
        grid-row: 3;
        width: 80%;
        justify-self: center;
      }
    }
  }
}

    .container {
      max-width: 1200px;
      margin: 0px auto;
		margin-top: 0!important;
		margin-bottom: 40px!important;
      padding: 0 20px;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
    }
.block-wrap {
  position: relative;
}
    .block {
      border: 1px solid #ddd;
      border-radius: 8px;
      overflow: hidden;
      background: #fff;
		position: relative;
    }
.new-mark {
  position: absolute;
  top: -15px;
  right: -15px;

  width: 45px;
  height: 45px;
  border-radius: 50%;

  background: #e60012;
  color: #fff;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 12px;
  font-weight: bold;
  line-height: 1;

  z-index: 10;
}
@media (max-width: 767px) {
.new-mark {
    top: -10px;
    right: -10px;
    width: 48px;
    height: 48px;
    font-size: 13px;
  }
}

    .block img {
      width: 100%;
      height: auto;
      object-fit: cover;
      display: block;
    }

    .block-content {
      padding: 10px 20px;
    }

    .block h2 img {
		height: 20px;
		width: auto;
/*      margin: 0 0 8px;
      font-size: 18px;*/
    }

    .block p {
      margin: 0;
      color: #666;
      line-height: 1.6;
		font-size: 14px;
    }

    /* スマホ */
    @media (max-width: 768px) {
      .container {
        grid-template-columns: 1fr;
        gap: 16px;
      }
}
/* fade */
.fade-in {
  opacity: 0;
  animation: fade 2s ease .5s forwards;
}

@keyframes fade {
  to {
    opacity: 1;
  }
}