@charset "UTF-8";
:root {
  --target-height: 0px;
}

html {
  color: #000;
  font-family: "Noto Sans JP", YuGothic, "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 62.5%;
  position: relative;
  background: #fff;
  font-weight: 400;
  transition: .3s;
  visibility: hidden;
}
html.wf-active {
  visibility: visible;
}
@media (max-width: 959px) {
  html {
    font-size: 52%;
    font-weight: 400;
  }
}
.grecaptcha-badge { visibility: hidden; }
body {
  font-size: 1.7rem;
  transition: .3s;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
  font-variant-ligatures: common-ligatures contextual;
  font-feature-settings: "kern", "liga", "clig", "calt";
}
@media (max-width: 559px) {
  body {
    font-size: 1.6rem;
  }
}
body a {
  color: #000;
  text-decoration: none;
  transition: .3s;
  vertical-align: top;
  cursor: pointer;
  font-family: "Noto Sans JP", YuGothic, "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "ＭＳ Ｐゴシック", sans-serif;
  display: inline-block;
}
body input {
  font-family: "Noto Sans JP", YuGothic, "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "ＭＳ Ｐゴシック", sans-serif;
}
body input[type="text"], body input[type="email"], body input[type="tel"] {
  background: #fff;
  border: 1px solid #d5d5d5;
  font-size: 1.7rem;
  width: 80%;
  padding: .8rem 1.4rem 1rem;
  box-sizing: border-box;
}
body input::placeholder {
  color: #bdbdbd;
}
body input.small {
  width: 30%;
}
body input[type="submit"], body input[type="button"] {
  -webkit-appearance: none;
}
body textarea {
  background: #fff;
  border: 1px solid #d5d5d5;
  font-size: 1.7rem;
  width: 80%;
  padding: .8rem 1.4rem 1rem;
  box-sizing: border-box;
}
body select {
  background: #fff;
  border: 1px solid #d5d5d5;
  font-size: 1.7rem;
  padding: .8rem 2rem .8rem 1rem;
  box-sizing: border-box;
}
body a:hover {
  text-decoration: none;
}
body a:hover img {
  transition: .3s;
}
body a:focus {
  overflow: hidden;
  outline: none;
}
body .indent {
  padding-left: 1em;
  text-indent: -1em;
}
body dt, body dd, body p, body li, body th, body td, body address {
  line-height: 2.1;
  letter-spacing: 1px;
}
body img {
  max-width: 100%;
  transition: .3s;
}
body strong {
  font-weight: 700;
}
body .red {
  color: #cb2d28;
}
body .right {
  text-align: right;
}
body .left {
  text-align: left;
}
body .center {
  text-align: center;
}
body .b {
  font-weight: bold;
}
body .s {
  font-size: 1.2rem;
}
body .mb10 {
  margin-bottom: 1rem;
}
body .mb20 {
  margin-bottom: 2rem;
}
body .mb30 {
  margin-bottom: 3rem;
}
body .mb40 {
  margin-bottom: 4rem;
}
body .mb50 {
  margin-bottom: 5rem;
}
body #pagetop {
  position: fixed;
  right: 2rem;
  bottom: 2rem;
  font-family: "Material Icons";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #00759b;
  cursor: pointer;
  font-size: 4.2rem;
  transition: .3s;
  color: #00759b;
}
body #pagetop:hover {
  background: #00759b;
  color: #fff;
}
body .text-en {
  font-family: "Josefin Sans", sans-serif;
}
body .text-min {
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
}
body .must {
  background: #cb2d28;
  color: #fff;
  font-weight: bold;
  font-size: 1.2rem;
  text-align: center;
  border-radius: 0;
  display: inline-block;
  margin-left: .8rem;
  line-height: 1.4;
  padding: .2rem .6rem .3rem;
  position: absolute;
  right: 0;
  top: .78rem;
}
body .more {
  border: 1px solid #00759b;
  text-align: center;
  margin: 0 0 3rem;
  padding: 0 0 .2rem;
  cursor: pointer;
  transition: .3s;
}
body .more span {
  font-size: 2.8rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #00759b;
  position: relative;
}
body .more span:after {
  position: absolute;
  right: -4rem;
  top: .7rem;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Material Icons";
  content: "expand_more";
  font-size: 2rem;
  background: #00759b;
  padding: 0 0 0 .1rem;
  transition: .3s;
}
body .more:hover {
  background: #00759b;
}
body .more:hover span {
  color: #fff;
}
body .more:hover span:after {
  background: #fff;
  color: #00759b;
}
body .more.active span:after {
  transform: rotateZ(180deg);
}
@media (max-width: 559px) {
  body .more span {
    font-size: 2.4rem;
  }
  body .more span:after {
    width: 2.4rem;
    height: 2.4rem;
    box-sizing: border-box;
    font-size: 1.4rem;
    right: -3rem;
  }
}
body .external {
  position: relative;
  padding: 0 2.5rem 0 0;
}
body .external:after {
  content: "open_in_new";
  font-family: "Material Icons";
  font-size: 2rem;
  color: #647ab5;
  position: absolute;
  right: -.4rem;
  top: -.2rem;
}
body .external.type02:after {
  color: #00759b;
}
body .icon-loupe {
  position: relative;
}
body .icon-loupe:after {
  position: absolute;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: #00759b;
  color: #fff;
  content: "zoom_in";
  font-family: "Material Icons";
  right: 1rem;
  bottom: 1rem;
  font-size: 2.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  padding: .4rem 0 0;
  filter: brightness(1);
  transition: .3s;
}
body .icon-loupe:hover:after {
  filter: brightness(1.2);
}
@media (max-width: 559px) {
  body .icon-loupe:after {
    width: 7vw;
    height: 7vw;
    font-size: 5vw;
    right: 2vw;
    bottom: 2vw;
  }
}
body .tab {
  display: flex;
  justify-content: space-between;
}
body .tab li {
  text-align: center;
  margin: 0 .5rem 0 0;
  transition: all 0.3s;
  display: block;
  cursor: pointer;
  text-align: center;
  width: 100%;
  line-height: 1.6;
  min-height: 7rem;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 1rem;
  background: #ededed;
}
body .tab li.active {
  background: #00759b;
  color: #fff;
}
body .tab li:last-of-type {
  margin-right: 0;
}
body .tab.type02 {
  margin: 0 0 4rem;
}
body .tab.type02 li {
  margin: 0;
}
body .tab.tab-cp li {
  position: relative;
}
body .tab.tab-cp li:after {
  height: 12px;
  width: 1px;
  background: #000;
  position: absolute;
  content: "";
  left: 50%;
  bottom: 0;
}
body .tab.tab-cp li.active:after {
  background: #fff;
}
@media (max-width: 559px) {
  body .tab {
    flex-wrap: wrap;
  }
  body .tab li {
    margin: 0 0 2%;
    width: 49%;
    box-sizing: border-box;
  }
}
body .text-anim01 .text-anim01_item {
  position: relative;
}
body .text-anim01 .text-anim01_item span {
  position: relative;
  z-index: 1;
  opacity: 0;
}
body .text-anim01 .text-anim01_item:before {
  content: "";
  display: block;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  right: 100%;
  bottom: 0;
}
body .text-anim01 .text-anim01_item:nth-of-type(2):before {
  animation-delay: 0.3s !important;
}
body .text-anim01.anima .text-anim01_item span {
  animation: anima_fadein01 0.5s ease-out 0.9s 1 forwards;
}
body .text-anim01.anima .text-anim01_item:before {
  animation: anima_bg01 0.9s ease-out 1 forwards;
}
body .text-anim01.type02 .text-anim01_item:before, body .text-anim01.type03 .text-anim01_item:before {
  background-color: #13358e;
}
body .text-anim01.white {
  color: #fff;
}
body .text-anim01.white .text-anim01_item:before {
  background-color: #fff;
}
body .text-anim01.white strong {
  color: #fff;
}
@keyframes anima_fadein01 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes anima_bg01 {
  0% {
    left: 0;
    right: 100%;
  }
  40% {
    left: 0;
    right: 0;
  }
  60% {
    left: 0;
    right: 0;
  }
  100% {
    left: 100%;
    right: 0;
  }
}
body .contentBox01 {
  background: #13358e url("../img/bg01.webp") no-repeat top center/cover;
  padding: 10rem 0;
  color: #fff;
  position: relative;
}
body .contentBox01 .container .text {
  width: 100%;
}
body .contentBox01 .container .text h1 {
  font-size: 3.8rem;
  line-height: 1.6;
  margin: 0 0 3rem;
}
body .contentBox01 .container .text p {
  margin: 0 0 2rem;
}
body .contentBox01 > .img {
  position: absolute;
  right: 0;
  top: 15rem;
  max-width: 51.9rem;
  width: 34vw;
}
body .contentBox01.white {
  background: #fff;
  color: #000;
}
body .contentBox01.gray {
  background: #f3f3f3;
  color: #000;
}
body .contentBox01#recruit-message .container .text {
  width: 45vw;
}
body .contentBox01#recruit-message .container:before {
  content: "MESSAGE";
  font-family: "Josefin Sans", sans-serif;
  color: #fff;
  font-size: 8.4rem;
  writing-mode: vertical-rl;
  font-weight: 700;
  position: absolute;
  left: -12rem;
  top: 1rem;
}
body .contentBox01#recruit-benefit .container .text {
  width: 36vw;
}
body .contentBox01#recruit-benefit .img {
  max-width: 71.3rem;
  width: 46vw;
  top: 10rem;
}
body .contentBox01#recruit-guideline .container .text {
  width: 100%;
}
@media (max-width: 959px) {
  body .contentBox01 {
    padding: 5rem 0;
  }
  body .contentBox01 .container .text {
    width: 100%;
  }
  body .contentBox01 .img {
    top: 21rem;
  }
  body .contentBox01#recruit-message .container:before {
    writing-mode: horizontal-tb;
    left: auto;
    right: 3vw;
    top: -10vw;
    font-size: 10vw;
    opacity: .3;
  }
  body .contentBox01#recruit-message .container .text p {
    width: 56vw;
  }
  body .contentBox01#recruit-benefit .container .text {
    width: 51vw;
  }
  body .contentBox01#recruit-benefit .img {
    width: 40vw;
  }
}
@media (max-width: 559px) {
  body .contentBox01 .img {
    position: static;
    max-width: 100%;
    text-align: center;
    width: 60%;
    margin: 0 auto;
  }
  body .contentBox01#recruit-message .container:before {
    width: calc(100% - 2rem);
    text-align: left;
    right: auto;
    box-sizing: border-box;
    top: 0vw;
    font-size: 2rem;
    left: 2rem;
  }
  body .contentBox01#recruit-message .container .text {
    width: 100%;
  }
  body .contentBox01#recruit-message .container .text h1 {
    line-height: 1.6;
    font-size: 2.4rem;
    margin: 0 0 3rem;
    padding: 4rem 0 0;
  }
  body .contentBox01#recruit-message .container .text p {
    width: 100%;
  }
  body .contentBox01#recruit-benefit .container .text {
    width: 100%;
  }
  body .contentBox01#recruit-benefit .img {
    width: 100%;
    padding: 0 2rem;
    box-sizing: border-box;
    margin: 5rem 0 0;
  }
  body .contentBox01#recruit-guideline .container .text p.center {
    text-align: left;
  }
}
body .contentBox02 {
  padding: 10rem 0;
}
body .contentBox02.type-blue {
  background: #13358e;
}
body .contentBox02.type-blue#recruit-company_data {
  background: #13358e url("../img/bg02@2x.webp") no-repeat center top/cover;
}
body .contentBox02.type-blue#recruit-company_data h2 {
  margin: 0 0 8rem;
}
body .contentBox02.type-blue#recruit-company_data .list-common01 ul li {
  padding: 5rem 2.6rem 0 2.6rem;
}
body .contentBox02.type-blue#recruit-company_data .list-common01 ul li:before {
  position: absolute;
  width: 8.3rem;
  height: 8.3rem;
  content: "";
  left: 50%;
  margin-left: -4.15rem;
  top: -4.15rem;
}
body .contentBox02.type-blue#recruit-company_data .list-common01 ul li:nth-of-type(1):before {
  background: url("../img/recruit/icon-building@2x.webp") no-repeat center top/100% auto;
}
body .contentBox02.type-blue#recruit-company_data .list-common01 ul li:nth-of-type(2):before {
  background: url("../img/recruit/icon-money@2x.webp") no-repeat center top/100% auto;
}
body .contentBox02.type-blue#recruit-company_data .list-common01 ul li:nth-of-type(3):before {
  background: url("../img/recruit/icon-profile_card@2x.webp") no-repeat center top/100% auto;
}
body .contentBox02.type-blue#recruit-company_data .list-common01 ul li:nth-of-type(4):before {
  background: url("../img/recruit/icon-timer@2x.webp") no-repeat center top/100% auto;
}
body .contentBox02.type-blue#recruit-company_data .list-common01 ul li:nth-of-type(5):before {
  background: url("../img/recruit/icon-baby@2x.webp") no-repeat center top/100% auto;
}
body .contentBox02.type-blue#recruit-company_data .list-common01 ul li:nth-of-type(6):before {
  background: url("../img/recruit/icon-person3@2x.webp") no-repeat center top/100% auto;
}
@media (max-width: 959px) {
  body .contentBox02 {
    padding: 5rem 0;
  }
}
body .contentBox03 {
  margin: 0 0 16rem;
}
body .contentBox03 .container .contentBoxInner {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
  padding: 5rem 5rem 1rem;
  margin: -10rem 0 0;
}
body .contentBox03 .container .contentBoxInner .main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 5rem;
}
body .contentBox03 .container .contentBoxInner .main .img {
  margin: 0 4.6rem 0 0;
}
body .contentBox03 .container .contentBoxInner .main .text {
  flex: 1;
  width: 100%;
}
body .contentBox03 .container .contentBoxInner .main .text h3 {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  font-size: 4rem;
  color: #13358e;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  margin: 0 0 2.6rem;
}
body .contentBox03 .container .contentBoxInner .main .text h3 span {
  font-size: 1.6rem;
  color: #fff;
  font-weight: 700;
  background: #13358e;
  border-radius: 10rem;
  font-family: "Noto Sans JP", YuGothic, "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "ＭＳ Ｐゴシック", sans-serif;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0 2rem;
  line-height: 1.4;
  margin: .3rem 0 0 2rem;
}
body .contentBox03 .container .contentBoxInner .main .text h3 strong {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 700;
  font-family: "Noto Sans JP", YuGothic, "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "ＭＳ Ｐゴシック", sans-serif;
  color: #000;
  margin: 2rem 0 0;
}
body .contentBox03 .container .contentBoxInner .main .text .message {
  font-size: 2.8rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  display: inline-block;
  position: relative;
  padding: 0 2rem 0 3rem;
  margin: 1rem 0 2rem;
  line-height: 1.6;
}
body .contentBox03 .container .contentBoxInner .main .text .message:before {
  position: absolute;
  left: 0;
  top: 0;
  background: url("../img/brackets01.webp") no-repeat center top/100% auto;
  width: 1.3rem;
  height: 4.6rem;
  content: "";
}
body .contentBox03 .container .contentBoxInner .main .text .message:after {
  position: absolute;
  right: 0;
  bottom: 0;
  background: url("../img/brackets02.webp") no-repeat center top/100% auto;
  width: 1.3rem;
  height: 4.6rem;
  content: "";
}
body .contentBox03 .container .contentBoxInner section {
  margin: 0 0 4rem;
  display: flex;
  justify-content: space-between;
}
body .contentBox03 .container .contentBoxInner section h4 {
  position: relative;
}
body .contentBox03 .container .contentBoxInner section h4 span {
  display: inline-block;
  min-width: 30rem;
  background: #13358e;
  color: #fff;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 2.8rem;
  font-weight: normal;
  position: relative;
  padding: 1.4rem 2rem 1.8rem 2.4rem;
  box-sizing: border-box;
  margin: 0 0 3rem;
}
body .contentBox03 .container .contentBoxInner section h4:before {
  background: #13358e;
  width: 100%;
  height: 1px;
  content: "";
  position: absolute;
  left: 0;
  top: 36%;
}
body .contentBox03 .container .contentBoxInner section h5 {
  color: #13358e;
  font-size: 2.8rem;
  font-weight: 700;
  margin: 0 0 1.6rem;
  line-height: 1.4;
}
body .contentBox03 .container .contentBoxInner section .step {
  width: 27.2rem;
  margin: 0 4.2rem 0 0;
  background: #13358e;
  padding: 1rem;
}
body .contentBox03 .container .contentBoxInner section .step .title {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  padding: 1rem 0 0;
}
body .contentBox03 .container .contentBoxInner section .step .title span {
  display: inline-block;
  background: #fff;
  font-size: 1.6rem;
  color: #13358e;
  font-family: "Josefin Sans", sans-serif;
  text-align: center;
  min-width: 11rem;
  border-radius: 10rem;
  line-height: 1.4;
  padding: .4rem 0 0;
  font-weight: 700;
}
body .contentBox03 .container .contentBoxInner section .step .title strong {
  color: #fff;
  font-size: 2.3rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #fff;
  font-weight: normal;
  line-height: 1.4;
  font-weight: normal;
  margin: .4rem 0 1.2rem;
}
body .contentBox03 .container .contentBoxInner section .step .inner {
  background: #fff;
  border-radius: 10px;
  padding: 1rem;
}
body .contentBox03 .container .contentBoxInner section .step .inner dl {
  margin: 0 0 1rem;
}
body .contentBox03 .container .contentBoxInner section .step .inner dl dt {
  background: #dbe3f7;
  color: #13358e;
  text-align: center;
  border-radius: 5px;
  margin: 0 0 .4rem;
}
body .contentBox03 .container .contentBoxInner section .step .inner dl dd {
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.6;
  padding: 0 .4rem;
}
body .contentBox03 .container .contentBoxInner section .step .inner dl:last-of-type dd {
  text-align: left;
}
body .contentBox03 .container .contentBoxInner section .text {
  flex: 1;
  width: 100%;
}
body .contentBox03 .container .contentBoxInner .moreContents {
  display: none;
}
body .contentBox03 .container .contentBoxInner .interview {
  margin: 8rem 0 0;
}
body .contentBox03 .container .contentBoxInner:nth-of-type(n+2) {
  margin-top: 10rem;
}
@media (max-width: 959px) {
  body .contentBox03 .container .contentBoxInner {
    padding: 5rem 3rem 1rem;
  }
  body .contentBox03 .container .contentBoxInner .main {
    align-items: flex-start;
  }
  body .contentBox03 .container .contentBoxInner .main .img {
    width: 28rem;
    margin: 0 3rem 0 0;
  }
  body .contentBox03 .container .contentBoxInner .main .text h3 {
    font-size: 3.2rem;
  }
  body .contentBox03 .container .contentBoxInner .main .text .message {
    font-size: 2.4rem;
  }
}
@media (max-width: 559px) {
  body .contentBox03 .container .contentBoxInner .main {
    flex-direction: column;
  }
  body .contentBox03 .container .contentBoxInner .main .img {
    width: 23rem;
    margin: 0 auto 3rem;
  }
  body .contentBox03 .container .contentBoxInner .main .text h3 {
    font-size: 3rem;
    justify-content: center;
    flex-direction: column;
    align-items: center;
  }
  body .contentBox03 .container .contentBoxInner .main .text h3 span {
    font-size: 1.4rem;
    padding: .3rem 2rem .5rem;
    margin: 1rem 0 0;
  }
  body .contentBox03 .container .contentBoxInner .main .text h3 strong {
    margin: 2rem 0 1rem;
    text-align: center;
  }
  body .contentBox03 .container .contentBoxInner .main .text .message {
    font-size: 2.4rem;
  }
  body .contentBox03 .container .contentBoxInner section {
    flex-direction: column;
  }
  body .contentBox03 .container .contentBoxInner section h4 span {
    min-width: 100%;
    text-align: center;
    font-size: 2.4rem;
    padding: 1.2rem 2rem 1.4rem 2rem;
    margin: 0 0 2rem;
  }
  body .contentBox03 .container .contentBoxInner section h5 {
    font-size: 2.4rem;
  }
  body .contentBox03 .container .contentBoxInner section .step {
    padding: 1rem;
    width: 100%;
    margin: 0 0 2rem;
    box-sizing: border-box;
  }
  body .contentBox03 .container .contentBoxInner .interview .box01 ul {
    margin: 0 -2rem;
  }
}
body .contentBox04 {
  margin: 0 0 10rem;
}
body .table_container {
  overflow-y: hidden !important;
}
body .table-common01 {
  width: 100%;
}
body .table-common01 thead {
  border-left: 1px solid #13358e;
  border-right: 1px solid #13358e;
}
body .table-common01 thead tr th {
  background: #13358e;
  color: #fff;
  font-weight: normal;
  line-height: 1.4;
  padding: 2rem 1rem;
  vertical-align: middle;
}
body .table-common01 thead tr.line th:first-of-type {
  background-image: linear-gradient(to right top, rgba(0, 0, 0, 0) calc(50% - 0.5px), #eaeaea 50%, #eaeaea calc(50% + 0.5px), rgba(0, 0, 0, 0) calc(50% + 1px));
  display: grid;
  width: initial;
  justify-content: space-between;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 1fr;
}
body .table-common01 thead tr.line th:first-of-type .col-header {
  grid-column-start: 2;
  text-align: right;
}
body .table-common01 thead tr.line th:first-of-type .row-header {
  grid-column-start: 1;
}
body .table-common01 tbody tr {
  border-right: 1px solid #585858;
}
body .table-common01 tbody tr th, body .table-common01 tbody tr td {
  border-top: 1px solid #585858;
  border-left: 1px solid #585858;
  font-weight: normal;
  line-height: 1.4;
  text-align: center;
  vertical-align: middle;
  padding: 1rem;
}
body .table-common01 tbody tr th {
  background: #f0f0f0;
  font-weight: 700;
}
body .table-common01 tbody tr:last-of-type {
  border-bottom: 1px solid #585858;
}
body .table-common01 + figure {
  text-align: right;
  display: block;
  padding: 1.6rem 0 0;
}
body .table-common01.table-stabdards th, body .table-common01.table-stabdards td {
  font-size: 1.5rem;
  padding: 1rem 2rem;
}
body .table-common01.table-stabdards thead th:nth-of-type(1) {
  width: 20%;
}
body .table-common01.table-stabdards thead th:nth-of-type(2) {
  width: 18%;
}
body .table-common01.table-stabdards thead th:nth-of-type(3) {
  width: 6.2%;
}
body .table-common01.table-stabdards thead th:nth-of-type(4) {
  width: 6.2%;
}
body .table-common01.table-stabdards thead th:nth-of-type(5) {
  width: 6.2%;
}
body .table-common01.table-stabdards thead th:nth-of-type(6) {
  width: 6.2%;
}
body .table-common01.table-stabdards thead th:nth-of-type(7) {
  width: 6.2%;
}
body .table-common01.table-stabdards thead th:nth-of-type(8) {
  width: 6.2%;
}
body .table-common01.table-stabdards thead th:nth-of-type(9) {
  width: 6.2%;
}
body .table-common01.table-stabdards thead th:nth-of-type(10) {
  width: 6.2%;
}
body .table-common01.table-stabdards tbody tr th {
  text-align: left;
  font-weight: normal;
}
body .table-common01.table-stabdards tbody tr th strong {
  font-weight: 700;
}
body .table-common01.table-stabdards tbody tr th + td {
  text-align: left;
}
@media (max-width: 959px) {
  body .table-common01 {
    width: 92rem;
  }
}
body .box01 {
  margin: 0 0 4.6rem;
}
body .box01 ul {
  display: flex;
  justify-content: flex-start;
}
body .box01 ul li {
  margin-right: 2.2rem;
}
body .box01 ul li:last-of-type {
  margin-right: 0;
}
body .box01 ul li .img {
  margin: 0 0 1.4rem !important;
  position: static;
  max-width: auto;
  width: auto;
  height: 22vw;
  max-height: 30rem;
}
body .box01 ul li dl {
  text-align: center;
}
body .box01 ul li dl dt {
  font-size: 2.8rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 1.4;
}
body .box01 .slick-prev {
  z-index: 1;
  margin-top: -6rem;
}
body .box01 .slick-prev:before {
  font-family: "Material Icons";
  content: "chevron_left";
  background: #00759b;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  opacity: 1;
}
body .box01 .slick-next {
  z-index: 1;
  margin-top: -6rem;
  right: 2.5rem;
}
body .box01 .slick-next:before {
  font-family: "Material Icons";
  content: "chevron_right";
  background: #00759b;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  opacity: 1;
}
@media (max-width: 959px) {
  body .box01 ul {
    flex-wrap: wrap;
    justify-content: space-between;
    height: 50vw;
  }
  body .box01 ul li {
    margin: 0 0 4%;
    width: 48%;
  }
  body .box01 ul li a {
    display: block;
  }
  body .box01 ul li a .img {
    margin: 0 0 1vw;
    text-align: center;
    max-height: 31vw;
    height: 31vw;
    width: 26vw;
  }
  body .box01 ul li a .img img {
    width: 100%;
  }
  body .box01 .slick-prev {
    margin-top: -11vw;
    left: -2vw;
  }
  body .box01 .slick-next {
    margin-top: -11vw;
    right: 1vw;
  }
}
@media (max-width: 559px) {
  body .box01 {
    margin: 0 0 2.6rem;
  }
  body .box01 ul {
    height: 68vw;
  }
  body .box01 ul li a {
    text-align: center;
  }
  body .box01 ul li a .img {
    max-height: 48vw;
    height: 48vw;
    width: 41vw;
    display: inline-block;
  }
  body .box01 ul li dl dt {
    font-size: 2.4rem;
  }
  body .box01 ul li dl dd {
    font-size: 1.4rem;
  }
}

body .box02 {
  border: 5px solid #00759b;
  padding: 3rem 5rem;
}
body .box02 h3 {
  background: #13358e;
  color: #fff;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 2.4rem;
  font-weight: normal;
  position: relative;
  padding: 1.4rem 2rem 1.8rem 2.4rem;
  box-sizing: border-box;
  margin: 1rem 0;
}
#guideline-career .box02 .tab-set section,
#guideline-freshers .box02 .tab-set section{
  margin-bottom: 5rem;
}
body .box02 .tab-anc {
  background: #DAE3F6;
  padding: 10px;
  margin-bottom: 5rem;
}
body .box02 .tab-anc ul {
    display: flex;
    justify-content: center;
}
body .box02 .tab-anc ul li {
    padding: 0 1rem;
    position: relative;
}
body .box02 .tab-anc ul li::before{
  content: "";
  top: 50%;
  right: 0;
  width: 1px;
  height: 20px;
  margin: auto;
  background-color: #333;
  position: absolute;
  bottom: 50%;
}
body .box02 .tab-anc ul li:last-of-type::before {
  content: none;
}
@media (max-width: 559px) {
  body .box02 {
    padding: 2rem;
  }
}

