/* 1336pxの場合　フォントサイズ以外
 min(1rem,calc(10vw/13.66)) */

main {
 padding: min(18.5rem, calc(185vw / 12.8)) 0 0;
}
@media screen and (max-width: 767px) {
 main {
  padding: 10rem 0 0;
 }
}

/*                         mv                       */
.mv_inner {
 width: min(128rem, calc(1280vw / 12.8));
 position: relative;
 margin: 0 auto;
}
.mv_ttl {
 width: min(88.5rem, calc(885vw / 12.8));
 margin: 0 auto;
}
.mv_ttl_img {
 width: min(70.4rem, calc(704vw / 12.8));
}
.mv_img {
 width: min(108.6rem, calc(1086vw / 12.8));
 margin-top: max(-6rem, calc(-60vw / 12.8));
}
.mv_txt {
 position: absolute;
 top: min(3rem, calc(30vw / 12.8));
 right: 0;
}
.mv_txt span {
 display: inline-block;
 background-color: #b5002b;
 font-size: 5.2rem;
 font-weight: 600;
 letter-spacing: 0.15em;
 color: #fff;
 padding: 0 min(4.5rem, calc(45vw / 12.8));
}

@media screen and (max-width: 767px) {
 .mv_inner {
  width: 100%;
 }
 .mv_ttl {
  width: 35rem;
  margin: 0 auto;
 }
 .mv_ttl_img {
  width: 100%;
 }
 .mv_img {
  width: 100%;
  margin-top: 0;
 }
 .mv_txt {
  top: 8.5rem;
 }
 .mv_txt span {
  font-size: 1.5rem;
  padding: 0 1.2rem;
 }
}

/*                         message                       */
#message {
 background-color: #b5002b;
 position: relative;
 margin-top: max(-28.5rem, calc(-285vw / 12.8));
}
#message::before {
 content: "";
 width: 100%;
 height: min(15.7rem, calc(157vw / 12.8));
 background-color: #b5002b;
 position: absolute;
 left: 0;
 top: max(-15.6rem, calc(-156vw / 12.8));
 clip-path: polygon(100% 0%, 0% 100%, 100% 100%);
}
.message_inner {
 width: min(88.5rem, calc(885vw / 12.8));
 margin: 0 auto;
 padding: min(6rem, calc(60vw / 12.8)) 0 min(10rem, calc(100vw / 12.8));
 text-align: justify;
 color: #fff;
}
.message_inner .section_container {
 width: 100%;
}
.message_ttl {
 width: min(34.9rem, calc(349vw / 12.8));
}
.message_sab_ttl {
 font-size: 4rem;
 font-weight: 600;
 letter-spacing: 0.12em;
 margin: min(4rem, calc(40vw / 12.8)) 0;
}
.message_txt {
 font-size: 2.3rem;
 font-weight: 500;
 letter-spacing: 0.12em;
 line-height: 2;
 margin-bottom: min(3.2rem, calc(32vw / 12.8));
}
.message_txt:last-of-type {
 margin-bottom: min(6.4rem, calc(64vw / 12.8));
}

.message_btn {
 width: min(47.3rem, calc(473vw / 12.8));
}
.message_btn a {
 display: block;
 background-color: #fff;
 width: 100%;
 position: relative;
 padding: min(2.2rem, calc(22vw / 12.8)) 0;
 border-radius: min(4rem, calc(40vw / 12.8));
 box-sizing: border-box;
 border: min(0.3rem, calc(3vw / 12.8)) #fff solid;
}
.message_btn .purpose_txt {
 display: block;
 width: min(32.8rem, calc(328vw / 12.8));
 margin-left: min(5.5rem, calc(55vw / 12.8));
 position: relative;
}
.message_btn .purpose_txt::before {
 content: "";
 width: 100%;
 height: 100%;
 background: url(../images/top/purpose_txt_hover.svg);
 background-size: cover;
 position: absolute;
 top: 0;
 left: 0;
 opacity: 0;
 transition: 0.4s;
 z-index: 1;
}
.message_btn .blank_icon {
 width: min(2.3rem, calc(23vw / 12.8));
 stroke: #b5002b;
 fill: none;
 stroke-miterlimit: 10;
 stroke-width: min(0.3rem, calc(3vw / 12.8));
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: min(3.5rem, calc(35vw / 12.8));
 transition: 0.4s;
 filter: none;
}

.message_img {
 width: min(68.9rem, calc(689vw / 12.8));
 position: absolute;
 top: max(-15rem, calc(-150vw / 12.8));
 right: 0;
}

