@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  font-size: 62.5%;
}

body {
  background-color: #fff;
  color: #1d1d1d;
  font: 1.6em/1.4 "Noto Sans JP", sans-serif;
}

ul, ol {
  list-style: none;
}

img {
  border: none;
  vertical-align: bottom;
}

a {
  color: inherit;
  text-decoration: none;
}

.wrapper {
  overflow: hidden;
  min-height: 100%;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.entry-buttons {
  display: flex;
  justify-content: center;
  margin: 100px 0;
}
.entry-buttons .nav-btn {
  margin: 0 5px;
  text-align: center;
}
.entry-buttons .nav-btn.mypage a {
  background-color: #e60112;
  box-shadow: inset 0 0 0 3px #e60112;
  font-size: 1.6rem;
}
@media screen and (min-width: 751px) {
  .entry-buttons .nav-btn.mypage a:hover {
    color: #e60112;
    background-color: #fff;
  }
  .entry-buttons .nav-btn.mypage a:hover::before {
    background-color: currentColor;
  }
}
.entry-buttons .nav-btn.entry a {
  background-color: #cf0110;
  box-shadow: inset 0 0 0 3px #cf0110;
  font-size: 1.8rem;
}
@media screen and (min-width: 751px) {
  .entry-buttons .nav-btn.entry a:hover {
    color: #cf0110;
    background-color: #fff;
  }
  .entry-buttons .nav-btn.entry a:hover::before {
    background-color: currentColor;
  }
}
.entry-buttons .nav-btn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 242px;
  height: 70px;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.05em;
  transition: color 0.2s, background-color 0.2s;
  font-family: "Source Sans Pro", sans-serif;
}
.entry-buttons .nav-btn a::before {
  display: block;
  width: 8px;
  height: 12px;
  margin: 0.1em 0.5em 0 0;
  background-color: #fff;
  -webkit-mask: url(../images/common/parts_black_arrow.svg) no-repeat 0 0/cover;
  mask: url(../images/common/parts_black_arrow.svg) no-repeat 0 0/cover;
  transition: background-color 0.2s;
  content: "";
}
.entry-buttons .nav-btn a span {
  display: inline-block;
}
.entry-buttons .nav-btn p {
  margin-top: 0.6em;
  font-size: 1.3rem;
}
@media screen and (max-width: 750px) {
  .entry-buttons {
    display: block;
    margin: 13.3333333333vw 0;
  }
  .entry-buttons .nav-btn {
    margin: 5.3333333333vw 0;
  }
  .entry-buttons .nav-btn.mypage a {
    box-shadow: none;
    font-size: 4.2666666667vw;
  }
  .entry-buttons .nav-btn.entry a {
    box-shadow: none;
    font-size: 4.8vw;
  }
  .entry-buttons .nav-btn a {
    width: 66.6666666667vw;
    height: 18.6666666667vw;
  }
  .entry-buttons .nav-btn a::before {
    width: 2.1333333333vw;
    height: 3.2vw;
  }
  .entry-buttons .nav-btn p {
    font-size: 3.4666666667vw;
  }
}

.main-footer {
  position: relative;
  margin-top: 150px;
  padding: 40px 0;
  border-top: 1px solid #ccc;
}
.main-footer::before {
  display: block;
  position: absolute;
  top: -8px;
  left: 0;
  width: 38%;
  height: 8px;
  background-color: #e60112;
  content: "";
}
.main-footer .text {
  margin-bottom: 10px;
  color: #e60112;
  font-size: 2.6rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.05em;
  font-family: "Source Sans Pro", sans-serif;
}
.main-footer .text span {
  font-weight: 400;
}
.main-footer .copyright {
  color: #999;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 750px) {
  .main-footer {
    margin-top: 12vw;
    padding: 5.3333333333vw 0;
  }
  .main-footer::before {
    top: -1.3333333333vw;
    width: 22%;
    height: 1.3333333333vw;
  }
  .main-footer .text {
    margin-bottom: 0;
    font-size: 4.2666666667vw;
  }
  .main-footer .copyright {
    display: inline-block;
    position: relative;
    left: 50vw;
    font-size: 4vw;
    white-space: nowrap;
    transform: translate(-50%, 0) scale(0.5);
  }
}

.main-header {
  position: relative;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 70px;
}
.main-header-logo {
  padding-left: 50px;
}
.main-header-nav {
  display: flex;
  height: 100%;
  /* メインメニュー */
}
.main-header-nav .nav-btn {
  width: 242px;
  height: 100%;
  background-color: #e60112;
  letter-spacing: 0.05em;
  transition: background-color 0.2s;
}
.main-header-nav .nav-btn.mypage {
  font-size: 1.6rem;
}
.main-header-nav .nav-btn.mypage a {
  box-shadow: inset 0 0 0 3px #e60112;
}
@media screen and (min-width: 751px) {
  .main-header-nav .nav-btn.mypage a:hover {
    color: #e60112;
    background-color: #fff;
  }
  .main-header-nav .nav-btn.mypage a:hover::before {
    background-color: currentColor;
  }
}
.main-header-nav .nav-btn.entry {
  font-size: 1.8rem;
  background-color: #cf0110;
}
.main-header-nav .nav-btn.entry a {
  box-shadow: inset 0 0 0 3px #cf0110;
}
@media screen and (min-width: 751px) {
  .main-header-nav .nav-btn.entry a:hover {
    color: #cf0110;
    background-color: #fff;
  }
  .main-header-nav .nav-btn.entry a:hover::before {
    background-color: currentColor;
  }
}
.main-header-nav .nav-btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #fff;
  font-weight: bold;
  transition: color 0.2s, background-color 0.2s;
  font-family: "Source Sans Pro", sans-serif;
}
.main-header-nav .nav-btn a::before {
  display: block;
  width: 8px;
  height: 12px;
  margin: 0.1em 0.5em 0 0;
  background-color: #fff;
  -webkit-mask: url(../images/common/parts_black_arrow.svg) no-repeat 0 0/cover;
  mask: url(../images/common/parts_black_arrow.svg) no-repeat 0 0/cover;
  transition: background-color 0.2s;
  content: "";
}
.main-header-nav .nav-btn span {
  display: inline-block;
  position: relative;
}
.main-header-nav .main-menu {
  position: relative;
  width: 90px;
}
.main-header-nav .main-menu-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  width: 90px;
  height: 90px;
  background-color: #fff;
  cursor: pointer;
}
.main-header-nav .main-menu-btn img {
  pointer-events: none;
}
.main-header-nav .main-menu-btn .icon-close {
  display: none;
}
.main-header-nav .main-menu-btn.open .icon-menu {
  display: none;
}
.main-header-nav .main-menu-btn.open .icon-close {
  display: block;
}
.main-header-nav .main-menu .menu-body {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 1;
  width: 740px;
  padding: 26px 40px;
  border-width: 10px 0 10px 10px;
  border-style: solid;
  border-color: #e60112;
  background-color: #fff;
  transform: translate(100%, 0);
  transition: transform 0.25s;
}
.main-header-nav .main-menu .menu-body .sp-btns {
  display: none;
}
.main-header-nav .main-menu .menu-list .list-item {
  display: flex;
  margin-bottom: 25px;
  padding-bottom: 10px;
  border-bottom: 2px solid #e60112;
}
.main-header-nav .main-menu .menu-list .list-item:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.main-header-nav .main-menu .menu-list .list-item a {
  display: inline-block;
  padding-left: 1em;
  background: url(../images/common/parts_red_arrow.svg) no-repeat 0 56%/0.5em auto;
}
.main-header-nav .main-menu .menu-list .list-item a:hover {
  text-decoration: underline;
}
.main-header-nav .main-menu .menu-list .menu-heading {
  width: 260px;
}
.main-header-nav .main-menu .menu-list .menu-heading a {
  font-size: 1.8rem;
  font-weight: bold;
}
.main-header-nav .main-menu .menu-list .sub-menu {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% - 260px);
  padding-top: 1px;
}
.main-header-nav .main-menu .menu-list .sub-menu-item {
  margin-bottom: 15px;
}
.main-header-nav .main-menu .menu-list .sub-menu-item.p-45 {
  width: 45%;
}
.main-header-nav .main-menu .menu-list .sub-menu-item.p-55 {
  width: 55%;
}
.main-header-nav .main-menu .menu-list .sub-menu-item.p-1-3 {
  width: 33.3333333333%;
}
.main-header-nav .main-menu .menu-list .sub-menu-item.p-2-3 {
  width: 66.6666666667%;
}
.main-header-nav .main-menu .menu-list .sub-menu-item a {
  font-size: 1.6rem;
}
.main-header-nav .main-menu .open + .menu-body {
  transform: translate(0, 0);
}
@media screen and (max-width: 750px) {
  .main-header {
    display: block;
    height: 13.3333333333vw;
  }
  .main-header-logo {
    display: flex;
    align-items: center;
    height: 100%;
    padding-left: 5.0666666667vw;
  }
  .main-header-logo img {
    width: 22.6666666667vw;
  }
  .main-header-nav {
    flex-direction: column;
    align-items: flex-end;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    height: auto;
    /* メインメニュー */
  }
  .main-header-nav .nav-btn {
    width: 29.0666666667vw;
    height: 10.6666666667vw;
  }
  .main-header-nav .nav-btn.mypage {
    order: 2;
    font-size: 2.9333333333vw;
  }
  .main-header-nav .nav-btn.entry {
    order: 3;
    font-size: 3.2vw;
  }
  .main-header-nav .nav-btn.entry a {
    background-color: #a5000c;
    box-shadow: none;
  }
  .main-header-nav .nav-btn a::before {
    width: 1.0666666667vw;
    height: 1.6vw;
  }
  .main-header-nav .main-menu {
    order: 1;
    position: relative;
    width: 17.3333333333vw;
    height: 18.4vw;
  }
  .main-header-nav .main-menu-btn {
    position: relative;
    width: 100%;
    height: 100%;
  }
  .main-header-nav .main-menu-btn .icon-menu {
    width: 5.3333333333vw;
  }
  .main-header-nav .main-menu-btn .icon-close {
    width: 4.2666666667vw;
  }
  .main-header-nav .main-menu .menu-body {
    top: 10.6666666667vw;
    width: 100vw;
    padding: 5.0666666667vw 5.0666666667vw 4vw;
    border-width: 6.6666666667vw 0 13.3333333333vw 5.0666666667vw;
  }
  .main-header-nav .main-menu .menu-body .sp-btns {
    display: flex;
    margin-bottom: 5.3333333333vw;
  }
  .main-header-nav .main-menu .menu-body .sp-btns a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    height: 10.6666666667vw;
    color: #fff;
    font-weight: bold;
    font-family: "Source Sans Pro", sans-serif;
  }
  .main-header-nav .main-menu .menu-body .sp-btns a::before {
    display: block;
    width: 1.0666666667vw;
    height: 1.6vw;
    margin: 0.1em 0.5em 0 0;
    background: url(../images/common/parts_white_arrow.svg) no-repeat 0 0/cover;
    content: "";
  }
  .main-header-nav .main-menu .menu-body .sp-btns a.mypage {
    font-size: 2.9333333333vw;
    background-color: #e60112;
  }
  .main-header-nav .main-menu .menu-body .sp-btns a.entry {
    font-size: 3.2vw;
    background-color: #a5000c;
  }
  .main-header-nav .main-menu .menu-body .menu-trigger {
    position: absolute;
    bottom: -13.3333333333vw;
    left: 0;
    right: 5.0666666667vw;
    width: 13.3333333333vw;
    height: 13.3333333333vw;
    margin: 0 auto;
    background: url(../images/common/icon_close_white.svg) no-repeat 50% 50%/auto 4.2666666667vw;
    cursor: pointer;
  }
  .main-header-nav .main-menu .menu-list .list-item {
    display: block;
    margin-bottom: 5.3333333333vw;
    padding-bottom: 2.6666666667vw;
    border-bottom: 0.2666666667vw solid #e60112;
  }
  .main-header-nav .main-menu .menu-list .menu-heading {
    width: auto;
    margin-bottom: 2.6666666667vw;
  }
  .main-header-nav .main-menu .menu-list .menu-heading a {
    font-size: 3.7333333333vw;
  }
  .main-header-nav .main-menu .menu-list .sub-menu {
    width: auto;
    padding-top: 0;
  }
  .main-header-nav .main-menu .menu-list .sub-menu-item {
    margin-bottom: 2.6666666667vw;
  }
  .main-header-nav .main-menu .menu-list .sub-menu-item a {
    font-size: 3.2vw;
  }
}

main {
  padding-top: 20px;
}
@media screen and (max-width: 750px) {
  main {
    padding-top: 2.6666666667vw;
  }
}

.movie-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
  animation: fadeIn 0.4s;
}
.movie-modal.fadeout {
  animation: fadeOut 0.2s forwards;
}
.movie-modal-ovarlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.8;
}
.movie-modal-body {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: 1080px;
  max-width: calc(100% - 120px);
  max-height: calc(100% - 160px);
  box-shadow: 0 0 0 20px #e60112;
  background-color: #e60112;
  transform: translate(-50%, -50%);
  aspect-ratio: 16/9;
}
@supports not (aspect-ratio: 16/9) {
  .movie-modal-body::before {
    display: block;
    width: 100%;
    height: 0;
    padding-top: 56.25%;
    content: "";
  }
  .movie-modal-body video {
    object-fit: contain;
  }
}
.movie-modal-body iframe,
.movie-modal-body video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  outline: none;
  background-color: #000;
}
.movie-modal-close {
  position: absolute;
  top: -62px;
  right: -20px;
  display: block;
  width: 24px;
  height: 24px;
  background: url(../images/common/icon_close.svg) no-repeat 0 0/contain;
  cursor: pointer;
}
@media screen and (max-width: 1024px) {
  .movie-modal-close {
    right: 0;
  }
}
@media screen and (max-width: 750px) {
  .movie-modal-body {
    width: 86.6666666667vw;
    max-width: none;
    max-height: none;
    box-shadow: 0 0 0 1.6vw #e60112;
  }
  .movie-modal-close {
    top: -8.8vw;
    right: -1.6vw;
    width: 4vw;
    height: 4vw;
  }
}

.p-pagetop {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 9999;
}
.p-pagetop a {
  display: block;
  width: 60px;
  height: 60px;
  background: url(../images/common/parts_pagetop.svg) no-repeat 0 0/cover;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
  cursor: pointer;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.5);
}
.p-pagetop a.active {
  opacity: 1;
  pointer-events: auto;
}
@media screen and (min-width: 751px) {
  .p-pagetop a.active:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 750px) {
  .p-pagetop a {
    width: 12vw;
    height: 12vw;
  }
}