body .box03 {
  background: #f3f3f3;
  padding: 3rem 5rem;
}
body .box03 .list-common03 dl {
  border: none;
}
body .box03 .wpcf7-spinner {
  position: absolute;
}
@media (max-width: 959px) {
  body .box03 {
    padding: 2rem 3rem;
  }
}
body .box04 {
  margin: 5rem 0 0;
}
body .box04 ul {
  display: flex;
  justify-content: space-between;
}
body .box04 ul li {
  margin: 0 1rem;
}
body .box04 ul li:first-of-type {
  margin-left: 0;
}
body .box04 ul li:last-of-type {
  margin-right: 0;
}
@media (max-width: 559px) {
  body .box04 ul {
    flex-wrap: wrap;
    justify-content: center;
  }
  body .box04 ul li {
    margin: 0 1rem 1rem;
    width: 28%;
  }
}
body .box05 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 9rem;
  margin: 8rem 0;
}
body .box05 .text {
  flex: 1;
  padding: 0 5rem 0 0;
}
body .box05 .text h3 {
  font-size: 3.2rem;
  color: #00759b;
  margin: 0 0 1rem;
}
body .box05.type02 .img {
  order: 2;
}
body .box05.type02 .text {
  order: 1;
  padding: 0 0 0 5rem;
}
@media (max-width: 959px) {
  body .box05 {
    flex-direction: column;
  }
  body .box05 .img {
    order: 2;
  }
  body .box05 .text {
    order: 1;
    padding: 0 5rem;
  }
  body .box05.type02 .text {
    padding: 0 5rem;
  }
}
@media (max-width: 559px) {
  body .box05 {
    gap: 4rem;
    margin: 4rem 0 6rem;
  }
  body .box05 .text {
    padding: 0 5vw;
  }
  body .box05 .text h3 {
    font-size: 2rem;
  }
  body .box05.type02 .text {
    padding: 0 5vw;
  }
}
body .box06 ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
body .box06 ul li {
  width: 48%;
  background: #fff;
  margin: 0 0 4%;
  padding: 3.2rem;
  box-sizing: border-box;
}
body .box06 ul li h3 {
  background: #13358e;
  color: #fff;
  font-weight: 700;
  text-align: center;
  font-size: 2.8rem;
  margin: 0 0 3rem;
}
body .box06 ul li h4 {
  color: #00759b;
  font-size: 3.2rem;
  text-align: center;
  font-weight: 700;
  line-height: 1.4;
  margin: 1rem 0;
}
body .box06 ul li p {
  color: #000;
  text-align: center;
}
body .box06 ul li p.img {
  margin: 3rem 0 0;
}
body .box06 ul li p:last-of-type {
  text-align: left;
}
@media (max-width: 959px) {
  body .box06 ul li {
    width: 100%;
  }
}
@media (max-width: 559px) {
  body .box06 ul li {
    padding: 2rem;
  }
  body .box06 ul li h3 {
    font-size: 2rem;
    padding: .6rem .4rem;
    margin: 0 0 1rem;
  }
  body .box06 ul li h4 {
    margin: .6rem 0;
    font-size: 2.2rem;
  }
  body .box06 ul li p.img {
    width: 100%;
  }
}
body .box07 > ul > li {
  padding: 4rem 5rem;
  margin: 0 0 3rem;
  background: #fff;
}
body .box07 > ul > li h3 {
  font-size: 2.6rem;
  display: flex;
  align-items: center;
  line-height: 1;
  gap: 1.6rem;
  color: #13358e;
  margin: 0 0 2rem;
}
body .box07 > ul > li h3 span {
  font-family: "Josefin Sans", sans-serif;
  padding: 0 1rem 0 0;
  font-size: 7rem;
  font-weight: 500;
  padding: 1rem 0 0;
}
body .box07 > ul > li p, body .box07 > ul > li li, body .box07 > ul > li h4 {
  color: #000;
}
body .box07 > ul > li .wrap {
  display: flex;
  justify-content: space-between;
  gap: 4rem;
}
body .box07 > ul > li .wrap .img {
  width: 44rem;
}
body .box07 > ul > li .wrap .text {
  flex: 1;
}
body .box07 > ul > li .wrap .text h4 {
  color: #00759b;
  font-size: 2.2rem;
  line-height: 1.6;
  margin: 0 0 1rem;
}
@media (max-width: 959px) {
  body .box07 > ul > li .wrap {
    flex-direction: column;
  }
  body .box07 > ul > li .wrap .img {
    margin: 0 auto;
  }
  body .box07 > ul > li .wrap .text .btn-common01 {
    text-align: center;
  }
}
@media (max-width: 559px) {
  body .box07 > ul > li {
    padding: 3rem 2rem;
  }
  body .box07 > ul > li h3 {
    gap: 1rem;
    margin: 0 0 2rem;
    font-size: 2rem;
    line-height: 1.4;
    flex-direction: column;
    text-align: center;
    align-items: center;
  }
  body .box07 > ul > li h3 span {
    width: 100%;
    padding: 0;
    margin: 0;
    line-height: 1;
    font-size: 4rem;
  }
}
body .box08 ul {
  display: flex;
  justify-content: space-between;
}
body .box08 ul li {
  background: #fff;
  padding: 3rem 2.7rem;
  width: 32%;
  box-sizing: border-box;
}
body .box08 ul li h3 {
  color: #00759b;
  font-size: 2.4rem;
  margin: 0 0 .2rem;
  text-align: center;
}
body .box08 ul li p {
  color: #000;
}
body .box08 ul li p.img {
  text-align: center;
  min-height: 10.8rem;
  padding: 2rem 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 559px) {
  body .box08 ul {
    flex-wrap: wrap;
    gap: 1rem;
  }
  body .box08 ul li {
    width: 100%;
  }
}
body .box09 h2 {
  text-align: center;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
  color: #13358e;
  font-size: 3rem;
  padding: 6rem 0 4rem;
}
body .box09 ul {
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin: 0 0 5rem;
}
body .box09 ul li {
  line-height: 0;
  position: relative;
  cursor: pointer;
  transition: .3s;
}
body .box09 ul li:hover {
  filter: brightness(1.2);
}
body .box09 .text p {
  margin: 0 0 1rem !important;
}
@media (max-width: 559px) {
  body .box09 h2 {
    font-size: 2.4rem;
    line-height: 1.6;
    padding: 4rem 0 2rem;
  }
  body .box09 ul {
    margin: 0 0 3rem;
    gap: 2vw;
  }
}
body .box10 {
  padding: 10rem 0 0;
}
body .box10 h3 {
  text-align: center;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 3rem;
  font-weight: normal;
  margin: 0 0 4rem;
}
@media (max-width: 559px) {
  body .box10 h3 {
    font-size: 2.4rem;
  }
}
body .box11 {
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  margin: 0 0 7rem;
  padding: 5rem;
}
body .box11 h2 {
  background: #13358e;
  color: #fff;
  text-align: center;
  font-weight: normal;
  font-size: 3rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  padding: 1.4rem 2rem 1.6rem;
  margin: 0 0 3rem;
}
body .box11 h3 {
  font-size: 2rem;
  color: #13358e;
  margin: 0 0 1rem;
  line-height: 1.6;
}
body .box11 h3 + p {
  margin: 0 0 2rem;
}
body .box11 ul.img {
  display: flex;
  justify-content: center;
  gap: 2rem;
}
body .box11 ul.img a {
  transition: .3s;
}
body .box11 ul.img a:hover {
  filter: brightness(1.2);
}
@media (max-width: 559px) {
  body .box11 {
    padding: 2rem;
  }
  body .box11 h2 {
    font-size: 2rem;
    margin: 0 0 2rem;
    line-height: 1.4;
  }
  body .box11 h3 {
    font-size: 1.8rem;
    line-height: 1.6;
  }
  body .box11 ul.img {
    width: 100%;
    flex-direction: column;
    align-items: center;
  }
  body .box11 ul.img img {
    width: 50vw;
  }
}
body .box12 {
  border-bottom: 1px solid #ddd;
  padding: 5rem 0 4.5rem;
}
body .box12 .wrap {
  display: flex;
  justify-content: space-between;
  gap: 5rem;
}
body .box12 .wrap .img {
  order: 2;
}
body .box12 .wrap .text {
  order: 1;
  flex: 1;
}
body .box12 .wrap .text h3 {
  margin: 0 0 2rem;
}
body .box12 .wrap .text .inner {
  background: #eee;
  padding: 2.6rem 2.6rem 2rem;
  margin: 0 0 1rem;
}
body .box12 .wrap .text .inner h4 {
  margin: 0 0 1rem;
}
body .box12:last-of-type {
  border-bottom: none;
}
@media (max-width: 959px) {
  body .box12 .wrap {
    flex-direction: column;
    margin: 0 0 3rem;
  }
  body .box12 .wrap .img {
    order: 1;
    text-align: center;
  }
  body .box12 .wrap .img img {
    width: 60vw;
  }
  body .box12 .wrap .text {
    order: 2;
  }
}
@media (max-width: 559px) {
  body .box12 {
    padding: 4rem 0 0.5rem;
  }
  body .box12 .wrap {
    gap: 2rem;
  }
  body .box12 .wrap .img {
    width: 100%;
  }
  body .box12 .wrap .img img {
    width: 60vw;
  }
}
body .box13 {
  display: flex;
  justify-content: space-between;
  margin: 0 0 4rem;
  gap: 5rem;
  align-items: center;
}
body .box13 .img {
  order: 2;
  width: 49rem;
}
body .box13 .text {
  order: 1;
  flex: 1;
}
body .box13 .text h3 {
  font-size: 3.2rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
  color: #000;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 2rem;
  margin: 0 0 2rem;
}
body .box13 .text h3 span {
  font-size: 7rem;
  font-weight: 600;
  font-family: "Josefin Sans", sans-serif;
  color: #13358e;
  position: relative;
  top: .5rem;
}
body .box13 .text ul {
  display: flex;
  justify-content: flex-start;
  margin: 0 0 2rem;
}
body .box13 .text ul li {
  font-size: 1.6rem;
  font-weight: normal;
  border: 1px solid #13358e;
  position: relative;
  color: #13358e;
  padding: .2rem 2rem .4rem;
  margin-right: 2.4rem;
}
body .box13 .text ul li:after {
  width: 2.5rem;
  position: absolute;
  right: -2.5rem;
  content: "";
  height: 1px;
  background: #13358e;
  top: 50%;
}
body .box13 .text ul li:last-of-type:after {
  display: none;
}
body .box13:last-of-type {
  margin: 0;
}
@media (max-width: 959px) {
  body .box13 {
    flex-direction: column;
    gap: 2rem;
  }
  body .box13 .img {
    order: 1;
  }
  body .box13 .text {
    order: 2;
  }
}
@media (max-width: 559px) {
  body .box13 .img {
    width: 100%;
  }
  body .box13 .text h3 {
    flex-direction: column;
    gap: .4rem;
    font-size: 2.2rem;
  }
  body .box13 .text h3 span {
    line-height: 1;
    font-size: 4rem;
  }
  body .box13 .text ul {
    flex-direction: column;
    margin: 0;
  }
  body .box13 .text ul li {
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 2rem;
    text-align: center;
  }
  body .box13 .text ul li:after {
    right: auto;
    bottom: -2.1rem;
    height: 2rem;
    width: 1px;
    left: 50%;
    top: auto;
  }
}
body .box14 {
  border: 5px solid #13358e;
  padding: 5rem;
}
body .box14 h3 {
  background: #13358e;
  text-align: center;
  color: #fff;
  font-size: 2.8rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  padding: 1.4rem 2rem 1.6rem;
  font-weight: normal;
  margin: 0 0 3.4rem;
}
body .box14 h3 + p {
  text-align: center;
  margin: 0 0 3.4rem;
}
body .box14 ul {
  display: flex;
  justify-content: space-between;
  gap: 3rem;
}
@media (max-width: 559px) {
  body .box14 {
    padding: 2rem;
  }
  body .box14 h3 {
    font-size: 2rem;
    margin: 0 0 1rem;
  }
  body .box14 h3 + p {
    text-align: left;
    margin: 0 0 1.4rem;
  }
  body .box14 ul {
    gap: 0;
    flex-wrap: wrap;
  }
  body .box14 ul li {
    width: 48%;
    margin: 0 0 1%;
  }
}
body .box15 {
  display: flex;
  justify-content: space-between;
  gap: 7rem;
}
body .box15 .text {
  flex: 1;
}
body .box15 .text .name {
  text-align: right;
  font-size: 2.8rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
body .box15 .text .name span {
  font-size: 1.7rem;
  padding: 0 1.6rem 0 0;
  position: relative;
  top: -.4rem;
}
body .box15.type02 .img {
  order: 2;
}
body .box15.type02 .text {
  order: 1;
}
@media (max-width: 959px) {
  body .box15 {
    gap: 3rem;
    flex-direction: column;
  }
  body .box15 .img {
    text-align: center;
    width: 100%;
  }
}
@media (max-width: 959px) {
  body .box15 {
    gap: 1rem;
  }
  body .box15 .img {
    width: 100%;
  }
  body .box15 .img img {
    width: 60vw;
  }
}
body .box16 {
  background: #fff;
  padding: 5rem;
}
body .box16 ul li {
  display: flex;
  justify-content: space-between;
  gap: 5rem;
  align-items: center;
  margin: 0 0 2.5rem;
}
body .box16 ul li:last-of-type {
  margin: 0;
}
body .box16 ul li .text {
  flex: 1;
}
body .box16 ul li .text h3, body .box16 ul li .text p {
  color: #000;
}
body .box16 ul li .text h3 {
  font-size: 3.2rem;
  font-weight: normal;
  color: #13358e;
  margin: 0 0 1rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
@media (max-width: 959px) {
  body .box16 ul li {
    flex-direction: column;
    gap: 1rem;
    margin: 0 0 2rem;
  }
}
@media (max-width: 559px) {
  body .box16 {
    padding: 3rem;
  }
  body .box16 ul li {
    gap: 0;
  }
  body .box16 ul li .img {
    width: 100%;
    margin: 0 0 1rem;
  }
  body .box16 ul li .img img {
    width: 100%;
  }
  body .box16 ul li .text h3 {
    font-size: 2.4rem;
    line-height: 1.6;
  }
}
body .modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1000;
  display: none;
}
body .modal-content {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(0, 0, 0, 0.7);
  padding: 6rem 7rem;
  border-radius: 10px;
  max-width: 800px;
  width: 90%;
  box-sizing: border-box;
  z-index: 1001;
}
body .modal-content .slider-precision {
  width: 87%;
  margin: 0 auto 3rem;
  height: auto;
}
body .modal-content .slider-precision img {
  width: 100%;
  height: auto;
}
body .modal-content .title, body .modal-content .text {
  color: #fff;
}
body .modal-content .title {
  font-size: 2.8rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  text-align: center;
  margin: 0 0 3rem;
}
body .modal-content .slick-arrow.slick-next {
  right: -4rem;
}
body .modal-content .slick-arrow.slick-prev {
  left: -6rem;
}
body .modal-content .slick-arrow:before {
  font-size: 4rem;
}
@media (max-width: 959px) {
  body .modal-content {
    padding: 5rem 3rem;
  }
  body .modal-content .title {
    font-size: 2rem;
    margin: 0 0 2rem;
  }
}
@media (max-width: 559px) {
  body .modal-content {
    padding: 7rem 3rem 3rem;
  }
  body .modal-content .slick-arrow.slick-next {
    right: -3.5rem;
  }
  body .modal-content .slick-arrow.slick-prev {
    left: -3.5rem;
  }
  body .modal-content .slick-arrow:before {
    font-size: 2rem;
  }
  body.precision .table_container .laser {
    width: 100%;
  }
}
body .js-close-modal {
  position: absolute;
  top: 10px;
  background: none;
  border: none;
  font-size: 1.5em;
  cursor: pointer;
  font-size: 5rem;
  right: 2rem;
  color: #fff;
}
body .img-hover01 {
  position: relative;
  overflow: hidden;
  /*
  &:before {
    background: rgba(0,0,0,0);
    transition: .3s;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    display: flex;
    justify-content: center;
    align-items: center;
  }
  &:hover {
    &:before {
      background: rgba(0,0,0,.3);
      content: "more";
      z-index: 1;
      color: #fff;
      font-family: $ff-en;
    }
  }
  */
}
body .img-hover01 img {
  transition: .3s all;
}
body .img-hover01 img:hover {
  transform: scale(1.1, 1.1);
  transition: .3s all;
}
body .title-common01 {
  font-size: 4rem;
  font-weight: normal;
  margin: 0 0 6rem;
}
body .title-common01 strong {
  font-size: 2rem;
  font-family: "Josefin Sans", sans-serif;
  color: #13358e;
  margin: 0 0 3rem;
  display: inline-block;
  font-weight: 500;
}
body .title-common01.type03 {
  font-size: 5rem;
}
body .title-common01.type03 strong {
  font-size: 3rem;
  font-weight: 700;
  margin: 0 0 2rem;
  color: #000;
}
@media (max-width: 559px) {
  body .title-common01 {
    font-size: 2.8rem;
    margin: 0 0 4rem;
    text-align: center;
  }
  body .title-common01 span span {
    line-height: 1.4;
  }
  body .title-common01 strong {
    font-size: 1.6rem;
    margin: 0 0 2rem;
  }
  body .title-common01.type03 {
    font-size: 3.4rem;
    margin: 0 0 4rem;
  }
  body .title-common01.type03 strong {
    font-size: 2rem;
  }
}
body .title-common02 {
  display: inline-block;
  background: #13358e;
  transform: skewX(150deg);
  font-size: 2.4rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #fff;
  font-weight: normal;
  min-width: 30rem;
  text-align: center;
  padding: 1rem 0 1.4rem;
  position: relative;
  margin: 0 0 3.6rem -1.8rem;
}
body .title-common02 span {
  transform: skewX(-150deg);
  display: block;
}
body .title-common02:after {
  content: "";
  background: #13358e;
  width: 26rem;
  height: 1px;
  position: absolute;
  right: -26rem;
  top: 56%;
  display: block;
  clip-path: border-box;
}
@media (max-width: 959px) {
  body .title-common02 {
    margin-left: -4.8rem;
  }
}
@media (max-width: 559px) {
  body .title-common02 {
    margin-left: 0;
    text-align: center;
    font-size: 2rem;
    transform: none;
    width: 100%;
    margin-bottom: 2.6rem;
  }
  body .title-common02 span {
    transform: none;
  }
  body .title-common02:after {
    display: none;
  }
}
body .title-common03 {
  font-size: 4rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
  line-height: 1.4;
  margin: 0 0 4rem;
}
body .title-common03 strong {
  font-weight: normal;
  color: #13358e;
}
@media (max-width: 559px) {
  body .title-common03 {
    margin: 0 0 3rem;
    font-size: 2.4rem;
    text-align: left;
  }
  body .title-common03 + p {
    text-align: left;
  }
  body .title-common03 + p + br + p {
    text-align: left;
  }
}
body .title-common04 {
  background: #13358e url("../img/bg01.webp") no-repeat center/100% auto;
  padding: 10rem 0 20rem;
  color: #fff;
  position: relative;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 4rem;
  font-weight: normal;
  text-align: center;
}
@media (max-width: 559px) {
  body .title-common04 {
    font-size: 2.4rem;
    padding: 5rem 0 14.5rem;
  }
}
body .title-common05 {
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 2.8rem;
  color: #13358e;
  padding: 2.4rem 0;
  margin: 0 0 3rem;
  font-weight: normal;
  text-align: center;
  border-top: 1px solid #13358e;
  border-bottom: 1px solid #13358e;
}
@media (max-width: 559px) {
  body .title-common05 {
    font-size: 2.4rem;
  }
}
body .title-common06 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 4rem;
}
body .title-common06 .title {
  position: relative;
  z-index: 1;
  margin-left: -10%;
  background: rgba(255, 255, 255, 0.8);
  padding: 7rem;
  order: 2;
  width: 50%;
  box-sizing: border-box;
}
body .title-common06 .title h2 {
  font-size: 5.4rem;
  color: #13358e;
  margin: 0 0 3rem;
}
body .title-common06 .title h2 strong {
  font-size: 2.2rem;
  font-family: "Josefin Sans", sans-serif;
  display: block;
  font-weight: 500;
  line-height: 2.4;
}
body .title-common06 .title p {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.6;
}
body .title-common06 .img {
  position: relative;
  z-index: 0;
  order: 1;
}
body .title-common06.type02 .title {
  margin-left: 0;
  margin-right: -10%;
  order: 1;
  padding: 7rem 7rem 7rem 14rem;
}
body .title-common06.type02 .img {
  order: 2;
}
@media (max-width: 959px) {
  body .title-common06 .title {
    width: 60%;
    padding: 3rem 4rem;
  }
  body .title-common06 .title h2 {
    font-size: 3.4rem;
  }
  body .title-common06 .title h2 strong {
    font-size: 1.6rem;
  }
  body .title-common06 .title p {
    font-size: 2.4rem;
  }
  body .title-common06 .img {
    width: 50%;
  }
  body .title-common06.type02 .title {
    padding: 3rem 4rem 3rem 6rem;
  }
}
@media (max-width: 559px) {
  body .title-common06 {
    position: relative;
  }
  body .title-common06 .title {
    width: 70%;
    margin-left: 30%;
    margin-top: 16rem;
    padding: 2rem 3rem;
  }
  body .title-common06 .title h2 {
    font-size: 2.8rem;
    margin: 0 0 2rem;
  }
  body .title-common06 .title p {
    font-size: 2rem;
  }
  body .title-common06 .img {
    width: 80%;
    position: absolute;
    left: 0;
    top: 0;
  }
  body .title-common06.type02 .img {
    right: 0;
    left: auto;
  }
}
body .title-common07 {
  color: #fff;
  position: relative;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 4rem;
  font-weight: normal;
  text-align: center;
  margin: 0 0 7rem;
}
@media (max-width: 559px) {
  body .title-common07 {
    font-size: 2.4rem;
  }
}
body .title-common08 h2 {
  font-size: 4.2rem;
  font-weight: normal;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 1.4;
  margin: 0 0 3rem;
}
body .title-common08 h2 strong {
  color: #13358e;
  font-family: "Josefin Sans", sans-serif;
  font-size: 2.2rem;
  font-weight: 500;
  text-transform: uppercase;
  display: block;
}
body .title-common08 h2 strong span {
  font-size: 5rem;
  color: #13358e;
  padding: 0 0 0 1rem;
}
@media (max-width: 959px) {
  body .title-common08 h2 {
    text-align: center;
  }
}
@media (max-width: 559px) {
  body .title-common08 h2 {
    text-align: center;
    font-size: 2.8rem;
    margin: 0 0 2rem;
  }
  body .title-common08 h2 strong {
    font-size: 1.6rem;
  }
  body .title-common08 h2 strong span {
    font-size: 4rem;
  }
}
body .title-common09 {
  background: #13358e !important;
  color: #fff !important;
  display: flex;
  justify-content: flex-start;
  padding: 0 !important;
  position: relative;
  min-height: 6rem;
  box-sizing: border-box;
  padding-left: 21rem !important;
  align-items: center;
  font-size: 2.8rem !important;
  margin: 0 0 5rem !important;
}
body .title-common09 span {
  background: #00759b;
  font-family: "Josefin Sans", sans-serif;
  clip-path: polygon(0 0, 85% 0, 100% 100%, 0% 100%);
  font-size: 1.7rem;
  display: flex;
  align-items: center;
  padding: 2.2rem 6rem 2rem 3rem;
  min-height: 6rem;
  position: absolute;
  left: 0;
  box-sizing: border-box;
}
@media (max-width: 959px) {
  body .title-common09 {
    flex-direction: column;
    min-height: auto;
    padding: 0 !important;
    font-size: 2.4rem !important;
    padding: 0 0 2rem !important;
    margin: 0 !important;
  }
  body .title-common09 span {
    position: static;
    width: 100%;
    padding: 1.8rem 0 1rem;
    text-align: center;
    justify-content: center;
    clip-path: none;
    margin: 0 0 1.6rem;
  }
}
body .title-common10 {
  background: #00759b;
  color: #fff;
  padding: 2rem 3rem 2.2rem;
  font-weight: 700;
  position: relative;
  font-size: 2.2rem;
  transition: .3s;
  cursor: pointer;
}
body .title-common10:hover {
  filter: brightness(1.2);
}
body .title-common10:after {
  position: absolute;
  content: "expand_more";
  width: 3rem;
  height: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  right: 2rem;
  top: 1.6rem;
  padding: .2rem 0 0;
  font-family: "Material Icons";
  border-radius: 50%;
  box-sizing: border-box;
  background: #fff;
  color: #00759b;
}
@media (max-width: 559px) {
  body .title-common10 {
    font-size: 1.7rem;
  }
  body .title-common10:after {
    top: 1.4rem;
  }
}
body .list-common li {
  position: relative;
  padding: 0 0 0 2.4rem;
}
body .list-common li:before {
  content: "";
  background: #13358e;
  width: 1.2rem;
  height: 1.2rem;
  position: absolute;
  left: 0;
  top: 1.3rem;
  border-radius: 50%;
}
@media (max-width: 559px) {
  body .list-common li {
    padding: 0 0 0 2rem;
  }
  body .list-common li:before {
    width: .8rem;
    height: .8rem;
  }
}
body .list-common01 ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
body .list-common01 ul li {
  background: #fff;
  width: 31%;
  margin: 0 0 5%;
  box-sizing: border-box;
  padding: 2.6rem;
  position: relative;
}
body .list-common01 ul li .title {
  background: #13358e;
  text-align: center;
  color: #fff;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 2rem;
  line-height: 1.4;
  padding: .5rem 0 .8rem;
  border-radius: 10rem;
}
body .list-common01 ul li .text {
  text-align: center;
}
body .list-common01 ul li .text .data {
  line-height: .8;
  padding: 5rem 0;
}
body .list-common01 ul li .text .data .shuffle,
body .list-common01 ul li .text .data .shuffleWrap {
  color: #00759b;
  font-size: 8.4rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 500;
}
body .list-common01 ul li .text .data .other {
  color: #000;
  font-size: 3.2rem;
  font-family: "Noto Sans JP", YuGothic, "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 700;
  padding: 0 0 0 1rem;
}
body .list-common01 ul li .text .data i {
  display: inline-block;
  width: 100%;
  font-style: normal;
}
body .list-common01 ul li:nth-last-of-type(-n+3) {
  margin-bottom: 0;
}
@media (max-width: 959px) {
  body .list-common01 ul li {
    width: 48%;
    margin: 0 0 8%;
  }
  body .list-common01 ul li .text .data .shuffle,
  body .list-common01 ul li .text .data .shuffleWrap {
    font-size: 9vw;
  }
  body .list-common01 ul li .text .data .other {
    padding: 0 0 0 1vw;
    font-size: 3.4vw;
  }
  body .list-common01 ul li:nth-last-of-type(-n+3) {
    margin: 0 0 8%;
  }
  body .list-common01 ul li:nth-last-of-type(-n+2) {
    margin: 0;
  }
}
@media (max-width: 559px) {
  body .list-common01 ul li {
    width: 100%;
    margin: 0 0 6rem;
  }
  body .list-common01 ul li .title {
    font-size: 1.8rem;
  }
  body .list-common01 ul li .text .data {
    padding: 3rem 0;
  }
  body .list-common01 ul li:nth-last-of-type(-n+3) {
    margin: 0 0 6rem;
  }
  body .list-common01 ul li:nth-last-of-type(-n+2) {
    margin: 0 0 6rem;
  }
  body .list-common01 ul li:last-of-type {
    margin: 0;
  }
}
body .list-common02 {
  margin: 0 0 4rem;
}
body .list-common02 dl {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #000;
  padding: 2rem 0;
}
body .list-common02 dl dt {
  width: 20%;
  font-weight: 700;
}
body .list-common02 dl dd {
  flex: 1;
  width: 100%;
}
body .list-common02 dl:last-of-type {
  border-bottom: 0;
}
body .list-common02.type02 {
  padding: 0 5rem;
  display: none;
  cursor: pointer;
}
body .list-common02.type02 a {
  text-decoration: underline;
}
@media (max-width: 559px) {
  body .list-common02 dl {
    flex-direction: column;
    border: none;
    padding: 1rem 0;
  }
  body .list-common02 dl dt {
    background: #f4f4f4;
    width: 100%;
    padding: .4rem 1rem .4rem 1.4rem;
    box-sizing: border-box;
  }
  body .list-common02.type02 {
    padding: 0 2rem;
  }
  body .list-common02.type02 dl {
    border-bottom: 1px solid #ccc;
  }
  body .list-common02.type02 dl dt {
    padding-left: 0;
  }
  body .list-common02.type02 a {
    text-decoration: underline;
  }
}
body .list-common03 {
  margin: 0 0 4rem;
}
body .list-common03 dl {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #000;
  padding: 2rem 0;
}
body .list-common03 dl dt {
  width: 23%;
  font-weight: 700;
  position: relative;
}
body .list-common03 dl dd {
  flex: 1;
  width: 100%;
  padding: 0 0 0 3rem;
}
body .list-common03 dl dd .wrap {
  display: flex;
  justify-content: flex-start;
}
body .list-common03 dl dd .wrap span {
  display: inline-block;
  margin: 0 2rem 0 0;
}
body .list-common03 dl dd .wrap span span {
  margin: 0;
}
body .list-common03 dl dd table tr th, body .list-common03 dl dd table tr td {
  text-align: left;
  padding: .4rem 0;
}
body .list-common03 dl dd table tr th {
  padding: 0 3rem 0 0;
}
body .list-common03 dl:last-of-type {
  border-bottom: 0;
}
@media (max-width: 959px) {
  body .list-common03 dl {
    flex-wrap: wrap;
  }
  body .list-common03 dl dt {
    padding: 0;
    width: 100%;
    margin: 0 0 1rem;
  }
  body .list-common03 dl dt .must {
    right: auto;
    position: static;
  }
  body .list-common03 dl dd {
    padding: 0;
  }
  body .list-common03 dl dd input[type="text"], body .list-common03 dl dd input[type="email"], body .list-common03 dl dd input[type="tel"] {
    width: 100%;
  }
  body .list-common03 dl dd input.small {
    width: 30%;
  }
  body .list-common03 dl dd textarea {
    width: 100%;
  }
  body .list-common03 dl dd table {
    display: block;
  }
  body .list-common03 dl dd table tr {
    display: block;
  }
  body .list-common03 dl dd table tr th, body .list-common03 dl dd table tr td {
    display: block;
  }
}
@media (max-width: 559px) {
  body .list-common03 dl dd {
    padding: 0;
  }
  body .list-common03 dl dd .wrap {
    flex-direction: column;
  }
  body .list-common03 dl dd .wrap span {
    margin: 0 0 1rem;
  }
  body .list-common03 dl dd .wrap span span {
    margin: 0;
  }
}
body .list-common04 {
  margin: 0 0 6rem;
}
body .list-common04 dl {
  display: flex;
  justify-content: flex-start;
  margin: 0 0 2rem;
}
body .list-common04 dl dt {
  margin-right: 5rem;
}
body .list-common04 dl dt span {
  display: block;
  text-align: center;
  font-weight: 700;
  line-height: 1.4;
}
body .list-common04 dl dd {
  background: #eee;
  border-radius: 2rem;
  flex: 1;
  width: 100%;
  box-sizing: border-box;
  padding: 2rem 2rem;
  position: relative;
}
body .list-common04 dl dd:before {
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 1rem solid transparent;
  border-bottom: 1rem solid transparent;
  border-right: 1.7rem solid #555555;
  border-left: 0;
  content: "";
  position: absolute;
  left: -1.7rem;
  top: 8rem;
}
body .list-common04 dl.color01 dd {
  background: #e1e7f7;
}
body .list-common04 dl.color01 dd:before {
  border-right-color: #e1e7f7;
}
body .list-common04 dl.color02 dd {
  background: #e4eddf;
}
body .list-common04 dl.color02 dd:before {
  border-right-color: #e4eddf;
}
body .list-common04 dl.color03 dd {
  background: #dfedf2;
}
body .list-common04 dl.color03 dd:before {
  border-right-color: #dfedf2;
}
@media (max-width: 959px) {
  body .list-common04 dl dt {
    margin-right: 4rem;
    width: 18%;
  }
}
@media (max-width: 559px) {
  body .list-common04 dl dt {
    margin-right: 3rem;
  }
  body .list-common04 dl dd {
    font-size: 1.5rem;
    line-height: 1.6;
  }
}
body .list-common05 ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
body .list-common05 ul li {
  margin: 0 0 2%;
  width: 23%;
}
body .list-common05 ul li h3 {
  border-radius: 1rem;
  background: #dbe3f7;
  color: #13358e;
  font-size: 1.8rem;
  text-align: center;
  margin: 0 0 1rem;
  line-height: 1.4;
  padding: .6rem 1rem .8rem;
}
body .list-common05 ul li .img {
  text-align: center;
  margin: 0 0 1rem;
  min-height: 12.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
body .list-common05 ul li .img img {
  height: 10rem;
  width: auto;
}
body .list-common05 ul li .text {
  font-size: 1.4rem;
  line-height: 1.8;
}
@media (max-width: 959px) {
  body .list-common05 ul li {
    margin: 0 0 4%;
    width: 32%;
  }
  body .list-common05 ul:after {
    width: 32%;
    content: "";
  }
}
@media (max-width: 559px) {
  body .list-common05 ul li {
    width: 48%;
  }
  body .list-common05 ul li h3 {
    font-size: 1.6rem;
  }
  body .list-common05 ul:after {
    width: 48%;
  }
}
body .list-common06 ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
body .list-common06 ul li {
  width: 48%;
  display: flex;
  justify-content: space-between;
  margin: 0 0 1.5%;
}
body .list-common06 ul li .img {
  margin: 0 2.2rem 0 0;
}
body .list-common06 ul li .text {
  flex: 1;
  width: 100%;
}
body .list-common06 ul li .text h3 {
  border-bottom: 1px solid #d1d1d1;
  font-size: 2rem;
  color: #13358e;
  padding: 0 0 .6rem;
  margin: 0 0 1rem;
}
body .list-common06 ul li .text p {
  font-size: 1.4rem;
  line-height: 1.8;
}
@media (max-width: 959px) {
  body .list-common06 ul li {
    width: 100%;
    align-items: center;
  }
}
@media (max-width: 559px) {
  body .list-common06 ul li {
    align-items: flex-start;
  }
  body .list-common06 ul li .img {
    width: 30%;
  }
}
body .list-common07 ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
body .list-common07 ul li {
  width: 49%;
  margin: 0 0 1%;
}
@media (max-width: 559px) {
  body .list-common07 ul li {
    width: 100%;
  }
}
body .list-common08 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 0 1rem;
}
body .list-common08 li {
  width: 49%;
}
@media (max-width: 559px) {
  body .list-common08 li {
    width: 100%;
  }
}
body .list-common09 li {
  font-size: 2.2rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  border-bottom: 1px solid #ddd;
  position: relative;
  padding: 2rem 0 2rem 9rem;
}
body .list-common09 li span {
  font-size: 1.7rem;
  line-height: 1.6;
  display: block;
}
body .list-common09 li:before {
  content: "1";
  position: absolute;
  left: 3rem;
  top: -.8rem;
  color: #13358e;
  font-size: 4.6rem;
}
body .list-common09 li:last-of-type {
  border: none;
}
body .list-common09 li:nth-of-type(1):before {
  content: "1";
}
body .list-common09 li:nth-of-type(2):before {
  content: "2";
}
body .list-common09 li:nth-of-type(3):before {
  content: "3";
}
body .list-common09 li:nth-of-type(4):before {
  content: "4";
}
body .list-common09 li:nth-of-type(5):before {
  content: "5";
}
body .list-common09 li:nth-of-type(6):before {
  content: "6";
}
@media (max-width: 559px) {
  body .list-common09 li {
    padding: 1rem 1rem 2rem 5rem;
    font-size: 1.8rem;
    line-height: 1.8;
  }
  body .list-common09 li span {
    font-size: 1.4rem;
  }
  body .list-common09 li:before {
    font-size: 4rem;
    left: 1rem;
  }
}
body .list-common10 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 0 7rem;
}
body .list-common10 li {
  width: 30%;
  margin: 0 0 3%;
}
body .list-common10 li span {
  display: block;
  text-align: center;
}
@media (max-width: 559px) {
  body .list-common10 li {
    width: 49%;
    margin: 0 0 6%;
  }
}
body .list-common11 dl dt {
  background: #13358e;
  color: #fff;
  font-size: 1.7rem;
  font-weight: 700;
}
body .list-common12 dl {
  border-bottom: 1px solid #ddd;
  display: flex;
  justify-content: flex-start;
  width: 100%;
}
body .list-common12 dl dt {
  background: #13358e;
  color: #fff;
  border: 1px solid #13358e;
  width: 22%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 1rem 2.5rem;
  font-weight: 700;
}
body .list-common12 dl dd {
  border-top: 1px solid #ddd;
  border-right: 1px solid #ddd;
  flex: 1;
  position: relative;
  padding: 1.5rem 2.5rem;
}
body .list-common12 dl dd .btn-common01 {
  position: absolute;
  right: 2rem;
  top: 2rem;
  margin: 0 !important;
}
@media (max-width: 959px) {
  body .list-common12 dl {
    flex-direction: column;
  }
  body .list-common12 dl dt {
    width: 100%;
    box-sizing: border-box;
  }
  body .list-common12 dl dd {
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    border-bottom: none;
    padding-right: 33rem;
  }
}
@media (max-width: 559px) {
  body .list-common12 dl dd {
    padding: 1rem 2rem 3rem;
  }
  body .list-common12 dl dd .btn-common01 {
    position: static;
    width: 100%;
    margin: 2rem 0 0 !important;
  }
}
body .list-common13 {
  margin: 7rem 0 0;
}
body .list-common13 > ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
body .list-common13 > ul > li {
  width: 32%;
  margin: 0 0 5%;
  background: #13358e;
  border-radius: 1rem;
  padding: 1rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  position: relative;
  font-size: 1.5rem;
}
body .list-common13 > ul > li h3 {
  color: #fff;
  text-align: center;
  font-size: 1.7rem;
  padding: 1rem 0;
  position: relative;
  z-index: 1;
}
body .list-common13 > ul > li .wrap {
  background: #fff;
  border-radius: 1rem;
  margin: 0;
  flex: 1;
}
body .list-common13 > ul > li .wrap ul {
  display: block;
  padding: 1.5rem 2.4rem;
}
body .list-common13 > ul > li .wrap ul li {
  line-height: 1.4;
  margin: 0 0 1rem;
}
body .list-common13 > ul > li .wrap ul li:before {
  top: .6rem;
}
body .list-common13 > ul > li:before {
  content: "";
  width: 7rem;
  height: 7rem;
  background: #13358e url("../img/sustainability-safety-icon01@2x.webp") no-repeat center top 1.4rem/3rem auto;
  border-radius: 50%;
  top: -3.5rem;
  left: 50%;
  margin-left: -3.5rem;
  position: absolute;
}
body .list-common13 > ul > li:nth-of-type(1):before {
  background-image: url("../img/sustainability-safety-icon01@2x.webp");
}
body .list-common13 > ul > li:nth-of-type(2):before {
  background-image: url("../img/sustainability-safety-icon02@2x.webp");
}
body .list-common13 > ul > li:nth-of-type(3):before {
  background-image: url("../img/sustainability-safety-icon03@2x.webp");
}
body .list-common13 > ul > li:nth-of-type(4):before {
  background-image: url("../img/sustainability-safety-icon04@2x.webp");
}
body .list-common13 > ul > li:nth-of-type(5):before {
  background-image: url("../img/sustainability-safety-icon05@2x.webp");
}
body .list-common13 > ul > li:nth-of-type(6):before {
  background-image: url("../img/sustainability-safety-icon06@2x.webp");
}
@media (max-width: 959px) {
  body .list-common13 > ul > li {
    width: 48%;
    margin: 0 0 8%;
  }
}
@media (max-width: 559px) {
  body .list-common13 > ul > li {
    width: 100%;
    margin: 0 0 18%;
  }
}
body .list-news li a {
  display: flex;
  justify-content: flex-start;
  gap: 2.4rem;
  align-items: center;
  border-bottom: 1px solid #d4d4d4;
  padding: 2rem 0;
  position: relative;
}
body .list-news li a time {
  font-size: 1.5rem;
  font-weight: 700;
}
body .list-news li a .img {
  line-height: 0;
}
body .list-news li a .img img {
  width: 11.4rem;
  height: 9rem;
  object-fit: cover;
}
body .list-news li a:after {
  position: absolute;
  background: #13358e;
  width: 5rem;
  content: "";
  height: 1px;
  top: 50%;
  right: 0;
  transition: .3s;
}
body .list-news li a:hover .img img {
  filter: brightness(1.2);
}
body .list-news li a:hover:after {
  width: 4rem;
}
body .list-news li:first-of-type a {
  padding-top: 0;
}
body .list-news li:last-of-type a {
  border-bottom: none;
}
@media (max-width: 559px) {
  body .list-news li a {
    gap: 1.7rem;
  }
  body .list-news li a .img img {
    width: 23vw;
    height: 23vw;
  }
  body .list-news li a dl {
    flex: 1;
  }
  body .list-news li a:after {
    display: none;
  }
}
body .list-company ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
body .list-company ul li {
  width: 48%;
  position: relative;
}
body .list-company ul li .data {
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  position: relative;
  margin-left: 17rem;
  top: -7rem;
}
body .list-company ul li .data h3 {
  background: #13358e;
  text-align: center;
  color: #fff;
  padding: 0 0 .2rem;
}
body .list-company ul li .data h3 + p {
  padding: 1.6rem 2.4rem 1.8rem;
  line-height: 1.6;
}
body .list-company ul li .data .map {
  display: inline-block;
  text-align: center;
  position: absolute;
  right: 2rem;
  bottom: 1rem;
}
body .list-company ul li .data .map a {
  color: #00759b;
  font-weight: 700;
}
body .list-company ul li .data .map a span {
  font-family: "Material Icons";
  color: #fff;
  font-size: 3rem;
  width: 6.4rem;
  height: 6.4rem;
  border-radius: 50%;
  background: #00759b;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: .2rem 0 0 .2rem;
  box-sizing: border-box;
}
@media (max-width: 959px) {
  body .list-company ul li {
    margin: 0 0 5rem;
  }
  body .list-company ul li .data {
    margin-left: 0;
    top: 0;
  }
  body .list-company ul li .data h3 + p {
    padding: 1.6rem 10.4rem 1.8rem 2.4rem;
  }
}
@media (max-width: 559px) {
  body .list-company ul li {
    width: 100%;
  }
  body .list-company ul li .img {
    width: 100%;
    margin: 0 0 1rem;
  }
  body .list-company ul li .img img {
    width: 70vw;
  }
}
body .company-chart {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 9.5rem;
}
body .company-chart h3 {
  background: #13358e url("../img/bg-light.webp") no-repeat left top;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  padding: 3rem 4rem 3.2rem;
  position: relative;
}
body .company-chart h3:after {
  background: #bbb;
  width: 5rem;
  height: 2px;
  position: absolute;
  right: -5rem;
  top: 50%;
  margin-top: -1px;
  content: "";
}
body .company-chart ul {
  padding: 1.6rem 0 0;
  position: relative;
}
body .company-chart ul li {
  background: #00759b url("../img/bg-light.webp") no-repeat left top/5rem auto;
  color: #fff;
  font-size: 1.7rem;
  margin: 0 0 1rem;
  padding: .6rem 6rem .8rem 2rem;
  position: relative;
}
body .company-chart ul li:before {
  background: #bbb;
  width: 5rem;
  height: 2px;
  position: absolute;
  left: -5rem;
  top: 50%;
  margin-top: -1px;
  content: "";
}
body .company-chart ul li a {
  color: #fff;
}
body .company-chart ul:before {
  background: #bbb;
  width: 2px;
  height: calc(100% - 7.4rem);
  position: absolute;
  left: -5rem;
  top: 4rem;
  content: "";
}
@media (max-width: 959px) {
  body .company-chart {
    gap: 2rem;
    flex-direction: column;
    background: #f4f4f4;
    padding: 4rem;
  }
  body .company-chart h3 {
    width: 100%;
    box-sizing: border-box;
    text-align: center;
  }
  body .company-chart h3:after {
    display: none;
  }
  body .company-chart ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  body .company-chart ul li {
    width: 49%;
    box-sizing: border-box;
  }
  body .company-chart ul li:before {
    display: none;
  }
  body .company-chart ul:before {
    display: none;
  }
}
@media (max-width: 559px) {
  body .company-chart {
    padding: 2rem;
  }
  body .company-chart h3 {
    padding: 2rem 2rem 2.2rem;
    line-height: 1.4;
  }
  body .company-chart ul li {
    box-sizing: border-box;
    width: 100%;
    padding-right: 2rem;
  }
}
body .link-common01 a {
  position: relative;
  padding: 0 2.6rem 0 0;
}
body .link-common01 a:after {
  content: "chevron_right";
  font-family: "Material Icons";
  font-size: 1.2rem;
  position: absolute;
  right: 0;
  top: .3rem;
  color: #fff;
  width: 2rem;
  height: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  padding: .2rem 0 0 .1rem;
  background: #00759b;
  border-radius: 50%;
  transition: .3s;
}
body .link-common01 a:hover:after {
  right: -.5rem;
}
body .link-common01.right {
  text-align: right;
}
body .link-common01.left {
  text-align: left;
}
body .link-common01.center {
  text-align: center;
}
body .btn-common01 {
  margin: 4rem 0 0 !important;
}
body .btn-common01 a, body .btn-common01 input[type="submit"] {
  background: #00759b;
  color: #fff;
  font-weight: 700;
  min-width: 27.4rem;
  min-height: 6.5rem;
  position: relative;
  text-align: center;
  line-height: 1.4;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  position: relative;
  z-index: 1;
  border: 1px solid #00759b;
  padding: 0 4rem;
  box-sizing: border-box;
}
body .btn-common01 a:before, body .btn-common01 input[type="submit"]:before {
  position: absolute;
  width: 3.6rem;
  height: 1px;
  background: #fff;
  content: "";
  top: 50%;
  right: 0;
}
body .btn-common01 a:after, body .btn-common01 input[type="submit"]:after {
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
body .btn-common01 a:hover, body .btn-common01 input[type="submit"]:hover {
  color: #00759b;
}
body .btn-common01 a:hover:before, body .btn-common01 input[type="submit"]:hover:before {
  background: #00759b;
}
body .btn-common01 a:hover:after, body .btn-common01 input[type="submit"]:hover:after {
  transform: scale(1, 1);
}
body .btn-common01 a span, body .btn-common01 input[type="submit"] span {
  position: relative;
  padding: 0 0 0 2.6rem;
}
body .btn-common01 a span:before, body .btn-common01 input[type="submit"] span:before {
  color: #00759b;
  font-size: 2rem;
  position: absolute;
  left: 0;
  top: 0;
  font-family: "Material Icons";
}
body .btn-common01 a span.icon-email:before, body .btn-common01 input[type="submit"] span.icon-email:before {
  content: "email";
  color: #fff;
}
body .btn-common01 input[type="submit"] {
  font-size: 3rem;
  min-width: 49rem;
  min-height: 12rem;
  cursor: pointer;
  transition: .3s;
  margin-bottom: 8rem;
}
body .btn-common01 input[type="submit"]:hover {
  color: #00759b;
  background: #fff;
}
body .btn-common01 input[type="submit"]:disabled {
  background: #cdcdcc;
  border: 1px solid #cdcdcc;
}
body .btn-common01 input[type="submit"]:disabled:hover {
  color: #fff;
}
@media (max-width: 559px) {
  body .btn-common01 input[type="submit"] {
    min-width: 100%;
    min-height: 21vw;
    font-size: 5vw;
  }
}
body .btn-common01.wide a {
  min-width: 35.6rem;
}
body .btn-common01.green a {
  background: #57a431;
  border: 1px solid #57a431;
}
body .btn-common01.green a:hover {
  color: #57a431;
}
body .btn-common01.green a:hover:before {
  background: #57a431;
}
body .btn-common01.white a {
  background: #fff;
  border: 1px solid #fff;
  color: #000;
}
body .btn-common01.white a span:before {
  color: #00759b;
}
body .btn-common01.white a:before {
  background-color: #00759b;
}
body .btn-common01.white a:after {
  background: none;
  border-color: #fff;
}
body .btn-common01.white a:hover {
  color: #fff;
  background: none;
  border: 1px solid #fff;
}
body .btn-common01.white a:hover span:before {
  color: #fff;
}
body .btn-common01.white a:hover:before {
  background: #fff;
}
body .btn-common01.white.outline a {
  background: none;
  border: 1px solid #fff;
  color: #fff;
}
body .btn-common01.white.outline a:hover {
  color: #00759b;
  background: none;
  border: 1px solid #00759b;
}
body .btn-common01.white.outline a:hover:before {
  background: #00759b;
}
body .btn-common01.white.outline a:hover:after {
  background: #fff;
}
body .btn-common01.tel a {
  flex-direction: column;
  align-items: flex-start;
  font-size: 1.6rem;
  padding-bottom: .3rem;
  position: relative;
  padding-left: 6.4rem;
}
body .btn-common01.tel a span {
  font-size: 1.2rem;
  font-weight: normal;
  padding: 0;
}
body .btn-common01.tel a:before {
  font-family: "Material Icons";
  color: #fff;
  position: absolute;
  content: "phone";
  font-size: 2.6rem;
  right: auto;
  left: 2rem;
  top: 50%;
  margin-top: -1.7rem;
  background: none;
}
body .btn-common01.tel a:hover:before {
  background: none;
  color: #00759b;
  height: 0;
}
@media (max-width: 559px) {
  body .btn-common01 {
    text-align: center;
  }
  body .btn-common01 a {
    width: 100%;
    min-width: auto;
  }
}
body .btnBox {
  margin: 4rem 0 0;
}
body .btnBox ul {
  display: flex;
  justify-content: center;
}
body .btnBox ul li {
  margin: 0 1.4rem !important;
}
body .btnBox.anc {
  margin: 7rem 0 5rem;
}
body .btnBox.type02 ul li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 0 6rem;
}
body .btnBox.type02 ul li a span {
  color: #459dba;
  font-size: 1.4rem;
  padding: 0;
  margin: 0 0 1rem;
}
body .btnBox.type02 ul li a:before {
  height: 34px;
  width: 1px;
  left: 50%;
  bottom: 0;
  background: #fff;
  top: auto;
}
body .btnBox.type02 ul li a:hover:before {
  background: #00759b;
}
body .btnBox.type02.l3 ul {
  flex-wrap: wrap;
}
body .btnBox.type02.l3 ul li {
  margin: 0 1.4rem 3rem !important;
}
@media (max-width: 959px) {
  body .btnBox ul {
    flex-wrap: wrap;
  }
  body .btnBox.type02.l3 ul li {
    margin: 0 0 2% !important;
  }
  body .btnBox.anc ul {
    justify-content: space-between;
  }
  body .btnBox.anc ul li {
    width: 49%;
    margin: 0 0 2% !important;
    box-sizing: border-box;
  }
  body .btnBox.anc ul li a {
    min-width: 100%;
  }
}
@media (max-width: 559px) {
  body .btnBox ul {
    flex-wrap: wrap;
  }
  body .btnBox ul li {
    margin: 0 0 1rem !important;
    width: 100%;
  }
  body .btnBox.anc {
    margin: 4rem 0 0;
  }
  body .btnBox.anc ul li {
    width: 100%;
  }
  body .btnBox.type02 ul li a {
    padding: 2rem 0 4rem;
  }
  body .btnBox.type02 ul li a:before {
    height: 22px;
  }
}
body .bnr-area ul {
  display: flex;
  justify-content: space-between;
}
body .bnr-area ul li {
  width: 50%;
}
body .bnr-area ul li a {
  line-height: 0;
  position: relative;
  overflow: hidden;
  display: block;
  background: #000;
}
body .bnr-area ul li a dl {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  z-index: 1;
  pointer-events: none;
}
body .bnr-area ul li a dl dt {
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 2.2rem;
  color: #fff;
}
body .bnr-area ul li a dl dd {
  display: inline-block;
  color: #fff;
  font-family: "Josefin Sans", sans-serif;
  text-align: center;
  border: 1px solid #fff;
  min-width: 14rem;
  padding: .2rem 0 0;
  line-height: 1.8;
  margin: 1.4rem 0 0;
  background: none;
  transition: .3s;
}
body .bnr-area ul li a img {
  opacity: .6;
  width: 100%;
  object-fit: cover;
}
body .bnr-area ul li a:before {
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  content: "";
  transition: .3s;
}
body .bnr-area ul li a:hover dl dd {
  background: #00759b;
  border-color: #00759b;
}
body .bnr-area ul li a:hover img {
  transition: .3s all;
  opacity: .3;
}
body .bnr-area ul li a:hover img:hover {
  transform: scale(1.05, 1.05);
  transition: .3s all;
}
body .bnr-area ul li a:hover:before {
  background: rgba(0, 0, 0, 0.7);
}
body .bnr-area ul li.left a dl {
  align-items: flex-start;
  padding: 0 0 0 7rem;
}
body .bnr-area ul li.left a dl dt {
  font-size: 3.2rem;
}
body .bnr-area.l4 ul {
  gap: 2rem;
}
@media (max-width: 959px) {
  body .bnr-area ul li a {
    height: 34vw;
  }
  body .bnr-area ul li a img {
    object-fit: cover;
    height: 34vw;
  }
  body .bnr-area.l4 ul {
    gap: 0;
    flex-wrap: wrap;
  }
  body .bnr-area.l4 ul li {
    width: 49%;
    margin: 0 0 2%;
  }
}
@media (max-width: 559px) {
  body .bnr-area ul {
    flex-wrap: wrap;
  }
  body .bnr-area ul li {
    width: 100%;
  }
  body .bnr-area ul li a {
    height: 44vw;
  }
  body .bnr-area ul li a dl dt {
    font-size: 1.7rem;
  }
  body .bnr-area ul li a dl dd {
    font-size: 1.5rem;
  }
  body .bnr-area ul li a img {
    height: 44vw;
    object-fit: cover;
  }
  body .bnr-area ul li.left a dl {
    align-items: center;
    padding: 0;
  }
  body .bnr-area ul li.left a dl dt {
    font-size: 1.7rem;
  }
}
body #btn-area_entry {
  padding: 10rem 0;
}
body #btn-area_entry ul {
  display: flex;
  justify-content: center;
}
body #btn-area_entry ul li {
  margin: 0 1.5rem;
}
body #btn-area_entry ul li a {
  width: 26rem;
  height: 26rem;
  background: #00759b;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  box-sizing: border-box;
  padding: 1rem 0 0;
  position: relative;
}
body #btn-area_entry ul li a dl {
  text-align: center;
}
body #btn-area_entry ul li a dl dt {
  font-family: "Josefin Sans", sans-serif;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.4;
}
body #btn-area_entry ul li a:after {
  content: "expand_more";
  font-family: "Material Icons";
  color: #fff;
  font-size: 4rem;
  position: absolute;
  bottom: 0rem;
  left: 50%;
  margin-left: -2rem;
  transition: .3s;
}
body #btn-area_entry ul li a:hover {
  transform: scale(1.1, 1.1);
}
body #btn-area_entry ul li a:hover:after {
  bottom: -1rem;
}
body #btn-area_entry ul li:nth-of-type(2) a {
  background: #57a431;
}
@media (max-width: 559px) {
  body #btn-area_entry {
    padding: 6rem 0;
  }
  body #btn-area_entry ul li a {
    width: 17rem;
    height: 17rem;
  }
  body #btn-area_entry ul li a dl dt {
    font-size: 2rem;
  }
  body #btn-area_entry ul li a dl dd {
    font-size: 1.4rem;
  }
  body #btn-area_entry ul li a:after {
    line-height: 1.6;
    font-size: 3rem;
    margin-left: -1.5rem;
  }
}
body #cta-cp {
  background: #00759b url("../img/contact-bg@2x.webp") no-repeat center top/cover;
}
body #cta-cp h2 + p {
  text-align: center;
  color: #fff;
  margin-top: -2rem;
  margin-bottom: 5rem;
}
@media (max-width: 559px) {
  body #cta-cp h2 + p {
    margin-bottom: 1rem;
  }
}
body.benefits, body.parent-pageid-74, body.parent-pageid-42, body.parent-pageid-15 {
  padding: 13rem 0 0;
}
body.benefits header .logo span, body.parent-pageid-74 header .logo span, body.parent-pageid-42 header .logo span, body.parent-pageid-15 header .logo span {
  color: #000;
}
body.benefits header nav ul li a, body.parent-pageid-74 header nav ul li a, body.parent-pageid-42 header nav ul li a, body.parent-pageid-15 header nav ul li a {
  color: #000 !important;
}
body.benefits header nav ul li.nav-entry a, body.parent-pageid-74 header nav ul li.nav-entry a, body.parent-pageid-42 header nav ul li.nav-entry a, body.parent-pageid-15 header nav ul li.nav-entry a {
  color: #fff !important;
}

