@charset "utf-8";

.visually-hidden {
  position: fixed !important;
  /* keep it on viewport */
  top: 0px !important;
  left: 0px !important;
  /* give it non-zero size, VoiceOver on Safari requires at least 2 pixels
     before allowing buttons to be activated. */
  width: 4px !important;
  height: 4px !important;
  /* visually hide it with overflow and opacity */
  opacity: 0 !important;
  overflow: hidden !important;
  /* remove any margin or padding */
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  /* ensure no other style sets display to none */
  display: block !important;
  visibility: visible !important;
}

html.open {
  overflow: hidden;
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

.container-new {
  padding: 0 10px;
  max-width: 100%;
}

.hedr_btm .container-new {
  padding: 0;
}

.links {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
}


@media only screen and (min-width: 576px) {
  .container-new {
    max-width: 556px;
    padding: 0;
    margin: 0 auto;
  }
}

@media only screen and (min-width: 768px) {
  .container-new {
    max-width: 728px;
  }
}

@media only screen and (min-width: 992px) {
  .container-new {
    max-width: 952px;
  }
}

@media only screen and (min-width: 1200px) {
  .container-new {
    max-width: 1160px;
  }
}

a {
  text-decoration: none;
}

.clr-org {
  color: #fea000;
}

.wrpr {
  max-width: 990px;
  margin: 0 auto;
  padding: 0 15px;
}

@media only screen and (min-width: 992px) {
  .wrpr {
    padding: 0;
  }
}

@media only screen and (min-width: 992px) {
  .sp-only-992 {
    display: none;
  }
}

.pc-only-992 {
  display: none;
}

@media only screen and (min-width: 992px) {
  .pc-only-992 {
    display: block;
  }
}

@media only screen and (min-width: 768px) {
  .sp-only {
    display: none;
  }
}

.sp-only-1200 {
  text-align: center;
}

@media only screen and (min-width: 1200px) {
  .sp-only-1200 {
    display: none;
  }
}

.pc-only {
  display: none;
}

@media only screen and (min-width: 768px) {
  .pc-only {
    display: block;
  }
}

.pc-only-1200 {
  display: none;
}

@media only screen and (min-width: 1200px) {
  .pc-only-1200 {
    display: block;
  }
}


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

  49% {
    background-size: 0% 2px;
    background-position: right 0 bottom 0;
  }

  50% {
    background-size: 0% 2px;
    background-position: left 0 bottom 0;
  }

  100% {
    background-size: 100% 2px;
    background-position: left 0 bottom 0;
  }
}

.hedr .ham-menu .fixed-nav-btn.buttons {
  width: 40px;
}

.hedr .ham-menu .sub-burger-icon {
  right: 20px;
  padding-top: 0;
  height: auto;
  background-color: transparent;
  z-index: 203;
}

@media only screen and (min-width: 768px) {
  .hedr-wrpr.scrolled {
    max-width: 728px;
    width: 100%;
  }

  .hedr .ham-menu .fixed-nav-btn.scrolled .buttons {
    right: calc(50% - 364px);
    top: 15px;
  }
}

@media only screen and (min-width: 992px) {
  .hedr-wrpr.scrolled {
    max-width: 952px;
  }

  .hedr .ham-menu .fixed-nav-btn.scrolled .buttons {
    right: calc(50% - 476px);
  }
}

@media only screen and (min-width: 1200px) {
  .hedr-wrpr.scrolled {
    max-width: 1160px;
  }

  .hedr .ham-menu .fixed-nav-btn.scrolled .buttons {
    right: calc(50% - 580px);
  }
}


@media only screen and (min-width: 768px) {
  .hedr .ham-menu .sub-burger-icon {
    /* right: 0; */
  }

  .hedr-wrpr.scrolled .hedr-txt-box.-right {
    /* padding-right: 95px; */
  }
}

.hedr .ham-menu .sub-burger-icon.open {
  background-color: transparent;
}

.hedr .ham-menu .fixed-nav-btn .sub-burger-icon span:nth-child(2) {
  margin-left: 10px;
}

.hedr .ham-menu .fixed-nav-btn .sub-burger-icon.open span:nth-child(2) {
  margin-left: 0px;
}

.hedr .ham-menu .fixed-nav-btn .buttons {
  position: absolute;
  top: -38px;
  width: auto;
  height: auto;
  right: 0px;
}

.sub-burger-icon.hedr-txt-box .underline:first-of-type {
  margin-right: 0;
}

.sub-burger-icon.hedr-txt-box {
  padding-right: 0;
}

@media only screen and (min-width: 768px) {
  .hedr .ham-menu .fixed-nav-btn .buttons {
    top: -35px;
  }
}

@media only screen and (min-width: 768px) {
  .hedr-wrpr.scrolled {
    position: fixed;
    top: 25px;
  }
}

@media only screen and (min-width: 992px) {
  .hedr-wrpr.scrolled {
    top: 29px;
  }
}

.hedr .ham-menu .fixed-nav-btn .itms.open {
  width: 100%;
  max-width: 100%;
  padding-bottom: 0;
}

@media only screen and (max-width: 767px) {
  .hedr .ham-menu .fixed-nav-btn .itms.open {
    max-height: 100%;
  }
}

.hedr .nav {
  position: fixed;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s all 0.4s ease-in-out;
}

.hedr .nav.-opened {
  opacity: 1;
  transition: 0.5s all 0s ease-in-out;
}

.hedr .nav.-opened .nav-list-item,
.hedr .nav.-opened .nav-footer {
  visibility: visible;
  transform: translateX(0);
  opacity: 1;
  transition: 0.5s transform 0.25s ease-in-out, 0.5s opacity 0.4s ease-in-out;
}

.hedr .nav .container {
  height: 100%;
  overflow: auto;
  position: relative;
  padding-bottom: 65px;
}

@media only screen and (min-width: 992px) {
  .hedr .nav .container {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding-bottom: 0;
    overflow: visible;
  }
}

.hedr .nav-box {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-bottom: 0;
  padding-top: 0;
  position: relative;
  z-index: 202;
}

@media only screen and (min-width: 768px) {
  .hedr .nav-box {
    margin-bottom: 40px;
    margin-top: -60px;
  }
}

@media only screen and (min-width: 992px) {
  .hedr .nav-box {
    margin-bottom: -50px;
    max-width: 1150px;
    margin: 0 auto;
  }
}

@media only screen and (min-width: 1200px) {
  .hedr .nav-box {
    margin-top: 0;
  }
}

.hedr .nav-row {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  max-width: 360px;
  margin: 0 auto;
  padding-left: 15px;
}

@media only screen and (min-width: 768px) {
  .hedr .nav-row {
    max-width: 83%;
  }
}

@media only screen and (min-width: 992px) {
  .hedr .nav-row {
    display: flex;
    max-width: 100%;
    justify-content: space-between;
    margin: 0 -20px;
    flex-wrap: nowrap;
    width: 100%;
    padding-left: 0;
  }
}

.hedr .nav-col {
  position: relative;
  width: 50%;
}

@media only screen and (min-width: 992px) {
  .hedr .nav-col {
    padding: 0 10px;
  }
}

@media only screen and (min-width: 1200px) {
  .hedr .nav-col {
    padding: 0 5px;
    width: 100%;
  }
}

.hedr .nav-list {
  margin-bottom: 20px;
  padding: 0;
}

@media only screen and (min-width: 992px) {
  .hedr .nav-list {
    margin-bottom: 55px;
  }
}

.hedr .nav-list-item {
  margin-bottom: 0px;
  opacity: 1;
  transition: 0.5s all ease-in-out;
  padding: 0 !important;
}

@media only screen and (min-width: 576px) {
  .hedr .nav-list-item {
    margin-bottom: 5px;
  }
}

@media only screen and (min-width: 992px) {
  .hedr .nav-list-item {
    margin-bottom: 20px;
  }

  .hedr .nav-list-item:first-child {
    margin-bottom: 30px;
  }
}

.fixed-nav-btn .menu-items .nav-title-main {
  color: #fff;
  text-decoration: none;
}

.hedr .nav-title {
  color: #000000;
  white-space: nowrap;
  margin-bottom: 10px;
}

.hedr .nav-title-main {
  position: relative;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  display: block;
}

.hedr .nav-title-main:after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #000000;
  transition: transform 0.5s ease-in-out;
  transform: scaleX(0);
  transform-origin: right;
}

.hedr .nav-title-sub {
  position: relative;
  font-size: 1.2rem;
  letter-spacing: 0.06em;
  font-weight: 900;
  color: #acacac;
}

.hedr .nav-title-sub:after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #000000;
  transition: transform 0.5s ease-in-out;
  transform: scaleX(0);
  transform-origin: right;
}

.hedr .nav-title-bold {
  font-size: 1.4rem;
  font-weight: 900;
  padding-bottom: 10px;
  display: block;
}

.hedr .nav-title-bold:hover {
  opacity: 0.7;
}

@media only screen and (max-width: 575px) {
  .hedr-lft {
    position: relative;
    /* z-index: 99; */
  }
}

@media only screen and (min-width: 768px) {
  .hedr .nav-title-bold {
    padding-bottom: 0;
  }
}

@media only screen and (min-width: 992px) {
  .hedr .nav-title-main {
    line-height: 1.5;
  }

  .hedr .nav-title-bold {
    font-size: 1.8rem;
  }
}

.hedr .menu-items .open {
  top: -19px;
}

.hedr .menu-items {
  top: -13px;
}

.hedr {
  /* z-index: 300; */
  position: relative;
}

.hedr-btn.fixed-nav-btn .menu-items {
  background-color: transparent;
}

@media only screen and (max-width: 991px) {
  .scrolled .hedr-btn.fixed-nav-btn .menu-items {
    top: 35px;
  }
}

@media only screen and (max-width: 767px) {
  .scrolled .hedr-btn.fixed-nav-btn .menu-items {
    top: 0;
  }
}

@media only screen and (max-width: 767px) {
  .hedr-btn.fixed-nav-btn .menu-items {
    padding-bottom: 0;
    top: 0;
    bottom: 0;
    padding-top: 0;
    /* height: auto; */
  }

  .nav-wrap {
    position: absolute;
    inset: 0;
    top: 180px;
    bottom: 50px;
    overflow: auto;
  }

  .scrolled .nav-wrap {
    top: 35px;
  }
}

@media only screen and (min-width: 768px) {
  .hedr-btn.fixed-nav-btn .menu-items {
    padding-top: 95px;
  }

  .hedr .fixed-nav-btn .menu-items {
    height: 68vh;
  }
}

@media only screen and (min-width: 992px) {
  .hedr-btn.fixed-nav-btn .menu-items {
    padding-top: 95px;
    height: 100vh;
  }
}

@media only screen and (min-width: 1200px) {
  .hedr-btn.fixed-nav-btn .menu-items {
    padding-top: 160px;
  }
}

.hedr-btn.fixed-nav-btn .menu-items:before {
  content: "";
  position: fixed;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 201;
  width: 0;
  height: 100vh;
  right: 0;
  top: 0;
  transition: width 0.5s;
}

.hedr-btn.fixed-nav-btn .menu-items.open::before {
  width: 100vw;
  transition: width 0.5s;
}

.hedr .container-new {
  position: relative;
}

@media only screen and (min-width: 576px) {
  .hedr .container-new {
    max-width: 100%;
    padding: 0 20px;
    margin: 0 auto;
  }
}

@media only screen and (min-width: 768px) {
  .hedr .container-new {
    max-width: 728px;
    padding: 0;
  }
}

