@charset "UTF-8";
/*-----------------------------------------------
TOP
------------.------------------------------------*/
/* fv
======================================= */
.fv {
  background-color: #1C2C6F;
  -webkit-box-shadow: 0 0 0 1px #1C2C6F;
          box-shadow: 0 0 0 1px #1C2C6F;
}
.fv__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 1280px) {
  .fv__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.fv__left {
  width: 74.8%;
  background: url(../img/top/fv.jpg) no-repeat center center/cover;
  margin-left: 5.208333vw;
  padding: 25.1vw 6.25vw 10.3vw;
}
@media (max-width: 1280px) {
  .fv__left {
    width: 84%;
    margin-left: auto;
  }
}
@media (max-width: 768px) {
  .fv__left {
    width: 85.4%;
    padding: 28.7vw 6.25vw 8.5vw;
  }
}
.fv__title {
  font-family: "源真ゴシックP";
  color: #fff;
  line-height: 1.8333;
  font-size: 3em;
  font-weight: 900;
}
@media (max-width: 1280px) {
  .fv__title {
    margin: 0 calc(50% - 50vw);
    line-height: 1.333;
  }
}
@media (max-width: 768px) {
  .fv__title {
    font-size: 2em;
  }
}
.fv__right {
  width: 25.2%;
}
@media (max-width: 1280px) {
  .fv__right {
    width: 100%;
    height: 22vw;
  }
}
.fv__links {
  height: 100%;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-template-rows: repeat(3, 1fr);
}
@media (max-width: 1280px) {
  .fv__links {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(1, 1fr);
  }
}
.fv__link_01 a::after {
  background: url(../img/top/fv_link_01.jpg) no-repeat center center;
}
.fv__link_02 a::after {
  background: url(../img/top/fv_link_02.jpg) no-repeat center center;
}
.fv__link_03 a::after {
  background: url(../img/top/fv_link_03.jpg) no-repeat center center;
}
.fv__link a {
  display: block;
  height: 100%;
  padding: 1em;
  position: relative;
  z-index: 0;
  overflow: hidden;
}
@media (max-width: 768px) {
  .fv__link a {
    padding: 0.3em;
  }
}
.fv__link a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: rgba(28, 44, 111, 0.5);
}
.fv__link a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  background-size: cover;
}
.fv__link a:hover::after {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.fv__link a:hover .fv__link-title {
  -webkit-transform: translateY(-5%);
          transform: translateY(-5%);
}
.fv__link-inner {
  padding: 0.5em 1em 1.5em;
  border: 1px solid #fff;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (max-width: 768px) {
  .fv__link-inner {
    padding: 0 0.3em 0.2em;
  }
}
.fv__link-pick_up {
  font-family: "Tenby Stencil";
  color: #fff;
  text-decoration: underline;
}
.fv__link-title {
  font-family: "源真ゴシックP";
  font-size: 1.75em;
  color: #1C2C6F;
  font-weight: bold;
  background-color: #fff;
  margin-top: auto;
  padding: 0.5em 0.5em 0.5em 1.2em;
  text-align: center;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (max-width: 768px) {
  .fv__link-title {
    font-size: 1em;
    white-space: nowrap;
    padding: 0.2em 0.2em 0.2em 1.2em;
  }
}
.fv__link-title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0.4em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.51vw;
  height: 1.51vw;
  display: block;
  background: url(../img/common/arrow_red.svg) no-repeat center center/contain;
  margin-right: 0.5em;
}
@media (max-width: 768px) {
  .fv__link-title::before {
    left: 0.3em;
    width: 10px;
    height: 10px;
  }
}

.blur {
  opacity: 0;
}

.is-blur {
  -webkit-animation: blurAnime 8s ease-in-out infinite;
          animation: blurAnime 8s ease-in-out infinite;
  opacity: 0;
}

@-webkit-keyframes blurAnime {
  0%, 100% {
    -webkit-filter: blur(15px);
            filter: blur(15px);
    opacity: 0;
  }
  50% {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
  }
}

@keyframes blurAnime {
  0%, 100% {
    -webkit-filter: blur(15px);
            filter: blur(15px);
    opacity: 0;
  }
  50% {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
  }
}
/* sec_project
======================================= */
.sec_project {
  background-color: #1C2C6F;
  -webkit-box-shadow: 0 0 0 1px #1C2C6F;
          box-shadow: 0 0 0 1px #1C2C6F;
}
.sec_project__inner {
  margin-top: -25px;
  padding-top: 0;
  padding-bottom: 0;
}
@media (max-width: 1280px) {
  .sec_project__inner {
    padding-top: 0.7em;
    margin-top: 0;
  }
}
.sec_project__wrapper {
  padding: 0 3.3%;
  position: relative;
  z-index: 0;
}
@media (max-width: 768px) {
  .sec_project__wrapper {
    padding: 0.5em 6.37%;
  }
}
.sec_project__wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 97.5%;
  height: 92.34%;
  background-color: #000;
  border-radius: 5px;
}
@media (max-width: 768px) {
  .sec_project__wrapper::before {
    width: 100%;
    height: 91%;
  }
}
.sec_project__title {
  color: #fff;
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .sec_project__title {
    margin-bottom: 0.4em;
  }
}
@media (max-width: 768px) {
  .sec_project__title-en {
    font-size: 10px;
  }
}
.sec_project__container {
  background-color: #fff;
  border-radius: 5px;
  width: 103.5%;
}
@media (max-width: 768px) {
  .sec_project__container {
    width: 100%;
  }
}
.sec_project__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -webkit-column-gap: 3%;
     -moz-column-gap: 3%;
          column-gap: 3%;
  padding: 2% 5%;
}
@media (max-width: 980px) {
  .sec_project__list {
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: 6.2%;
       -moz-column-gap: 6.2%;
            column-gap: 6.2%;
    padding: 4.6% 6.6% 5.4%;
  }
}
@media (max-width: 980px) {
  .sec_project__item:nth-child(n+3) {
    margin-top: 2em;
  }
}
@media (max-width: 768px) {
  .sec_project__item:nth-child(n+3) {
    margin-top: 2.2em;
  }
}
.sec_project__item-img {
  margin-bottom: 1em;
}
@media (max-width: 768px) {
  .sec_project__item-img {
    margin-bottom: 0.5em;
  }
}
.sec_project__item-text {
  text-align: center;
  font-weight: bold;
}
@media (max-width: 768px) {
  .sec_project__item-text {
    font-size: 0.8333em;
  }
}