@media (max-width: 559px) {
  body.benefits, body.parent-pageid-74, body.parent-pageid-42, body.parent-pageid-15 {
    padding: 8rem 0 0;
  }
}
body.career-story #other-interview .bnr-area ul {
  justify-content: center;
}
body.career-story #other-interview .bnr-area ul li:nth-of-type(1) {
  display: none;
}
body.talk-session #other-interview .bnr-area ul {
  justify-content: center;
}
body.talk-session #other-interview .bnr-area ul li:nth-of-type(2) {
  display: none;
}
body.recruit #key {
  display: flex;
}
body.recruit #key-cp {
  display: none;
}
body.stories header .logo-cp a, body.home header .logo-cp a {
  background: url("../img/logo-white@2x.webp") no-repeat center top/cover;
}
body.stories header nav ul li a, body.home header nav ul li a, body.recruit header nav ul li a {
  color: #fff;
}
body.stories header nav ul li ul li a, body.home header nav ul li ul li a, body.recruit header nav ul li ul li a {
  color: #000;
}
body.stories header nav ul li.nav-entry a, body.stories header nav ul li.nav-contact a, body.home header nav ul li.nav-entry a, body.home header nav ul li.nav-contact a {
  color: #fff;
}
body.stories header.scroll .logo-cp a, body.home header.scroll .logo-cp a {
  background: url("../img/logo-blue@2x.webp") no-repeat center top/cover;
}
body.stories header.scroll nav ul li a, body.home header.scroll nav ul li a, body.recruit header.scroll nav ul li a {
  color: #000;
}
body.stories header.scroll nav ul li.nav-entry a, body.stories header.scroll nav ul li.nav-contact a, body.home header.scroll nav ul li.nav-entry a, body.home header.scroll nav ul li.nav-contact a, body.recruit header.scroll nav ul li.nav-entry a {
  color: #fff;
}
body.stories header.scroll + .outer-menu .hamburger.white > div, body.home header.scroll + .outer-menu .hamburger.white > div, body.recruit header.scroll + .outer-menu .hamburger.white > div {
  background: #000;
}
body.stories #key-cp, body.home #key-cp {
  display: none;
}
body.stories .outer-menu .hamburger.white > div, body.home .outer-menu .hamburger.white > div, body.recruit .outer-menu .hamburger.white > div {
  background: #fff;
}
body.history #key-cp, body.advantage #key-cp {
  min-height: 69rem;
  height: 69rem;
  padding: 19vw 0 5vw 5vw;
}
@media (max-width: 959px) {
  body.history #key-cp, body.advantage #key-cp {
    min-height: auto;
    height: 67vw;
  }
}
@media (max-width: 559px) {
  body.history #key-cp, body.advantage #key-cp {
    height: 95vw;
    padding: 0;
  }
}

