/*----------------------------------------

	COMPANY PHILOSOPHY CSS

-----------------------------------------*/
.c-title__wrap:has(.c-title01 .font48_28) {
  border: none;
}
@media screen and (min-width: 769px) {
  .c-title__wrap:has(.c-title01 .font48_28) {
    padding-block-end: 64px;
  }
}
@media screen and (max-width: 768px) {
  .c-title__wrap:has(.c-title01 .font48_28) {
    padding-block-end: 12.5vw;
  }
}
@media screen and (max-width: 768px) {
  .c-title__wrap:has(.c-title01 .font48_28) .c-box {
    padding-inline: 6vw;
  }
}

/*----------------------------------------
	- TOP MESSAGE
-----------------------------------------*/
.message .c-title__wrap {
  gap: 0;
}
@media screen and (min-width: 769px) {
  .message .c-title__wrap {
    display: grid;
    grid-template-columns: 1fr 69%;
    justify-content: flex-end;
    align-items: center;
    height: 680px;
    overflow: hidden;
  }
}
@media screen and (min-width: 769px) {
  .message .c-title__wrap .c-box {
    grid-column: 1/3;
    grid-row: 1/3;
    width: min(1280px, 90%);
    position: relative;
    z-index: 1;
  }
}
.message .c-title__wrap .c-title-unique .font18_16 {
  font-weight: var(--font-medium);
  color: var(--color-primarydefault);
  line-height: 1;
  letter-spacing: 0.01em;
}
.message .c-title__wrap .c-title-unique .font36_28 {
  display: block;
  font-weight: var(--font-medium);
  letter-spacing: 0.04em;
}
@media screen and (min-width: 769px) {
  .message .c-title__wrap .c-title-unique .font36_28 {
    line-height: 2;
    padding-inline: 34px 0;
  }
}
@media screen and (max-width: 768px) {
  .message .c-title__wrap .c-title-unique .font36_28 {
    line-height: 1.71;
    padding-inline: 6.5vw 0;
  }
}
@media screen and (min-width: 769px) {
  .message .c-title__wrap .c-title-unique .font36_28:nth-of-type(1) {
    line-height: 2;
    text-indent: -34px;
    padding-inline: 34px 0;
    margin-block-start: 21px;
  }
}
@media screen and (max-width: 768px) {
  .message .c-title__wrap .c-title-unique .font36_28:nth-of-type(1) {
    line-height: 1.71;
    text-indent: -6.5vw;
    padding-inline: 6.5vw 0;
    margin-block-start: 6vw;
  }
}
.message .c-title__wrap .c-title-unique .font36_28:nth-of-type(1)::before, .message .c-title__wrap .c-title-unique .font36_28:nth-of-type(1)::after {
  content: "";
  display: inline-block;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(/asset/img/common/ic-quotation-start-pink.svg);
}
@media screen and (min-width: 769px) {
  .message .c-title__wrap .c-title-unique .font36_28:nth-of-type(1)::before, .message .c-title__wrap .c-title-unique .font36_28:nth-of-type(1)::after {
    width: 22px;
    height: 17px;
  }
}
@media screen and (max-width: 768px) {
  .message .c-title__wrap .c-title-unique .font36_28:nth-of-type(1)::before, .message .c-title__wrap .c-title-unique .font36_28:nth-of-type(1)::after {
    width: 4vw;
    height: 3vw;
  }
}
.message .c-title__wrap .c-title-unique .font36_28:nth-of-type(1)::before {
  background-image: url(/asset/img/common/ic-quotation-start-pink.svg);
}
@media screen and (min-width: 769px) {
  .message .c-title__wrap .c-title-unique .font36_28:nth-of-type(1)::before {
    transform: translateY(-16px);
    margin-inline: 0 12px;
  }
}
@media screen and (max-width: 768px) {
  .message .c-title__wrap .c-title-unique .font36_28:nth-of-type(1)::before {
    transform: translateY(-3.75vw);
    margin-inline: 0 2.5vw;
  }
}
.message .c-title__wrap .c-title-unique .font36_28:nth-of-type(1)::after {
  background-image: url(/asset/img/common/ic-quotation-end-pink.svg);
}
@media screen and (min-width: 769px) {
  .message .c-title__wrap .c-title-unique .font36_28:nth-of-type(1)::after {
    transform: translateY(-16px);
    margin-inline: 12px 0;
  }
}
@media screen and (max-width: 768px) {
  .message .c-title__wrap .c-title-unique .font36_28:nth-of-type(1)::after {
    transform: translateY(-3.75vw);
    margin-inline: 1.75vw 0;
  }
}
.message .c-title__wrap > div .font18_16 {
  line-height: 2.5;
}
@media screen and (min-width: 769px) {
  .message .c-title__wrap > div .font18_16 {
    margin-block-start: 40px;
  }
}
@media screen and (max-width: 768px) {
  .message .c-title__wrap > div .font18_16 {
    margin-block-start: 5vw;
  }
}
@media screen and (min-width: 769px) {
  .message .c-title__wrap figure {
    grid-column: 2/3;
    grid-row: 1/3;
    height: 680px;
    margin-inline: auto 0;
  }
}
@media screen and (max-width: 768px) {
  .message .c-title__wrap figure {
    margin-block-start: 7.5vw;
  }
}
.message .c-title__wrap figure img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: left;
     object-position: left;
}
@media screen and (min-width: 769px) {
  .message .c-title__wrap figure img {
    height: 680px;
    width: auto;
  }
}
@media screen and (max-width: 768px) {
  .message .c-title__wrap figure img {
    height: 100%;
  }
}
@media screen and (min-width: 769px) {
  .message .txt {
    margin-block-start: 150px;
    width: min(1100px, 90%);
    display: grid;
    grid-template-columns: 32.727% 1fr;
    gap: 60px;
  }
}
@media screen and (max-width: 768px) {
  .message .txt {
    margin-block-start: 20vw;
  }
}
.message .txt .font32_24 {
  font-weight: var(--font-medium);
}
@media screen and (min-width: 769px) {
  .message .txt .font32_24 {
    letter-spacing: 0.02em;
  }
}
@media screen and (max-width: 768px) {
  .message .txt .font32_24 {
    text-align: center;
  }
}
.message .txt .font16_14 {
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .message .txt .font16_14 {
    margin-block-start: 8vw;
  }
}