@media only screen and (min-width: 992px) {
  .hedr .container-new {
    max-width: 952px;
  }
}

@media only screen and (min-width: 1200px) {
  .hedr .container-new {
    max-width: 1160px;
  }
}

.hedr #pagepath ul {
  padding: 6px 0;
}

.hedr #pagepath {
  top: -40px;
}

@media only screen and (min-width: 768px) {
  .hedr #pagepath {
    top: 8px;
    position: inherit;
    padding-left: 20px;
  }
}

.hedr-wrpr {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  position: initial;
  z-index: 99;
  background-color: #fff;
}

/* .hedr-wrpr.scrolled {
  border: 2px solid #000;
} */


.hedr-wrpr .hedr-lft,
.hedr-wrpr .hedr-rgt {
  background-color: #fff;
}

@media only screen and (min-width: 576px) {
  .hedr-wrpr {
    flex-direction: row;
  }
}

@media only screen and (max-width: 575px) {
  .hedr-wrpr .hedr-lft {
    max-width: 86%;
  }

  .hedr-wrpr .hedr-lft .hedr-txt-box {
    padding-right: 0;
  }
}

@media only screen and (max-width: 991px) {
  .hedr-wrpr.scrolled {
    padding-bottom: 5px;
  }
}

@media only screen and (max-width: 767px) {
  .hedr-wrpr .hedr-rgt {
    padding-bottom: 20px;
  }

  .hedr-wrpr.scrolled .hedr-rgt {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #fff;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

.hedr-wrpr.open .underline {
  color: #fff;
  z-index: 321;
  background-image: linear-gradient(#fff, #fff);
}

.hedr-wrpr.open .info,
.hedr-wrpr.open .rec {
  color: #fff;
  z-index: 321;
  transition: 0.6s ease;
}

.hedr-txt-box {
  display: flex;
  align-items: center;
  padding-right: 20px;
}

@media only screen and (max-width: 767px) {
  .hedr-txt-box {
    padding-left: 10px;
  }
}

.hedr-txt-box .info {
  font-size: 1.4rem;
  font-weight: 700;
  color: #000000;
  letter-spacing: 0.04em;
}

@media only screen and (min-width: 576px) {
  .hedr-txt-box .info {
    font-size: 1.6rem;
  }
}

.hedr-txt-box .rec {
  font-size: 1.2rem;
  letter-spacing: 0.04em;
  font-weight: 500;
  color: #000000;
  padding-left: 10px;
  font-family: "Noto Sans JP", sans-serif;
}

.hedr-txt-box .underline {
  font-size: 1.4rem;
  font-weight: bold;
  color: #000000;
  position: relative;
  text-decoration: none;

  background-position: right 100% bottom 0;
  background-image: linear-gradient(#000, #000);
  background-repeat: no-repeat;
  background-size: 100% 2px;
  padding-bottom: 5px;
}

@media only screen and (min-width: 768px) {
  .hedr-txt-box .underline {
    padding-bottom: 4px;
  }
}

.hedr-txt-box .underline {
  margin-right: 15px;
}

.hedr-txt-box .underline:hover {
  transition: 0.25s ease all;
  animation: underline_animation 0.8s both;
}

.hedr-txt-box.-left {
  height: 45px;
  text-decoration: none;
  padding-left: 20px;
}

.hedr-wrpr.open .hedr-txt-box.-left:hover {
  opacity: 1;
}

.hedr-txt-box.-left:hover {
  opacity: 0.7;
}

@media only screen and (min-width: 768px) {
  .hedr-txt-box.-left.pl {
    padding-left: 20px;
  }
}

@media only screen and (min-width: 1200px) {
  .hedr-txt-box.-left.pl {
    padding-left: 28px;
  }
}

@media only screen and (min-width: 576px) {
  .hedr-txt-box.-left {
    height: 55px;
  }
}

.sub-burger-icon.hedr-burger .underline {
  margin-right: 0;
  cursor: pointer;
}

.hedr-txt-box.-right {
  /* padding-right: 0; */
  padding-left: 20px;
  height: 50px;
}

@media only screen and (min-width: 576px) {
  .hedr-txt-box.-right {
    height: 55px;
  }
}

@media only screen and (max-width: 767px) {
  .hedr-txt-box.-right {
    display: flex;
    justify-content: space-between;
  }
}

@media only screen and (max-width: 991px) {
  .links {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
  }
}

#mainbody.maintop {
  top: 0;
  margin-bottom: 0;
}

#mainbody .mainvisual {
  height: 250px;
}

#mainbody .mainvisual .top-ttl {
  top: 95px;
}

.top .taglist {
  top: 50%;
  transform: translateY(-50%);
}

.herotop {
  margin-top: -55px;
  position: relative;
  z-index: 1;
}

@media only screen and (min-width: 992px) {
  .herotop {
    margin-top: -40px;
  }
}

.herowrap {
  position: relative;
}

.herowrap .concept-btn {
  background-color: #32b4dc;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  font-family: "Noto Sans JP", sans-serif;
  max-width: 292px;
  width: 100%;
  height: 55px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  margin-left: auto;
  z-index: 2;
  position: absolute;
  top: 445px;
  right: 25px;
}

@media only screen and (min-width: 576px) {
  .herowrap .concept-btn {
    top: 305px;
    right: 0;
    max-width: 205px;
  }
}

@media only screen and (min-width: 768px) {
  .herowrap .concept-btn {
    top: 420px;
  }
}

@media only screen and (min-width: 992px) {
  .herowrap .concept-btn {
    top: 490px;
    margin-top: -60px;
  }
}

.herowrap .concept-btn:hover {
  opacity: 0.8;
  transition: 0.3s all ease;
}

@media only screen and (max-width: 575px) {
  .herowrap .concept-btn.pc-only {
    /* display: none; */
  }
}

.herotop_img {
  max-width: 90%;
  margin-left: 70px;
  position: relative;
}

.herotop_img .herovideo {
  max-width: 100%;
  height: 545px;
}

@media only screen and (max-width: 767px) {
  .herotop_img .herovideo {
    height: 405px;
  }
}

@media only screen and (min-width: 576px) {
  .herotop_img {
    max-width: calc(100% - 65px);
    margin-left: auto;
  }
}

@media only screen and (min-width: 992px) {
  .herotop_img {
    max-width: calc(100% - 192px);
  }
}

.herotop_img img {
  width: 100%;
}

.herotop_img.hide-hero {
  display: none;
}

.herotop_detail {
  margin-top: 185px;
  margin-left: -20px;
  padding-right: 10px;
}

@media only screen and (min-width: 576px) {
  .herotop_detail {
    margin-top: 50px;
  }
}

@media only screen and (min-width: 992px) {
  .herotop_detail {
    margin-top: 0;
    margin-left: 0;
    position: absolute;
    top: 80px;
    right: 70px;
    padding-right: 0;
    max-width: 400px;
    width: 100%;
    /* color: #000; */
    /* mix-blend-mode: difference; */
  }
}

@media only screen and (min-width: 1200px) {
  .herotop_detail {
    top: 115px;
    right: 70px;
    max-width: 480px;
  }
}

.herotop_desc {
  font-size: 12px;
  font-weight: 500;
  color: #000;
  line-height: 2.3;
  font-family: "Noto Sans JP", sans-serif;
  padding-top: 26px;
}

/* @media only screen and (min-width: 992px) {
  .herotop_desc {
    color: #fff;
  }
} */

.herotop_desc:first-child {
  padding-top: 0;
}

.herotop_imgtxt {
  position: absolute;
  left: -23px;
  top: 150px;
  max-width: 300px;
  width: 100%;
  pointer-events: none;
}

@media only screen and (min-width: 576px) {
  .herotop_imgtxt {
    top: 80px;
    max-width: 375px;
  }
}

@media only screen and (min-width: 768px) {
  .herotop_imgtxt {
    left: -35px;
    /* top: 80px; */
    max-width: 540px;
    width: 100%;
  }
}

@media only screen and (min-width: 992px) {
  .herotop_imgtxt {
    left: -152px;
    top: 120px;
  }
}

@media only screen and (min-width: 1200px) {
  .herotop_imgtxt {
    top: 132px;
  }
}

.taglist {
  position: fixed;
  top: 90px;
  background-color: #32b4dc;
  width: 37px;
  height: 255px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  z-index: 104;
}

@media only screen and (min-width: 768px) {
  .taglist {
    top: 130px;
  }
}

.taglist:hover {
  opacity: 0.8;
  transition: 0.3s all ease;
}

.taglist.active:hover {
  opacity: 1;
}

.taglist_desc {
  font-size: 14px;
  font-weight: 900;
  line-height: 1.9;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.04em;
  color: #fff;
  /* writing-mode: vertical-lr; */
  text-align: center;
  cursor: pointer;
  transform: rotate(90deg);
  transform-origin: top;
  white-space: nowrap;
  position: absolute;
  top: 50%;
}

.taglist:after,
.taglist:before {
  content: "";
  position: absolute;
  background: #fff;
}

.taglist:after {
  width: 18px;
  height: 2px;
  left: 8px;
  bottom: 20px;
  z-index: 106;
  cursor: pointer;
}

.taglist.active:after {
  left: 100px;
}

.taglist:before {
  width: 2px;
  height: 18px;
  left: 16px;
  bottom: 12px;
}

.taglist .box {
  width: 132px;
  height: 255px;
  background-color: #32b4dc;
  padding: 23px 20px;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  visibility: hidden;
  z-index: 105;
  transition: 0.3s opacity ease;
}

.taglist .box .ttl {
  font-size: 16px;
  font-weight: 900;
  color: #fff;
  padding-bottom: 20px;
  font-family: "Noto Sans JP";
}

.taglist .box .itm .lnk {
  font-size: 12px;
  font-weight: 900;
  line-height: 1.5;
  color: #000;
  background-color: #fff;
  padding: 1px 7px;
  display: inline-block;
  text-align: center;
  margin-bottom: 10px;
  border-radius: 7px;
  font-family: "Noto Sans JP";
  text-decoration: none;
  border: none;
}

.taglist .box .itm .lnk:hover {
  opacity: 0.6;
  transition: 0.3s opacity ease;
}

.taglist .box .itm .lnk.-reset {
  background-color: #000;
  color: #fff;
  /* margin-top: 10px; */
}

.taglist.active .taglist_desc:after {
  left: initial;
  right: -90px;
  bottom: 23px;
}

.taglist.active .box {
  opacity: 1;
  visibility: visible;
  transition: 0.3s opacity ease;
}

/* MODAL */
.modal-wrap {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 205;
  width: 100%;
  height: 100vh;
  /* display: none; */
  opacity: 0;
  visibility: hidden;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.7);
}

.modal-wrap.shown {
  display: flex;
  visibility: visible;
  opacity: 1;
  z-index: 1000;
}

.modal-panel {
  width: calc(100% - 40px);
  max-width: 1200px;
  position: relative;
}

.modal-frame {
  position: relative;
  width: 100%;
  /* padding-top: 56.25%; */
}