/* -----------------------------------------
		common
----------------------------------------- */
.dPc {
  display: block;
}

.dSp {
  display: none;
}

.dPcinline {
  display: inline-block;
}

.dSpinline {
  display: none;
}

@media (max-width: 559px) {
  .dPc {
    display: none;
  }

  .dSp {
    display: block;
  }

  .dPcinline {
    display: none;
  }

  .dSpinline {
    display: inline-block;
  }
}
.container {
  max-width: 120rem;
  margin: 0 auto;
  padding: 0 3rem;
  position: relative;
}
@media (max-width: 959px) {
  .container {
    width: auto;
  }
}
@media (max-width: 559px) {
  .container {
    padding: 0 2rem;
  }
}

.breadcrumbs {
  border-bottom: 1px solid #e8e8e8;
}
.breadcrumbs .container {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

#mv {
  position: relative;
  height: 100vh;
}
#mv ul {
  overflow: hidden;
  width: 100%;
  height: 100vh;
}
#mv ul li {
  height: 100vh;
}
#mv ul li img {
  object-fit: cover;
  height: 100vh;
  width: 100%;
}
#mv h1 {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  position: absolute;
  bottom: 9rem;
  z-index: 1;
  left: 5rem;
}
#mv h1 span {
  margin: 0 0 2rem;
}
#mv h1 span:last-of-type {
  margin: 0;
}
@keyframes zoomUp {
  0% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1);
    /* 拡大率 */
  }
}
#mv .add-animation {
  animation: zoomUp 10s linear 0s normal both;
}
#mv:before {
  height: 15rem;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/mv-shadow.webp") repeat-x left top/auto 13rem;
  content: "";
  z-index: 1;
}
@media (max-width: 559px) {
  #mv h1 {
    flex-direction: unset;
    bottom: 5vw;
    left: 7vw;
  }
  #mv h1 span {
    width: 13vw;
    margin-right: 2vw;
  }
}