/* sec_about
======================================= */
.sec_about {
  background-color: #1C2C6F;
}
@media (max-width: 768px) {
  .sec_about__inner {
    padding-top: 3.75em;
    padding-bottom: 3.4em;
  }
}
.sec_about__title {
  color: #fff;
}
@media (max-width: 768px) {
  .sec_about__title {
    margin-bottom: 9px;
  }
}
@media (max-width: 768px) {
  .sec_about__lead {
    margin-bottom: 1.3em;
  }
}
.sec_about__container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 768px) {
  .sec_about__container {
    margin: 0 calc(50% - 50vw);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.sec_about__img {
  width: 58%;
}
@media (max-width: 768px) {
  .sec_about__img {
    width: 100%;
    position: relative;
  }
  .sec_about__img::before {
    content: "";
    display: block;
    padding-top: 56.25%;
  }
  .sec_about__img img, .sec_about__img video, .sec_about__img iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .sec_about__img::before {
    padding-top: 41%;
  }
}
.sec_about__contents {
  width: 42%;
  background-color: #fff;
  padding: 5em 3.158%;
}
@media (max-width: 768px) {
  .sec_about__contents {
    width: 100%;
    padding: 4.3em 14.1% 3.2em;
  }
}

/* sec_works
======================================= */
.sec_works {
  background-color: #fff;
  position: relative;
}
.sec_works::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  width: 50%;
  height: 100%;
  background-color: #EBEBEB;
}
@media (max-width: 768px) {
  .sec_works::before {
    height: 45.4%;
  }
}
.sec_works__inner {
  padding-bottom: 3em;
}
@media (max-width: 768px) {
  .sec_works__inner {
    padding-top: 2.2em;
  }
}
.sec_works__title {
  color: #1C2C6F;
}
@media (max-width: 768px) {
  .sec_works__title {
    margin-bottom: 0;
  }
}
@media (max-width: 768px) {
  .sec_works__lead {
    padding: 0 8.6%;
    margin-bottom: 1.3em;
  }
}
.sec_works__container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 768px) {
  .sec_works__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.sec_works__left {
  width: 35.6%;
}
@media (max-width: 768px) {
  .sec_works__left {
    width: 100%;
  }
}
.sec_works__right {
  width: 59%;
  position: relative;
  margin-top: 1.6447368%;
  padding-top: 4.868421%;
  padding-right: 5%;
  padding-bottom: 3.5%;
}
@media (max-width: 768px) {
  .sec_works__right {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding-top: 0.8em;
    padding-right: 8.9%;
    padding-bottom: 0;
    margin-bottom: 4.1em;
  }
}
.sec_works__right-text {
  font-family: "Tenby Stencil";
  font-size: 1.5em;
  line-height: 1;
  color: #1C2C6F;
  position: absolute;
  top: 4%;
  right: 0;
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
}
@media (max-width: 768px) {
  .sec_works__right-text {
    right: 2.05%;
    font-size: 0.8333em;
  }
}
.sec_works__right::before, .sec_works__right::after {
  content: "";
  position: absolute;
  background-color: #9F296A;
}
.sec_works__right::before {
  top: 10.3px;
  right: 1.9%;
  width: 6.7vw;
  height: 6.7vw;
}
@media (max-width: 768px) {
  .sec_works__right::before {
    right: 2.56%;
    width: 40px;
    height: 40px;
  }
}
.sec_works__right::after {
  top: 36%;
  right: 0;
  z-index: 1;
  width: 8.177vw;
  height: 2px;
}
@media (max-width: 768px) {
  .sec_works__right::after {
    right: 2.05%;
    width: 48px;
  }
}
@media (max-width: 768px) {
  .sec_works__item-img {
    position: relative;
  }
  .sec_works__item-img::before {
    content: "";
    display: block;
    padding-top: 56.25%;
  }
  .sec_works__item-img img, .sec_works__item-img video, .sec_works__item-img iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .sec_works__item-img::before {
    padding-top: 44.444%;
  }
}

/* sec_people
======================================= */
.sec_people {
  background-color: #fff;
}
@media (max-width: 768px) {
  .sec_people__inner {
    padding: 2.7em 10.256% 5.7em;
  }
}
.sec_people__title {
  color: #1C2C6F;
}
@media (max-width: 768px) {
  .sec_people__title {
    margin-bottom: 2.7em;
  }
}
.sec_people__lead {
  text-align: center;
  margin-bottom: 5em;
}
@media (max-width: 768px) {
  .sec_people__lead {
    margin-bottom: 3.8em;
    padding: 0 5%;
  }
}
.sec_people__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 3em;
}
@media (max-width: 768px) {
  .sec_people__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-right: 4%;
    margin-bottom: 4.4em;
  }
}