.modal-frame iframe {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.modal-close {
  font-size: 0;
  width: 30px;
  height: 30px;
  background: url(../images/top-renew/icon-close.png) no-repeat center center;
  position: absolute;
  right: 11px;
  top: -22px;
  transform: translate(15px, -15px);
  border: none;
  cursor: pointer;
}

@media only screen and (min-width: 768px) {
  .modal-close {
    right: 0;
    top: 0;
  }
}

.sgmocol {
  padding-top: 60px;
  margin: 0 auto;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
}

.sgmocol_wrapper {
  margin-left: 45px;
}

@media only screen and (min-width: 576px) {
  .sgmocol_wrapper {
    max-width: calc(100% - 65px);
    margin-left: auto;
  }
}

@media only screen and (min-width: 992px) {
  .sgmocol_wrapper {
    max-width: calc(100% - 192px);
  }
}

.sgmocol_gal {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: -10px;
  position: relative;
}

.sgmocol a:link {
  text-decoration: none;
}

.sgmocol .list {
  position: relative;
  display: inline-block;
  max-width: 100%;
  width: 100%;
  height: 164px;
}

@media only screen and (min-width: 576px) {
  .sgmocol .list {
    height: 250px;
  }
}

.sgmocol .list_image {
  height: 100%;
  background-position: center;
  background-size: cover;
}

/* .sgmocol .is-6.culture .list_image.-spimg {
  background-image: url(../images/top-renew/sgmocol/item5.jpg);
} */

/* @media only screen and (min-width: 576px) {
  .sgmocol .is-6.culture .list_image.-spimg {
    background-image: url(../images/top-renew/sgmocol/item5.jpg);
  }
} */

/* .sgmocol .is-3.culture .list_image.-spimg {
  background-image: url(../images/top-renew/sgmocol/item6.jpg);
} */

/* @media only screen and (min-width: 576px) {
  .sgmocol .is-3.culture .list_image.-spimg {
    background-image: url(../images/top-renew/sgmocol/item6.jpg);
  }
} */

.sgmocol .list:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 0%;
  opacity: 0;
  background-color: #fff;
  transition: all 400ms ease;
  z-index: -1;
}

.sgmocol .list:hover:after {
  width: 100%;
  height: 100%;
  opacity: 0.4;
  z-index: 1;
}

.sgmocol .list .detail {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #fff;
  max-width: 160px;
  width: 100%;
  height: 70px;
  padding-left: 20px;
}

.sgmocol .list .detail .cat {
  font-weight: 700;
}

@media only screen and (max-width: 576px) {
  .sgmocol .list .detail .cat {
    line-height: 1;
  }
}

@media only screen and (min-width: 576px) {
  .sgmocol .list .detail {
    height: 50px;
  }
}

@media only screen and (min-width: 768px) {
  .sgmocol .list .detail {
    max-width: 200px;
    height: 70px;
  }
}

.sgmocol .ttl {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.4rem;
  color: #000;
}

.sgmocol .ttl.-lnk {
  font-size: 1.6rem;
}

.sgmocol .last {
  max-width: 900px;
  display: flex;
  justify-content: flex-end;
}

@media only screen and (min-width: 992px) {
  .sgmocol .last {
    display: flex;
    max-width: 620px;
    justify-content: flex-end;
  }
}

@media only screen and (min-width: 1200px) {
  .sgmocol .last {
    max-width: 795px;
    justify-content: flex-end;
  }
}

.sgmocol .first {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

@media only screen and (min-width: 992px) {
  .sgmocol .first {
    flex-wrap: nowrap;
  }
}

.disability {
  margin-top: 80px;
}

@media only screen and (min-width: 576px) {
  .disability {
    margin-top: 100px;
  }
}

.disability .accordion-wrapper {
  background-color: #eeeeee;
  transition: all 0.25s ease;
}

.disability .accordion__heading {
  font-size: 14px;
  font-weight: 700;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2;
  position: relative;
  padding: 32px 30px;
  cursor: pointer;
  transition: 0.25s ease all;
}

.disability .accordion__heading:hover {
  opacity: 0.7;
  transition: 0.25s ease all;
}

@media only screen and (min-width: 768px) {
  .disability .accordion__heading {
    padding: 33px 60px;
  }
}

.disability .accordion__heading:after {
  position: absolute;
  content: "";
  background-image: url(../images/top-renew/plus.svg);
  right: 25px;
  height: 20px;
  width: 20px;
  top: 50%;
  transform: translateY(-50%);
}

@media only screen and (min-width: 768px) {
  .disability .accordion__heading:after {
    right: 60px;
  }
}

.disability .accordion-wrapper.open .accordion__heading:after {
  background-image: url(../images/top-renew/minus.svg);
  height: 2px;
  width: 18px;
}

.disability .accordion-wrapper.closed .accordion__content {
  /* max-height: 0;
  transition: all 0.25s ease;
  opacity: 0;
  overflow: hidden; */
  display: none;
}

.disability .accordion-wrapper.open .accordion__content {
  display: block;
  max-height: 1200px;
  opacity: 1;
  transition: all 0.25s ease;
}

.disability .accordion-wrapper.open .accordion__content {
  padding: 0 30px 25px;
}

.disability .accordion-wrapper .accordion__content {
  padding: 0 30px 0 30px;
  position: relative;
}

@media only screen and (min-width: 768px) {
  .disability .accordion-wrapper.open .accordion__content {
    padding: 0 60px 40px 60px;
  }

  .disability .accordion-wrapper .accordion__content {
    padding: 0 60px 0 60px;
  }
}

@media only screen and (min-width: 768px) {
  .disability .accordion-wrapper .accordion__content {
    padding: 0 60px;
  }
}

@media only screen and (min-width: 576px) {
  .disability .accordion-wrapper .accordion-close-icon {
    display: none;
  }
}

.disability .accordion-wrapper .accordion-close-icon {
  position: relative;
  margin-top: 15px;
  width: 100%;
  height: 2px;
  padding: 15px;
  cursor: pointer;
}

.disability .accordion-wrapper .accordion-close-icon:after {
  position: absolute;
  content: "";
  background-image: url(../images/top-renew/minus.svg);
  right: 0;
  height: 2px;
  width: 18px;
  top: 50%;
  transform: translateY(-50%);
}

.disability .accordion-wrapper .accordion-close-icon:hover {
  opacity: 0.8;
}

.disability .accordion__content .desc {
  font-size: 14px;
  color: #000;
  font-weight: 400;
  line-height: 1.7;
  padding-top: 25px;
  font-family: "Noto Sans JP", sans-serif;
  text-align: justify;
}

.disability .accordion__content .desc.-top {
  font-weight: 700;
  padding-top: 0;
}

.disability .accordion__content .note {
  padding-top: 25px;
}

.disability .accordion__content .note li {
  font-size: 14px;
  color: #000;
  font-weight: 400;
  line-height: 1.7;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  text-align: justify;
}

.disability .entry-links {
  display: flex;
  padding-top: 20px;
}

@media only screen and (max-width: 575px) {
  .disability .entry-links {
    flex-direction: column;
  }

  .disability .entry-links .itm:first-child {
    margin-bottom: 15px;
    max-width: 130px;
  }

  .disability .entry-links .itm:last-child {
    max-width: 145px;
  }
}

.disability .entry-links .itm {
  font-size: 16px;
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
  margin-right: 20px;
  position: relative;
  text-decoration: none;
  background-position: right 100% bottom 0;
  background-image: linear-gradient(#000, #000);
  background-repeat: no-repeat;
  background-size: 100% 2px;
  padding-bottom: 5px;
}

.disability .entry-links .itm:hover {
  transition: 0.25s ease all;
  animation: underline_animation 0.8s both;
}

.disability .entry-links .itm:first-child {}

.sgmo_lnks {
  display: flex;
  flex-direction: column;
  margin-top: 80px;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 55px;
}

@media only screen and (min-width: 576px) {
  .sgmo_lnks {
    flex-direction: row;
    margin-top: 100px;
  }
}

@media only screen and (min-width: 768px) {
  .sgmo_lnks {
    padding-bottom: 0;
  }
}

@media only screen and (min-width: 1200px) {
  .sgmo_lnks {
    flex-direction: row;
  }
}

.sgmo_lnks .ttl {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.4rem;
  color: #000;
}

.sgmo_lnks .ttl.-lnk {
  font-size: 1.6rem;
}

.sgmo_lnks .cat {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  color: #acacac;
  letter-spacing: 0.04em;
  font-weight: 700;
}

.sgmo_lnks .ttl,
.sgmo_lnks .cat {
  position: relative;
  max-width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.sgmo_lnks .ttl:after,
.sgmo_lnks .cat:after {
  content: "";
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 3px;
  bottom: 0;
  left: 0;
  background-color: #000;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
}

.sgmo_lnks .cat:after {
  background-color: #acacac;
  height: 1px;
}

.sgmo_lnks .grad:hover .ttl:after,
.sgmo_lnks .grad:hover .cat:after,
.sgmo_lnks .career:hover .ttl:after,
.sgmo_lnks .career:hover .cat:after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.grad {
  position: relative;
  height: 100px;
  margin-bottom: 10px;
  width: 100%;
  flex: 1;
}

.grad img {
  height: 100%;
}

@media only screen and (min-width: 576px) {
  .grad {
    margin-bottom: 0;
  }
}

@media only screen and (min-width: 768px) {
  .grad {
    padding-right: 2px;
    height: 140px;
  }
}

.grad .txt {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  top: 50%;
  white-space: nowrap;
}

.grad.-career {
  position: relative;
  padding-right: 0;
  margin-bottom: 0;
}

@media only screen and (min-width: 576px) {
  .grad.-career {
    padding-left: 2px;
  }
}

.is-1,
.is-2,
.is-3,
.is-4,
.is-5,
.is-6,
.is-7,
.is-8,
.is-9,
.is-10 {
  width: 100%;
}

@media only screen and (min-width: 576px) {
  .is-1 {
    width: calc(1 * (100% / 6));
  }
}

@media only screen and (min-width: 576px) {
  .is-2 {
    width: calc(2 * (100% / 6));
  }
}

@media only screen and (min-width: 576px) {
  .is-3 {
    width: calc(3 * (100% / 6));
  }
}

@media only screen and (min-width: 576px) {
  .is-4 {
    width: calc(4 * (100% / 6));
  }
}

@media only screen and (min-width: 576px) {
  .is-5 {
    width: calc(5 * (100% / 6));
  }
}

@media only screen and (min-width: 576px) {
  .tag-itm.show-tagitem.is-6 {
    width: calc(6 * (100% / 6));
    padding: 10px 0;
    margin: 0 10px;
  }
}

@media only screen and (min-width: 576px) {
  .is-7 {
    width: calc(7 * (100% / 6));
  }
}

@media only screen and (min-width: 576px) {
  .is-8 {
    width: calc(8 * (100% / 6));
  }
}

@media only screen and (min-width: 576px) {
  .is-9 {
    width: calc(9 * (100% / 6));
  }
}

@media only screen and (min-width: 576px) {
  .is-10 {
    width: calc(10 * (100% / 6));
  }
}

.ourmember {
  padding-top: 148px;
}

.ourmember-contents {
  padding: 0 5px;
}

.ourmember-top {
  overflow: hidden;
}

.ourmember-img {
  max-width: 220px;
  background: rgba(0, 96, 87, 0.5);
}

.ourmember-img img {
  display: block;
}

.ourmember-image {
  margin-top: 35px;
  margin-left: -15px;
  margin-right: -15px;
}

.ourmember-image img {
  width: 100%;
  display: block;
  margin-left: auto;
}

.ourmember-btns {
  display: flex;
  flex-wrap: wrap;
  margin-top: 60px;
  margin-bottom: 45px;
  margin-left: -4px;
  margin-right: -4px;
}

.ourmember .filter-button:hover {
  color: #fff;
  opacity: 1;
}

.ourmember .filter-button:hover::before {
  transform: translateX(0);
}

.ourmember .filter-button.active {
  color: #fff;
  border: none;
}

.ourmember .filter-button.active::before {
  transform: translateX(0);
}

.ourmember-btn {
  font-size: 1.1rem;
  color: #000;
  font-weight: 400;
  width: calc(50% - 10px);
  margin-bottom: 10px;
  display: block;
  padding: 11px 12px;
  border-style: solid;
  border-width: 1px;
  border-color: rgba(0, 96, 87, 0.5);
  text-decoration: none;
  position: relative;
  overflow: hidden;
  z-index: 0;
  margin-left: 4px;
  margin-right: 4px;
  line-height: 1.3;
  letter-spacing: 0.05em;
}

.ourmember-btn::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  transform: translateX(-100%);
  color: #fff;
  transition: transform 0.2s ease-in-out;
  z-index: -1;
  background: rgba(0, 96, 87, 0.5);
}

@media only screen and (min-width: 768px) {
  .ourmember-btn {
    font-size: 1.4rem;
  }
}

.ourmember-reset {
  font-size: 1.5rem;
  font-weight: 500;
  color: #fff;
  text-align: center;
  background-color: #898989;
  padding: 4px 10px;
  max-width: 137px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  border-radius: 2px;
  letter-spacing: 0.025em;
}

@media only screen and (min-width: 576px) {
  .ourmember-reset {
    font-size: 2rem;
    padding: 5px 10px;
    max-width: 180px;
  }
}

.ourmember-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-top: 45px;
  margin-left: -8px;
  margin-right: -8px;
}

@media only screen and (min-width: 576px) {
  .ourmember-row {
    margin-left: -15px;
    margin-right: -15px;
  }
}

@media only screen and (min-width: 1200px) {
  .ourmember-row {
    margin-left: -49px;
    margin-right: -49px;
  }
}

.ourmember-row img {
  width: 100%;
}

@media only screen and (min-width: 576px) {
  .ourmember-row img {
    max-width: 220px;
  }
}

.ourmember-col {
  width: 50%;
  margin-bottom: 20px;
  padding: 0 8px;
}

@media only screen and (min-width: 576px) {
  .ourmember-col {
    width: 33.3333333333%;
    padding: 0 15px;
    margin-bottom: 20px;
  }
}

@media only screen and (min-width: 1200px) {
  .ourmember-col {
    padding: 0 49px;
  }
}

.ourmember-link {
  text-decoration: none;
  cursor: pointer;
  display: block;
}

.ourmember-text {
  padding-top: 20px;
}

.ourmember-ttl {
  font-size: 1.26rem;
  color: #000;
  line-height: 1.2;
  font-weight: 400;
  margin-bottom: 10px;
  padding-left: 10px;
  position: relative;
  letter-spacing: 0.1em;
}

.ourmember-ttl::before {
  position: absolute;
  content: "";
  background: #006057;
  width: 2px;
  height: 100%;
  left: 0;
  top: 0;
}

.ourmember-desc {
  font-size: 0.84rem;
  font-weight: 400;
  color: #000;
  padding-left: 10px;
  padding-bottom: 7px;
}

@media only screen and (min-width: 576px) {
  .ourmember-desc {
    font-size: 1.2rem;
    padding-left: 15px;
    padding-bottom: 10px;
  }
}

.ourmember-desc.-company {
  letter-spacing: 0.1em;
}

.ourmember-cat {
  font-size: 0.8rem;
  font-weight: 400;
  color: #000;
  padding-left: 10px;
  padding-bottom: 7px;
}

@media only screen and (min-width: 576px) {
  .ourmember-cat {
    font-size: 1rem;
    padding-left: 15px;
    padding-bottom: 10px;
  }
}

.tag-itm {
  visibility: hidden;
  /* transition: 0.6s ease transform 0.5s, 0.5s ease visibility 0.5s, 0s ease padding 0.5s, 0s ease max-height 0.6s, 0s ease max-width 0.6s; */
  transition: 0.6s ease transform 0.5s;
  transform: translate(0, 0);
  max-height: 0;
  max-width: 0;
  padding: 0;
}

.tag-itm .list {
  transform: scale(0.5);
  opacity: 0;
  transition: 0.4s ease-out opacity, 0.4s ease-out transform;
}

.tag-itm.show-tagitem {
  /* transition: 0.6s ease transform 0.5s,  0.4s ease visibility 0.5s, 0s ease padding 0.5s, 0s ease max-height 0s, 0s ease max-width 0s; */
  transition: 0.6s ease transform 0.5s;
  visibility: visible;
  max-height: 1000px;
  max-width: 968px;
  padding: 10px;
  transform: translate(0, 0);
}

.tag-itm.show-tagitem .list {
  transform: scale(1);
  opacity: 1;
  transition: 0.5s ease opacity, 0.4s ease transform;
}

/* new pages css */

.sp-only {
  display: block;
}

@media only screen and (min-width: 768px) {
  .sp-only {
    display: none;
  }
}

.pc-only {
  display: none;
}

@media only screen and (min-width: 768px) {
  .pc-only {
    display: block;
  }
}

.lg-only {
  display: none;
}

@media only screen and (min-width: 992px) {
  .lg-only {
    display: block;
  }
}

.title {
  text-align: center;
}

.heading-title {
  font-size: 20px;
  line-height: 1.7;
  text-align: center;
  position: relative;
  color: #404040;
  display: inline-block;
  margin-bottom: 10px;
  font-weight: 600;
  letter-spacing: 0.064em;
}

@media only screen and (min-width: 576px) {
  .heading-title {
    font-size: 22px;
  }
}

@media only screen and (min-width: 768px) {
  .heading-title {
    font-size: 24px;
    margin-bottom: 15px;
  }
}

@media only screen and (min-width: 992px) {
  .heading-title {
    font-size: 26px;
  }
}

@media only screen and (min-width: 1200px) {
  .heading-title {
    font-size: 28px;
    line-height: 1.7;
  }
}

.heading-title::after {
  content: "";
  position: absolute;
  height: 2px;
  width: 40px;
  background-color: #404040;
  transform: translateX(-50%);
  left: 50%;
  bottom: -10px;
}

@media only screen and (min-width: 768px) {
  .heading-title::after {
    bottom: -15px;
  }
}

.heading-desc {
  font-size: 14px;
  font-weight: 400;
  color: #404040;
  line-height: 2;
  letter-spacing: 0.064em;
  max-width: 840px;
  margin: 0 auto;
  padding-top: 20px;
}

@media only screen and (min-width: 768px) {
  .heading-desc {
    font-size: 16px;
    padding-top: 40px;
  }
}

#mainbody .maincont#support {
  padding-top: 0;
}