@media (hover: hover) and (pointer: fine) {
 .message_btn a:where(:any-link, :enabled, summary):hover {
  background-color: #b5002b;
 }
 .message_btn a:where(:any-link, :enabled, summary):hover .purpose_txt::before {
  opacity: 1;
 }
 .message_btn a:where(:any-link, :enabled, summary):hover .blank_icon {
  filter: brightness(0) invert(1);
 }
}

@media screen and (max-width: 767px) {
 #message {
  margin-top: 6rem;
 }
 #message::before {
  height: 7.3rem;
  top: -7.2rem;
 }
 .message_inner {
  width: 31.7rem;
  padding: 6rem 0 5rem;
 }
 .message_ttl {
  width: 18.6rem;
 }
 .message_sab_ttl {
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  margin: 2rem 0;
 }
 .message_txt {
  font-size: 1.4rem;
  margin-bottom: 1.8rem;
 }
 .message_txt:last-of-type {
  margin-bottom: 3.6rem;
 }

 .message_btn {
  width: 31rem;
  margin: 0 auto;
 }
 .message_btn a {
  padding: 1.4rem 0;
  border-radius: 3rem;
  border: 0.2rem #fff solid;
 }
 .message_btn .purpose_txt {
  width: 22.3rem;
  margin-left: 3.5rem;
  font-size: 0;
 }

 .message_btn .blank_icon {
  width: 1.4rem;
  right: 2.5rem;
  font-size: 0;
 }

 .message_img {
  width: 22rem;
  top: -10rem;
 }
}

/*                         about                       */

.about_inner {
 padding: min(10rem, calc(100vw / 12.8)) 0 min(10rem, calc(100vw / 12.8));
}
.about_ttl {
 width: min(48rem, calc(480vw / 12.8));
 margin: 0 auto;
}
.about_ttl span {
 color: #b5002b;
 text-align: center;
}

.about_item {
 width: min(118rem, calc(1180vw / 12.8));
 display: flex;
 justify-content: space-between;
 align-items: flex-start;
 margin-top: min(6rem, calc(60vw / 12.8));
}
.about_img {
 width: min(65rem, calc(650vw / 12.8));
 overflow: hidden;
}
.about_img a {
 display: block;
 width: 100%;
}

.about_menu {
 width: min(49rem, calc(490vw / 12.8));
}
.about_menu li {
 margin-bottom: min(1rem, calc(10vw / 12.8));
}
.about_menu li a {
 width: 100%;
 display: block;
 box-sizing: border-box;
 border: min(0.4rem, calc(4vw / 12.8)) #b5002b solid;
 background-color: #b5002b;
 position: relative;
}
.about_item:nth-of-type(2) li a {
 border: min(0.4rem, calc(4vw / 12.8)) #003869 solid;
 background: #003869;
}
.about_menu li a::before {
 content: "";
 width: min(0.8rem, calc(8vw / 12.8));
 height: min(0.8rem, calc(8vw / 12.8));
 border-top: min(0.3rem, calc(3vw / 12.8)) solid #b5002b;
 border-right: min(0.3rem, calc(3vw / 12.8)) solid #b5002b;
 position: absolute;
 top: 50%;
 transform: translateY(-50%) rotate(45deg);
 right: min(2rem, calc(20vw / 12.8));
 transition: 0.4s;
}
.about_item:nth-of-type(2) li a::before {
 border-color: #003869;
}
.about_menu li a p {
 width: min(46.5rem, calc(465vw / 12.8));
 margin-left: auto;
 color: #b5002b;
 background-color: #fff;
 font-size: 1.8rem;
 font-weight: 600;
 letter-spacing: 0.04em;
 line-height: 1.6;
 box-sizing: border-box;
 padding: min(1.5rem, calc(15vw / 12.8)) min(5.5rem, calc(55vw / 12.8)) min(1.5rem, calc(15vw / 12.8)) min(2rem, calc(20vw / 12.8));
 text-align: justify;
 transition: 0.4s;
}
.about_item:nth-of-type(2) .about_menu li a p {
 color: #003869;
}
.about_inner .btn {
 margin-top: min(8rem, calc(80vw / 12.8));
}

@media (hover: hover) and (pointer: fine) {
 .about_img a:where(:any-link, :enabled, summary):hover {
  opacity: .7;
 }
 .about_menu li a:where(:any-link, :enabled, summary):hover::before {
  border-color: #fff;
 }
 .about_menu li a:where(:any-link, :enabled, summary):hover p {
  background-color: #b5002b;
  color: #fff;
 }
 .about_item:nth-of-type(2) .about_menu li a:where(:any-link, :enabled, summary):hover p {
  background-color: #003869;
  color: #fff;
 }
}