/*----------------------------------------
	- LOGO
-----------------------------------------*/
.logo {
  background-color: var(--color-primarylight);
}
@media screen and (min-width: 769px) {
  .logo {
    margin-block-start: 150px;
    padding-block: 120px;
  }
}
@media screen and (max-width: 768px) {
  .logo {
    margin-block-start: 20vw;
    padding-block: 20vw;
  }
}
.logo .c-title01 {
  text-align: center;
  margin-inline: auto;
}
@media screen and (min-width: 769px) {
  .logo .c-title01 {
    gap: 15px;
  }
}
@media screen and (max-width: 768px) {
  .logo .c-title01 {
    gap: 1.5vw;
  }
}
.logo .c-title01 .font14_12 {
  font-weight: var(--font-medium);
}
@media screen and (min-width: 769px) {
  .logo .c-title01 .font32_24 {
    letter-spacing: 0.02em;
  }
}
.logo figure {
  margin-inline: auto;
}
@media screen and (min-width: 769px) {
  .logo figure {
    width: 340px;
    margin-block-start: 100px;
  }
}
@media screen and (max-width: 768px) {
  .logo figure {
    width: 62.5vw;
    margin-block-start: 17.25vw;
  }
}
.logo .font16_14 {
  line-height: 2;
}
@media screen and (min-width: 769px) {
  .logo .font16_14 {
    max-width: 720px;
    width: 100%;
    margin-inline: auto;
    margin-block-start: 100px;
  }
}
@media screen and (max-width: 768px) {
  .logo .font16_14 {
    margin-block-start: 17.25vw;
  }
}

