@charset "UTF-8";

/*-----------
head
-----------*/
.pageHead {
  margin-block-start: 1.25rem;
}

.pageHead h1 {
  padding-block: 1.25rem;
  text-align: center;
}

.headLogo {
  width: min(35%, 215px);
  margin-inline: auto;
  margin-block-end: 1rem;
}


@media print,screen and (min-width: 1024px) {
  .pageHead {
    margin-block-start: 2.5rem;
  }

  .pageHead h1 {
    padding-block: 2.5rem;
  }


  .headLogo {
    margin-block-end: 1.25rem;
  }

}

/*-----------
new（最新号）
-----------*/
.new {
  padding-block-end: 2.5rem;
  border-block-end: 1px solid var(--color-accent-m-gray);
}

.headingBox {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  /* 10px */
}

.headingBox p {
  font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
  /* 12-14px */
  font-weight: 700;
}

.newBox .buttonAlign {
  width: min(90%, 380px);
}

.newImage {
  width: min(100%, 160px);
  margin-block-end: 1.25rem;
  margin-inline: auto;
  border: 1px solid var(--color-accent-m-gray);
}

/* 特集 */
.newFeature {
  position: relative;
  z-index: 1;
  padding-inline: 1rem;
  padding-block: 1rem;
  margin-block-end: 1.875rem;
  background-color: var(--color-main-sub);
  border-radius: 5px;
}

.newFeature::after {
  content: 'Feature';
  display: block;
  position: absolute;
  z-index: -1;
  right: calc(100% - 7em - 1rem);
  bottom: -5px;
  width: 7em;
  color: var(--color-accent-white);
  font-size: clamp(2.813rem, 2.585rem + 1.14vw, 3.438rem);
  /* 45-55px */
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1em;
}

.newFeatureTitle {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
}

.newFeatureTitle h3 {
  margin-block-end: 0.5em;
  color: var(--color-main);
  font-size: clamp(1.5rem, 1.318rem + 0.91vw, 2rem);
  /* 24-32px */
}

.newFeature .ja {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  aspect-ratio: 1/1;
  color: var(--color-accent-white);
  font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
  /* 16-20px */
  font-weight: 700;
  background-color: var(--color-main);
  border-radius: 50%;
}

.newFeatureItem {
  display: grid;
  grid-template-columns: minmax(0, 100%) min(30%, 140px);
  gap: 0.75rem;
}

.newFeatureItem img {
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  border-radius: 5px;
}

/* 目次 */
.newContents ul {
  margin-block-end: 0;
}

.newContents ul li:not(:last-of-type) {
  margin-block-end: 1rem;
}

.newContents ul li > h4 {
  margin-block-end: 0;
  font-size: clamp(1rem, 0.94rem + 0.25vw, 1.125rem);
  /* 16-18px */
  line-height: 1.8;
}


@media print,screen and (min-width: 768px) {

  .newBox .buttonAlign {
    width: min(100%, 380px);
  }

  .newImage {
    width: min(100%, 380px);
  }

  /* 特集 */
  .newFeature {
    padding-inline-start: 1.25rem;
    padding-inline-end: 1.875rem;
    padding-block: 2.1875rem;
    margin-block-end: 2.5rem;
  }

  .newFeature::after {
    right: 0;
    text-align: right;
  }

  .newFeatureTitle {
    display: block;
  }

  .newFeatureTitle h3 {
    width: calc(100% - 0.75rem - 30%);
  }

  .newFeature .ja {
    position: absolute;
    top: calc(-2.1875rem + -40px);
    left: calc(-1.25rem + -40px);
    width: 80px;
  }

  .newFeatureItem {
    position: relative;
  }
}

@media print,screen and (min-width: 1024px) {
  .new {
    padding-block-end: 6.25rem;
  }

  /* 特集 */
  .newFeature {
    padding-inline-start: 2.1875rem;
  }

  .newFeature .ja {
    left: calc(-2.1875rem + -40px);
    width: 80px;
  }
}


/*-----------
pickup（ピックアップ）
-----------*/
.pickup.wrapper-contents {
  margin-block-start: 2.5rem;
  /* 40px */
}