.main-visual {
  position: relative;
  margin-top: -20px;
  border-right: 40px solid #e60112;
  border-bottom: 6px solid #e60112;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.main-visual-image {
  position: relative;
  z-index: 1;
  padding-top: 41.4383561644%;
}
.main-visual-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.main-visual-content {
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding-left: 40px;
  z-index: 2;
}
.main-visual-content .text {
  color: #e60112;
  font-size: 5rem;
  font-weight: bold;
  text-shadow: 0 0 2px #fff;
}
@media screen and (max-width: 1024px) {
  .main-visual-content .text {
    font-size: 3rem;
  }
}
.main-visual-btn {
  position: absolute;
  right: 20px;
  bottom: 20px;
  z-index: 2;
}
.main-visual-btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 300px;
  height: 70px;
  padding: 0 40px;
  background-color: #e60112;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  transition: background-color 0.2s;
  cursor: pointer;
}
@media screen and (min-width: 751px) {
  .main-visual-btn a:hover {
    background-color: #cf0110;
  }
}
.main-visual-btn a[target=_blank]::after {
  display: block;
  width: 14px;
  height: 14px;
  background: url(../images/common/parts_blank.svg) no-repeat 0 0/contain;
  content: "";
}
@media screen and (max-width: 1024px) {
  .main-visual-btn {
    right: 15px;
    bottom: 15px;
  }
  .main-visual-btn a {
    min-width: 250px;
    height: 50px;
    padding: 0 20px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 750px) {
  .main-visual {
    margin-top: -2.6666666667vw;
    border-right-width: 5.0666666667vw;
    border-bottom: none;
  }
  .main-visual::after {
    display: block;
    position: absolute;
    top: -2.6666666667vw;
    right: 0;
    z-index: 0;
    width: 54.4vw;
    height: 2.6666666667vw;
    background-color: #e60112;
    content: "";
  }
  .main-visual-image {
    padding-top: 112.3595505618%;
  }
  .main-visual-content {
    padding-left: 5.0666666667vw;
  }
  .main-visual-content .text {
    font-size: 6.6666666667vw;
  }
  .main-visual-btn {
    right: 2.6666666667vw;
    bottom: 2.6666666667vw;
  }
  .main-visual-btn a {
    min-width: 50.6666666667vw;
    height: 9.3333333333vw;
    padding: 0 5.3333333333vw;
    font-size: 3.2vw;
  }
  .main-visual-btn a[target=_blank]::after {
    width: 1.8666666667vw;
    height: 1.8666666667vw;
  }
}

.c-accent-heading {
  margin-bottom: 40px;
  text-align: center;
}
.c-accent-heading::before {
  display: block;
  width: 2px;
  height: 40px;
  margin: -20px auto 40px;
  background-color: #e60112;
  content: "";
}
.c-accent-heading .sub,
.c-accent-heading .sub-right {
  display: block;
  margin-bottom: 0.15em;
  padding-left: 0.3em;
  color: #e60112;
  font-size: 4.8rem;
  letter-spacing: 0.3em;
  font-family: "Source Sans Pro", sans-serif;
}
.c-accent-heading .sub span,
.c-accent-heading .sub-right span {
  margin: 0 0.6em 0 0;
  font-size: 2.7rem;
  font-weight: 300;
  letter-spacing: 0.3em;
}
.c-accent-heading .sub-right span {
  margin: 0 0 0 0.4em;
}
.c-accent-heading .main {
  font-size: 2rem;
}
.c-accent-heading .main.link {
  display: inline-flex;
  align-items: center;
  display: inline-block;
  padding-left: 1em;
  background: url(../images/common/parts_red_arrow.svg) no-repeat 0 56%/0.5em auto;
}
.c-accent-heading .main.link:hover {
  text-decoration: underline;
}
.c-accent-heading.normal::before {
  margin: 0 auto 20px;
}
.c-accent-heading.normal .main {
  color: #e60112;
  font-size: 3.2rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1024px) {
  .c-accent-heading .sub,
  .c-accent-heading .sub-right {
    font-size: 4.2rem;
  }
  .c-accent-heading .sub span,
  .c-accent-heading .sub-right span {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 750px) {
  .c-accent-heading {
    margin-bottom: 5.3333333333vw;
  }
  .c-accent-heading::before {
    width: 0.2666666667vw;
    height: 5.3333333333vw;
    margin: -2.6666666667vw auto 6.6666666667vw;
  }
  .c-accent-heading .sub,
  .c-accent-heading .sub-right {
    margin-bottom: 0.3em;
    padding-left: 0.26em;
    font-size: 6.4vw;
    letter-spacing: 0.26em;
  }
  .c-accent-heading .sub span,
  .c-accent-heading .sub-right span {
    font-size: 3.6vw;
    letter-spacing: 0.26em;
  }
  .c-accent-heading .main {
    font-size: 3.2vw;
  }
  .c-accent-heading.normal::before {
    margin: 0 auto 3.3333333333vw;
  }
  .c-accent-heading.normal .main {
    font-size: 4.5333333333vw;
  }
}

.c-link {
  text-decoration: underline;
}
.c-link:hover {
  text-decoration: none;
}

.c-arrow-link {
  text-decoration: underline;
  display: inline-block;
  padding-left: 1em;
  background: url(../images/common/parts_red_arrow.svg) no-repeat 0 56%/0.5em auto;
}
.c-arrow-link:hover {
  text-decoration: none;
}

.c-section-heading {
  margin-bottom: 40px;
  color: #e60112;
  font-size: 5rem;
}
.c-section-heading a {
  display: inline-block;
  padding-left: calc(16px + 0.25em);
  background: url(../images/common/parts_red_arrow.svg) no-repeat 0 55%/16px auto;
  color: #000;
}
.c-section-heading a:hover {
  text-decoration: underline;
}
@media screen and (max-width: 1200px) {
  .c-section-heading {
    font-size: 4.5rem;
  }
}
@media screen and (max-width: 1024px) {
  .c-section-heading {
    font-size: 4rem;
  }
}
@media screen and (max-width: 750px) {
  .c-section-heading {
    margin-bottom: 6.6666666667vw;
    font-size: 4.5333333333vw;
  }
  .c-section-heading a {
    padding-left: calc(1.6vw + 0.25em);
    background-size: 1.6vw auto;
  }
}

.c-section-h3 {
  margin-bottom: 1em;
  font-size: 2.4rem;
}
.c-section-h3[data-label] {
  display: flex;
  align-items: center;
}
.c-section-h3[data-label]::before {
  margin-right: 1em;
  padding: 0.2em 0.8em;
  border: 3px solid currentColor;
  color: #e60112;
  font-size: 1.6rem;
  white-space: nowrap;
  content: attr(data-label);
}
@media screen and (max-width: 750px) {
  .c-section-h3 {
    margin-bottom: 1.6em;
    font-size: 4vw;
  }
  .c-section-h3[data-label] {
    display: block;
    text-align: center;
  }
  .c-section-h3[data-label]::before {
    margin: 0;
    border: 0.4vw solid currentColor;
    color: #e60112;
    font-size: 2.9333333333vw;
  }
  .c-section-h3[data-label] span {
    display: block;
    margin-top: 0.75em;
    text-align: left;
  }
}

.c-section-h4 {
  margin-bottom: 1em;
  font-size: 1.8rem;
}
.c-section-h4:not(:first-child) {
  margin-top: 2em;
}
@media screen and (max-width: 750px) {
  .c-section-h4 {
    font-size: 3.7333333333vw;
  }
}

.m-banner-list {
  width: 1160px;
  max-width: 100%;
  margin: 150px auto;
  padding: 0 20px;
}
.m-banner-list-item {
  position: relative;
  z-index: 0;
  margin-bottom: 80px;
}
.m-banner-list-item::before, .m-banner-list-item::after {
  display: block;
  position: absolute;
  z-index: -1;
  background-color: #e60112;
  content: "";
}
.m-banner-list-item::before {
  left: -20px;
  bottom: -20px;
  width: 56%;
  height: 84%;
}
.m-banner-list-item::after {
  top: -20px;
  right: -20px;
  width: 44.5%;
  height: 100%;
}
.m-banner-list-item-link {
  overflow: hidden;
  display: block;
  background-color: #fff;
}
@media screen and (min-width: 751px) {
  .m-banner-list-item-link:hover .image img {
    opacity: 0.8;
    transform: scale(1.08);
  }
}
.m-banner-list-item .image {
  overflow: hidden;
}
.m-banner-list-item .image img {
  width: 100%;
  transition: opacity 0.25s, transform 0.25s;
}
.m-banner-list-item .content {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 368px;
  height: 250px;
  background: url(../images/common/parts_banner_triangle.svg) no-repeat 0 100%/cover;
}
.m-banner-list-item .content p {
  position: absolute;
  bottom: 20px;
  left: 20px;
  padding: 0.025em 0.15em 0 0;
  background-color: #fff;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.26;
  letter-spacing: 0.1em;
}
.m-banner-list-item .content p span {
  display: inline-block;
  margin-top: 0.25em;
  font-size: 1.8rem;
  letter-spacing: normal;
}
@media screen and (max-width: 1024px) {
  .m-banner-list-item .content {
    width: 294px;
    height: 200px;
  }
  .m-banner-list-item .content p {
    bottom: 20px;
    font-size: 2.5rem;
  }
  .m-banner-list-item .content p span {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 750px) {
  .m-banner-list {
    width: auto;
    margin: 16vw auto;
    padding: 0 2.6666666667vw;
  }
  .m-banner-list-item {
    margin-bottom: 10.6666666667vw;
  }
  .m-banner-list-item::before {
    left: -2.6666666667vw;
    bottom: -2.6666666667vw;
  }
  .m-banner-list-item::after {
    top: -2.6666666667vw;
    right: -2.6666666667vw;
    width: 17.8666666667vw;
  }
  .m-banner-list-item .content {
    width: 49.0666666667vw;
    height: 33.3333333333vw;
  }
  .m-banner-list-item .content p {
    bottom: 3.2vw;
    left: 3.2vw;
    font-size: 4vw;
  }
  .m-banner-list-item .content p span {
    font-size: 2.6666666667vw;
  }
}

.m-block-list {
  position: relative;
  margin: 0 auto 100px;
}
.m-block-list-aside {
  overflow: hidden;
  position: absolute;
  top: auto;
  z-index: -1;
  width: 92%;
  height: 226px;
  background-color: #e60112;
  white-space: nowrap;
  line-height: 1;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.m-block-list-aside p {
  margin-top: -17px;
  color: #fff;
  opacity: 0.3;
  font-family: "Source Sans Pro", sans-serif;
}
.m-block-list-aside p .yamazaki {
  font-size: 4.8rem;
  font-weight: 300;
  letter-spacing: 0.05em;
}
.m-block-list-aside p .yamazaki:first-child {
  margin-right: 0.4em;
}
.m-block-list-aside p .title {
  font-size: 7.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.m-block-list-aside p .title:first-child {
  margin-right: 0.25em;
}
.m-block-list.type-01 .m-block-list-aside {
  right: 0;
}
.m-block-list.type-01 .m-block-list-aside p {
  padding-right: 15px;
  text-align: right;
}
.m-block-list.type-02 .m-block-list-aside {
  left: 0;
}
.m-block-list.type-02 .m-block-list-aside p {
  padding-left: 20px;
}
.m-block-list-content {
  display: flex;
  justify-content: space-between;
  width: 1180px;
  max-width: 100%;
  margin: 0 auto;
  padding: 50px 5px 0;
}
.m-block-list-content .content-item {
  position: relative;
  width: 260px;
  margin: 0 5px;
}
@media screen and (min-width: 751px) {
  .m-block-list-content .item-link:hover .image img {
    opacity: 0.8;
    transform: scale(1.08);
  }
}
.m-block-list-content .item-link .image {
  overflow: hidden;
  background-color: #fff;
  box-shadow: 10px 10px 0 0 #e60112;
}
.m-block-list-content .item-link .image img {
  width: 100%;
  transition: opacity 0.25s, transform 0.25s;
}
.m-block-list-content .item-link .text {
  padding-top: 0.25em;
  padding-right: 0.75em;
  padding-bottom: 0.25em;
  font-size: 1.8rem;
  font-weight: bold;
  display: inline-block;
  padding-left: 1em;
  background: #fff url(../images/common/parts_red_arrow.svg) no-repeat 0 56%/0.5em auto;
}
@media screen and (max-width: 1024px) {
  .m-block-list-content {
    flex-wrap: wrap;
    width: 560px;
    padding: 50px 0 0;
  }
  .m-block-list-content .content-item {
    margin: 0 0 20px;
  }
}
@media screen and (max-width: 750px) {
  .m-block-list {
    margin: 0 0 13.3333333333vw;
  }
  .m-block-list-aside {
    width: 100%;
    height: 30.1333333333vw;
  }
  .m-block-list-aside p {
    margin-top: -1.8666666667vw;
    padding: 0;
  }
  .m-block-list-aside p .yamazaki {
    font-size: 6.4vw;
  }
  .m-block-list-aside p .title {
    font-size: 10.4vw;
  }
  .m-block-list-content {
    justify-content: space-between;
    width: auto;
    padding: 6.4vw 5.0666666667vw 0;
  }
  .m-block-list-content .content-item {
    width: 42.4vw;
    margin: 0 0 4vw;
  }
  .m-block-list-content .item-link .text {
    font-size: 3.2vw;
  }
  .m-block-list-content .item-link .image {
    box-shadow: 1.3333333333vw 1.3333333333vw 0 0 #e60112;
  }
}

.m-border-column {
  width: 1240px;
  max-width: 100%;
  margin: 0 auto 100px;
}
.m-border-column .c-section-heading {
  padding: 0 40px;
}
.m-border-column-content {
  display: flex;
}
.m-border-column-content .content-item {
  position: relative;
  width: 33.3333333333%;
}
.m-border-column-content .content-item:not(:last-child)::after {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  right: -2px;
  width: 4px;
  height: 100%;
  background-color: #e60112;
  content: "";
}
.m-border-column-content .content-item .heading {
  position: relative;
  z-index: 2;
  padding: 0 40px 1em;
  font-size: 2.4rem;
  text-align: center;
}
.m-border-column-content .content-item .heading::after {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -2px;
  width: 4px;
  height: 100%;
  background-color: #fff;
  content: "";
}
.m-border-column-content .content-item .list {
  padding: 0 40px;
}
.m-border-column-content .content-item .list-item {
  min-height: 340px;
  text-align: center;
}
.m-border-column-content .content-item .list-item:not(:last-child) {
  margin-bottom: 20px;
}
.m-border-column-content .content-item .list-item img {
  max-width: 100%;
  margin-bottom: 12px;
}
.m-border-column-content .content-item .list-item p {
  font-size: 1.6rem;
}
@media screen and (max-width: 1024px) {
  .m-border-column-content {
    padding: 0 20px;
  }
  .m-border-column-content .content-item {
    padding: 0;
  }
  .m-border-column-content .content-item .heading {
    padding: 0 20px 1em;
    font-size: 2rem;
  }
  .m-border-column-content .content-item .list {
    padding: 0 20px;
  }
  .m-border-column-content .content-item .list-item {
    min-height: auto;
  }
  .m-border-column-content .content-item .list-item p {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 750px) {
  .m-border-column {
    width: auto;
    margin: 0 0 13.3333333333vw;
    padding: 0 5.0666666667vw;
  }
  .m-border-column .c-section-heading {
    padding: 0;
  }
  .m-border-column-content {
    display: block;
    padding: 0;
  }
  .m-border-column-content .content-item {
    width: auto;
    margin-bottom: 8vw;
  }
  .m-border-column-content .content-item:not(:last-child) {
    border-bottom: 1.0666666667vw solid #e60112;
  }
  .m-border-column-content .content-item:not(:last-child)::after {
    content: none;
  }
  .m-border-column-content .content-item .heading {
    margin-bottom: 1em;
    padding: 0;
    font-size: 3.7333333333vw;
  }
  .m-border-column-content .content-item .heading::after {
    content: none;
  }
  .m-border-column-content .content-item .list {
    padding: 0;
  }
  .m-border-column-content .content-item .list-item {
    min-height: auto;
    margin-bottom: 8vw;
  }
  .m-border-column-content .content-item .list-item img {
    width: 100%;
    margin-bottom: 4vw;
  }
  .m-border-column-content .content-item .list-item p {
    font-size: 3.7333333333vw;
  }
}

.m-breadcrumb {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: 80px;
  padding: 15px 40px;
}
.m-breadcrumb__float {
  position: absolute;
  margin-bottom: 0;
}
.m-breadcrumb li {
  font-size: 1.4rem;
}
.m-breadcrumb li:not(:last-child)::after {
  margin: 0 0.5em;
  content: ">";
}
.m-breadcrumb a {
  text-decoration: underline;
}
.m-breadcrumb a:hover {
  text-decoration: none;
}
@media screen and (max-width: 750px) {
  .m-breadcrumb {
    margin-bottom: 6.6666666667vw;
    padding: 3.2vw 5.0666666667vw;
  }
  .m-breadcrumb__float {
    position: static;
    min-height: 10.1333333333vw;
    margin-bottom: 6.6666666667vw;
    padding: 1.6vw 5.0666666667vw;
  }
  .m-breadcrumb li {
    font-size: 2.6666666667vw;
  }
  .m-breadcrumb li.sp-break {
    width: 100%;
    text-align: right;
  }
}

.m-column-anchor {
  display: flex;
  width: 1240px;
  max-width: 100%;
  margin: 0 auto 100px;
  padding: 0 40px;
}
.m-column-anchor .item-link {
  flex: 1;
  position: relative;
  display: flex;
  align-items: center;
  padding: 1em 1em 2.25em;
  background: #e60112 url(../images/common/parts_white_anchor_arrow.svg) no-repeat left 50% bottom 0.8em/1em auto;
  transition: background-color 0.2s;
}
.m-column-anchor .item-link:not(:last-child) {
  margin-right: 10px;
}
.m-column-anchor .item-link .text {
  flex: 1;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}
.m-column-anchor .item-link .text span {
  font-size: 1.4rem;
}
@media screen and (min-width: 751px) {
  .m-column-anchor .item-link:hover {
    background-color: #cf0110;
  }
}
@media screen and (max-width: 1024px) {
  .m-column-anchor {
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .m-column-anchor .item-link {
    flex: none;
    width: calc(50% - 20px);
    margin-bottom: 20px;
  }
  .m-column-anchor .item-link:not(:last-child) {
    margin-right: 0;
  }
}
@media screen and (max-width: 750px) {
  .m-column-anchor {
    width: auto;
    margin: 0 0 13.3333333333vw;
    padding: 0 5.0666666667vw;
  }
  .m-column-anchor .item-link {
    width: calc(50% - 2.6666666667vw);
    margin-bottom: 3.4666666667vw;
    padding-bottom: 1.8em;
    background-position: left 50% bottom 0.75em;
  }
  .m-column-anchor .item-link .text {
    font-size: 3.2vw;
  }
  .m-column-anchor .item-link .text span {
    font-size: 2.6666666667vw;
  }
}

.m-column-link {
  position: relative;
  margin: 0 auto 100px;
  padding-bottom: 50px;
}
.m-column-link .c-section-heading {
  width: 1240px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 40px;
}
.m-column-link-content {
  display: flex;
  width: 1240px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 40px;
}
.m-column-link .link-item {
  overflow: hidden;
  flex: 1;
  display: block;
  position: relative;
  background-color: #fff;
}
.m-column-link .link-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 290px;
  height: 220px;
  background: url(../images/common/parts_triangle.svg) no-repeat 100% 0/cover;
  content: "";
}
.m-column-link .link-item .image {
  overflow: hidden;
}
.m-column-link .link-item .image img {
  width: 100%;
  transition: opacity 0.25s, transform 0.25s;
}
.m-column-link .link-item .content {
  position: absolute;
  left: 15px;
  bottom: 10px;
  z-index: 2;
}
.m-column-link .link-item .content h3 {
  margin-bottom: 0.4em;
  font-size: 2.2rem;
  line-height: 1.3;
  display: inline-block;
  padding-left: 1em;
  background: url(../images/common/parts_red_arrow.svg) no-repeat 0 56%/0.5em auto;
}
.m-column-link .link-item .content p {
  font-size: 1.2rem;
}
@media screen and (min-width: 751px) {
  .m-column-link .link-item:hover .image img {
    opacity: 0.8;
    transform: scale(1.08);
  }
}
.m-column-link-aside {
  overflow: hidden;
  position: absolute;
  bottom: 0;
  z-index: -1;
  width: 88.6666666667%;
  height: 226px;
  background-color: #e60112;
  white-space: nowrap;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.m-column-link-aside p {
  position: absolute;
  bottom: -12px;
  color: #fff;
  line-height: 1;
  opacity: 0.3;
  font-family: "Source Sans Pro", sans-serif;
}
.m-column-link-aside p .title {
  font-size: 7.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.m-column-link-aside p .title:first-child {
  margin-right: 0.25em;
}
.m-column-link-aside p .yamazaki {
  font-size: 4.8rem;
  font-weight: 300;
  letter-spacing: 0.05em;
}
.m-column-link-aside p .yamazaki:first-child {
  margin-right: 0.4em;
}
.m-column-link.type-01 .link-item {
  margin-left: 20px;
}
.m-column-link.type-01 .m-column-link-aside {
  right: 0;
}
.m-column-link.type-01 .m-column-link-aside p {
  right: -5px;
}
.m-column-link.type-02 .link-item {
  margin-right: 20px;
}
.m-column-link.type-02 .m-column-link-aside {
  left: 0;
}
.m-column-link.type-02 .m-column-link-aside p {
  left: -5px;
}
@media screen and (max-width: 1024px) {
  .m-column-link .link-item::before {
    width: 247px;
    height: 187px;
  }
  .m-column-link .link-item .content h3 {
    font-size: 1.8rem;
  }
  .m-column-link .link-item .content p {
    font-size: 1rem;
  }
  .m-column-link.type-01 .link-item:first-child {
    margin-left: 0;
  }
  .m-column-link.type-02 .link-item:last-child {
    margin-right: 0;
  }
}
@media screen and (max-width: 750px) {
  .m-column-link {
    margin: 0 0 13.3333333333vw;
    padding: 0 5.0666666667vw 9.3333333333vw;
  }
  .m-column-link .c-section-heading {
    width: auto;
    padding: 0;
  }
  .m-column-link-content {
    display: block;
    width: auto;
    padding: 0;
  }
  .m-column-link .link-item {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .m-column-link .link-item:not(:first-child) {
    margin-top: 1.3333333333vw;
  }
  .m-column-link .link-item::before {
    width: 46.1333333333vw;
    height: 35.4666666667vw;
  }
  .m-column-link .link-item .content {
    position: absolute;
    left: 2.6666666667vw;
    bottom: 1.3333333333vw;
  }
  .m-column-link .link-item .content h3 {
    font-size: 3.2vw;
  }
  .m-column-link .link-item .content p {
    font-size: 2.4vw;
  }
  .m-column-link-aside {
    width: 89.6vw;
    height: 90.4vw;
  }
  .m-column-link-aside p {
    position: absolute;
    bottom: -1.6vw;
  }
  .m-column-link-aside p .title {
    font-size: 10.4vw;
  }
  .m-column-link-aside p .yamazaki {
    font-size: 6.4vw;
  }
  .m-column-link.type-01 .m-column-link-aside p {
    right: -0.8vw;
  }
  .m-column-link.type-02 .m-column-link-aside p {
    left: -0.2666666667vw;
  }
}

.m-column-link-l {
  position: relative;
  margin: 0 auto 100px;
}
.m-column-link-l-aside {
  overflow: hidden;
  position: absolute;
  top: auto;
  right: 0;
  z-index: -1;
  width: 60%;
  height: 226px;
  padding-top: 24px;
  background-color: #e60112;
  white-space: nowrap;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.m-column-link-l-aside p {
  margin-right: -12px;
  color: #fff;
  opacity: 0.3;
  text-align: right;
  line-height: 1;
  font-family: "Source Sans Pro", sans-serif;
}
.m-column-link-l-aside p .yamazaki {
  margin-right: 0.4em;
  font-size: 4.8rem;
  font-weight: 300;
  letter-spacing: 0.1em;
}
.m-column-link-l-aside p .title {
  font-size: 7.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.m-column-link-l::after {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 19.2%;
  height: 226px;
  background-color: #e60112;
  content: "";
}
.m-column-link-l-content {
  display: flex;
  width: 1500px;
  max-width: 100%;
  margin: 0 auto;
  padding-top: 30px;
}
.m-column-link-l-content .content-item {
  width: 50%;
}
.m-column-link-l-content .content-item:last-child {
  padding-top: 60px;
}
.m-column-link-l-content .content-item .item-link {
  position: relative;
  display: block;
  background-color: #fff;
}
@media screen and (min-width: 751px) {
  .m-column-link-l-content .content-item .item-link:hover .image img {
    opacity: 0.8;
    transform: scale(1.08);
  }
}
.m-column-link-l-content .content-item .image {
  overflow: hidden;
}
.m-column-link-l-content .content-item .image img {
  max-width: 100%;
  transition: opacity 0.25s, transform 0.25s;
}
.m-column-link-l-content .content-item .content {
  position: absolute;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 340px;
  padding: 16px 20px 16px 40px;
  background-color: #fff;
  transform: translate(0, 66.6666666667%);
}
.m-column-link-l-content .content-item .content h3 {
  margin-bottom: 8px;
  font-size: 2rem;
  letter-spacing: 0.1em;
}
.m-column-link-l-content .content-item .content p {
  font-size: 1.6rem;
  font-weight: bold;
  display: inline-block;
  padding-left: 1em;
  background: url(../images/common/parts_red_arrow.svg) no-repeat 0 56%/0.5em auto;
}
@media screen and (max-width: 750px) {
  .m-column-link-l {
    margin: 0 0 13.3333333333vw;
  }
  .m-column-link-l-aside {
    width: 94.9333333333vw;
    height: 26.6666666667vw;
    padding-top: 0;
  }
  .m-column-link-l-aside p {
    margin: 0;
    padding: 4vw 0 0 2.1333333333vw;
  }
  .m-column-link-l-aside p .yamazaki {
    font-size: 6vw;
  }
  .m-column-link-l-aside p .title {
    font-size: 10vw;
  }
  .m-column-link-l::after {
    bottom: 4vw;
    width: 38.1333333333vw;
    height: 26.6666666667vw;
  }
  .m-column-link-l-content {
    display: block;
    width: auto;
    padding-top: 12vw;
  }
  .m-column-link-l-content .content-item {
    width: auto;
    margin-bottom: 1.3333333333vw;
  }
  .m-column-link-l-content .content-item:last-child {
    padding-top: 0;
    margin-bottom: 0;
  }
  .m-column-link-l-content .content-item .item-link {
    display: inline;
    background: none;
  }
  .m-column-link-l-content .content-item .content {
    position: relative;
    width: 50%;
    margin: -6.1333333333vw 0 0 auto;
    padding: 3.2vw 0 3.2vw 4vw;
    transform: none;
  }
  .m-column-link-l-content .content-item .content h3 {
    margin-bottom: 1.0666666667vw;
    font-size: 3.7333333333vw;
  }
  .m-column-link-l-content .content-item .content p {
    font-size: 3.2vw;
  }
}

.m-column-link-sp {
  position: relative;
  margin: 0 auto 100px;
  padding-bottom: 20px;
}
.m-column-link-sp .c-section-heading {
  width: 1240px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 40px;
}
.m-column-link-sp-content {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 1240px;
  max-width: 100%;
  margin: 0 auto;
  padding: 30px 40px 0;
}
.m-column-link-sp-content::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 27.5862068966%;
  height: 438px;
  max-height: 80%;
  background-color: #e60112;
  content: "";
}
.m-column-link-sp .link-item {
  overflow: hidden;
  display: block;
  position: relative;
  width: calc(50% - 5px);
  margin-bottom: 10px;
  background-color: #fff;
}
.m-column-link-sp .link-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 230px;
  height: 156px;
  background: url(../images/common/parts_banner_triangle.svg) no-repeat 100% 0/cover;
  content: "";
}
.m-column-link-sp .link-item .image {
  overflow: hidden;
}
.m-column-link-sp .link-item .image img {
  width: 100%;
  transition: opacity 0.25s, transform 0.25s;
}
.m-column-link-sp .link-item .content {
  position: absolute;
  left: 12px;
  bottom: 8px;
  z-index: 2;
}
.m-column-link-sp .link-item .content h3 {
  margin-bottom: 0.25em;
  font-size: 2.1rem;
  line-height: 1.3;
  display: inline-block;
  padding-left: 1em;
  background: url(../images/common/parts_red_arrow.svg) no-repeat 0 56%/0.5em auto;
}
.m-column-link-sp .link-item .content p {
  font-size: 1.4rem;
}
@media screen and (min-width: 751px) {
  .m-column-link-sp .link-item:hover .image img {
    opacity: 0.8;
    transform: scale(1.08);
  }
}
.m-column-link-sp-aside {
  overflow: hidden;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
  width: 37.0666666667%;
  height: 460px;
  max-height: 80%;
  background-color: #e60112;
  white-space: nowrap;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.m-column-link-sp-aside p {
  position: absolute;
  bottom: 0;
  right: -26px;
  color: #fff;
  opacity: 0.3;
  line-height: 1;
  transform-origin: 0 100%;
  transform: translate(100%, 0) rotate(-90deg);
  font-family: "Source Sans Pro", sans-serif;
}
.m-column-link-sp-aside p .yamazaki {
  display: block;
  margin-bottom: -0.36em;
  font-size: 4.4rem;
  font-weight: 300;
  letter-spacing: 0.12em;
}
.m-column-link-sp-aside p .title {
  display: block;
  font-size: 12rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 1024px) {
  .m-column-link-sp .link-item::before {
    width: 192px;
    height: 130px;
  }
  .m-column-link-sp .link-item .content h3 {
    font-size: 1.8rem;
  }
  .m-column-link-sp .link-item .content p {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 1024px) and (min-width: 751px) {
  .m-column-link-sp .link-item:hover .image img {
    opacity: 0.8;
    transform: scale(1.08);
  }
}
@media screen and (max-width: 750px) {
  .m-column-link-sp {
    margin: 0 0 13.3333333333vw;
    padding: 0 5.0666666667vw 5.3333333333vw;
  }
  .m-column-link-sp .c-section-heading {
    width: auto;
    padding: 0;
  }
  .m-column-link-sp-content {
    display: block;
    width: auto;
    padding: 5.3333333333vw 0 0;
  }
  .m-column-link-sp-content::before {
    top: 0;
    left: -5.0666666667vw;
    width: 60vw;
    height: 46%;
  }
  .m-column-link-sp .link-item {
    width: auto;
    margin-bottom: 1.3333333333vw;
  }
  .m-column-link-sp .link-item::before {
    width: 46vw;
    height: 31.2vw;
  }
  .m-column-link-sp .link-item .content {
    left: 2.6666666667vw;
    bottom: 2vw;
  }
  .m-column-link-sp .link-item .content h3 {
    font-size: 3.2vw;
  }
  .m-column-link-sp .link-item .content p {
    font-size: 2.4vw;
  }
  .m-column-link-sp-aside {
    width: 76vw;
    height: 46%;
    min-width: auto;
  }
  .m-column-link-sp-aside p {
    bottom: -1.6vw;
    right: -0.5333333333vw;
    transform: none;
  }
  .m-column-link-sp-aside p .yamazaki {
    display: inline;
    margin-right: 0.4em;
    font-size: 5.3333333333vw;
  }
  .m-column-link-sp-aside p .title {
    display: inline;
    font-size: 9.3333333333vw;
  }
}

.m-column-nav {
  display: flex;
  width: 1240px;
  max-width: 100%;
  margin: 0 auto 100px;
  padding: 0 40px;
}
.m-column-nav .item-link {
  display: block;
  flex: 1;
}
.m-column-nav .item-link:not(:last-child) {
  margin-right: 40px;
}
.m-column-nav .item-link:hover .title {
  text-decoration: underline;
}
.m-column-nav .item-link .title {
  margin-bottom: 0.25em;
  font-size: 2.4rem;
  display: inline-block;
  padding-left: 1em;
  background: url(../images/common/parts_red_arrow.svg) no-repeat 0 56%/0.5em auto;
}
.m-column-nav .item-link .text {
  position: relative;
}
.m-column-nav .item-link .text p {
  display: inline-block;
  position: relative;
  z-index: 2;
  margin-right: 1em;
  padding-right: 0.5em;
  background-color: #fff;
  font-size: 1.6rem;
}
.m-column-nav .item-link .text::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 4px;
  margin: auto 0;
  background-color: #e60112;
  content: "";
}
@media screen and (max-width: 1024px) {
  .m-column-nav {
    display: block;
  }
  .m-column-nav .item-link {
    margin-bottom: 20px;
  }
  .m-column-nav .item-link:not(:last-child) {
    margin-right: 0;
  }
  .m-column-nav .item-link .text {
    margin-left: 24px;
  }
}
@media screen and (max-width: 750px) {
  .m-column-nav {
    width: auto;
    margin: 0 0 13.3333333333vw;
    padding: 0 5.0666666667vw;
  }
  .m-column-nav .item-link {
    margin-bottom: 5.3333333333vw;
  }
  .m-column-nav .item-link .title {
    font-size: 3.7333333333vw;
  }
  .m-column-nav .item-link .text {
    margin-left: 3.7333333333vw;
  }
  .m-column-nav .item-link .text p {
    font-size: 2.6666666667vw;
  }
  .m-column-nav .item-link .text::after {
    height: 0.5333333333vw;
  }
}

.m-flex-anchor {
  width: 1240px;
  max-width: 100%;
  margin: 0 auto 100px;
  padding: 0 40px;
}
.m-flex-anchor-content {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.m-flex-anchor .link-item {
  display: block;
  position: relative;
  width: calc(50% - 10px);
  margin-bottom: 10px;
}
.m-flex-anchor .link-item:nth-child(even) {
  margin-left: 20px;
}
.m-flex-anchor .link-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 210px;
  height: 160px;
  background: url(../images/common/parts_triangle.svg) no-repeat 100% 0/cover;
  content: "";
}
.m-flex-anchor .link-item .image {
  overflow: hidden;
}
.m-flex-anchor .link-item .image img {
  width: 100%;
  transition: opacity 0.25s, transform 0.25s;
}
.m-flex-anchor .link-item .content {
  position: absolute;
  bottom: 15px;
  left: 15px;
  z-index: 2;
}
.m-flex-anchor .link-item .content h3 {
  padding-left: 1.25em;
  background: url(../images/common/parts_anchor_arrow.svg) no-repeat 0 56%/auto 0.5em;
  font-size: 1.6rem;
  line-height: 1.3;
}
@media screen and (min-width: 751px) {
  .m-flex-anchor .link-item:hover .image img {
    opacity: 0.8;
    transform: scale(1.08);
  }
}
@media screen and (max-width: 1024px) {
  .m-flex-anchor .link-item::before {
    width: 179px;
    height: 136px;
  }
  .m-flex-anchor .link-item .content h3 {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 750px) {
  .m-flex-anchor {
    width: auto;
    margin: 0 0 13.3333333333vw;
    padding: 0 5.0666666667vw;
  }
  .m-flex-anchor-content {
    display: block;
  }
  .m-flex-anchor .link-item {
    width: auto;
    margin: 0 0 1.3333333333vw !important;
  }
  .m-flex-anchor .link-item::before {
    width: 33.3333333333vw;
    height: 25.3333333333vw;
  }
  .m-flex-anchor .link-item .content {
    bottom: 2vw;
    left: 2vw;
  }
  .m-flex-anchor .link-item .content h3 {
    font-size: 3.2vw;
  }
}

.m-image-column {
  width: 1240px;
  max-width: 100%;
  margin: 0 auto 100px;
  padding: 0 40px;
}
.m-image-column-content {
  display: flex;
  justify-content: center;
  margin-bottom: 50px;
}
.m-image-column-content .content-item {
  width: calc(50% - 20px);
}
.m-image-column-content .content-item:not(:last-child) {
  margin-right: 40px;
}
.m-image-column-content .content-item .heading {
  margin-bottom: 0.8em;
  font-size: 2.4rem;
}
.m-image-column-content .content-item .image {
  margin-bottom: 15px;
}
.m-image-column-content .content-item .image img {
  width: 100%;
}
.m-image-column-content .content-item p {
  font-size: 1.6rem;
  line-height: 1.875;
}
.m-image-column-content .content-item p ~ p {
  margin-top: 1em;
}
@media screen and (max-width: 750px) {
  .m-image-column {
    width: auto;
    margin: 0 0 13.3333333333vw;
    padding: 0 5.0666666667vw;
  }
  .m-image-column-content {
    display: block;
    margin-bottom: 10.6666666667vw;
  }
  .m-image-column-content .content-item {
    width: auto;
    margin-bottom: 10.6666666667vw;
  }
  .m-image-column-content .content-item:not(:last-child) {
    margin-right: 0;
  }
  .m-image-column-content .content-item .heading {
    font-size: 3.7333333333vw;
  }
  .m-image-column-content .content-item .image {
    margin-bottom: 4vw;
  }
  .m-image-column-content .content-item p {
    font-size: 3.2vw;
    line-height: 1.46;
  }
}

.m-page-heading {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto 50px;
  padding: 55px 70px;
  border-left: 10px solid #e60112;
}
.m-page-heading-text {
  color: #e60112;
  font-size: 5rem;
}
.m-page-heading-desc {
  margin-top: 1.5em;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.75;
}
@media screen and (max-width: 1200px) {
  .m-page-heading-text {
    font-size: 4.5rem;
  }
  .m-page-heading-desc {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 1024px) {
  .m-page-heading {
    padding: 55px;
  }
  .m-page-heading-text {
    font-size: 4rem;
  }
  .m-page-heading-desc {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 750px) {
  .m-page-heading {
    margin: 0 0 10.6666666667vw;
    padding: 5.3333333333vw 5.0666666667vw 5.3333333333vw 3.7333333333vw;
    border-left-width: 1.3333333333vw;
  }
  .m-page-heading-text {
    font-size: 6.4vw;
  }
  .m-page-heading-desc {
    margin-top: 1em;
    font-size: 3.2vw;
  }
}

.m-column {
  width: 1240px;
  max-width: 100%;
  margin: 0 auto 100px;
  padding: 0 40px;
}
.m-column-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 40px;
}
.m-column-content .flex-item {
  width: calc(50% - 20px);
}
.m-column-content .flex-item__body {
  display: flex;
  flex-direction: column;
}
.m-column-content .flex-item__body h3 {
  margin-bottom: 0.8em;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
}
.m-column-content .flex-item__body h3 ~ h3 {
  margin-top: 1.2em;
}
.m-column-content .flex-item__body p {
  font-size: 1.6rem;
  line-height: 1.875;
}
.m-column-content .flex-item__body p ~ p {
  margin-top: 1em;
}
.m-column-content .flex-item__body .balloon-box {
  position: relative;
  margin-top: 1.5em;
}
.m-column-content .flex-item__body .balloon-box::before, .m-column-content .flex-item__body .balloon-box::after {
  display: block;
  position: absolute;
  content: "";
}
.m-column-content .flex-item__body .balloon-box::before {
  z-index: 2;
  top: 84px;
  width: 50px;
  height: 4px;
  background-color: #e60112;
}
.m-column-content .flex-item__body .balloon-box::after {
  top: 50px;
  z-index: 3;
  width: 10px;
  height: 10px;
  background-color: #fff;
}
.m-column-content .flex-item__body .balloon-box-content {
  position: relative;
  z-index: 1;
  padding: 0.75em 1.25em;
  box-shadow: 0 0 0 4px #e60112;
}
.m-column-content .flex-item__body .balloon-box-content::before, .m-column-content .flex-item__body .balloon-box-content::after {
  display: block;
  position: absolute;
  background-color: #fff;
  content: "";
}
.m-column-content .flex-item__body .balloon-box-content::before {
  top: 20px;
  width: 6px;
  height: 34px;
}
.m-column-content .flex-item__body .balloon-box-content::after {
  bottom: -5px;
  width: 40px;
  height: 6px;
}
.m-column-content .flex-item__image {
  padding-right: 20px;
  text-align: right;
}
.m-column-content .flex-item__image img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
}
.m-column-content .flex-item__image .caption {
  display: inline-block;
  position: relative;
  right: -20px;
  z-index: 1;
  margin-top: -1em;
  padding: 1.3em 1em 0.3em;
  background-color: #e60112;
  color: #fff;
  font-size: 1.6rem;
  text-align: left;
}
.m-column-content .flex-item__nocaption-image img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
}
.m-column-content.text-image .flex-item__body {
  order: 1;
}
.m-column-content.text-image .flex-item__body .balloon-box {
  align-self: flex-end;
  padding: 4px 34px 4px 4px;
}
.m-column-content.text-image .flex-item__body .balloon-box::before {
  right: 0;
  transform: rotate(42deg);
  transform-origin: 100% 0;
}
.m-column-content.text-image .flex-item__body .balloon-box::after {
  right: 34px;
}
.m-column-content.text-image .flex-item__body .balloon-box-content::before {
  right: -5px;
}
.m-column-content.text-image .flex-item__body .balloon-box-content::after {
  left: 20px;
}
.m-column-content.text-image .flex-item__image, .m-column-content.text-image .flex-item__nocaption-image {
  order: 2;
}
.m-column-content.image-text .flex-item__body {
  order: 2;
}
.m-column-content.image-text .flex-item__body .balloon-box {
  align-self: flex-start;
  padding: 4px 4px 4px 34px;
}
.m-column-content.image-text .flex-item__body .balloon-box::before {
  left: 0;
  transform: rotate(-42deg);
  transform-origin: 0 0;
}
.m-column-content.image-text .flex-item__body .balloon-box::after {
  left: 34px;
}
.m-column-content.image-text .flex-item__body .balloon-box-content::before {
  left: -5px;
}
.m-column-content.image-text .flex-item__body .balloon-box-content::after {
  right: 20px;
}
.m-column-content.image-text .flex-item__image, .m-column-content.image-text .flex-item__nocaption-image {
  order: 1;
}
@media screen and (max-width: 1024px) {
  .m-column-content {
    display: block;
    margin-bottom: 50px;
  }
  .m-column-content .flex-item {
    width: auto;
  }
  .m-column-content .flex-item__body {
    margin-bottom: 40px;
  }
  .m-column-content .flex-item__body .balloon-box {
    align-self: center !important;
  }
  .m-column-content .flex-item__image {
    width: 560px;
    margin: 0 auto;
  }
  .m-column-content .flex-item__nocaption-image {
    width: 540px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 750px) {
  .m-column {
    width: auto;
    margin: 0 0 13.3333333333vw;
    padding: 0 5.0666666667vw;
  }
  .m-column-content {
    margin-bottom: 13.3333333333vw;
  }
  .m-column-content .flex-item__body {
    display: block;
    margin-bottom: 5.3333333333vw;
  }
  .m-column-content .flex-item__body h3 {
    font-size: 3.7333333333vw;
  }
  .m-column-content .flex-item__body p {
    font-size: 3.2vw;
    line-height: 1.46;
  }
  .m-column-content .flex-item__body .balloon-box {
    display: block;
    margin: 6.6666666667vw 0;
  }
  .m-column-content .flex-item__body .balloon-box::before {
    top: 10.6666666667vw;
    width: 6.6666666667vw;
    height: 0.8vw;
  }
  .m-column-content .flex-item__body .balloon-box::after {
    top: 5.3333333333vw;
    width: 2.6666666667vw;
    height: 2.6666666667vw;
  }
  .m-column-content .flex-item__body .balloon-box-content {
    box-shadow: 0 0 0 0.8vw #e60112;
  }
  .m-column-content .flex-item__body .balloon-box-content::before {
    top: 2.4vw;
    width: 1.0666666667vw;
    height: 4vw;
  }
  .m-column-content .flex-item__body .balloon-box-content::after {
    bottom: -1.0666666667vw;
    width: 5.3333333333vw;
    height: 1.0666666667vw;
  }
  .m-column-content .flex-item__image {
    width: auto;
    padding-right: 4vw;
  }
  .m-column-content .flex-item__image .caption {
    right: -4vw;
    padding: 1.5em 1.25em 0.75em;
    font-size: 2.9333333333vw;
  }
  .m-column-content .flex-item__nocaption-image {
    width: auto;
  }
  .m-column-content.text-image .flex-item__body .balloon-box {
    padding: 0.8vw 7.4666666667vw 0.8vw 10.1333333333vw;
  }
  .m-column-content.text-image .flex-item__body .balloon-box::before {
    right: 2.6666666667vw;
  }
  .m-column-content.text-image .flex-item__body .balloon-box::after {
    right: 7.4666666667vw;
  }
  .m-column-content.text-image .flex-item__body .balloon-box-content::before {
    right: -1.0666666667vw;
  }
  .m-column-content.text-image .flex-item__body .balloon-box-content::after {
    left: 4vw;
  }
  .m-column-content.image-text .flex-item__body .balloon-box {
    padding: 0.8vw 10.1333333333vw 0.8vw 7.4666666667vw;
  }
  .m-column-content.image-text .flex-item__body .balloon-box::before {
    left: 2.6666666667vw;
  }
  .m-column-content.image-text .flex-item__body .balloon-box::after {
    left: 7.4666666667vw;
  }
  .m-column-content.image-text .flex-item__body .balloon-box-content::before {
    left: -1.0666666667vw;
  }
  .m-column-content.image-text .flex-item__body .balloon-box-content::after {
    right: 4vw;
  }
}

.m-multi {
  max-width: 1240px;
  margin: 0 auto 100px;
  padding: 0 40px;
}
.m-multi-content {
  display: flex;
}
.m-multi-body {
  flex: 1;
  margin-right: 40px;
}
.m-multi-body .heading {
  position: relative;
  z-index: 0;
  display: inline-flex;
  align-items: center;
  margin-bottom: 30px;
  padding: 10px 20px 10px 0;
  background-color: #e60112;
  color: #fff;
  font-size: 2.4rem;
}
.m-multi-body .heading::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 50vw;
  height: 100%;
  background-color: #e60112;
  transform: translate(-99%, 0);
  content: "";
}
.m-multi-body .text {
  position: relative;
  padding-left: 58px;
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0.05em;
  text-align: justify;
}
.m-multi-body .text ~ .heading {
  margin-top: 50px;
}
.m-multi-body .text::before {
  position: absolute;
  top: 14px;
  left: 0;
  display: block;
  width: 40px;
  height: 4px;
  background-color: #e60112;
  content: "";
}
.m-multi-images {
  flex: 1;
  text-align: center;
}
.m-multi-images img {
  width: 100%;
  max-width: 100%;
}
.m-multi-images img + img {
  margin-top: 20px;
}
@media screen and (max-width: 1024px) {
  .m-multi-heading {
    font-size: 4rem;
  }
  .m-multi-content {
    display: block;
  }
  .m-multi-body {
    margin: 0;
  }
  .m-multi-body .heading {
    font-size: 2rem;
  }
  .m-multi-images {
    margin-top: 40px;
  }
  .m-multi-images img {
    width: auto;
  }
}
@media screen and (max-width: 750px) {
  .m-multi {
    max-width: none;
    margin: 0 0 13.3333333333vw;
    padding: 0 5.0666666667vw;
  }
  .m-multi-body .heading {
    margin-bottom: 4vw;
    padding: 2.6666666667vw 4.6666666667vw 2.6666666667vw 0;
    font-size: 3.7333333333vw;
  }
  .m-multi-body .text {
    padding-left: 7.2vw;
    font-size: 3.2vw;
    line-height: 1.458;
  }
  .m-multi-body .text ~ .heading {
    margin-top: 8vw;
  }
  .m-multi-body .text::before {
    top: 2.1333333333vw;
    width: 5.3333333333vw;
    height: 0.5333333333vw;
  }
  .m-multi-images {
    margin-top: 9.3333333333vw;
  }
  .m-multi-images img {
    width: 100%;
  }
  .m-multi-images img + img {
    margin-top: 3.2vw;
  }
}

.m-simple {
  width: 1240px;
  max-width: 100%;
  margin: 0 auto 100px;
  padding: 0 40px;
}
.m-simple-content {
  display: flex;
  margin-bottom: 30px;
}
.m-simple-content .content-image {
  width: 200px;
  min-width: 200px;
  margin-right: 40px;
}
.m-simple-content .content-image img {
  width: 100%;
}
.m-simple-content .content-image .caption {
  margin-top: 0.5em;
  font-size: 1.4rem;
}
.m-simple-content .content-body {
  flex: 1;
}
.m-simple-content .content-body h3 {
  margin-bottom: 0.8em;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
}
.m-simple-content .content-body h3 ~ h3 {
  margin-top: 1.2em;
}
.m-simple-content .content-body p {
  font-size: 1.6rem;
  line-height: 1.875;
}
.m-simple-content .content-body p ~ p {
  margin-top: 1em;
}
@media screen and (max-width: 750px) {
  .m-simple {
    width: auto;
    margin: 0 0 13.3333333333vw;
    padding: 0 5.0666666667vw;
  }
  .m-simple-content {
    display: block;
    margin-bottom: 10.6666666667vw;
  }
  .m-simple-content .content-image {
    width: auto;
    min-width: auto;
    margin: 0 0 5.3333333333vw;
    padding: 0 5.3333333333vw;
  }
  .m-simple-content .content-image img {
    display: block;
    width: 48vw;
    margin: 0 auto;
  }
  .m-simple-content .content-image .caption {
    margin-top: 1em;
    font-size: 2.6666666667vw;
    text-align: center;
  }
  .m-simple-content .content-body h3 {
    font-size: 3.7333333333vw;
  }
  .m-simple-content .content-body p {
    font-size: 3.2vw;
    line-height: 1.46;
  }
}

.m-single {
  width: 1240px;
  max-width: 100%;
  margin: 0 auto 100px;
  padding: 0 40px;
}
.m-single-image {
  text-align: center;
}
.m-single-image img {
  max-width: 100%;
}
.m-single-content {
  margin: 40px auto 50px;
}
.m-single-content.narrow {
  max-width: 960px;
}
.m-single-content .text {
  font-size: 1.6rem;
  line-height: 1.6;
  text-align: justify;
}
.m-single-content .text + .text {
  margin-top: 1em;
}
.m-single-table {
  display: flex;
  flex-wrap: wrap;
  margin-top: 40px;
}
.m-single-table dt, .m-single-table dd {
  font-size: 1.6rem;
}
.m-single-table dt {
  width: 31.0344827586%;
  padding: 1em 0;
  border-bottom: 2px solid #e60112;
  font-weight: bold;
  text-align: left;
}
.m-single-table dd {
  width: calc(100% - 31.0344827586%);
  padding: 1em 0 1em 0.5em;
  border-bottom: 2px solid #f1f1f1;
}
.m-single-accordion-item {
  border-bottom: 2px solid #f1f1f1;
}
.m-single-accordion-item:first-child {
  border-top: 2px solid #f1f1f1;
}
.m-single-accordion .accordion-head {
  position: relative;
  display: flex;
  align-items: center;
  padding: 14px 100px 14px 30px;
  cursor: pointer;
}
.m-single-accordion .accordion-head .label {
  display: block;
  width: 40px;
  min-width: 40px;
  height: 40px;
  margin-right: 30px;
  border-radius: 50%;
  background-color: #e60112;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  line-height: 38px;
}
.m-single-accordion .accordion-head .heading {
  font-size: 1.6rem;
  text-align: justify;
}
.m-single-accordion .accordion-head .cross {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 38px;
  width: 24px;
  height: 24px;
  margin: auto 0;
}
.m-single-accordion .accordion-head .cross::before, .m-single-accordion .accordion-head .cross::after {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background-color: #000;
  content: "";
}
.m-single-accordion .accordion-head .cross::before {
  height: 4px;
}
.m-single-accordion .accordion-head .cross::after {
  width: 4px;
  transition: transform 0.2s;
}
.m-single-accordion .accordion-head.open .cross::after {
  transform: scaleY(0);
}
.m-single-accordion .accordion-body {
  display: none;
  overflow: hidden;
  padding: 0 100px;
  transition: height 0.2s;
}
.m-single-accordion .accordion-body p {
  font-size: 1.6rem;
  text-align: justify;
}
.m-single-accordion .accordion-body p + p {
  margin-top: 1em;
}
.m-single-accordion .accordion-body p:last-child {
  margin-bottom: 20px;
}
.m-single-buttons {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}
.m-single-buttons .item {
  min-width: 280px;
  margin: 0 5px;
}
.m-single-buttons .button {
  display: flex;
  align-items: center;
  height: 56px;
  padding: 0 30px;
  background-color: #e60112;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  transition: background-color 0.2s;
}
.m-single-buttons .button::before {
  display: block;
  width: 8px;
  height: 12px;
  margin-right: 0.5em;
  background: url(../images/common/parts_white_arrow.svg) no-repeat 0 0/cover;
  content: "";
}
@media screen and (max-width: 750px) {
  .m-single-buttons .button::before {
    width: 1.3333333333vw;
    height: 2vw;
  }
}
@media screen and (min-width: 751px) {
  .m-single-buttons .button:hover {
    background-color: #cf0110;
  }
}
.m-single-buttons .text {
  display: block;
  max-width: 280px;
  margin-top: 0.5em;
  padding: 0 0.75em;
  font-size: 1.3rem;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .m-single-heading {
    font-size: 4rem;
  }
}
@media screen and (max-width: 750px) {
  .m-single {
    width: auto;
    margin: 0 0 13.3333333333vw;
    padding: 0 5.0666666667vw;
  }
  .m-single-content {
    max-width: none;
    margin: 6.6666666667vw 0;
  }
  .m-single-content .text {
    font-size: 3.2vw;
  }
  .m-single-table {
    display: block;
    margin: 6.6666666667vw 0;
  }
  .m-single-table dt, .m-single-table dd {
    font-size: 3.2vw;
  }
  .m-single-table dt {
    width: auto;
    margin-bottom: 1em;
    padding: 0;
    border: none;
  }
  .m-single-table dd {
    width: auto;
    margin-bottom: 1.25em;
    padding: 0 0 1.25em;
    border-bottom: 0.2666666667vw solid #f1f1f1;
  }
  .m-single-accordion-item {
    border-bottom: 0.2666666667vw solid #f1f1f1;
  }
  .m-single-accordion-item:first-child {
    border-top: 0.2666666667vw solid #f1f1f1;
  }
  .m-single-accordion .accordion-head {
    padding: 4.2666666667vw 11.4666666667vw 4.2666666667vw 0;
  }
  .m-single-accordion .accordion-head .label {
    width: 8vw;
    min-width: 8vw;
    height: 8vw;
    margin-right: 3.4666666667vw;
    font-size: 2.9333333333vw;
    line-height: 7.7333333333vw;
  }
  .m-single-accordion .accordion-head .heading {
    font-size: 3.2vw;
  }
  .m-single-accordion .accordion-head .cross {
    right: 2.1333333333vw;
    width: 3.2vw;
    height: 3.2vw;
  }
  .m-single-accordion .accordion-head .cross::before {
    height: 0.5333333333vw;
  }
  .m-single-accordion .accordion-head .cross::after {
    width: 0.5333333333vw;
  }
  .m-single-accordion .accordion-body {
    padding: 0 11.4666666667vw;
  }
  .m-single-accordion .accordion-body p {
    font-size: 3.2vw;
  }
  .m-single-accordion .accordion-body p:last-child {
    margin-bottom: 4.2666666667vw;
  }
  .m-single-buttons {
    display: block;
    margin: 8vw 0 0;
  }
  .m-single-buttons .item {
    min-width: auto;
    margin: 2.6666666667vw 0;
    text-align: center;
  }
  .m-single-buttons .button {
    height: 13.3333333333vw;
    padding: 0 5.3333333333vw 0 4vw;
    font-size: 3.7333333333vw;
  }
  .m-single-buttons .text {
    max-width: none;
    margin-bottom: 5.3333333333vw;
    font-size: 3.2vw;
  }
}

.m-slider {
  position: relative;
  z-index: 0;
  margin: 0 0 100px;
  padding-bottom: 50px;
}
.m-slider-body {
  width: 1168px;
  margin: 0 auto;
}
@media (max-width: 1247px) {
  .m-slider-body {
    width: 876px;
  }
}
@media (max-width: 955px) {
  .m-slider-body {
    width: 584px;
  }
}
.m-slider-heading {
  margin-bottom: 30px;
  padding: 0 5px;
  color: #e60112;
  font-size: 5rem;
  font-weight: normal;
}
.m-slider-content {
  position: relative;
}
.m-slider-content .swiper-button {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 2;
  width: 50px;
  height: 50px;
  margin: auto 0;
  border-radius: 50%;
  transition: opacity 0.2s, filter 0.2s;
  outline: none;
  cursor: pointer;
}
@media screen and (min-width: 751px) {
  .m-slider-content .swiper-button:hover {
    filter: brightness(0.8);
  }
}
.m-slider-content .swiper-button-disabled {
  opacity: 0.25;
}
.m-slider-content .swiper-button.prev {
  left: 0;
  background: url(../images/common/parts_slide_prev.svg) no-repeat 0 0/cover;
  transform: translate(-50%, 0);
}
.m-slider-content .swiper-button.next {
  right: 0;
  background: url(../images/common/parts_slide_next.svg) no-repeat 0 0/cover;
  transform: translate(50%, 0);
}
.m-slider-swiper {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 352px;
  margin: 0 auto;
}
.m-slider-swiper .swiper-slide {
  overflow: hidden;
}
.m-slider-swiper .swiper-slide-body {
  position: relative;
  display: block;
  width: 282px;
  height: 352px;
  margin: 0 auto;
  background-color: #fff;
}
@media screen and (min-width: 751px) {
  .m-slider-swiper .swiper-slide-body:hover .item-hover-text {
    opacity: 1;
  }
  .m-slider-swiper .swiper-slide-body:hover .item-content {
    color: #e60112;
  }
}
.m-slider-swiper .swiper-slide-body::before {
  display: block;
  position: absolute;
  bottom: -1px;
  right: 0;
  z-index: 2;
  width: 232px;
  height: 157px;
  background: url(../images/common/parts_person_triangle.svg) no-repeat 0 100%/cover;
  content: "";
}
.m-slider-swiper .swiper-slide .item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.m-slider-swiper .swiper-slide .item-hover-text {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  padding: 160px 5px 0 15px;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.2s;
}
.m-slider-swiper .swiper-slide .item-hover-text p {
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
}
.m-slider-swiper .swiper-slide .item-content {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 2;
  padding: 0 20px 12px 0;
  transition: color 0.2s;
  line-height: 1.2;
  text-align: right;
}
.m-slider-swiper .swiper-slide .item-content .main {
  margin-bottom: 6px;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: left;
  display: inline-block;
  padding-left: 1em;
  background: url(../images/common/parts_red_arrow.svg) no-repeat 0 56%/0.5em auto;
}
.m-slider-swiper .swiper-slide .item-content .sub {
  font-size: 1.4rem;
}
.m-slider::after {
  display: block;
  position: absolute;
  background-color: #e60112;
  content: "";
}
.m-slider-aside {
  overflow: hidden;
  position: absolute;
  bottom: 0;
  z-index: -1;
  width: 62%;
  height: 164px;
  background-color: #e60112;
  white-space: nowrap;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.m-slider-aside p {
  position: absolute;
  bottom: -12px;
  color: #fff;
  line-height: 1;
  opacity: 0.3;
  font-family: "Source Sans Pro", sans-serif;
}
.m-slider-aside p .yamazaki {
  margin-right: 0.4em;
  font-size: 4.8rem;
  font-weight: 300;
  letter-spacing: 0.1em;
}
.m-slider-aside p .title {
  font-size: 7.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.m-slider.type-01::after {
  top: 70px;
  right: 9.3333333333%;
  width: 15.4666666667%;
  height: 130px;
}
.m-slider.type-01 .m-slider-aside {
  left: 0;
}
.m-slider.type-01 .m-slider-aside p {
  left: 0;
}
.m-slider.type-02::after {
  top: 100px;
  left: 0;
  width: 1.3333333333%;
  height: 226px;
}
.m-slider.type-02 .m-slider-aside {
  right: 0;
}
.m-slider.type-02 .m-slider-aside p {
  right: -12px;
}
@media screen and (max-width: 750px) {
  .m-slider {
    margin: 0 0 13.3333333333vw;
    padding-bottom: 9.6vw;
  }
  .m-slider-body {
    width: auto;
    padding: 0 5.0666666667vw;
  }
  .m-slider-heading {
    margin-bottom: 4vw;
    padding: 0;
    font-size: 4.5333333333vw;
  }
  .m-slider-content .swiper-button {
    width: 6.6666666667vw;
    height: 6.6666666667vw;
  }
  .m-slider-swiper {
    height: 55.2vw;
  }
  .m-slider-swiper .swiper-slide-body {
    width: 44.2666666667vw;
    height: 55.2vw;
  }
  .m-slider-swiper .swiper-slide-body::before {
    width: 36.4vw;
    height: 24.5333333333vw;
  }
  .m-slider-swiper .swiper-slide .item-hover-text {
    display: none;
  }
  .m-slider-swiper .swiper-slide .item-content {
    padding: 0 2.6666666667vw 2vw 0;
  }
  .m-slider-swiper .swiper-slide .item-content .main {
    margin-bottom: 0.8vw;
    font-size: 3.2vw;
  }
  .m-slider-swiper .swiper-slide .item-content .sub {
    font-size: 2.4vw;
  }
  .m-slider-aside {
    width: 85.3333333333vw;
    height: 21.8666666667vw;
  }
  .m-slider-aside p {
    bottom: -1.6vw;
  }
  .m-slider-aside p .yamazaki {
    font-size: 6.4vw;
    letter-spacing: 0.075em;
  }
  .m-slider-aside p .title {
    font-size: 10.4vw;
  }
  .m-slider.type-01::after {
    top: 7.4666666667vw;
    right: 2.4vw;
    width: 30.9333333333vw;
    height: 17.3333333333vw;
  }
  .m-slider.type-02::after {
    top: 10.1333333333vw;
    left: 0;
    width: 1.3333333333vw;
    height: 17.3333333333vw;
  }
  .m-slider.type-02 .section-aside p {
    right: -1.6vw;
  }
}

.m-sp-section {
  width: 1240px;
  max-width: 100%;
  margin: 0 auto 100px;
  padding: 0 40px;
}
.m-sp-section-content {
  position: relative;
  margin-bottom: 100px;
}
.m-sp-section-content .content-label {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
  padding-right: 100px;
}
.m-sp-section-content .content-label .label {
  position: relative;
  z-index: 0;
  min-width: 115px;
  padding: 0.4em 1em 0.4em 0;
  background-color: #e60112;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  white-space: nowrap;
}
.m-sp-section-content .content-label .label::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100vw;
  height: 100%;
  background-color: #e60112;
  transform: translate(-99%, 0);
  content: "";
}
.m-sp-section-content .content-label .desc {
  padding-left: 1em;
  font-size: 1.6rem;
}
.m-sp-section-content .content-body {
  padding: 0 100px;
}
.m-sp-section-content .content-body .heading {
  margin-bottom: 0.75em;
  font-size: 2.4rem;
}
.m-sp-section-content .content-body .sub-heading {
  margin-bottom: 0.5em;
  font-size: 1.9rem;
  font-weight: bold;
}
.m-sp-section-content .content-body p {
  font-size: 1.6rem;
  line-height: 1.6;
}
.m-sp-section-content .content-body p + p {
  margin-top: 1em;
}
.m-sp-section-content .content-body p + .sub-heading {
  margin-top: 2.25em;
}
.m-sp-section-content .content-button {
  display: flex;
  justify-content: center;
  margin-top: 40px;
  padding: 0 100px;
}
.m-sp-section-content .content-button .button {
  display: flex;
  align-items: center;
  height: 76px;
  padding: 0 50px;
  background-color: #e60112;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  transition: background-color 0.2s;
}
.m-sp-section-content .content-button .button:not(:last-child) {
  margin-right: 10px;
}
.m-sp-section-content .content-button .button::before {
  display: block;
  width: 8px;
  height: 12px;
  margin-right: 0.5em;
  background: url(../images/common/parts_white_arrow.svg) no-repeat 0 0/cover;
  content: "";
}
@media screen and (max-width: 750px) {
  .m-sp-section-content .content-button .button::before {
    width: 1.3333333333vw;
    height: 2vw;
  }
}
@media screen and (min-width: 751px) {
  .m-sp-section-content .content-button .button:hover {
    background-color: #cf0110;
  }
}
.m-sp-section-content::before, .m-sp-section-content::after {
  display: block;
  position: absolute;
  z-index: -1;
  width: 80px;
  border-style: solid;
  border-color: #e60112;
  box-sizing: border-box;
  content: "";
}
.m-sp-section-content::before {
  left: 0;
  bottom: 0;
  height: 200px;
  border-width: 0 0 10px 10px;
}
.m-sp-section-content::after {
  top: 0;
  right: 0;
  height: calc(100% - 76px);
  border-width: 10px 10px 10px 0;
}
@media screen and (max-width: 750px) {
  .m-sp-section {
    width: auto;
    margin: 0 auto 13.3333333333vw;
    padding: 0;
  }
  .m-sp-section .c-section-heading {
    padding-left: 5.0666666667vw;
    padding-right: 5.0666666667vw;
  }
  .m-sp-section-content {
    margin-bottom: 13.3333333333vw;
  }
  .m-sp-section-content .content-label {
    display: block;
    margin-bottom: 4vw;
    padding-right: 5.0666666667vw;
  }
  .m-sp-section-content .content-label .label {
    display: inline-block;
    min-width: auto;
    padding: 0.5em 5.0666666667vw;
    font-size: 3.7333333333vw;
  }
  .m-sp-section-content .content-label .label::before {
    content: none;
  }
  .m-sp-section-content .content-label .desc {
    margin-top: 1em;
    padding-left: 5.0666666667vw;
    font-size: 2.6666666667vw;
  }
  .m-sp-section-content .content-body {
    padding: 0 5.0666666667vw 0 10.4vw;
  }
  .m-sp-section-content .content-body .heading {
    margin-bottom: 1em;
    font-size: 4vw;
  }
  .m-sp-section-content .content-body .sub-heading {
    font-size: 3.2vw;
  }
  .m-sp-section-content .content-body p {
    font-size: 3.2vw;
  }
  .m-sp-section-content .content-button {
    display: block;
    width: 58.6666666667vw;
    margin: 8vw auto 0;
    padding: 0;
  }
  .m-sp-section-content .content-button .button {
    height: 13.3333333333vw;
    padding: 0 0 0 1em;
    font-size: 3.2vw;
  }
  .m-sp-section-content .content-button .button:not(:last-child) {
    margin-right: 0;
    margin-bottom: 2.6666666667vw;
  }
  .m-sp-section-content::before, .m-sp-section-content::after {
    width: 5.0666666667vw;
  }
  .m-sp-section-content::before {
    height: 26.6666666667vw;
    border-width: 0 0 1.3333333333vw 1.3333333333vw;
  }
  .m-sp-section-content::after {
    height: calc(100% - 29.3333333333vw);
    border-width: 1.3333333333vw 1.3333333333vw 1.3333333333vw 0;
  }
}

.m-three-column {
  position: relative;
  margin: 0 0 100px;
}
.m-three-column .c-section-heading {
  width: 1240px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 40px;
}
.m-three-column-content {
  position: relative;
  z-index: 1;
  margin: -15px 0 65px;
  padding: 25px 35px;
}
.m-three-column-content .content-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 1510px;
  max-width: 100%;
  margin: 0 auto;
}
.m-three-column-content .content-list-item {
  display: block;
  overflow: hidden;
  position: relative;
  width: 466px;
  margin: 5px;
  background-color: #fff;
}
.m-three-column-content .content-list-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 300px;
  height: 230px;
  background: url(../images/common/parts_work_triangle.svg) no-repeat 0 100%/cover;
  content: "";
}
.m-three-column-content .content-list-item .image {
  overflow: hidden;
}
.m-three-column-content .content-list-item .image img {
  width: 100%;
  transition: opacity 0.25s, transform 0.25s;
}
.m-three-column-content .content-list-item .content {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  padding: 275px 0 0 20px;
}
.m-three-column-content .content-list-item .content h3 {
  margin-bottom: 0.4em;
  font-size: 2.2rem;
  display: inline-block;
  padding-left: 1em;
  background: url(../images/common/parts_red_arrow.svg) no-repeat 0 56%/0.5em auto;
}
.m-three-column-content .content-list-item .content p {
  font-size: 1.2rem;
  line-height: 1.6;
}
@media screen and (min-width: 751px) {
  .m-three-column-content .content-list-item:hover .image img {
    opacity: 0.8;
    transform: scale(1.08);
  }
}
.m-three-column-content::after {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  width: 21.3333333333%;
  height: 530px;
  min-width: 320px;
  background-color: #e60112;
  content: "";
}
.m-three-column-aside {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 37.0666666667%;
  height: 640px;
  min-width: 556px;
  background-color: #e60112;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.m-three-column-aside p {
  position: absolute;
  bottom: -16px;
  left: -26px;
  color: #fff;
  opacity: 0.3;
  line-height: 1;
  transform-origin: 0 100%;
  transform: rotate(90deg) translate(-100%, 0);
  font-family: "Source Sans Pro", sans-serif;
}
.m-three-column-aside p .yamazaki {
  display: block;
  margin-bottom: -0.36em;
  font-size: 4.4rem;
  font-weight: 300;
  letter-spacing: 0.12em;
}
.m-three-column-aside p .title {
  display: block;
  font-size: 12rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 750px) {
  .m-three-column {
    margin: 0 0 13.3333333333vw;
  }
  .m-three-column .c-section-heading {
    padding: 0 5.0666666667vw;
  }
  .m-three-column-content {
    margin: 0 0 6.6666666667vw;
    padding: 2.6666666667vw 5.0666666667vw 6.6666666667vw;
  }
  .m-three-column-content .content-list {
    display: block;
  }
  .m-three-column-content .content-list-item {
    width: 72vw;
    margin: 1.3333333333vw 0;
    background-color: #fff;
  }
  .m-three-column-content .content-list-item:nth-child(odd) {
    margin-left: auto;
  }
  .m-three-column-content .content-list-item::before {
    bottom: -1px;
    width: 54.6666666667vw;
    height: 41.8666666667vw;
  }
  .m-three-column-content .content-list-item .content {
    padding: 37.3333333333vw 0 0 2.6666666667vw;
  }
  .m-three-column-content .content-list-item .content h3 {
    font-size: 3.7333333333vw;
  }
  .m-three-column-content .content-list-item .content p {
    font-size: 2.4vw;
  }
  .m-three-column-content::after {
    width: 42.6666666667vw;
    height: 157.3333333333vw;
    min-width: auto;
  }
  .m-three-column-aside {
    width: 74.1333333333vw;
    height: 197.3333333333vw;
    min-width: auto;
  }
  .m-three-column-aside p {
    bottom: -2.1333333333vw;
    left: -5.0666666667vw;
  }
  .m-three-column-aside p .yamazaki {
    font-size: 5.8666666667vw;
  }
  .m-three-column-aside p .title {
    font-size: 16.2666666667vw;
  }
}

.m-three-column-s, .m-data-four-column {
  width: 1240px;
  max-width: 100%;
  margin: 0 auto 100px;
  padding: 0 40px;
}
.m-three-column-s-content, .m-data-four-column-content {
  margin: -10px -20px 60px;
}
.m-three-column-s-content .content-list, .m-data-four-column-content .content-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.m-three-column-s-content .content-list__left::before, .m-data-four-column-content .content-list__left::before, .m-three-column-s-content .content-list__left::after, .m-data-four-column-content .content-list__left::after {
  order: 1;
  display: block;
  width: 400px;
  height: 0;
  content: "";
}
.m-three-column-s-content .content-list-item, .m-data-four-column-content .content-list-item {
  overflow: hidden;
  width: 360px;
  margin: 20px;
  background-color: #fff;
}
.m-three-column-s-content .content-list-item .image, .m-data-four-column-content .content-list-item .image {
  overflow: hidden;
  margin-bottom: 20px;
}
.m-three-column-s-content .content-list-item .image img, .m-data-four-column-content .content-list-item .image img {
  width: 100%;
  transition: opacity 0.25s, transform 0.25s;
}
.m-three-column-s-content .content-list-item .content h3, .m-data-four-column-content .content-list-item .content h3 {
  margin-bottom: 0.4em;
  font-size: 2.2rem;
}
.m-three-column-s-content .content-list-item .content p, .m-data-four-column-content .content-list-item .content p {
  font-size: 1.6rem;
}
.m-three-column-s-content .content-list-item .content p + p, .m-data-four-column-content .content-list-item .content p + p {
  margin-top: 0.5em;
}
.m-three-column-s-content .content-list-item:any-link, .m-data-four-column-content .content-list-item:any-link {
  display: block;
}
.m-three-column-s-content .content-list-item:any-link .content h3, .m-data-four-column-content .content-list-item:any-link .content h3 {
  display: inline-block;
  padding-left: 1em;
  background: url(../images/common/parts_red_arrow.svg) no-repeat 0 56%/0.5em auto;
}
@media screen and (min-width: 751px) {
  .m-three-column-s-content .content-list-item:any-link:hover .image img, .m-data-four-column-content .content-list-item:any-link:hover .image img {
    opacity: 0.8;
    transform: scale(1.08);
  }
  .m-three-column-s-content .content-list-item:any-link:hover .content h3, .m-data-four-column-content .content-list-item:any-link:hover .content h3 {
    text-decoration: underline;
  }
}
@media screen and (max-width: 750px) {
  .m-three-column-s, .m-data-four-column {
    margin: 0 0 13.3333333333vw;
    padding: 0 5.0666666667vw;
  }
  .m-three-column-s-content, .m-data-four-column-content {
    margin: 0 0 6.6666666667vw;
  }
  .m-three-column-s-content .content-list, .m-data-four-column-content .content-list {
    display: block;
  }
  .m-three-column-s-content .content-list__left::before, .m-data-four-column-content .content-list__left::before, .m-three-column-s-content .content-list__left::after, .m-data-four-column-content .content-list__left::after {
    content: none;
  }
  .m-three-column-s-content .content-list-item, .m-data-four-column-content .content-list-item {
    width: auto;
    margin: 0 0 9.3333333333vw;
    background-color: #fff;
  }
  .m-three-column-s-content .content-list-item .image, .m-data-four-column-content .content-list-item .image {
    margin-bottom: 4vw;
  }
  .m-three-column-s-content .content-list-item .content h3, .m-data-four-column-content .content-list-item .content h3 {
    font-size: 3.7333333333vw;
  }
  .m-three-column-s-content .content-list-item .content p, .m-data-four-column-content .content-list-item .content p {
    font-size: 3.2vw;
  }
}

.m-three-column-fixed {
  position: relative;
  margin: 0 0 100px;
}
.m-three-column-fixed-aside {
  overflow: hidden;
  position: absolute;
  top: auto;
  left: 0;
  z-index: -1;
  min-width: 58%;
  height: 226px;
  padding-top: 24px;
  background-color: #e60112;
  white-space: nowrap;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.m-three-column-fixed-aside p {
  color: #fff;
  opacity: 0.3;
  line-height: 1;
  font-family: "Source Sans Pro", sans-serif;
}
.m-three-column-fixed-aside p .yamazaki {
  margin-right: 0.4em;
  font-size: 4.8rem;
  font-weight: 300;
  letter-spacing: 0.1em;
}
.m-three-column-fixed-aside p .title {
  font-size: 7.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.m-three-column-fixed::after {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 30%;
  z-index: -1;
  display: block;
  height: 226px;
  background-color: #e60112;
  content: "";
}
.m-three-column-fixed-content {
  display: flex;
  width: 1500px;
  max-width: 100%;
  margin: 0 auto 50px;
  padding-top: 50px;
}
.m-three-column-fixed-content .content-item {
  width: 33.3333333333%;
}
.m-three-column-fixed-content .content-item:first-child {
  padding-top: 40px;
}
.m-three-column-fixed-content .content-item:last-child {
  padding-top: 20px;
}
.m-three-column-fixed-content .content-item .item-link {
  position: relative;
  display: block;
  background-color: #fff;
}
@media screen and (min-width: 751px) {
  .m-three-column-fixed-content .content-item .item-link:hover .image img {
    opacity: 0.8;
    transform: scale(1.08);
  }
}
.m-three-column-fixed-content .content-item .image {
  overflow: hidden;
}
.m-three-column-fixed-content .content-item .image img {
  max-width: 100%;
  transition: opacity 0.25s, transform 0.25s;
}
.m-three-column-fixed-content .content-item .content {
  position: absolute;
  left: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 340px;
  padding: 16px 20px 16px 30px;
  background-color: #fff;
  transform: translate(0, 66.6666666667%);
}
.m-three-column-fixed-content .content-item .content h3 {
  margin-bottom: 8px;
  font-size: 2rem;
  letter-spacing: 0.1em;
}
.m-three-column-fixed-content .content-item .content p {
  font-size: 1.6rem;
  font-weight: bold;
  display: inline-block;
  padding-left: 1em;
  background: url(../images/common/parts_red_arrow.svg) no-repeat 0 56%/0.5em auto;
}
@media screen and (max-width: 1024px) {
  .m-three-column-fixed-content {
    display: block;
    width: 500px;
    margin-bottom: 90px;
    padding: 0 0 10px;
  }
  .m-three-column-fixed-content .content-item {
    width: 100%;
    margin-bottom: 70px;
  }
}
@media screen and (max-width: 750px) {
  .m-three-column-fixed {
    margin: 0 0 13.3333333333vw;
  }
  .m-three-column-fixed-aside {
    width: 94.9333333333vw;
    height: 26.6666666667vw;
    min-width: auto;
    padding-top: 0;
  }
  .m-three-column-fixed-aside p {
    margin: 0;
    padding-top: 4vw;
  }
  .m-three-column-fixed-aside p .yamazaki {
    font-size: 6vw;
  }
  .m-three-column-fixed-aside p .title {
    font-size: 10vw;
  }
  .m-three-column-fixed::after {
    bottom: 6.6666666667vw;
    width: 100%;
    height: 26.6666666667vw;
  }
  .m-three-column-fixed-content {
    width: auto;
    margin-bottom: 0;
    padding-top: 12vw;
  }
  .m-three-column-fixed-content .content-item {
    width: auto;
    padding: 0 !important;
    margin-bottom: 1.3333333333vw;
  }
  .m-three-column-fixed-content .content-item:last-child {
    margin-bottom: 0;
  }
  .m-three-column-fixed-content .content-item:nth-child(odd) {
    text-align: right;
  }
  .m-three-column-fixed-content .content-item .item-link {
    background: none;
  }
  .m-three-column-fixed-content .content-item .content {
    display: inline-flex;
    position: relative;
    min-width: 50%;
    margin-top: -6.1333333333vw;
    padding: 3.2vw 4vw;
    transform: none;
    text-align: left;
  }
  .m-three-column-fixed-content .content-item .content h3 {
    margin-bottom: 1.0666666667vw;
    font-size: 3.7333333333vw;
  }
  .m-three-column-fixed-content .content-item .content p {
    font-size: 3.2vw;
  }
}

.m-visual {
  position: relative;
  margin-top: -20px;
  border-right: 40px solid #e60112;
}
.m-visual-body {
  position: relative;
  padding-top: 41.4383561644%;
}
.m-visual-image {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.m-visual-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.m-visual-content {
  position: absolute;
  left: 30px;
  bottom: 9.9173553719%;
  z-index: 1;
  padding: 5px 10px;
}
.m-visual-content .heading {
  margin-bottom: 25px;
  color: #e60112;
  font-size: 5rem;
}
.m-visual-content .text {
  font-size: 2rem;
  line-height: 1.75;
}
.m-visual-content .text p + p {
  margin-top: 1em;
}
.m-visual-content.type-01 {
  background-color: rgba(255, 255, 255, 0.8);
}
.m-visual-content.type-02 {
  background-color: #fff;
}
@media screen and (max-width: 1200px) {
  .m-visual-content .heading {
    margin-bottom: 16px;
    font-size: 4.5rem;
  }
  .m-visual-content .text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 1024px) {
  .m-visual-content {
    padding: 4px 8px;
  }
  .m-visual-content .heading {
    margin-bottom: 10px;
    font-size: 3.6rem;
  }
  .m-visual-content .text {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 750px) {
  .m-visual {
    margin: -2.6666666667vw 0 2.6666666667vw;
    border: none;
  }
  .m-visual::after {
    display: block;
    position: absolute;
    top: -2.6666666667vw;
    right: 0;
    z-index: 0;
    width: 54.4vw;
    height: 2.6666666667vw;
    background-color: #e60112;
    content: "";
  }
  .m-visual-body {
    padding: 0;
  }
  .m-visual-image {
    position: relative;
    width: 100%;
    height: auto;
    padding-top: 106.6666666667%;
    border-right: 5.0666666667vw solid #e60112;
  }
  .m-visual-image img {
    position: absolute;
    top: 0;
    left: 0;
  }
  .m-visual-content {
    display: inline-block;
    position: relative;
    left: auto;
    bottom: auto;
    width: calc(100% - 7.6vw);
    margin: -21.3333333333vw 0 0 2.5333333333vw;
    padding: 0.6666666667vw 2.5333333333vw;
  }
  .m-visual-content.type-01 {
    background-color: #fff;
  }
  .m-visual-content .heading {
    margin-bottom: 2.6666666667vw;
    font-size: 6.6666666667vw;
  }
  .m-visual-content .text {
    font-size: 3.4666666667vw;
  }
  .m-visual-content .text span {
    line-height: 1.65;
  }
}

.m-number-grid {
  padding: 60px 0;
  background-color: #f5cbcf;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.m-number-grid-content {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  width: 1180px;
  max-width: 100%;
  margin: 0 auto;
}
.m-number-grid-content .grid-item {
  position: relative;
  margin: 10px;
  background-color: #fff7f8;
  opacity: 0;
  transition: opacity 0.2s;
}
.m-number-grid-content .grid-item.intersected {
  opacity: 1;
}
.m-number-grid-content .grid-item.grid-2 {
  width: calc(50% - 20px);
  padding-top: calc((50% - 20px) * 500 / 570);
}
.m-number-grid-content .grid-item.grid-2 .heading {
  margin-top: 50px;
  font-size: 5rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .grid-item.grid-2 .heading {
    margin-top: 4.2372881356vw;
    font-size: 4.2372881356vw;
  }
}
.m-number-grid-content .grid-item.grid-2-m {
  width: calc(50% - 20px);
  padding-top: calc((50% - 20px) * 370 / 570);
}
.m-number-grid-content .grid-item.grid-2-m.negative {
  margin-top: calc((50% - 20px) * 85 / 570 * -1);
}
.m-number-grid-content .grid-item.grid-2-m .heading {
  margin-top: 22px;
  font-size: 4rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .grid-item.grid-2-m .heading {
    margin-top: 1.8644067797vw;
    font-size: 3.3898305085vw;
  }
}
.m-number-grid-content .grid-item.grid-3 {
  width: calc(33.3333333333% - 20px);
  padding-top: calc(33.3333333333% - 20px);
}
.m-number-grid-content .grid-item.grid-3 .heading {
  margin-top: 35px;
  font-size: 2.7rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .grid-item.grid-3 .heading {
    margin-top: 2.9661016949vw;
    font-size: 2.2881355932vw;
  }
}
.m-number-grid-content .grid-item.grid-4 {
  width: calc(25% - 20px);
  padding-top: calc(25% - 20px);
}
.m-number-grid-content .grid-item.grid-4 .heading {
  margin-top: 24px;
  font-size: 1.9rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .grid-item.grid-4 .heading {
    margin-top: 2.0338983051vw;
    font-size: 1.6101694915vw;
  }
}
.m-number-grid-content .grid-item.grid-4 .label {
  display: inline-block;
  border-style: solid;
  border-color: #e60112;
  color: #e60112;
  width: 145px;
  margin-top: 4px;
  border-width: 2px;
  font-size: 1.3rem;
  line-height: 20px;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .grid-item.grid-4 .label {
    width: 12.2881355932vw;
    margin-top: 0.3389830508vw;
    border-width: 0.1694915254vw;
    font-size: 1.1016949153vw;
    line-height: 1.6949152542vw;
  }
}
.m-number-grid-content .grid-body {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-weight: bold;
  text-align: center;
  background-repeat: no-repeat;
}
.m-number-grid-content .grid-body .heading {
  color: #e60112;
}
.m-number-grid-content .grid-body .content .prefix,
.m-number-grid-content .grid-body .content .suffix {
  display: inline-block;
}
.m-number-grid-content .grid-body .content .count {
  display: inline-block;
  margin-right: 0.03em;
  color: #e60112;
  letter-spacing: -0.06em;
}
.m-number-grid-content .grid-body .graph {
  position: relative;
  width: 65.4545454545%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 16px;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .grid-body .graph {
    margin-top: 1.3559322034vw;
  }
}
.m-number-grid-content .grid-body .graph-svg {
  width: 100%;
  transform: rotate(-90deg);
}
.m-number-grid-content .grid-body .graph-svg circle {
  fill: transparent;
  stroke-dasharray: 0, 0, 0, 100;
  transition: stroke-dasharray 1s;
}
.m-number-grid-content .grid-body .graph-svg-f {
  stroke: #ffbfba;
}
.m-number-grid-content .grid-body .graph-svg-m {
  stroke: #ffd6d0;
}
.m-number-grid-content .grid-body .graph-svg-l {
  stroke: #ffe5e1;
}
.m-number-grid-content .grid-body .graph-label {
  position: absolute;
  color: #e60112;
  line-height: 1;
}
.m-number-grid-content .grid-body .graph-label .prefix {
  display: block;
}
.m-number-grid-content .item-01 .grid-body {
  background-image: url(../images/about/bg_grid_item_01.svg);
  background-size: 40.1754385965% auto;
  background-position: 50% 36.9863013699%;
}
.m-number-grid-content .item-01 .content {
  margin-top: 70px;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-01 .content {
    margin-top: 5.9322033898vw;
  }
}
.m-number-grid-content .item-01 .content .text-01 {
  line-height: 1;
}
.m-number-grid-content .item-01 .content .text-01 .count {
  font-size: 21rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-01 .content .text-01 .count {
    font-size: 17.7966101695vw;
  }
}
.m-number-grid-content .item-01 .content .text-01 .suffix {
  font-size: 8rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-01 .content .text-01 .suffix {
    font-size: 6.7796610169vw;
  }
}
.m-number-grid-content .item-01 .content .text-02 {
  margin-top: 20px;
  font-size: 3rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-01 .content .text-02 {
    margin-top: 1.6949152542vw;
    font-size: 2.5423728814vw;
  }
}
.m-number-grid-content .item-02 .grid-body {
  background-image: url(../images/about/bg_grid_item_02.svg);
  background-size: 35.9649122807% auto;
  background-position: 50% 35.2480417755%;
}
.m-number-grid-content .item-02 .content {
  margin-top: 146px;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-02 .content {
    margin-top: 12.3728813559vw;
  }
}
.m-number-grid-content .item-02 .content .text-01 {
  line-height: 1;
}
.m-number-grid-content .item-02 .content .text-01 .count {
  font-size: 13rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-02 .content .text-01 .count {
    font-size: 11.0169491525vw;
  }
}
.m-number-grid-content .item-02 .content .text-01 .suffix {
  font-size: 7rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-02 .content .text-01 .suffix {
    font-size: 5.9322033898vw;
  }
}
.m-number-grid-content .item-02 .content .text-02 {
  margin-top: 24px;
  font-size: 3rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-02 .content .text-02 {
    margin-top: 2.0338983051vw;
    font-size: 2.5423728814vw;
  }
}
.m-number-grid-content .item-03 .grid-body {
  background-image: url(../images/about/bg_grid_item_03.svg);
  background-size: 53.6193029491% auto;
  background-position: 50% 32.3003575685%;
}
.m-number-grid-content .item-03 .content {
  margin-top: 110px;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-03 .content {
    margin-top: 9.3220338983vw;
  }
}
.m-number-grid-content .item-03 .content .text-01 {
  line-height: 1;
}
.m-number-grid-content .item-03 .content .text-01 .count {
  font-size: 11rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-03 .content .text-01 .count {
    font-size: 9.3220338983vw;
  }
}
.m-number-grid-content .item-03 .content .text-02 {
  margin-top: 20px;
  font-size: 2.6rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-03 .content .text-02 {
    margin-top: 1.6949152542vw;
    font-size: 2.2033898305vw;
  }
}
.m-number-grid-content .item-04 .grid-body {
  background-image: url(../images/about/bg_grid_item_04.svg);
  background-size: 42.6273458445% auto;
  background-position: 50% 33.7209302326%;
}
.m-number-grid-content .item-04 .content {
  margin-top: 125px;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-04 .content {
    margin-top: 10.593220339vw;
  }
}
.m-number-grid-content .item-04 .content .text-01 {
  line-height: 1;
}
.m-number-grid-content .item-04 .content .text-01 .count {
  font-size: 14rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-04 .content .text-01 .count {
    font-size: 11.8644067797vw;
  }
}
.m-number-grid-content .item-04 .content .text-01 .suffix {
  font-size: 6rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-04 .content .text-01 .suffix {
    font-size: 5.0847457627vw;
  }
}
.m-number-grid-content .item-05 .grid-body {
  background-image: url(../images/about/bg_grid_item_05.svg);
  background-size: 28.9544235925% auto;
  background-position: 50% 31.6455696203%;
}
.m-number-grid-content .item-05 .content {
  margin-top: 90px;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-05 .content {
    margin-top: 7.6271186441vw;
  }
}
.m-number-grid-content .item-05 .content .text-01 {
  line-height: 1;
}
.m-number-grid-content .item-05 .content .text-01 .count {
  font-size: 11rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-05 .content .text-01 .count {
    font-size: 9.3220338983vw;
  }
}
.m-number-grid-content .item-05 .content .text-01 .prefix,
.m-number-grid-content .item-05 .content .text-01 .suffix {
  font-size: 6rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-05 .content .text-01 .prefix,
  .m-number-grid-content .item-05 .content .text-01 .suffix {
    font-size: 5.0847457627vw;
  }
}
.m-number-grid-content .item-05 .content .text-02 {
  letter-spacing: 0.2em;
  margin-top: 10px;
  font-size: 2.6rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-05 .content .text-02 {
    margin-top: 0.8474576271vw;
    font-size: 2.2033898305vw;
  }
}
.m-number-grid-content .item-05 .content .text-03 {
  margin-top: 4px;
  font-size: 1.8rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-05 .content .text-03 {
    margin-top: 0.3389830508vw;
    font-size: 1.5254237288vw;
  }
}
.m-number-grid-content .item-06 .grid-body {
  background-image: url(../images/about/bg_grid_item_06.svg);
  background-size: 29.8181818182% auto;
  background-position: 50% 34.8031496063%;
}
.m-number-grid-content .item-06 .content {
  margin-top: 98px;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-06 .content {
    margin-top: 8.3050847458vw;
  }
}
.m-number-grid-content .item-06 .content .text-01 {
  line-height: 1;
}
.m-number-grid-content .item-06 .content .text-01 .count {
  font-size: 8rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-06 .content .text-01 .count {
    font-size: 6.7796610169vw;
  }
}
.m-number-grid-content .item-06 .content .text-01 .suffix {
  font-size: 2rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-06 .content .text-01 .suffix {
    font-size: 1.6949152542vw;
  }
}
.m-number-grid-content .item-07 .grid-body {
  background-image: url(../images/about/bg_grid_item_07.svg);
  background-size: 45.4545454545% auto;
  background-position: 50% 33.9774557166%;
}
.m-number-grid-content .item-07 .content {
  margin-top: 108px;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-07 .content {
    margin-top: 9.1525423729vw;
  }
}
.m-number-grid-content .item-07 .content .text-01,
.m-number-grid-content .item-07 .content .text-02 {
  line-height: 1;
}
.m-number-grid-content .item-07 .content .text-01 .count,
.m-number-grid-content .item-07 .content .text-02 .count {
  font-size: 4rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-07 .content .text-01 .count,
  .m-number-grid-content .item-07 .content .text-02 .count {
    font-size: 3.3898305085vw;
  }
}
.m-number-grid-content .item-07 .content .text-01 .suffix,
.m-number-grid-content .item-07 .content .text-02 .suffix {
  font-size: 2rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-07 .content .text-01 .suffix,
  .m-number-grid-content .item-07 .content .text-02 .suffix {
    font-size: 1.6949152542vw;
  }
}
.m-number-grid-content .item-07 .content .text-02 {
  margin-top: 4px;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-07 .content .text-02 {
    margin-top: 0.3389830508vw;
  }
}
.m-number-grid-content .item-08 .content {
  margin-top: 28px;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-08 .content {
    margin-top: 2.3728813559vw;
  }
}
.m-number-grid-content .item-08 .content .text-01 {
  line-height: 1;
}
.m-number-grid-content .item-08 .content .text-01 .count {
  font-size: 10rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-08 .content .text-01 .count {
    font-size: 8.4745762712vw;
  }
}
.m-number-grid-content .item-08 .content .text-01 .prefix,
.m-number-grid-content .item-08 .content .text-01 .suffix {
  font-size: 2rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-08 .content .text-01 .prefix,
  .m-number-grid-content .item-08 .content .text-01 .suffix {
    font-size: 1.6949152542vw;
  }
}
.m-number-grid-content .item-09 .grid-body {
  background-image: url(../images/about/bg_grid_item_09.svg);
  background-size: 27.2727272727% auto;
  background-position: 50% 40.4682274247%;
}
.m-number-grid-content .item-09 .content {
  margin-top: 64px;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-09 .content {
    margin-top: 5.4237288136vw;
  }
}
.m-number-grid-content .item-09 .content .text-01 {
  line-height: 1;
}
.m-number-grid-content .item-09 .content .text-01 .count {
  font-size: 8rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-09 .content .text-01 .count {
    font-size: 6.7796610169vw;
  }
}
.m-number-grid-content .item-09 .content .text-01 .prefix,
.m-number-grid-content .item-09 .content .text-01 .suffix {
  font-size: 2rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-09 .content .text-01 .prefix,
  .m-number-grid-content .item-09 .content .text-01 .suffix {
    font-size: 1.6949152542vw;
  }
}
.m-number-grid-content .item-09 .content .text-02 {
  margin-top: 8px;
  font-size: 1.6rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-09 .content .text-02 {
    margin-top: 0.6779661017vw;
    font-size: 1.3559322034vw;
  }
}
.m-number-grid-content .item-10 .grid-body {
  background-image: url(../images/about/bg_grid_item_10.svg);
  background-size: 55.4385964912% auto;
  background-position: 50% 35.2517985612%;
}
.m-number-grid-content .item-10 .content {
  margin-top: 75px;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-10 .content {
    margin-top: 6.3559322034vw;
  }
}
.m-number-grid-content .item-10 .content .text-01 {
  line-height: 1;
}
.m-number-grid-content .item-10 .content .text-01 .count {
  font-size: 13rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-10 .content .text-01 .count {
    font-size: 11.0169491525vw;
  }
}
.m-number-grid-content .item-10 .content .text-01 .suffix {
  font-size: 7rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-10 .content .text-01 .suffix {
    font-size: 5.9322033898vw;
  }
}
.m-number-grid-content .item-10 .content .text-02 {
  margin-top: 30px;
  font-size: 2rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-10 .content .text-02 {
    margin-top: 2.5423728814vw;
    font-size: 1.6949152542vw;
  }
}
.m-number-grid-content .item-11 .graph-label__01 {
  top: 64px;
  left: 100px;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-11 .graph-label__01 {
    top: 5.4237288136vw;
    left: 8.4745762712vw;
  }
}
.m-number-grid-content .item-11 .graph-label__01 .prefix {
  text-align: left;
  font-size: 2.1rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-11 .graph-label__01 .prefix {
    font-size: 1.7796610169vw;
  }
}
.m-number-grid-content .item-11 .graph-label__01 .count {
  font-size: 6rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-11 .graph-label__01 .count {
    font-size: 5.0847457627vw;
  }
}
.m-number-grid-content .item-11 .graph-label__01 .suffix {
  font-size: 3rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-11 .graph-label__01 .suffix {
    font-size: 2.5423728814vw;
  }
}
.m-number-grid-content .item-11 .graph-label__02 {
  top: 15px;
  left: 20px;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-11 .graph-label__02 {
    top: 1.2711864407vw;
    left: 1.6949152542vw;
  }
}
.m-number-grid-content .item-11 .graph-label__02 .prefix {
  font-size: 1.6rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-11 .graph-label__02 .prefix {
    font-size: 1.3559322034vw;
  }
}
.m-number-grid-content .item-11 .graph-label__02 .count {
  font-size: 4rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-11 .graph-label__02 .count {
    font-size: 3.3898305085vw;
  }
}
.m-number-grid-content .item-11 .graph-label__02 .suffix {
  font-size: 2rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-11 .graph-label__02 .suffix {
    font-size: 1.6949152542vw;
  }
}
.m-number-grid-content .item-11.intersected .graph-svg-f {
  stroke-dasharray: 79, 21, 0, 0;
}
.m-number-grid-content .item-11.intersected .graph-svg-l {
  stroke-dasharray: 0, 79, 21, 0;
}
.m-number-grid-content .item-12 .graph-label__01 {
  top: 50px;
  left: 106px;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-12 .graph-label__01 {
    top: 4.2372881356vw;
    left: 8.9830508475vw;
  }
}
.m-number-grid-content .item-12 .graph-label__01 .prefix {
  text-align: left;
  font-size: 2.1rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-12 .graph-label__01 .prefix {
    font-size: 1.7796610169vw;
  }
}
.m-number-grid-content .item-12 .graph-label__01 .count {
  font-size: 6rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-12 .graph-label__01 .count {
    font-size: 5.0847457627vw;
  }
}
.m-number-grid-content .item-12 .graph-label__01 .suffix {
  font-size: 3rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-12 .graph-label__01 .suffix {
    font-size: 2.5423728814vw;
  }
}
.m-number-grid-content .item-12 .graph-label__02 {
  top: 76px;
  left: 12px;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-12 .graph-label__02 {
    top: 6.4406779661vw;
    left: 1.0169491525vw;
  }
}
.m-number-grid-content .item-12 .graph-label__02 .prefix {
  font-size: 1.6rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-12 .graph-label__02 .prefix {
    font-size: 1.3559322034vw;
  }
}
.m-number-grid-content .item-12 .graph-label__02 .count {
  font-size: 4rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-12 .graph-label__02 .count {
    font-size: 3.3898305085vw;
  }
}
.m-number-grid-content .item-12 .graph-label__02 .suffix {
  font-size: 2rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-12 .graph-label__02 .suffix {
    font-size: 1.6949152542vw;
  }
}
.m-number-grid-content .item-12 .graph-label__03 {
  top: 14px;
  left: 48px;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-12 .graph-label__03 {
    top: 1.186440678vw;
    left: 4.0677966102vw;
  }
}
.m-number-grid-content .item-12 .graph-label__03 .prefix {
  font-size: 1.3rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-12 .graph-label__03 .prefix {
    font-size: 1.1016949153vw;
  }
}
.m-number-grid-content .item-12 .graph-label__03 .count {
  font-size: 3rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-12 .graph-label__03 .count {
    font-size: 2.5423728814vw;
  }
}
.m-number-grid-content .item-12 .graph-label__03 .suffix {
  font-size: 1.5rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-12 .graph-label__03 .suffix {
    font-size: 1.2711864407vw;
  }
}
.m-number-grid-content .item-12.intersected .graph-svg-f {
  stroke-dasharray: 49, 51, 0, 0;
}
.m-number-grid-content .item-12.intersected .graph-svg-m {
  stroke-dasharray: 0, 49, 38, 13;
}
.m-number-grid-content .item-12.intersected .graph-svg-l {
  stroke-dasharray: 0, 87, 13, 0;
}
.m-number-grid-content .item-13 .graph-label__01 {
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  border-radius: 50%;
  background-color: #fff7f8;
  width: 80px;
  height: 80px;
  font-size: 1.6rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-13 .graph-label__01 {
    width: 6.7796610169vw;
    height: 6.7796610169vw;
    font-size: 1.3559322034vw;
  }
}
.m-number-grid-content .item-13 .graph-label__02 .prefix, .m-number-grid-content .item-13 .graph-label__03 .prefix {
  font-size: 2.1rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-13 .graph-label__02 .prefix, .m-number-grid-content .item-13 .graph-label__03 .prefix {
    font-size: 1.7796610169vw;
  }
}
.m-number-grid-content .item-13 .graph-label__02 .count, .m-number-grid-content .item-13 .graph-label__03 .count {
  font-size: 5rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-13 .graph-label__02 .count, .m-number-grid-content .item-13 .graph-label__03 .count {
    font-size: 4.2372881356vw;
  }
}
.m-number-grid-content .item-13 .graph-label__02 .suffix, .m-number-grid-content .item-13 .graph-label__03 .suffix {
  font-size: 2.5rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-13 .graph-label__02 .suffix, .m-number-grid-content .item-13 .graph-label__03 .suffix {
    font-size: 2.1186440678vw;
  }
}
.m-number-grid-content .item-13 .graph-label__02 {
  top: 48px;
  left: 136px;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-13 .graph-label__02 {
    top: 4.0677966102vw;
    left: 11.5254237288vw;
  }
}
.m-number-grid-content .item-13 .graph-label__03 {
  top: 48px;
  left: -34px;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-13 .graph-label__03 {
    top: 4.0677966102vw;
    left: -2.8813559322vw;
  }
}
.m-number-grid-content .item-13.intersected .graph-svg-f {
  stroke-dasharray: 47, 53, 0, 0;
}
.m-number-grid-content .item-13.intersected .graph-svg-l {
  stroke-dasharray: 0, 47, 53, 0;
}
.m-number-grid-content .item-14 .grid-body {
  background-image: url(../images/about/bg_grid_item_14.svg);
  background-size: 39.6363636364% auto;
  background-position: 50% 34.3701399689%;
}
.m-number-grid-content .item-14 .content {
  margin-top: 96px;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-14 .content {
    margin-top: 8.1355932203vw;
  }
}
.m-number-grid-content .item-14 .content .text-01 {
  line-height: 1;
}
.m-number-grid-content .item-14 .content .text-01 .count {
  font-size: 8rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-14 .content .text-01 .count {
    font-size: 6.7796610169vw;
  }
}
.m-number-grid-content .item-14 .content .text-01 .suffix {
  font-size: 2rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-14 .content .text-01 .suffix {
    font-size: 1.6949152542vw;
  }
}
.m-number-grid-content .item-14 .content .text-02 {
  margin-top: 4px;
  font-size: 1.6rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-14 .content .text-02 {
    margin-top: 0.3389830508vw;
    font-size: 1.3559322034vw;
  }
}
.m-number-grid-content .item-15 .content {
  margin-top: 15px;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-15 .content {
    margin-top: 1.2711864407vw;
  }
}
.m-number-grid-content .item-15 .content .text-01 {
  font-size: 3.1rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-15 .content .text-01 {
    font-size: 2.6271186441vw;
  }
}
.m-number-grid-content .item-15 .content .text-02 {
  line-height: 1;
}
.m-number-grid-content .item-15 .content .text-02 .count {
  font-size: 15rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-15 .content .text-02 .count {
    font-size: 12.7118644068vw;
  }
}
.m-number-grid-content .item-15 .content .text-02 .suffix {
  font-size: 6rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-15 .content .text-02 .suffix {
    font-size: 5.0847457627vw;
  }
}
.m-number-grid-content .item-15 .content .text-03 {
  margin-top: 15px;
  font-size: 2rem;
}
@media screen and (max-width: 1179px) {
  .m-number-grid-content .item-15 .content .text-03 {
    margin-top: 1.2711864407vw;
    font-size: 1.6949152542vw;
  }
}
@media screen and (max-width: 750px) {
  .m-number-grid {
    padding: 2.6666666667vw 5.0666666667vw;
  }
  .m-number-grid-content {
    width: auto;
    justify-content: space-between;
  }
  .m-number-grid-content .grid-item {
    margin: 2.6666666667vw 0;
  }
  .m-number-grid-content .grid-item.grid-2 {
    width: 100%;
    padding-top: 78.6666666667vw;
  }
  .m-number-grid-content .grid-item.grid-2 .heading {
    margin-top: 8vw;
    font-size: 8vw;
  }
  .m-number-grid-content .grid-item.grid-2-m {
    width: 100%;
    padding-top: 58.4vw;
  }
  .m-number-grid-content .grid-item.grid-2-m.negative {
    margin-top: 2.6666666667vw;
  }
  .m-number-grid-content .grid-item.grid-2-m .heading {
    margin-top: 3.4666666667vw;
    font-size: 6.4vw;
  }
  .m-number-grid-content .grid-item.grid-3 {
    width: 100%;
    padding-top: 100%;
  }
  .m-number-grid-content .grid-item.grid-3 .heading {
    margin-top: 8.5333333333vw;
    font-size: 6.4vw;
  }
  .m-number-grid-content .grid-item.grid-4 {
    width: calc(50% - 2.6666666667vw);
    padding-top: calc(50% - 2.6666666667vw);
  }
  .m-number-grid-content .grid-item.grid-4 .heading {
    margin-top: 3.4666666667vw;
    font-size: 3.0666666667vw;
  }
  .m-number-grid-content .grid-item.grid-4 .label {
    width: 23.3333333333vw;
    margin-top: 0.6666666667vw;
    border-width: 0.4vw;
    line-height: 3.2vw;
    font-size: 2.6666666667vw;
  }
  .m-number-grid-content .grid-body .graph {
    width: 65.4545454545%;
    margin-top: 2.6666666667vw;
  }
  .m-number-grid-content .item-01 .grid-body {
    background-size: 40.1754% auto;
  }
  .m-number-grid-content .item-01 .content {
    margin-top: 11.3333333333vw;
  }
  .m-number-grid-content .item-01 .content .text-01 .count {
    font-size: 33.8666666667vw;
  }
  .m-number-grid-content .item-01 .content .text-01 .suffix {
    font-size: 12.8vw;
  }
  .m-number-grid-content .item-01 .content .text-02 {
    font-size: 4.8vw;
  }
  .m-number-grid-content .item-02 .grid-body {
    background-size: 40.1754% auto;
  }
  .m-number-grid-content .item-02 .content {
    margin-top: 23.4666666667vw;
  }
  .m-number-grid-content .item-02 .content .text-01 .count {
    font-size: 20.9333333333vw;
  }
  .m-number-grid-content .item-02 .content .text-01 .suffix {
    font-size: 11.3333333333vw;
  }
  .m-number-grid-content .item-02 .content .text-02 {
    margin-top: 3.8666666667vw;
    font-size: 4.8vw;
  }
  .m-number-grid-content .item-03 .grid-body {
    background-size: 53.6193% auto;
  }
  .m-number-grid-content .item-03 .content {
    margin-top: 26.6666666667vw;
  }
  .m-number-grid-content .item-03 .content .text-01 .count {
    font-size: 26.6666666667vw;
  }
  .m-number-grid-content .item-03 .content .text-02 {
    margin-top: 4.8vw;
    font-size: 6.1333333333vw;
  }
  .m-number-grid-content .item-04 .grid-body {
    background-size: 42.6273% auto;
  }
  .m-number-grid-content .item-04 .content {
    margin-top: 30.2666666667vw;
  }
  .m-number-grid-content .item-04 .content .text-01 .count {
    font-size: 33.8666666667vw;
  }
  .m-number-grid-content .item-04 .content .text-01 .suffix {
    font-size: 14.5333333333vw;
  }
  .m-number-grid-content .item-05 .grid-body {
    background-size: 31.6456% auto;
  }
  .m-number-grid-content .item-05 .content {
    margin-top: 21.8666666667vw;
  }
  .m-number-grid-content .item-05 .content .text-01 .count {
    font-size: 26.6666666667vw;
  }
  .m-number-grid-content .item-05 .content .text-01 .prefix,
  .m-number-grid-content .item-05 .content .text-01 .suffix {
    font-size: 14.5333333333vw;
  }
  .m-number-grid-content .item-05 .content .text-02 {
    margin-top: 2.4vw;
    font-size: 6.1333333333vw;
  }
  .m-number-grid-content .item-05 .content .text-03 {
    margin-top: 0.9333333333vw;
    font-size: 4.2666666667vw;
  }
  .m-number-grid-content .item-06 .grid-body {
    background-size: 29.8182% auto;
  }
  .m-number-grid-content .item-06 .content {
    margin-top: 15.7333333333vw;
  }
  .m-number-grid-content .item-06 .content .text-01 .count {
    font-size: 12.9333333333vw;
  }
  .m-number-grid-content .item-06 .content .text-01 .suffix {
    font-size: 3.2vw;
  }
  .m-number-grid-content .item-07 .grid-body {
    background-size: 45.4546% auto;
  }
  .m-number-grid-content .item-07 .content {
    margin-top: 17.3333333333vw;
  }
  .m-number-grid-content .item-07 .content .text-01 .count,
  .m-number-grid-content .item-07 .content .text-02 .count {
    font-size: 6.4vw;
  }
  .m-number-grid-content .item-07 .content .text-01 .suffix,
  .m-number-grid-content .item-07 .content .text-02 .suffix {
    font-size: 3.2vw;
  }
  .m-number-grid-content .item-07 .content .text-02 {
    margin-top: 0.6666666667vw;
  }
  .m-number-grid-content .item-08 .content {
    margin-top: 4.5333333333vw;
  }
  .m-number-grid-content .item-08 .content .text-01 .count {
    font-size: 16vw;
  }
  .m-number-grid-content .item-08 .content .text-01 .prefix,
  .m-number-grid-content .item-08 .content .text-01 .suffix {
    font-size: 3.2vw;
  }
  .m-number-grid-content .item-09 .grid-body {
    background-size: 40.4682% auto;
  }
  .m-number-grid-content .item-09 .content {
    margin-top: 10.2666666667vw;
  }
  .m-number-grid-content .item-09 .content .text-01 .count {
    font-size: 12.8vw;
  }
  .m-number-grid-content .item-09 .content .text-01 .prefix,
  .m-number-grid-content .item-09 .content .text-01 .suffix {
    font-size: 3.2vw;
  }
  .m-number-grid-content .item-09 .content .text-02 {
    margin-top: 1.3333333333vw;
    font-size: 2.6666666667vw;
  }
  .m-number-grid-content .item-10 .grid-body {
    background-size: 55.4386% auto;
  }
  .m-number-grid-content .item-10 .content {
    margin-top: 12vw;
  }
  .m-number-grid-content .item-10 .content .text-01 .count {
    font-size: 20.9333333333vw;
  }
  .m-number-grid-content .item-10 .content .text-01 .suffix {
    font-size: 11.3333333333vw;
  }
  .m-number-grid-content .item-10 .content .text-02 {
    margin-top: 4.8vw;
    font-size: 3.2vw;
  }
  .m-number-grid-content .item-11 .graph-label__01 {
    top: 10.2666666667vw;
    left: 16vw;
  }
  .m-number-grid-content .item-11 .graph-label__01 .prefix {
    font-size: 3.3333333333vw;
  }
  .m-number-grid-content .item-11 .graph-label__01 .count {
    font-size: 9.6vw;
  }
  .m-number-grid-content .item-11 .graph-label__01 .suffix {
    font-size: 4.8vw;
  }
  .m-number-grid-content .item-11 .graph-label__02 {
    top: 2.4vw;
    left: 3.2vw;
  }
  .m-number-grid-content .item-11 .graph-label__02 .prefix {
    font-size: 2.6666666667vw;
  }
  .m-number-grid-content .item-11 .graph-label__02 .count {
    font-size: 6.4vw;
  }
  .m-number-grid-content .item-11 .graph-label__02 .suffix {
    font-size: 3.2vw;
  }
  .m-number-grid-content .item-12 .graph-label__01 {
    top: 8vw;
    left: 17.0666666667vw;
  }
  .m-number-grid-content .item-12 .graph-label__01 .prefix {
    font-size: 3.3333333333vw;
  }
  .m-number-grid-content .item-12 .graph-label__01 .count {
    font-size: 9.6vw;
  }
  .m-number-grid-content .item-12 .graph-label__01 .suffix {
    font-size: 4.8vw;
  }
  .m-number-grid-content .item-12 .graph-label__02 {
    top: 12.2666666667vw;
    left: 2vw;
  }
  .m-number-grid-content .item-12 .graph-label__02 .prefix {
    font-size: 2.6666666667vw;
  }
  .m-number-grid-content .item-12 .graph-label__02 .count {
    font-size: 6.4vw;
  }
  .m-number-grid-content .item-12 .graph-label__02 .suffix {
    font-size: 3.2vw;
  }
  .m-number-grid-content .item-12 .graph-label__03 {
    top: 2.2666666667vw;
    left: 7.7333333333vw;
  }
  .m-number-grid-content .item-12 .graph-label__03 .prefix {
    font-size: 2.6666666667vw;
  }
  .m-number-grid-content .item-12 .graph-label__03 .count {
    font-size: 4.8vw;
  }
  .m-number-grid-content .item-12 .graph-label__03 .suffix {
    font-size: 2.6666666667vw;
  }
  .m-number-grid-content .item-13 .graph-label__01 {
    width: 12.8vw;
    height: 12.8vw;
    font-size: 2.6666666667vw;
  }
  .m-number-grid-content .item-13 .graph-label__02 .prefix, .m-number-grid-content .item-13 .graph-label__03 .prefix {
    font-size: 3.3333333333vw;
  }
  .m-number-grid-content .item-13 .graph-label__02 .count, .m-number-grid-content .item-13 .graph-label__03 .count {
    font-size: 8vw;
  }
  .m-number-grid-content .item-13 .graph-label__02 .suffix, .m-number-grid-content .item-13 .graph-label__03 .suffix {
    font-size: 4vw;
  }
  .m-number-grid-content .item-13 .graph-label__02 {
    top: 7.7333333333vw;
    left: 20.5333333333vw;
  }
  .m-number-grid-content .item-13 .graph-label__03 {
    top: 7.7333333333vw;
    left: -5.4666666667vw;
  }
  .m-number-grid-content .item-14 .grid-body {
    background-size: 39.6364% auto;
  }
  .m-number-grid-content .item-14 .content {
    margin-top: 14.6666666667vw;
  }
  .m-number-grid-content .item-14 .content .text-01 .count {
    font-size: 12.9333333333vw;
  }
  .m-number-grid-content .item-14 .content .text-01 .suffix {
    font-size: 3.2vw;
  }
  .m-number-grid-content .item-14 .content .text-02 {
    margin-top: 0.6666666667vw;
    font-size: 2.6666666667vw;
  }
  .m-number-grid-content .item-15 .content {
    margin-top: 2.4vw;
  }
  .m-number-grid-content .item-15 .content .text-01 {
    font-size: 4.9333333333vw;
  }
  .m-number-grid-content .item-15 .content .text-02 .count {
    font-size: 24vw;
  }
  .m-number-grid-content .item-15 .content .text-02 .suffix {
    font-size: 9.6vw;
  }
  .m-number-grid-content .item-15 .content .text-03 {
    margin-top: 2.4vw;
    font-size: 3.2vw;
  }
}

.m-culture-nav {
  padding: 0 40px;
}
.m-culture-nav-item {
  margin-bottom: 100px;
}
.m-culture-nav-item-bottom {
  display: flex;
  align-items: center;
  margin-top: 40px;
}
.m-culture-nav-item-bottom span {
  display: block;
  margin-top: -0.05em;
  padding: 0 0.3em 0 1em;
  font-size: 2.2rem;
  font-weight: bold;
}
.m-culture-nav-item-bottom::before, .m-culture-nav-item-bottom::after {
  display: block;
  flex: 1;
  height: 20px;
  background-color: #e60112;
  content: "";
}
.m-culture-nav-link {
  display: block;
  width: 1160px;
  max-width: 100%;
  margin: 0 auto;
}
.m-culture-nav-link .heading {
  display: inline-block;
  margin-bottom: 0.6em;
  padding: 0 0.1em 0 36px;
  background: url(../images/common/parts_red_arrow.svg) no-repeat 0 55%/18px auto;
  font-size: 5rem;
  transition: box-shadow 0.2s;
}
.m-culture-nav-link .text {
  font-size: 5rem;
  font-weight: bold;
  line-height: 1.2;
}
.m-culture-nav-link .text b {
  color: #e60112;
  font-size: 8rem;
}
@media screen and (min-width: 751px) {
  .m-culture-nav-link:hover .heading {
    box-shadow: inset 0 -3px 0 0 currentColor;
  }
}
@media screen and (max-width: 1024px) {
  .m-culture-nav-item-bottom {
    margin-top: 30px;
  }
  .m-culture-nav-item-bottom span {
    font-size: 2rem;
  }
  .m-culture-nav-item-bottom::before, .m-culture-nav-item-bottom::after {
    height: 18px;
  }
  .m-culture-nav-link .heading {
    font-size: 4rem;
  }
  .m-culture-nav-link .heading::before {
    width: 16px;
    height: 24px;
  }
  .m-culture-nav-link .text {
    font-size: 4rem;
  }
  .m-culture-nav-link .text b {
    font-size: 6.4rem;
  }
}
@media screen and (max-width: 750px) {
  .m-culture-nav {
    padding: 0 5.0666666667vw;
  }
  .m-culture-nav-item {
    margin-bottom: 13.3333333333vw;
  }
  .m-culture-nav-item-bottom {
    margin-top: 3.2vw;
  }
  .m-culture-nav-item-bottom span {
    font-size: 2.6666666667vw;
  }
  .m-culture-nav-item-bottom::before, .m-culture-nav-item-bottom::after {
    height: 1.3333333333vw;
  }
  .m-culture-nav-link .heading {
    padding-left: 4vw;
    background-size: 2.1333333333vw auto;
    font-size: 4vw;
  }
  .m-culture-nav-link .text {
    font-size: 3.7333333333vw;
  }
  .m-culture-nav-link .text b {
    font-size: 4.5333333333vw;
  }
}

.m-culture-phil {
  margin: 0 0 100px;
}
.m-culture-phil .text {
  text-align: center;
  font-size: 1.8rem;
  line-height: 2;
}
.m-culture-phil .text + .text {
  margin-top: 50px;
}
.m-culture-phil .text.lh {
  line-height: 2.5;
}
.m-culture-phil .text .large {
  color: #e60112;
  font-size: 1.35em;
}
.m-culture-phil .image {
  margin-top: 60px;
  text-align: center;
}
.m-culture-phil .image img {
  max-width: 100%;
}
@media screen and (max-width: 750px) {
  .m-culture-phil {
    padding: 0 5.0666666667vw;
  }
  .m-culture-phil .text {
    font-size: 3.7333333333vw;
    text-align: left;
  }
  .m-culture-phil .text + .text {
    margin-top: 6.6666666667vw;
  }
  .m-culture-phil .text.lh {
    line-height: 2;
  }
}

.m-culture-dev {
  width: 1240px;
  max-width: 100%;
  margin: 50px auto 100px;
  padding: 0 40px;
}
.m-culture-dev .heading {
  margin-bottom: 40px;
  color: #e60112;
  font-size: 5rem;
}
.m-culture-dev .text {
  font-size: 1.6rem;
  line-height: 1.625;
}
.m-culture-dev .image {
  margin: 40px 0;
  text-align: center;
}
.m-culture-dev .image img {
  max-width: 100%;
}
.m-culture-dev .list {
  display: flex;
  margin: 40px 0 15px;
  padding: 30px 0;
  border: 4px solid #e60112;
}
.m-culture-dev .list-item {
  flex: 1;
  padding: 0 40px;
}
.m-culture-dev .list-logo {
  margin-bottom: 20px;
  text-align: center;
}
.m-culture-dev .list-logo img {
  max-width: 100%;
}
.m-culture-dev .list-image {
  margin-bottom: 12px;
  text-align: center;
}
.m-culture-dev .list-image img {
  max-width: 100%;
}
.m-culture-dev .list-name {
  margin-bottom: 15px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
}
.m-culture-dev .list-text {
  font-size: 1.6rem;
  line-height: 1.625;
}
.m-culture-dev .arrow-link {
  text-decoration: underline;
  display: inline-block;
  padding-left: 1em;
  background: url(../images/common/parts_red_arrow.svg) no-repeat 0 56%/0.5em auto;
}
.m-culture-dev .arrow-link:hover {
  text-decoration: none;
}
@media screen and (max-width: 1024px) {
  .m-culture-dev .heading {
    font-size: 4rem;
  }
  .m-culture-dev .list {
    padding: 15px 0;
  }
  .m-culture-dev .list-item {
    padding: 0 15px;
  }
  .m-culture-dev .list-name, .m-culture-dev .list-text {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 750px) {
  .m-culture-dev {
    width: auto;
    margin: 6.6666666667vw 0 13.3333333333vw;
    padding: 0 5.0666666667vw;
  }
  .m-culture-dev .heading {
    margin-bottom: 5.3333333333vw;
    font-size: 5.3333333333vw;
  }
  .m-culture-dev .text {
    font-size: 3.2vw;
  }
  .m-culture-dev .image {
    margin: 5.3333333333vw 0;
  }
  .m-culture-dev .list {
    display: block;
    margin: 5.3333333333vw 0 2.6666666667vw;
    padding: 2.6666666667vw 5.0666666667vw 0;
    border-width: 1.0666666667vw;
  }
  .m-culture-dev .list-item {
    padding: 0;
    margin-bottom: 6.6666666667vw;
  }
  .m-culture-dev .list-logo {
    margin-bottom: 2.6666666667vw;
  }
  .m-culture-dev .list-image {
    margin-bottom: 1.6vw;
  }
  .m-culture-dev .list-name {
    margin-bottom: 2vw;
    font-size: 3.2vw;
  }
  .m-culture-dev .list-text {
    font-size: 3.2vw;
  }
}

.m-culture-flow {
  width: 1160px;
  margin: 0 auto 100px;
}
.m-culture-flow-list {
  position: relative;
  display: flex;
}
.m-culture-flow-list-item {
  position: relative;
  flex: 1;
}
.m-culture-flow-list-item:not(:last-child) {
  margin-right: 40px;
}
.m-culture-flow-list-item:not(:last-child)::after {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -30px;
  width: 0;
  height: 0;
  margin: auto 0;
  border-width: 12px 0 12px 17px;
  border-style: solid;
  border-color: transparent #e60112;
  content: "";
}
.m-culture-flow-list-link {
  display: block;
}
@media screen and (min-width: 751px) {
  .m-culture-flow-list-link:hover .image img {
    opacity: 0.8;
    transform: scale(1.08);
  }
}
.m-culture-flow-list-link .image {
  position: relative;
  overflow: hidden;
  background-color: #fff;
}
.m-culture-flow-list-link .image img {
  width: 100%;
  transition: opacity 0.25s, transform 0.25s;
}
.m-culture-flow-list-link .image .text {
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 138px;
  height: 94px;
  background: url(../images/culture/parts_flow_triangle.svg) no-repeat 0 0/cover;
}
.m-culture-flow-list-link .image .text span {
  position: absolute;
  left: 0.25em;
  bottom: 0.1em;
  color: #e60112;
  font-size: 3rem;
  font-weight: bold;
}
.m-culture-flow-list-link .desc {
  margin-top: 0.5em;
  font-size: 1.8rem;
  font-weight: bold;
}
.m-culture-flow-bottom {
  display: flex;
  align-items: center;
  margin-top: 40px;
}
.m-culture-flow-bottom span {
  display: block;
  margin-top: -0.05em;
  padding: 0 0.5em 0 1em;
  font-size: 2.2rem;
  font-weight: bold;
}
.m-culture-flow-bottom::before, .m-culture-flow-bottom::after {
  display: block;
  flex: 1;
  height: 20px;
  background-color: #e60112;
  content: "";
}
@media screen and (max-width: 1239px) {
  .m-culture-flow {
    width: auto;
    padding: 0 40px;
  }
  .m-culture-flow-list-link .image .text {
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 138px;
    height: 94px;
    background: url(../images/culture/parts_flow_triangle.svg) no-repeat 0 0/cover;
  }
  .m-culture-flow-list-link .image .text span {
    position: absolute;
    left: 0.25em;
    bottom: 0.1em;
    color: #e60112;
    font-size: 3rem;
    font-weight: bold;
  }
  .m-culture-flow-list-link .desc {
    font-size: 1.4rem;
  }
  .m-culture-flow-bottom span {
    font-size: 1.8rem;
  }
  .m-culture-flow-bottom::before, .m-culture-flow-bottom::after {
    height: 18px;
  }
}
@media screen and (max-width: 750px) {
  .m-culture-flow {
    margin: 0 0 13.3333333333vw;
    padding: 0 5.0666666667vw;
  }
  .m-culture-flow-list {
    display: block;
  }
  .m-culture-flow-list-item:not(:last-child) {
    margin: 0 0 10.6666666667vw;
  }
  .m-culture-flow-list-item:not(:last-child)::after {
    top: auto;
    bottom: -7.4666666667vw;
    right: 0;
    left: 0;
    margin: 0 auto;
    border-width: 4.5333333333vw 3.2vw 0 3.2vw;
    border-color: #e60112 transparent;
  }
  .m-culture-flow-list-link .image .text {
    width: 36.8vw;
    height: 25.0666666667vw;
  }
  .m-culture-flow-list-link .image .text span {
    font-size: 6.6666666667vw;
  }
  .m-culture-flow-list-link .desc {
    font-size: 4vw;
  }
  .m-culture-flow-bottom {
    margin-top: 5.8666666667vw;
  }
  .m-culture-flow-bottom span {
    padding: 0;
    font-size: 3.2vw;
  }
  .m-culture-flow-bottom::before, .m-culture-flow-bottom::after {
    content: none;
  }
}

.m-person-header {
  margin-top: -20px;
  padding-left: 40px;
}
.m-person-header-top {
  display: flex;
  justify-content: space-between;
  border-right: 40px solid #e60112;
}
.m-person-header-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px 15px 20px 0;
  white-space: nowrap;
}
.m-person-header-content .label {
  margin-bottom: 36px;
}
.m-person-header-content .label span {
  display: inline-flex;
  align-items: center;
  height: 50px;
  padding: 0 1.4em 0.05em;
  background-color: #e60112;
  color: #fff;
  font-size: 2.2rem;
  font-weight: bold;
}
.m-person-header-content .heading {
  position: relative;
  z-index: 2;
  left: 15vw;
  width: 100%;
  margin-left: -15vw;
  color: #e60112;
  font-size: 5.6rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: -0.05em;
  text-shadow: 0 0 2px #fff;
}
.m-person-header-content .detail {
  display: flex;
  margin-top: 50px;
}
.m-person-header-content .detail-name {
  margin-right: 50px;
  font-size: 3rem;
  font-weight: bold;
}
.m-person-header-content .detail-year {
  margin-top: 0.25em;
  font-size: 1.8rem;
}
.m-person-header-content .detail-year span {
  display: inline-block;
  margin-top: 1em;
  font-size: 1.3rem;
}
.m-person-header-visual {
  position: relative;
  z-index: 1;
  flex-basis: 690px;
}
.m-person-header-visual img {
  width: 100%;
  height: auto;
  pointer-events: none;
}
.m-person-header-visual figcaption {
  position: absolute;
  bottom: 25px;
  left: 25px;
  margin-right: 25px;
  padding: 0.6em 0.8em;
  font-family: "HuiFontP", sans-serif;
  font-size: 2rem;
  background-color: #fff;
}
.m-person-header-visual figcaption .heading {
  display: inline-block;
  position: relative;
  top: -0.15em;
  left: -0.25em;
  padding-bottom: 0.25em;
  color: #e60112;
  background: url(../images/person/parts_underline.svg) no-repeat 50% 100%/contain;
  transform: rotate(-4.5deg);
}
.m-person-header-history {
  display: flex;
  flex-wrap: wrap;
  padding-right: 40px;
}
.m-person-header-history-item {
  margin-bottom: 30px;
}
.m-person-header-history-item:not(:last-child) .year::after {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
  width: 41px;
  height: 100%;
  background: url(../images/person/parts_arrow.svg) no-repeat 50% 50%/100% auto;
  content: "";
}
.m-person-header-history-item:not(:last-child) .text {
  padding-right: 100px;
}
.m-person-header-history-item .year {
  position: relative;
  padding-left: 30px;
  background-color: #e60112;
  color: #fff;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 36px;
}
.m-person-header-history-item .year::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 100vw;
  height: 100%;
  z-index: -1;
  background-color: #e60112;
  transform: translate(100%, 0);
  content: "";
}
.m-person-header-history-item .text {
  margin-top: 15px;
  padding: 0 40px 0 30px;
  font-size: 1.6rem;
  line-height: 1.6;
  white-space: nowrap;
}
@media screen and (max-width: 1200px) {
  .m-person-header-content .label {
    margin-bottom: 25px;
  }
  .m-person-header-content .label span {
    height: 40px;
    font-size: 1.8rem;
  }
  .m-person-header-content .heading {
    font-size: 4.5rem;
  }
  .m-person-header-content .detail {
    margin-top: 40px;
  }
  .m-person-header-content .detail-name {
    font-size: 2.6rem;
  }
  .m-person-header-content .detail-year {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 1024px) {
  .m-person-header {
    padding: 40px 0 0;
  }
  .m-person-header-top {
    display: block;
    border: none;
    padding-left: 40px;
  }
  .m-person-header-content {
    display: block;
    padding-right: 40px;
  }
  .m-person-header-content .label {
    margin-bottom: 25px;
    text-align: center;
  }
  .m-person-header-content .label span {
    font-size: 2rem;
  }
  .m-person-header-content .heading {
    position: static;
    margin-left: 0;
    font-size: 4rem;
    text-shadow: none;
  }
  .m-person-header-content .detail {
    margin-top: 30px;
  }
  .m-person-header-content .detail-name {
    margin-right: 30px;
    font-size: 2.6rem;
  }
  .m-person-header-visual {
    margin-top: 30px;
    border-right: 40px solid #e60112;
  }
  .m-person-header-visual figcaption {
    font-size: 1.8rem;
  }
  .m-person-header-history {
    padding-left: 40px;
  }
}
@media screen and (max-width: 750px) {
  .m-person-header {
    margin-top: -2.6666666667vw;
    padding: 5.3333333333vw 0 0;
  }
  .m-person-header-top {
    padding: 0;
  }
  .m-person-header-content {
    display: block;
    padding: 0 5.0666666667vw;
    white-space: normal;
  }
  .m-person-header-content .label {
    margin-bottom: 4.8vw;
  }
  .m-person-header-content .label span {
    display: inline-flex;
    height: 8vw;
    font-size: 3.2vw;
  }
  .m-person-header-content .heading {
    font-size: 6.4vw;
    line-height: 1.44;
  }
  .m-person-header-content .detail {
    margin-top: 5.3333333333vw;
  }
  .m-person-header-content .detail-name {
    margin-right: 12vw;
    font-size: 4.5333333333vw;
  }
  .m-person-header-content .detail-year {
    font-size: 3.2vw;
  }
  .m-person-header-content .detail-year span {
    margin-top: 0;
    font-size: 3.2vw;
  }
  .m-person-header-visual {
    min-height: auto;
    margin-top: 6.4vw;
    border-right: 5.0666666667vw solid #e60112;
  }
  .m-person-header-visual img {
    width: 100%;
  }
  .m-person-header-visual figcaption {
    bottom: 5.0666666667vw;
    left: 5.0666666667vw;
    margin-right: 5.0666666667vw;
    font-size: 3.2vw;
    line-height: 1.4;
  }
  .m-person-header-history {
    display: block;
    margin: 5.3333333333vw 0;
    padding: 0 5.0666666667vw;
  }
  .m-person-header-history-item {
    position: relative;
    display: flex;
    align-items: center;
  }
  .m-person-header-history-item:last-child {
    margin-bottom: 0;
  }
  .m-person-header-history-item:not(:last-child) {
    margin-bottom: 11.2vw;
  }
  .m-person-header-history-item:not(:last-child) .year::after {
    content: none;
  }
  .m-person-header-history-item:not(:last-child) .text {
    padding-right: 0;
  }
  .m-person-header-history-item:not(:last-child)::after {
    position: absolute;
    left: 0;
    bottom: -7.7333333333vw;
    display: block;
    width: 18.6666666667vw;
    height: 4.6666666667vw;
    background: url(../images/person/parts_history_arrow.svg) no-repeat 50% 0/contain;
    content: "";
  }
  .m-person-header-history-item .year {
    width: 18.6666666667vw;
    height: 8vw;
    padding: 0;
    font-size: 3.2vw;
    line-height: 8vw;
    text-align: center;
  }
  .m-person-header-history-item .year::before {
    content: none;
  }
  .m-person-header-history-item .text {
    margin: 0;
    padding: 0 0 0 1em;
    font-size: 3.2vw;
    line-height: 1.458;
    white-space: normal;
  }
}

.m-multi-body.column_second .heading {
  padding: 10px 0 10px 20px;
}
.m-multi-body.column_second .heading::before {
  right: 0;
  left: initial;
  transform: translate(99%, 0);
}
@media screen and (max-width: 750px) {
  .m-multi-body.column_second .heading {
    padding: 2.6666666667vw 4.6666666667vw 2.6666666667vw 0;
  }
  .m-multi-body.column_second .heading::before {
    right: initial;
    left: 0;
    transform: translate(-99%, 0);
  }
}

@media screen and (max-width: 750px) {
  .m-visual-image.zadankai {
    padding-top: 80.9333333333%;
  }
}

.m-exp-section .m-exp-person {
  display: flex;
  gap: 40px 20px;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.m-exp-section .m-exp-person .m-exp-person-item {
  width: calc((100% - 40px) / 3);
  display: flex;
  gap: 20px;
  overflow: hidden;
  position: relative;
}
.m-exp-section .m-exp-person .m-exp-person-item::before {
  display: block;
  position: absolute;
  bottom: -2px;
  left: -1px;
  z-index: 1;
  width: 102%;
  height: 30%;
  background: url(../images/common/parts_person_triangle.svg) no-repeat 100% 0/cover;
  transform: scale(-1, 1);
  content: "";
}
.m-exp-section .m-exp-person .m-exp-person-item .txt-department {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  font-size: 1.3rem;
}
.m-exp-section .m-exp-person .m-exp-person-item .m-exp-person-item-txt .txt-name {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 20px;
}
.m-exp-section .m-exp-person .m-exp-person-item .m-exp-person-item-txt .txt-name .txt-factory {
  display: block;
  font-size: 1.3rem;
  font-weight: normal;
}
.m-exp-section .m-exp-person .m-exp-person-item .m-exp-person-item-txt dl {
  margin-bottom: 10px;
  font-size: 1.3rem;
}
.m-exp-section .m-exp-person .m-exp-person-item .m-exp-person-item-txt dl:last-child {
  margin-bottom: 0;
}
.m-exp-section .m-exp-person .m-exp-person-item .m-exp-person-item-txt dl dd {
  font-weight: bold;
}
@media screen and (max-width: 1024px) {
  .m-exp-section .m-exp-person .m-exp-person-item {
    width: calc((100% - 40px) / 2);
  }
}
@media screen and (max-width: 750px) {
  .m-exp-section .m-exp-person {
    flex-direction: column;
  }
  .m-exp-section .m-exp-person .m-exp-person-item {
    width: 100%;
    gap: 12px;
  }
  .m-exp-section .m-exp-person .m-exp-person-item .m-exp-person-item-image {
    width: 38%;
  }
  .m-exp-section .m-exp-person .m-exp-person-item .m-exp-person-item-image img {
    width: 100%;
  }
}
.m-exp-section .m-exp-section-image {
  margin-bottom: 40px;
}
.m-exp-section .m-multi-content {
  gap: 40px;
}
.m-exp-section .m-multi-content .m-multi-body {
  margin: 0;
}
.m-exp-section .m-multi-content .m-multi-body.column_first {
  order: 0;
}
.m-exp-section .m-multi-content .m-multi-body.column_second {
  order: 1;
}
.m-exp-section .m-multi-content .m-multi-body dl {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
}
.m-exp-section .m-multi-content .m-multi-body dl dt {
  min-width: 50px;
  font-weight: bold;
  text-align: right;
}
.m-exp-section .m-multi-content .m-multi-body dl dd {
  flex: 1;
}
.m-exp-section .m-multi-content .m-multi-body .m-multi-images {
  margin-bottom: 40px;
}
@media screen and (max-width: 750px) {
  .m-exp-section .m-exp-section-image img {
    width: 100%;
  }
  .m-exp-section .m-multi-content .m-multi-body.column_first {
    order: initial;
  }
  .m-exp-section .m-multi-content .m-multi-body.column_second {
    order: initial;
  }
  .m-exp-section .m-multi-content .m-multi-body dl dt, .m-exp-section .m-multi-content .m-multi-body dl dd {
    font-size: 3.2vw;
  }
}

.m-data-graph {
  margin-bottom: 150px;
}
.m-data-graph-header {
  margin-bottom: 18px;
}
.m-data-graph-header .graph {
  display: flex;
  align-items: center;
}
.m-data-graph-header .graph-cell {
  font-size: 2.1rem;
  font-weight: bold;
  line-height: 1;
  white-space: nowrap;
}
.m-data-graph.type-01 .m-data-graph-header {
  padding: 0 140px 0 76px;
}
.m-data-graph.type-01 .m-data-graph-header .graph {
  width: 853px;
}
.m-data-graph.type-01 .m-data-graph-header .graph-cell {
  font-size: 2.1rem;
  font-weight: bold;
  line-height: 1;
  white-space: nowrap;
}
.m-data-graph.type-01 .m-data-graph-header .graph .cell-01 {
  color: #f8bc3a;
}
.m-data-graph.type-01 .m-data-graph-header .graph .cell-02 {
  color: #ef7f53;
}
.m-data-graph.type-01 .m-data-graph-header .graph .cell-03 {
  color: #ff9da9;
}
.m-data-graph.type-01 .m-data-graph-header .graph .cell-04 {
  color: #f054a5;
}
.m-data-graph.type-01 .m-data-graph-header .graph .cell-05 {
  color: #f18ef2;
}
.m-data-graph.type-01 .m-data-graph-header .graph .cell-01 {
  width: 34.3065693431%;
}
.m-data-graph.type-01 .m-data-graph-header .graph .cell-02 {
  width: 33.2116788321%;
}
.m-data-graph.type-01 .m-data-graph-header .graph .cell-03 {
  width: 10.9489051095%;
}
.m-data-graph.type-01 .m-data-graph-header .graph .cell-04 {
  width: 8.7591240876%;
}
.m-data-graph.type-01 .m-data-graph-header .graph .cell-05 {
  width: 12.7737226277%;
}
.m-data-graph.type-02 .m-data-graph-header {
  padding-left: 195px;
}
.m-data-graph.type-02 .m-data-graph-header .graph {
  justify-content: space-between;
}
.m-data-graph.type-02 .m-data-graph-header .graph .cell-01 {
  color: #f5a843;
}
.m-data-graph.type-02 .m-data-graph-header .graph .cell-02 {
  color: #44af72;
}
.m-data-graph-row {
  display: flex;
  align-items: center;
  margin-bottom: 36px;
  font-weight: bold;
}
.m-data-graph-row .graph {
  display: flex;
}
.m-data-graph-row .graph-cell {
  overflow: hidden;
  padding: 5px 0;
  color: #fff;
  font-size: 2.5rem;
  line-height: 1.24;
}
.m-data-graph-row .graph-cell span {
  opacity: 0;
  transition: opacity 0.5s 0.8s;
}
.m-data-graph.type-01 .m-data-graph-row .label {
  width: 76px;
  min-width: 76px;
  font-size: 2.1rem;
}
.m-data-graph.type-01 .m-data-graph-row .graph {
  width: 0;
  opacity: 0;
  transition: width 0.8s cubic-bezier(0, 0.55, 0.45, 1);
}
.m-data-graph.type-01 .m-data-graph-row .graph-cell {
  text-align: center;
}
.m-data-graph.type-01 .m-data-graph-row .graph-cell.cell-01 {
  background-color: #f8bc3a;
}
.m-data-graph.type-01 .m-data-graph-row .graph-cell.cell-02 {
  background-color: #ef7f53;
}
.m-data-graph.type-01 .m-data-graph-row .graph-cell.cell-03 {
  background-color: #ff9da9;
}
.m-data-graph.type-01 .m-data-graph-row .graph-cell.cell-04 {
  background-color: #f054a5;
}
.m-data-graph.type-01 .m-data-graph-row .graph-cell.cell-05 {
  background-color: #f18ef2;
}
.m-data-graph.type-01 .m-data-graph-row .graph.bar-01 .cell-01 {
  width: 44.74393531%;
}
.m-data-graph.type-01 .m-data-graph-row .graph.bar-01 .cell-02 {
  width: 36.1185983827%;
}
.m-data-graph.type-01 .m-data-graph-row .graph.bar-01 .cell-03 {
  width: 8.6253369272%;
}
.m-data-graph.type-01 .m-data-graph-row .graph.bar-01 .cell-04 {
  width: 6.1994609164%;
}
.m-data-graph.type-01 .m-data-graph-row .graph.bar-01 .cell-05 {
  width: 4.3126684636%;
}
.m-data-graph.type-01 .m-data-graph-row .graph.bar-02 .cell-01 {
  width: 34.8148148148%;
}
.m-data-graph.type-01 .m-data-graph-row .graph.bar-02 .cell-02 {
  width: 33.7037037037%;
}
.m-data-graph.type-01 .m-data-graph-row .graph.bar-02 .cell-03 {
  width: 11.1111111111%;
}
.m-data-graph.type-01 .m-data-graph-row .graph.bar-02 .cell-04 {
  width: 7.4074074074%;
}
.m-data-graph.type-01 .m-data-graph-row .graph.bar-02 .cell-05 {
  width: 12.962962963%;
}
.m-data-graph.type-01 .m-data-graph-row .graph.bar-03 .cell-01 {
  width: 23.8095238095%;
}
.m-data-graph.type-01 .m-data-graph-row .graph.bar-03 .cell-02 {
  width: 45.8333333333%;
}
.m-data-graph.type-01 .m-data-graph-row .graph.bar-03 .cell-03 {
  width: 10.7142857143%;
}
.m-data-graph.type-01 .m-data-graph-row .graph.bar-03 .cell-04 {
  width: 9.2261904762%;
}
.m-data-graph.type-01 .m-data-graph-row .graph.bar-03 .cell-05 {
  width: 10.4166666667%;
}
.m-data-graph.type-01 .m-data-graph-row .count {
  width: 140px;
  min-width: 140px;
  font-size: 4rem;
  line-height: 1;
  opacity: 0;
  text-align: right;
  transition: opacity 0.5s 0.8s;
  white-space: nowrap;
}
.m-data-graph.type-02 .m-data-graph-row .label {
  flex-basis: 195px;
  padding-right: 30px;
  font-size: 1.6rem;
  text-align: right;
}
.m-data-graph.type-02 .m-data-graph-row .graph {
  flex: 1;
}
.m-data-graph.type-02 .m-data-graph-row .graph-cell {
  width: 50%;
  transition: width 0.8s cubic-bezier(0, 0.55, 0.45, 1);
}
.m-data-graph.type-02 .m-data-graph-row .graph-cell span {
  display: inline-block;
}
.m-data-graph.type-02 .m-data-graph-row .graph-cell.cell-01 {
  background-color: #f5a843;
  text-align: right;
}
.m-data-graph.type-02 .m-data-graph-row .graph-cell.cell-01 span {
  padding-right: 0.8em;
}
.m-data-graph.type-02 .m-data-graph-row .graph-cell.cell-02 {
  background-color: #44af72;
}
.m-data-graph.type-02 .m-data-graph-row .graph-cell.cell-02 span {
  padding-left: 0.8em;
}
.m-data-graph.intersected .m-data-graph-row .graph {
  opacity: 1;
}
.m-data-graph.intersected .m-data-graph-row .graph-cell span {
  opacity: 1;
}
.m-data-graph.type-01.intersected .m-data-graph-row .graph.bar-01 {
  width: 853px;
}
.m-data-graph.type-01.intersected .m-data-graph-row .graph.bar-02 {
  width: 853px;
}
.m-data-graph.type-01.intersected .m-data-graph-row .graph.bar-03 {
  width: 853px;
}
.m-data-graph.type-01.intersected .m-data-graph-row .count {
  opacity: 1;
}
.m-data-graph.type-02.intersected .m-data-graph-row .graph.bar-01 .cell-01 {
  width: 93%;
}
.m-data-graph.type-02.intersected .m-data-graph-row .graph.bar-01 .cell-02 {
  width: 7%;
}
.m-data-graph.type-02.intersected .m-data-graph-row .graph.bar-02 .cell-01 {
  width: 90%;
}
.m-data-graph.type-02.intersected .m-data-graph-row .graph.bar-02 .cell-02 {
  width: 10%;
}
.m-data-graph.type-02.intersected .m-data-graph-row .graph.bar-03 .cell-01 {
  width: 90%;
}
.m-data-graph.type-02.intersected .m-data-graph-row .graph.bar-03 .cell-02 {
  width: 10%;
}
.m-data-graph.type-02.intersected .m-data-graph-row .graph.bar-04 .cell-01 {
  width: 92%;
}
.m-data-graph.type-02.intersected .m-data-graph-row .graph.bar-04 .cell-02 {
  width: 8%;
}
.m-data-graph.type-02.intersected .m-data-graph-row .graph.bar-05 .cell-01 {
  width: 0%;
}
.m-data-graph.type-02.intersected .m-data-graph-row .graph.bar-05 .cell-02 {
  width: 100%;
}
.m-data-graph.type-02.intersected .m-data-graph-row .graph.bar-06 .cell-01 {
  width: 100%;
}
.m-data-graph.type-02.intersected .m-data-graph-row .graph.bar-06 .cell-02 {
  width: 0%;
}
.m-data-graph.type-02.intersected .m-data-graph-row .graph.bar-07 .cell-01 {
  width: 100%;
}
.m-data-graph.type-02.intersected .m-data-graph-row .graph.bar-07 .cell-02 {
  width: 0%;
}
.m-data-graph.type-02.intersected .m-data-graph-row .graph.bar-08 .cell-01 {
  width: 99%;
}
.m-data-graph.type-02.intersected .m-data-graph-row .graph.bar-08 .cell-02 {
  width: 1%;
}
@media screen and (max-width: 1024px) {
  .m-data-graph.type-01 .m-data-graph-header {
    padding: 0 100px 0 56px;
  }
  .m-data-graph.type-01 .m-data-graph-header .graph {
    width: auto;
  }
  .m-data-graph.type-01 .m-data-graph-header .graph-cell {
    font-size: 1.6rem;
  }
  .m-data-graph.type-02 .m-data-graph-header {
    padding-left: 160px;
  }
  .m-data-graph.type-02 .m-data-graph-header .graph-cell {
    font-size: 1.6rem;
  }
  .m-data-graph-row {
    margin-bottom: 30px;
  }
  .m-data-graph-row .label {
    font-size: 1.6rem;
  }
  .m-data-graph-row .graph-cell {
    padding: 6px 0;
    font-size: 1.8rem;
  }
  .m-data-graph.type-01 .m-data-graph-row .label {
    width: 56px;
    min-width: 56px;
  }
  .m-data-graph.type-01 .m-data-graph-row .count {
    width: 100px;
    min-width: 100px;
    font-size: 2.8rem;
  }
  .m-data-graph.type-02 .m-data-graph-row .label {
    flex-basis: 160px;
    padding-right: 20px;
  }
  .m-data-graph.type-01.intersected .m-data-graph-row .graph.bar-01, .m-data-graph.type-01.intersected .m-data-graph-row .graph.bar-02, .m-data-graph.type-01.intersected .m-data-graph-row .graph.bar-03 {
    width: calc(100% - 156px);
  }
}
@media screen and (max-width: 750px) {
  .m-data-graph {
    display: flex;
    flex-direction: column;
    margin-bottom: 13.3333333333vw;
  }
  .m-data-graph.type-01 .m-data-graph-header {
    order: 2;
    margin: 0;
    padding: 0 10.6666666667vw 0 9.3333333333vw;
  }
  .m-data-graph.type-01 .m-data-graph-header .graph {
    justify-content: space-between;
  }
  .m-data-graph.type-01 .m-data-graph-header .graph-cell {
    width: auto !important;
    font-size: 3.2vw;
  }
  .m-data-graph.type-02 .m-data-graph-header {
    margin-bottom: 2.6666666667vw;
    padding-left: 24vw;
  }
  .m-data-graph.type-02 .m-data-graph-header .graph-cell {
    font-size: 3.2vw;
  }
  .m-data-graph-row {
    margin-bottom: 4.8vw;
  }
  .m-data-graph-row .graph-cell {
    padding: 1.3333333333vw 0;
    font-size: 2.9333333333vw;
  }
  .m-data-graph.type-01 .m-data-graph-row {
    order: 1;
    margin-bottom: 4.8vw;
  }
  .m-data-graph.type-01 .m-data-graph-row .label {
    width: 9.3333333333vw;
    min-width: auto;
    font-size: 2.8vw;
  }
  .m-data-graph.type-01 .m-data-graph-row .count {
    width: 10.6666666667vw;
    min-width: auto;
    font-size: 3.2vw;
  }
  .m-data-graph.type-02 .m-data-graph-row {
    margin-bottom: 4.8vw;
  }
  .m-data-graph.type-02 .m-data-graph-row .label {
    flex-basis: 24vw;
    padding-right: 1em;
    font-size: 2.6666666667vw;
    white-space: nowrap;
  }
  .m-data-graph.type-02 .m-data-graph-row .graph-cell.cell-01 span {
    padding-right: 0.25em;
  }
  .m-data-graph.type-02 .m-data-graph-row .graph-cell.cell-02 span {
    padding-left: 0.25em;
  }
  .m-data-graph.type-01.intersected .m-data-graph-row .graph.bar-01, .m-data-graph.type-01.intersected .m-data-graph-row .graph.bar-02, .m-data-graph.type-01.intersected .m-data-graph-row .graph.bar-03 {
    width: calc(100% - 20vw);
  }
}

.m-data-four-column-content .content-list-item {
  width: 260px;
  margin-bottom: 40px;
}
.m-data-four-column-content .content-list-item .content h3 {
  font-size: 2.5rem;
  margin-bottom: 20px;
}
.m-data-four-column-list {
  padding-top: 10px;
  font-size: 2.1rem;
  line-height: 1.47;
  border-top: 4px solid #000;
}
.m-data-four-column-list.seisan {
  border-color: #a08cd9;
}
.m-data-four-column-list.engineering {
  border-color: #ffa2d2;
}
.m-data-four-column-list.eisei {
  border-color: #9de57d;
}
.m-data-four-column-list.kenkyu {
  border-color: #f1b37c;
}
.m-data-four-column-list.eigyo {
  border-color: #c5d8ff;
}
.m-data-four-column-list.tenpo {
  border-color: #ffe991;
}
.m-data-four-column-list.somu {
  border-color: #7592c0;
}
.m-data-four-column-list.jinji {
  border-color: #b9815b;
}
.m-data-four-column-list.keiri {
  border-color: #ffac4b;
}
.m-data-four-column-list.kobai {
  border-color: #e1b9ff;
}
.m-data-four-column-list.se {
  border-color: #c3dfff;
}
.m-data-four-column-list.kaigai {
  border-color: #ffdc7d;
}
.m-data-four-column-list .indent {
  padding-left: 20px;
}
@media screen and (max-width: 750px) {
  .m-data-four-column {
    margin-bottom: 8vw;
  }
  .m-data-four-column-content .content-list {
    display: flex;
  }
  .m-data-four-column-content .content-list-item {
    width: calc(50% - 10px);
    margin-bottom: 5.3333333333vw;
  }
  .m-data-four-column-content .content-list-item:nth-child(odd) {
    margin-right: 10px;
  }
  .m-data-four-column-content .content-list-item:nth-child(even) {
    margin-left: 10px;
  }
  .m-data-four-column-content .content-list-item .content h3 {
    font-size: 4vw;
    margin-bottom: 2.6666666667vw;
  }
  .m-data-four-column-list {
    font-size: 3.2vw;
    border-top-width: 2px;
  }
  .m-data-four-column-list .indent {
    padding-left: 12px;
  }
}

.m-data-map {
  position: relative;
  padding-bottom: 170px;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
@media screen and (max-width: 1159px) {
  .m-data-map {
    padding-bottom: 14.6551724138vw;
  }
}
.m-data-map .map-image {
  padding-left: 208px;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-image {
    padding-left: 17.9310344828vw;
  }
}
.m-data-map .map-image img {
  width: 604px;
  pointer-events: none;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-image img {
    width: 52.0689655172vw;
  }
}
.m-data-map .map-data {
  position: absolute;
  z-index: 1;
  font-weight: bold;
  opacity: 0;
  transform: scale(0);
  transition-property: opacity, transform;
  transition-duration: 0.8s;
}
.m-data-map .map-data .area,
.m-data-map .map-data .value {
  display: block;
  text-align: center;
  line-height: 1;
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.5s 0.8s;
}
.m-data-map .map-data::before {
  position: absolute;
  z-index: -1;
  opacity: 0;
  transition: opacity 0.5s 0.8s;
  transform: rotate(30deg);
  content: "";
  width: 100px;
  height: 4px;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data::before {
    width: 8.6206896552vw;
    height: 0.3448275862vw;
  }
}
.m-data-map .map-data::after {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  content: "";
}
.m-data-map .map-data.data-01 {
  top: 20px;
  left: 850px;
  width: 120px;
  height: 120px;
  padding-top: 35px;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-01 {
    top: 1.724137931vw;
    left: 73.275862069vw;
    width: 10.3448275862vw;
    height: 10.3448275862vw;
    padding-top: 3.0172413793vw;
  }
}
.m-data-map .map-data.data-01::before {
  top: 40px;
  left: -90px;
  background-color: #6699cc;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-01::before {
    top: 3.4482758621vw;
    left: -7.7586206897vw;
  }
}
.m-data-map .map-data.data-01::after {
  background-color: #86b9ec;
}
.m-data-map .map-data.data-01 .area {
  font-size: 1.5rem;
  color: #244b71;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-01 .area {
    font-size: 1.2931034483vw;
  }
}
.m-data-map .map-data.data-01 .value {
  padding-left: 15px;
  font-size: 1.8rem;
  color: #497aab;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-01 .value {
    padding-left: 1.2931034483vw;
    font-size: 1.5517241379vw;
  }
}
.m-data-map .map-data.data-01 .value span {
  font-size: 3.5rem;
  color: #346393;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-01 .value span {
    font-size: 3.0172413793vw;
  }
}
.m-data-map .map-data.data-02 {
  top: 320px;
  left: 808px;
  width: 282px;
  height: 282px;
  padding-top: 60px;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-02 {
    top: 27.5862068966vw;
    left: 69.6551724138vw;
    width: 24.3103448276vw;
    height: 24.3103448276vw;
    padding-top: 5.1724137931vw;
  }
}
.m-data-map .map-data.data-02::before {
  top: 90px;
  left: -60px;
  background-color: #71d5cb;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-02::before {
    top: 7.7586206897vw;
    left: -5.1724137931vw;
  }
}
.m-data-map .map-data.data-02::after {
  background-color: #71d5cb;
}
.m-data-map .map-data.data-02 .area {
  font-size: 4.5rem;
  color: #376d68;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-02 .area {
    font-size: 3.8793103448vw;
  }
}
.m-data-map .map-data.data-02 .value {
  font-size: 6.7rem;
  color: #4bb0a6;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-02 .value {
    font-size: 5.775862069vw;
  }
}
.m-data-map .map-data.data-02 .value span {
  font-size: 11.3rem;
  color: #0e8579;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-02 .value span {
    font-size: 9.7413793103vw;
  }
}
.m-data-map .map-data.data-03 {
  top: 97px;
  left: 400px;
  width: 160px;
  height: 160px;
  padding-top: 38px;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-03 {
    top: 8.3620689655vw;
    left: 34.4827586207vw;
    width: 13.7931034483vw;
    height: 13.7931034483vw;
    padding-top: 3.275862069vw;
  }
}
.m-data-map .map-data.data-03::before {
  top: 140px;
  right: 10px;
  background-color: #75b777;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-03::before {
    top: 12.0689655172vw;
    right: 0.8620689655vw;
  }
}
.m-data-map .map-data.data-03::after {
  background-color: #7fcb82;
}
.m-data-map .map-data.data-03 .area {
  font-size: 2rem;
  color: #2a572b;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-03 .area {
    font-size: 1.724137931vw;
  }
}
.m-data-map .map-data.data-03 .value {
  padding-left: 20px;
  font-size: 3rem;
  color: #3c7c3e;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-03 .value {
    padding-left: 1.724137931vw;
    font-size: 2.5862068966vw;
  }
}
.m-data-map .map-data.data-03 .value span {
  font-size: 6.5rem;
  color: #2e642f;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-03 .value span {
    font-size: 5.6034482759vw;
  }
}
.m-data-map .map-data.data-04 {
  top: 510px;
  left: 500px;
  width: 282px;
  height: 282px;
  padding-top: 60px;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-04 {
    top: 43.9655172414vw;
    left: 43.1034482759vw;
    width: 24.3103448276vw;
    height: 24.3103448276vw;
    padding-top: 5.1724137931vw;
  }
}
.m-data-map .map-data.data-04::before {
  top: 0;
  left: -10px;
  background-color: #efb838;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-04::before {
    left: -0.8620689655vw;
  }
}
.m-data-map .map-data.data-04::after {
  background-color: #f7c246;
}
.m-data-map .map-data.data-04 .area {
  font-size: 4rem;
  color: #8d6811;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-04 .area {
    font-size: 3.4482758621vw;
  }
}
.m-data-map .map-data.data-04 .value {
  font-size: 6.7rem;
  color: #b98e2b;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-04 .value {
    font-size: 5.775862069vw;
  }
}
.m-data-map .map-data.data-04 .value span {
  font-size: 11.3rem;
  color: #8d6811;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-04 .value span {
    font-size: 9.7413793103vw;
  }
}
.m-data-map .map-data.data-05 {
  top: 150px;
  left: 180px;
  width: 120px;
  height: 120px;
  padding-top: 34px;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-05 {
    top: 12.9310344828vw;
    left: 15.5172413793vw;
    width: 10.3448275862vw;
    height: 10.3448275862vw;
    padding-top: 2.9310344828vw;
  }
}
.m-data-map .map-data.data-05::before {
  top: 146px;
  right: -60px;
  background-color: #f58c3f;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-05::before {
    top: 12.5862068966vw;
    right: -5.1724137931vw;
  }
}
.m-data-map .map-data.data-05::after {
  background-color: #f9954b;
}
.m-data-map .map-data.data-05 .area {
  font-size: 1.8rem;
  color: #8f4b19;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-05 .area {
    font-size: 1.5517241379vw;
  }
}
.m-data-map .map-data.data-05 .value {
  padding-left: 20px;
  font-size: 2rem;
  color: #b3652b;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-05 .value {
    padding-left: 1.724137931vw;
    font-size: 1.724137931vw;
  }
}
.m-data-map .map-data.data-05 .value span {
  font-size: 4rem;
  color: #7e4115;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-05 .value span {
    font-size: 3.4482758621vw;
  }
}
.m-data-map .map-data.data-06 {
  top: 480px;
  left: 90px;
  width: 120px;
  height: 120px;
  padding-top: 34px;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-06 {
    top: 41.3793103448vw;
    left: 7.7586206897vw;
    width: 10.3448275862vw;
    height: 10.3448275862vw;
    padding-top: 2.9310344828vw;
  }
}
.m-data-map .map-data.data-06::before {
  top: 20px;
  right: -80px;
  transform: rotate(-30deg);
  background-color: #e77a72;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-06::before {
    top: 1.724137931vw;
    right: -6.8965517241vw;
  }
}
.m-data-map .map-data.data-06::after {
  background-color: #f6918a;
}
.m-data-map .map-data.data-06 .area {
  font-size: 1.6rem;
  color: #943c35;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-06 .area {
    font-size: 1.3793103448vw;
  }
}
.m-data-map .map-data.data-06 .value {
  padding-left: 15px;
  font-size: 2rem;
  color: #c66761;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-06 .value {
    padding-left: 1.2931034483vw;
    font-size: 1.724137931vw;
  }
}
.m-data-map .map-data.data-06 .value span {
  font-size: 4rem;
  color: #9e362e;
}
@media screen and (max-width: 1159px) {
  .m-data-map .map-data.data-06 .value span {
    font-size: 3.4482758621vw;
  }
}
.m-data-map.intersected .map-data {
  opacity: 1;
  transform: scale(1);
}
.m-data-map.intersected .map-data .area,
.m-data-map.intersected .map-data .value, .m-data-map.intersected .map-data::before {
  opacity: 1;
}
@media screen and (max-width: 750px) {
  .m-data-map {
    padding-bottom: 18.6666666667vw;
  }
  .m-data-map .map-image {
    padding: 0 22vw 0 14vw;
  }
  .m-data-map .map-image img {
    width: 100%;
  }
  .m-data-map .map-data::before {
    width: 10.6666666667vw;
    height: 0.5333333333vw;
    min-height: 2px;
  }
  .m-data-map .map-data.data-01 {
    top: 0;
    left: 70.9333333333vw;
    width: 16vw;
    height: 16vw;
    padding-top: 4.8vw;
  }
  .m-data-map .map-data.data-01::before {
    top: 5.3333333333vw;
    left: -9.3333333333vw;
  }
  .m-data-map .map-data.data-01 .area {
    font-size: 1.8666666667vw;
  }
  .m-data-map .map-data.data-01 .value {
    padding-left: 2.6666666667vw;
    font-size: 2.6666666667vw;
  }
  .m-data-map .map-data.data-01 .value span {
    font-size: 5.3333333333vw;
  }
  .m-data-map .map-data.data-02 {
    top: 32vw;
    left: 64vw;
    width: 26.6666666667vw;
    height: 26.6666666667vw;
    padding-top: 4.5333333333vw;
  }
  .m-data-map .map-data.data-02::before {
    top: 2.6666666667vw;
    left: -6.6666666667vw;
  }
  .m-data-map .map-data.data-02 .area {
    font-size: 4.8vw;
  }
  .m-data-map .map-data.data-02 .value {
    font-size: 8vw;
  }
  .m-data-map .map-data.data-02 .value span {
    font-size: 12vw;
  }
  .m-data-map .map-data.data-03 {
    top: 2vw;
    left: 26.6666666667vw;
    width: 18.6666666667vw;
    height: 18.6666666667vw;
    padding-top: 4.8vw;
  }
  .m-data-map .map-data.data-03::before {
    top: 18.6666666667vw;
    right: 1.3333333333vw;
  }
  .m-data-map .map-data.data-03 .area {
    font-size: 2.6666666667vw;
  }
  .m-data-map .map-data.data-03 .value {
    padding-left: 2.6666666667vw;
    font-size: 4.5333333333vw;
  }
  .m-data-map .map-data.data-03 .value span {
    font-size: 6.6666666667vw;
  }
  .m-data-map .map-data.data-04 {
    top: 44.8vw;
    left: 40vw;
    width: 26.6666666667vw;
    height: 26.6666666667vw;
    padding-top: 4.8vw;
  }
  .m-data-map .map-data.data-04::before {
    top: 0vw;
    left: -1.3333333333vw;
  }
  .m-data-map .map-data.data-04 .area {
    font-size: 4.8vw;
  }
  .m-data-map .map-data.data-04 .value {
    font-size: 8vw;
  }
  .m-data-map .map-data.data-04 .value span {
    font-size: 12vw;
  }
  .m-data-map .map-data.data-05 {
    top: 6.9333333333vw;
    left: 6vw;
    width: 16vw;
    height: 16vw;
    padding-top: 4.8vw;
  }
  .m-data-map .map-data.data-05::before {
    top: 19.4666666667vw;
    right: -5.3333333333vw;
  }
  .m-data-map .map-data.data-05 .area {
    font-size: 2.4vw;
  }
  .m-data-map .map-data.data-05 .value {
    padding-left: 2.6666666667vw;
    font-size: 2.6666666667vw;
  }
  .m-data-map .map-data.data-05 .value span {
    font-size: 5.3333333333vw;
  }
  .m-data-map .map-data.data-06 {
    top: 40vw;
    left: 0;
    width: 16vw;
    height: 16vw;
    padding-top: 4.8vw;
  }
  .m-data-map .map-data.data-06::before {
    top: 2.6666666667vw;
    right: -8vw;
  }
  .m-data-map .map-data.data-06 .area {
    font-size: 2.1333333333vw;
  }
  .m-data-map .map-data.data-06 .value {
    padding-left: 2vw;
    font-size: 2.6666666667vw;
  }
  .m-data-map .map-data.data-06 .value span {
    font-size: 5.3333333333vw;
  }
}