/*----------------------------------------
	- MISSION
-----------------------------------------*/
@media screen and (min-width: 769px) {
  .mission {
    margin-block-start: 120px;
  }
}
@media screen and (max-width: 768px) {
  .mission {
    margin-block-start: 20vw;
  }
}
.mission .c-title01 {
  text-align: center;
  margin-inline: auto;
}
@media screen and (min-width: 769px) {
  .mission .c-title01 {
    gap: 15px;
  }
}
@media screen and (max-width: 768px) {
  .mission .c-title01 {
    gap: 1.5vw;
  }
}
.mission .c-title01 .font14_12 {
  font-weight: var(--font-medium);
}
@media screen and (min-width: 769px) {
  .mission .c-title01 .font32_24 {
    letter-spacing: 0.02em;
  }
}
.mission .item-list {
  display: grid;
}
@media screen and (min-width: 769px) {
  .mission .item-list {
    margin-block-start: 60px;
    grid-template-columns: repeat(2, 1fr);
    gap: 60px;
  }
}
@media screen and (max-width: 768px) {
  .mission .item-list {
    margin-block-start: 8vw;
    grid-template-columns: 1fr;
    gap: 5vw;
  }
}
.mission li {
  padding: 38px;
  background-color: var(--color-ghostwhite);
}
@media screen and (max-width: 768px) {
  .mission li {
    padding: 6.5vw 4.5vw 5vw;
    min-height: 81.25vw;
  }
}
.mission .ttl {
  text-align: center;
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 769px) {
  .mission .ttl {
    padding-block: 59px 41px;
  }
}
@media screen and (max-width: 768px) {
  .mission .ttl {
    padding-block: 5vw 4.25vw;
  }
}
.mission .ttl .font15_13 {
  color: var(--color-smokegray);
  line-height: 1;
  letter-spacing: 0.01em;
}
.mission .ttl .font36_24 {
  color: var(--color-primarydark);
  font-weight: var(--font-semibold);
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .mission .ttl .font36_24 {
    margin-block-start: 12px;
  }
}
@media screen and (max-width: 768px) {
  .mission .ttl .font36_24 {
    margin-block-start: 3vw;
  }
}
.mission .ttl .font16_14 {
  font-weight: var(--font-medium);
}
@media screen and (min-width: 769px) {
  .mission .ttl .font16_14 {
    line-height: 2;
    margin-block-start: 4px;
  }
}
@media screen and (max-width: 768px) {
  .mission .ttl .font16_14 {
    line-height: 1.5;
    margin-block-start: 1.5vw;
  }
}
.mission .txt {
  position: relative;
  line-height: 2;
}
@media screen and (min-width: 769px) {
  .mission .txt {
    padding-block: 44px 47px;
  }
}
@media screen and (max-width: 768px) {
  .mission .txt {
    padding-block: 5.3vw 5.2vw;
  }
}
.mission .txt::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, #D6C9CA 0%, #FA91A9 100%);
}

/*----------------------------------------
- learn
-----------------------------------------*/
.learn {
  background-color: var(--color-soapstone);
}
@media screen and (min-width: 769px) {
  .learn {
    grid-template-columns: 1fr;
    padding-block: 80px;
    margin-block-start: 150px;
  }
}
@media screen and (max-width: 768px) {
  .learn {
    padding-block: 15vw;
    margin-block-start: 20vw;
  }
}
.learn .c-box {
  display: grid;
}
@media screen and (min-width: 769px) {
  .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) {
  .learn .c-box {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}
.learn h2 {
  font-weight: var(--font-medium);
  line-height: 1;
  letter-spacing: 0.01em;
}
@media screen and (min-width: 769px) {
  .learn h2 {
    text-align: center;
    grid-column: 1/3;
    grid-row: 1/2;
  }
}
@media screen and (max-width: 768px) {
  .learn h2 {
    text-align: center;
  }
}
@media screen and (min-width: 769px) {
  .learn p {
    grid-row: 2/3;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 768px) {
  .learn p:nth-of-type(1) {
    margin-block-start: 8.25vw;
  }
}
@media screen and (max-width: 768px) {
  .learn p:nth-of-type(2) {
    margin-block-start: 7vw;
  }
}