.support .resonate {
  padding: 65px 0 30px;
}

@media only screen and (min-width: 768px) {
  .support .resonate {
    padding: 115px 0 55px;
  }
}

@media only screen and (min-width: 1200px) {
  .support .container-new {
    max-width: 1060px;
  }
}

.support .bg-gray {
  background-color: #f2f2f2;
  padding-top: 1px;
  margin-top: 85px;
  padding-bottom: 60px;
}

@media only screen and (min-width: 768px) {
  .support .bg-gray {
    margin-top: 170px;
    padding-bottom: 120px;
  }
}

.support__box {
  background-color: #fff;
  filter: drop-shadow(5.01px 10.02px 8.02px rgba(0, 0, 0, 0.1));
  padding: 15px;
  margin-top: -85px;
}

.support__box-img {
  max-width: 860px;
  margin: 0 auto;
}

@media only screen and (min-width: 768px) {
  .support__box {
    margin-top: -170px;
    padding: 35px 0 55px;
  }
}

.support__box-ttl {
  font-size: 16px;
  text-align: center;
  color: #0071bc;
  font-weight: 600;
  letter-spacing: 0.016em;
  padding-bottom: 15px;
}

@media only screen and (min-width: 576px) {
  .support__box-ttl {
    font-size: 18px;
  }
}

@media only screen and (min-width: 768px) {
  .support__box-ttl {
    font-size: 20px;
    padding-bottom: 30px;
  }
}

@media only screen and (min-width: 992px) {
  .support__box-ttl {
    font-size: 22px;
  }
}

@media only screen and (min-width: 1200px) {
  .support__box-ttl {
    font-size: 24px;
  }
}

.support__box-img img {
  display: block;
  margin: 0 auto;
}

.support .table-wrapper {
  background-color: #fff;
  padding: 25px 15px;
  margin-top: 35px;
  filter: drop-shadow(5.01px 10.02px 8.02px rgba(0, 0, 0, 0.1));
}

@media only screen and (min-width: 768px) {
  .support .table-wrapper {
    padding: 70px 15px;
    margin-top: 50px;
  }
}

@media only screen and (min-width: 992px) {
  .support .table-wrapper {
    padding: 70px 0;
  }
}

.support__table {
  padding-top: 50px;
}

@media only screen and (min-width: 768px) {
  .support__table {
    padding-top: 100px;
  }
}

.support__table table {
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
}

.support__table table tr {
  border-bottom: solid 1px #404040;
}

.support__table table td {
  font-size: 12px;
  color: #000000;
  text-align: center;
  padding: 10px 0;
}

@media only screen and (min-width: 768px) {
  .support__table table td {
    font-size: 14px;
    letter-spacing: 0.064em;
  }
}

.support__table table td span.brd-rgt {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: inherit;
}

@media only screen and (max-width: 575px) {
  .support__table table td span.brd-rgt {
    max-height: 120px;
  }
}

.support__table table td span.brd-rgt:after {
  content: "";
  position: absolute;
  background-color: #fff;
  width: 1px;
  height: 140px;
  right: 0;
  top: -11px;
}

@media only screen and (min-width: 576px) {
  .support__table table td span.brd-rgt:after {
    width: 2px;
    height: 38px;
    top: -10px;
  }
}

@media only screen and (min-width: 768px) {
  .support__table table td span.brd-rgt:after {
    height: 41px;
  }
}

.support__table table .left {
  text-align: left;
  width: 95px;
  vertical-align: middle;
}

@media only screen and (min-width: 576px) {
  .support__table table .left {
    width: 190px;
    padding-left: 25px;
  }
}

.support__table table .w-md {
  width: 20px;
}

@media only screen and (min-width: 576px) {
  .support__table table .w-md {
    width: 150px;
  }
}

.support__table table .vertical {
  vertical-align: middle;
}

@media only screen and (min-width: 576px) {
  .support__table table .vertical {
    width: 60px;
  }
}

.support__table table .sm {
  font-size: 10px;
}

@media only screen and (min-width: 576px) {
  .support__table table .sm {
    font-size: 12px;
  }
}

@media only screen and (max-width: 575px) {
  .support__table table .sm {
    letter-spacing: -0.6px;
  }
}

@media only screen and (max-width: 575px) {

  .support__table table .col-lgt,
  .support__table table .col-sky,
  .support__table table .col-sky2 {
    writing-mode: vertical-lr;
    /* -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl; */
    vertical-align: middle;
    font-size: 14px;
    letter-spacing: 0.064em;
    height: 120px;
  }

  .support__table table td span.brd-rgt {
    writing-mode: vertical-lr;
  }

}

.support__table table .vertical span {
  writing-mode: vertical-lr;
  white-space: nowrap;
}

.support__table table .col-lgt {
  background-color: #ffe8ec;
}

.support__table table .col-sky {
  background-color: #e2f7e6;
}

.support__table table .col-sky2 {
  background-color: #e1f4fb;
}

.support__table table .col-pink {
  color: #ff8da0;
  vertical-align: middle;
}

.support__table table .col-green {
  color: #70d582;
  vertical-align: middle;
}

.support__table table .col-blue {
  color: #69c9ea;
}