#mv-cp {
  position: relative;
}
#mv-cp h1 {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 29rem;
  left: 10rem;
  z-index: 2;
  color: #fff;
  font-weight: 400;
  line-height: 1.5;
  font-size: 8rem;
  text-shadow: 0px 0px 15px rgba(7, 7, 7, 1);
  font-family: "Noto Serif JP", serif;
}
#mv-cp h1 span {
  display: inline-block;
}
#mv-cp h1 span strong {
  font-weight: 400;
  font-size: 11rem;
}
/* #mv-cp h1 span.mv-copy01 {
  margin: 0 0 0 7rem;
} */
#mv-cp h1 span.mv-copy02 {
  /* margin: -2rem 0 0 4.3rem; */
  letter-spacing: -2rem;
}
/* #mv-cp h1 span.mv-copy03 {
  margin: -3rem 0 0 4rem;
} */
#mv-cp ul li {
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  height: 99rem;
}
#mv-cp ul li.mv01 {
  background-image: url("../img/mv01@2x.webp");
}
#mv-cp ul li.mv02 {
  background-image: url("../img/mv02@2x.webp");
}
#mv-cp ul li.mv03 {
  background-image: url("../img/mv03@2x.webp");
}
#mv-cp ul li.mv04 {
  background-image: url("../img/mv04@2x.webp");
}
#mv-cp .tri {
  position: absolute;
  top: 0;
  left: 0;
  mix-blend-mode: multiply;
  z-index: 1;
}
@media (max-width: 959px) {
  /* #mv-cp h1 span.mv-copy01 {
    width: 49vw;
    margin: 0 0 1vw 5vw;
  } */
  #mv-cp h1 span.mv-copy02 {
    /* width: 61vw;
    margin: -2vw 0 0 3vw; */
    letter-spacing: -1rem;
  }
  /* #mv-cp h1 span.mv-copy03 {
    width: 58vw;
    margin: -1.6vw 0 0 2.5vw;
  } */
  #mv-cp .tri {
    width: 63vw;
  }
  #mv-cp h1 {
    font-size: 4rem;
  }
  #mv-cp h1 span strong {
    font-weight: 400;
    font-size: 6rem;
  }
  
}
@media (max-width: 559px) {
  #mv-cp h1 {
    top: 34vh;
    left: 3rem;
  }
  /* #mv-cp h1 span.mv-copy01 {
    width: 81vw;
    margin: 0 0 1vw 11vw;
  }
  #mv-cp h1 span.mv-copy02 {
    width: 94vw;
    margin: -2vw 0 0 3vw;
  }
  #mv-cp h1 span.mv-copy03 {
    width: 90vw;
    margin: -1.6vw 0 0 4.5vw;
  } */
  #mv-cp .tri {
    width: 78vw;
  }
  #mv-cp ul li {
    background-position: left -95vw top;
    height: 100vh;
  }
}

#key, #key-cp {
  background: url("../img/bg03@2x.webp") no-repeat center top/100% auto, url("../img/bg04@2x.webp") no-repeat right bottom/60% auto;
  padding: 0 5rem;
  position: relative;
  height: calc(29.7vw + var(--target-height));
  display: none;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
}
#key h1, #key-cp h1 {
  width: 44vw;
  line-height: 1.6;
  margin: -4rem 0 3rem;
}
#key h1 span i, #key-cp h1 span i {
  font-size: 3rem;
  font-style: normal;
  position: relative;
  padding: 0 0 0 2rem;
  top: -.4rem;
}
#key .img, #key-cp .img {
  position: absolute;
  right: 0;
  bottom: 2vw;
  width: 63vw;
  text-align: right;
}
#key .text, #key-cp .text {
  width: 30vw;
}
@media (max-width: 559px) {
  #key, #key-cp {
    padding: 0 2rem 3rem;
    height: auto;
    justify-content: flex-start;
    background-size: cover , 114vw auto;
    background-position: center top , right top 34vw;
    background: none;
    position: relative;
    margin: 0 0 2rem;
  }
  #key h1, #key-cp h1 {
    width: 100%;
    margin: 4rem 0 2rem;
    font-size: 2.4rem;
  }
  #key h1 span i, #key-cp h1 span i {
    font-size: 1.4rem;
    padding: 0 0 0 1rem;
    top: -.2rem;
  }
  #key .img, #key-cp .img {
    width: calc(100% + 4rem);
    position: relative;
    right: 0;
    bottom: 0;
    margin: 0 -2rem 2rem;
    position: relative;
    z-index: 1;
  }
  #key .img img, #key-cp .img img {
    position: relative;
    z-index: 2;
  }
  #key .img:before, #key-cp .img:before {
    height: 30vw;
    background: #13358e;
    content: "";
    position: absolute;
    bottom: -3vw;
    z-index: 0;
    width: 100%;
  }
  #key .text, #key-cp .text {
    width: 100%;
  }
  #key:after, #key-cp:after {
    content: "";
    background: #13358e;
    width: 1px;
    height: 5rem;
    position: absolute;
    left: 50%;
    bottom: -4rem;
    z-index: 1;
  }
}

#key-cp {
  display: flex;
  padding: 9.5rem 5rem 0;
  background: url("../img/bg03@2x.webp") no-repeat center top/100% auto;
  min-height: auto;
  height: auto;
  justify-content: flex-start;
  padding: 12vw 0 5vw 5vw;
  box-sizing: border-box;
}
#key-cp .img {
  width: auto;
  bottom: 0;
  width: 58vw;
  top: 13rem;
}
#key-cp h1 {
  margin: 0;
}
#key-cp h1 span span {
  background: #fff;
  padding-right: 2rem;
}
@media (max-width: 959px) {
  #key-cp h1 {
    font-size: 1em;
    margin-top: 6vw;
  }
  #key-cp h1 span strong {
    margin: 0 0 2rem;
  }
  #key-cp h1 span:nth-of-type(2) span {
    font-size: 4rem;
  }
}
@media (max-width: 559px) {
  #key-cp {
    padding: 0;
    height: 71vw;
    top: 8rem;
    margin: 0 0 10rem;
  }
  #key-cp .img {
    width: 100%;
    margin: 0 0 2rem;
    top: 0;
    bottom: auto;
  }
  #key-cp h1 {
    font-size: 6vw;
    margin: 4vw 0 0;
  }
  #key-cp h1 span strong {
    font-size: 4vw;
    margin: 0 0 2vw;
  }
  #key-cp h1 span span {
    padding-right: 0;
  }
  #key-cp h1 span:nth-of-type(2) span {
    font-size: 7vw;
  }
  #key-cp + .contentBox01 .container .center {
    text-align: left;
  }
  #key-cp:after {
    height: 11vw;
  }
}

