@charset "UTF-8";
@use "reset";
.section + .section {
  position: relative;
}
.section + .section::after {
  position: absolute;
  content: "";
  max-width: 1280px;
  height: 2px;
  background: #004d14;
  top: -1px;
  left: 0;
  right: 0;
  margin: auto;
}
@media (max-width: 768px) {
  .section + .section::after {
    content: none;
  }
}

.section-inner {
  max-width: 1440px;
  margin: auto;
  padding: 160px 80px;
  position: relative;
}
@media (max-width: 768px) {
  .section-inner {
    padding: 0 calc(20 / 375 * 100%);
  }
}

/* 下層ページ見出し */
.page-title + .section .section-inner {
  padding-top: 160px;
}
@media (max-width: 768px) {
  .page-title + .section .section-inner {
    padding-top: 0;
  }
}

.content-block {
  display: flex;
  justify-content: space-between;
  position: relative;
}
@media (max-width: 768px) {
  .content-block {
    flex-direction: column-reverse;
  }
  .content-block.reverse-sp {
    flex-direction: column;
  }
}
.content-block + .content-block {
  margin-top: 150px;
}
@media (max-width: 768px) {
  .content-block + .content-block {
    margin-top: 0;
  }
}
.content-block .about-ttl {
  font-size: clamp(2.8rem, 3.5vw, 4rem);
  margin-bottom: calc(120 / 700 * 100%);
}
@media (max-width: 768px) {
  .content-block .about-ttl {
    font-size: 3rem;
    margin-bottom: 40px;
    line-height: 1.333;
  }
}
.content-block .block-ttl {
  font-size: clamp(2.2rem, 2vw, 3rem);
  font-weight: bold;
  font-family: var(--f-yu-gothic);
  margin-bottom: 30px;
  line-height: 1.2;
}
@media (max-width: 768px) {
  .content-block .block-ttl {
    font-size: 2.2rem;
    margin-bottom: 20px;
  }
}
.content-block .text,
.content-block .image {
  width: 50%;
}
@media (max-width: 768px) {
  .content-block .text,
  .content-block .image {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .content-block .text {
    padding: 35px 0;
  }
}
.content-block .text p {
  line-height: 2;
  font-size: clamp(1.4rem, 1.5vw, 1.8rem);
}
@media (max-width: 768px) {
  .content-block .text p {
    font-size: 1.4rem;
    display: inline;
  }
}
.content-block .text p + p {
  margin-top: 30px;
}
@media (max-width: 768px) {
  .content-block .text p + p {
    margin-top: 0;
  }
}
.content-block .text.kodawari {
  width: 54%;
  padding-top: clamp(40px, 6vw, 150px);
}
@media (max-width: 768px) {
  .content-block .text.kodawari {
    width: 100%;
  }
}
.content-block .image {
  margin-right: -80px;
}
.content-block .image img {
  width: 100%;
}
.content-block .image .cap {
  font-size: 1.4rem;
  color: #000000;
  padding-top: 20px;
  margin-left: -1em;
  line-height: 1.2;
  text-indent: -1em;
}
@media (max-width: 768px) {
  .content-block .image .cap {
    display: none;
  }
}
@media (max-width: 768px) {
  .content-block .image {
    width: calc(100% + 20/375*100vw + 20/375*100vw);
    margin-left: calc(-20/375*100vw);
    margin-right: calc(-20/375*100vw);
  }
}
.content-block .image.img_psn {
  position: relative;
}
.content-block .image.img_psn .cap {
  position: absolute;
  right: 40px;
  padding-top: 10px;
}
.content-block.brand-logo .text {
  width: calc(720 / 1280 * 100%);
}
@media (max-width: 768px) {
  .content-block.brand-logo .text {
    width: 100%;
  }
}
.content-block.brand-logo .image {
  width: calc(625 / 1280 * 100%);
  text-align: center;
}
@media (max-width: 768px) {
  .content-block.brand-logo .image {
    width: calc(160 / 335 * 100%);
    margin-left: auto;
    margin-right: calc(30 / 335 * 100%);
    margin-bottom: 35px;
  }
}
.content-block.brand-logo .image img {
  width: auto;
}

.image-solo {
  margin-left: -80px;
  max-width: 800px;
  width: 75%;
}

.factory .content-block .text {
  width: calc(720 / 1280 * 100%);
}
@media (max-width: 768px) {
  .factory .content-block .text {
    width: 100%;
  }
}
.factory .content-block .image {
  width: calc(480 / 1280 * 100%);
  margin-right: 0;
  position: static;
}
@media (max-width: 768px) {
  .factory .content-block .image {
    width: calc(100% + 20/375*100vw + 20/375*100vw);
    margin-left: calc(-20/375*100vw);
    margin-right: calc(-20/375*100vw);
  }
}
.factory .content-block.line-l-pc {
  margin-top: 160px;
}
@media (max-width: 768px) {
  .factory .content-block.line-l-pc {
    margin-top: 0;
  }
}
.factory .content-block.line-l-pc .block-ttl {
  margin-bottom: 9px;
}
.factory .content-block.line-l-pc .text {
  width: calc(785 / 1280 * 100%);
  padding-left: calc(45 / 1280 * 100%);
  border-left: 2px solid #004d14;
}
@media (max-width: 768px) {
  .factory .content-block.line-l-pc .text {
    width: 100%;
    padding-left: 0;
    border-left: none;
  }
}
.factory .content-block.line-l-pc + .line-l-pc {
  margin-top: 0;
}
.factory .content-block.line-l-pc + .line-l-pc .text {
  padding-top: 40px;
}
@media (max-width: 768px) {
  .factory .content-block.anshin .image-anshin-solo {
    width: calc(160 / 335 * 100%);
    margin-left: auto;
    margin-right: calc(30 / 335 * 100%);
    margin-bottom: 40px;
  }
}

.link-block .link-block-ttl {
  font-size: clamp(1.4rem, 1.6vw, 1.7rem);
  font-weight: bold;
}
.link-block .link-block-ttl_sub {
  font-weight: bold;
}