.support .flow__inner {
  background-color: #fff;
  filter: drop-shadow(5.01px 10.02px 8.02px rgba(0, 0, 0, 0.1));
  margin-top: 20px;
  padding: 30px 15px;
}

@media only screen and (min-width: 768px) {
  .support .flow__inner {
    padding: 45px 15px;
    margin-top: 40px;
  }
}

@media only screen and (min-width: 992px) {
  .support .flow__inner {
    padding: 60px 0 100px;
  }
}

.support .flow__ttl {
  text-align: center;
}

.support .flow__ttl img {
  display: block;
  margin: 0 auto 15px;
}

@media only screen and (min-width: 768px) {
  .support .flow__ttl img {
    margin: 0 auto 25px;
  }
}

.support .flow__ttl h3 {
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  display: inline-block;
  letter-spacing: 0.016em;
  margin-bottom: 10px;
  position: relative;
}

@media only screen and (min-width: 576px) {
  .support .flow__ttl h3 {
    font-size: 18px;
  }
}

@media only screen and (min-width: 768px) {
  .support .flow__ttl h3 {
    font-size: 20px;
    padding-bottom: 20px;
  }
}

@media only screen and (min-width: 992px) {
  .support .flow__ttl h3 {
    font-size: 22px;
  }
}

@media only screen and (min-width: 1200px) {
  .support .flow__ttl h3 {
    font-size: 24px;
  }
}

.support .flow__ttl h3:after {
  position: absolute;
  content: "";
  width: 20px;
  height: 2px;
  left: 50%;
  transform: translateX(-50%);
  bottom: -10px;
}

@media only screen and (min-width: 768px) {
  .support .flow__ttl h3:after {
    bottom: 0;
  }
}

.support .flow__ttl h3.pink {
  color: #ff8da0;
}

.support .flow__ttl h3.pink:after {
  background-color: #ff8da0;
}

.support .flow__ttl h3.green {
  color: #70d582;
}

.support .flow__ttl h3.green:after {
  background-color: #70d582;
}

.support .flow__ttl h3.blue {
  color: #69c9ea;
}

.support .flow__ttl h3.blue:after {
  background-color: #69c9ea;
}

.support .flow__wrapper {
  max-width: 860px;
  margin: 0 auto;
}

.support .flow__row {
  display: flex;
  flex-wrap: wrap;
  margin: 15px 0;
  flex-direction: column-reverse;
}

@media only screen and (min-width: 576px) {
  .support .flow__row {
    flex-direction: row;
    margin: 35px -5px;
  }
}

@media only screen and (min-width: 768px) {
  .support .flow__row {
    margin: 35px -15px;
  }
}

@media only screen and (min-width: 576px) {
  .support .flow__col {
    padding: 0 5px;
  }
}

@media only screen and (min-width: 768px) {
  .support .flow__col {
    padding: 0 15px;
  }
}

.support .flow__col:first-child {
  width: 100%;
}

@media only screen and (min-width: 576px) {
  .support .flow__col:first-child {
    width: 58%;
  }
}

.support .flow__col:last-child {
  width: 100%;
}

@media only screen and (min-width: 576px) {
  .support .flow__col:last-child {
    width: 42%;
  }
}

.support .flow__desc {
  font-size: 14px;
  font-weight: 400;
  color: #404040;
  letter-spacing: 0.03em;
  text-align: justify;
  line-height: 1.5;
  padding-top: 15px;
}

@media only screen and (min-width: 576px) {
  .support .flow__desc {
    padding-top: 0;
  }
}

@media only screen and (min-width: 768px) {
  .support .flow__desc {
    font-size: 16px;
    line-height: 2;
  }
}

.support .flow__nav {
  background-color: #ffeef1;
  padding: 30px 0 15px;
}

@media only screen and (min-width: 768px) {
  .support .flow__nav {
    padding: 120px 0 29px;
  }

  .support .flow__nav.-green,
  .support .flow__nav.-blue {
    padding: 120px 0 50px;
  }

  .support .flow .flow__img img {
    min-height: 230px;
    object-fit: cover;
  }
}

.support .flow__nav.-green {
  background-color: #eaf9ec;
}

.support .flow__nav.-blue {
  background-color: #e8f7fc;
}

.support .flow__nav ul {
  display: flex;
  max-width: 750px;
  margin: 0 auto;
  flex-direction: column;
}

@media only screen and (max-width: 767px) {
  .support .flow__nav ul {
    padding: 0 15px;
  }
}

@media only screen and (min-width: 768px) {
  .support .flow__nav ul {
    flex-direction: row;
  }
}

.support .flow__nav ul li {
  width: 100%;
  position: relative;
}

@media only screen and (max-width: 767px) {
  .support .flow__nav ul li {
    display: flex;
    align-items: center;
  }
}

@media only screen and (max-width: 767px) {
  .support .flow__nav ul li.base {
    align-items: baseline;
  }
}

@media only screen and (max-width: 767px) {
  .support .flow__nav ul li.base .bubble {
    top: 0;
  }
}

@media only screen and (max-width: 767px) {
  .support .flow__nav ul li.base2 {
    align-items: flex-end;
  }
}

@media only screen and (max-width: 767px) {
  .support .flow__nav ul li.base2 .bubble {
    top: 0;
  }
}

.support .flow__nav .bubble {
  display: inline-block;
  border-radius: 50%;
  width: 45%;
  position: absolute;
  left: 105px;
  top: 20px;
  padding: 25px 0;
}

@media only screen and (min-width: 576px) {
  .support .flow__nav .bubble {
    width: 25%;
  }
}

@media only screen and (min-width: 768px) {
  .support .flow__nav .bubble {
    width: 60%;
    top: -90px;
    left: 50%;
    transform: translateX(-50%);
  }
}

.support .flow__nav .bubble p {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.064em;
  text-align: center;
  color: #fff;
  line-height: 1.2;
}

.support .flow__nav .bubble:after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 14px 28px 14px 0;
  top: 50%;
  transform: translateY(-50%);
  left: -15px;
}

@media only screen and (min-width: 768px) {
  .support .flow__nav .bubble:after {
    border-width: 28px 14px 0 14px;
    left: 50%;
    transform: translateX(-50%);
    bottom: -15px;
    top: initial;
  }
}

.support .flow__nav .bubble.-pad {
  padding: 15px 0;
}

.support .flow__nav .bubble.-pink {
  background-color: #ff8da0;
}

.support .flow__nav .bubble.-pink:after {
  border-color: transparent #ff8da0 transparent transparent;
}

@media only screen and (min-width: 768px) {
  .support .flow__nav .bubble.-pink:after {
    border-color: #ff8da0 transparent transparent transparent;
  }
}

.support .flow__nav .bubble.-green {
  background-color: #70d582;
}

@media only screen and (max-width: 767px) {
  .support .flow__nav .bubble.-green {
    width: 35%;
  }
}

@media only screen and (max-width: 575px) {
  .support .flow__nav .bubble.-green {
    width: 60%;
  }
}

.support .flow__nav .bubble.-green:after {
  border-color: transparent #70d582 transparent transparent;
}

@media only screen and (min-width: 768px) {
  .support .flow__nav .bubble.-green:after {
    border-color: #70d582 transparent transparent transparent;
  }
}

.support .flow__nav .bubble.-blue {
  background-color: #69c9ea;
}

@media only screen and (max-width: 767px) {
  .support .flow__nav .bubble.-blue {
    width: 35%;
  }
}

@media only screen and (max-width: 575px) {
  .support .flow__nav .bubble.-blue {
    width: 60%;
  }
}

.support .flow__nav .bubble.-blue:after {
  border-color: transparent #69c9ea transparent transparent;
}

@media only screen and (min-width: 768px) {
  .support .flow__nav .bubble.-blue:after {
    border-color: #69c9ea transparent transparent transparent;
  }
}

.support .flow__nav-list {
  width: 25%;
  width: 100%;
  background-color: #fff;
  padding: 35px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  .support .flow__nav-list {
    max-width: 80px;
    width: 100%;
    height: 150px;
  }
}

.support .flow__nav-list:before,
.support .flow__nav-list:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  margin: auto;
  transition: 0.25s;
  border-style: solid;
  border-width: 90px 0 90px 2.4em;
  z-index: 10;
}

@media only screen and (max-width: 767px) {

  .support .flow__nav-list:before,
  .support .flow__nav-list:after {
    border-width: 20px 50px 0 50px;
    right: inherit;
    left: 50%;
    transform: translateX(-50%);
  }
}

@media only screen and (min-width: 768px) {

  .support .flow__nav-list:before,
  .support .flow__nav-list:after {
    top: 50%;
    transform: translateY(-50%);
  }
}

.support .flow__nav-list:before {
  right: 0;
  border-color: transparent transparent transparent #ffeef1;
}

@media only screen and (max-width: 767px) {
  .support .flow__nav-list:before {
    border-color: #ffeef1 transparent transparent transparent;
    right: inherit;
    bottom: 0;
  }
}

.support .flow__nav-list:after {
  right: 10px;
  border-color: transparent transparent transparent #fff;
}

@media only screen and (max-width: 767px) {
  .support .flow__nav-list:after {
    border-color: #fff transparent transparent transparent;
    right: inherit;
    bottom: 4px;
  }
}

.support .flow__nav-list.last:before {
  background-color: #ffeef1;
}

.support .flow__nav-list.-green:before {
  border-color: transparent transparent transparent #eaf9ec;
}

@media only screen and (max-width: 767px) {
  .support .flow__nav-list.-green:before {
    border-color: #eaf9ec transparent transparent transparent;
    right: inherit;
    bottom: 0;
  }
}

.support .flow__nav-list.-green.last:before {
  background-color: #eaf9ec;
}

.support .flow__nav-list.-blue:before {
  border-color: transparent transparent transparent #e8f7fc;
}

@media only screen and (max-width: 767px) {
  .support .flow__nav-list.-blue:before {
    border-color: #e8f7fc transparent transparent transparent;
    right: inherit;
    bottom: 0;
  }
}

.support .flow__nav-list.-blue.last:before {
  background-color: #e8f7fc;
}

.support .flow__nav-list a {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.064em;
  text-decoration: none;
}

@media only screen and (max-width: 767px) {
  .support .flow__nav-list a {
    font-size: 16px;
    writing-mode: vertical-lr;
  }
}

.support .flow__nav-list a.pink {
  color: #ff8da0;
}

.support .flow__nav-list a.green {
  color: #70d582;
}

.support .flow__nav-list a.blue {
  color: #69c9ea;
}

@media only screen and (max-width: 767px) {
  .support .flow__nav-item-list {
    padding-left: 12px;
  }
}

.support .flow__nav-item {
  font-size: 13px;
  display: flex;
  font-weight: 600;
  letter-spacing: 0.064em;
  line-height: 1.5;
}

@media only screen and (min-width: 992px) {
  .support .flow__nav-item {
    font-size: 14px;
  }
}

@media only screen and (min-width: 768px) {
  .support .flow__nav-item:nth-of-type(1) {
    padding-top: 10px;
  }
}

.support .flow__nav-item.-pink {
  color: #ff8da0;
}

.support .flow__nav-item.-green {
  color: #70d582;
}

.support .flow__nav-item.-blue {
  color: #69c9ea;
}

@media only screen and (max-width: 575px) {
  #mainbody.jobdescribe .mainvisual {
    height: 360px;
  }
}

#mainbody .maincont#diversity {
  padding-top: 0;
}

.jobdescribe .diversity .resonate_wrap {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  padding: 65px 0 30px;
}