.m-top-bar {
  position: relative;
  margin: 0 0 80px;
}
.m-top-bar-body {
  display: flex;
  justify-content: space-between;
  width: calc(1160px + (100% - 1160px) / 2);
  max-width: calc(100% - 40px);
  margin: 0 0 0 auto;
}
.m-top-bar-title {
  order: 2;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 70px;
  padding: 0 40px 0 25px;
  background-color: #e60112;
  color: #fff;
  white-space: nowrap;
}
.m-top-bar-title .title-heading {
  order: 2;
  margin-top: -0.2em;
  font-size: 1.6rem;
}
.m-top-bar-title .title-sub {
  order: 1;
  margin-right: 15px;
  font-size: 1.3rem;
  letter-spacing: 0.3em;
  font-weight: 900;
  font-family: "Source Sans Pro", sans-serif;
}
.m-top-bar-title .title-sub span {
  font-weight: 300;
}
.m-top-bar-info {
  order: 1;
  display: flex;
  align-items: center;
  min-height: 70px;
  padding: 8px 15px 8px 0;
}
.m-top-bar-info .info-heading {
  margin-right: 20px;
  color: #e60112;
  font-size: 1.8rem;
  letter-spacing: 0.2em;
  white-space: nowrap;
  font-family: "Source Sans Pro", sans-serif;
}
.m-top-bar-info .info-list-item {
  display: flex;
  margin: 0.25em 0;
  font-size: 1.4rem;
}
.m-top-bar-info .info-list .date {
  margin-right: 1em;
  white-space: nowrap;
}
.m-top-bar-info .info-list a {
  text-decoration: underline;
}
.m-top-bar-info .info-list a:hover {
  text-decoration: none;
}
@media screen and (max-width: 1024px) {
  .m-top-bar-body {
    display: block;
    width: 100%;
    max-width: none;
    padding-left: 40px;
  }
  .m-top-bar-title {
    width: auto;
    margin: 0 0 20px;
  }
}
@media screen and (max-width: 750px) {
  .m-top-bar {
    margin: 0 0 10.6666666667vw;
  }
  .m-top-bar-body {
    margin: 0;
    padding-left: 5.0666666667vw;
  }
  .m-top-bar-title {
    height: 12vw;
    margin: 0 0 4vw;
    padding: 0 5.0666666667vw 0 0;
  }
  .m-top-bar-title .title-heading {
    font-size: 3.7333333333vw;
  }
  .m-top-bar-title .title-sub {
    margin-right: 4.5333333333vw;
    font-size: 3.6vw;
    transform: scale(0.5);
    transform-origin: 100% 50%;
  }
  .m-top-bar-info {
    display: block;
    min-height: auto;
    padding: 0;
  }
  .m-top-bar-info .info-heading {
    margin: 0 0 2.1333333333vw;
    font-size: 2.6666666667vw;
  }
  .m-top-bar-info .info-list {
    padding-right: 5.0666666667vw;
  }
  .m-top-bar-info .info-list li {
    font-size: 3.2vw;
  }
}