/* -----------------------------------------
		haeder footer
----------------------------------------- */
header {
  position: fixed;
  width: 100%;
  z-index: 100;
  transition: .3s;
  top: 0;
  display: flex;
  justify-content: space-between;
  padding: 0 5rem;
  box-sizing: border-box;
  height: 13rem;
  align-items: center;
}
header .logo {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  line-height: 0;
}
header .logo a {
  width: 18.9rem;
}
header .logo span {
  color: #fff;
  font-size: 2.2rem;
  margin: 0 0 0 2rem;
  display: inline-block;
}
header .logo-cp a {
  width: 19.4rem;
  background: url("../img/logo-blue@2x.webp") no-repeat center top/cover;
  text-indent: -9999px;
  height: 4.8rem;
}
header .logo span a {
  white-space: nowrap;
  color: #000;
  line-height: 1;
  width: auto;
}
header nav {
  margin-right: 8rem;
}
header nav ul {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
header nav ul li {
  margin: 0 0 0 3rem;
}
header nav ul li a {
  color: #000;
  font-size: 1.6rem;
}
header nav ul li.nav-entry {
  margin: 0 0 0 5rem;
}
header nav ul li.nav-entry a {
  width: 16rem;
  height: 8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #00759b;
  color: #fff;
}
header nav ul li.nav-contact {
  margin: 0;
}
header nav ul li.nav-contact a {
  width: 16rem;
  height: 8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #13358e;
  color: #fff;
}
header nav ul li.menu-parent {
  position: relative;
}
header nav ul li.menu-parent .menu-child {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background-color: #fff;
  color: #fff;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
  width: 32rem;
}
header nav ul li.menu-parent .menu-child ul {
  display: block;
}
header nav ul li.menu-parent .menu-child ul li {
  margin: 0;
}
header nav ul li.menu-parent .menu-child ul li a {
  font-size: 1.5rem;
  border-bottom: 1px solid #ddd;
  display: block;
  padding: 1rem 1.4rem;
  color: #000;
}
header nav ul li.menu-parent .menu-child ul li a:hover {
  background: #00759b;
  color: #fff;
}
header nav ul li.menu-parent .menu-child ul li:last-of-type a {
  border-bottom: none;
}
header nav ul li.menu-parent > a {
  position: relative;
  padding: 0 2.6rem 0 0;
}
header nav ul li.menu-parent > a:after {
  content: "expand_more";
  font-family: "Material Icons";
  font-size: 3rem;
  position: absolute;
  right: 0;
  top: .6rem;
  color: #00759b;
  width: 2rem;
  height: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  padding: .2rem 0 0 .1rem;
  border-radius: 50%;
  transition: .3s;
}
header.scroll {
  background: rgba(255, 255, 255, 0.9);
  height: 8rem;
}
header.scroll .logo a {
  width: 13rem;
}
header.scroll .logo span {
  color: #000;
  font-size: 1.8rem;
}
header.scroll .logo-cp a {
  width: 16.4rem;
  background: url("../img/logo-blue@2x.webp") no-repeat center top/cover;
  height: 4rem;
}
header.scroll nav ul li a {
  color: #000;
}
header.scroll nav ul li.nav-contact a, header.scroll nav ul li.nav-entry a {
  color: #fff;
}
header.scroll + .outer-menu .hamburger {
  top: .8rem;
}
header.scroll + .outer-menu .checkbox-toggle {
  top: .5rem;
  right: 3rem;
}
@media (max-width: 1080px) {
  header {
    padding: 0 2rem;
  }
  header .logo span {
    font-size: 1.7rem;
  }
  header nav ul li {
    margin: 0 0 0 2rem;
  }
  header nav ul li.nav-contact a {
    width: 12rem;
    height: 6rem;
    font-size: 1.4rem;
  }
  header nav ul li.nav-entry {
    margin: 0 0 0 3rem;
  }
  header nav ul li.nav-entry a {
    width: 12rem;
    height: 6rem;
    font-size: 1.4rem;
  }
}
@media (max-width: 959px) {
  header nav ul li {
    display: none;
  }
  header nav ul li.nav-entry {
    display: flex;
  }
  header nav ul li.nav-entry.cp {
    display: none;
  }
}
@media (max-width: 559px) {
  header {
    height: 8rem;
  }
  header .logo a {
    width: 26vw;
  }
  header .logo span {
    font-size: 3vw;
    padding: 0;
    margin: 0 0 0 3vw;
  }
  header .logo span a {
    width: auto;
  }
  header .logo-cp a {
    width: 12.4rem;
    height: 3rem;
  }
  header nav {
    margin-right: 6rem;
  }
  header nav ul li.nav-entry a {
    width: 22vw;
    height: 12vw;
    font-size: 3vw;
  }
  header.scroll {
    height: 6rem;
  }
  header.scroll .logo a {
    width: 26vw;
  }
  header.scroll .logo span {
    font-size: 3vw;
    padding: 0;
  }
  header.scroll + .outer-menu .hamburger {
    top: -.4rem;
  }
}

.outer-menu {
  display: block;
  position: fixed;
  top: 10vh;
  left: 0;
  z-index: 1500;
}
.outer-menu .checkbox-toggle {
  position: fixed;
  top: 3rem;
  right: 3.4rem;
  z-index: 2;
  cursor: pointer;
  width: 7.5rem;
  height: 7rem;
  opacity: 0;
  margin: 0;
}
.outer-menu .checkbox-toggle:checked + .hamburger > div {
  transform: rotate(135deg);
}
.outer-menu .checkbox-toggle:checked + .hamburger > div:before, .outer-menu .checkbox-toggle:checked + .hamburger > div:after {
  top: 0;
  transform: rotate(90deg);
}
.outer-menu .checkbox-toggle:checked + .hamburger > div:after {
  opacity: 0;
}
.outer-menu .checkbox-toggle:checked ~ .menu {
  pointer-events: auto;
  visibility: visible;
}
.outer-menu .checkbox-toggle:checked ~ .menu > div {
  transform: scale(1);
  transition-duration: .75s;
}
.outer-menu .checkbox-toggle:checked ~ .menu > div > div {
  opacity: 1;
  transition: opacity .4s ease .4s;
}
.outer-menu .checkbox-toggle:checked:hover + .hamburger > div {
  transform: rotate(225deg);
}
.outer-menu .hamburger {
  position: fixed;
  top: 3rem;
  right: 3rem;
  z-index: 1;
  width: 4rem;
  height: 3.2rem;
  padding: 1.8rem;
  background: none;
  cursor: pointer;
  backface-visibility: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: .3s;
}
.outer-menu .hamburger > div {
  position: relative;
  flex: none;
  width: 100%;
  height: 2px;
  background: #000;
  transition: all .4s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.outer-menu .hamburger > div:before, .outer-menu .hamburger > div:after {
  content: '';
  position: absolute;
  z-index: 1;
  top: -10px;
  left: 0;
  width: 100%;
  height: 2px;
  background: inherit;
  transition: all .4s ease;
}
.outer-menu .hamburger > div:after {
  top: 10px;
}
.outer-menu .hamburger.white > div {
  background: #000;
}
.outer-menu .menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  visibility: hidden;
  overflow: hidden;
  backface-visibility: hidden;
  outline: 1px solid transparent;
  display: flex;
  align-items: center;
  justify-content: center;
}
.outer-menu .menu > div {
  width: 200vw;
  height: 200vw;
  color: #FEFEFE;
  background: #00759b;
  border-radius: 50%;
  transition: all .4s ease;
  flex: none;
  transform: scale(0);
  backface-visibility: hidden;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.outer-menu .menu > div > div {
  text-align: center;
  max-width: 90vw;
  max-height: 100vh;
  opacity: 0;
  transition: opacity .4s ease;
  overflow-y: auto;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.outer-menu .menu > div > div > ul {
  list-style: none;
  padding: 0 1em;
  margin: 0;
  display: block;
  max-height: 100vh;
}
.outer-menu .menu > div > div > ul > li {
  padding: 0;
  margin: 1em;
  font-size: 24px;
  display: block;
}
.outer-menu .menu > div > div > ul > li > a {
  position: relative;
  display: inline;
  cursor: pointer;
  transition: color .4s ease;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 2rem;
  color: #fff;
}
.outer-menu .menu > div > div > ul > li > a:hover {
  text-decoration: none;
  color: #000;
}
.outer-menu .menu > div > div > ul > li > a:hover:after {
  width: 100%;
}
.outer-menu .menu > div > div > ul > li > a:after {
  content: '';
  position: absolute;
  z-index: 1;
  bottom: -0.15em;
  left: 0;
  width: 0;
  height: 2px;
  background: none;
  transition: width .4s ease;
}
.outer-menu .menu-cp > div {
  width: 100%;
  height: 100%;
  color: #fff;
  background: #ebecf6;
  border-radius: 0;
  align-items: center;
}
.outer-menu .menu-cp > div > div {
  max-width: 100%;
  max-height: 100%;
  flex: none;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  justify-content: flex-start;
  width: 33%;
  padding: 0 3vw;
  box-sizing: border-box;
  overflow: unset;
  min-height: 64rem;
}
.outer-menu .menu-cp > div > div.center {
  border-right: 5px solid #fff;
  border-left: 5px solid #fff;
  text-align: left;
}
.outer-menu .menu-cp > div > div .wrap {
  margin: 0 0 3rem;
}
.outer-menu .menu-cp > div > div .wrap .ac-menu {
  pointer-events: none;
}
.outer-menu .menu-cp > div > div .wrap .title {
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 2rem;
  font-weight: 500;
  color: #000;
  position: relative;
  margin: 0 0 1rem;
}
.outer-menu .menu-cp > div > div .wrap .title i {
  font-style: normal;
  color: #000;
  font-size: 3rem;
  padding: 0 1rem 0 0;
}
.outer-menu .menu-cp > div > div .wrap .btn .btn-common01 {
  margin: 0 0 1rem !important;
}
.outer-menu .menu-cp > div > div .wrap .inner {
  padding: 0 0 0 3rem;
  margin: 0;
}
.outer-menu .menu-cp > div > div .wrap .inner .btn-common01 {
  margin: 0 0 1rem !important;
}
.outer-menu .menu-cp > div > div .wrap .inner ul li {
  position: relative;
  padding: 0 0 0 4rem;
}
.outer-menu .menu-cp > div > div .wrap .inner ul li:before {
  position: absolute;
  left: 0;
  top: 50%;
  width: 2rem;
  height: 1px;
  background: #000;
  content: "";
}
@media (max-width: 959px) {
  .outer-menu .menu-cp {
    box-sizing: border-box;
  }
  .outer-menu .menu-cp > div {
    flex-wrap: wrap;
    display: flex;
    padding: 7rem 0 0;
    overflow: scroll;
  }
  .outer-menu .menu-cp > div > div {
    width: 50%;
    min-height: auto;
  }
  .outer-menu .menu-cp > div > div.left {
    border-right: 5px solid #fff;
  }
  .outer-menu .menu-cp > div > div.center {
    border: none;
  }
  .outer-menu .menu-cp > div > div.right {
    border-top: 5px solid #fff;
    width: 100%;
    padding-top: 5rem;
  }
  .outer-menu .menu-cp > div > div.right .wrap .inner ul {
    flex: 1;
  }
  .outer-menu .menu-cp > div > div .wrap .ac-menu + .inner {
    display: block;
  }
}
@media (max-width: 559px) {
  .outer-menu .checkbox-toggle {
    right: .2rem;
  }
  .outer-menu .hamburger {
    right: .2rem;
    top: .8rem;
  }
  .outer-menu .menu-cp > div {
    display: block;
    overflow: auto;
  }
  .outer-menu .menu-cp > div > div {
    width: 100%;
  }
  .outer-menu .menu-cp > div > div.right {
    border-top: none;
    padding-top: 0;
  }
  .outer-menu .menu-cp > div > div .wrap {
    margin: 0 0 5vw;
    width: 100%;
    padding: 0 5vw 0 0;
    box-sizing: border-box;
    position: relative;
  }
  .outer-menu .menu-cp > div > div .wrap .ac-menu {
    pointer-events: all;
  }
  .outer-menu .menu-cp > div > div .wrap .ac-menu:after {
    font-size: 7vw;
    top: 1vw;
    right: 0;
    content: "expand_more";
    position: absolute;
    font-family: "Material Icons";
    color: #00759b;
    transform: rotateZ(0deg);
    transition: .3s;
  }
  .outer-menu .menu-cp > div > div .wrap .ac-menu + .inner {
    display: none;
    padding: 0 0 0 5vw;
  }
  .outer-menu .menu-cp > div > div .wrap .ac-menu.active:after {
    transform: rotateZ(-540deg);
  }
  .outer-menu .menu-cp > div > div .wrap .title {
    line-height: 1.6;
    font-size: 4.5vw;
    letter-spacing: 0;
    width: 84vw;
    margin: 0 0 3vw;
  }
  .outer-menu .menu-cp > div > div .wrap .title i {
    font-size: 6vw;
  }
  .outer-menu .menu-cp > div > div .wrap .btn {
    padding: 0 0 0 3rem;
  }
  .outer-menu .menu-cp > div > div .wrap .btn .btn-common01 {
    margin: 0 0 1rem !important;
  }
}

footer {
  background: #13358e;
  padding: 10rem 0 0;
  text-align: center;
}
footer .container .logo {
  margin: 0 0 3rem;
}
footer .container .logo span {
  display: block;
  text-align: center;
  color: #fff;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 2.3rem;
  margin: 2rem 0 0;
}
footer .container .logo img {
  width: 26rem;
}
footer .container .sns {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 2rem;
}
footer .container .sns li {
  margin: 0 .8rem;
}
footer .container .sns li a img {
  transition: .3s;
  top: 0;
}
footer .container .sns li a:hover img {
  position: relative;
  top: -.3rem;
}
footer .container .related-links {
  border-top: 1px solid #4b67b2;
  padding: 5rem 0 10rem;
  margin: 5rem 0 0;
}
footer .container .link-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
footer .container .link-list li {
  margin: 0 2rem;
  color: #fff;
}
footer .container .link-list li a {
  color: #fff;
  position: relative;
}
footer small {
  background: #fff;
  text-align: center;
  font-style: normal;
  display: block;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  padding: 2rem 0;
  line-height: 1.4;
}
@media (max-width: 559px) {
  footer .container .logo span {
    font-size: 1.7rem;
  }
  footer .container .logo img {
    width: 17rem;
  }
  footer .container .link-list {
    justify-content: center;
  }
  footer .container .link-list:nth-of-type(1) {
    justify-content: flex-start;
  }
  footer small {
    font-size: 2.6vw;
  }
}

.scroll + .outer-menu .hamburger.white > div {
  background: #000;
}

/* -----------------------------------------
		page
----------------------------------------- */
#interview {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#interview .img {
  width: 42%;
  position: sticky;
  top: 8rem;
}
#interview .img ul img {
  object-fit: cover;
  height: 100vh;
}
#interview .text {
  flex: 1;
  width: 100%;
  padding: 8rem 6% 12rem;
  box-sizing: border-box;
}
#interview .text .main .personal {
  margin: 0 0 5.4rem;
}
#interview .text .main .personal dl {
  display: flex;
  justify-content: flex-start;
  color: #13358e;
  font-weight: 700;
}
#interview .text .main .personal dl dt {
  position: relative;
}
#interview .text .main .personal dl dt:after {
  position: absolute;
  height: 1px;
  width: 2rem;
  right: -3rem;
  content: "";
  background: #13358e;
  top: 1.9rem;
}
#interview .text .main .personal dl dd {
  padding: 0 0 0 4rem;
}
#interview .text .main .personal p {
  font-size: 3.8rem;
  font-weight: 700;
  line-height: 1.6;
  margin: 1rem 0 0;
}
#interview .text .main .current {
  border: 1px solid #13358e;
  padding: 1.2rem 3.8rem 2.4rem;
  margin: 0 0 7rem;
}
#interview .text .main .current dl dt {
  font-size: 3.8rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #13358e;
}
#interview .text .qa {
  margin: 0 0 12rem;
}
#interview .text .qa section {
  margin: 0 0 4rem;
}
#interview .text .qa section h3 {
  font-size: 2.6rem;
  font-weight: 700;
  color: #13358e;
  line-height: 1.5;
  position: relative;
  font-weight: 700;
  padding: 0 0 0 15rem;
  margin: 0 0 2rem;
  min-height: 12.3rem;
  display: flex;
  align-items: center;
}
#interview .text .qa section h3 span {
  position: absolute;
  left: 0;
  top: 0;
  width: 12.3rem;
  height: 12.3rem;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Josefin Sans", sans-serif;
  background: #13358e;
  border-radius: 50%;
  font-size: 7.6rem;
  box-sizing: border-box;
  padding: 1.2rem 0 0;
  font-weight: normal;
}
#interview .text .qa section h3 span i {
  font-style: normal;
  font-size: 4.2rem;
}
#interview .text .qa section:last-of-type {
  margin: 0;
}
#interview .text .schedule ul {
  position: relative;
}
#interview .text .schedule ul li {
  position: relative;
  padding: 0 0 0 5rem;
}
#interview .text .schedule ul li dl {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0 0 2.4rem;
}
#interview .text .schedule ul li dl dt {
  background: #13358e;
  color: #fff;
  border-radius: 10rem;
  min-width: 10rem;
  text-align: center;
  line-height: 1.4;
  padding: .2rem 0 .3rem;
}
#interview .text .schedule ul li dl dd {
  line-height: 1.4;
  padding: 0 0 0 2rem;
}
#interview .text .schedule ul li:before {
  width: 1.7rem;
  height: 1.7rem;
  background: #13358e;
  border-radius: 50%;
  content: "";
  position: absolute;
  left: 0;
  top: .6rem;
}
#interview .text .schedule ul:before {
  width: 2px;
  background: #c9c9c9;
  height: 96%;
  content: "";
  position: absolute;
  left: .8rem;
  top: 1rem;
}
@media (max-width: 959px) {
  #interview {
    flex-direction: column;
  }
  #interview .img {
    width: 100%;
    position: static;
    height: 80vw;
  }
  #interview .img ul img {
    object-fit: cover;
    object-position: bottom -40vw right 0;
    height: 80vw;
    width: 100%;
  }
}
@media (max-width: 559px) {
  #interview .text {
    padding: 4rem 2rem 6rem;
  }
  #interview .text .main .personal {
    margin: 0 0 4.4rem;
  }
  #interview .text .main .personal dl {
    justify-content: center;
  }
  #interview .text .main .personal p {
    font-size: 3rem;
    text-align: center;
  }
  #interview .text .main .current {
    padding: 1.2rem 1.8rem 1.4rem;
  }
  #interview .text .main .current dl dt {
    text-align: center;
    font-size: 2.4rem;
  }
  #interview .text .qa section h3 {
    font-size: 2.4rem;
    padding: 12rem 0 0 0;
    margin: 0 0 1rem;
    min-height: auto;
  }
  #interview .text .qa section h3 span {
    width: 10rem;
    height: 10rem;
    font-size: 5rem;
    left: 50%;
    margin-left: -5rem;
  }
  #interview .text .schedule ul li:before {
    top: 50%;
    margin-top: -1rem;
  }
}

#talk-session_main {
  padding: 10rem 2rem;
}
#talk-session_main ul {
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 1;
  padding: 11rem 0 0;
}
#talk-session_main ul li {
  width: 33.4rem;
  margin: 0 1.8rem;
  padding: 32rem 0 0;
  position: relative;
}
#talk-session_main ul li .inner {
  background: #13358e;
  border-radius: 1rem;
  padding: 1.2rem;
}
#talk-session_main ul li .inner dl {
  text-align: center;
  color: #fff;
  padding: 0 0 1.8rem;
}
#talk-session_main ul li .inner dl dt {
  font-size: 2.4rem;
  font-weight: 700;
}
#talk-session_main ul li .inner dl dd {
  font-size: 1.6rem;
  line-height: 1.4;
}
#talk-session_main ul li .inner p {
  background: #fff;
  border-radius: 1rem;
  padding: 1rem 1.8rem;
  box-sizing: border-box;
  line-height: 1.8;
}
#talk-session_main ul li.staff01 {
  background: image-set(url(../img/recruit/staff-ooe_session.webp) 1x, url(../img/recruit/staff-ooe_session@2x.webp) 2x) no-repeat center top/100% auto;
}
#talk-session_main ul li.staff01 .inner {
  background: #13358e;
}
#talk-session_main ul li.staff02 {
  background: image-set(url(../img/recruit/staff-okada_session.webp) 1x, url(../img/recruit/staff-okada_session@2x.webp) 2x) no-repeat center top/85% auto;
}
#talk-session_main ul li.staff02 .inner {
  background: #00759b;
}
#talk-session_main ul li.staff02:before, #talk-session_main ul li.staff02:after {
  content: "×";
  font-size: 9.2rem;
  position: absolute;
  top: 13%;
}
#talk-session_main ul li.staff02:before {
  left: -18%;
}
#talk-session_main ul li.staff02:after {
  right: -13%;
}
#talk-session_main ul li.staff03 {
  background: image-set(url(../img/recruit/staff-fukui_session.webp) 1x, url(../img/recruit/staff-fukui_session@2x.webp) 2x) no-repeat center top/100% auto;
}
#talk-session_main ul li.staff03 .inner {
  background: #57a431;
}
#talk-session_main ul:before {
  content: "MEMBER";
  font-family: "Josefin Sans", sans-serif;
  font-size: 18vw;
  font-weight: 700;
  position: absolute;
  z-index: -1;
  letter-spacing: -2rem;
  top: 0;
  left: 0;
  width: 100%;
  text-align: center;
  color: #dadada;
}
@media (max-width: 559px) {
  #talk-session_main {
    padding: 6rem 2rem;
  }
  #talk-session_main ul {
    flex-direction: column;
    padding: 10rem 0 0;
  }
  #talk-session_main ul li {
    padding: 0 0 0 38%;
    box-sizing: border-box;
    width: 100%;
    margin: 0 0 2rem;
  }
  #talk-session_main ul li .inner dl dt {
    font-size: 2rem;
  }
  #talk-session_main ul li .inner dl dd {
    font-size: 1.4rem;
  }
  #talk-session_main ul li .inner p {
    font-size: 1.4rem;
    line-height: 1.7;
    padding: .8rem 1.5rem 1rem;
  }
  #talk-session_main ul li.staff01 {
    background-size: 24rem auto;
    background-position: left top;
  }
  #talk-session_main ul li.staff02 {
    background-size: 20rem auto;
    background-position: left top;
  }
  #talk-session_main ul li.staff02:before, #talk-session_main ul li.staff02:after {
    display: none;
  }
  #talk-session_main ul li.staff03 {
    background-size: 24rem auto;
    background-position: left top;
  }
  #talk-session_main ul:before {
    font-size: 15vw;
    letter-spacing: 0;
  }
}