@media only screen and (min-width: 768px) {
  .jobdescribe .diversity .resonate_wrap {
    padding: 115px 0 55px;
  }
}

.jobdescribe .diversity .resonate .heading-desc {
  letter-spacing: 0;
  text-align: justify;
}

.jobdescribe .diversity .resonate .note {
  font-size: 12px;
  color: #404040;
  line-height: 1.8;
  font-weight: 400;
  padding-top: 50px;
  text-align: justify;
}

.jobdescribe .diversity_img {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.jobdescribe .diversity_detail {
  margin-bottom: 50px;
  text-align: center;
}

@media only screen and (min-width: 576px) {
  .jobdescribe .diversity_detail {
    margin-bottom: 70px;
  }
}

@media only screen and (min-width: 768px) {
  .jobdescribe .diversity_detail {
    margin-bottom: 90px;
  }
}

@media only screen and (min-width: 992px) {
  .jobdescribe .diversity_detail {
    margin-bottom: 115px;
  }
}

.jobdescribe .diversity_txt {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  padding-top: 30px;
}

.jobdescribe .diversity_desc {
  font-size: 16px;
  font-weight: 400;
  color: #000;
}

.jobdescribe .support_bg {
  background-color: #f2f2f2;
}

.jobdescribe .support_layout {
  padding-top: 20px;
  padding-bottom: 45px;
  max-width: 335px;
  margin-left: auto;
  margin-right: auto;
}

@media only screen and (min-width: 576px) {
  .jobdescribe .support_layout {
    max-width: 546px;
    padding-top: 40px;
    padding-bottom: 65px;
  }
}

@media only screen and (min-width: 768px) {
  .jobdescribe .support_layout {
    padding-top: 60px;
    padding-bottom: 85px;
    max-width: 738px;
  }
}

@media only screen and (min-width: 992px) {
  .jobdescribe .support_layout {
    max-width: 932px;
  }
}

@media only screen and (min-width: 1200px) {
  .jobdescribe .support_layout {
    max-width: 1060px;
  }
}

.jobdescribe .support_row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-left: -5px;
  margin-right: -5px;
}

@media only screen and (min-width: 576px) {
  .jobdescribe .support_row {
    margin-left: -8px;
    margin-right: -8px;
  }
}

@media only screen and (min-width: 992px) {
  .jobdescribe .support_row {
    margin-left: -12px;
    margin-right: -12px;
  }
}

.jobdescribe .support_col {
  padding-top: 25px;
  padding-left: 5px;
  padding-right: 5px;
}

@media only screen and (min-width: 576px) {
  .jobdescribe .support_col {
    padding-left: 8px;
    padding-right: 8px;
  }
}

@media only screen and (min-width: 992px) {
  .jobdescribe .support_col {
    padding-left: 12px;
    padding-right: 12px;
  }
}

.jobdescribe .support_card {
  max-width: 294px;
  width: 100%;
  display: block;
  position: relative;
}

.jobdescribe .support_card:before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.7);
}

@media only screen and (min-width: 576px) {
  .jobdescribe .support_card {
    max-width: 265px;
  }
}

@media only screen and (min-width: 768px) {
  .jobdescribe .support_card {
    max-width: 235px;
  }
}

@media only screen and (min-width: 992px) {
  .jobdescribe .support_card {
    max-width: 294px;
  }
}

@media only screen and (min-width: 1200px) {
  .jobdescribe .support_card {
    max-width: 336px;
  }
}

.jobdescribe .support_card:hover:after {
  margin-top: 30px;
  transition: 0.3s ease-in-out all;
}

.jobdescribe .support_card .ttl {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  top: 50%;
  color: #fff;
  font-size: 16px;
  letter-spacing: 0.016em;
  text-align: center;
  padding: 0 8px;
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .jobdescribe .support_card .ttl {
    font-size: 18px;
  }
}

@media only screen and (min-width: 992px) {
  .jobdescribe .support_card .ttl {
    font-size: 20px;
  }
}

.jobdescribe .support_card:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 47%;
  z-index: 11;
  display: block;
  width: 16px;
  height: 16px;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  transform: rotate(225deg) translate(-50%, -50%);
  margin-top: 25px;
  transition: 0.3s ease-in-out all;
}

.jobdescribe .support_dewrap {
  padding-top: 70px;
}

@media only screen and (min-width: 576px) {
  .jobdescribe .support_dewrap {
    padding-top: 90px;
  }
}

@media only screen and (min-width: 768px) {
  .jobdescribe .support_dewrap {
    padding-top: 70px;
  }
}

@media only screen and (min-width: 992px) {
  .jobdescribe .support_dewrap {
    padding-top: 125px;
  }
}

@media only screen and (min-width: 1200px) {
  .jobdescribe .support_dewrap {
    padding-top: 200px;
  }
}

.jobdescribe .support_dewrap:first-child {
  padding-top: 70px;
}

@media only screen and (min-width: 576px) {
  .jobdescribe .support_dewrap:first-child {
    padding-top: 90px;
  }
}

@media only screen and (min-width: 768px) {
  .jobdescribe .support_dewrap:first-child {
    padding-top: 125px;
  }
}

@media only screen and (min-width: 992px) {
  .jobdescribe .support_dewrap:first-child {
    padding-top: 160px;
  }
}

.jobdescribe .support_detail {
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
  /* margin-bottom: 70px; */
  background-color: #fff;
  padding-left: 15px;
  padding-right: 15px;
  box-shadow: 5px 10px 10px 0px rgb(0 0 0 / 10%);
}

@media only screen and (min-width: 576px) {
  .jobdescribe .support_detail {
    padding-left: 20px;
    padding-right: 20px;
    /* margin-bottom: 90px; */
    max-width: 546px;
  }
}

@media only screen and (min-width: 768px) {
  .jobdescribe .support_detail {
    padding-left: 35px;
    padding-right: 35px;
    /* margin-bottom: 125px; */
    max-width: 738px;
  }
}

@media only screen and (min-width: 992px) {
  .jobdescribe .support_detail {
    padding-left: 60px;
    padding-right: 60px;
    /* margin-bottom: 200px; */
    max-width: 932px;
  }
}

@media only screen and (min-width: 1200px) {
  .jobdescribe .support_detail {
    max-width: 1060px;
  }
}

.jobdescribe .support_wrapper {
  background-color: #f8f8f8;
  padding-bottom: 60px;
}

@media only screen and (min-width: 576px) {
  .jobdescribe .support_wrapper {
    padding-bottom: 80px;
  }
}

@media only screen and (min-width: 768px) {
  .jobdescribe .support_wrapper {
    padding-bottom: 100px;
  }
}

@media only screen and (min-width: 992px) {
  .jobdescribe .support_wrapper {
    padding-bottom: 120px;
  }
}

.jobdescribe .support_cardtop .image {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}

.jobdescribe .support_cardtop .image img {
  margin-top: -25px;
}

@media only screen and (min-width: 768px) {
  .jobdescribe .support_cardtop .image img {
    margin-top: -40px;
  }
}

@media only screen and (min-width: 992px) {
  .jobdescribe .support_cardtop .image img {
    margin-top: -60px;
  }
}