@media screen and (max-width: 767px) {
 .about_inner {
  padding: 4rem 0 5rem;
 }
 .about_ttl {
  width: 19.5rem;
 }
 .about_item {
  width: 100%;
  flex-direction: column;
  margin-top: 2.4rem;
 }
 .about_img {
  width: 100%;
 }

 .about_menu {
  width: 32rem;
  margin: 1.6rem auto 0;
 }
 .about_menu li {
  margin-bottom: 0.8rem;
 }
 .about_menu li a {
  border: 0.2rem #b5002b solid;
 }
 .about_item:nth-of-type(2) li a {
  border: 0.2rem #003869 solid;
 }
 .about_menu li a::before {
  width: 0.6rem;
  height: 0.6rem;
  border-top: 0.2rem solid #b5002b;
  border-right: 0.2rem solid #b5002b;
  right: 1.4rem;
 }
 .about_menu li a p {
  width: 30.5rem;
  font-size: 1.3rem;
  padding: 0.8rem 3.5rem 0.9rem 1.5rem;
 }
 .about_item:nth-of-type(2) .about_menu li a p {
  color: #003869;
 }
 .about_inner .btn {
  margin-top: 3rem;
 }
}

/*                         team                       */

.team_inner {
 background-color: #fff;
 padding: min(10rem, calc(100vw / 12.8)) 0 min(10rem, calc(100vw / 12.8));
}
.team_ttl {
 width: min(18.6rem, calc(186vw / 12.8));
 margin: 0 auto;
}
.team_ttl span {
 text-align: center;
 color: #003869;
}
.team_item {
 width: min(108rem, calc(1080vw / 12.8));
 margin: min(5rem, calc(50vw / 12.8)) auto 0;
}
.team_txt {
 width: min(89.5rem, calc(895vw / 12.8));
 margin: min(4rem, calc(40vw / 12.8)) auto min(7rem, calc(70vw / 12.8));
 text-align: justify;
 font-size: 2rem;
 font-weight: 500;
 color: #003869;
 letter-spacing: 0.08em;
 line-height: 1.8;
}

@media screen and (max-width: 767px) {
 .team_inner {
  padding: 5rem 0 5rem;
 }
 .team_ttl {
  width: 8rem;
 }
 .team_item {
  width: 100%;
  margin: 2.4rem auto 0;
 }
 .team_txt {
  width: 32rem;
  margin: 2rem auto 3rem;
  font-size: 1.4rem;
 }
}

/*                         people                       */
.people_inner {
 padding: min(10rem, calc(100vw / 12.8)) 0 min(10rem, calc(100vw / 12.8));
 position: relative;
 z-index: 1;
}
.people_inner::before {
 content: "";
 width: 100%;
 height: min(46.5rem, calc(465vw / 12.8));
 background-color: #b5002b;
 position: absolute;
 top: min(32rem, calc(320vw / 12.8));
 left: 0;
 z-index: -1;
}
.people_ttl {
 width: min(27.5rem, calc(275vw / 12.8));
 margin: 0 auto;
}
.people_ttl span {
 text-align: center;
 color: #b5002b;
}

.people_splide {
 padding-left: min(10rem, calc(100vw / 12.8));
 margin: min(6rem, calc(60vw / 12.8)) 0 min(8rem, calc(80vw / 12.8));
}
.splide__list {
 align-items: flex-end;
}

.splide__slide.is-active {
 width: min(52rem, calc(520vw / 12.8)) !important;
 animation-name: fadein;
 animation-duration: 0.5s;
 animation-fill-mode: forwards;
 padding-bottom: min(1.5rem, calc(15vw / 12.8));
 background-color: #b5002b;
 opacity: 0;
}
.splide__slide:not(.is-active) {
 width: min(17rem, calc(170vw / 12.8)) !important;
}

.people_img img {
 border-radius: min(0.4rem, calc(4vw / 12.8));
}
.splide__slide.is-active {
 border-radius: min(0.8rem, calc(8vw / 12.8)) min(0.8rem, calc(8vw / 12.8)) 0 0;
}

@keyframes fadein {
 0% {
  opacity: 0;
 }
 100% {
  opacity: 1;
 }
}
.splide__slide.is-prev,
.splide__slide:has(+ .is-prev) {
 opacity: 0;
}