.pickupBox {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
  padding-inline: 1.25rem;
  padding-block: 1.25rem;
  background-color: var(--color-accent-lt-gray);
  border-radius: 5px;
}

.pickupBox:not(:last-of-type) {
  margin-block-end: 1.25rem;
}

.pickupHead {
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  margin-block-end: 1em;
}

.pickupHead .number {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-block-end: 0;
  color: var(--color-accent-white);
  background-color: var(--color-main);
  aspect-ratio: 1/1;
  border-radius: 50%;
}

.pickupHead .number span {
  display: block;
  width: fit-content;
  line-height: 1em;
}

.pickupHead .small {
  font-size: 0.8125rem;
  /* 13px */
}

.pickupHead .large {
  font-size: clamp(1.25rem, 1.182rem + 0.34vw, 1.438rem);
  /* 20-23px */
  font-weight: 700;
}

.pickupHead .date {
  margin-block-end: 0;
  font-size: 0.875rem;
  font-weight: 700;
}

.pickupHead h3 {
  margin-block-end: 0;
}

.pickupText ul li {
  font-size: 0.875rem;
  /* 14px */
}

.pickupFeature {
  display: flex;
  gap: 8px;
  padding: 0.875rem;
  background-color: var(--color-accent-white);
  border: 1px solid var(--color-accent-m-gray);
  border-radius: 5px;
}

.pickupFeature p {
  display: block;
  width: fit-content;
  height: fit-content;
  padding-inline: 0.5rem;
  margin-block-end: 0;
  color: var(--color-accent-white);
  font-weight: 700;
  background-color: var(--color-main);
  border-radius: 5px;
}

.pickupFeature h4 {
  margin-block-end: 0;
}

.pickupImage {
  width: min(100%, 160px);
  margin-inline: auto;
}

.pickupImage img {
  border: 1px solid var(--color-accent-m-gray);
}


@media print,screen and (min-width: 768px) {
  .pickupBox {
    grid-template-columns: 22% minmax(0, 1fr);
    gap: 2.5rem;
  }

  .pickupText {
    order: 2;
  }

  .pickupImage {
    order: 1;
    width: 100%;
  }

  .pickupHead {
    grid-template-columns: 67px minmax(0, 1fr);
    margin-block-end: 1.5em;
  }

  .pickupText ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1.25rem;
  }
}


@media print,screen and (min-width: 1024px) {
  .pickup.wrapper-contents {
    margin-block-start: 6.25rem;
    /* 100px */
  }

  .pickupBox {
    padding-inline: 3.125rem;
    padding-block: 2.5rem;
  }

  .pickupBox:not(:last-of-type) {
    margin-block-end: 3.75rem;
  }
}


/*-----------
past（バックナンバー）
-----------*/
.past.wrapper-contents {
  margin-block-end: 5rem;
}

.accordion summary {
  padding-inline: 0.5rem;
  padding-block: 1rem;
}

.accordion h3 {
  color: var(--color-black);
  font-size: clamp(1.25rem, 1.159rem + 0.45vw, 1.5rem);
  /* 20-24px */
}

.accordionDetail {
  overflow: hidden;
  margin-inline: 0.5rem;
  margin-block: 1.25rem;
}

.pastDetailItem {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  padding-inline: 1rem;
  padding-block: 1rem;
  background-color: var(--color-accent-lt-gray);
  border-radius: 5px;
}

.pastDetailItem h4 {
  font-size: 1rem;
}

.pastDetailItem p {
  margin-block-end: 0;
}

.pastDetailItem:not(:last-of-type) {
  margin-block-end: 0.875rem;
}


@media print,screen and (min-width: 1024px) {

  .past.wrapper-contents {
    margin-block-end: 10rem;
  }

  .accordionDetail {
    margin-inline: 1rem;
    margin-block: 2.5rem;
  }

  .accordion summary {
    padding-inline: 1rem;
    padding-block: 1.75rem;
  }

  .pastDetailItem {
    grid-template-columns: 45% minmax(0, 1fr);
    align-items: center;
    padding-inline: 1.5rem;
    padding-block: 1.5rem;
  }

  .pastDetailItem h4 {
    margin-block-end: 0;
  }

  .pastDetailItem:not(:last-of-type) {
    margin-block-end: 1.25rem;
  }

}