.jobdescribe .support_cardtop .title {
  padding-top: 20px;
  padding-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  .jobdescribe .support_cardtop .title {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

@media only screen and (min-width: 992px) {
  .jobdescribe .support_cardtop .title {
    padding-bottom: 35px;
  }
}

.jobdescribe .support_cardtop .desc {
  font-size: 16px;
  font-weight: 500;
  color: #404040;
  line-height: 2;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  text-align: justify;
}

.jobdescribe .support_cardtop .note {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
  color: #404040;
  margin-top: 25px;
}

.jobdescribe .support_cards {
  margin-top: 35px;
}

@media only screen and (min-width: 768px) {
  .jobdescribe .support_cards {
    margin-top: 55px;
  }
}

@media only screen and (min-width: 992px) {
  .jobdescribe .support_cards {
    margin-top: 70px;
  }
}

.jobdescribe .support_cards .itm {
  display: flex;
  flex-direction: column;
  padding: 25px 0;
  border-bottom: 1px solid #f2f2f2;
}

@media only screen and (min-width: 768px) {
  .jobdescribe .support_cards .itm {
    padding: 33px 0;
    flex-direction: row;
  }
}

@media only screen and (min-width: 992px) {
  .jobdescribe .support_cards .itm {
    padding: 40px 0;
  }
}

.jobdescribe .support_cards .itm:first-child {
  border-top: 1px solid #f2f2f2;
}

.jobdescribe .support_cards .itm .image {
  max-width: 280px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.jobdescribe .support_cards .itm .image img {
  max-height: 200px;
  object-fit: contain;
}

@media only screen and (min-width: 768px) {
  .jobdescribe .support_cards .itm .image {
    margin-right: 20px;
    max-width: 30%;
    flex-basis: 30%;
  }
}

@media only screen and (min-width: 992px) {
  .jobdescribe .support_cards .itm .image {
    margin-right: 40px;
  }
}

@media only screen and (min-width: 1200px) {
  .jobdescribe .support_cards .itm .image {
    max-width: 32%;
    flex-basis: 32%;
  }
}

@media only screen and (min-width: 768px) {
  .jobdescribe .support_cards .itm .description {
    max-width: 70%;
    flex-basis: 70%;
  }
}

@media only screen and (min-width: 1200px) {
  .jobdescribe .support_cards .itm .description {
    max-width: 68%;
    flex-basis: 68%;
  }
}

.jobdescribe .support_cards .itm .description .link {
  text-decoration: none;
  font-size: 16px;
  font-weight: 500;
  color: #404040;
  line-height: 2;
  display: block;
  text-align: right;
  text-decoration: underline;
}

.jobdescribe .support_cards .itm .description .link:hover {
  opacity: 0.8;
  transition: 0.3s ease all;
}

.jobdescribe .support_cards .itm .ttl {
  font-size: 18px;
  font-weight: 600;
  color: #404040;
  padding-bottom: 10px;
  padding-top: 10px;
  margin-bottom: 15px;
  position: relative;
}

@media only screen and (min-width: 576px) {
  .jobdescribe .support_cards .itm .ttl {
    font-size: 20px;
  }
}

@media only screen and (min-width: 768px) {
  .jobdescribe .support_cards .itm .ttl {
    padding-top: 0;
    padding-bottom: 15px;
    font-size: 22px;
    margin-bottom: 20px;
  }
}

@media only screen and (min-width: 992px) {
  .jobdescribe .support_cards .itm .ttl {
    font-size: 24px;
  }
}

.jobdescribe .support_cards .itm .ttl:after {
  content: "";
  width: 20px;
  height: 2px;
  background-color: #404040;
  position: absolute;
  left: 0;
  bottom: 0;
}

.jobdescribe .support_cards .itm .desc {
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
  color: #404040;
  text-align: justify;
}

#mainbody .maincont#personeel {
  padding-top: 0;
}

.personeel__box {
  max-width: 960px;
  margin: 0 auto;
}

.personeel__box--top {
  margin-top: 60px;
  margin-bottom: 70px;
}

@media only screen and (min-width: 768px) {
  .personeel__box--top {
    margin-top: 120px;
    margin-bottom: 120px;
  }
}

.personeel__title {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.7;
  text-align: center;
  padding-bottom: 18px;
  position: relative;
}

@media only screen and (min-width: 576px) {
  .personeel__title {
    font-size: 22px;
  }
}

@media only screen and (min-width: 768px) {
  .personeel__title {
    font-size: 24px;
  }
}

@media only screen and (min-width: 992px) {
  .personeel__title {
    font-size: 26px;
  }
}

@media only screen and (min-width: 1200px) {
  .personeel__title {
    font-size: 28px;
  }
}

.personeel__title::after {
  position: absolute;
  content: "";
  width: 46px;
  height: 2px;
  background-color: #000;
  bottom: 0;
  left: 50%;
  transform: translate(-50%);
}

.personeel__desc {
  font-size: 14px;
  line-height: 2;
  max-width: 800px;
  margin: 30px auto;
}

@media only screen and (min-width: 768px) {
  .personeel__desc {
    font-size: 16px;
    margin: 42px auto 50px;
  }
}

.personeel__row-box {
  background-color: #f2f2f2;
  padding: 25px 15px;
  margin-bottom: 10px;
}

@media only screen and (min-width: 768px) {
  .personeel__row-box {
    padding: 40px 30px;
  }
}

@media only screen and (min-width: 992px) {
  .personeel__row-box {
    padding: 50px;
  }
}

.personeel__row {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 -15px;
}

@media only screen and (min-width: 768px) {
  .personeel__row {
    flex-direction: row;
  }
}

.personeel__row>div {
  margin-bottom: 20px;
  padding: 0 15px;
}

@media only screen and (min-width: 768px) {
  .personeel__row>div {
    padding: 0 15px;
    margin-bottom: 0;
  }
}

@media only screen and (min-width: 768px) {
  .personeel__col-sm {
    /* width: 20%; */
    flex: 1 0 20%;
    max-width: 180px;
  }
}

.personeel__col-sm img {
  width: 100%;
}

.personeel__col-lg {
  max-width: 100%;
}

@media only screen and (min-width: 768px) {
  .personeel__col-lg {
    max-width: 79%;
    flex: 1 0 79%;
  }
}

.personeel__card-title {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 15px;
  position: relative;
}

.personeel__card-title:after {
  position: absolute;
  content: "";
  background-color: #404040;
  width: 20px;
  height: 2px;
  left: 0;
  bottom: -15px;
}

@media only screen and (min-width: 768px) {
  .personeel__card-title {
    font-size: 24px;
  }
}

.personeel__card-desc {
  font-size: 14px;
  line-height: 2;
  padding-top: 20px;
  text-align: justify;
}

@media only screen and (min-width: 768px) {
  .personeel__card-desc {
    font-size: 16px;
  }
}

.personeel__card-link {
  font-size: 14px;
  line-height: 2;
  text-decoration: none;
  text-align: right;
  display: block;
}

.personeel__card-link:hover {
  opacity: 0.7;
}

@media only screen and (min-width: 768px) {
  .personeel__card-link {
    font-size: 16px;
  }
}

.personeel__card-link:hover {
  text-decoration: underline;
}

.personeel__req {
  font-size: 14px;
  line-height: 2.2;
}

@media only screen and (min-width: 768px) {
  .personeel__req {
    font-size: 12px;
  }
}

.personeel__sub-row {
  display: flex;
  flex-wrap: wrap;
  margin: 45px -2px 0;
}

.personeel__sub-row>div {
  width: 100%;
  flex: 1 0 100%;
  padding: 0 2px;
  margin-bottom: 4px;
}

@media only screen and (min-width: 576px) {
  .personeel__sub-row>div {
    max-width: 50%;
    flex: 1 0 50%;
  }
}

.personeel__sub-col-box {
  background-color: #fff;
  padding: 20px 15px;
  height: 100%;
}

@media only screen and (min-width: 768px) {
  .personeel__sub-col-box {
    padding: 25px 20px;
  }
}

@media only screen and (min-width: 992px) {
  .personeel__sub-col-box {
    padding: 40px;
  }
}

.personeel__mini-row {
  display: flex;
  flex-direction: column;
  margin: 0 -11px;
}

@media only screen and (min-width: 768px) {
  .personeel__mini-row {
    flex-direction: row;
  }
}

.personeel__mini-col-sm {
  width: 50%;
  margin: 0 auto 10px;
  padding: 0 11px;
}

@media only screen and (min-width: 768px) {
  .personeel__mini-col-sm {
    max-width: 23.14%;
    flex: 1 0 23.14%;
    margin-bottom: 0;
  }
}

@media only screen and (min-width: 768px) {
  .personeel__mini-col-sm img {
    max-width: 100%;
  }
}

.personeel__mini-col-lg {
  padding: 0 11px;
}

@media only screen and (min-width: 768px) {
  .personeel__mini-col-lg {
    max-width: 76.86%;
    flex: 1 0 76.86%;
  }
}

.personeel__sub-title {
  font-size: 16px;
  line-height: 2.1;
  font-weight: 700;
  margin-bottom: 10px;
}

@media only screen and (min-width: 768px) {
  .personeel__sub-title {
    font-size: 18px;
    margin-bottom: 15px;
  }
}

.personeel__mini-desc {
  font-size: 14px;
  line-height: 1.6;
  text-align: justify;
}

@media only screen and (min-width: 768px) {
  .personeel__mini-desc {
    font-size: 16px;
  }
}

.personeel__table {
  background-color: #fff;
  padding: 10px;
  display: flex;
}

@media only screen and (min-width: 768px) {
  .personeel__table {
    padding: 30px 25px;
    flex-direction: column;
    margin-top: 40px;
  }
}

.personeel__table-wrapper {
  display: flex;
  border: solid 1px #404040;
  margin-left: 15px;
  position: relative;
}

@media only screen and (min-width: 768px) {
  .personeel__table-wrapper {
    margin-top: 30px;
    margin-left: 0;
    max-width: 800px;
    /* height: 423px; */
  }

  .personeel__table-wrapper:after {
    position: absolute;
    content: "";
    background-color: #fff;
    width: 100%;
    height: 4px;
    bottom: 147px;
    z-index: 0;
    left: 0;
  }
}

@media only screen and (min-width: 992px) {
  .personeel__table-wrapper {
    /* height: 435px; */
  }
}

.personeel__table-left {
  max-width: 60px;
  width: 100%;
  align-self: flex-end;
  background-color: #f5f5f5;
  display: none;
}

@media only screen and (max-width: 767px) {

  .personeel__table-col:before,
  .personeel__table-col:after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    top: 50%;
    transform: translateY(-50%);
  }

  .personeel__table-col:before {
    border-width: 7px 14px 7px 0;
    border-color: transparent #404040 transparent transparent;
    left: -14px;
  }

  .personeel__table-col:after {
    border-width: 6px 12px 6px 0;
    border-color: transparent #fff transparent transparent;
    left: -12px;
  }
}

@media only screen and (min-width: 768px) {
  .personeel__table-left {
    display: flex;
    flex-direction: column;
  }
}

@media only screen and (min-width: 992px) {
  .personeel__table-left {
    max-width: 80px;
  }
}

.personeel__table-left .personeel__table-txt {
  height: 150px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.personeel__table-right {
  width: 100%;
}

.personeel__table-row {
  display: flex;
  flex-wrap: wrap;
  height: 100%;
}

.personeel__table-col {
  width: 100%;
  position: relative;
  border-bottom: solid 1px #404040;
}

.personeel__table-col:last-child {
  margin-bottom: 0;
  border-bottom: none;
}

@media only screen and (min-width: 768px) {
  .personeel__table-col {
    width: 33.3333333333%;
    background-color: #f5f5f5;
    margin-bottom: 0;
    border-bottom: none;
  }

  .personeel__table-col:after {
    position: absolute;
    content: "";
    background-color: #404040;
    height: 100%;
    width: 1px;
    right: 0;
    top: 0;
    z-index: 1;
  }

  .personeel__table-col:first-child:before {
    position: absolute;
    content: "";
    background-color: #404040;
    height: 100%;
    width: 1px;
    left: 0;
    top: 0;
    z-index: 1;
  }

  .personeel__table-col:last-child:after {
    display: none;
  }
}

.personeel__table-col:last-child {
  border-right: none;
}

.personeel__table-top {
  background-color: #fff;
  padding: 10px;
  position: relative;
}

@media only screen and (min-width: 768px) {

  .personeel__table-top:before,
  .personeel__table-top:after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    left: 50%;
    transform: translateX(-50%);
  }

  .personeel__table-top:before {
    border-width: 0 13px 20px 13px;
    border-color: transparent transparent #404040 transparent;
    top: -21px;
  }

  .personeel__table-top:after {
    border-width: 0 12px 19px 12px;
    border-color: transparent transparent #fff transparent;
    top: -19px;
  }
}

.personeel__table-txt {
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.064em;
}

@media only screen and (min-width: 992px) {
  .personeel__table-txt {
    font-size: 16px;
  }
}

.personeel__table-img {
  background-color: #fff;
  border-radius: 10px;
  padding: 5px;
  margin: 5px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media only screen and (min-width: 768px) {
  .personeel__table-img {
    max-height: 120px;
    height: 100%;
  }
}

.personeel__table-img:last-child {
  margin-bottom: 0;
}

.personeel__table-img.-lg {
  background-color: #c7e3ff;
  min-height: 90px;
  position: relative;
  z-index: 1;
}

@media only screen and (min-width: 768px) {
  .personeel__table-img.-lg {
    min-height: 275px;
  }
}

.personeel__table-img img {
  display: block;
  margin: 0 auto;
}

@media only screen and (max-width: 767px) {
  .personeel__sp-gray {
    background-color: #f5f5f5;
    padding: 10px 5px;
    width: 100%;
  }

  .personeel__sp-gray:first-child {
    margin-right: 5px;
  }
}

@media only screen and (min-width: 768px) {
  .personeel__sp-gray {
    display: flex;
    flex-direction: column;
    max-height: 150px;
    height: 100%;
  }
}

.personeel__imgtxt {
  text-align: center;
  font-size: 12px;
  padding-bottom: 10px;
}

@media only screen and (min-width: 768px) {
  .personeel__imgtxt {
    font-size: 14px;
  }
}

.personeel__bdr-txt {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.064em;
  padding: 15px 0;
  border: dashed 1px #404040;
  color: #000000;
  text-align: center;
  margin-top: 5px;
  font-weight: 500;
}

.personeel__bdr-txt span {
  font-weight: 700;
}

@media only screen and (min-width: 768px) {
  .personeel__bdr-txt {
    font-size: 10px;
    padding: 20px 0;
    margin-top: 10px;
  }
}

@media only screen and (min-width: 992px) {
  .personeel__bdr-txt {
    font-size: 13px;
  }
}

.personeel__bdr-txt.-lg {
  padding: 5px 0;
}

@media only screen and (min-width: 768px) {
  .personeel__bdr-txt.-lg {
    padding: 10px 0;
    min-height: 50px;
  }
}

.personeel .sp-txt {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.064em;
  color: #000000;
  text-align: center;
}

@media only screen and (min-width: 768px) {
  .personeel .sp-txt {
    display: none;
  }
}

.personeel .bg-gray {
  display: flex;
  flex-direction: row;
  justify-content: center;
}

@media only screen and (min-width: 768px) {
  .personeel .bg-gray {
    height: 100%;
    flex-direction: column;
    padding: 10px;
    justify-content: inherit;
  }
}

@media only screen and (max-width: 767px) {
  .personeel .bg-gray.-lg {
    background-color: #f5f5f5;
    flex-direction: column;
    padding: 15px 0;
    position: relative;
  }

  .personeel .bg-gray.-lg:after {
    position: absolute;
    content: "";
    background-color: #fff;
    height: 100%;
    width: 4px;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
  }
}

.personeel__txtflex {
  display: flex;
  justify-content: space-around;
}

@media only screen and (min-width: 768px) {
  .personeel__txtflex {
    display: none;
  }
}

@media only screen and (min-width: 768px) {
  .personeel .flow__nav {
    margin-left: 80px;
  }
}

.personeel .flow__nav ul {
  display: flex;
  max-width: 750px;
  margin: 0 auto;
  flex-direction: column;
}

@media only screen and (min-width: 768px) {
  .personeel .flow__nav ul {
    flex-direction: row;
  }
}

.personeel .flow__nav ul li {
  width: 100%;
  position: relative;
}

.personeel .flow__nav-list {
  width: 33.3333333333%;
  width: 100%;
  background-color: #ececec;
  padding: 12px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  .personeel .flow__nav-list {
    height: 270px;
    width: 30px;
    display: flex;
    justify-content: center;
  }
}

@media only screen and (min-width: 992px) {
  .personeel .flow__nav-list {
    width: 265px;
  }
}

.personeel .flow__nav-list:before,
.personeel .flow__nav-list:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  margin: auto;
  transition: 0.25s;
  border-style: solid;
  border-width: 40px 0 40px 3em;
  z-index: 10;
}

@media only screen and (max-width: 767px) {

  .personeel .flow__nav-list:before,
  .personeel .flow__nav-list:after {
    border-width: 30px 30px 0 30px;
    right: inherit;
    left: 50%;
    transform: translateX(-50%);
  }
}

@media only screen and (min-width: 768px) {

  .personeel .flow__nav-list:before,
  .personeel .flow__nav-list:after {
    top: 50%;
    transform: translateY(-50%);
  }
}

.personeel .flow__nav-list:before {
  right: 0;
  border-color: transparent transparent transparent #fff;
  background-color: #e2e2e2;
}

@media only screen and (max-width: 767px) {
  .personeel .flow__nav-list:before {
    border-color: #fff transparent transparent transparent;
    right: inherit;
    bottom: 0;
  }
}

.personeel .flow__nav-list:after {
  right: 3px;
  border-color: transparent transparent transparent #ececec;
}

@media only screen and (max-width: 767px) {
  .personeel .flow__nav-list:after {
    border-color: #ececec transparent transparent transparent;
    right: inherit;
    bottom: 2px;
  }
}

.personeel .flow__nav-list.-sec {
  background-color: #e2e2e2;
}

@media only screen and (min-width: 992px) {
  .personeel .flow__nav-list.-sec {
    width: 240px;
  }
}

.personeel .flow__nav-list.-sec:before {
  background-color: #c7e3ff;
}

.personeel .flow__nav-list.-sec:after {
  border-color: transparent transparent transparent #e2e2e2;
}

@media only screen and (max-width: 767px) {
  .personeel .flow__nav-list.-sec:after {
    border-color: #e2e2e2 transparent transparent transparent;
  }
}

.personeel .flow__nav-list.active {
  background-color: #c7e3ff;
}

@media only screen and (min-width: 992px) {
  .personeel .flow__nav-list.active {
    width: 220px;
  }
}

.personeel .flow__nav-list.active:before {
  background-color: #fff;
}

.personeel .flow__nav-list.active:after {
  border-color: transparent transparent transparent #c7e3ff;
}

@media only screen and (max-width: 767px) {
  .personeel .flow__nav-list.active:after {
    border-color: #c7e3ff transparent transparent transparent;
  }
}

.personeel .flow__nav-list a {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.064em;
  text-decoration: none;
  color: #000000;
  vertical-align: middle;
}

@media only screen and (max-width: 767px) {
  .personeel .flow__nav-list a {
    font-size: 14px;
    writing-mode: vertical-lr;
  }
}

.personeel-work {
  padding: 15px 30px;
  background-color: #fff;
  position: relative;
  max-width: 800px;
  margin: 0 auto 10px;
}

@media only screen and (min-width: 768px) {
  .personeel-work {
    padding: 25px 40px;
  }
}

@media only screen and (min-width: 992px) {
  .personeel-work {
    padding: 35px 60px;
  }
}

.personeel-work::before {
  position: absolute;
  content: "";
  width: 30px;
  height: 2px;
  background-color: #000;
  left: -11px;
  top: 32px;
}

@media only screen and (min-width: 768px) {
  .personeel-work::before {
    width: 50px;
    left: -22px;
    top: 42px;
  }
}

@media only screen and (min-width: 992px) {
  .personeel-work::before {
    width: 63px;
    left: -30px;
    top: 50px;
  }
}

.personeel-work--top {
  margin-top: 25px;
}

@media only screen and (min-width: 768px) {
  .personeel-work--top {
    margin-top: 50px;
  }
}

.personeel-work__row {
  display: flex;
  flex-direction: column;
}

@media only screen and (min-width: 768px) {
  .personeel-work__row {
    flex-direction: row;
  }
}

@media only screen and (min-width: 768px) {
  .personeel-work__col-sm {
    width: 27%;
    flex: 1 0 27%;
  }
}

@media only screen and (min-width: 768px) {
  .personeel-work__col-lg {
    width: 73%;
    flex: 1 0 73%;
  }
}

.personeel-work__title {
  font-size: 16px;
  line-height: 2.1;
  font-weight: 700;
}

@media only screen and (min-width: 768px) {
  .personeel-work__title {
    font-size: 18px;
  }
}

.personeel-work__desc {
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.064em;
}

@media only screen and (min-width: 768px) {
  .personeel-work__desc {
    font-size: 16px;
  }
}

@media only screen and (max-width: 767px) {

  #mainbody.shown .hedr,
  #mainbody.shown .hedr .container-new,
  #mainbody.shown .hedr-wrpr {
    position: static;
  }

  /* #mainbody.shown .hedr-wrpr .hedr-rgt {
    position: absolute;
    left: 0;
    z-index: 1;
  } */

  #mainbody.shown .hedr-wrpr .fixed-nav-btn {
    position: relative;
  }
}