/* sec_culture
======================================= */
.sec_culture {
  background-color: #1C2C6F;
}
.sec_culture__inner {
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.sec_culture__left {
  width: 45.2%;
}
.sec_culture__right {
  width: 54.8%;
  padding: 3em 10.41667% 3em 4em;
}
@media (max-width: 768px) {
  .sec_culture__right {
    width: 100%;
    padding: 2.2em 6.667% 4.3em;
  }
}
.sec_culture__title {
  color: #fff;
}
@media (max-width: 768px) {
  .sec_culture__title {
    margin-bottom: 0.9em;
  }
}
.sec_culture__img {
  margin: 0 calc(50% - 50vw) 3.7em;
}
.sec_culture__lead {
  color: #fff;
}
@media (max-width: 768px) {
  .sec_culture__lead {
    padding: 0 8.6%;
    margin-bottom: 1.3em;
  }
}
.sec_culture__links {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-column-gap: 12%;
     -moz-column-gap: 12%;
          column-gap: 12%;
}
@media (max-width: 768px) {
  .sec_culture__links {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.sec_culture__link {
  width: 50%;
  max-width: 308px;
}
@media (max-width: 768px) {
  .sec_culture__link {
    width: 100%;
  }
}
.sec_culture__link a {
  color: #fff;
}

/* sec_recruit
======================================= */
.sec_recruit {
  background-color: #fff;
}
.sec_recruit__inner {
  padding-bottom: 4em;
}
@media (max-width: 768px) {
  .sec_recruit__inner {
    padding: 5.8em 14.1% 3.4em;
  }
}
.sec_recruit__title {
  color: #1C2C6F;
}
@media (max-width: 768px) {
  .sec_recruit__title {
    text-align: center;
    margin-bottom: 2.7em;
  }
}
@media (max-width: 768px) {
  .sec_recruit__lead {
    margin-bottom: 1.3em;
  }
}
.sec_recruit__links {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 7%;
}
@media (max-width: 980px) {
  .sec_recruit__links {
    gap: 3%;
  }
}
@media (max-width: 768px) {
  .sec_recruit__links {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.sec_recruit__link {
  width: 25%;
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .sec_recruit__link {
    width: 100%;
  }
}
.sec_recruit__movie{
	max-width:1280px;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;
	gap:16px;
	margin:80px auto 0;
}
.sec_recruit__movie li{
	width: 320px;
	height:288px;
}
.sec_recruit__movie::after,
.sec_recruit__movie::before{
	content:"";
	width:320px;
}
.sec_recruit__movie::before{
	order:1;
}
@media (max-width: 768px) {
	.sec_recruit__movie {
		margin-top:40px;
	}
  .sec_recruit__movie li{
		width: 144px;
		height:172px;
	}
.sec_recruit__movie::after,
.sec_recruit__movie::before{
		width:144px;
	}
}
@media (max-width: 480px) {
	.sec_recruit__movie {
		gap:6px;
	}
	.sec_recruit__movie li{
		width: calc((100%/2) - 4px);
		height:138px;
	}
}
/* sec_contents
======================================= */
.sec_contents {
  background-color: #1C2C6F;
}
.sec_contents__inner {
  padding-top: 3em;
  padding-bottom: 3em;
}
.sec_contents__title {
  color: #fff;
}
.sec_contents__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around;
  gap: 5%;
  max-width: 1200px;
  margin: auto;
}
.sec_contents__item a img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.sec_contents__item a:hover img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

/* sec_entry
======================================= */
.sec_entry__upper {
  background: url(../img/top/bg_entry.jpg) no-repeat center center/cover;
  position: relative;
  z-index: 0;
}
.sec_entry__upper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}
.sec_entry__upper-inner {
  padding-top: 3.7em;
  padding-bottom: 3.7em;
}
@media (max-width: 768px) {
  .sec_entry__upper-inner {
    padding: 1.4em 14.1% 1.6em;
  }
}
.sec_entry__upper-text {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 768px) {
  .sec_entry__upper-text {
    font-size: 0.8333em;
    line-height: 2.2;
  }
}
.sec_entry__lower {
  background-color: #fff;
}
.sec_entry__lower-inner {
  padding-top: 4em;
  padding-bottom: 4em;
}
@media (max-width: 768px) {
  .sec_entry__lower-inner {
    padding: 2em 14.1%;
  }
}
.sec_entry__lower-btn a {
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
  max-width: inherit;
}
@media (max-width: 768px) {
  .sec_entry__lower-btn a {
    border-radius: 5px;
    padding: 1.2em 0;
    font-size: 1em;
    max-width: 240px;
  }
}

/* sec_news
======================================= */
.sec_news {
  background-color: #1C2C6F;
}
.sec_news__inner {
  padding-top: 5em;
}
@media (max-width: 768px) {
  .sec_news__inner {
    padding: 2.3em 14.1% 3.3em;
  }
}
.sec_news__title {
  color: #fff;
}
@media (max-width: 768px) {
  .sec_news__title {
    text-align: center;
    margin-bottom: 1.5em;
  }
}
.sec_news__list {
  margin-bottom: 3em;
}
@media (max-width: 980px) {
  .sec_news__list {
    margin-bottom: 5em;
  }
}
.sec_news__item {
  margin-bottom: 0.5em;
  border-bottom: 1px solid #fff;
  padding: 1.5em 2em;
}
@media (max-width: 768px) {
  .sec_news__item {
    margin-bottom: 0;
    padding: 0.8em 0;
  }
}
.sec_news__item:last-child {
  margin-bottom: 0;
}
.sec_news__item a {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.5%;
}
@media (max-width: 768px) {
  .sec_news__item a {
    position: relative;
  }
}
.sec_news__item a:hover .sec_news__item-title {
  text-decoration: underline;
}
.sec_news__item-info {
  width: 18%;
  min-width: 165px;
  font-size: 1.25em;
  color: #fff;
}
@media (max-width: 768px) {
  .sec_news__item-info {
    font-size: 1em;
    min-width: inherit;
  }
}
@media (max-width: 768px) {
  .sec_news__item-info-date {
    width: 20%;
    font-size: 0.8333em;
  }
}
.sec_news__item-title {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 70%;
  text-align: left;
  color: #fff;
}
@media (max-width: 768px) {
  .sec_news__item-title {
    line-height: 1.667;
  }
}
.sec_news__btn {
  text-align: right;
}
.sec_news__btn a {
  max-width: 383px;
  background-color: #fff;
  padding-left: 2%;
  padding-right: 2%;
}
@media (max-width: 768px) {
  .sec_news__btn a {
    padding: 1.2085em 5.8%;
    max-width: 240px;
    margin: auto;
  }
}
.sec_news__btn a span {
  width: 80%;
  text-align: center;
}
@media (max-width: 768px) {
  .sec_news__btn a::before {
    margin-right: 0.4em;
  }
}
.sec_news__btn a::after {
  display: none;
}
.sec_news__btn a:hover {
  border-radius: 50px;
}