.people_detail {
 width: min(38.5rem, calc(385vw / 12.8));
 position: absolute;
 top: min(15rem, calc(150vw / 12.8));
 left: min(60rem, calc(600vw / 12.8));
 text-align: left;
 opacity: 0;
}
.is-active.is-visible .people_detail {
 opacity: 1;
}
.people_detail_ttl {
 font-size: 3.3rem;
 font-weight: 600;
 letter-spacing: 0.06em;
 color: #fff;
 line-height: 1.63;
}
.people_detail_txt {
 font-size: 2.1rem;
 font-weight: 500;
 letter-spacing: 0.06em;
 color: #fff;
 line-height: 1.7;
}
.people_detail_btn {
 width: min(22.2rem, calc(222vw / 12.8));
 margin-top: min(4rem, calc(40vw / 12.8));
}
.people_detail_btn a {
 background-color: #fff;
 display: block;
 width: 100%;
 padding: min(1.6rem, calc(16vw / 12.8)) 0;
 position: relative;
}
.people_detail_btn span {
 display: block;
 width: min(11.5rem, calc(115vw / 12.8));
 margin: 0 auto;
 font-size: 0;
}

.people_detail_btn a::before {
 content: "";
 width: min(0.8rem, calc(8vw / 12.8));
 height: min(0.8rem, calc(8vw / 12.8));
 border-top: min(0.3rem, calc(3vw / 12.8)) solid #b5002b;
 border-right: min(0.3rem, calc(3vw / 12.8)) solid #b5002b;
 position: absolute;
 top: 50%;
 transform: translateY(-50%) rotate(45deg);
 right: min(2rem, calc(20vw / 12.8));
}

.people_splide .splide__arrow {
 width: min(4rem, calc(40vw / 12.8));
 height: min(4rem, calc(40vw / 12.8));
}
.people_splide .splide__arrow--prev {
 left: min(7rem, calc(70vw / 12.8));
}
.people_splide .splide__arrow--next {
 right: min(7rem, calc(70vw / 12.8));
}
.people_splide .splide__arrow svg {
 fill: #b5002b;
}

@media (hover: hover) and (pointer: fine) {
 .people_detail_btn a:where(:any-link, :enabled, summary):hover {
  opacity: 0.7;
 }
}

@media screen and (max-width: 767px) {
 .people_inner {
  padding: 5rem 0 5rem;
 }
 .people_inner::before {
  width: 100%;
  height: 15rem;
  top: 14rem;
 }
 .people_ttl {
  width: 11.3rem;
 }
 .people_splide {
  padding-left: 1.5rem;
  margin: 2.4rem 0 3.8rem;
 }

 .splide__slide.is-active {
  width: 15rem !important;
  padding-bottom: 0.5rem;
 }
 .splide__slide:not(.is-active) {
  width: 5rem !important;
 }
 .people_detail {
  width: 15rem;
  top: 2.5rem;
  left: 17.5rem;
 }
 .people_detail_ttl {
  font-size: 1.2rem;
  line-height: 1.37;
 }
 .people_detail_txt {
  font-size: 1rem;
  line-height: 1.4;
 }
 .people_detail_btn {
  width: 8.4rem;
  margin-top: 0.5rem;
 }
 .people_detail_btn a {
  padding: 0.7rem 0;
 }
 .people_detail_btn span {
  width: 4rem;
 }

 .people_detail_btn a::before {
  width: 0.2rem;
  height: 0.2rem;
  border-top: 0.1rem solid #b5002b;
  border-right: 0.1rem solid #b5002b;
  right: 0.8rem;
 }
 .people_splide .splide__arrow {
  width: 2.5rem;
  height: 2.5rem;
 }
 .people_splide .splide__arrow--prev {
  left: 0.5rem;
 }
 .people_splide .splide__arrow--next {
  right: 1rem;
 }
 .people_splide .splide__arrow svg {
  width: 1.2rem;
  height: 1.2rem;
 }
}

/*                         story                       */

.story_inner {
 background-color: #fff;
 padding: min(10rem, calc(100vw / 12.8)) 0 min(10rem, calc(100vw / 12.8));
}
.story_ttl {
 width: min(23.7rem, calc(237vw / 12.8));
 margin: 0 auto;
}
.story_ttl span {
 color: #003869;
 text-align: center;
}
.story_txt {
 font-size: 2rem;
 font-weight: 500;
 letter-spacing: 0.08em;
 color: #003869;
 margin: min(4rem, calc(40vw / 12.8)) auto 0;
}
.story_img {
 width: min(68rem, calc(680vw / 12.8));
 margin: min(4.8rem, calc(48vw / 12.8)) auto min(8rem, calc(80vw / 12.8));
}