#talk-session_message .container .contentBoxInner .main .img {
  width: 100%;
  margin: 0;
}

#privacy-policy .container section {
  margin: 0 0 7rem;
}
#privacy-policy .container section dl {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
#privacy-policy .container section dl dt {
  font-weight: 700;
  width: 14%;
}
#privacy-policy .container section dl dd {
  width: 86%;
}
#recruit-interview_index .container .text section h5 {
  color: #13358e;
  font-size: 2.8rem;
  font-weight: 700;
  margin: 0 0 1.6rem;
  line-height: 1.4;
}
#recruit-interview_index .container .text section .textInner {
  margin: 0 0 4rem;
}

@media (max-width: 959px) {
  #recruit-interview_index .box01 ul {
    height: auto;
  }
  #recruit-interview_index .box01 ul li dl dd {
    line-height: 1.4;
    margin: 1vw 0;
  }
  #recruit-interview_index .box01 ul li a .img {
    margin: 0 auto 1vw !important;
  }
}

/* -----------------------------------------
		cp
----------------------------------------- */
#top-message-cp {
  display: flex;
  justify-content: space-around;
  padding-left: 18rem;
  padding-right: 9rem;
  position: relative;
  margin: 4rem 0;
  align-items: center;
  gap: 4rem;
}
#top-message-cp figure {
  display: flex;
  background: #fff;
  writing-mode: vertical-rl;
  color: #13358e;
  font-family: "Josefin Sans", sans-serif;
  font-size: 2.8rem;
  position: absolute;
  left: 9rem;
  top: 9rem;
  font-weight: 500;
}
#top-message-cp figure i {
  width: .9rem;
  height: .9rem;
  background: #000;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  top: 3rem;
  right: .6rem;
}
#top-message-cp .text h2 {
  font-size: 5rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
  color: #13358e;
  line-height: 1.6;
  margin: 0 0 3.6rem;
}
#top-message-cp .text h2 strong {
  font-weight: normal;
}
#top-message-cp .text h2 span {
  font-size: 3.8rem;
  color: #000;
  display: block;
}
#top-message-cp .text p {
  font-weight: normal;
}
#top-message-cp:before {
  height: calc(100% - 39rem);
  width: 1px;
  background: #000;
  position: absolute;
  left: 10.7rem;
  top: 28rem;
  content: "";
}
.slider-mv {
  overflow-x: hidden;
}
@media (max-width: 959px) {
  #top-message-cp {
    padding-left: 13rem;
    padding-right: 5rem;
    gap: 5rem;
  }
  #top-message-cp figure {
    left: 5rem;
  }
  #top-message-cp .img {
    width: 36rem;
  }
  #top-message-cp .text h2 {
    font-size: 4rem;
  }
  #top-message-cp .text h2 span {
    font-size: 2.8rem;
  }
  #top-message-cp:before {
    left: 6.7rem;
  }
}
@media (max-width: 559px) {
  #top-message-cp {
    gap: 5rem;
    padding: 0 5vw;
    flex-direction: column;
  }
  #top-message-cp figure {
    font-size: 2rem;
    left: 50%;
    margin-left: -5rem;
    top: 3rem;
    writing-mode: unset;
  }
  #top-message-cp figure i {
    display: none;
  }
  #top-message-cp .img {
    width: 100%;
    text-align: center;
  }
  #top-message-cp .img img {
    width: 70vw;
  }
  #top-message-cp .text h2 {
    margin: 0 0 2.6rem;
    font-size: 2.8rem;
    text-align: center;
    padding: 7rem 0 0;
  }
  #top-message-cp .text h2 span {
    font-size: 1.6rem;
    padding: 1rem 0 0;
  }
  #top-message-cp:before {
    display: none;
  }
}

#top-product {
  background: #13358e url("../img/top-product-bg@2x.webp") no-repeat center top/100% auto;
  padding-top: 13rem;
}
#top-product .container h2 span strong {
  font-size: 2.7rem;
}
#top-product .container h2 span span {
  font-size: 6rem;
}
#top-product .container h3 {
  font-size: 3.6rem;
  font-weight: normal;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #fff;
  line-height: 1.6;
  margin: 0 0 2.4rem;
}
#top-product .container h3 + p {
  margin: 0 0 8rem;
}
#top-product .container p {
  color: #fff;
}
#top-product .container .bnr {
  margin: 0 0 10rem;
}
#top-product .container .bnr ul {
  flex-wrap: wrap;
  display: flex;
  justify-content: space-between;
}
#top-product .container .bnr ul li {
  width: 31%;
}
#top-product .container .bnr ul li a {
  border: 1px solid #656565;
}
#top-product .container .bnr ul li:nth-of-type(1) {
  width: 100%;
  margin: 0 0 2%;
}
#top-product .container .list .title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 3rem;
}
#top-product .container .list .title h3 {
  font-size: 4rem;
  font-weight: normal;
}
#top-product .container .list .title .btn-common01 {
  margin-top: 0 !important;
}
#top-product .container .list ul li {
  text-align: center;
}
#top-product .container .list ul li strong {
  font-weight: normal;
  display: block;
  text-align: center;
  font-size: 2.8rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #fff;
  line-height: 1.8;
  margin: 2rem 0 0;
}
#top-product .container .list ul li strong span {
  display: block;
  font-size: 1.8rem;
}
#top-product .container .list .slick-arrow {
  top: 34%;
}
#top-product .container .list .slick-arrow:before {
  font-family: "Material Icons";
  color: #fff;
  font-size: 2.4rem;
  width: 4.6rem;
  height: 4.6rem;
  border: 2px solid #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}
#top-product .container .list .slick-arrow.slick-next {
  right: -4rem;
}
#top-product .container .list .slick-arrow.slick-next:before {
  content: "chevron_right";
}
#top-product .container .list .slick-arrow.slick-prev {
  left: -8rem;
}
#top-product .container .list .slick-arrow.slick-prev:before {
  content: "chevron_left";
}
@media (max-width: 959px) {
  #top-product {
    padding-top: 10rem;
  }
  #top-product .container .list ul li {
    padding: 0 1rem;
  }
  #top-product .container .list .slick-arrow {
    top: 34%;
    z-index: 2;
  }
  #top-product .container .list .slick-arrow.slick-next {
    right: 1rem;
  }
  #top-product .container .list .slick-arrow.slick-prev {
    left: -1rem;
  }
}
@media (max-width: 559px) {
  #top-product {
    padding-top: 6rem;
  }
  #top-product .container h2 span strong {
    font-size: 1.5rem;
    margin: 0 0 1rem;
  }
  #top-product .container h2 span span {
    font-size: 2.8rem;
  }
  #top-product .container h3 {
    font-size: 2.2rem;
  }
  #top-product .container h3 + p {
    margin: 0 0 4rem;
  }
  #top-product .container .bnr ul {
    flex-direction: column;
    gap: 1rem;
  }
  #top-product .container .bnr ul li {
    width: 100%;
  }
  #top-product .container .bnr ul li:nth-of-type(1) {
    margin: 0;
  }
  #top-product .container .list .title {
    flex-direction: column;
  }
  #top-product .container .list .title h3 {
    font-size: 2.8rem;
  }
}

#top-vision {
  background: url("../img/vision-img.webp") no-repeat right top/30vw auto, url("../img/vision-bg.webp") no-repeat right 30vw top;
  padding: 10rem 12rem;
  margin-bottom: 6rem;
}
#top-vision .title h2 span strong {
  font-size: 2.7rem;
}
#top-vision .title h2 span span {
  font-size: 6rem;
}
#top-vision .title h3 {
  font-size: 3.6rem;
  font-weight: 300;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 1.6;
  margin: 0 0 2.4rem;
  text-decoration: underline;
  text-underline-offset: 1.2rem;
  text-decoration-thickness: 1px;
}
#top-vision .title h3 + p {
  margin: 0 0 8rem;
  width: 50vw;
}
#top-vision .container {
  padding: 0;
}
#top-vision .container .bnr-area ul {
  column-gap: 3rem;
}
@media (max-width: 959px) {
  #top-vision {
    padding: 7rem 5rem;
  }
  #top-vision .container .bnr-area ul {
    column-gap: 1rem;
  }
}
@media (max-width: 559px) {
  #top-vision {
    padding: 6rem 5vw;
    background: none;
  }
  #top-vision .title h2 span strong {
    font-size: 1.5rem;
    margin: 0 0 2rem;
  }
  #top-vision .title h2 span span {
    font-size: 2.8rem;
  }
  #top-vision .title h3 {
    font-size: 2.2rem;
    text-underline-offset: .6rem;
    margin: 0 0 1.4rem;
  }
  #top-vision .title h3 + p {
    margin: 0 0 3rem;
    width: 100%;
  }
  #top-vision .container .bnr-area ul {
    gap: 1rem;
  }
}

#cta-recruit {
  position: relative;
  background: url("../img/cta-recruit-bg@2x.webp") no-repeat center top/cover;
  padding: 8rem 0;
}
#cta-recruit .wrap {
  padding: 3rem 3rem 6rem;
  background: rgba(255, 255, 255, 0.9);
  width: 60%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
#cta-recruit .wrap h2 {
  margin: 0 0 4rem;
}
#cta-recruit .wrap h2 span strong {
  font-size: 2.2rem;
  margin: 0 0 2rem;
}
#cta-recruit .wrap h2 span span {
  font-size: 5rem;
  color: #13358e;
  font-weight: 600;
}
#cta-recruit .wrap h3 {
  font-size: 3.5rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  text-align: center;
  font-weight: normal;
  margin: 0 0 2rem;
}
#cta-recruit .wrap h3 + p {
  text-align: center;
  padding: 0 10rem;
}
#cta-recruit:before, #cta-recruit:after {
  width: 30vw;
  height: 30vw;
  max-width: 49.4rem;
  max-height: 49.4rem;
  content: "";
  position: absolute;
}
#cta-recruit:before {
  background: url("../img/cta-recruit-img01@2x.webp") no-repeat left top/cover;
  top: -5rem;
  left: 0;
}
#cta-recruit:after {
  background: url("../img/cta-recruit-img02@2x.webp") no-repeat right bottom/cover;
  bottom: -5rem;
  right: 0;
}
@media (max-width: 959px) {
  #cta-recruit {
    padding: 6rem 0;
    margin-bottom: 6rem;
  }
  #cta-recruit .wrap {
    width: 80%;
  }
  #cta-recruit .wrap h2 {
    margin: 0 0 3rem;
  }
  #cta-recruit .wrap h2 span strong {
    font-size: 1.8rem;
  }
  #cta-recruit .wrap h2 span span {
    font-size: 4rem;
  }
  #cta-recruit .wrap h3 {
    font-size: 2.5rem;
  }
  #cta-recruit .wrap h3 + p {
    padding: 0;
  }
  #cta-recruit:before, #cta-recruit:after {
    width: 50vw;
    height: 50vw;
  }
  #cta-recruit:before {
    top: -3rem;
  }
  #cta-recruit:after {
    bottom: -3rem;
  }
}
@media (max-width: 559px) {
  #cta-recruit {
    padding: 4rem 5vw;
    margin-bottom: 4rem;
  }
  #cta-recruit .wrap {
    padding: 4rem 3rem 3rem;
  }
  #cta-recruit .wrap h2 {
    margin: 0 0 2rem;
  }
  #cta-recruit .wrap h2 span strong {
    font-size: 1.6rem;
    margin: 0 0 2rem;
  }
  #cta-recruit .wrap h2 span span {
    font-size: 2.8rem;
  }
  #cta-recruit .wrap h3 {
    font-size: 2rem;
    line-height: 1.6;
    margin: 0 0 1rem;
  }
}

#top-news .container .wrap {
  display: flex;
  justify-content: space-between;
  gap: 9rem;
}
#top-news .container .wrap .list-news {
  flex: 1;
}
@media (max-width: 959px) {
  #top-news .container .wrap {
    gap: 4rem;
  }
}
@media (max-width: 559px) {
  #top-news .container .wrap {
    gap: 4rem;
    flex-direction: column;
  }
}

#top-instagram ul {
  display: flex;
  justify-content: center;
  gap: 3.5rem;
}
@media (max-width: 959px) {
  #top-instagram ul {
    gap: 1.5rem;
  }
}
@media (max-width: 559px) {
  #top-instagram ul {
    gap: 0;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #top-instagram ul li {
    width: 48%;
    margin: 0 0 2%;
  }
}

#top-movie .container .wrap ul {
  display: flex;
  justify-content: center;
  gap: 3.5rem;
}
#top-movie .container .wrap ul li {
  width: 48%;
}
#top-movie .container .wrap ul li iframe {
  width: 100%;
  height: 40rem;
}
@media (max-width: 959px) {
  #top-movie .container .wrap ul {
    gap: 1.5rem;
  }
  #top-movie .container .wrap ul li iframe {
    height: 30rem;
  }
}
@media (max-width: 559px) {
  #top-movie .container .wrap ul {
    flex-direction: column;
    gap: 1rem;
  }
  #top-movie .container .wrap ul li {
    width: 100%;
  }
  #top-movie .container .wrap ul li iframe {
    height: 45vw;
  }
}