.m-top-message {
  position: relative;
  margin: 0 0 100px;
}
.m-top-message::after {
  position: absolute;
  top: 70%;
  right: 0;
  z-index: -1;
  display: block;
  width: 20px;
  height: 200px;
  background-color: #e60112;
  content: "";
}
.m-top-message-content {
  position: relative;
  z-index: 1;
}
.m-top-message-content .text {
  font-size: 1.8rem;
  line-height: 5.2rem;
  text-align: center;
}
.m-top-message-content .text ~ .text {
  margin-top: 5rem;
}
.m-top-message-content .text b {
  color: #e60112;
  font-size: 2.4rem;
}
.m-top-message-aside {
  overflow: hidden;
  position: absolute;
  top: 100px;
  left: 0;
  z-index: -1;
  padding-right: 140px;
  border-bottom: 20px solid #e60112;
  transform-origin: 0 100%;
  transform: translate(0, -100%) rotate(90deg);
  white-space: nowrap;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.m-top-message-aside p {
  margin-bottom: -14px;
  color: #e60112;
  line-height: 1;
  font-family: "Source Sans Pro", sans-serif;
}
.m-top-message-aside p .yamazaki {
  margin-right: 0.4em;
  font-size: 3.6rem;
  font-weight: 300;
  letter-spacing: 0.1em;
}
.m-top-message-aside p .title {
  font-size: 8rem;
  font-weight: 700;
}
@media screen and (max-width: 1024px) {
  .m-top-message-content .text {
    font-size: 1.5rem;
    line-height: 3.9rem;
  }
  .m-top-message-content .text b {
    font-size: 2rem;
  }
}
@media screen and (max-width: 750px) {
  .m-top-message {
    margin: 0 0 13.3333333333vw;
  }
  .m-top-message::after {
    top: auto;
    bottom: 0;
    width: 2.6666666667vw;
    height: 57.3333333333vw;
  }
  .m-top-message-content {
    width: auto;
  }
  .m-top-message-content .text {
    font-size: 3.7333333333vw;
    line-height: 2.57;
  }
  .m-top-message-content .text ~ .text {
    margin-top: 9.3333333333vw;
  }
  .m-top-message-content .text b {
    font-size: 3.7333333333vw;
  }
  .m-top-message-aside {
    top: 14.6666666667vw;
    padding-right: 18.6666666667vw;
    border-bottom: 1.3333333333vw solid #e60112;
  }
  .m-top-message-aside p {
    margin-bottom: -1.8666666667vw;
  }
  .m-top-message-aside p .yamazaki {
    font-size: 4.8vw;
  }
  .m-top-message-aside p .title {
    font-size: 10.6666666667vw;
  }
}

.m-top-person {
  position: relative;
  margin: 0 0 100px;
}
.m-top-person-content {
  position: relative;
}
.m-top-person-content__swiper {
  margin: 50px 0 140px;
}
.m-top-person-content__swiper::after {
  position: absolute;
  bottom: 50%;
  left: 0;
  z-index: -1;
  display: block;
  width: 17%;
  height: 186px;
  background-color: #e60112;
  content: "";
}
.m-top-person .swiper-body {
  position: relative;
  width: 1250px;
  height: 300px;
  margin: 0 auto;
}
@media (max-width: 1249px) {
  .m-top-person .swiper-body {
    width: 1000px;
  }
}
@media (max-width: 999px) {
  .m-top-person .swiper-body {
    width: 750px;
  }
}
.m-top-person .swiper-body .swiper-button {
  overflow: hidden;
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 2;
  width: 50px;
  height: 50px;
  margin: auto 0;
  background: none;
  border: none;
  border-radius: 50%;
  box-shadow: none;
  white-space: nowrap;
  text-indent: 100%;
  outline: none;
  transition: filter 0.2s;
  cursor: pointer;
}
@media screen and (min-width: 751px) {
  .m-top-person .swiper-body .swiper-button:hover {
    filter: brightness(0.8);
  }
}
.m-top-person .swiper-body .swiper-button.prev {
  left: 0;
  background: url(../images/common/parts_slide_prev.svg) no-repeat 0 0/cover;
  transform: translate(-50%, 0);
}
.m-top-person .swiper-body .swiper-button.next {
  right: 0;
  background: url(../images/common/parts_slide_next.svg) no-repeat 0 0/cover;
  transform: translate(50%, 0);
}
.m-top-person .swiper-body .swiper-slide-body {
  overflow: hidden;
  position: relative;
  display: block;
  width: 240px;
  height: 300px;
  margin: 0 auto;
  background-color: #fff;
}
@media screen and (min-width: 751px) {
  .m-top-person .swiper-body .swiper-slide-body:hover .item-hover-text {
    opacity: 1;
  }
  .m-top-person .swiper-body .swiper-slide-body:hover .item-content {
    color: #e60112;
  }
}
.m-top-person .swiper-body .swiper-slide-body::before {
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 2;
  width: 198px;
  height: 134px;
  background: url(../images/common/parts_person_triangle.svg) no-repeat 0 100%/cover;
  content: "";
}
.m-top-person .swiper-body .swiper-slide .item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.m-top-person .swiper-body .swiper-slide .item-hover-text {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  padding: 120px 5px 0 15px;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.2s;
}
.m-top-person .swiper-body .swiper-slide .item-hover-text p {
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
}
.m-top-person .swiper-body .swiper-slide .item-content {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 2;
  padding: 0 15px 10px 0;
  text-align: right;
  transition: color 0.2s;
}
.m-top-person .swiper-body .swiper-slide .item-content .main {
  margin-bottom: 4px;
  font-size: 1.8rem;
  font-weight: bold;
  display: inline-block;
  padding-left: 1em;
  background: url(../images/common/parts_red_arrow.svg) no-repeat 0 56%/0.5em auto;
}
.m-top-person .swiper-body .swiper-slide .item-content .sub {
  font-size: 1.2rem;
}
.m-top-person-aside {
  overflow: hidden;
  position: absolute;
  top: 50%;
  right: 0;
  z-index: -1;
  width: 62%;
  height: 226px;
  background-color: #e60112;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.m-top-person-aside p {
  position: absolute;
  bottom: -10px;
  right: -15px;
  color: #fff;
  line-height: 1;
  opacity: 0.3;
  font-family: "Source Sans Pro", sans-serif;
}
.m-top-person-aside p .yamazaki {
  margin-right: 0.4em;
  font-size: 4.6rem;
  font-weight: 100;
  letter-spacing: 0.06em;
}
.m-top-person-aside p .title {
  font-size: 7.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.m-top-person .talk-session {
  width: 740px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 30px;
}
.m-top-person .talk-session-heading {
  color: #e60112;
  font-size: 2.6rem;
  letter-spacing: 0.1em;
  text-align: right;
}
@media screen and (min-width: 751px) {
  .m-top-person .talk-session-link:hover .image-block .image img {
    opacity: 0.8;
    transform: scale(1.08);
  }
}
.m-top-person .talk-session-link .image-block {
  position: relative;
  margin: 10px 0;
}
.m-top-person .talk-session-link .image-block .image {
  overflow: hidden;
  display: block;
  background-color: #fff;
}
.m-top-person .talk-session-link .image-block img {
  width: 100%;
  transition: opacity 0.25s, transform 0.25s;
}
.m-top-person .talk-session-link .image-block .text {
  position: absolute;
  bottom: -10px;
  right: -10px;
  z-index: -1;
  width: 22%;
  padding-top: 4px;
  background-color: #e60112;
  text-align: right;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.m-top-person .talk-session-link .image-block .text span {
  writing-mode: vertical-rl;
  color: #e60112;
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.3em;
  line-height: 1;
  transform: translate(80%, 0);
  font-family: "Source Sans Pro", sans-serif;
}
.m-top-person .talk-session-link .image-block::before {
  position: absolute;
  top: -10px;
  left: -10px;
  z-index: -1;
  display: block;
  width: 22%;
  height: 90%;
  background-color: #e60112;
  content: "";
}
.m-top-person .talk-session-link .content {
  display: inline-flex;
  align-items: center;
  padding-right: 0.5em;
  transition: box-shadow 0.15s;
}
.m-top-person .talk-session-link .content .heading {
  margin-right: 0.5em;
  font-size: 2.2rem;
  font-weight: bold;
  display: inline-block;
  padding-left: 1em;
  background: url(../images/common/parts_red_arrow.svg) no-repeat 0 56%/0.5em auto;
}
.m-top-person .talk-session-link .content .desc {
  display: block;
  padding-top: 2px;
  font-size: 1.4rem;
}
@media screen and (max-width: 750px) {
  .m-top-person {
    margin: 0 0 13.3333333333vw;
  }
  .m-top-person-content__swiper {
    margin: 9.3333333333vw 0 17.3333333333vw;
  }
  .m-top-person-content__swiper::after {
    top: -4vw;
    bottom: auto;
    width: 50%;
    height: 40vw;
  }
  .m-top-person .swiper-body {
    width: 44vw;
    height: 53.3333333333vw;
  }
  .m-top-person .swiper-body .swiper-button {
    width: 9.3333333333vw;
    height: 9.3333333333vw;
    transform: none !important;
  }
  .m-top-person .swiper-body .swiper-button.prev {
    left: -22.9333333333vw;
  }
  .m-top-person .swiper-body .swiper-button.next {
    right: -22.9333333333vw;
  }
  .m-top-person .swiper-body .swiper-slide-body {
    width: 42.6666666667vw;
    height: 53.3333333333vw;
  }
  .m-top-person .swiper-body .swiper-slide-body::before {
    width: 38.6666666667vw;
    height: 26.1333333333vw;
  }
  .m-top-person .swiper-body .swiper-slide .item-hover-text {
    display: none;
  }
  .m-top-person .swiper-body .swiper-slide .item-content {
    padding: 0 3.2vw 2.6666666667vw 0;
  }
  .m-top-person .swiper-body .swiper-slide .item-content .main {
    margin-bottom: 1.0666666667vw;
    font-size: 3.2vw;
  }
  .m-top-person .swiper-body .swiper-slide .item-content .sub {
    font-size: 2.6666666667vw;
  }
  .m-top-person-aside {
    top: auto;
    bottom: -9.3333333333vw;
    width: 83%;
    height: 26.6666666667vw;
  }
  .m-top-person-aside p {
    bottom: -2.1333333333vw;
    right: -1.8666666667vw;
  }
  .m-top-person-aside p .yamazaki {
    font-size: 6.1333333333vw;
  }
  .m-top-person-aside p .title {
    font-size: 10.1333333333vw;
  }
  .m-top-person .talk-session {
    width: auto;
    max-width: none;
    padding: 0 5.0666666667vw;
  }
  .m-top-person .talk-session-heading {
    padding-right: 4vw;
    font-size: 3.4666666667vw;
  }
  .m-top-person .talk-session-link .image-block {
    margin: 1.3333333333vw 0;
    padding: 0 4vw 0 1.3333333333vw;
  }
  .m-top-person .talk-session-link .image-block .text {
    bottom: -1.3333333333vw;
    right: 2.6666666667vw;
    width: 18.6666666667vw;
    padding-top: 0.8vw;
  }
  .m-top-person .talk-session-link .image-block .text span {
    font-size: 3.4666666667vw;
  }
  .m-top-person .talk-session-link .image-block::before {
    top: -1.3333333333vw;
    left: 0;
    width: 20vw;
  }
  .m-top-person .talk-session-link .content {
    display: block;
  }
  .m-top-person .talk-session-link .content .heading {
    margin: 0;
    font-size: 3.7333333333vw;
  }
  .m-top-person .talk-session-link .content .desc {
    font-size: 3.2vw;
  }
}

@media screen and (min-width: 751px) {
  .sp-view {
    display: none !important;
  }
}
@media screen and (max-width: 750px) {
  .pc-view {
    display: none !important;
  }
}
.mt-0 {
  margin-top: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

@media screen and (min-width: 751px) {
  .mt-10 {
    margin-top: 10px !important;
  }
  .mb-10 {
    margin-bottom: 10px !important;
  }
  .mt-20 {
    margin-top: 20px !important;
  }
  .mb-20 {
    margin-bottom: 20px !important;
  }
  .mt-30 {
    margin-top: 30px !important;
  }
  .mb-30 {
    margin-bottom: 30px !important;
  }
  .mt-40 {
    margin-top: 40px !important;
  }
  .mb-40 {
    margin-bottom: 40px !important;
  }
  .mt-50 {
    margin-top: 50px !important;
  }
  .mb-50 {
    margin-bottom: 50px !important;
  }
  .mt-60 {
    margin-top: 60px !important;
  }
  .mb-60 {
    margin-bottom: 60px !important;
  }
  .mt-70 {
    margin-top: 70px !important;
  }
  .mb-70 {
    margin-bottom: 70px !important;
  }
  .mt-80 {
    margin-top: 80px !important;
  }
  .mb-80 {
    margin-bottom: 80px !important;
  }
  .mt-90 {
    margin-top: 90px !important;
  }
  .mb-90 {
    margin-bottom: 90px !important;
  }
  .mt-100 {
    margin-top: 100px !important;
  }
  .mb-100 {
    margin-bottom: 100px !important;
  }
}
@media screen and (max-width: 750px) {
  .mt-10 {
    margin-top: 2.6666666667vw !important;
  }
  .mb-10 {
    margin-bottom: 2.6666666667vw !important;
  }
  .mt-20 {
    margin-top: 5.3333333333vw !important;
  }
  .mb-20 {
    margin-bottom: 5.3333333333vw !important;
  }
  .mt-30 {
    margin-top: 8vw !important;
  }
  .mb-30 {
    margin-bottom: 8vw !important;
  }
  .mt-40 {
    margin-top: 10.6666666667vw !important;
  }
  .mb-40 {
    margin-bottom: 10.6666666667vw !important;
  }
  .mt-50 {
    margin-top: 13.3333333333vw !important;
  }
  .mb-50 {
    margin-bottom: 13.3333333333vw !important;
  }
  .mt-60 {
    margin-top: 16vw !important;
  }
  .mb-60 {
    margin-bottom: 16vw !important;
  }
  .mt-70 {
    margin-top: 18.6666666667vw !important;
  }
  .mb-70 {
    margin-bottom: 18.6666666667vw !important;
  }
  .mt-80 {
    margin-top: 21.3333333333vw !important;
  }
  .mb-80 {
    margin-bottom: 21.3333333333vw !important;
  }
  .mt-90 {
    margin-top: 24vw !important;
  }
  .mb-90 {
    margin-bottom: 24vw !important;
  }
  .mt-100 {
    margin-top: 26.6666666667vw !important;
  }
  .mb-100 {
    margin-bottom: 26.6666666667vw !important;
  }
}
.tac {
  text-align: center !important;
}

.tar {
  text-align: right !important;
}

.tal {
  text-align: left !important;
}

.taj {
  text-align: justify !important;
}

.u-red {
  color: #e60112;
}

@media screen and (min-width: 751px) {
  .fs-small {
    font-size: 1.4rem !important;
  }
  .fs-normal {
    font-size: 1.6rem !important;
  }
  .fs-large {
    font-size: 2.4rem !important;
  }
  .fs-x-large {
    font-size: 5rem !important;
  }
}
@media screen and (max-width: 750px) {
  .fs-small {
    font-size: 2.6666666667vw !important;
  }
  .fs-normal {
    font-size: 3.2vw !important;
  }
  .fs-large {
    font-size: 3.7333333333vw !important;
  }
  .fs-x-large {
    font-size: 4.5333333333vw !important;
  }
}