@media screen and (max-width: 767px) {
 .story_inner {
  padding: 5rem 0 5rem;
 }
 .story_ttl {
  width: 9.7rem;
 }
 .story_txt {
  width: 32rem;
  margin: 2rem auto 2rem;
  font-size: 1.4rem;
  text-align: justify;
  line-height: 1.8;
 }
 .story_img {
  width: 32rem;
  margin: 0 auto 3rem;
 }
}

/*                         culture                       */
.culture_inner {
 background-color: #f1eeee;
 padding: min(10rem, calc(100vw / 12.8)) 0 min(13rem, calc(130vw / 12.8));
}
.culture_ttl {
 width: min(31.5rem, calc(315vw / 12.8));
 margin: 0 auto;
}
.culture_ttl span {
 text-align: center;
 color: #b5002b;
}
.culture_flex {
 display: flex;
 justify-content: space-between;
 align-items: center;
 width: min(117.5rem, calc(1175vw / 12.8));
 margin: min(6rem, calc(60vw / 12.8)) auto 0;
}
.culture_box {
 position: relative;
 width: min(38.2rem, calc(382vw / 12.8));
}
.culture_btn {
 width: min(29.5rem, calc(295vw / 12.8));
 position: absolute;
 bottom: max(-3rem, calc(-30vw / 12.8));
 right: 0;
 box-sizing: border-box;
 border: min(0.4rem, calc(4vw / 12.8)) solid #b5002b;
 background-color: #b5002b;
}
.culture_btn p {
 font-size: 1.7rem;
 font-weight: 600;
 letter-spacing: 0.045em;
 color: #b5002b;
 background-color: #fff;
 width: min(26.5rem, calc(265vw / 12.8));
 margin-left: auto;
 padding: min(1.1rem, calc(11vw / 12.8)) 0;
 transition: 0.4s;
}
.culture_btn::before {
 content: "";
 width: min(0.8rem, calc(8vw / 12.8));
 height: min(0.8rem, calc(8vw / 12.8));
 border-top: min(0.3rem, calc(3vw / 12.8)) solid #b5002b;
 border-right: min(0.3rem, calc(3vw / 12.8)) solid #b5002b;
 position: absolute;
 top: 50%;
 transform: translateY(-50%) rotate(45deg);
 right: min(2rem, calc(20vw / 12.8));
 transition: 0.4s;
}

@media (hover: hover) and (pointer: fine) {
 .culture_btn:where(:any-link, :enabled, summary):hover p {
  background-color: #b5002b;
  color: #fff;
 }
 .culture_btn:where(:any-link, :enabled, summary):hover::before {
  border-color: #fff;
 }
}

@media screen and (max-width: 767px) {
 .culture_inner {
  padding: 5rem 0 7rem;
 }
 .culture_ttl {
  width: 13.2rem;
 }
 .culture_flex {
  flex-direction: column;
  width: 32rem;
  margin: 2.4rem auto 0;
 }
 .culture_box {
  position: relative;
  width: 100%;
  margin-bottom: 5rem;
 }
 .culture_box:last-of-type {
  margin-bottom: 0;
 }
 .culture_btn {
  width: 18rem;
  bottom: -2.2rem;
  border: 0.2rem solid #b5002b;
 }
 .culture_btn p {
  font-size: 1.4rem;
  width: 16.5rem;
  padding: 0.8rem 0;
 }
 .culture_btn::before {
  width: 0.6rem;
  height: 0.6rem;
  border-top: 0.2rem solid #b5002b;
  border-right: 0.2rem solid #b5002b;
  right: 1.4rem;
 }
}

/*                         company                       */
.company_inner {
 background-color: #fff;
 padding: min(10rem, calc(100vw / 12.8)) 0 0;
}
.company_ttl {
 width: min(65rem, calc(650vw / 12.8));
 margin: 0 auto;
}
.company_ttl span {
 text-align: center;
 color: #b5002b;
}

.company_img {
 margin: min(6rem, calc(60vw / 12.8)) auto 0;
}

@media (hover: hover) and (pointer: fine) {
 .company_btn a:where(:any-link, :enabled, summary):hover svg {
  fill: #b5002b;
 }
 .company_btn a:where(:any-link, :enabled, summary):hover {
  background-color: #fff;
 }
 .company_btn a:where(:any-link, :enabled, summary):hover::before {
  border-color: #b5002b;
 }
}

@media screen and (max-width: 767px) {
 .company_inner {
  padding: 5rem 0 7rem;
 }
 .company_ttl {
  width: 26.5rem;
 }

 .company_img {
  width: 32rem;
  margin: 2.4rem auto 0;
 }
 .company_img iframe {
  width: 100%;
  height: 17.5rem;
 }
}