#history-outline {
  gap: 8rem;
  position: relative;
  padding: 0 7rem 0 0;
  display: flex;
  justify-content: space-between;
}
#history-outline .menu {
  width: 33rem;
  padding: 0 3rem;
  box-sizing: border-box;
  position: sticky;
  height: fit-content;
  top: 8rem;
}
#history-outline .menu a {
  display: block;
  padding: 1.6rem 2rem 1.8rem;
  border-bottom: 1px solid #ddd;
}
#history-outline .menu a dl dt {
  font-size: 1.3rem;
  line-height: 1.4;
}
#history-outline .menu a dl dd {
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.4;
}
#history-outline .menu a.active dl dt, #history-outline .menu a.active dl dd {
  color: #13358e;
}
#history-outline .history-wrap {
  flex: 1;
  position: relative;
}
#history-outline .history-wrap .history-content {
  padding-bottom: 15rem;
}
#history-outline .history-wrap .history-content .history-inner h2 {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  font-size: 4.4rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
  margin: 0 0 6rem;
}
#history-outline .history-wrap .history-content .history-inner h2 span {
  background: #13358e;
  color: #fff;
  display: inline-block;
  font-size: 1.7rem;
  border-radius: 4rem;
  padding: 1rem 3rem;
  min-width: 28rem;
  margin: 0 0 3rem;
  letter-spacing: .2rem;
}
#history-outline .history-wrap .history-content .history-inner section {
  display: flex;
  justify-content: space-between;
  margin: 0;
}
#history-outline .history-wrap .history-content .history-inner section h3 {
  font-size: 4rem;
  font-weight: 700;
  position: relative;
  color: #13358e;
  font-family: din-2014, sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 8.6rem;
}
#history-outline .history-wrap .history-content .history-inner section h3 span {
  font-size: 1.4rem;
  font-family: "Noto Sans JP", YuGothic, "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "ＭＳ Ｐゴシック", sans-serif;
  font-weight: normal;
  display: block;
  padding: 1rem 0 0;
}
#history-outline .history-wrap .history-content .history-inner section h3:after {
  width: 1.5rem;
  height: 1.5rem;
  background: #13358e;
  border-radius: 50%;
  right: -4.5rem;
  top: 1.2rem;
  content: "";
  position: absolute;
}
#history-outline .history-wrap .history-content .history-inner section .text {
  padding: .2rem 0 5rem 8rem;
  flex: 1;
  position: relative;
}
#history-outline .history-wrap .history-content .history-inner section .text::before {
  border-left: 2px solid #12358e;
  position: absolute;
  content: "";
  top: 0;
  left: 3.5rem;
  bottom: 0;
}
#history-outline .history-wrap .history-content .history-inner section:first-of-type .text::before {
  top: 2rem;
}
#history-outline .history-wrap .history-content .history-inner section .text h4 {
  margin: 0 0 1.4rem;
  font-size: 2rem;
  line-height: 1.6;
}
#history-outline .history-wrap .history-content .history-inner section .text p {
  margin: 0 0 2rem;
}
#history-outline .history-wrap .history-content .history-inner section .text .img-list {
  display: flex;
  justify-content: flex-start;
  gap: 2rem;
}
#history-outline .history-wrap .history-content .history-inner section .text .img-list li {
  width: fit-content;
}
#history-outline .history-wrap .history-content .history-inner section .text .img-list li span {
  display: block;
  text-align: center;
  font-style: italic;
  color: #aaa;
  font-weight: 400;
  font-size: 1.5rem;
}
#history-outline .history-wrap .history-content .history-inner section .text .check {
  background-color: #13358e;
  background-position: right top;
  background-repeat: no-repeat;
  padding: 5rem;
  color: #fff;
  margin: 2rem 0 0;
}
#history-outline .history-wrap .history-content .history-inner section .text .check dl {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 2.8rem;
  margin: 0 0 2rem;
}
#history-outline .history-wrap .history-content .history-inner section .text .check dl dt {
  background: #00759b;
  font-size: 3.2rem;
  font-weight: normal;
  color: #fff;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  padding: 0 2rem .2rem;
  border-radius: 0 1rem 0 1rem;
  box-sizing: border-box;
  min-width: 12rem;
}
#history-outline .history-wrap .history-content .history-inner section .text .check dl dd {
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 2.8rem;
  font-weight: normal;
}
#history-outline .history-wrap .history-content .history-inner section .text .check dl.type02 {
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
}
#history-outline .history-wrap .history-content .history-inner section .text .check .img-list {
  justify-content: flex-start;
  display: flex;
  column-gap: 2rem;
}
#history-outline .history-wrap .history-content .history-inner section .text .check .img-list span {
  color: #fff;
}
#history-outline .history-wrap .history-content .history-inner section .text .check.icon01 {
  background-image: url("../img/history-icon01.webp");
  background-position: right 3.7rem top 5.7rem;
}
#history-outline .history-wrap .history-content .history-inner section .text .check.icon02 {
  background-image: url("../img/history-icon02.webp");
  background-position: right 3.7rem top 3.7rem;
}
#history-outline .history-wrap .history-content .history-inner section .text .check.icon03 {
  background-image: url("../img/history-icon03.webp");
  background-position: right 3.7rem top 5.7rem;
}
#history-outline .history-wrap .history-content .history-inner section .text .check.icon04 {
  background-image: url("../img/history-icon04.webp");
  background-position: right 4.7rem top 0;
}
#history-outline .history-wrap .history-content .history-inner section .text .check.icon05 {
  background-image: url("../img/history-icon05.webp");
  background-position: right 4.7rem top 3.7rem;
}
#history-outline .history-wrap .history-content .history-inner section .text .check.icon06 {
  background-image: url("../img/history-icon06.webp");
  background-position: right 4.7rem top 2.7rem;
}
#history-outline .history-wrap .history-content .history-inner section .text .check.icon07 {
  background-image: url("../img/history-icon07.webp");
  background-position: right 6.7rem top 3.7rem;
}
#history-outline .history-wrap .history-content .history-inner section .text .check.icon08 {
  background-image: url("../img/history-icon08.webp");
  background-position: right 5.7rem top 2.7rem;
}
#history-outline .history-wrap .history-content .history-inner section .text .check.icon09 {
  background-image: url("../img/history-icon09.webp");
  background-position: right 5.7rem top 3.7rem;
}
#history-outline .history-wrap .history-content .history-inner section .text .check.icon10 {
  background-image: url("../img/history-icon10.webp");
  background-position: right 4.7rem top 3.7rem;
}
#history-outline .history-wrap .history-content .history-inner section .text .check.icon11 {
  background-image: url("../img/history-icon11.webp");
  background-position: right 4.7rem top 3.7rem;
}
#history-outline .history-wrap .history-content .history-inner section .text .check.icon12 {
  background-image: url("../img/history-icon12.webp");
  background-position: right 3.7rem top 5.7rem;
}
/* #history-outline .history-wrap:before {
  width: 2px;
  background: #13358e;
  content: "";
  height: 100%;
  position: absolute;
  left: 12.2rem;
  top: 19rem;
} */
@media (max-width: 959px) {
  #history-outline {
    gap: 4rem;
  }
  #history-outline .menu {
    width: 19rem;
    padding: 0;
  }
  #history-outline .history-wrap .history-content .history-inner h2 {
    font-size: 3.4rem;
    margin: 0 0 4rem;
    padding: 0 0 0 12rem;
    line-height: 1.5;
  }
  #history-outline .history-wrap .history-content .history-inner h2 span {
    font-size: 1.4rem;
    min-width: auto;
    margin: 0 0 2rem;
  }
  #history-outline .history-wrap .history-content .history-inner section h3 {
    font-size: 3rem;
    min-width: 7.6rem;
  }
  #history-outline .history-wrap .history-content .history-inner section h3:after {
    width: 1rem;
    height: 1rem;
    right: -2.2rem;
  }
  #history-outline .history-wrap .history-content .history-inner section .text {
    padding: .2rem 0 0 5rem;
  }
  #history-outline .history-wrap .history-content .history-inner section .text::before {
    left: 1.6rem;
  }
  #history-outline .history-wrap .history-content .history-inner section .text .img-list {
    flex-wrap: wrap;
  }
  #history-outline .history-wrap .history-content .history-inner section .text .check {
    padding: 3rem;
  }
  #history-outline .history-wrap .history-content .history-inner section .text .check dl {
    flex-wrap: wrap;
    gap: 0.8rem;
  }
  #history-outline .history-wrap .history-content .history-inner section .text .check dl dt {
    width: 100%;
    text-align: center;
    font-size: 2.4rem;
    margin: 0 0 1rem;
  }
  #history-outline .history-wrap .history-content .history-inner section .text .check dl dd {
    font-size: 2.4rem;
    line-height: 1.6;
  }
  /* #history-outline .history-wrap:before {
    left: 9.2rem;
    top: 15rem;
  } */
}
@media (max-width: 559px) {
  #history-message.contentBox01 .container .title-common03.center {
    text-align: center;
  }
  #history-outline {
    flex-wrap: wrap;
    padding: 0;
  }
  #history-outline .menu {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 3vw;
    padding: 5vw;
    width: 100%;
    z-index: 1;
    background: rgba(255, 255, 255, 0.9);
    top: 6rem;
  }
  #history-outline .menu a {
    box-sizing: border-box;
    border: none;
    padding: 0;
    width: auto;
  }
  #history-outline .menu a dl dt {
    font-size: 3vw;
  }
  #history-outline .menu a dl dd {
    font-size: 4vw;
    display: none;
  }
  #history-outline .menu a.active dl dt, #history-outline .menu a.active dl dd {
    font-weight: 700;
  }
  #history-outline .history-wrap .history-content .history-inner h2 {
    font-size: 7vw;
    margin: 0 0 7vw 0;
    padding: 0 0 0 19vw;
  }
  #history-outline .history-wrap .history-content .history-inner h2 span {
    font-size: 3vw;
    line-height: .4;
    margin: 0 0 3vw;
  }
  #history-outline .history-wrap .history-content .history-inner section {
    padding: 0 0 0;
  }
  #history-outline .history-wrap .history-content .history-inner section h3 {
    font-size: 6vw;
    min-width: 18vw;
  }
  #history-outline .history-wrap .history-content .history-inner section h3 span {
    font-size: 2vw;
  }
  #history-outline .history-wrap .history-content .history-inner section h3:after {
    top: 2vw;
  }
  #history-outline .history-wrap .history-content .history-inner section .text {
    padding: 1vw 5vw 2rem 11vw;
  }
  #history-outline .history-wrap .history-content .history-inner section .text::before {
    bottom: -30%;
    top: 0rem;
  }
  #history-outline .history-wrap .history-content .history-inner section .text h4 {
    font-size: 4vw;
    margin: 0 0 3vw;
  }
  #history-outline .history-wrap .history-content .history-inner section .text p {
    font-size: 1.3rem;
    line-height: 1.8;
  }
  #history-outline .history-wrap .history-content .history-inner section .text .img-list li span {
    font-size: 1.2rem;
  }
  #history-outline .history-wrap .history-content .history-inner section .text .check {
    padding: 2rem;
  }
  #history-outline .history-wrap .history-content .history-inner section .text .check dl dt {
    font-size: 1.8rem;
  }
  #history-outline .history-wrap .history-content .history-inner section .text .check dl dd {
    font-size: 1.8rem;
  }
  /* #history-outline .history-wrap:before {
    left: 22.5vw;
    top: 33vw;
  } */
}
@media (max-width: 410px) {
  #history-outline .history-wrap .history-content .history-inner section:first-of-type .text::before {
    top: 1rem;
  }
}

#equipment-main .container .table-common01 {
  margin: 3rem 0 0;
  width: 100% !important;
}
#equipment-main .container .table-common01 thead tr th:nth-of-type(1) {
  width: 80%;
}
#equipment-main .container .table-common01 thead tr th:nth-of-type(2) {
  width: 20%;
}
#equipment-main .container .table-common01 tbody tr td .ac-menu {
  position: relative;
  cursor: pointer;
}
#equipment-main .container .table-common01 tbody tr td .ac-menu:hover {
  text-decoration: underline;
}
#equipment-main .container .table-common01 tbody tr td .ac-menu:after {
  width: 2.8rem;
  height: 2.8rem;
  background: #00759b;
  content: "expand_more";
  font-family: "Material Icons";
  color: #fff;
  font-size: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  position: absolute;
  right: -3rem;
  top: .4rem;
  padding: .2rem 0 0 .2rem;
  box-sizing: border-box;
  transition: .3s;
}
#equipment-main .container .table-common01 tbody tr td .ac-menu.active:after {
  transform: rotateZ(-180deg);
}
#equipment-main .container .table-common01 tbody tr td .ac-menu + ul {
  display: none;
  margin: 1rem 0 0;
}
#equipment-main .container .table-common01 tbody tr td .ac-menu + ul li {
  width: 48%;
  display: inline-block;
  margin-right: 1%;
}
#equipment-main .container .table-common01 tbody tr td:nth-of-type(1) {
  text-align: left;
  padding-right: 5rem;
}

#sustainability01 ul:last-of-type {
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin: 5rem 0 0;
}

#sustainability02 .box11 h2 {
  margin-top: 7rem;
}
#sustainability02 .box11 h2:first-of-type {
  margin-top: 0;
}

#sustainability03 .wrap-s {
  display: flex;
  justify-content: space-between;
  column-gap: 5rem;
  margin: 5rem 0 7rem;
}
#sustainability03 .wrap-s p {
  flex: 1;
}
#sustainability03 .wrap-s ul {
  display: flex;
  justify-content: flex-end;
  column-gap: 1rem;
}
@media (max-width: 959px) {
  #sustainability03 .wrap-s ul {
    flex-direction: column;
  }
}
@media (max-width: 959px) {
  #sustainability03 .wrap-s {
    flex-direction: column;
  }
  #sustainability03 .wrap-s p {
    margin: 0 0 1rem;
  }
  #sustainability03 .wrap-s ul li {
    text-align: center;
  }
  #sustainability03 .wrap-s ul li img {
    width: 60vw;
  }
}

#komosistamaterial-products .container ul {
  display: flex;
  justify-content: center;
  gap: 2rem;
}
@media (max-width: 559px) {
  #komosistamaterial-products .container ul {
    gap: 1rem;
  }
}

#komosistamaterial-access .container .box15 {
  align-items: center;
}
#komosistamaterial-access .container iframe {
  width: 49rem;
  height: 35rem;
}
@media (max-width: 559px) {
  #komosistamaterial-access .container iframe {
    width: 100%;
    height: 28rem;
  }
}

#story {
  background: url("../img/story-bg01@2x.webp") no-repeat center top/100% auto, url("../img/story-bg02.webp") no-repeat right top 180rem;
  background-color: #030e2b;
}
#story #story-mv {
  display: flex;
  justify-content: space-between;
  padding: 13rem 0 0;
}
#story #story-mv .img {
  order: 2;
}
#story #story-mv .text {
  order: 1;
  padding: 12rem 0 0 8rem;
}
#story #story-mv .text h1 {
  margin: 0 0 4rem;
}
#story #story01 {
  padding: 10rem 0;
  display: flex;
  justify-content: space-between;
  gap: 10rem;
  align-items: center;
}
#story #story01 .text {
  flex: 1;
  padding: 0 8rem 0 0;
}
#story #story01 .text h3, #story #story01 .text p {
  color: #fff;
}
#story #story01 .text h3 {
  font-size: 4rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
  margin: 0 0 4rem;
  line-height: 1.8;
}
#story #story02 {
  text-align: center;
  margin: 0 0 10rem;
}
#story #story02 h3, #story #story02 p {
  color: #fff;
}
#story #story02 h3 {
  font-size: 4rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
  margin: 0 0 4rem;
  line-height: 1.8;
}
#story #story02 p {
  margin: 0 0 2rem;
}
#story #story03 {
  padding: 2rem 0 6rem;
}
#story #story03 h3 {
  font-size: 4rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
  margin: 0 0 4rem;
  line-height: 1.8;
  text-align: center;
  color: #fff;
}
#story #story03 .wrap {
  display: flex;
  justify-content: space-between;
  gap: 5rem;
}
#story #story03 .wrap .img {
  order: 2;
}
#story #story03 .wrap .text {
  padding: 0 0 0 8rem;
  flex: 1;
}
#story #story03 .wrap .text p {
  color: #fff;
  margin: 0 0 2rem;
}
#story #story04 {
  background: url("../img/story-bg03@2x.webp") no-repeat center top/192rem auto;
  display: flex;
  justify-content: space-between;
  padding: 24rem 10rem 15rem;
  gap: 14rem;
}
#story #story04 h3 {
  order: 2;
  color: #fff;
  font-size: 5.2rem;
  font-weight: normal;
  writing-mode: vertical-rl;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 1.6;
}
#story #story04 .wrap {
  order: 1;
  flex: 1;
  position: relative;
}
#story #story04 .wrap dl {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 3rem;
  padding: 0 0 7rem;
  position: relative;
  z-index: 1;
}
#story #story04 .wrap dl dt {
  background: #fff;
  border-radius: 10rem;
  font-weight: 700;
  min-width: 17rem;
  text-align: center;
  padding: 0 0 .2rem;
  z-index: 1;
}
#story #story04 .wrap dl dd {
  color: #fff;
}
#story #story04 .wrap dl:before {
  width: .3rem;
  height: 100%;
  background: #fff;
  position: absolute;
  left: 8rem;
  transform: translateX(0rem);
  top: 0;
  content: "";
  z-index: 0;
}
#story #story04 .wrap dl:last-child::before {
  content: none;
}
#story #story05 {
  background: url("../img/story-bg04-1.webp") no-repeat center top/192rem auto;
  margin-top: -12rem;
  position: relative;
  padding: 20rem 0 0;
}
#story #story05 .wrap {
  background: #132d70 url("../img/story-bg04.webp") no-repeat center top;
  padding: 19rem 0 14rem;
}
#story #story05 .wrap h3 {
  font-size: 4.4rem;
  font-weight: normal;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #fff;
  text-align: center;
  line-height: 1.8;
  margin: 0 0 5rem;
}
#story #story05 .wrap h3 span {
  font-size: 2rem;
  display: block;
  margin: 0 0 3rem;
}
#story #story05 .wrap p {
  text-align: center;
  margin: 0 0 3rem;
  color: #fff;
}
#story #story05 .wrap p.img {
  margin: 12rem 0 0;
}
#story #story05 .wrap .list-common02 {
  width: 80%;
  margin: auto;
}
#story #story05 .wrap .list-common02 dl {
  color: #fff;
  border-bottom: 1px solid #fff;
}
#story #story05 .wrap .list-common02 dl dt {
  width: 30%;
}



@media (max-width: 959px) {
  #story #story-mv .text {
    padding: 9vw 0 0 5vw;
  }
  #story #story01 {
    flex-direction: column;
    padding: 7rem 0;
    gap: 7rem;
  }
  #story #story01 .img {
    order: 2;
  }
  #story #story01 .img img {
    width: 54vw;
  }
  #story #story01 .text {
    order: 1;
    padding: 0 5vw;
  }
  #story #story02 {
    margin: 0 0 8rem;
    padding: 0 5vw;
  }
  #story #story03 .wrap {
    flex-direction: column;
  }
  #story #story03 .wrap .text {
    padding: 0 5vw;
  }
  #story #story04 {
    gap: 2rem;
    padding: 21vw 5vw 5vw;
  }
  #story #story05 {
    margin-top: -3rem;
    padding: 8rem 0 0;
  }
  #story #story05 .wrap {
    background-size: 60vw auto;
    padding: 14rem 5vw 11rem;
  }
}
@media (max-width: 559px) {
  #story #story-mv .img {
    position: absolute;
    right: 0;
    width: 62vw;
    top: 21vw;
  }
  #story #story-mv .text {
    padding: 0 0 0 5vw;
    position: relative;
    z-index: 1;
  }
  #story #story-mv .text h1 {
    width: 59vw;
    margin: 0 0 2vw;
    background: rgba(0, 0, 0, 0.7);
    padding: 5vw;
    margin-left: -5vw;
  }
  #story #story-mv .text h2 {
    width: 51vw;
    background: rgba(0, 0, 0, 0.7);
    padding: 2vw 5vw;
    margin-left: -5vw;
  }
  #story #story01 .text h3 {
    font-size: 2.2rem;
    margin: 0 0 2rem;
  }
  #story #story02 h3 {
    font-size: 2.2rem;
    margin: 0 0 2rem;
  }
  #story #story02 p {
    text-align: left;
  }
  #story #story03 h3 {
    font-size: 2.2rem;
    margin: 0 0 2rem;
    padding: 0 5vw;
    text-align: left;
  }
  #story #story04 {
    flex-direction: column;
    padding: 36vw 5vw 5vw;
  }
  #story #story04 h3 {
    order: 1;
    writing-mode: unset;
    font-size: 2.2rem;
    margin: 0 0 2rem;
    text-align: center;
  }
  #story #story04 .wrap {
    order: 2;
  }
  #story #story04 .wrap dl {
    padding: 0 0 3rem;
  }
  #story #story04 .wrap dl dt {
    min-width: 22vw;
    font-size: 3.4vw;
    padding: 0 0 .6vw;
  }
   #story #story04 .wrap dl:before {
    left: 8vw;
    transform: translateX(2vw);
   }
  #story #story05 {
    padding: 8vw 0 0;
    background-size: 120vw auto;
    margin-top: -4vw;
  }
  #story #story05 .wrap {
    background-size: 83vw auto;
    padding: 9rem 5vw 10rem;
    background-position: center top 8vw;
  }
  #story #story05 .wrap h3 {
    font-size: 2.2rem;
    margin: 0 0 2rem;
  }
  #story #story05 .wrap h3 span {
    font-size: 1.6rem;
    margin: 0 0 2rem;
  }
  #story #story05 .wrap p {
    text-align: left;
  }
  #story #story05 .wrap p.img {
    margin: 4rem 0 0;
  }
  #story #story05 .wrap .list-common02 {
    width: 90%;
  }
  #story #story05 .wrap .list-common02 dl dt {
    width: 100%;
    background: #00759b;
  }
}

#contact-form .container .list-common03 {
  padding: 0 5rem;
}
#contact-form .container .list-common03 dl {
  gap: 5rem;
}
#contact-form .container .list-common03 dl dt {
  position: relative;
}
@media (max-width: 559px) {
  #contact-form .container .list-common03 {
    padding: 0;
  }
  #contact-form .container .list-common03 dl {
    gap: 0;
  }
}

#news {
  padding: 12rem 0;
}
#news .container .wrap {
  display: flex;
  justify-content: space-between;
  gap: 6rem;
}
#news .container .wrap main {
  flex: 1;
}
#news .container .wrap aside {
  width: 26rem;
}
#news .container .wrap aside .title {
  background: #13358e;
  color: #fff;
  font-weight: 700;
  padding: .5rem 2rem;
  margin: 0 0 1rem;
}
#news .container .wrap aside ul li a {
  display: block;
  border-bottom: 1px solid #ddd;
  padding: 1rem 0;
}
#news .container .wrap aside ul li a:hover {
  text-decoration: underline;
}
@media (max-width: 959px) {
  #news .container .wrap main .list-news li a:after {
    display: none;
  }
  #news .container .wrap aside {
    width: 18rem;
  }
}
@media (max-width: 559px) {
  #news {
    padding: 6rem 0;
  }
  #news .container h2 {
    display: none;
  }
  #news .container .wrap {
    flex-direction: column;
    gap: 2rem;
  }
  #news .container .wrap main {
    order: 1;
  }
  #news .container .wrap aside {
    order: 2;
    width: 100%;
  }
}

#news-single {
  padding: 12rem 0;
}
#news-single .box11 article time {
  display: block;
  margin: 0 0 2rem;
}
#news-single .box11 article h1 {
  font-size: 2.4rem;
  font-weight: 700;
  margin: 0 0 3rem;
}
#news-single .box11 article h2 {
  font-size: 2.4rem;
  border-left: 5px solid #13358e;
  border-bottom: 1px solid #13358e;
  padding: 1rem 0 2rem 2rem;
  font-family: "Noto Sans JP", YuGothic, "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "ＭＳ Ｐゴシック", sans-serif;
  background: none;
  text-align: left;
  color: #000;
  font-weight: 700;
  margin-top: 5rem;
}
#news-single .box11 article p {
  margin: 0 0 2rem;
}
@media (max-width: 559px) {
  #news-single {
    padding: 5rem 0;
  }
  #news-single .box11 article time {
    margin: 2rem 0;
  }
  #news-single .box11 article h1 {
    text-align: center;
    font-size: 2rem;
  }
  #news-single .box11 article h2 {
    font-size: 1.8rem;
    padding: .4rem 0 1rem 2rem;
  }
}
#quaity-main .box12 .wrap .img-box {
  order: 1;
}
#quaity-main .box11 ul.img {
  gap: 4rem;
}
#quaity-main .box11 ul li p {
  text-align: center;
  font-size: 1.5rem;
  color: #777;
}

@media (max-width: 959px) {
  #quaity-main .box12 .wrap .img-box {
    order: 0;
  }
}

