@charset "UTF-8";
/* メディアクエリ */
/* //メディアクエリ */
/* position 中央寄せ */
/* //position 中央寄せ */
.sec-about {
  padding-bottom: 8.5625rem;
}
@media screen and (max-width: 1023px) {
  .sec-about .anim-illustration {
    position: static;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .sec-about {
    padding-bottom: min(137px, 21.3333333333vw);
  }
}
.sec-about .container-1126 {
  position: relative;
}
.sec-about .c-title--circled {
  min-width: 86px;
}
.sec-about-mission, .sec-about-vision {
  max-width: 682px;
  margin: 0 auto;
}
.sec-about-mission {
  margin-bottom: 8.75rem;
}
@media screen and (max-width: 767px) {
  .sec-about-mission {
    margin-bottom: min(140px, 21.3333333333vw);
  }
}
@media screen and (max-width: 767px) {
  .sec-about-mission .sec-about__message {
    margin-top: -6.1333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .sec-about-vision .sec-about__message {
    margin-top: 0;
  }
}
.sec-about__message {
  text-align: center;
  font-size: 1.125rem;
  line-height: 1.7777777778;
  letter-spacing: 0.03em;
  margin-top: 3.5rem;
}
@media screen and (max-width: 767px) {
  .sec-about__message {
    font-size: min(18px, 3.7333333333vw);
    text-align: left;
    line-height: 1.7142857143;
  }
}
.sec-about-illustration--1 {
  width: 263px;
  top: 76px;
  right: -21px;
}
@media screen and (max-width: 767px) {
  .sec-about-illustration--1 {
    width: min(263px, 50.9333333333vw);
  }
}
.sec-about-illustration--2 {
  width: 270px;
  top: 388px;
  left: -19px;
}
.sec-about-illustration--3 {
  width: 226px;
  bottom: 104px;
  right: -2px;
}
@media screen and (max-width: 767px) {
  .sec-about-illustration--3 {
    width: min(226px, 45.8666666667vw);
  }
}

.sec-greeting {
  background-color: #F2F2F2;
  border-radius: 40px;
  padding-top: 8.75rem;
  padding-bottom: 8.75rem;
}
@media screen and (max-width: 767px) {
  .sec-greeting {
    padding-top: min(140px, 21.3333333333vw);
    padding-bottom: min(140px, 21.3333333333vw);
  }
}
.sec-greeting .greeting,
.sec-greeting .overview {
  background-color: #FFFFFF;
  border-radius: 20px;
  padding: 3.6875rem 3.375rem 4.9375rem 5.1875rem;
}
@media screen and (max-width: 1023px) {
  .sec-greeting .greeting,
  .sec-greeting .overview {
    padding-left: 3.375rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-greeting .greeting,
  .sec-greeting .overview {
    padding: min(59px, 10.6666666667vw) min(54px, 5.3333333333vw) min(79px, 10.6666666667vw) min(54px, 5.3333333333vw);
  }
}
.sec-greeting .greeting {
  margin-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  .sec-greeting .greeting {
    margin-bottom: min(100px, 10.6666666667vw);
  }
}
.sec-greeting .greeting__ttl {
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.03em;
  margin-bottom: 2.4375rem;
  color: #FFFFFF;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1279px) {
  .sec-greeting .greeting__ttl {
    font-size: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-greeting .greeting__ttl {
    font-size: min(30px, 4.2666666667vw);
    margin-left: 0;
    margin-bottom: 7.4666666667vw;
  }
}
.sec-greeting .greeting__ttl span {
  display: block;
  position: relative;
  width: fit-content;
  margin-left: 9px;
}
@media screen and (max-width: 767px) {
  .sec-greeting .greeting__ttl span {
    background-color: #11225b;
    padding: 2px 8px 4px;
    margin-left: 0;
  }
}
.sec-greeting .greeting__ttl span:first-of-type {
  margin-bottom: 1.375rem;
}
@media screen and (max-width: 767px) {
  .sec-greeting .greeting__ttl span:first-of-type {
    margin-bottom: 1.3333333333vw;
  }
}
.sec-greeting .greeting__ttl span::before {
  content: "";
  width: 104%;
  height: 153%;
  background-color: #11225b;
  position: absolute;
  top: -6px;
  left: -9px;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .sec-greeting .greeting__ttl span::before {
    content: none;
  }
}
.sec-greeting .greeting__txt {
  line-height: 1.75;
  letter-spacing: 0.03em;
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 767px) {
  .sec-greeting .greeting__txt {
    line-height: 1.7142857143;
  }
}
.sec-greeting .greeting-inner {
  display: flex;
  gap: 60px;
  /* margin-left: -51.5px;
  margin-right: -51.5px; */
  margin-top: 4.125rem;
  /* align-items: center; */
  flex-direction: row-reverse;
}
@media screen and (max-width: 1023px) {
  .sec-greeting .greeting-inner {
    flex-wrap: wrap;
    margin-top: 30px;
    row-gap: 8vw;
    position: relative;
    padding-bottom: 87px;
  }
}
/* .sec-greeting .greeting-txt-wrapper, .sec-greeting .greeting-illustration-wrapper {
  padding: 0 51.5px;
} */
.sec-greeting .greeting-txt-wrapper {
  width: 64%;
}
@media screen and (max-width: 1023px) {
  .sec-greeting .greeting-txt-wrapper {
    width: 100%;
  }
}
.sec-greeting .greeting-illustration-wrapper {
  width: 35%;
}
@media screen and (max-width: 1023px) {
  .sec-greeting .greeting-illustration-wrapper {
    width: 100%;
  }
}
.sec-greeting .greeting-illustration {
  position: relative;
  object-fit: cover;
}
.sec-greeting .greeting-illustration img {
  border-radius: 10px;
}
.sec-greeting .greeting-illustration-fukidashi--1 {
  width: 76px;
  top: -39px;
  right: 87px;
}
@media screen and (max-width: 1023px) {
  .sec-greeting .greeting-illustration-fukidashi--1 {
    width: 18.6666666667vw;
    top: -9.3333333333vw;
    right: 12.5333333333vw;
  }
}
.sec-greeting .greeting-illustration-fukidashi--2 {
  width: 138px;
  top: 19px;
  left: -28px;
}
@media screen and (max-width: 1023px) {
  .sec-greeting .greeting-illustration-fukidashi--2 {
    width: 32.5333333333vw;
    top: 1.6vw;
    left: -10.4vw;
  }
}
.sec-greeting .greeting-illustration-btn {
  margin-top: 30px;
}
@media screen and (max-width: 1023px) {
  .sec-greeting .greeting-illustration-btn {
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
  }
}
.sec-greeting .greeting-illustration-btn .btn-pattern1--white {
	background-color: white;
	border: 1px solid #11225b;
	color: #11225b;
  padding-top: 16px;
  padding-bottom: 16px;
}
.sec-greeting .greeting-illustration-btn .btn-pattern1--white	.p-nav__link-txt--after {
	color: #11225b;
	-webkit-text-fill-color: #11225b; /* for Safari */
}
.sec-greeting .greeting-illustration-btn .btn-pattern1--white .btn-pattern1-inner {
	border-color: #11225b;
}
.sec-greeting .greeting-illustration-btn .btn-pattern1--white .btn-pattern1-inner::before {
  background: url(../images/common/icon-arrow-right-navy.svg) no-repeat center center / contain;
}
.sec-greeting .greeting-illustration-btn .btn-pattern1--white .btn-pattern1-inner::after {
  background: url(../images/common/icon-arrow-right-navy.svg) no-repeat center center / contain;
}
.sec-greeting .greeting-illustration-btn .btn-pattern1--white .btn-doc-inner::before {
  background: url(../images/common/icon-new-tab-navy.svg) no-repeat center center / contain;
}


.sec-greeting .greeting__sign {
  display: flex;
  align-items: center;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .sec-greeting .greeting__sign {
    font-size: min(16px, 3.7333333333vw);
  }
}
.sec-greeting .overview-inner {
  margin-top: 3.625rem;
}
@media screen and (max-width: 767px) {
  .sec-greeting .overview-inner {
    margin-top: min(58px, 10.6666666667vw);
  }
}
.sec-greeting .overview dl {
  position: relative;
  display: flex;
  align-items: flex-start;
  padding: 2.375rem 0 2.125rem;
}
@media screen and (max-width: 767px) {
  .sec-greeting .overview dl {
    padding: min(38px, 5.3333333333vw) 0 min(34px, 5.3333333333vw);
    flex-wrap: wrap;
  }
}
.sec-greeting .overview dl::before {
  content: "";
  height: 1px;
  width: 0;
  position: absolute;
  left: 0;
  background-color: #C6C6C6;
  top: 0;
  -webkit-transition: width 1s cubic-bezier(0.79, 0.06, 0.36, 1);
  transition: width 1s cubic-bezier(0.79, 0.06, 0.36, 1);
}
.sec-greeting .overview dl:last-of-type::after {
  content: "";
  height: 1px;
  width: 0;
  position: absolute;
  left: 0;
  background-color: #C6C6C6;
  bottom: 0;
  -webkit-transition: width 1s cubic-bezier(0.79, 0.06, 0.36, 1);
  transition: width 1s cubic-bezier(0.79, 0.06, 0.36, 1);
}
.sec-greeting .overview dl:last-of-type.js-scrolled::after {
  width: 100%;
}
.sec-greeting .overview dl.js-scrolled::before {
  width: 100%;
}
.sec-greeting .overview dl dt,
.sec-greeting .overview dl dd {
  line-height: 2;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .sec-greeting .overview dl dt,
  .sec-greeting .overview dl dd {
    font-size: min(16px, 3.7333333333vw);
    line-height: 1.7142857143;
  }
}
.sec-greeting .overview dl dt {
  color: #a2a2a2;
  width: 83px;
}
@media screen and (max-width: 767px) {
  .sec-greeting .overview dl dt {
    width: 100%;
  }
}
.sec-greeting .overview dl dd {
  width: calc(100% - 83px);
  padding-left: 149px;
}
@media screen and (max-width: 767px) {
  .sec-greeting .overview dl dd {
    width: 100%;
    padding-left: 0;
  }
}

.sec-more {
  padding-top: 8.75rem;
}
@media screen and (max-width: 767px) {
  .sec-more {
    padding-top: min(140px, 21.3333333333vw);
  }
}
.sec-more .more-inner {
  display: flex;
  margin-left: -40px;
  margin-right: -40px;
  align-items: center;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .sec-more .more-inner {
    margin-top: min(60px, 10.6666666667vw);
    flex-wrap: wrap;
    row-gap: 30px;
  }
}
.sec-more .more-img-wrapper, .sec-more .more-txt-wrapper {
  padding: 0 40px;
}
.sec-more .more-img-wrapper {
  width: 49.8%;
}
@media screen and (max-width: 767px) {
  .sec-more .more-img-wrapper {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .sec-more .more-img-wrapper img {
    margin: 0 auto;
  }
}
.sec-more .more-txt-wrapper {
  width: 50.2%;
}
@media screen and (max-width: 767px) {
  .sec-more .more-txt-wrapper {
    width: 100%;
  }
}
.sec-more .more__txt {
  line-height: 1.75;
  letter-spacing: 0.03em;
  margin-bottom: 2.25rem;
}
.sec-more .more-btn-wrapper {
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .sec-more .btn-pattern1 .nav-anim {
    text-align: left;
  }
}

.sec-works {
  padding-top: 8.75rem;
  padding-bottom: 17.5rem;
}
@media screen and (max-width: 767px) {
  .sec-works {
    padding-top: min(140px, 21.3333333333vw);
    padding-bottom: min(280px, 53.3333333333vw);
  }
}
.sec-works .works-list {
  display: flex;
  flex-wrap: wrap;
  margin: 3.75rem -17.5px;
  row-gap: 3.75rem;
}
@media screen and (max-width: 767px) {
  .sec-works .works-list {
    margin: min(60px, 10.6666666667vw) max(-17.5px, -2vw);
    row-gap: min(60px, 10.6666666667vw);
  }
}
.sec-works .works-list-item {
  width: 33.3333333%;
  padding: 0 17.5px;
}
@media screen and (max-width: 1023px) {
  .sec-works .works-list-item {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .sec-works .works-list-item {
    padding: 0 min(17.5px, 2vw);
  }
}
.sec-works .works-list-item__img {
  margin-bottom: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .sec-works .works-list-item__img {
    margin-bottom: min(25px, 4vw);
  }
}
.sec-works .works-list-item__img img {
  aspect-ratio: 1/1;
  object-fit: cover;
}
.sec-works .works-list-item__tag {
  font-size: 0.75rem;
  border: 1px solid #111E27;
  border-radius: 2px;
  padding: 0.125rem 0.5rem 0.25rem;
  display: block;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .sec-works .works-list-item__tag {
    font-size: min(12px, 2.6666666667vw);
    padding: min(2px, 0.2666666667vw) min(8px, 1.0666666667vw) min(4px, 0.2666666667vw);
  }
}
.sec-works .works-list-item__name {
  font-size: 1.5625rem;
  display: block;
  margin-top: 0.625rem;
  margin-bottom: 0.625rem;
}
@media screen and (max-width: 767px) {
  .sec-works .works-list-item__name {
    font-size: min(25px, 3.7333333333vw);
    margin-top: min(10px, 1.6vw);
    margin-bottom: min(10px, 0.8vw);
  }
}
.sec-works .works-list-item__genre {
  font-size: 0.875rem;
  color: #a2a2a2;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .sec-works .works-list-item__genre {
    font-size: min(14px, 3.2vw);
  }
}
.sec-works .works-list-item__genre span {
  color: #111E27;
  margin-left: 1.875rem;
}
.sec-works .works-btn-wrapper {
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .sec-works .btn-pattern1 .nav-anim {
    text-align: left;
  }
}/*# sourceMappingURL=style-about.css.map */

.post-item__img img {
  transition: all 0.3s;
}
.post-item__link:hover .post-item__img img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}
.post-item__link:hover .post-item__ttl span {
  -webkit-animation: underline_animation 0.8s both;
  animation: underline_animation 0.8s both;
}
.post-item__ttl span {
  display: inline;
  background-position: left 0 bottom 0;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#333), to(#333));
  background-image: linear-gradient(#333, #333);
  background-repeat: no-repeat;
  background-size: 0 1px;
}

@keyframes underline_animation {
  0% {
    background-size: 0 1px;
    background-position: left 0 bottom 0;
  }
  100% {
    background-size: 100% 1px;
    background-position: left 0 bottom 0;
  }
}