@charset "UTF-8";
/*----------------------------------------

	COMPANY CSS

-----------------------------------------*/
@media screen and (min-width: 769px) {
  .c-title__wrap:has(h1.c-title01) {
    padding-block: 240px 0;
  }
}
@media screen and (max-width: 768px) {
  .c-title__wrap:has(h1.c-title01) {
    padding-block: 30.75vw 0;
  }
}
.c-title__wrap:has(h1.c-title01) .c-title01 {
  text-align: center;
  margin-inline: auto;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .c-title__wrap:has(h1.c-title01) .c-title01 {
    gap: 20px;
  }
}
@media screen and (max-width: 768px) {
  .c-title__wrap:has(h1.c-title01) .c-title01 {
    gap: 2.5vw;
  }
}
.c-title__wrap:has(h1.c-title01) .c-title01 .font56_32 {
  grid-row: 1/2;
}
@media screen and (min-width: 769px) {
  .c-title__wrap:has(h1.c-title01) .c-title01 .font56_32 {
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 768px) {
  .c-title__wrap:has(h1.c-title01) .c-title01 .font56_32 {
    letter-spacing: 0.02em;
  }
}
.c-title__wrap:has(h1.c-title01) .c-title01 .font18_12 {
  letter-spacing: 0.01em;
}

/*----------------------------------------
	- about
-----------------------------------------*/
.about {
  /*----------------------------------------
  	- トップメッセージ / 会社概要
  -----------------------------------------*/
  /*----------------------------------------
  	- SAGAMIの想い
  -----------------------------------------*/
  /*----------------------------------------
  	- SAGAMIの歴史とこれから
  -----------------------------------------*/
  /*----------------------------------------
  - learn
  -----------------------------------------*/
}
@media screen and (min-width: 769px) {
  .about {
    margin-block-start: 180px;
  }
}
@media screen and (max-width: 768px) {
  .about {
    margin-block-start: 25vw;
  }
}
.about section {
  display: grid;
}
@media screen and (min-width: 769px) {
  .about section {
    grid-template-columns: 53.625% 1fr;
    gap: min(100px, 6.25vw);
  }
}
@media screen and (max-width: 768px) {
  .about section {
    padding-inline: 0 5vw;
  }
}
.about section figure {
  height: 100%;
}
.about section img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 769px) {
  .about section .box {
    width: calc(100% - min(111px, 6.938vw));
    height: -moz-fit-content;
    height: fit-content;
    margin-block: auto;
    margin-inline: 0 auto;
    padding-block: min(80px, 5vw);
  }
}
@media screen and (max-width: 768px) {
  .about section .box {
    margin-block-start: 6vw;
    padding-inline: 6vw 0;
  }
}
@media screen and (min-width: 769px) {
  .about section .box .c-title01 {
    gap: 18px;
  }
}
@media screen and (max-width: 768px) {
  .about section .box .c-title01 {
    gap: 1.5vw;
  }
}
.about section .box .font16_14 {
  line-height: 2.5;
}
@media screen and (min-width: 769px) {
  .about section .box .font16_14 {
    margin-block-start: 46px;
  }
}
@media screen and (max-width: 768px) {
  .about section .box .font16_14 {
    margin-block-start: 5vw;
  }
}
@media screen and (min-width: 769px) {
  .about section .box p:has(a) {
    margin-block-start: 36px;
  }
}
@media screen and (max-width: 768px) {
  .about section .box p:has(a) {
    margin-block-start: 2.5vw;
  }
}
@media screen and (min-width: 769px) {
  .about .philosophy {
    margin-block-start: 100px;
    grid-template-columns: 1fr 53.625%;
  }
}
@media screen and (max-width: 768px) {
  .about .philosophy {
    margin-block-start: 10vw;
    padding-inline: 5vw 0;
  }
}
@media screen and (min-width: 769px) {
  .about .philosophy figure {
    grid-column: 2/3;
    grid-row: 1/2;
  }
}
@media screen and (min-width: 769px) {
  .about .philosophy .box {
    grid-column: 1/2;
    grid-row: 1/2;
    margin-inline: auto 0;
    max-width: 430px;
  }
}
@media screen and (max-width: 768px) {
  .about .philosophy .box {
    padding-inline: 1vw 6vw;
  }
}
@media screen and (min-width: 769px) {
  .about .history {
    margin-block-start: 100px;
  }
}
@media screen and (max-width: 768px) {
  .about .history {
    margin-block-start: 10vw;
  }
}
.about .learn {
  background-color: var(--color-soapstone);
}
@media screen and (min-width: 769px) {
  .about .learn {
    grid-template-columns: 1fr;
    padding-block: 80px;
    margin-block-start: 150px;
  }
}
@media screen and (max-width: 768px) {
  .about .learn {
    padding-block: 15vw;
    padding-inline: 0;
    margin-block-start: 20vw;
  }
}
.about .learn .c-box {
  display: grid;
}
@media screen and (min-width: 769px) {
  .about .learn .c-box {
    width: -moz-fit-content;
    width: fit-content;
    grid-template-columns: repeat(2, auto);
    gap: 32px 65px;
  }
}
@media screen and (max-width: 768px) {
  .about .learn .c-box {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}
.about .learn h2 {
  font-weight: var(--font-medium);
  line-height: 1;
  letter-spacing: 0.01em;
}
@media screen and (min-width: 769px) {
  .about .learn h2 {
    text-align: center;
    grid-column: 1/3;
    grid-row: 1/2;
  }
}
@media screen and (max-width: 768px) {
  .about .learn h2 {
    text-align: center;
  }
}
@media screen and (min-width: 769px) {
  .about .learn p {
    grid-row: 2/3;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 768px) {
  .about .learn p:nth-of-type(1) {
    margin-block-start: 8.25vw;
  }
}
@media screen and (max-width: 768px) {
  .about .learn p:nth-of-type(2) {
    margin-block-start: 7vw;
  }
}