.topbody #loaded_footer {
  padding-bottom: 0;
}

/* .topbody.overflow {
  height: 100vh;
  overflow-y: hidden;
  position: static;
} */

.herovideo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.herovideowrap {
  position: relative;
}

.play-btn {
  position: absolute;
  top: 35px;
  left: 35px;
  background-image: url(../images/top-renew/play.svg);
  background-repeat: no-repeat;
  width: 16px;
  height: 26px;
  background-color: transparent;
  border: none;
}

.play-btn.paused {
  background-image: url(../images/top-renew/pause.svg);
  width: 23px;
}

.play-btn-text {}

@media only screen and (min-width: 768px) {
  .play-btn {
    width: 22px;
    height: 35px;
  }

  .play-btn.paused {
    width: 30px;
  }
}

@media only screen and (max-width: 575px) {
  .herovideowrap {
    height: 366px;
  }
}

#mainbody.rec {
  top: 0;
}

#recruit-top .youtube-bg {
  overflow: hidden;
  width: 100%;
  height: 100%;
  /* Keep it the right aspect-ratio */
  aspect-ratio: 16/9;
  /* No clicking/hover effects */
  pointer-events: none;
}

@media only screen and (min-width: 768px) {
  #recruit-top .youtube-bg {
    height: 544px;
  }
}

#recruit-top .youtube-bg iframe {
  /* Extend it beyond the viewport... */
  width: 300%;
  height: 100%;
  /* ...and bring it back again */
  margin-left: -100%;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {

  /* .herovideowrap {
    position: relative;
    height: 545px;
    overflow: hidden;
  } */
  /* .modal-frame {
    height: 500px;
  } */
  .sub-burger-icon.hedr-burger .underline {
    padding-bottom: 2px;
  }

  .herotop_img .herovideo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    width: auto;
    max-width: none;
  }

  .jobdescribe .support_bg {
    overflow: hidden;
  }

  .support__table table .vertical span {
    max-width: 10px;
    display: flex;
    margin: 0 auto;
    line-height: 2.3;
    white-space: pre-wrap;
  }

  .personeel .flow__nav-list.-sec {
    width: auto;
  }

  .herowrap .concept-btn {
    top: 490px;
  }

  .flow__nav-item .dot {
    font-size: 20px;
    line-height: 0.7;
  }

  .image-area .icon-image {
    right: 0;
  }

  .jobdescribe .support_cards .itm .image.-ie {
    max-width: 195px;
    max-height: 200px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .jobdescribe .support_cards .itm .image.-ie img {
    max-width: 100%;
    max-height: 100%;
    margin-left: -45px;
  }
}

@media (min-width : 576px) and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .herovideowrap {
    position: relative;
    height: 545px;
    overflow: hidden;
  }
}

@media (max-width : 575px) and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .herovideowrap {
    position: relative;
    height: 405px;
    overflow: hidden;
  }
}

@media (min-width : 768px) and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .support .flow__nav .bubble:after {
    top: 70px;
  }
}

@media (max-width : 768px) and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .support .flow__nav .bubble:after {
    top: 45px;
  }

  .support .flow__nav-list a {
    width: 15px;
    display: inline-block;
  }

  .personeel .flow__nav-list {
    max-width: 30px;
  }

  .personeel .flow__nav-list a {
    /* transform: rotate(90deg); */
    /* width: 10px; */
    height: 16px;
    white-space: nowrap;
    position: absolute;
    top: 50%;
    transform: translate(-50%) rotate(90deg);
    /* display: block; */
  }
}


/*
  2024/03
  Site Map a11対応
*/

.hedr-txt-box button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  font-size: 1.4rem;
  font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Noto Sans Japanese', 'メイリオ', 'Meiryo', sans-serif;
  display: inline-block;
  text-align: left;
}

#sitemap-control {
  margin-right: 0;
}

.hedr-txt-box .sitemap-control-content {
  display: flex;
  flex-wrap: nowrap;
}

.hedr-txt-box .sitemap-text {
  display: inline-block;
  font-weight: bold;
  margin-right: 8px;
  white-space: nowrap;
}

.hedr-txt-box .sitemap-icon-wrap {
  display: inline-block;
}

.hedr-txt-box .sitemap-icon {
  display: block;
  width: 14px;
  height: 14px;
  position: relative;
  margin-top: 2px;
}

.hamburger-bar {
  position: absolute;
  display: block;
  width: 14px;
  height: 2px;
  position: absolute;
  left: 0;
  background: #000;
}

.hamburger-bar:nth-child(1) {
  top: 0;
}

.hamburger-bar:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}

.hamburger-bar:nth-child(3) {
  top: 100%;
  transform: translateY(-100%);
}

.hedr-txt-box button[aria-expanded="true"] .hamburger-bar:nth-of-type(1) {
	transform: translateY(8px) rotate(-45deg);
}
.hedr-txt-box button[aria-expanded="true"] .hamburger-bar:nth-of-type(2) {
	transform: translateY(0) rotate(45deg);
}
.hedr-txt-box button[aria-expanded="true"] .hamburger-bar:nth-of-type(3) {
	opacity: 0;
}

#sitemap-content-wrap {
  display: none;
  width: 100%;
}

#sitemap-content-wrap.is-open {
  display: block;
  background-color: #eee;
  padding: 20px;
  position: fixed;
  z-index: 99;
}

.sitemap-list {
  display: flex;
}

.sitemap-category {
  flex: 1;
}

.sitemap-title span {
  font-weight: bold;
}

@media only screen and (max-width: 767px) {
  .sitemap-list {
    display: block;
  }
  .sitemap-content {
    margin-left: 50px;
  }
  .hedr-txt-box button .underline {
    position: initial;
  }
  .sitemap-category {
    margin-bottom: 1rem;
  }
}


.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
