@charset "utf-8";
/*
Theme Name: wp-theme-rawman
Theme URI: 
Description: 
Version: 1.0
Author: RETHINK
Author URI: 
*/

@font-face {
  font-family: 'TT Norms Pro';
  src: url('./assets/font/tt-norms-pro-regular.woff2') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

.company-img {
  margin-top: 60px;
  text-align: center;
}

.company-img img {
  width: 100%;
  max-width: 1024px;
  margin: auto;
}

.pc_only {
  display: block;
}

.sp_only {
  display: none;
}

.company-info {
  padding: 80px 20px;
}

.company-info__list {
  max-width: 900px;
  margin: 0 auto;
}

.company-info__row {
  display: flex;
  gap: 160px;
  padding: 28px 0;
  border-bottom: 1px solid #dcd8cf;
}

.company-info__row dt {
  width: 100px;
  flex-shrink: 0;
  font-size: 16px;
  letter-spacing: 0.05em;
}

.company-info__row dd {
  margin: 0;
  font-size: 16px;
  line-height: 1.8;
}

.company-info__row a {
  text-decoration: underline;
  color: inherit;
}

@media (max-width: 768px) {
  .pc_only {
    display: none;
  }

  .sp_only {
    display: block;
  }

  .company-info__row dt {
    font-size: 12px;
  }

  .company-info__row dd {
    font-size: 14px;
  }

  .company-info {
    padding: 0;
  }

  .company-info__row {
    gap: 0;
    flex-direction: column;
  }

}

.faq {
  display: flex;
  gap: 80px;
  padding: 80px 20px;
  max-width: 1100px;
  margin: 0 auto;
}

.faq__sidebar {
  display: flex;
  flex-direction: column;
  gap: 12px;
  position: sticky;
  top: 100px;
}

.faq__link {
  display: inline-block;
  padding: 6px 16px;
  border-radius: 20px;
  border: 1px solid #ccc;
  text-decoration: none;
  color: inherit;
  font-size: 14px;
}

.faq__link.is-active {
  background: #000;
  color: #fff;
}

.faq__content {
  flex: 1;
}

.faq__section {
  margin-bottom: 80px;
}

.faq__title {
  font-size: 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #ccc;
  margin-bottom: 24px;
}

.faq__item {
  border-bottom: 1px solid #ccc;
}

.faq__question {
  width: 100%;
  padding: 20px 0;
  background: none;
  border: none;
  display: flex;
  align-items: center;
  gap: 16px;
  text-align: left;
  cursor: pointer;
}

.faq__num {
  width: 40px;
  flex-shrink: 0;
  font-size: 18px;
  font-family: 'TT Norms Pro';
  color: #828282;
}

.faq__icon {
  margin-left: auto;
  width: 10px;
  height: 10px;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  transform: rotate(45deg);
  transition: transform .3s;
}

.faq__item.is-open .faq__icon {
  transform: rotate(-135deg);
}

.faq__answer {
  display: none;
  padding: 0 0 20px 56px;
  line-height: 1.7;
}

.faq__item.is-open .faq__answer {
  display: block;
}

@media (max-width: 768px) {
  .faq {
    flex-direction: column;
    gap: 40px;
    padding: 80px 0;
  }

  /* 上部アンカーリンク */
  .faq__sidebar {
    position: static;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
  }

  .faq__link {
    font-size: 13px;
    padding: 6px 14px;
  }

  /* FAQ本体 */
  .faq__section {
    margin-bottom: 48px;
  }

  .faq__title {
    font-size: 14px;
    margin-bottom: 0;
  }

  .faq__question {
    padding: 25px 10px;
    font-size: 14px;
  }

  .faq__icon {
    margin-left: 5%;
  }

  .faq__question-txt {
    width: 225px;
  }

  .faq__num {
    width: 32px;
  }

  .faq__answer {
    padding-left: 32px;
    font-size: 13px;
  }
}

.reason {
  background: #f6f3ed;
  padding: 100px 0 0 0;
  max-width: 72.5rem;
  margin-inline: auto;
}

.reason__inner {
  margin: 0 auto;
  padding: 0 24px;
}

.reason__head {
  margin-bottom: 80px;
}

.reason__en {
  font-size: 16px;
  letter-spacing: .08em;
  font-family: 'TT Norms Pro';
  color: #777;
  display: block;
  margin-bottom: 8px;
}

.reason__ttl {
  font-size: 28px;
  font-weight: normal;
  padding-bottom: 16px;
  border-bottom: 1px solid #ccc;
}

/* row */
.reason__row {
  display: flex;
  align-items: center;
  gap: 80px;
  padding-bottom: 60px;
  padding-top: 60px;
  border-bottom: 1px solid #ccc;
}

.reason__head + .reason__row {
  padding-top: 0;
}
.reason__row:last-of-type {
  padding-bottom: 0;
  border-bottom: none;
}

.reason__row--reverse {
  flex-direction: row-reverse;
}

/* image */
.reason__image {
  width: 523px;
  max-width: 100%;
}

.reason__image img {
  width: 100%;
  height: auto;
  display: block;
}

/* text */
.reason__text {
  flex: 1;
}

.reason__lead {
  font-size: 16px;
  font-family: 'TT Norms Pro';
  color: #828282;
  display: block;
  margin-bottom: 12px;
}

.reason__subttl {
  font-size: 28px;
  margin-bottom: 20px;
  font-weight: normal;
}

.reason__text p {
  font-size: 16px;
  line-height: 2;
  color: #333;
}

@media (max-width: 768px) {

  .reason {
    padding: 95px 0 0 0;
  }

  .reason__head {
    margin-bottom: 48px;
  }

  .reason__en {
    font-size: 16px;
  }

  .reason__ttl {
    font-size: 24px;
    padding-bottom: 12px;
    border-bottom: none;
  }

  /* rowを縦積みに */
  .reason__row,
  .reason__row--reverse {
    flex-direction: column;
    gap: 50px;
    margin-bottom: 64px;
    border-bottom: unset;
    margin-bottom: 0;
    padding-bottom: 0;
	}

  /* 画像 */
  .reason__image {
    width: 100vw;
    max-width: 100vw;
  }

  .reason__image img {
    width: 100%;
    height: auto;
  }

  /* テキスト */
  .reason__text {
    width: 100%;
  }

  .reason__lead {
    font-size: 12px;
    margin-bottom: 8px;
  }

  .reason__subttl {
    font-size: 20px;
    margin-bottom: 16px;
    line-height: 1.5;
  }

  .reason__text p {
    font-size: 14px;
    line-height: 1.9;
  }

}
