@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@300&display=swap");
:root {
  --themeColor: #fff;
  --themeColor02: #fff;
  --themeOrange: #E88000;
  --themeOrange02: 232 128 0;
  --themeOrange03: #F0AA54;
  --themeOrange04: #ED9B36;
  --themeBlue: #0088CD;
  --themeBlue02: 61 165 217;
  --themeBlue03: #0088CD;
  --themeBlue04: #76a3bc;
  --themeBlue05: #70bce3;
  --themeBlue06: #0088cd;
  --themeGreen: #70B42C;
  --themeGreen02: 112 180 44;
  --themeGreen03: #70B42C;
  --themeGreen04: #91c55d;
  --themePink: #ffa5a5;
  --themePink02: 255 165 165;
  --font-ShinGo-L: "UD新ゴ L", sans-serif;
  --font-ShinGo-M: "UD新ゴ M", sans-serif;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* -----------------------------------------------
* Plugins エントリーポイント
-------------------------------------------------- */
/*------------------------------------------------------------------------------
  reset
------------------------------------------------------------------------------*/
html,
input,
textarea,
select,
button {
  font-family: "UD新ゴ R", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
}

html {
  color: #565656;
  background: #fff;
  font-size: 16px;
  line-height: 1.6;
  overflow-wrap: break-word;
}
html.is-fixed {
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
}

body {
  background: #fff;
  margin: 0;
  position: relative;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

img {
  border: 0;
  margin: 0;
  vertical-align: top;
  max-width: 100%;
  height: auto;
}

figure {
  margin: 0;
}

p {
  margin: 0;
  padding: 0;
}

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

input,
select,
textarea,
button {
  color: inherit;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

select::-ms-expand {
  display: none;
}

textarea {
  resize: vertical;
}

::-webkit-input-placeholder {
  color: #ccc;
}

:-ms-input-placeholder {
  color: #ccc;
}

::-ms-input-placeholder {
  color: #ccc;
}

::-moz-placeholder {
  color: #ccc;
}

::placeholder {
  color: #ccc;
}

button {
  border: none;
  cursor: pointer;
}

label {
  cursor: pointer;
}

table {
  border-collapse: collapse;
}

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 14px;
  font-weight: 500;
  margin: 0;
  padding: 0;
}

main {
  display: block;
}

#wrapper {
  position: relative;
}

#wrapper,
.outer-block {
  min-width: 100%;
}

.inner-block {
  margin: 0 auto;
  position: relative;
}

dl, dt, dd {
  padding: 0;
  margin: 0;
}

.ib {
  display: inline-block;
}

.en {
  font-family: "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, "UD新ゴ R", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
}

.c-svg {
  display: inline-block;
  fill: currentColor;
  vertical-align: top;
}

/* --------------------------------
c-header
----------------------------------- */
.c-header {
  font-weight: normal;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9;
  width: 100%;
  background: rgba(0, 0, 0, 0.6);
  padding: 7px 23px 12px 58px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-header .top-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-header .top-area .logo-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-header .top-area .logo-area .logo {
  position: relative;
}
.c-header .top-area .logo-area .logo::before {
  content: "";
  background: url(../img/common/logo.svg) no-repeat center center/contain;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.c-header .top-area .txt-wrap {
  display: block;
  color: #fff;
  margin-left: 27px;
  margin-top: 10px;
}
.c-header .top-area .txt-wrap .en, .c-header .top-area .txt-wrap .ja {
  display: block;
  font-size: 11px;
}
.c-header .top-area .txt-wrap .en {
  letter-spacing: 0.29em;
}
.c-header .top-area .txt-wrap .ja {
  letter-spacing: 0.39em;
}
.c-header .hamburger-menu {
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: end;
      -ms-flex-pack: end;
          justify-content: end;
  padding-right: 3px;
}
.c-header .hamburger-menu .link {
  display: block;
}
.c-header .hamburger-menu .link a {
  font-size: 14px;
  letter-spacing: 0.38em;
}
.c-header .hamburger-menu .link:nth-child(1) a {
  letter-spacing: 0.15em;
}
.c-header .hamburger-menu .link:nth-child(2) a {
  letter-spacing: 0.05em;
}
.c-header .hamburger-menu .link.no-link a {
  pointer-events: none;
  opacity: 0.3;
}
.c-header .hamburger-menu .link.small a {
  font-size: 11px;
}
.c-header.newgraduate .hamburger-menu .link a {
  letter-spacing: 0.18em;
}
.c-header.newgraduate .c-menu_wrap .c-btn-wrap {
  grid-template-columns: 1fr;
  grid-template-rows: repeat(3, 1fr);
}
.c-header.newgraduate .c-menu_wrap .c-btn-wrap .c-btn01:nth-child(1) {
  grid-area: 1/1/2/2;
}
.c-header.newgraduate .c-menu_wrap .c-btn-wrap .c-btn01:nth-child(2) {
  grid-area: 2/1/3/2;
}
.c-header.newgraduate .c-menu_wrap .c-btn-wrap .c-btn01:nth-child(3) {
  grid-area: 3/1/4/2;
}
.c-header.newgraduate .c-btn01 a, .c-header.c-header-career .c-btn01 a {
  font-size: 10px;
  min-width: 100px;
  min-height: 30px;
}
.c-header.newgraduate .c-btn01 a.large, .c-header.c-header-career .c-btn01 a.large {
  min-width: 160px;
}
.c-header.newgraduate .c-btn01.parent a, .c-header.c-header-career .c-btn01.parent a {
  border-color: #808080;
  letter-spacing: 0.18em;
}
.c-header.c-header-career .hamburger-menu .link a {
  letter-spacing: 0.18em;
}
.c-header.c-header-career .c-btn01 a.medium {
  min-width: 150px;
}
.c-header.is-open {
  background-color: #666 !important;
}
.c-header.is-gray {
  background-color: #8096A3 !important;
}
.c-header.is-gray .c-btn01.en a {
  background: #A2B2BC;
}

[data-department=corporate] .c-header:not(.is-color) {
  background-color: #7a8891;
}

[data-department=engineering] .c-header:not(.is-color) {
  background-color: #d4838a;
}

[data-department=optimization] .c-header:not(.is-color) {
  background-color: #88a867;
}

[data-department=development] .c-header:not(.is-color) {
  background-color: #5292b5;
}

[data-department=ikukyu] .c-header:not(.is-color) {
  background-color: #ffa5a5;
}

.bottom-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 10px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.tag-search_btn {
  background: #333;
  border: 1px solid #fff;
  border-radius: 100px;
  cursor: pointer;
  color: #fff;
  padding: 9px;
  font-size: 10px;
  font-weight: bold;
  letter-spacing: 0.14em;
  text-align: center;
  min-width: 120px;
}
.tag-search_btn.is-open {
  background: #8096A3;
  color: #fff;
}

.c-tag_wrap {
  background: #8096A3;
  width: 100%;
  padding: 60px 50px 109px;
}
.c-tag_wrap.js-c-tag_wrap {
  position: fixed;
  top: 115px;
  left: 0;
  height: calc(100% - 115px);
  overflow-y: auto;
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translateY(-15px);
          transform: translateY(-15px);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-tag_wrap.js-c-tag_wrap.is-open {
  opacity: 1;
  pointer-events: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-tag_wrap .inn {
  max-width: 1185px;
  margin: auto;
}
.c-tag_wrap .tag-ttl {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #B3C0C8;
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 74px;
  font-size: 27px;
  font-weight: 400;
  letter-spacing: 0.2em;
  padding-bottom: 10px;
  margin-bottom: 55px;
}
.c-tag_wrap .tag-ttl .small {
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.34em;
}
.c-tag_wrap .tag-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 24px;
  max-width: 795px;
}
.c-tag_wrap .tag-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px;
}
.c-tag_wrap .tag-list label {
  border: 1px solid rgba(179, 192, 200, 0.6);
  color: #fff;
  display: block;
  padding: 8px 22px 7px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.28em;
  text-align: center;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-tag_wrap .tag-list input {
  display: none;
}
.c-tag_wrap .tag-list input[type=checkbox]:checked + label {
  background: #fff;
  border-color: #fff;
  color: #8096A3;
}
.c-tag_wrap .search-area {
  margin-top: 65px;
}
.c-tag_wrap .contents-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 77px 50px;
}
.c-tag_wrap .img {
  position: relative;
}
.c-tag_wrap .img img {
  width: 100%;
}
.c-tag_wrap .img .label-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
}
.c-tag_wrap .img .label-wrap .label {
  background: #BFBFBF;
  display: block;
  padding: 10px;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.13em;
  text-align: center;
  min-width: 109px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-tag_wrap .img .label-wrap .label.people, .c-tag_wrap .img .label-wrap .label.people_people {
  background: #333;
  color: #fff;
}
.c-tag_wrap .img .label-wrap .label.career, .c-tag_wrap .img .label-wrap .label.career_people {
  background: #722460;
  color: #fff;
}
.c-tag_wrap .img .label-wrap .label.career.orange, .c-tag_wrap .img .label-wrap .label.career_people.orange {
  background: #fbe7cf;
  color: #333;
}
.c-tag_wrap .img .label-wrap .label.talk, .c-tag_wrap .img .label-wrap .label.talk_people {
  background: #8096A3;
  color: #fff;
}
.c-tag_wrap .img .label-wrap .label.project, .c-tag_wrap .img .label-wrap .label.project_people {
  background: #b5bec5;
}
.c-tag_wrap .img .label-wrap .label.work, .c-tag_wrap .img .label-wrap .label.work_people {
  background: #d9e6f4;
}
.c-tag_wrap .img .label-wrap .label.another, .c-tag_wrap .img .label-wrap .label.another_people {
  background: #000;
  color: #fff;
}
.c-tag_wrap .ttl {
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.23em;
  line-height: 1.7;
  margin: 30px 0 30px;
}
.c-tag_wrap .txt {
  color: #fff;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.14em;
  line-height: 2;
  margin-bottom: 20px;
}
.c-tag_wrap .recommendation-wrap .ttl-wrap {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: grid;
  grid-template-columns: 44px 1fr;
  margin-bottom: 20px;
}
.c-tag_wrap .recommendation-wrap .ico {
  position: relative;
}
.c-tag_wrap .recommendation-wrap .ico img {
  position: relative;
  z-index: 2;
}
.c-tag_wrap .recommendation-wrap .ico::before {
  background: #fff;
  border-radius: 100px;
  content: "";
  height: 44px;
  width: 44px;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  z-index: 1;
}
.c-tag_wrap .recommendation-wrap .recommendation-ttl {
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.23em;
  padding-left: 20px;
  position: relative;
  padding-bottom: 15px;
}
.c-tag_wrap .recommendation-wrap .recommendation-ttl::before {
  background: #B3C0C8;
  content: "";
  height: 1px;
  width: 100%;
  position: absolute;
  bottom: 0;
  right: 0;
}
.c-tag_wrap .recommendation-wrap .txt {
  color: #fff;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.14em;
  line-height: 2;
}
.c-tag_wrap .tag-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px 15px;
}
.c-tag_wrap .tag-wrap .tag {
  background: transparent;
  border: 1px solid #B3C0C8;
  border-radius: 5px;
  color: #fff;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.28em;
  text-align: center;
  padding: 8px 22px;
}
.c-tag_wrap .tag-wrap .tag.is-select {
  background: #fff;
  border-color: #fff;
  color: #8096A3;
}
.c-tag_wrap .btn-wrap {
  margin-top: 86px;
  width: 100%;
}
.c-tag_wrap .btn-wrap a {
  background: #7D878D;
  color: #fff;
  display: block;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.34em;
  max-width: 586px;
  padding: 30px 15px;
  text-align: center;
  margin: auto;
  width: 100%;
}

.c-menu_btn {
  background: #fff;
  width: 100px;
  height: 45px;
  z-index: 999;
  position: relative;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-menu_btn .inn {
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 30px;
  height: 11px;
}
.c-menu_btn .line:nth-of-type(2)::after {
  top: 0;
  content: "";
}
.c-menu_btn .line,
.c-menu_btn .line:nth-of-type(2)::after {
  background: #333;
  display: inline-block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}
.c-menu_btn .line:nth-of-type(1) {
  top: 0;
  -webkit-transform-origin: right center;
          transform-origin: right center;
}
.c-menu_btn .line:nth-of-type(3) {
  bottom: 5px;
  -webkit-transform-origin: left center;
          transform-origin: left center;
}
.c-menu_btn .line:nth-of-type(2) {
  top: 10px;
}
.c-menu_btn .line:nth-of-type(1),
.c-menu_btn .line:nth-of-type(3) {
  -webkit-transition: 0.2s;
  transition: 0.2s;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
.c-menu_btn.is-open .inn {
  top: -10px;
}
.c-menu_btn.is-open .line:nth-of-type(1), .c-menu_btn.is-open .line:nth-of-type(3) {
  -webkit-transform: scaleX(0) translate3d(0, 0, 0);
          transform: scaleX(0) translate3d(0, 0, 0);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.c-menu_btn.is-open .line:nth-of-type(2), .c-menu_btn.is-open .line:nth-of-type(2)::after {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
.c-menu_btn.is-open .line:nth-of-type(2) {
  -webkit-transform: rotate(45deg) translate3d(0, 0, 0);
          transform: rotate(45deg) translate3d(0, 0, 0);
}
.c-menu_btn.is-open .line:nth-of-type(2)::after {
  -webkit-transform: rotate(90deg) translate3d(0, 0, 0);
          transform: rotate(90deg) translate3d(0, 0, 0);
}

.c-menu_wrap {
  background: #666;
  position: fixed;
  top: 115px;
  left: 0;
  width: 100%;
  height: calc(100% - 115px);
  padding: 60px 50px 145px;
  overflow-y: auto;
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translateY(-15px);
          transform: translateY(-15px);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-menu_wrap.is-open {
  opacity: 1;
  pointer-events: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-menu_wrap .inn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  max-width: 1185px;
  margin: 0 auto;
}
.c-menu_wrap .wrap {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 16px;
  position: relative;
  padding: 20px 0 0 20px;
}
.c-menu_wrap .wrap::before, .c-menu_wrap .wrap::after {
  background: #8C8C8C;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
}
.c-menu_wrap .wrap::before {
  height: 1px;
  width: 100%;
}
.c-menu_wrap .wrap::after {
  width: 1px;
  height: 100%;
}
.c-menu_wrap .wrap.middle {
  width: 66.58%;
}
.c-menu_wrap .wrap.middle .img-list.single {
  grid-template-columns: auto;
}
.c-menu_wrap .wrap.short {
  width: 29.11%;
}
.c-menu_wrap .wrap.three-column {
  width: calc((100% - 150px) / 3);
}
.c-menu_wrap .img-list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}
.c-menu_wrap .img-list a {
  color: #fff;
  display: block;
}
.c-menu_wrap .img-list .img {
  overflow: hidden;
}
.c-menu_wrap .img-list .img img {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-menu_wrap .img-list .txt {
  display: block;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.3em;
  line-height: 1.833333;
  margin-top: 15px;
}
.c-menu_wrap .menu-link-list.num {
  counter-reset: number 0;
}
.c-menu_wrap .menu-link-list.num li {
  position: relative;
  padding-left: 25px;
}
.c-menu_wrap .menu-link-list.num li::before {
  color: #fff;
  counter-increment: number 1;
  content: counter(number, decimal-leading-zero) " ";
  font-size: 11px;
  position: absolute;
  top: 4px;
  left: 0;
  margin: auto;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.c-menu_wrap .menu-link-list li + li {
  margin-top: 10px;
}
.c-menu_wrap .menu-link-list a {
  color: #fff;
  display: block;
  font-size: 12px;
  letter-spacing: 0.34em;
}
.c-menu_wrap .ttl {
  color: #fff;
}
.c-menu_wrap .ttl .ja {
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.34em;
}
.c-menu_wrap .ttl .ja.lt-24 {
  letter-spacing: 0.05em;
}
.c-menu_wrap .ttl .en {
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.18em;
}
.c-menu_wrap .l-flex {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 30px;
}
.c-menu_wrap .btn-wrap {
  margin-top: 86px;
  width: 100%;
}
.c-menu_wrap .btn-wrap a {
  background: #46545C;
  color: #fff;
  display: block;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.34em;
  max-width: 586px;
  padding: 30px 15px;
  text-align: center;
  margin: auto;
  width: 100%;
}
.c-menu_wrap .c-btn-wrap {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(3, auto);
  gap: 10px;
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.c-menu_wrap .c-btn-wrap .c-btn01 {
  margin: 0 !important;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.c-menu_wrap .c-btn-wrap .c-btn01:nth-child(1) {
  grid-area: 1/1/2/2;
}
.c-menu_wrap .c-btn-wrap .c-btn01:nth-child(2) {
  grid-area: 1/2/2/3;
}
.c-menu_wrap .c-btn-wrap .c-btn01:nth-child(3) {
  grid-area: 2/1/3/3;
}
.c-menu_wrap .c-btn-wrap .c-btn01:nth-child(4) {
  grid-area: 3/1/4/3;
}
.c-menu_wrap .c-btn-wrap .c-btn01 a {
  font-size: 12px;
  min-height: 45px;
}

/* --------------------------------
c-footer
----------------------------------- */
.c-footer {
  text-align: center;
  padding: 40px 15px 20px;
  background: #333;
  color: #fff;
  position: relative;
}
.c-footer .nav-menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-footer .nav-menu + .nav-menu {
  margin-top: 10px;
}
.c-footer .nav-menu li + li {
  margin-left: 40px;
}
.c-footer .nav-menu li > a {
  font-size: 11px;
  letter-spacing: 0.22em;
}
.c-footer .logo {
  margin-top: 73px;
}
.c-footer .copy-right {
  font-size: 10px;
  letter-spacing: 0.17em;
  margin-top: 25px;
}

/* --------------------------------
c-title01
----------------------------------- */
.title-wrap {
  background: #fff;
  position: relative;
  margin: auto;
  padding: 115px 100px 34px;
  position: relative;
}
.title-wrap::before {
  background: #fff;
  content: "";
  height: 30px;
  width: 100%;
  position: absolute;
  bottom: -39px;
  left: 0;
}

.c-title-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.c-title-area > * {
  width: 50%;
}
.c-title-area .title {
  text-align: center;
}
.c-title-area .title .main {
  color: #fff;
  font-size: 28px;
  font-weight: bold;
  letter-spacing: 0.5em;
}
.c-title-area .title .sub {
  color: #fff;
  display: block;
  font-weight: bold;
  font-size: 18px;
  letter-spacing: 0.5em;
  margin-top: 15px;
}
.c-title-area .text {
  color: #fff;
  font-size: 12px;
  letter-spacing: 0.2em;
  line-height: 2;
  padding-left: 50px;
}

.c-title01 {
  position: relative;
}
.c-title01 .num {
  font-size: 70px;
  font-weight: bold;
  position: absolute;
  top: -13px;
  left: 0;
  letter-spacing: 0.04em;
  line-height: 1;
}
.c-title01 .wrap {
  display: block;
  padding-left: 115px;
}
.c-title01 .main {
  display: block;
  font-size: 28px;
  font-weight: bold;
  letter-spacing: 0.16em;
}
.c-title01 .sub {
  display: block;
  font-size: 18px;
  font-family: var(--font-ShinGo-M);
  letter-spacing: 0.1em;
  line-height: 2;
  margin-top: 15px;
}

.c-title02 {
  color: #fff;
  border-bottom: solid 1px #fff;
  font-size: 26px;
  font-weight: bold;
  padding-bottom: 10px;
  text-align: center;
}

.c-title03 {
  color: #333;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  padding-bottom: 20px;
  position: relative;
  letter-spacing: 0.41em;
}
.c-title03.white {
  color: #fff;
}
.c-title03.white::after {
  background: #fff;
}
.c-title03.bg {
  margin: 0 calc(50% - 50vw);
  padding: 40px calc(50vw - 50%);
  position: relative;
}
.c-title03.bg .inn {
  display: block;
  position: relative;
  z-index: 2;
  padding-bottom: 20px;
}
.c-title03.bg .inn::after {
  background: #fff;
  background-size: 100% 100%;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  width: 36px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}
.c-title03.bg::before {
  background: #1e222e;
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.c-title03.bg::after {
  content: none;
}
.c-title03::after {
  background: #333;
  background-size: 100% 100%;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  width: 36px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}
.c-title03 .en {
  display: block;
  font-size: 14px;
  text-align: center;
  letter-spacing: 0.25em;
}

.c-title04 {
  color: #fff;
  border-bottom: solid 1px #8096A3;
  font-size: 20px;
  padding-bottom: 10px;
  letter-spacing: 0.16em;
  margin-bottom: 50px;
}

/* --------------------------------
c-breadcrumbs
----------------------------------- */
.c-breadcrumbs {
  background: transparent;
  padding: 115px 60px 0;
  position: relative;
  z-index: 1;
  margin: 0 calc(50% - 50vw);
  width: 100%;
}
.c-breadcrumbs .breadcrumbs-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.c-breadcrumbs .breadcrumbs-list li {
  position: relative;
  padding-right: 12px;
  margin-right: 12px;
  line-height: 1;
}
.c-breadcrumbs .breadcrumbs-list li:not(:last-child)::before {
  background: #fff;
  content: "";
  display: block;
  height: 12px;
  width: 1px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  -webkit-transform: rotate(25deg);
          transform: rotate(25deg);
}
.c-breadcrumbs .breadcrumbs-list .inn {
  color: #fff;
  font-size: 12px;
  letter-spacing: 0.18em;
}

/* --------------------------------
c-btn01
----------------------------------- */
.btn-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.c-btn01 a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 120px;
  min-height: 40px;
  background: #8096A3;
  font-size: 11px;
  color: #fff;
  letter-spacing: 0.26em;
  border: 1px solid #8096A3;
  text-align: center;
}
.c-btn01 + .c-btn01 {
  margin-left: 5px;
}
.c-btn01 + .c-btn01.naitei {
  margin-left: 10px;
}

/* --------------------------------
c-btn01
----------------------------------- */
.btn-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.c-btn02 a {
  background: var(--themeColor04);
  border: 1px solid var(--themeColor04);
  border-radius: 4px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 293px;
  min-height: 60px;
  font-size: 19px;
  color: #fff;
  letter-spacing: 0.13em;
  margin: 22px auto 0;
  position: relative;
  padding-right: 30px;
}
.c-btn02 a::before {
  content: "";
  width: 13px;
  height: 13px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  top: -10px;
  bottom: 0;
  right: 20px;
  margin: auto;
}

/* --------------------------------
c-btn03
----------------------------------- */
.c-btn03 {
  max-width: 428px;
}
.c-btn03.c-white a {
  border-color: #fff;
}
.c-btn03.c-large {
  max-width: 815px;
  margin: auto;
}
.c-btn03.c-large a {
  padding: 45px 80px 44px;
}
.c-btn03.dark a {
  background-color: #242424;
}
.c-btn03 a {
  border: 1px solid #666;
  background-color: rgba(0, 0, 0, 0.2);
  color: #fff;
  display: block;
  padding: 22px 40px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-btn03 a .inn {
  display: block;
  font-size: 18px;
  letter-spacing: 0.25em;
  position: relative;
}
.c-btn03 a .inn::before {
  background: #fff;
  content: "";
  width: 32px;
  height: 1px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-btn03 + .c-btn03 {
  margin-top: 14px;
}

/* --------------------------------
newgraduate-under-mv
----------------------------------- */
.newgraduate-under-mv .inner-block {
  padding-top: 60px;
  padding-bottom: 41px;
}

.mv-title {
  display: block;
  color: #fff;
}
.mv-title .main {
  display: block;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.25em;
}
.mv-title .sub {
  display: block;
  font-size: 11px;
  letter-spacing: 0.34em;
  margin-top: 10px;
}

.c-mv-img {
  background: url(../img/careers/company/mv-bg.jpg.webp) no-repeat top center;
  background-size: cover;
  background-position: bottom;
  padding-bottom: 324px;
  overflow: hidden;
}
.c-mv-img.mission {
  background-image: url(/employment/img/careers/mission/mv-img.jpg.webp);
}
.c-mv-img.internship {
  background-image: url(/employment/img/careers/internship/mv-img.jpg.webp);
  padding-bottom: 130px;
}
.c-mv-img.internship002 {
  background-image: url(/employment/img/careers/internship/002/mv-img.jpg.webp);
  background-position: bottom center;
}
.c-mv-img.internship003 {
  background-image: url(/employment/img/careers/internship/003/mv-img.jpg.webp);
}
.c-mv-img.internship004 {
  background-image: url(/employment/img/careers/internship/004/mv-img.jpg.webp);
}
.c-mv-img.internship005 {
  background-image: url(/employment/img/careers/internship/005/mv-img.jpg.webp);
  background-position: center;
}
.c-mv-img.internship006 {
  background-image: url(/employment/img/careers/internship/006/mv-img.jpg.webp);
  background-position: top center;
}
.c-mv-img.internship007 {
  background-image: url(/employment/img/careers/internship/007/mv-img.jpg.webp?20231207185526);
  background-position: top center;
}
.c-mv-img.internship008 {
  background-image: url(/employment/img/careers/internship/008/mv-img.jpg.webp?20231208103634);
  background-position: top center;
}
.c-mv-img.internship009 {
  background-image: url(/employment/img/careers/internship/009/mv-img.jpg.webp);
  background-position: top center;
}
.c-mv-img.internship2024-008 {
  background-image: url(/employment/img/careers/internship/24/008/mv-img.jpg.webp);
  background-position: top center;
}
.c-mv-img.internship2024-011 {
  background-image: url(/employment/img/careers/internship/24/011/mv-img.jpg.webp);
}
.c-mv-img.internship2025-01 {
  background-image: url(/employment/img/careers/internship/25/001/mv-img.jpg.webp);
}
.c-mv-img.requirement {
  background-image: url(/employment/img/careers/recruit/mv-img.jpg.webp);
  background-position: center;
}
.c-mv-img.business {
  background-image: url(/employment/img/careers/work/mv-bg.jpg.webp);
  padding-bottom: 0;
  background-repeat: no-repeat;
  background-size: cover;
}
.c-mv-img.info {
  background-image: url(/employment/img/careers/company/info/mv-bg.jpg.webp);
  background-repeat: no-repeat;
  background-size: cover;
}
.c-mv-img.data {
  background-image: url(/employment/img/careers/company/data/mv-bg.jpg.webp);
  background-repeat: no-repeat;
  background-size: cover;
}
.c-mv-img.message {
  background-image: url(/employment/img/careers/company/message/mv-bg.jpg.webp);
  background-repeat: no-repeat;
  background-size: cover;
}
.c-mv-img.talksession {
  background-image: url(/employment/img/careers/talksession/mv-bg.jpg.webp);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  padding-bottom: 0;
}
.c-mv-img.project {
  background-image: url(/employment/img/careers/project/mv-bg.jpg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  padding-bottom: 0;
}
.c-mv-img.company-movie {
  background-image: url(/employment/img/careers/movie/mv-bg.jpg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 0;
}
.c-mv-img.people {
  background-image: url(/employment/img/careers/people/mv-bg.jpg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  padding-bottom: 0;
  position: relative;
}
.c-mv-img.people::before {
  background: rgba(0, 0, 0, 0.6);
  content: "";
  height: calc(100% - 115px);
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}
.c-mv-img.people .c-breadcrumbs:not(.top) {
  margin: auto;
}
.c-mv-img.people .c-breadcrumbs:not(.top)::after {
  background: rgba(255, 255, 255, 0.4);
  content: "";
  height: 1px;
  width: 100%;
  top: 115px;
  position: absolute;
  left: 0;
}
.c-mv-img .newgraduate-under-mv {
  background: rgba(0, 0, 0, 0.6);
}
.c-mv-img .mv-title .main {
  font-size: 24px;
}

/* --------------------------------
c-animation
----------------------------------- */
@-webkit-keyframes leftLoop {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes leftLoop {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@-webkit-keyframes leftLoop02 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
}
@keyframes leftLoop02 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
}
@-webkit-keyframes rightLoop {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@keyframes rightLoop {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@-webkit-keyframes rightLoop02 {
  0% {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes rightLoop02 {
  0% {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes slideIn {
  from {
    opacity: 0;
    -webkit-transform: translateX(-50);
            transform: translateX(-50);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes slideIn {
  from {
    opacity: 0;
    -webkit-transform: translateX(-50);
            transform: translateX(-50);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
/* anm-slideText */
@-webkit-keyframes slideText {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    opacity: 0;
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideText {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    opacity: 0;
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
/* anm-smoothText */
@-webkit-keyframes smoothText {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0) skewY(12deg);
            transform: translate3d(0, 100%, 0) skewY(12deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0) skewY(0);
            transform: translate3d(0, 0, 0) skewY(0);
  }
}
@keyframes smoothText {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0) skewY(12deg);
            transform: translate3d(0, 100%, 0) skewY(12deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0) skewY(0);
            transform: translate3d(0, 0, 0) skewY(0);
  }
}
/* anm-slide-skew */
@-webkit-keyframes slide-skew {
  0% {
    -webkit-transform: translate(30px, 30px);
            transform: translate(30px, 30px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  20%, 100% {
    opacity: 1;
  }
}
@keyframes slide-skew {
  0% {
    -webkit-transform: translate(30px, 30px);
            transform: translate(30px, 30px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  20%, 100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeInUp02 {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 20px, 0);
            transform: translate3d(0, 20px, 0);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInUp02 {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 20px, 0);
            transform: translate3d(0, 20px, 0);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes swipeTop {
  0% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
  50%, 60% {
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }
}
@keyframes swipeTop {
  0% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
  50%, 60% {
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }
}
@-webkit-keyframes swipeBottom {
  0% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
  50%, 60% {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }
  100% {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }
}
@keyframes swipeBottom {
  0% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
  50%, 60% {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }
  100% {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }
}
@-webkit-keyframes swipeLeft {
  0% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
  50%, 60% {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
}
@keyframes swipeLeft {
  0% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
  50%, 60% {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
}
@-webkit-keyframes zoomOut {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 0;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes zoomOut {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 0;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.is-leftLoop {
  -webkit-animation: leftLoop 50s -25s linear infinite;
          animation: leftLoop 50s -25s linear infinite;
}

.is-leftLoop02 {
  -webkit-animation: leftLoop02 50s linear infinite;
          animation: leftLoop02 50s linear infinite;
}

.is-rightLoop {
  -webkit-animation: rightLoop 50s -25s linear infinite;
          animation: rightLoop 50s -25s linear infinite;
}

.is-rightLoop02 {
  -webkit-animation: rightLoop02 50s linear infinite;
          animation: rightLoop02 50s linear infinite;
}

.anm-fadeIn {
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
.anm-fadeIn.is-animated {
  -webkit-animation: fadeIn 1.5s ease-in-out forwards;
          animation: fadeIn 1.5s ease-in-out forwards;
}

.anm-fadeInUp {
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
.anm-fadeInUp.is-animated {
  -webkit-animation: fadeInUp 1.5s both;
          animation: fadeInUp 1.5s both;
}

.anm-fadeInUp02 {
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
}
.anm-fadeInUp02.is-animated {
  -webkit-animation: fadeInUp02 0.8s both;
          animation: fadeInUp02 0.8s both;
}

.anm-slideIn {
  -webkit-animation: slideIn 1.5s ease-in-out forwards;
          animation: slideIn 1.5s ease-in-out forwards;
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

.anm-slideText {
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  -webkit-transition: 1.4s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 1.4s cubic-bezier(0.37, 0, 0.63, 1);
  -webkit-transition-property: -webkit-clip-path;
  transition-property: -webkit-clip-path;
  transition-property: clip-path;
  transition-property: clip-path, -webkit-clip-path;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.anm-slideText.is-animated {
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
}

.anm-smoothText {
  overflow: hidden;
  display: block;
}

.anm-smoothTextInner {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  display: block;
  opacity: 0;
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: 0.8s ease-in-out;
  transition: 0.8s ease-in-out;
}
.anm-smoothTextInner.is-animated {
  -webkit-animation: smoothText 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
          animation: smoothText 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}

.anm-smoothTextInner02 {
  -webkit-animation: smoothText 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
          animation: smoothText 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
  display: block;
  opacity: 0;
  -webkit-transform-origin: left;
          transform-origin: left;
}

.anm-slide-skew {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
.anm-slide-skew.is-animated {
  -webkit-animation: slide-skew 1.2s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
          animation: slide-skew 1.2s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}

.anm-list.is-animated > li, .anm-list.is-animated > div {
  -webkit-animation: fadeInUp 1.5s both;
          animation: fadeInUp 1.5s both;
}
.anm-list.is-animated > li:nth-child(3n+2), .anm-list.is-animated > div:nth-child(3n+2) {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
.anm-list.is-animated > li:nth-child(3n+3), .anm-list.is-animated > div:nth-child(3n+3) {
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}
.anm-list.is-animated > li:nth-child(3n+4), .anm-list.is-animated > div:nth-child(3n+4) {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}

.anm-swipeTop, .anm-swipeBottom {
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  position: relative;
  overflow: hidden;
}
.anm-swipeTop::before, .anm-swipeBottom::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  background: #292929;
  -webkit-transform: translate3d(0%, 0, 0);
          transform: translate3d(0%, 0, 0);
}

.anm-swipeTop.is-animated::before {
  -webkit-animation: swipeTop 1.1s cubic-bezier(0.6, 0, 0.4, 1);
          animation: swipeTop 1.1s cubic-bezier(0.6, 0, 0.4, 1);
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.anm-swipeBottom.is-animated::before {
  -webkit-animation: swipeBottom 1.1s cubic-bezier(0.6, 0, 0.4, 1);
          animation: swipeBottom 1.1s cubic-bezier(0.6, 0, 0.4, 1);
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.anm-swipeLeft {
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  position: relative;
  overflow: hidden;
}
.anm-swipeLeft::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  background: #292929;
  -webkit-transform: translate3d(0%, 0, 0);
          transform: translate3d(0%, 0, 0);
}
.anm-swipeLeft.is-animated::before {
  -webkit-animation: swipeLeft 1.1s cubic-bezier(0.6, 0, 0.4, 1);
          animation: swipeLeft 1.1s cubic-bezier(0.6, 0, 0.4, 1);
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.anm-zoomOut.is-animated {
  -webkit-animation: zoomOut 0.8s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
          animation: zoomOut 0.8s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}

.anm-flip-boarrd .front {
  cursor: pointer;
  -webkit-transition: -webkit-transform 1s;
  transition: -webkit-transform 1s;
  transition: transform 1s;
  transition: transform 1s, -webkit-transform 1s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.anm-flip-boarrd .back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  -webkit-transition: -webkit-transform 1s;
  transition: -webkit-transform 1s;
  transition: transform 1s;
  transition: transform 1s, -webkit-transform 1s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: rotateY(-180deg);
          transform: rotateY(-180deg);
}
.anm-flip-boarrd.flipped .front {
  -webkit-transform: rotateY(180deg);
          transform: rotateY(180deg);
  position: absolute;
}
.anm-flip-boarrd.flipped .back {
  -webkit-transform: rotateY(0);
          transform: rotateY(0);
  position: relative;
}

.animation-bg {
  background: #8096A3;
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.animation-bg .logo {
  display: none;
}
.animation-bg .logo img {
  width: 160px;
}

.animation-bg02 {
  background: #8096A3;
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}

.animation-wrap {
  opacity: 0;
  pointer-events: none;
}

body.appear .animation-wrap {
  -webkit-animation-name: PageAnime-content;
          animation-name: PageAnime-content;
  -webkit-animation-duration: 0.55s;
          animation-duration: 0.55s;
  -webkit-animation-delay: 0.55s;
          animation-delay: 0.55s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
  pointer-events: auto;
}

.animation .animation-wrap {
  opacity: 1;
  pointer-events: auto;
}

@-webkit-keyframes PageAnime-content {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes PageAnime-content {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
body.appear.animation-top .animation-bg {
  -webkit-animation-name: PageAnime-btt;
          animation-name: PageAnime-btt;
  -webkit-animation-delay: 4s;
          animation-delay: 4s;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes PageAnime-btt {
  0% {
    -webkit-transform-origin: bottom;
            transform-origin: bottom;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform-origin: bottom;
            transform-origin: bottom;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50.001% {
    -webkit-transform-origin: top;
            transform-origin: top;
  }
  100% {
    -webkit-transform-origin: top;
            transform-origin: top;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}

@keyframes PageAnime-btt {
  0% {
    -webkit-transform-origin: bottom;
            transform-origin: bottom;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform-origin: bottom;
            transform-origin: bottom;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50.001% {
    -webkit-transform-origin: top;
            transform-origin: top;
  }
  100% {
    -webkit-transform-origin: top;
            transform-origin: top;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}
body.c-top::before {
  background: #8096A3;
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  z-index: 1000;
}
body.c-top.is-active::before {
  -webkit-animation: left-move 0.4s forwards;
          animation: left-move 0.4s forwards;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
body.c-top .animation-bg.is-hidden {
  display: none;
}
body.c-top .animation-wrap.is-hidden {
  opacity: 1;
  pointer-events: all;
}

body.c-under::before {
  background: #8096A3;
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  -webkit-transform-origin: right;
          transform-origin: right;
  z-index: 1000;
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
body.c-under::after {
  background: #8096A3;
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  -webkit-transform-origin: left;
          transform-origin: left;
  z-index: 1000;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
}
body.c-under.is-active::before {
  -webkit-animation: right-move 0.4s forwards;
          animation: right-move 0.4s forwards;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
body.c-under.is-active02::after {
  -webkit-animation: left-move 0.4s forwards;
          animation: left-move 0.4s forwards;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

@-webkit-keyframes left-move {
  0% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}

@keyframes left-move {
  0% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}
@-webkit-keyframes right-move {
  0% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  100% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}
@keyframes right-move {
  0% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  100% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}
/* --------------------------------
c-list
----------------------------------- */
.c-box-title-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-box-title-list.max-2 li {
  max-width: 424px;
  width: calc((100% - 42px) / 2);
}
.c-box-title-list.max-3 li {
  width: calc((100% - 70px) / 3);
}
.c-box-title-list .box-title {
  background: rgb(var(--themeColor02)/0.55);
  border-radius: 4px;
  color: #fff;
  display: block;
  font-size: 26px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.16em;
  padding: 40px 15px;
  width: 100%;
}
.c-box-title-list .en-ttl {
  font-size: 57px;
  font-weight: bold;
  margin-top: 17px;
  display: block;
}
.c-box-title-list .title {
  display: block;
  font-size: 22px;
  font-family: var(--font-ShinGo-M);
  letter-spacing: 0.15em;
  line-height: 1.7;
  margin-top: 35px;
}
.c-box-title-list .title.underine {
  border-bottom: 1px solid var(--themeColor03);
  text-align: center;
  padding-bottom: 15px;
}
.c-box-title-list .txt {
  font-size: 18px;
  margin-top: 20px;
  display: block;
}
.c-box-title-list .en-ttl.white,
.c-box-title-list .title.white,
.c-box-title-list .txt.white {
  color: #fff;
}

.c-icon-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.c-icon-list > li {
  width: calc((100% - 120px) / 3);
}
.c-icon-list .ico {
  background: #fff;
  border-radius: 100px;
  display: block;
  height: 176px;
  width: 176px;
  text-align: center;
  margin: 0 auto 30px;
}
.c-icon-list .title {
  font-size: 23px;
  font-family: var(--font-ShinGo-M);
  letter-spacing: 0.05em;
  text-align: center;
}
.c-icon-list .title .small {
  display: block;
  font-size: 20px;
}
.c-icon-list .text {
  border-top: 1px solid var(--themeColor);
  font-size: 18px;
  font-family: var(--font-ShinGo-M);
  letter-spacing: 0.03em;
  line-height: 1.6666;
  padding-top: 40px;
  margin-top: 50px;
}
.c-icon-list .text.line-none {
  border: none;
  padding-top: 0;
  margin-top: 20px;
}
.c-icon-list .c-num-list {
  margin-top: 60px;
}
.c-icon-list .c-num-list li {
  background: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding: 8px 20px;
}
.c-icon-list .c-num-list li + li {
  margin-top: 13px;
}
.c-icon-list .c-num-list li .num {
  background: var(--themeColor);
  border-radius: 100px;
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 13px;
  width: 25px;
  height: 25px;
  line-height: 1;
  position: relative;
  top: 2px;
}
.c-icon-list .c-num-list li .text {
  border: 0;
  padding-top: 0;
  margin-top: 0;
  padding-left: 15px;
  width: calc(100% - 25px);
}
.c-icon-list.max-4 > li {
  width: calc((100% - 180px) / 4);
}
.c-txt-number-list li {
  background: #fff;
  border-radius: 5px;
  padding: 90px 30px;
  text-align: center;
}
.c-txt-number-list li .number {
  color: var(--themeColor06);
  font-size: 55px;
  font-weight: bold;
  line-height: 1;
}
.c-txt-number-list li .txt {
  font-size: 22px;
  font-family: var(--font-ShinGo-M);
  margin-top: 20px;
  line-height: 1.8;
}

.c-list01 li {
  font-size: 15px;
  padding-left: 15px;
  position: relative;
}
.c-list01 li::after {
  background: #474747;
  border-radius: 50%;
  content: "";
  display: block;
  height: 4px;
  position: absolute;
  width: 4px;
  top: 9px;
  left: 4px;
}

/* --------------------------------
c-skew-list
----------------------------------- */
.c-skew-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 880px;
  grid-gap: 60px;
  margin: 0 auto;
}
.c-skew-list.mt-100 {
  margin-top: 100px;
}
.c-skew-list.mt-60 {
  margin-top: -60px;
}
.c-skew-list .img-area {
  position: relative;
}
.c-skew-list .c-img-frame {
  border-radius: 20px;
  position: relative;
}
.c-skew-list .c-img-frame:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  border: 5px solid #8096A3;
  border-radius: 20px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.c-skew-list .icon {
  background-color: #8096A3;
  -webkit-transform: skewY(-18deg);
          transform: skewY(-18deg);
  border-radius: 9px;
  overflow: hidden;
  text-align: center;
  width: 100px;
  padding: 21px 5px;
  position: absolute;
  right: 16px;
  bottom: 61px;
}
.c-skew-list .icon > * {
  -webkit-transform: skewY(18deg);
          transform: skewY(18deg);
}
.c-skew-list .icon .txt {
  font-size: 10px;
  letter-spacing: 0.02em;
  margin-top: 3px;
}
.c-skew-list .txt-area {
  margin-top: 86px;
  padding-left: 70px;
}
.c-skew-list .belong {
  font-size: 12px;
  letter-spacing: 0.15em;
  line-height: 2;
}
.c-skew-list .belong .small {
  display: block;
}
.c-skew-list .name {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.26em;
  margin-top: 10px;
}

/* --------------------------------
c-table
----------------------------------- */
.c-table01 .table-ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  margin-bottom: 25px;
}
.c-table01 .table-ttl li {
  background: #e8e8e8;
  color: #474747;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  padding: 11px;
  letter-spacing: 0.41em;
}
.c-table01 .table-ttl li:nth-child(1) {
  width: 450px;
}
.c-table01 .table-ttl li:nth-child(2) {
  width: calc(100% - 465px);
}
.c-table01 table tr {
  position: relative;
}
.c-table01 table tr::after {
  background: var(--themeColor05);
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  width: calc(100% - 245px);
  bottom: 0;
  right: 0;
}
.c-table01 table th {
  background: var(--themeColor05);
  border-bottom: solid 1px #fff;
  color: #fff;
  font-size: 17px;
  text-align: left;
  line-height: 2;
  padding: 35px;
  width: 230px;
}
.c-table01 table td {
  font-family: var(--font-ShinGo-M);
  padding: 23px 20px;
  width: calc(100% - 465px);
}
.c-table01 table td.td-ttl {
  width: 235px;
}

.c-table02 {
  color: #fff;
  font-size: 14px;
}
.c-table02 table {
  width: 100%;
}
.c-table02 tr:last-child th,
.c-table02 tr:last-child td {
  border-bottom: none;
}
.c-table02 th,
.c-table02 td {
  padding: 30px 30px;
}
.c-table02 th {
  background: #3e3e3e;
  border-bottom: solid 1px #000;
  text-align: left;
  letter-spacing: 0.33em;
  width: 174px;
}
.c-table02 td {
  background: #4d4d4d;
  border-bottom: solid 1px #333;
  letter-spacing: 0.16em;
  width: calc(100% - 174px);
}
.c-table02 a {
  text-decoration: underline;
}
.c-table02 .map {
  margin-top: 30px;
}
.c-table02 .map iframe {
  width: 100%;
  height: 292px;
}

.c-table03 {
  width: 100%;
}
.c-table03 table {
  table-layout: fixed;
  width: 100%;
}
.c-table03 tbody th, .c-table03 thead th {
  color: #fff;
  font-size: 15px;
  font-weight: 300;
  width: 475px;
  letter-spacing: 0.05em;
  text-align: left;
}
.c-table03 thead th {
  padding: 0 25px;
}
.c-table03 thead td {
  color: #fff;
  font-size: 18px;
  position: relative;
  text-align: center;
  padding: 6px 0;
}
.c-table03 thead td::before {
  border: 1px solid #4D4D4D;
  content: "";
  width: 96%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.c-table03 tbody tr:nth-child(even) {
  background: #252525;
}
.c-table03 tbody th {
  border-right: 1px dashed #808080;
  padding: 25px 25px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.c-table03 tbody th .num {
  display: block;
  width: 22px;
}
.c-table03 tbody th .inn {
  display: block;
  position: relative;
  margin-left: 13px;
  width: calc(100% - 35px);
}
.c-table03 tbody td {
  padding: 10px;
  position: relative;
}
.c-table03 tbody td:nth-of-type(odd) {
  background: rgba(0, 0, 0, 0.1);
}
.c-table03 tbody td .day {
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  position: absolute;
  top: 15px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  white-space: nowrap;
  text-align: center;
  letter-spacing: 0.05em;
}
.c-table03 tbody td .day::before {
  background: currentColor;
  border-radius: 100px;
  content: "";
  height: 7px;
  width: 7px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.c-table03 tbody td .day.twoday::after {
  background: currentColor;
  content: "";
  height: 1px;
  width: 142px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 37px;
  right: 0;
  margin: auto;
}
.c-table03 tbody td .day.twoday.short::after {
  width: 71px;
}
.c-table03 tbody td .day.twoday.long::after {
  width: 213px;
}

/* --------------------------------
c-illust-link
----------------------------------- */
.c-illust-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
.c-illust-link + .c-illust-link {
  margin-top: 170px;
}
.c-illust-link .link-box {
  padding: 52px 54px 90px;
  max-width: 600px;
  width: 50vw;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-illust-link .link-ttl {
  display: inline-block;
  font-size: 24px;
  letter-spacing: 0.25em;
  line-height: 1.5;
}
.c-illust-link .link-ttl .main {
  position: relative;
  padding-right: 50px;
}
.c-illust-link .link-ttl .main::after {
  background: #fff;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  width: 32px;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-illust-link .link-ttl .en {
  font-size: 11px;
  letter-spacing: 0.34em;
}
.c-illust-link .link-ttl.en-none {
  padding-bottom: 35px;
}
.c-illust-link .link-ttl.column .en {
  display: block;
  margin-top: 10px;
}
.c-illust-link .link-txt {
  font-size: 13px;
  margin-top: 35px;
  letter-spacing: 0.2em;
  line-height: 2;
}
.c-illust-link .link-img {
  position: absolute;
  margin: auto;
}
.c-illust-link.right {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.c-illust-link.left {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

/* --------------------------------
c-img-frame
----------------------------------- */
.c-img-frame {
  -webkit-transform: skewY(-16deg);
          transform: skewY(-16deg);
  border-radius: 50px;
  overflow: hidden;
}
.c-img-frame.img-sm img {
  -webkit-transform: skewY(16deg) scale(1.38);
          transform: skewY(16deg) scale(1.38);
  top: -1px;
  left: -6px;
  position: relative;
}
.c-img-frame img {
  width: 100%;
  -webkit-transform: skewY(16deg) scale(1.5);
          transform: skewY(16deg) scale(1.5);
  -o-object-fit: cover;
     object-fit: cover;
  pointer-events: none;
}
.c-img-frame img.set-position {
  -o-object-position: left 34px top 8px;
     object-position: left 34px top 8px;
}
.c-img-frame img.set-position02 {
  -o-object-position: left -45px top 8px;
     object-position: left -45px top 8px;
}

.c-index-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.c-index-list li {
  background: transparent;
  position: relative;
}
.c-index-list a {
  display: block;
  position: relative;
}
.c-index-list a::before {
  background: #000;
  content: "";
  opacity: 0.4;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
  z-index: 0;
}
.c-index-list a, .c-index-list img {
  border-radius: 0;
}
.c-index-list [src*=logo-jaxa] {
  margin-bottom: -10px;
}
.c-index-list .catch {
  color: #fff;
  font-size: 23px;
  font-weight: bold;
  letter-spacing: 0.51em;
  position: absolute;
  top: -50px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.c-index-list .catch .inn {
  position: relative;
}
.c-index-list .catch .inn::before, .c-index-list .catch .inn::after {
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  position: absolute;
}
.c-index-list .catch .inn::before {
  -webkit-transform: rotate(0);
          transform: rotate(0);
  top: -20px;
  right: -15px;
}
.c-index-list .catch .inn::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  bottom: 0px;
  left: -5px;
}
.c-index-list .text {
  background: rgba(70, 84, 92, 0.6);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 23px 65px 23px 30px;
  width: 100%;
}
.c-index-list .text::before {
  background: #fff;
  content: "";
  height: 1px;
  width: 21px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 45px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-index-list .text .logo-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.c-index-list .text .logo {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-index-list .text .logo img {
  width: 100%;
}
.c-index-list .text .logo.mx-75 {
  max-width: 75px;
}
.c-index-list .text .logo.mx-45 {
  max-width: 45px;
}
.c-index-list .text .logo + .logo {
  margin-left: 35px;
}
.c-index-list .text .logo + .logo::before {
  color: #fff;
  content: "&";
  font-size: 14px;
  font-family: "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, "UD新ゴ R", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-weight: bold;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -21px;
  margin: auto;
  height: 20px;
}
.c-index-list .text .logo p {
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.2;
}
.c-index-list .text .title {
  color: #fff;
  font-size: 16px;
  letter-spacing: 0.45em;
  line-height: 2;
  margin-top: 5px;
}
.c-index-list .text .sub {
  color: #fff;
  font-size: 16px;
  letter-spacing: 0.31em;
  margin-top: 10px;
}

/* --------------------------------
c-bnr-block
----------------------------------- */
.bnr-block {
  background: #fff;
  position: relative;
  z-index: 2;
}
.bnr-block .inner-block {
  padding-top: 80px;
  padding-bottom: 80px;
}
.bnr-block .bnr {
  max-width: 812px;
  margin: 0 auto;
  display: block;
}

/* -----------------------------------------------
* Modules エントリーポイント
-------------------------------------------------- */
/* -----------------------------------------------
* home Module
* homeページ用
-------------------------------------------------- */
.home.ng-container {
  padding-top: 1px;
}

.ng-container {
  background: #333;
}

.ng-section-top-mv {
  position: relative;
}
.ng-section-top-mv .img-wrap {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.ng-section-top-mv .img-wrap.is-active .img {
  -webkit-animation: mv-slider 24s linear backwards infinite;
          animation: mv-slider 24s linear backwards infinite;
}
.ng-section-top-mv .img-wrap.is-active .img:nth-child(1) {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
.ng-section-top-mv .img-wrap.is-active .img:nth-child(2) {
  -webkit-animation-delay: 4s;
          animation-delay: 4s;
}
.ng-section-top-mv .img-wrap.is-active .img:nth-child(3) {
  -webkit-animation-delay: 8s;
          animation-delay: 8s;
}
.ng-section-top-mv .img-wrap.is-active .img:nth-child(4) {
  -webkit-animation-delay: 12s;
          animation-delay: 12s;
}
.ng-section-top-mv .img-wrap.is-active .img:nth-child(5) {
  -webkit-animation-delay: 16s;
          animation-delay: 16s;
}
.ng-section-top-mv .img-wrap.is-active .img:nth-child(6) {
  -webkit-animation-delay: 20s;
          animation-delay: 20s;
}
.ng-section-top-mv .img-wrap .img {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.ng-section-top-mv .img-wrap .img picture {
  display: block;
  width: 100%;
  height: 100%;
}
.ng-section-top-mv .inner-block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: calc(var(--vh-onload, 1vh) * 100);
  min-height: 540px;
}
.ng-section-top-mv .txt-wrap {
  margin-top: auto;
  margin-bottom: 0;
  display: none;
  pointer-events: none;
  position: relative;
  z-index: 1;
}
.ng-section-top-mv .c-breadcrumbs {
  margin-top: 0;
}

.ng-section-top-banner {
  padding-top: 100px;
}

.ng-section-top-banner02 {
  background: #fff;
  padding: 52px 0 80px;
}
.ng-section-top-banner02.newgraduate {
  padding-top: 95px;
}
.ng-section-top-banner02 .ttl {
  font-size: 18px;
  letter-spacing: 0.16em;
  margin-bottom: 14px;
}
.ng-section-top-banner02 .inner-block {
  max-width: 872px;
  margin: auto;
}
.ng-section-top-banner02 a {
  display: inline-block;
}

.banner-list a,
.banner-list img {
  border-radius: 10px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.banner-list > li {
  background: #333333;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
}
.banner-list > li + li {
  margin-top: 40px;
}
.banner-list .ttl {
  font-size: 22px;
  letter-spacing: 0.31em;
  color: #fff;
  font-weight: bold;
  position: absolute;
  top: 10px;
  right: 13.2vw;
  bottom: 0;
  margin: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.banner-list .ttl .en {
  display: block;
  margin-top: 5px;
}
.banner-list source {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.ng-section-top-link {
  padding: 107px 0 250px;
}

.link-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.link-list a,
.link-list img {
  border-radius: 10px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.link-list > li {
  background: #333333;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}
.link-list > li + li {
  margin-left: 40px;
}
.link-list .ttl {
  font-size: 22px;
  letter-spacing: 0.46em;
  color: #fff;
  background: rgba(0, 0, 0, 0.69);
  text-align: center;
  max-width: 426px;
  height: 125px;
  padding: 20px;
  font-weight: bold;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.link-list + .banner-list {
  margin-top: 40px;
}

.btn-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.btn-list li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 50%;
}
.btn-list li:nth-child(1) {
  background: url(../img/home/sp-img-link03.jpg.webp) no-repeat center center/cover;
}
.btn-list li:nth-child(1) .btn a {
  height: 108px;
}
.btn-list li:nth-child(1) .btn + .btn {
  margin-top: 10px;
}
.btn-list li:nth-child(2) {
  background: url(../img/home/sp-img-link04.jpg.webp) no-repeat center center/cover;
}
.btn-list li:nth-child(2) .btn a {
  height: 230px;
}
.btn-list .inn {
  padding: 30px 50px;
  width: 100%;
}
.btn-list .inn .btn a {
  font-size: 24px;
  letter-spacing: 0.2em;
  color: #fff;
  background: rgba(128, 150, 163, 0.9);
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 15px;
}

@-webkit-keyframes mv-slider {
  0% {
    opacity: 0;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  5% {
    opacity: 1;
  }
  25% {
    opacity: 1;
  }
  30% {
    opacity: 0;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes mv-slider {
  0% {
    opacity: 0;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  5% {
    opacity: 1;
  }
  25% {
    opacity: 1;
  }
  30% {
    opacity: 0;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.mv-btn-wrap {
  position: absolute;
  bottom: 120px;
  right: 24px;
  z-index: 8;
}
.mv-btn-wrap a {
  border: 2px solid #fff;
  border-radius: 30px;
  color: #fff;
  display: block;
  padding: 70px 25px 35px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  width: 100%;
}
.mv-btn-wrap .en {
  display: block;
  max-width: 237px;
  margin-bottom: 20px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.mv-btn-wrap .ja {
  display: block;
  font-size: 13px;
  letter-spacing: 0.2em;
  line-height: 1.4;
}

@-webkit-keyframes fuwafuwa {
  0% {
    -webkit-transform: translate(0, 0) skewY(-15deg);
            transform: translate(0, 0) skewY(-15deg);
  }
  50% {
    -webkit-transform: translate(0, -7px) skewY(-15deg);
            transform: translate(0, -7px) skewY(-15deg);
  }
  100% {
    -webkit-transform: translate(0, 0) skewY(-15deg);
            transform: translate(0, 0) skewY(-15deg);
  }
}

@keyframes fuwafuwa {
  0% {
    -webkit-transform: translate(0, 0) skewY(-15deg);
            transform: translate(0, 0) skewY(-15deg);
  }
  50% {
    -webkit-transform: translate(0, -7px) skewY(-15deg);
            transform: translate(0, -7px) skewY(-15deg);
  }
  100% {
    -webkit-transform: translate(0, 0) skewY(-15deg);
            transform: translate(0, 0) skewY(-15deg);
  }
}
#pagetop {
  position: relative;
  background-color: #fff;
}
#pagetop > a {
  background: #8096A3;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 47px 0;
}
#pagetop > a .inn {
  text-align: center;
}
#pagetop > a .txt {
  display: block;
  text-align: center;
  font-size: 13px;
  letter-spacing: 0.22em;
  color: #fff;
  line-height: 1;
}

/* -----------------------------------------------
* development Module
* developmentページ用
-------------------------------------------------- */
.newgraduate.top, .career.top {
  background: #333;
  overflow: hidden;
}
.newgraduate .c-breadcrumbs, .career .c-breadcrumbs {
  z-index: 2;
}
.newgraduate .c-breadcrumbs:not(.top), .career .c-breadcrumbs:not(.top) {
  position: relative;
}
.newgraduate .c-breadcrumbs:not(.top)::before, .career .c-breadcrumbs:not(.top)::before {
  background: rgba(255, 255, 255, 0.6);
  content: "";
  height: calc(100% - 115px);
  width: 101%;
  position: absolute;
  bottom: 0;
  left: 0;
}
.newgraduate .ng-section-intro .inner-block, .career .ng-section-intro .inner-block {
  padding-top: 60px;
  padding-bottom: 140px;
  padding-left: 70px;
}
.newgraduate .read-more-wrap .aco-body, .career .read-more-wrap .aco-body {
  display: none;
  margin-bottom: 40px;
}
.newgraduate .read-more-wrap .aco-body.open, .career .read-more-wrap .aco-body.open {
  display: block;
}
.newgraduate .read-more-wrap .aco-body.is-active, .career .read-more-wrap .aco-body.is-active {
  display: block;
}
.newgraduate .read-more-wrap .aco-body .inn, .career .read-more-wrap .aco-body .inn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.newgraduate .read-more-wrap .aco-body .inn > *, .career .read-more-wrap .aco-body .inn > * {
  width: 100%;
  margin-left: 0;
}
.newgraduate .read-more-wrap .aco-body .ttl img, .career .read-more-wrap .aco-body .ttl img {
  max-width: 385px;
}
.newgraduate .read-more-wrap .aco-body .text-wrap .txt, .career .read-more-wrap .aco-body .text-wrap .txt {
  color: #fff;
  font-size: 18px;
  letter-spacing: 0.02em;
  line-height: 2;
}
.newgraduate .read-more-wrap .aco-body .text-wrap .txt + .txt, .career .read-more-wrap .aco-body .text-wrap .txt + .txt {
  margin-top: 30px;
}
.newgraduate .read-more-wrap .aco-btn, .career .read-more-wrap .aco-btn {
  width: 40%;
}
.newgraduate .read-more-wrap .aco-btn.is-active .inn::after, .career .read-more-wrap .aco-btn.is-active .inn::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.newgraduate .read-more-wrap .aco-btn .inn, .career .read-more-wrap .aco-btn .inn {
  background: #1A1A1A;
  cursor: pointer;
  color: #fff;
  display: block;
  font-size: 12px;
  letter-spacing: 0.46em;
  padding: 14px 20px 14px 28px;
  position: relative;
  max-width: 270px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.newgraduate .read-more-wrap .aco-btn .inn::before, .newgraduate .read-more-wrap .aco-btn .inn::after, .career .read-more-wrap .aco-btn .inn::before, .career .read-more-wrap .aco-btn .inn::after {
  background: #8C8C8C;
  content: "";
  height: 26px;
  width: 1px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.newgraduate .read-more-wrap .aco-btn .inn::after, .career .read-more-wrap .aco-btn .inn::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.newgraduate .ng-section-mission, .career .ng-section-mission {
  background: url(/employment/img/careers/img-bg01.jpg.webp) no-repeat center center;
  background-size: cover;
}
.newgraduate .ng-section-mission .inner-block, .career .ng-section-mission .inner-block {
  padding-top: 113px;
  padding-bottom: 113px;
}
.newgraduate .ng-section-mission .text-wrap, .career .ng-section-mission .text-wrap {
  text-align: center;
}
.newgraduate .ng-section-mission .text-wrap a, .career .ng-section-mission .text-wrap a {
  border: 1px solid #fff;
  display: block;
  padding: 43px 20px 35px;
}
.newgraduate .ng-section-mission .text-wrap .title, .career .ng-section-mission .text-wrap .title {
  color: #fff;
  font-size: 28px;
  font-weight: bold;
  letter-spacing: 0.5em;
}
.newgraduate .ng-section-mission .text-wrap .text, .career .ng-section-mission .text-wrap .text {
  color: #fff;
  font-size: 12px;
  letter-spacing: 0.2em;
  line-height: 2;
  margin-top: 25px;
}
.newgraduate .ng-section-know, .career .ng-section-know {
  margin-top: 80px;
  position: relative;
}
.newgraduate .ng-section-know::before, .career .ng-section-know::before {
  background: #292929;
  content: "";
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 80px;
}
.newgraduate .ng-section-know .inner-block, .career .ng-section-know .inner-block {
  padding-top: 160px;
  padding-bottom: 100px;
}
.newgraduate .ng-section-know .wrap, .career .ng-section-know .wrap {
  padding-top: 1px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: calc(50% - 50vw);
}
.newgraduate .ng-section-know .wrap .txt-wrap, .career .ng-section-know .wrap .txt-wrap {
  margin-right: 70px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.newgraduate .ng-section-know .wrap .txt-wrap .title, .career .ng-section-know .wrap .txt-wrap .title {
  color: #fff;
  font-size: 24px;
  letter-spacing: 0.41em;
}
.newgraduate .ng-section-know .wrap .txt-wrap .title .en, .career .ng-section-know .wrap .txt-wrap .title .en {
  font-size: 10px;
  letter-spacing: 0.35em;
}
.newgraduate .ng-section-know .wrap .txt-wrap .txt, .career .ng-section-know .wrap .txt-wrap .txt {
  color: #fff;
  font-size: 13px;
  letter-spacing: 0.2em;
  line-height: 2;
  margin-top: 50px;
  margin-bottom: 50px;
}
.newgraduate .ng-section-know .wrap .img, .career .ng-section-know .wrap .img {
  display: block;
  -webkit-box-flex: 2;
  -webkit-flex: 2 1 680px;
      -ms-flex: 2 1 680px;
          flex: 2 1 680px;
  overflow: hidden;
  position: relative;
  margin-top: -240px;
}
.newgraduate .ng-section-know .wrap .img .inn, .career .ng-section-know .wrap .img .inn {
  display: block;
}
.newgraduate .ng-section-know .wrap .img img, .career .ng-section-know .wrap .img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  min-height: 360px;
}
.newgraduate .ng-section-staff, .career .ng-section-staff {
  margin-top: 200px;
  position: relative;
}
.newgraduate .ng-section-staff::before, .career .ng-section-staff::before {
  background: #292929;
  content: "";
  height: 100%;
  position: absolute;
  top: 0;
  left: 80px;
  right: 0;
}
.newgraduate .ng-section-staff .inner-block, .career .ng-section-staff .inner-block {
  padding-top: 160px;
  padding-bottom: 100px;
}
.newgraduate .ng-section-staff .wrap, .career .ng-section-staff .wrap {
  padding-top: 1px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-left: calc(50% - 50vw);
}
.newgraduate .ng-section-staff .wrap .img, .career .ng-section-staff .wrap .img {
  display: block;
  -webkit-box-flex: 2;
  -webkit-flex: 2 1 680px;
      -ms-flex: 2 1 680px;
          flex: 2 1 680px;
  overflow: hidden;
  position: relative;
  margin-top: -240px;
}
.newgraduate .ng-section-staff .wrap .img .inn, .career .ng-section-staff .wrap .img .inn {
  display: block;
}
.newgraduate .ng-section-staff .wrap .img img, .career .ng-section-staff .wrap .img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  min-height: 360px;
}
.newgraduate .ng-section-staff .wrap .text-wrap, .career .ng-section-staff .wrap .text-wrap {
  margin-left: 70px;
}
.newgraduate .ng-section-staff .wrap .text-wrap .title, .career .ng-section-staff .wrap .text-wrap .title {
  color: #fff;
  font-size: 24px;
  letter-spacing: 0.41em;
  padding-right: 40px;
}
.newgraduate .ng-section-staff .wrap .text-wrap .title .en, .career .ng-section-staff .wrap .text-wrap .title .en {
  font-size: 10px;
  letter-spacing: 0.35em;
}
.newgraduate .ng-section-staff .wrap .text-wrap .text, .career .ng-section-staff .wrap .text-wrap .text {
  color: #fff;
  font-size: 13px;
  letter-spacing: 0.2em;
  line-height: 2;
  margin-top: 50px;
  margin-bottom: 50px;
}
.newgraduate .ng-section-talk, .career .ng-section-talk {
  padding-bottom: 200px;
}
.newgraduate .ng-section-talk .text-wrap, .career .ng-section-talk .text-wrap {
  background: #292929;
  padding: 140px 0 230px;
  margin: 0;
}
.newgraduate .ng-section-talk .text-wrap .text, .career .ng-section-talk .text-wrap .text {
  margin: 0;
}
.newgraduate .ng-section-talk .link-area, .career .ng-section-talk .link-area {
  margin-top: -50px;
}
.newgraduate .ng-section-talk .link-item, .career .ng-section-talk .link-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 70px;
}
.newgraduate .ng-section-talk .link-item .img-area, .career .ng-section-talk .link-item .img-area {
  max-width: 700px;
}
.newgraduate .ng-section-talk .link-item .img-area .c-img-frame, .career .ng-section-talk .link-item .img-area .c-img-frame {
  border-radius: 20px;
  position: relative;
}
.newgraduate .ng-section-talk .link-item .img-area .c-img-frame:after, .career .ng-section-talk .link-item .img-area .c-img-frame:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  border: 5px solid #8096A3;
  border-radius: 20px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.newgraduate .ng-section-talk .link-item .txt-area, .career .ng-section-talk .link-item .txt-area {
  color: #fff;
}
.newgraduate .ng-section-talk .link-item .txt-area .vertical-writing-ttl, .career .ng-section-talk .link-item .txt-area .vertical-writing-ttl {
  font-size: 24px;
  font-weight: bold;
  margin-left: 100px;
  letter-spacing: 0.4em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.newgraduate .ng-section-talk .link-item .txt-area .vertical-writing-ttl .inn, .career .ng-section-talk .link-item .txt-area .vertical-writing-ttl .inn {
  position: relative;
}
.newgraduate .ng-section-talk .link-item .txt-area .vertical-writing-ttl .inn::before, .newgraduate .ng-section-talk .link-item .txt-area .vertical-writing-ttl .inn::after, .career .ng-section-talk .link-item .txt-area .vertical-writing-ttl .inn::before, .career .ng-section-talk .link-item .txt-area .vertical-writing-ttl .inn::after {
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  position: absolute;
}
.newgraduate .ng-section-talk .link-item .txt-area .vertical-writing-ttl .inn::before, .career .ng-section-talk .link-item .txt-area .vertical-writing-ttl .inn::before {
  -webkit-transform: rotate(0);
          transform: rotate(0);
  top: -20px;
  right: -15px;
}
.newgraduate .ng-section-talk .link-item .txt-area .vertical-writing-ttl .inn::after, .career .ng-section-talk .link-item .txt-area .vertical-writing-ttl .inn::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  bottom: 0px;
  left: -5px;
}
.newgraduate .ng-section-talk .link-item .txt-area .profile, .career .ng-section-talk .link-item .txt-area .profile {
  margin-top: 60px;
  letter-spacing: 0.15em;
}
.newgraduate .ng-section-talk .link-item .txt-area .sub-ttl, .career .ng-section-talk .link-item .txt-area .sub-ttl {
  font-size: 12px;
}
.newgraduate .ng-section-talk .link-item .txt-area .ttl, .career .ng-section-talk .link-item .txt-area .ttl {
  font-size: 24px;
  margin-top: 20px;
}
.newgraduate .ng-section-talk .link-item .txt-area .icon, .career .ng-section-talk .link-item .txt-area .icon {
  width: 170px;
  margin-top: 20px;
}
.newgraduate .ng-section-talk .link-item .txt-area .txt, .career .ng-section-talk .link-item .txt-area .txt {
  font-size: 13px;
  line-height: 2;
  margin-top: 10px;
}
.newgraduate .ng-section-talk .link-item:nth-child(2n), .career .ng-section-talk .link-item:nth-child(2n) {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.newgraduate .ng-section-talk .link-item:nth-child(2n) .img-area, .career .ng-section-talk .link-item:nth-child(2n) .img-area {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
.newgraduate .ng-section-talk .link-item:nth-child(2n) .txt-area, .career .ng-section-talk .link-item:nth-child(2n) .txt-area {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
.newgraduate .ng-section-talk .link-item:nth-child(n+2), .career .ng-section-talk .link-item:nth-child(n+2) {
  margin-top: 250px;
}
.newgraduate .ng-section-project, .career .ng-section-project {
  background: url(/employment/img/careers/img-project.jpg.webp) no-repeat center center;
  background-size: cover;
  padding: 150px 0 310px;
  margin-top: 200px;
}
.newgraduate .ng-section-project .text-wrap, .career .ng-section-project .text-wrap {
  margin-left: 0;
}
.newgraduate .ng-section-project .c-btn03, .career .ng-section-project .c-btn03 {
  max-width: 600px;
}
.newgraduate .ng-section-people, .career .ng-section-people {
  background: url(/employment/img/careers/img-staff.jpg.webp) no-repeat center center;
  background-size: cover;
  padding: 150px 0 310px;
  margin-top: 135px;
}
.newgraduate .ng-section-people .text-wrap, .career .ng-section-people .text-wrap {
  margin-left: 0;
}
.newgraduate .ng-section-people .c-btn03, .career .ng-section-people .c-btn03 {
  max-width: 500px;
}
.newgraduate .ng-section-people .c-btn03 a, .career .ng-section-people .c-btn03 a {
  border-color: #fff;
}
.newgraduate .ng-section-movie, .career .ng-section-movie {
  background: url(/employment/img/careers/img-movie.jpg.webp) no-repeat center center;
  background-size: cover;
  padding: 150px 0 310px;
  margin-top: 135px;
}
.newgraduate .ng-section-movie .text-wrap, .career .ng-section-movie .text-wrap {
  margin-left: 0;
}
.newgraduate .ng-section-movie .c-btn03, .career .ng-section-movie .c-btn03 {
  max-width: 500px;
}
.newgraduate .c-another-contents .title, .career .c-another-contents .title {
  color: #fff;
}
.newgraduate .c-another-contents .link-box .text, .career .c-another-contents .link-box .text {
  color: #fff;
}
.newgraduate .text-wrap, .career .text-wrap {
  margin-left: 70px;
}
.newgraduate .text-wrap .title, .career .text-wrap .title {
  color: #fff;
  font-size: 24px;
  letter-spacing: 0.41em;
  padding-right: 40px;
}
.newgraduate .text-wrap .title .en, .career .text-wrap .title .en {
  font-size: 10px;
  letter-spacing: 0.35em;
}
.newgraduate .text-wrap .text, .career .text-wrap .text {
  color: #fff;
  font-size: 13px;
  letter-spacing: 0.2em;
  line-height: 2;
  margin-top: 50px;
  margin-bottom: 50px;
}

.newgraduate .ng-section-top-mv .img-wrap .img {
  -webkit-animation: mv-slider 24s linear backwards infinite;
          animation: mv-slider 24s linear backwards infinite;
}
.newgraduate .ng-section-top-mv .img-wrap .img:nth-child(1) {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
.newgraduate .ng-section-top-mv .img-wrap .img:nth-child(2) {
  -webkit-animation-delay: 4s;
          animation-delay: 4s;
}
.newgraduate .ng-section-top-mv .img-wrap .img:nth-child(3) {
  -webkit-animation-delay: 8s;
          animation-delay: 8s;
}
.newgraduate .ng-section-top-mv .img-wrap .img:nth-child(4) {
  -webkit-animation-delay: 12s;
          animation-delay: 12s;
}
.newgraduate .ng-section-top-mv .img-wrap .img:nth-child(5) {
  -webkit-animation-delay: 16s;
          animation-delay: 16s;
}
.newgraduate .ng-section-top-mv .img-wrap .img:nth-child(6) {
  -webkit-animation-delay: 20s;
          animation-delay: 20s;
}

main.career {
  background: transparent !important;
}
main.career.top {
  background: #333 !important;
}
main.career .ng-section-top-mv .img-wrap .img {
  -webkit-animation: mv-slider 32s linear backwards infinite;
          animation: mv-slider 32s linear backwards infinite;
}
main.career .ng-section-top-mv .img-wrap .img:nth-child(1) {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
main.career .ng-section-top-mv .img-wrap .img:nth-child(2) {
  -webkit-animation-delay: 4s;
          animation-delay: 4s;
}
main.career .ng-section-top-mv .img-wrap .img:nth-child(3) {
  -webkit-animation-delay: 8s;
          animation-delay: 8s;
}
main.career .ng-section-top-mv .img-wrap .img:nth-child(4) {
  -webkit-animation-delay: 12s;
          animation-delay: 12s;
}
main.career .ng-section-top-mv .img-wrap .img:nth-child(5) {
  -webkit-animation-delay: 16s;
          animation-delay: 16s;
}
main.career .ng-section-top-mv .img-wrap .img:nth-child(6) {
  -webkit-animation-delay: 20s;
          animation-delay: 20s;
}
main.career .ng-section-top-mv .img-wrap .img:nth-child(7) {
  -webkit-animation-delay: 24s;
          animation-delay: 24s;
}
main.career .ng-section-symposium02 {
  overflow: hidden;
  position: relative;
}
main.career .ng-section-symposium02::before {
  background: #292929;
  content: "";
  height: 376px;
  width: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
main.career .ng-section-symposium02 .inner-block {
  padding-top: 142px;
  padding-bottom: 155px;
}
main.career .ng-section-symposium02 .wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
main.career .ng-section-symposium02 .wrap .txt-wrap {
  margin-right: 70px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
main.career .ng-section-symposium02 .wrap .txt-wrap .title {
  color: #fff;
  font-size: 24px;
  letter-spacing: 0.41em;
  position: relative;
}
main.career .ng-section-symposium02 .wrap .txt-wrap .title::before {
  background: #fff;
  content: "";
  height: 1px;
  width: 32px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
main.career .ng-section-symposium02 .wrap .txt-wrap .txt {
  color: #fff;
  font-size: 12px;
  letter-spacing: 0.2em;
  line-height: 2;
  margin-top: 50px;
}
main.career .ng-section-symposium02 .wrap .img {
  -webkit-box-flex: 2;
  -webkit-flex: 2 1 604px;
      -ms-flex: 2 1 604px;
          flex: 2 1 604px;
  overflow: hidden;
  position: relative;
}
main.career .ng-section-symposium02 .wrap .img .inn {
  display: block;
}
main.career .ng-section-symposium02 .wrap .img img {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
main.career .ng-section-talk .link-item:nth-child(2n) {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
main.career .ng-section-talk .link-item:nth-child(2n) .img-area {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
main.career .ng-section-talk .link-item:nth-child(2n) .txt-area {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
main.career .ng-section-talk .link-item:nth-child(n+2) {
  margin-top: 100px;
}
main.career .ng-section-talk .link-item:nth-child(3) {
  margin-top: 150px;
}

.newgraduate-section-about .inner-block {
  padding-top: 385px;
  padding-bottom: 265px;
  z-index: 2;
}
.newgraduate-section-about .concept-box {
  margin-left: 90px;
  overflow: hidden;
}
.newgraduate-section-about .concept-box .concept-head {
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 0.16em;
}
.newgraduate-section-about .concept-box .concept-text {
  font-size: 18px;
  font-family: var(--font-ShinGo-M);
  letter-spacing: 0.1em;
  line-height: 2;
  margin-top: 20px;
}
.newgraduate-section-about .c-concept-stream {
  position: absolute;
  left: 0;
  top: 25px;
  width: 100%;
  overflow: hidden;
  mix-blend-mode: overlay;
  z-index: 1;
}
.newgraduate-section-about .c-ticker {
  width: 100%;
  overflow: hidden;
}
.newgraduate-section-about .c-ticker + .c-ticker {
  margin-top: 38px;
}
.newgraduate-section-about .c-ticker_wrap {
  display: inline-block;
  white-space: nowrap;
}
.newgraduate-section-about .c-ticker-text {
  width: 100vw;
}
.newgraduate-section-about .c-ticker-text + .c-ticker-text {
  margin-top: 35px;
}
.newgraduate-section-about .c-ticker-text + .c-ticker-text .anm-smoothTextInner02 {
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}
.newgraduate-section-about .c-ticker-textInner {
  display: block;
  padding-left: 20px;
}
.newgraduate-section-about .c-ticker-textInner img {
  -webkit-filter: invert(17%) sepia(6%) saturate(24%) hue-rotate(323deg) brightness(94%) contrast(89%);
          filter: invert(17%) sepia(6%) saturate(24%) hue-rotate(323deg) brightness(94%) contrast(89%);
  mix-blend-mode: multiply;
  width: 100%;
}
.newgraduate-section-about .about-img {
  position: absolute;
  bottom: -7px;
  left: 0;
  right: 0;
  text-align: center;
  max-width: 1278px;
  margin: auto;
  z-index: 5;
}

.newgraduate-section-box .inner-block {
  padding-top: 200px;
  padding-bottom: 180px;
}

.ng-section-info .inner-block {
  padding-bottom: 120px;
}
.ng-section-info .text-wrap {
  margin-left: 15px;
}
.ng-section-info .news-scroll {
  margin-top: 30px;
  overflow-y: auto;
  height: 310px;
  padding-right: 15px;
}
.ng-section-info .news-scroll::-webkit-scrollbar {
  width: 10px;
}
.ng-section-info .news-scroll::-webkit-scrollbar-track {
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 50px;
}
.ng-section-info .news-scroll::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 50px;
}
.ng-section-info .news-scroll.scroll-none {
  height: auto;
  overflow-y: visible;
}
.ng-section-info .info-list li {
  border-top: 1px solid #a4a4a4;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding: 20px 15px 20px;
}
.ng-section-info .info-list li:last-child {
  border-bottom: 1px solid #a4a4a4;
}
.ng-section-info .info-list .day {
  color: #fff;
  font-size: 13px;
  letter-spacing: 0.2em;
  width: 105px;
}
.ng-section-info .info-list .tag {
  color: #8096A3;
  font-size: 13px;
  margin-left: 25px;
  letter-spacing: 0.2em;
  width: 105px;
}
.ng-section-info .info-list a {
  color: #fff;
  font-size: 13px;
  display: block;
  margin-left: 25px;
  letter-spacing: 0.2em;
  width: calc(100% - 260px);
  font-weight: bold;
}

.brackets-box {
  background: rgb(var(--themeColor02)/0.67);
  border: 1px solid #fff;
  max-width: 695px;
  margin: auto;
  position: relative;
}
.brackets-box::before, .brackets-box::after {
  background: #fff;
  content: "";
  position: absolute;
  top: -10px;
  left: -10px;
}
.brackets-box::before {
  height: 58px;
  width: 10px;
}
.brackets-box::after {
  height: 10px;
  width: 58px;
}
.brackets-box .inn {
  padding: 100px 20px 90px;
  position: relative;
}
.brackets-box .inn::before, .brackets-box .inn::after {
  background: #fff;
  content: "";
  position: absolute;
  bottom: -10px;
  right: -10px;
}
.brackets-box .inn::before {
  height: 58px;
  width: 10px;
}
.brackets-box .inn::after {
  height: 10px;
  width: 58px;
}
.brackets-box .title {
  color: #fff;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 0.06em;
  text-align: center;
}
.brackets-box .line-list {
  max-width: 418px;
  margin: 60px auto 0;
}
.brackets-box .line-list li {
  border-bottom: 1px solid #fff;
  color: #fff;
  font-size: 22px;
  font-weight: bold;
  padding-bottom: 15px;
  text-align: center;
}
.brackets-box .line-list li + li {
  margin-top: 30px;
}

.balloon-box {
  max-width: 640px;
  margin: auto;
  position: relative;
  height: 333px;
}
.balloon-box .img {
  position: absolute;
  top: 0;
  left: 0;
}
.balloon-box .img img {
  height: 333px;
}
.balloon-box .balloon {
  background: var(--themeColor03);
  border-radius: 50%;
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  display: inline-block;
  width: 435px;
  height: 255px;
  position: relative;
  margin-left: 200px;
  margin-top: 30px;
}
.balloon-box .balloon::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 35px solid transparent;
  border-left: 35px solid transparent;
  border-bottom: 40px solid var(--themeColor03);
  border-top: 0;
  -webkit-transform: rotate(190deg);
          transform: rotate(190deg);
  position: absolute;
  top: 75px;
  left: -15px;
}
.balloon-box .balloon .inn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
}

.c-bg-box {
  background: rgb(var(--themeColor02)/0.1);
  padding: 55px 50px;
}
.c-bg-box > .l-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.c-bg-box > .l-flex.center {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-bg-box > .l-flex.center .wrap:nth-child(1) {
  margin-bottom: 0;
}
.c-bg-box > .l-flex.center .wrap:nth-child(1), .c-bg-box > .l-flex.center .wrap:nth-child(2) {
  width: 100%;
  max-width: 263px;
}
.c-bg-box > .l-flex .wrap .title {
  color: var(--themeColor);
  font-size: 26px;
  font-weight: bold;
  text-align: center;
}
.c-bg-box > .l-flex .ttl {
  background: var(--themeColor);
  border: 1px solid #fff;
  color: #fff;
  font-size: 18px;
  font-family: var(--font-ShinGo-M);
  text-align: center;
  padding: 10px 20px 9px;
  margin: 20px auto 0;
}
.c-bg-box > .l-flex .txt {
  font-weight: bold;
  margin: 10px auto 0;
  max-width: 263px;
  line-height: 1.78125;
}
.c-bg-box .ico-list li {
  background: #fff;
  padding: 28px 34px 29px;
  position: relative;
}
.c-bg-box .ico-list li + li {
  margin-top: 20px;
}
.c-bg-box .ico-list li .ico {
  display: block;
  position: absolute;
}
.c-bg-box .ico-list li .ico img {
  width: 100%;
}
.c-bg-box .ico-list li .ico.ico-01 img {
  max-height: 63px;
}
.c-bg-box .ico-list li .ico.ico-02 img {
  max-height: 82px;
}
.c-bg-box .ico-list li .ico.ico-03 img {
  max-height: 60px;
}
.c-bg-box .ico-list li .ico.ico-04 img {
  max-height: 78px;
}
.c-bg-box .ico-list li .ico.ico-05 img {
  max-height: 92px;
}
.c-bg-box .ico-list li .num {
  color: var(--themeColor);
  display: block;
  font-size: 50px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.04em;
  width: 28px;
}
.c-bg-box .ico-list li .text {
  display: block;
  font-size: 16px;
  font-weight: bold;
  padding-left: 30px;
  width: calc(100% - 28px);
}
.c-bg-box .ico-list li .text .c-orange {
  color: var(--themeOrange);
}
.c-bg-box .ico-list li .l-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-another-contents {
  background: #333333;
}
.c-another-contents.top {
  display: none;
}
.c-another-contents.top .inner-block {
  padding-top: 107px;
  padding-bottom: 108px;
}
.c-another-contents.top .link-box .text {
  font-size: 14px;
}
.c-another-contents.top .link-box .text::before {
  content: none;
}
.c-another-contents.line-white .link-box .text::before {
  background: #fff;
}
.c-another-contents.line-white .link-box .text {
  color: #fff;
}
.c-another-contents a[href*="/career/development/"] .img {
  background: -webkit-gradient(linear, left top, right top, from(rgb(164, 120, 67)), color-stop(50%, rgb(238, 166, 77)));
  background: linear-gradient(90deg, rgb(164, 120, 67) 0%, rgb(238, 166, 77) 50%);
  background-position: 1% 50%;
  background-size: 200% auto;
}
.c-another-contents a[href*="/career/training/"] .img {
  background: -webkit-gradient(linear, left top, right top, from(rgb(88, 128, 47)), color-stop(50%, rgb(155, 202, 106)));
  background: linear-gradient(90deg, rgb(88, 128, 47) 0%, rgb(155, 202, 106) 50%);
  background-position: 1% 50%;
  background-size: 200% auto;
}
.c-another-contents a[href*="/workstyle/diversity/"] .img {
  background: -webkit-gradient(linear, left top, right top, from(rgb(20, 102, 143)), color-stop(50%, rgb(0, 136, 205)));
  background: linear-gradient(90deg, rgb(20, 102, 143) 0%, rgb(0, 136, 205) 50%);
  background-position: 1% 50%;
  background-size: 200% auto;
}
.c-another-contents a[href*="/workstyle/welfare/"] .img {
  background: -webkit-gradient(linear, left top, right top, from(rgb(207, 168, 168)), color-stop(50%, rgb(244, 177, 184)));
  background: linear-gradient(90deg, rgb(207, 168, 168) 0%, rgb(244, 177, 184) 50%);
  background-position: 1% 50%;
  background-size: 200% auto;
}
.c-another-contents .inner-block {
  padding-top: 165px;
  padding-bottom: 265px;
}
.c-another-contents .title {
  color: #8096A3;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.56em;
  text-align: center;
  margin-bottom: 90px;
}
.c-another-contents .link-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.c-another-contents .link-box .box {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  width: calc((100% - 60px) / 3);
}
.c-another-contents .link-box .box .img {
  overflow: hidden;
}
.c-another-contents .link-box .box .img img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  width: 100%;
}
.c-another-contents .link-box .box.disable {
  pointer-events: none;
}
.c-another-contents .link-box .box.disable a {
  opacity: 0.3;
}
.c-another-contents .link-box .text {
  color: #474747;
  font-size: 15px;
  font-family: var(--font-ShinGo-M);
  letter-spacing: 0.25em;
  position: relative;
  margin-top: 25px;
  padding-right: 90px;
}
.c-another-contents .link-box .text::before {
  background: #99ABB5;
  content: "";
  height: 1px;
  width: 32px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 55px;
  margin: auto;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-another-contents .text-link {
  color: #474747;
  display: block;
  font-size: 18px;
  font-family: "UD新ゴ M";
  text-align: center;
  margin-top: 60px;
}

.c-img-banner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.c-img-banner .banner-img {
  background-color: #333333;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 115px 20px;
  position: relative;
  width: 50%;
}
.c-img-banner .banner-img:nth-child(1) {
  background-image: url(/employment/img/careers/bg-banner01.jpg.webp);
}
.c-img-banner .banner-img:nth-child(2) {
  background-image: url(/employment/img/careers/bg-banner02.jpg.webp);
}
.c-img-banner .banner-img.career {
  background-image: url(/employment/img/careers/bg-banner03.jpg.webp);
}
.c-img-banner .banner-img:only-child {
  width: 100%;
}
.c-img-banner .banner-img:only-child .c-btn01 a {
  min-height: min(75px, 13.3214920071vw);
}
.c-img-banner .banner-img::before {
  background: rgba(0, 0, 0, 0.15);
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-img-banner .c-btn01 {
  min-width: 280px;
  max-width: 280px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.c-img-banner .c-btn01 a {
  opacity: 0.9;
  font-size: 18px;
  min-height: 80px;
  text-align: center;
}
.c-img-banner .c-btn01 a + a {
  margin-top: 10px;
}
.c-img-banner .c-btn01 a.large {
  min-height: 170px;
}

.c-modal {
  border: 1px solid #808080;
  display: none;
  width: auto;
  height: auto;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 999;
  max-width: 965px;
  width: 100%;
}
.c-modal .inn {
  background: #333333;
  padding: 46px 46px;
  max-width: 965px;
  width: 100%;
}
.c-modal.is-open {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-modal .l-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.c-modal .l-flex .img {
  width: 456px;
}
.c-modal .l-flex .text-wrap {
  margin-left: 53px;
  margin-bottom: 40px;
  width: calc(100% - 509px);
}
.c-modal .l-flex .text-wrap .title {
  font-size: 22px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.16em;
}
.c-modal .l-flex .text-wrap .text {
  color: #fff;
  font-size: 18px;
  letter-spacing: 0.03em;
  line-height: 1.666;
  margin-top: 50px;
}
.c-modal .js-modalclose {
  cursor: pointer;
  position: absolute;
  top: -100px;
  right: 0;
  height: 100px;
  width: 100px;
}
.c-modal .js-modalclose::before, .c-modal .js-modalclose::after {
  background: #fff;
  content: "";
  height: 118px;
  width: 1px;
  position: absolute;
  top: -10px;
  right: 50px;
}
.c-modal .js-modalclose::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.c-modal .js-modalclose::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.modal-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.7;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
}

.c-anchor {
  position: relative;
  top: -170px;
}

.no-c-img-banner + .c-img-banner {
  display: none;
}

/* -----------------------------------------------
* career Module
* careerページ用
-------------------------------------------------- */
.career-header .c-header {
  background: #99abb5;
}

main.newgraduate.career {
  background: #4d4d4d !important;
}
main.newgraduate.career .mv-title .main {
  font-size: 24px;
}
main.newgraduate.career .mv-img {
  margin: -80px 0 0 -30px;
}
main.newgraduate.career .newgraduate-section-box {
  background: #333333;
  color: #fff;
}
main.newgraduate.career .newgraduate-section-box .inner-block {
  padding-top: 120px;
  padding-bottom: 260px;
}
main.newgraduate.career .c-illust-link.block01 .link-box {
  background: -webkit-gradient(linear, left top, right top, from(rgb(164, 120, 67)), color-stop(50%, rgb(238, 166, 77)));
  background: linear-gradient(90deg, rgb(164, 120, 67) 0%, rgb(238, 166, 77) 50%);
  background-position: 1% 50%;
  background-size: 200% auto;
}
main.newgraduate.career .c-illust-link.block01 .link-img {
  max-width: 1088px;
  bottom: 25px;
  right: 37px;
}
main.newgraduate.career .c-illust-link.block02 .link-box {
  background: -webkit-gradient(linear, left top, right top, from(rgb(88, 128, 47)), color-stop(50%, rgb(155, 202, 106)));
  background: linear-gradient(90deg, rgb(88, 128, 47) 0%, rgb(155, 202, 106) 50%);
  background-position: 1% 50%;
  background-size: 200% auto;
}
main.newgraduate.career .c-illust-link.block02 .link-img {
  max-width: 1076px;
  bottom: 0;
  left: 114px;
}

/* -----------------------------------------------
* development Module
* developmentページ用
-------------------------------------------------- */
.development {
  --themeColor: var(--themeOrange);
  --themeColor02: var(--themeOrange02);
  --themeColor03: var(--themeOrange03);
  --themeColor04: var(--themeOrange04);
  background: rgb(var(--themeColor02)/0.7);
}
.development .newgraduate-section-about {
  background-color: #fff;
  position: relative;
}
.development .newgraduate-section-about::before {
  background-color: transparent;
  background-image: radial-gradient(at 0% 0%, rgb(252, 236, 217) 0px, transparent 50%), radial-gradient(at 6% 90%, rgb(248, 217, 178) 0px, transparent 50%), radial-gradient(at 94% 89%, rgb(252, 236, 217) 0px, transparent 50%), radial-gradient(at 100% 1%, rgb(248, 217, 178) 0px, transparent 50%), radial-gradient(at 50% 10%, rgb(255, 255, 255) 0px, #fff 30%);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 0;
  mix-blend-mode: multiply;
}
.development .newgraduate-section-about::after {
  background-color: transparent;
  background-image: radial-gradient(at 0% 0%, rgb(252, 236, 217) 0px, transparent 50%), radial-gradient(at 6% 90%, rgb(248, 217, 178) 0px, transparent 50%), radial-gradient(at 94% 89%, rgb(252, 236, 217) 0px, transparent 50%), radial-gradient(at 100% 1%, rgb(248, 217, 178) 0px, transparent 50%), radial-gradient(at 50% 10%, rgb(255, 255, 255) 0px, #fff 30%);
  mix-blend-mode: multiply;
  content: "";
  opacity: 0.5;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 0;
  mix-blend-mode: multiply;
}
.development .newgraduate-section-box {
  background-color: #fff;
  background-image: radial-gradient(at 37% 43%, rgba(232, 128, 0, 0.15) 0px, transparent 50%), radial-gradient(at 6% 89%, rgba(232, 128, 0, 0.3) 0px, transparent 50%), radial-gradient(at 91% 87%, rgba(232, 128, 0, 0.15) 0px, transparent 50%), radial-gradient(at 92% 13%, rgba(232, 128, 0, 0.3) 0px, transparent 50%);
  position: relative;
}
.development .newgraduate-section-box::before {
  background-color: #fff;
  background-image: radial-gradient(at 37% 43%, rgba(232, 128, 0, 0.15) 0px, transparent 50%), radial-gradient(at 6% 89%, rgba(232, 128, 0, 0.3) 0px, transparent 50%), radial-gradient(at 91% 87%, rgba(232, 128, 0, 0.15) 0px, transparent 50%), radial-gradient(at 6% 89%, rgba(232, 128, 0, 0.3) 0px, transparent 50%);
  content: "";
  opacity: 0.5;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 0;
}
.development .c-modal-btn-wrap {
  border-bottom: 19px solid #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 200px;
  padding-bottom: 123px;
}
.development .c-modal-btn-wrap .modal-btn {
  border-radius: 4px;
  cursor: pointer;
  color: #fff;
  text-align: center;
  padding: 45px 20px;
  position: relative;
  top: 0;
  letter-spacing: 0.15em;
  line-height: 2;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  width: calc((100% - 112px) / 3);
}
.development .c-modal-btn-wrap .modal-btn.cl-01 {
  background: rgb(var(--themeColor02)/0.62);
}
.development .c-modal-btn-wrap .modal-btn.cl-01::before {
  border-color: rgb(var(--themeColor02)/0.62) transparent transparent transparent;
}
.development .c-modal-btn-wrap .modal-btn.cl-02 {
  background: rgb(var(--themeColor02)/0.5);
}
.development .c-modal-btn-wrap .modal-btn.cl-02::before {
  border-color: rgb(var(--themeColor02)/0.5) transparent transparent transparent;
}
.development .c-modal-btn-wrap .modal-btn.cl-03 {
  background: rgb(var(--themeColor02)/0.7);
}
.development .c-modal-btn-wrap .modal-btn.cl-03::before {
  border-color: rgb(var(--themeColor02)/0.7) transparent transparent transparent;
}
.development .c-modal-btn-wrap .modal-btn::before {
  border-style: solid;
  border-width: 20px 10px 0 15px;
  content: "";
  height: 15px;
  width: 24px;
  position: absolute;
  bottom: -20px;
  left: 82px;
}
.development .c-modal-btn-wrap .modal-btn .btn {
  background: var(--themeColor);
  border-radius: 100px;
  height: 32px;
  width: 32px;
  position: absolute;
  top: -16px;
  right: -16px;
}
.development .c-modal-btn-wrap .modal-btn .btn::before, .development .c-modal-btn-wrap .modal-btn .btn::after {
  background: #fff;
  content: "";
  height: 20px;
  width: 1px;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
.development .c-modal-btn-wrap .modal-btn .btn::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.development .c-modal-btn-wrap .modal-btn .title {
  font-size: 15px;
  font-family: var(--font-ShinGo-M);
}
.development .c-icon-list {
  margin-top: 140px;
}
.development .c-another-contents {
  background: transparent;
}

/* -----------------------------------------------
* training Module
* trainingページ用
-------------------------------------------------- */
.training {
  --themeColor: var(--themeGreen);
  --themeColor02: var(--themeGreen02);
  --themeColor03: var(--themeGreen03);
  --themeColor04: var(--themeGreen04);
  background: rgb(var(--themeColor02)/0.7);
}
.training .newgraduate-section-about {
  background-color: #fff;
  position: relative;
}
.training .newgraduate-section-about::before {
  background-color: transparent;
  background-image: radial-gradient(at 0% 0%, rgb(234, 244, 223) 0px, transparent 50%), radial-gradient(at 6% 90%, rgb(212, 232, 192) 0px, transparent 50%), radial-gradient(at 94% 89%, rgb(234, 244, 223) 0px, transparent 50%), radial-gradient(at 100% 1%, rgb(212, 232, 192) 0px, transparent 50%), radial-gradient(at 50% 10%, rgb(255, 255, 255) 0px, #fff 30%);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 0;
  mix-blend-mode: multiply;
}
.training .newgraduate-section-about::after {
  background-color: transparent;
  background-image: radial-gradient(at 0% 0%, rgb(234, 244, 223) 0px, transparent 50%), radial-gradient(at 6% 90%, rgb(212, 232, 192) 0px, transparent 50%), radial-gradient(at 94% 89%, rgb(234, 244, 223) 0px, transparent 50%), radial-gradient(at 100% 1%, rgb(212, 232, 192) 0px, transparent 50%), radial-gradient(at 50% 10%, rgb(255, 255, 255) 0px, #fff 30%);
  mix-blend-mode: multiply;
  content: "";
  opacity: 0.5;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 0;
  mix-blend-mode: multiply;
}
.training .newgraduate-section-about .about-img {
  bottom: -30px;
  margin: auto;
}
.training .newgraduate-section-box {
  background-color: #fff;
  background-image: radial-gradient(at 37% 43%, rgba(112, 180, 44, 0.5) 0px, transparent 50%), radial-gradient(at 6% 89%, rgba(112, 180, 44, 0.75) 0px, transparent 50%), radial-gradient(at 91% 87%, rgba(112, 180, 44, 0.5) 0px, transparent 30%), radial-gradient(at 92% 13%, rgba(112, 180, 44, 0.75) 0px, transparent 50%);
  position: relative;
}
.training .newgraduate-section-box::before {
  background-color: #fff;
  background-image: radial-gradient(at 37% 43%, rgba(112, 180, 44, 0.1) 0px, transparent 50%), radial-gradient(at 6% 89%, rgba(112, 180, 44, 0.2) 0px, transparent 50%), radial-gradient(at 91% 87%, rgba(112, 180, 44, 0.1) 0px, transparent 50%), radial-gradient(at 6% 89%, rgba(112, 180, 44, 0.2) 0px, transparent 50%);
  content: "";
  opacity: 0.5;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.training .newgraduate-section-box.bg-none {
  background-image: none;
}
.training .newgraduate-section-box.bg-none::before {
  background-image: none;
}
.training .newgraduate-section-box.bg-none .inner-block {
  padding-top: 135px;
}
.training .newgraduate-section-box .inner-block.pb-0 {
  padding-bottom: 0;
}
.training .brackets-box {
  background-color: transparent;
}
.training .brackets-box .inn {
  background: var(--themeColor);
}
.training .balloon-box {
  margin-top: 116px;
}
.training .balloon-box .img {
  max-width: 235px;
}
.training .balloon-box .balloon {
  background: var(--themeColor);
  width: 332px;
  height: 171px;
  margin-left: 220px;
  margin-top: -55px;
}
.training .balloon-box .balloon::before {
  border-right: 46px solid transparent;
  border-left: 4px solid transparent;
  border-bottom: 25px solid var(--themeColor);
  -webkit-transform: rotate(120deg);
          transform: rotate(120deg);
  top: 130px;
}
.training .c-modal-btn-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 70px 100px;
}
.training .c-modal-btn-wrap .modal-btn {
  background: url(../img/careers/career/training/hexagon-green.svg) no-repeat center center;
  background-size: 100% 100%;
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 26px;
  font-family: var(--font-ShinGo-M);
  width: 254px;
  height: 220px;
  position: relative;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  -webkit-animation-fill-mode: backwards;
          animation-fill-mode: backwards;
  pointer-events: none;
}
.training .c-modal-btn-wrap .btn {
  background: var(--themeColor);
  border-radius: 100px;
  height: 32px;
  width: 32px;
  position: absolute;
  bottom: -18px;
  right: 46px;
  display: none;
}
.training .c-modal-btn-wrap .btn::before, .training .c-modal-btn-wrap .btn::after {
  background: #fff;
  content: "";
  height: 20px;
  width: 1px;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
.training .c-modal-btn-wrap .btn::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.training .c-modal .hexagon-icon {
  background: url(../img/careers/career/training/hexagon-gray.svg) no-repeat center center;
  background-size: 100% 100%;
  color: #fff;
  font-size: 26px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 220px;
  position: absolute;
  width: 254px;
  top: -75px;
  right: 180px;
  letter-spacing: 0.45em;
}
.training .img-bg {
  background: rgba(128, 150, 163, 0.1);
  padding: 40px 50px;
}
.training .img-bg .img-scroll {
  display: block;
}
.training .img-bg .img-scroll::-webkit-scrollbar {
  width: 10px;
}
.training .img-bg .img-scroll::-webkit-scrollbar-track {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 50px;
}
.training .img-bg .img-scroll::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 50px;
}
.training .c-box-title-list {
  margin-top: 100px;
}
.training .c-box-title-list .box-title {
  background: rgb(var(--themeColor02)/0.8);
  padding: min(38px, 6.7495559503vw) min(15px, 2.6642984014vw) min(32px, 5.6838365897vw);
}
.training .c-another-contents {
  background: transparent;
}

/* -----------------------------------------------
* info Module
* infoページ用
-------------------------------------------------- */
.company-all .newgraduate-section-box {
  background: #333333;
}
.company-all .newgraduate-section-box .inner-block {
  padding-top: 160px;
}
.company-all .newgraduate-section-box .c-title03 {
  color: #fff;
  margin-bottom: 80px;
}
.company-all .newgraduate-section-box .c-title03::after {
  background: #fff;
}
.company-all + .ng-section-top-banner02 {
  display: none;
}

.company.company-all .c-mv-img {
  padding-bottom: 0;
}
.company.company-all .c-mv-img .newgraduate-under-mv {
  background: none;
  padding-top: 70px;
}
.company.company-all .c-mv-img .newgraduate-under-mv .inner-block {
  max-width: 1120px;
}
.company.company-all .c-mv-img .c-breadcrumbs:not(.top)::before {
  background: none;
  border-top: none;
}
.company .newgraduate-section-box .inner-block {
  max-width: 1140px;
}
.company .another-list li + li {
  margin-top: 50px;
}
.company .another-list a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid #666;
  max-width: 1080px;
  border-radius: 20px;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}
.company .another-list a .link-ttl {
  background: #000;
  font-size: 22px;
  letter-spacing: 0.41em;
  width: 100%;
  border-radius: 20px 0 0 20px;
  color: #fff;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 64px 0 70px;
}
.company .another-list a .link-ttl::before {
  content: "";
  width: 32px;
  height: 1px;
  background: #666;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 32px;
  margin: auto;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.company .another-list a .link-ttl .small {
  display: inline-block;
  font-size: 20px;
  letter-spacing: 0.3em;
}
.company .another-list a .link-ttl .small.small-txt {
  font-size: 12px;
  display: block;
  padding-left: 25px;
}
.company .another-list a:hover .img img {
  opacity: 0.5;
}
.company .another-list a:hover .link-ttl::before {
  -webkit-transform: translateX(15px);
          transform: translateX(15px);
  width: 47px;
}
.company .another-list a .img {
  max-width: 440px;
}
.company .another-list a .img img {
  border-radius: 0 20px 20px 0;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}
.company .c-another-contents {
  background: #000;
}

/* -----------------------------------------------
* info Module
* infoページ用
-------------------------------------------------- */

/* -----------------------------------------------
* data Module
* dataページ用
-------------------------------------------------- */
.data .list-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
.data .list-flex + .list-flex {
  margin-top: 60px;
}
.data .list-flex + .list-flex.col2 {
  margin-top: 25px;
}
.data .list-flex.col2 .list-item {
  width: calc((100% - 20px) / 2);
}
.data .list-flex.col2 .list-item .back {
  padding-top: 90px;
}
.data .list-flex .list-item {
  color: #fff;
  text-align: center;
  position: relative;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  width: calc((100% - 40px) / 3);
}
.data .list-flex .list-item .front, .data .list-flex .list-item .back {
  height: 100%;
}
.data .list-flex .list-item .front {
  background: #3e3e3e;
  padding: 50px 30px;
}
.data .list-flex .list-item .back {
  background: #8096A3;
  padding: 100px 30px 80px;
  height: 100%;
}
.data .list-flex .list-item .back .text {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.31rem;
  text-align: justify;
  line-height: 1.66666;
}
.data .list-flex .icon-area {
  width: 170px;
  height: 120px;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.data .list-flex .icon-area img {
  max-width: 100%;
  max-height: 100%;
}
.data .list-flex .icon-area.icon1 {
  width: 115px;
}
.data .list-flex .icon-area.icon2 {
  width: 90px;
}
.data .list-flex .icon-area.icon5 {
  width: 220px;
}
.data .list-flex .icon-area.icon6 {
  width: 140px;
}
.data .list-flex .icon-area.icon7 {
  width: 160px;
}
.data .list-flex .icon-area.icon8 {
  width: 240px;
  height: 176px;
}
.data .list-flex .data-txt-area {
  margin-top: 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: end;
      -ms-flex-align: end;
          align-items: end;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.data .list-flex .data-txt-area .txt-flex {
  width: 100%;
}
.data .list-flex .data-txt-area .txt-flex.col2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 40px;
}
.data .list-flex .data-txt-area .txt-flex.gap-15 {
  gap: 30px 15px;
}
.data .list-flex .data-txt-area .txt-col.col2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.data .list-flex .data-txt-area .txt-col.col2 .data-sub-ttl {
  letter-spacing: 0.28em;
}
.data .list-flex .data-txt-area .txt-col.col2 .data-txt {
  font-size: 20px;
}
.data .list-flex .data-txt-area .txt-col.col2 .data-txt .numerical {
  font-size: 65px;
}
.data .list-flex .data-txt-area .txt-col.small .data-txt {
  font-size: 18px;
}
.data .list-flex .data-txt-area .txt-col.small .data-txt .numerical {
  font-size: 55px;
}
.data .list-flex .data-txt-area .txt-col.small .data-ttl {
  font-size: 12px;
  min-width: 145px;
}
.data .list-flex .data-txt-area .txt-col .col-all-txt {
  margin-top: 25px;
  padding: 12px 20px;
  min-width: 170px;
}
.data .list-flex .data-sub-ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.5;
  letter-spacing: 0.33em;
}
.data .list-flex .data-txt {
  font-size: 26px;
  line-height: 1.1;
}
.data .list-flex .data-txt .numerical {
  font-size: 90px;
  letter-spacing: -0.03em;
  padding: 0 5px;
  font-family: "Roboto Condensed", sans-serif;
}
.data .list-flex .data-txt.block-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.data .list-flex .data-txt.block-area .block {
  display: block;
  font-size: 20px;
  padding-top: 25px;
}
.data .list-flex .data-annotation {
  background: #333;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  padding: 5px 10px;
  text-align: center;
  width: 100%;
  margin: 10px 0;
}
.data .list-flex .data-ttl {
  background: #1a1a1a;
  border-radius: 50px;
  font-size: 16px;
  display: inline-block;
  padding: 10px 30px;
  margin-top: 5px;
  min-width: 180px;
  letter-spacing: 0.43em;
}
.data .list-flex.all-txt-area {
  position: relative;
}
.data .list-flex.all-txt-area .list-item .front {
  padding: 50px 20px 150px;
}
.data .list-flex.all-txt-area .list-item .back {
  padding: 100px 30px 150px;
}
.data .list-flex.all-txt-area .col-all-txt {
  position: absolute;
  bottom: 55px;
  left: 0;
  right: 0;
  margin: 0 60px;
}
.data .list-flex .col-all-txt {
  background: #4d4d4d;
  border-radius: 50px;
  color: #fff;
  font-size: 15px;
  letter-spacing: 0.38em;
  text-align: center;
  padding: 12px 50px;
}
.data .list-flex .col-all-txt.le-230 {
  letter-spacing: 0.23em;
}

/* -----------------------------------------------
* development Module
* developmentページ用
-------------------------------------------------- */
.internship + .ng-section-top-banner02 {
  display: none;
}
.internship .c-mv-img {
  background-color: #000;
}
.internship .newgraduate-under-mv {
  text-align: center;
}
.internship .newgraduate-under-mv .inner-block {
  padding-top: 40px;
}
.internship .newgraduate-section-wrap .inner-block {
  padding-top: 294px;
}
.internship .newgraduate-section-wrap .title-area {
  text-align: center;
}
.internship .newgraduate-section-wrap .title-area .en {
  color: #fff;
  font-family: "Barlow", sans-serif;
  display: block;
  font-size: 58px;
  font-style: italic;
  letter-spacing: 0.06em;
}
.internship .newgraduate-section-wrap .title-area .ja {
  color: #fff;
  display: block;
  font-size: 24px;
  letter-spacing: 0.36em;
  margin-top: 10px;
}
.internship .newgraduate-section-wrap .text-wrap {
  border: 1px solid #fff;
  border-radius: 10px;
  max-width: 892px;
  margin: 170px auto 0;
  padding: 59px 110px;
}
.internship .newgraduate-section-wrap .text-wrap .title {
  color: #fff;
  font-size: 24px;
  letter-spacing: 0.36em;
  line-height: 2;
  padding-right: 0;
}
.internship .newgraduate-section-wrap .text-wrap .text {
  color: #fff;
  display: block;
  font-size: 14px;
  letter-spacing: 0.16em;
  line-height: 2.3;
  margin-top: 20px;
}
.internship .newgraduate-section-schedule {
  background: #333333;
  overflow: hidden;
}
.internship .newgraduate-section-schedule .inner-block {
  padding-top: 113px;
  padding-bottom: 141px;
}
.internship .newgraduate-section-schedule .year-ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-left: auto;
  width: calc(100% - 405px);
}
.internship .newgraduate-section-schedule .year-ttl li {
  color: #fff;
  font-size: 18px;
  letter-spacing: 0.05em;
}
.internship .newgraduate-section-schedule .year-ttl li:first-child {
  width: 63%;
}
.internship .newgraduate-section-schedule .year-ttl li:last-child {
  width: 27%;
}
.internship .newgraduate-section-schedule .c-table03 {
  margin-top: 60px;
}
.internship .newgraduate-section-schedule .c-table03 + .c-title03 {
  margin-top: 192px;
}
.internship .newgraduate-section-schedule .schedule-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 68px;
}
.internship .newgraduate-section-schedule .schedule-box .box {
  border: 1px solid #4D4D4D;
  width: calc((100% - 38px) / 2);
  display: block;
  padding: 30px 30px;
  position: relative;
}
.internship .newgraduate-section-schedule .schedule-box .box .top-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.internship .newgraduate-section-schedule .schedule-box .box .top-wrap .img {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 312px;
}
.internship .newgraduate-section-schedule .schedule-box .box .top-wrap .text-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-left: 12px;
  width: calc(100% - 324px);
}
.internship .newgraduate-section-schedule .schedule-box .box .top-wrap .text-wrap .day {
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.13em;
  margin-top: 10px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.internship .newgraduate-section-schedule .schedule-box .box .top-wrap .text-wrap .tag-wrap .tag {
  color: #fff;
  display: inline-block;
  font-size: 11px;
  letter-spacing: 0.15em;
  padding: 8px 15px;
  min-width: 100px;
  text-align: center;
}
.internship .newgraduate-section-schedule .schedule-box .box .top-wrap .text-wrap .tag-wrap .tag.online {
  background: #0088CD;
}
.internship .newgraduate-section-schedule .schedule-box .box .top-wrap .text-wrap .tag-wrap .tag.person {
  background: #893672;
}
.internship .newgraduate-section-schedule .schedule-box .box .top-wrap .text-wrap .tag-wrap .tag.civil {
  background: #70AD47;
}
.internship .newgraduate-section-schedule .schedule-box .box .top-wrap .text-wrap .tag-wrap .tag.blue {
  background: #4472C4;
}
.internship .newgraduate-section-schedule .schedule-box .box .top-wrap .text-wrap .tag-wrap .tag + .tag {
  margin-top: 5px;
}
.internship .newgraduate-section-schedule .schedule-box .box .bottom-wrap {
  margin-top: 30px;
}
.internship .newgraduate-section-schedule .schedule-box .box .bottom-wrap .num {
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.1em;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.internship .newgraduate-section-schedule .schedule-box .box .bottom-wrap .title {
  color: #fff;
  font-size: 27px;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin: 10px 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.internship .newgraduate-section-schedule .schedule-box .box .bottom-wrap .text {
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.11em;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.internship .newgraduate-section-schedule .schedule-box .box .past-tag {
  background: var(--themeOrange);
  color: #fff;
  font-size: 12px;
  position: absolute;
  top: 0;
  left: 0;
  padding: 25px 30px;
  min-width: 144px;
  text-align: center;
}
.internship .newgraduate-section-schedule .schedule-box .box .past-tag.past-tag {
  background: #758492;
}
.internship .newgraduate-section-schedule .schedule-box .box .past-tag.past-event {
  background: #1c1d3b;
}
.internship .newgraduate-section-schedule .schedule-box .box.no-link {
  pointer-events: none;
}
.internship .newgraduate-section-schedule .schedule-box.past-event .box .text-wrap .day {
  color: #99ABB5;
  font-weight: bold;
}
.internship .newgraduate-section-schedule .schedule-box.past-event .box .past-tag {
  background: #99ABB5;
}
.internship .newgraduate-section-schedule .schedule-box + .c-title03 {
  margin-top: 96px;
}
.internship .newgraduate-section-schedule .txt {
  color: #fff;
  font-size: 14px;
  margin-top: 30px;
}
.internship .newgraduate-section-schedule .ttl {
  color: #fff;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  margin: 50px auto 0;
}
.internship .newgraduate-section-schedule .ttl + .txt {
  text-align: center;
  margin-top: 10px;
}

.newgraduate .date_detail-entrybtn {
  max-width: 460px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 100px;
}
.newgraduate .date_detail-entrybtn-box {
  width: 100%;
  height: 80px;
}
.newgraduate .date_detail-entrybtn-box.no-link a {
  background: #758492;
  border-color: #758492;
  pointer-events: none;
}
.newgraduate .date_detail-entrybtn-box a {
  border: 1px solid #000000;
  background-color: #000000;
  width: 100%;
  height: 100%;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: #ffffff;
  line-height: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.newgraduate .date_detail-entry_text {
  -moz-text-align-last: left;
  text-align-last: left;
  font-size: 12px;
  letter-spacing: 0.09em;
  margin-top: 15px;
}
.newgraduate .internship001 .date_detail-entry_text {
  color: #ffffff;
}

.internship .c-img-banner,
.internship002 ~ .c-img-banner {
  display: none;
}

/* -----------------------------------------------
* \internship common Module
* internship commonページ用
-------------------------------------------------- */
.internship-common em {
  font-style: normal;
}
.internship-common .c-mv-img .newgraduate-under-mv .inner-block {
  padding-top: 30px;
}
.internship-common .c-mv-img .mv-title .main {
  font-size: 32px;
  letter-spacing: 0.15em;
}
.internship-common .c-mv-img .mv-title .sub.top {
  margin-top: 0;
  margin-bottom: 10px;
}
.internship-common .main_content_wrap {
  padding: 60px 0 40px;
}
.internship-common .internship_detail-lead h3 {
  font-family: var(--font-ShinGo-M);
}
.internship-common .main_h3 {
  padding-left: 30px;
  font-family: var(--font-ShinGo-M);
}
.internship-common .main_h3 span::before {
  background: url(/employment/img/careers/internship/002/internship-ttl-icon.svg) no-repeat center center;
  background-size: 100% 100%;
  display: block;
  height: 21px;
  width: 17px;
  top: 9px;
  left: 0;
}
.internship-common .internship_detail-essential dt {
  font-family: var(--font-ShinGo-M);
}
.internship-common .internship_detail-program dl dt {
  font-family: var(--font-ShinGo-M);
  white-space: nowrap;
}
.internship-common .internship_detail-program dl dt small {
  font-weight: 700;
}
.internship-common .internship_detail04-detail em {
  font-family: var(--font-ShinGo-M);
}
.internship-common .internship_detail04-detail figure img {
  max-width: none;
}
.internship-common .internship_detail05-detail em,
.internship-common .internship_detail05-detail h4 {
  font-family: var(--font-ShinGo-M);
}
.internship-common .internship_detail05-detail figure img {
  max-width: none;
}
.internship-common.internship2024-04 .internship2024_detail04-contents-title {
  font-family: var(--font-ShinGo-M);
}
.internship-common.internship2024-04 .internship2024_detail-moreinfo {
  font-size: 13px;
}
.internship-common.internship2024-05 .internship2024_detail05-program-number {
  width: 120px;
}
.internship-common.internship2024-05 .internship2024_detail05-program-title {
  font-family: var(--font-ShinGo-M);
}
.internship-common.internship2024-06 .internship_detail04-course em {
  font-family: var(--font-ShinGo-M);
}
.internship-common.internship2024-08 .internship2024_detail08-contents-title {
  font-family: var(--font-ShinGo-M);
}
.internship-common.internship2024-09 .internship_detail04-course {
  padding: 30px 20px;
}
.internship-common.internship2024-09 .internship_detail04-txt {
  margin-top: 0;
}
.internship-common.internship2024-09 .internship_detail-imgWrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px 32px;
}
.internship-common.internship2024-09 .internship_detail-imgWrap p {
  font-size: 13px;
  margin-top: 12px;
}
.internship-common.internship2024-09 .internship_detail-imgWrap img {
  width: 100%;
}
.internship-common.internship2024-09 .internship_detail-imgWrap + .main_h3 {
  margin-top: 50px;
}
.internship-common.internship2025-01 .internship_detail04-course {
  padding: 30px 20px;
  margin-bottom: 20px;
}
.internship-common.internship2025-01 .internship_detail04-txt {
  margin-top: 0;
}
.internship-common.internship2025-01 .internship_detail04-txt .line {
  font-weight: bold;
  text-decoration: underline;
}
.internship-common.internship2025-01 .internship_detail04-txt .bold {
  font-weight: bold;
}
.internship-common.internship2025-01 .internship_detail04-txt + .internship_detail04-txt {
  margin-top: 20px;
}
.internship-common .margin-15 {
  margin: 15px 0;
}
.internship-common .l-grid {
  display: grid;
  grid-template-columns: auto 1fr;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

/* -----------------------------------------------
* \internship 001 Module
* internship 001ページ用
-------------------------------------------------- */
.internship2024-01 .c-header {
  z-index: 100;
}
.internship2024-01 em,
.internship2024-01 i {
  font-style: normal;
}
.internship2024-01 .internship002_lead p span,
.internship2024-01 .internship002_sublead p,
.internship2024-01 .internship002_ttl,
.internship2024-01 .internship002_white,
.internship2024-01 .internship002_pick .pick_box_program i,
.internship2024-01 .internship002_pick .pick_box_txt-name,
.internship2024-01 .internship002_pick .pick_box_txt-position,
.internship2024-01 .internship002_date .date_box,
.internship2024-01 .internship002_date .date_detail-ttl {
  font-family: var(--font-ShinGo-M);
}
.internship2024-01 .c-img-banner,
.internship2024-01 #pagetop,
.internship2024-01 .c-footer {
  z-index: 10;
}
.internship2024-01 #pagetop {
  background: #fff;
}

/* -----------------------------------------------
* \internship requirement Module
* internship requirementページ用
-------------------------------------------------- */
.requirement .c-mv-img .newgraduate-under-mv {
  text-align: left;
}
.requirement .c-mv-img .newgraduate-under-mv .inner-block {
  padding-top: 30px;
}
.requirement .c-mv-img .mv-title .sub.top {
  margin-top: 0;
  margin-bottom: 10px;
}
.requirement .requirement_link {
  background-color: #a6b5bf;
}
.requirement .requirement_link .icon-area {
  width: 67px;
  height: 62px;
}
.requirement .requirement_link .icon-area img {
  max-width: 100%;
  max-height: 100%;
}
.requirement .requirement_link-ul li a p {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  font-family: var(--font-ShinGo-M);
}
.requirement .main_content_wrap {
  background-color: #333;
  padding-bottom: 100px;
}
.requirement .requirement_box {
  padding-top: 55px;
}
.requirement .requirement_box h3 {
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.requirement .requirement_box h3 .icon {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 49px;
  height: 47px;
}
.requirement .requirement_box h3 .icon img {
  max-width: 100%;
  max-height: 100%;
}
.requirement .requirement_cont {
  background-color: #4d4d4d;
  color: #fff;
  overflow: hidden;
}
.requirement .requirement_cont .requirement_course-title {
  background-color: #a6b5bf;
}
.requirement .requirement_cont .requirement_course-title span {
  color: #333;
  font-family: var(--font-ShinGo-M);
}
.requirement .requirement_cont .requirement_course-title.technical span, .requirement .requirement_cont .requirement_course-title.technical_child span, .requirement .requirement_cont .requirement_course-title.business span, .requirement .requirement_cont .requirement_course-title.business_child span {
  color: #fff;
}
.requirement .requirement_cont .requirement_course-title.technical {
  background-color: #e2625e;
  font-size: 20px;
}
.requirement .requirement_cont .requirement_course-title.technical_child {
  background-color: transparent;
  font-size: 18px;
  position: relative;
  padding-left: 18px;
}
.requirement .requirement_cont .requirement_course-title.technical_child::before {
  background-color: #e2625e;
  content: "";
  height: 16px;
  width: 16px;
  position: absolute;
  top: 5px;
  left: 0;
}
.requirement .requirement_cont .requirement_course-title.business {
  background-color: #345faf;
  font-size: 20px;
}
.requirement .requirement_cont .requirement_course-title.business_child {
  background-color: transparent;
  font-size: 18px;
  position: relative;
  padding-left: 18px;
}
.requirement .requirement_cont .requirement_course-title.business_child::before {
  background-color: #345faf;
  content: "";
  height: 16px;
  width: 16px;
  position: absolute;
  top: 5px;
  left: 0;
}
.requirement .requirement_cont .requirement_course-attention {
  color: #a6b5bf;
  font-family: var(--font-ShinGo-M);
}
.requirement .requirement_cont .requirement_course-attention.technical {
  color: #A9B4BE;
}
.requirement .requirement_cont .requirement_course-attention.business {
  color: #8495A3;
}
.requirement .requirement_cont .requirement_course-text {
  color: #fff;
}
.requirement .requirement_cont .requirement_cont-text {
  color: #fff;
}
.requirement .requirement_cont .requirement_course-link {
  color: #fff;
}
.requirement .requirement_cont.no-flex {
  display: block;
}
.requirement .requirement_cont.no-flex .requirement_course-title span {
  white-space: normal;
}
.requirement .requirement_cont-inner h4 {
  background-color: #a6b5bf;
  font-family: var(--font-ShinGo-M);
  padding: 1px 6px 2px;
}
.requirement .requirement_cont-inner p {
  color: #fff;
}
.requirement .requirement_cont-inner p::before {
  background-color: #fff;
}
.requirement .requirement_cont-inner p.mt-5 {
  margin-top: 5px;
}
.requirement .requirement_cont_process ul li {
  color: #fff;
  font-family: var(--font-ShinGo-M);
}
.requirement .requirement_cont_process ul li em {
  background-color: #a6b5bf;
  color: #333;
}
.requirement .requirement_table-wrap {
  overflow-x: auto;
}
.requirement .requirement_table-wrap.mt-15 {
  margin-top: 15px;
}
.requirement .requirement_table {
  width: 100%;
  margin: 0 auto 20px;
  min-width: 800px;
}
.requirement .requirement_table.small {
  min-width: inherit;
}
.requirement .requirement_table.small td.mx-150 {
  width: 150px;
}
.requirement .requirement_table.small .ib {
  font-size: 14px;
  margin-top: 0;
}
.requirement .requirement_table th, .requirement .requirement_table td {
  border: 1px solid #e6e6e6;
  padding: 10px 15px;
}
.requirement .requirement_table th {
  background-color: #a6b5bf;
  color: #333;
}
.requirement .requirement_table td.column span {
  white-space: pre;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  display: inline-block;
}
.requirement .requirement_table .inn {
  display: block;
  font-size: 12px;
  text-align: center;
  margin-top: 8px;
}
.requirement .requirement_table .center {
  text-align: center;
}
.requirement .requirement_table .circle {
  background: #fff;
  border-radius: 100px;
  display: block;
  position: relative;
  height: 8px;
  width: 8px;
  margin: auto;
}
.requirement .requirement_cont-box.indent {
  padding-left: 30px;
}
.requirement .requirement_cont-box.mb-100 {
  margin-bottom: 100px;
}
.requirement .requirement_check-list li {
  font-size: 14px;
  font-weight: 400;
  color: #fff;
  letter-spacing: 0.11em;
  line-height: 1.571428571;
  text-align: justify;
  position: relative;
  padding-left: 18px;
}
.requirement .requirement_check-list li::before {
  content: "";
  width: 11px;
  height: 6px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  position: absolute;
  top: 7px;
  left: 0;
}
.requirement .requirement_check-list li + li {
  margin-top: 10px;
}

/* -----------------------------------------------
* workstyle Module
* workstyleページ用
-------------------------------------------------- */
.workstyle-header .c-header {
  background: #99abb5;
}

.workstyle {
  background: #4d4d4d;
}
.workstyle .mv-title .main {
  font-size: 24px;
}
.workstyle .mv-img {
  margin: -120px 0 0 -30px;
}
.workstyle .newgraduate-section-box {
  background: #333333;
  color: #fff;
}
.workstyle .newgraduate-section-box .inner-block {
  padding-top: 120px;
  padding-bottom: 260px;
}
.workstyle .c-illust-link.block01 .link-box {
  background: -webkit-gradient(linear, left top, right top, from(rgb(20, 102, 143)), color-stop(50%, rgb(0, 136, 205)));
  background: linear-gradient(90deg, rgb(20, 102, 143) 0%, rgb(0, 136, 205) 50%);
  background-position: 1% 50%;
  background-size: 200% auto;
}
.workstyle .c-illust-link.block01 .link-ttl {
  letter-spacing: 0.18em;
}
.workstyle .c-illust-link.block01 .link-img {
  max-width: 1150px;
  bottom: 22px;
  right: 45px;
}
.workstyle .c-illust-link.block02 .link-box {
  background: -webkit-gradient(linear, left top, right top, from(rgb(167, 122, 110)), color-stop(50%, rgb(243, 169, 149)));
  background: linear-gradient(90deg, rgb(167, 122, 110) 0%, rgb(243, 169, 149) 50%);
  background-position: 1% 50%;
  background-size: 200% auto;
}
.workstyle .c-illust-link.block02 .link-img {
  max-width: 1091px;
  bottom: 23px;
  left: 125px;
}
.workstyle .c-illust-link.block03 .link-box {
  background: -webkit-gradient(linear, left top, right top, from(rgb(207, 168, 168)), color-stop(50%, rgb(244, 177, 184)));
  background: linear-gradient(90deg, rgb(207, 168, 168) 0%, rgb(244, 177, 184) 50%);
  background-position: 1% 50%;
  background-size: 200% auto;
}
.workstyle .c-illust-link.block03 .link-img {
  max-width: 1202px;
  bottom: 34px;
  left: 0;
}

/* -----------------------------------------------
* diversity Module
* diversityページ用
-------------------------------------------------- */
.diversity {
  --themeColor: var(--themeBlue);
  --themeColor02: var(--themeBlue02);
  --themeColor03: var(--themeBlue03);
  --themeColor04: var(--themeBlue04);
  --themeColor05: var(--themeBlue05);
  --themeColor06: var(--themeBlue06);
  background: rgb(var(--themeColor02)/0.7);
}
.diversity .newgraduate-section-about {
  background-color: #fff;
  position: relative;
}
.diversity .newgraduate-section-about::before {
  background-color: transparent;
  background-image: radial-gradient(at 0% 0%, rgb(217, 237, 247) 0px, transparent 50%), radial-gradient(at 6% 90%, rgb(178, 219, 240) 0px, transparent 50%), radial-gradient(at 94% 89%, rgb(217, 237, 247) 0px, transparent 50%), radial-gradient(at 100% 1%, rgb(178, 219, 240) 0px, transparent 50%), radial-gradient(at 50% 10%, rgb(255, 255, 255) 0px, #fff 30%);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 0;
  mix-blend-mode: multiply;
}
.diversity .newgraduate-section-about::after {
  background-color: transparent;
  background-image: radial-gradient(at 0% 0%, rgb(217, 237, 247) 0px, transparent 50%), radial-gradient(at 6% 90%, rgb(178, 219, 240) 0px, transparent 50%), radial-gradient(at 94% 89%, rgb(217, 237, 247) 0px, transparent 50%), radial-gradient(at 100% 1%, rgb(178, 219, 240) 0px, transparent 50%), radial-gradient(at 50% 10%, rgb(255, 255, 255) 0px, #fff 30%);
  mix-blend-mode: multiply;
  content: "";
  opacity: 0.5;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 0;
  mix-blend-mode: multiply;
}
.diversity .newgraduate-section-about .c-ticker-text {
  max-width: 1165px;
}
.diversity .newgraduate-section-about .about-img {
  bottom: -23px;
  margin: auto;
}
.diversity .newgraduate-section-box {
  background-color: #fff;
  background-image: radial-gradient(at 37% 43%, rgba(61, 165, 217, 0.1) 0px, transparent 50%), radial-gradient(at 6% 89%, rgb(61, 165, 217) 0px, transparent 100%), radial-gradient(at 91% 87%, rgba(61, 165, 217, 0.75) 0px, transparent 50%), radial-gradient(at 92% 13%, rgb(61, 165, 217) 0px, transparent 100%);
  position: relative;
  z-index: 0;
}
.diversity .newgraduate-section-box::before {
  background-color: #fff;
  background-image: radial-gradient(at 37% 43%, rgba(61, 165, 217, 0.25) 0px, transparent 50%), radial-gradient(at 6% 89%, rgba(61, 165, 217, 0.4) 0px, transparent 50%), radial-gradient(at 91% 87%, rgba(61, 165, 217, 0.25) 0px, transparent 50%), radial-gradient(at 6% 89%, rgba(61, 165, 217, 0.4) 0px, transparent 50%);
  content: "";
  opacity: 0.5;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 0;
}
.diversity .newgraduate-section-box.bg-none {
  background-image: none;
}
.diversity .newgraduate-section-box.bg-none::before {
  background-image: none;
}
.diversity .newgraduate-section-box.bg-none .inner-block {
  padding-top: 135px;
}
.diversity .brackets-box {
  background-color: transparent;
}
.diversity .brackets-box .inn {
  background: var(--themeColor);
}
.diversity .balloon-box {
  margin-top: 100px;
}
.diversity .balloon-box .balloon {
  background: var(--themeColor);
  width: 495px;
  height: 265px;
  margin-left: 217px;
  margin-top: 17px;
}
.diversity .balloon-box .balloon::before {
  border-bottom: 40px solid var(--themeColor);
}
.diversity .c-bg-box {
  background: rgb(var(--themeColor02)/0.3);
  padding: 72px 50px;
}
.diversity .c-bg-box .wrap-1col {
  text-align: center;
  width: 100%;
}
.diversity .c-bg-box .explanation-txt {
  display: block;
  color: #fff;
  font-size: 22px;
  font-weight: bold;
  text-align: left;
  line-height: 2;
  margin: auto;
}
.diversity .c-bg-box .explanation-txt + .explanation-txt {
  margin-top: 45px;
}
.diversity .theme-block {
  margin-top: 135px;
}
.diversity .theme-block .c-box-title-list {
  margin-top: 28px;
}
.diversity .theme-block .c-box-title-list .en-img {
  margin-top: 40px;
  display: block;
}
.diversity .theme-block .c-box-title-list .en-img img {
  height: 43px;
}
.diversity .theme-block .c-box-title-list .en-img.lower-case img {
  height: 33px;
}
.diversity .theme-block .c-box-title-list .title {
  margin-top: 55px;
}
.diversity .theme-block .c-box-title-list .c-btn02 a {
  font-size: 15px;
  max-width: 270px;
  margin-top: 52px;
  letter-spacing: 0;
  padding-right: 40px;
  padding-left: 20px;
}
.diversity .theme-block .c-box-title-list .c-btn02 a::before {
  width: 10px;
  height: 10px;
  top: 3px;
  right: 28px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.diversity .c-another-contents {
  background: transparent;
}

/* -----------------------------------------------
* diversity Module
* diversityページ用
-------------------------------------------------- */
.ikukyu.careers .main-contents .inner-block {
  display: block;
}
.ikukyu.careers .main-contents .ttl {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  width: 100%;
}
.ikukyu.careers .main-contents .ttl .mv-title {
  line-height: 1.6;
}
.ikukyu.careers .main-contents .ttl .anm-txt_msk {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
.ikukyu .main-contents {
  background-color: #808080;
  height: 100%;
  overflow: hidden;
  width: 100%;
  position: relative;
  padding-bottom: var(--img-space);
  --img-space: 51.7142857143vw;
}
.ikukyu .main-contents .img-area,
.ikukyu .main-contents .img-box {
  pointer-events: none;
}
.ikukyu .main-contents .inner-block {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  max-width: 1244px;
  padding-bottom: 40px;
}
.ikukyu .main-contents .mv-title .sub {
  font-size: 12px;
}
.ikukyu .main-contents .ttl {
  color: #fff;
  font-size: 28px;
  letter-spacing: 0.25em;
  line-height: 2.08;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.ikukyu .main-contents .img-area {
  height: 0;
  padding-top: var(--img-space);
  position: absolute;
  left: 0;
  width: 100%;
}
.ikukyu .main-contents .img-area.js--fixed_item.is_fixed {
  position: fixed;
}
.ikukyu .main-contents .img-area img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: bottom;
     object-position: bottom;
}
.ikukyu .c-breadcrumbs::before {
  content: none !important;
}
.ikukyu .introduction-block {
  background: #ffa5a5;
  position: relative;
  z-index: 2;
}
.ikukyu .introduction-block .inner-block {
  max-width: 980px;
  padding-top: 56px;
  padding-bottom: 120px;
}
.ikukyu .introduction-block .sup-txt {
  color: #fff;
  font-size: 15px;
  letter-spacing: 0.31em;
}
.ikukyu .introduction-block .main-txt {
  color: #fff;
  font-size: 24px;
  letter-spacing: 0.24em;
  line-height: 2;
  text-align: justify;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  margin-top: 15px;
}
.ikukyu .introduction-block .list {
  color: #fff;
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 760px;
  margin: 70px auto 80px;
  grid-gap: 40px;
}
.ikukyu .introduction-block .annotation {
  color: #fff;
  font-size: 10px;
  text-align: right;
  margin: 30px 70px 0;
}
.ikukyu .introduction-block .belong,
.ikukyu .introduction-block .undergraduate {
  font-size: 14px;
  letter-spacing: 0.15em;
  line-height: 2;
}
.ikukyu .introduction-block .belong.small,
.ikukyu .introduction-block .undergraduate.small {
  letter-spacing: 0.05em;
}
.ikukyu .introduction-block .name {
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 0.26em;
  margin-top: 5px;
}
.ikukyu .introduction-block .img {
  height: 0;
  padding-top: 62%;
  position: relative;
  border-radius: 9px;
  overflow: hidden;
}
.ikukyu .introduction-block .img img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
}
.ikukyu .accordion-block {
  background: #ffa5a5;
  color: #fff;
  overflow: hidden;
  position: relative;
  z-index: 2;
  padding-bottom: 200px;
}
.ikukyu .accordion-block .visual-area {
  height: 0;
  padding-top: 57%;
  position: relative;
}
.ikukyu .accordion-block .visual-area img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.ikukyu .accordion-block .talk-area {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 70px;
}
.ikukyu .accordion-block .ttl-area {
  width: 50.67%;
  margin-left: auto;
  margin-top: -162px;
}
.ikukyu .accordion-block .ttl-area.has-detail {
  max-width: 925px;
  width: 100%;
  margin-right: calc(50% - 50vw);
}
.ikukyu .accordion-block .ttl-area.has-detail .ttl {
  background-color: #333;
  text-align: center;
  padding: 29px 20px;
}
.ikukyu .accordion-block .ttl-area.has-detail .ttl-detail {
  text-indent: 1em;
  font-size: 18px;
  letter-spacing: 0.21em;
  line-height: 2;
  background-color: #4D4D4D;
  padding: 48px 130px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  text-align: justify;
}
.ikukyu .accordion-block .ttl-area.center {
  margin-right: auto;
  margin-left: auto;
}
.ikukyu .accordion-block .ttl-sub {
  font-size: 15px;
  letter-spacing: 0.21em;
  text-align: center;
  max-width: 244px;
  padding: 12px 15px;
  color: #fff;
  background-color: #0088CD;
}
.ikukyu .accordion-block .ttl-sub.purple {
  background-color: #893672;
}
.ikukyu .accordion-block .ttl-sub.red {
  background-color: #D82531;
}
.ikukyu .accordion-block .ttl-sub.orange {
  background-color: #E88000;
}
.ikukyu .accordion-block .ttl {
  font-size: 28px;
  letter-spacing: 0.15em;
  line-height: 2;
  color: #fff;
  background-color: #474747;
  padding: 41px 20px 41px 80px;
}
.ikukyu .accordion-block .talk-area .img {
  overflow: hidden;
  border-radius: 9px;
  height: 0;
  padding-top: 61%;
  position: relative;
}
.ikukyu .accordion-block .talk-area .img + .img {
  margin-top: 50px;
}
.ikukyu .accordion-block .talk-area .img img {
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(1.01);
          transform: scale(1.01);
}
.ikukyu .accordion-block .name {
  font-size: 12px;
  letter-spacing: 0.46em;
  text-align: center;
  margin-top: 7px;
  text-indent: 0;
}
.ikukyu .accordion-block .ico {
  overflow: hidden;
  border-radius: 555px;
  text-indent: 0;
}
.ikukyu .accordion-block .ico-area {
  max-width: 60px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 100%;
}
.ikukyu .accordion-block .txt {
  font-size: 14px;
  letter-spacing: 0.21em;
  text-align: justify;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 2.14;
  margin-left: 20px;
}
.ikukyu .accordion-block .box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.ikukyu .accordion-block .box + .box {
  margin-top: 22px;
}
.ikukyu .accordion-block.reverse .ttl-area {
  margin-left: 0;
}
.ikukyu .accordion-block.reverse .ttl-area.has-detail {
  margin-left: calc(50% - 50vw);
}
.ikukyu .accordion-block.reverse .talk-area .img-items {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
.ikukyu .accordion-block.reverse .talk-items {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
.ikukyu .accordion-block.reverse .saying-area {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.ikukyu .accordion-block.reverse .saying-area .img-items {
  margin-left: -165px;
  margin-right: calc(50% - 50vw);
}
.ikukyu .accordion-block.reverse .saying-area .img {
  text-align: right;
}
.ikukyu .accordion-block.reverse .saying-area .txt-box {
  padding: 50px 50px 0 0;
}
.ikukyu .accordion-block .saying-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 65px;
}
.ikukyu .accordion-block .saying-area .img-items {
  margin-left: calc(50% - 50vw);
  margin-right: -165px;
  width: 69.8571428571vw;
}
.ikukyu .accordion-block .saying-area .img-items img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.ikukyu .accordion-block .saying-area .img-items img.w-auto {
  width: auto;
}
.ikukyu .accordion-block .saying-area .img + .img {
  margin-top: 30px;
}
.ikukyu .accordion-block .saying-area .txt-box {
  width: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  padding: 260px 60px 93px 48px;
  text-indent: 1em;
  position: relative;
  margin-top: 447px;
  margin-left: auto;
}
.ikukyu .accordion-block .saying-area .txt-box .box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.ikukyu .accordion-block .saying-area .txt-box .box + .box {
  margin-top: 22px;
}
.ikukyu .accordion-block .saying-area .txt-box .box + .box-ttl {
  margin-top: 22px;
}
.ikukyu .accordion-block .saying-area .txt-box .box .txt {
  font-size: 14px;
  letter-spacing: 0.21em;
  text-align: justify;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 2.14;
  margin-left: 20px;
}
.ikukyu .accordion-block .saying-area .box-ttl {
  font-size: 14px;
  letter-spacing: 0.51em;
  line-height: 2.1428;
  position: relative;
  padding-bottom: 30px;
  max-width: 523px;
  margin: 0 0 40px auto;
}
.ikukyu .accordion-block .saying-area .box-ttl:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #c0c0c0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}
.ikukyu .accordion-block .saying-area .box-ttl.bottom {
  margin: 47px auto 0;
  padding-bottom: 0;
  padding-top: 30px;
}
.ikukyu .accordion-block .saying-area .box-ttl.bottom:after {
  bottom: inherit;
  top: 0;
}
.ikukyu .accordion-block .saying-area .box-ttl .inn {
  display: block;
  text-align: left;
  text-indent: 0;
}
.ikukyu .accordion-block .saying-area .txt + .txt {
  margin-top: 30px;
}
.ikukyu .accordion-block.pattern-02 .inner-block {
  max-width: 1284px;
}
.ikukyu .accordion-block.pattern-02 .ttl-area {
  margin-left: calc(50% - 50vw + 85px);
}
.ikukyu .accordion-block.pattern-02 .ttl {
  background-color: #fff;
  color: #282828;
}
.ikukyu .accordion-block.pattern-02.reverse .ttl-area {
  margin-right: calc(50% - 50vw + 85px);
  margin-left: auto;
}
.ikukyu .accordion-block.pattern-02.reverse .visual-area {
  margin-left: 0;
}
.ikukyu .accordion-block.pattern-02.reverse .talk-area:not(.reverse) .img-items {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
.ikukyu .accordion-block.pattern-02.reverse .talk-area:not(.reverse) .talk-box {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
.ikukyu .accordion-block.pattern-02 .talk-area {
  margin-top: 0;
}
.ikukyu .accordion-block.pattern-02 .talk-area.reverse {
  margin-top: 80px;
}
.ikukyu .accordion-block.pattern-02 .talk-area.reverse .img-items {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  margin-left: 0;
  margin-right: calc(100% - 50vw);
}
.ikukyu .accordion-block.pattern-02 .talk-area.reverse .img-items .img-box {
  margin-right: 0;
  margin-left: -140px;
}
.ikukyu .accordion-block.pattern-02 .talk-area.reverse .img-items .img {
  text-align: right;
}
.ikukyu .accordion-block.pattern-02 .talk-area.reverse .img-items img {
  right: 0;
  left: auto;
}
.ikukyu .accordion-block.pattern-02 .talk-area.reverse .talk-box {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  margin-right: -90px;
}
.ikukyu .accordion-block.pattern-02 .talk-area.reverse .box {
  padding-left: 0;
  padding-right: 90px;
}
.ikukyu .accordion-block.pattern-02 .talk-area.reverse .box-ttl {
  margin-right: 90px;
  margin-left: 80px;
}
.ikukyu .accordion-block.pattern-02 .talk-box {
  background-color: rgba(128, 150, 163, 0.8);
}
.ikukyu .accordion-block.pattern-02 .box {
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.ikukyu .accordion-block.pattern-02 .box-ttl {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.51em;
  line-height: 2.14;
  border-bottom: 1px solid #B3C0C8;
  padding-bottom: 20px;
  margin-bottom: 35px;
}
.ikukyu .accordion-block.pattern-02 .img {
  border-radius: 0;
}
.ikukyu .accordion-block.pattern-02 .img img {
  right: auto;
}
.ikukyu .accordion-block.pattern-02 .name {
  position: relative;
}
.ikukyu .accordion-block.pattern-02 .name:after {
  position: absolute;
  content: "：";
  right: -0.5em;
  top: 0;
  bottom: 0;
  margin: auto;
}
.ikukyu .accordion-block.pattern-02 .txt {
  text-indent: 1.21em;
}
.ikukyu .accordion-block .talk-wrap .head {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(216, 37, 49, 0.35);
  color: #4d4d4d;
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  max-width: 920px;
  margin: auto;
  padding: 50px 44px 45px 80px;
  position: relative;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  z-index: 2;
}
.ikukyu .accordion-block .talk-wrap .head::before {
  background: rgba(216, 37, 49, 0.35);
  content: "";
  height: 1px;
  width: 260px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: -260px;
}
.ikukyu .accordion-block .talk-wrap .head::after {
  background: rgba(216, 37, 49, 0.35);
  content: "";
  height: 1px;
  width: 260px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: -260px;
}
.ikukyu .accordion-block .talk-wrap .head.active {
  background: rgba(255, 255, 255, 0.84);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.ikukyu .accordion-block .talk-wrap .head.active .title::before, .ikukyu .accordion-block .talk-wrap .head.active .title::after {
  background: #eb9298;
}
.ikukyu .accordion-block .talk-wrap .head.active .title::after {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}
.ikukyu .accordion-block .talk-wrap .head .num {
  display: block;
  font-size: 15px;
  letter-spacing: 0.21em;
  width: 135px;
}
.ikukyu .accordion-block .talk-wrap .head .title {
  font-size: 24px;
  margin-left: 110px;
  letter-spacing: 0.24em;
  width: calc(100% - 245px);
  position: relative;
}
.ikukyu .accordion-block .talk-wrap .head .title::before, .ikukyu .accordion-block .talk-wrap .head .title::after {
  background: #fff;
  content: "";
  height: 1px;
  width: 40px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.ikukyu .accordion-block .talk-wrap .head .title::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.ikukyu .accordion-block .talk-wrap .body {
  position: relative;
  display: none;
}
.ikukyu .accordion-block .talk-wrap .body.active {
  display: block;
}
.ikukyu .accordion-block .talk-wrap + .talk-wrap {
  margin-top: 27px;
}
.ikukyu .c-another-contents {
  position: relative;
  z-index: 2;
}

/* -----------------------------------------------
* diversity Module
* diversityページ用
-------------------------------------------------- */
.welfare {
  --themeColor: var(--themePink);
  --themeColor02: var(--themePink02);
  background: var(--themeColor);
}
.welfare .newgraduate-section-about {
  background-color: #fff;
  position: relative;
}
.welfare .newgraduate-section-about::before {
  background-color: transparent;
  background-image: radial-gradient(at 0% 0%, rgba(216, 37, 49, 0.15) 0px, transparent 50%), radial-gradient(at 6% 90%, rgba(216, 37, 49, 0.15) 0px, transparent 50%), radial-gradient(at 94% 89%, rgba(216, 37, 49, 0.15) 0px, transparent 50%), radial-gradient(at 100% 1%, rgba(216, 37, 49, 0.15) 0px, transparent 50%), radial-gradient(at 50% 10%, rgb(255, 255, 255) 0px, #fff 30%);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 0;
  mix-blend-mode: multiply;
}
.welfare .newgraduate-section-about::after {
  background-color: transparent;
  background-image: radial-gradient(at 0% 0%, rgba(216, 37, 49, 0.5) 0px, transparent 50%), radial-gradient(at 6% 90%, rgba(216, 37, 49, 0.5) 0px, transparent 50%), radial-gradient(at 94% 89%, rgba(216, 37, 49, 0.5) 0px, transparent 50%), radial-gradient(at 100% 1%, rgba(216, 37, 49, 0.5) 0px, transparent 50%), radial-gradient(at 50% 10%, rgb(255, 255, 255) 0px, #fff 30%);
  mix-blend-mode: multiply;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 0;
  mix-blend-mode: multiply;
  opacity: 0.5;
}
.welfare .newgraduate-section-about .inner-block {
  padding-top: 238px;
  padding-bottom: 395px;
  z-index: 2;
}
.welfare .newgraduate-section-about .c-ticker-text {
  width: 100vw;
}
.welfare .newgraduate-section-about .about-img {
  bottom: -8px;
  left: 10px;
  margin: auto;
}
.welfare .anchor-section-box {
  background: #fff;
}
.welfare .anchor-section-box .inner-block {
  padding-top: 150px;
  padding-bottom: 150px;
}
.welfare .anchor-section-box .box-title {
  max-width: 400px;
  margin: 0 auto 43px;
}
.welfare .anchor-section-box .box-list {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: auto;
  width: 100%;
}
.welfare .anchor-section-box .box-list li {
  border: 1px solid #f3b9bd;
}
.welfare .anchor-section-box .box-list li a .img {
  overflow: hidden;
}
.welfare .anchor-section-box .box-list li a .img img {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.welfare .anchor-section-box .box-list .title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding: 45px 22px 18px;
}
.welfare .anchor-section-box .box-list .title .num {
  display: block;
  font-size: 22px;
  font-weight: bold;
  line-height: 1;
  width: 25px;
}
.welfare .anchor-section-box .box-list .title .inn {
  display: block;
  font-size: 18px;
  margin-left: 14px;
  line-height: 1;
  width: calc(100% - 39px);
}
.welfare .anchor-section-box .box-list .img img {
  width: 100%;
}
.welfare .c-another-contents {
  background: transparent;
}
.welfare .welfare-section-box {
  background: #fff;
  position: relative;
  z-index: 0;
}
.welfare .welfare-section-box .bg {
  background: #ebebeb;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -2;
  width: 100%;
  height: 294px;
}
.welfare .welfare-section-box .inner-block {
  padding-bottom: 130px;
}
.welfare .welfare-section-box .inner-block.mt-130 {
  padding-top: 130px;
}
.welfare .welfare-section-box .inner-block.mt-160 {
  padding-top: 160px;
}
.welfare .welfare-section-box::before {
  background-color: transparent;
  background-image: radial-gradient(at 0% 0%, rgba(216, 37, 49, 0.15) 0px, transparent 50%), radial-gradient(at 6% 90%, rgba(216, 37, 49, 0.15) 0px, transparent 50%), radial-gradient(at 94% 89%, rgba(216, 37, 49, 0.15) 0px, transparent 50%), radial-gradient(at 100% 1%, rgba(216, 37, 49, 0.15) 0px, transparent 50%), radial-gradient(at 50% 10%, rgb(255, 255, 255) 0px, #fff 30%);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: -1;
  mix-blend-mode: multiply;
}
.welfare .welfare-section-box::after {
  background-color: transparent;
  background-image: radial-gradient(at 0% 0%, rgba(216, 37, 49, 0.5) 0px, transparent 50%), radial-gradient(at 6% 90%, rgba(216, 37, 49, 0.5) 0px, transparent 50%), radial-gradient(at 94% 89%, rgba(216, 37, 49, 0.5) 0px, transparent 50%), radial-gradient(at 100% 1%, rgba(216, 37, 49, 0.5) 0px, transparent 50%), radial-gradient(at 50% 10%, rgb(255, 255, 255) 0px, #fff 30%);
  mix-blend-mode: multiply;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: -1;
  mix-blend-mode: multiply;
  opacity: 0.5;
}
.welfare .welfare-section-box .section-ttl-wrap {
  border: 1px solid var(--themeColor);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.welfare .welfare-section-box .section-ttl-wrap div {
  width: 50%;
}
.welfare .welfare-section-box .section-ttl-wrap .img img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
.welfare .welfare-section-box .section-ttl-wrap .text-area {
  background: var(--themeColor);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 94px 64px 94px 80px;
}
.welfare .welfare-section-box .section-ttl-wrap .text-area .main-title {
  border-bottom: 1px solid #f3b9bd;
  color: #fff;
  text-align: center;
  position: relative;
  width: 100%;
}
.welfare .welfare-section-box .section-ttl-wrap .text-area .main-title .num {
  display: block;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 0.01em;
}
.welfare .welfare-section-box .section-ttl-wrap .text-area .main-title .inn {
  display: block;
  font-size: 28px;
  font-weight: bold;
  letter-spacing: 0.31em;
  margin-top: 30px;
  padding-bottom: 15px;
}
.welfare .welfare-section-box .section-ttl-wrap .text-area .text {
  color: #fff;
  font-size: 22px;
  font-weight: 500;
  text-align: center;
  margin-top: 52px;
  letter-spacing: 0.16em;
}
.welfare .welfare-section-box .box-wrap.ico .box {
  padding: 38px 221px 35px 65px;
}
.welfare .welfare-section-box .box-wrap.ico .box + .box {
  margin-top: 195px;
}
.welfare .welfare-section-box .box-wrap.ico .box:nth-child(1) .deco {
  bottom: 380px;
  right: 33px;
  max-width: 119px;
  width: 100%;
}
.welfare .welfare-section-box .box-wrap.ico .box:nth-child(2) .deco {
  bottom: -47px;
  right: 16px;
  max-width: 95px;
  width: 100%;
}
.welfare .welfare-section-box .box-wrap.ico .box:nth-child(3) .deco {
  bottom: 264px;
  right: -25px;
  max-width: 176px;
  width: 100%;
}
.welfare .welfare-section-box .box-wrap.line .box {
  padding: 65px 170px 50px 60px;
}
.welfare .welfare-section-box .box-wrap.line .box + .box {
  margin-top: 120px;
}
.welfare .welfare-section-box .box-wrap.line .box:nth-child(1), .welfare .welfare-section-box .box-wrap.line .box:nth-child(2), .welfare .welfare-section-box .box-wrap.line .box:nth-child(3) {
  max-width: 861px;
}
.welfare .welfare-section-box .box-wrap.line .box:nth-child(1) .deco {
  bottom: -44px;
  right: 48px;
  max-width: 95px;
  width: 100%;
}
.welfare .welfare-section-box .box-wrap.line .box:nth-child(3) {
  margin-left: auto;
}
.welfare .welfare-section-box .box-wrap .box {
  background: #fff;
  position: relative;
}
.welfare .welfare-section-box .box-wrap .ico-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.welfare .welfare-section-box .box-wrap .ico-list li {
  position: relative;
  padding-top: 90px;
}
.welfare .welfare-section-box .box-wrap .ico-list .ico {
  max-width: 145px;
  margin: 0 auto;
  position: absolute;
  top: -70px;
  left: 0;
  right: 0;
  margin: auto;
}
.welfare .welfare-section-box .box-wrap .ico-list .title {
  font-size: 18px;
  letter-spacing: 0.11em;
  margin-bottom: 25px;
  text-align: center;
}
.welfare .welfare-section-box .box-wrap .ico-list .text {
  font-size: 14px;
  letter-spacing: 0.13em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.8571;
}
.welfare .welfare-section-box .box-wrap .ico-list .text + .text {
  margin-top: 35px;
}
.welfare .welfare-section-box .box-wrap .vertical-text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  white-space: nowrap;
  position: absolute;
  top: 57px;
  right: 33px;
}
.welfare .welfare-section-box .box-wrap .vertical-text .inn {
  background: var(--themeColor);
  color: #fff;
  display: inline-block;
  font-size: 22px;
  font-weight: 500;
  padding: 11px 4px;
  letter-spacing: 0.16em;
}
.welfare .welfare-section-box .box-wrap .vertical-text .inn + .inn {
  margin-right: 7px;
}
.welfare .welfare-section-box .box-wrap .vertical-text .inn .comma {
  position: relative;
  padding: 15px 0 15px;
}
.welfare .welfare-section-box .box-wrap .vertical-text .inn .comma::before, .welfare .welfare-section-box .box-wrap .vertical-text .inn .comma::after {
  display: block;
  position: absolute;
}
.welfare .welfare-section-box .box-wrap .vertical-text .inn .comma::before {
  content: " “ ";
  top: 0;
  left: 8px;
}
.welfare .welfare-section-box .box-wrap .vertical-text .inn .comma::after {
  content: " ” ";
  bottom: -10px;
  right: 6px;
}
.welfare .welfare-section-box .box-wrap .deco {
  position: absolute;
}
.welfare .welfare-section-box .topics-wrap {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 170px;
}
.welfare .welfare-section-box .topics-wrap .wrap {
  background: #fff;
  border-radius: 10px;
  padding: 66px 40px 56px;
  max-width: 495px;
}
.welfare .welfare-section-box .topics-wrap .wrap > .text {
  font-size: 14px;
  letter-spacing: 0.14em;
  line-height: 1.8571;
  margin-top: 23px;
  margin-bottom: 40px;
}
.welfare .welfare-section-box .topics-wrap .wrap + .wrap {
  margin-left: 138px;
  margin-top: 108px;
}
.welfare .welfare-section-box .topics-wrap .title .en {
  display: block;
  font-size: 16px;
  letter-spacing: 0.2em;
}
.welfare .welfare-section-box .topics-wrap .title .inn {
  color: var(--themeColor);
  display: block;
  font-size: 22px;
  letter-spacing: 0.11em;
  margin-top: 17px;
}
.welfare .welfare-section-box .topics-wrap .l-flex {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.welfare .welfare-section-box .topics-wrap .l-flex.right {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.welfare .welfare-section-box .topics-wrap .l-flex.right .title {
  padding-right: 15px;
}
.welfare .welfare-section-box .topics-wrap .l-flex + .l-flex {
  margin-top: 40px;
}
.welfare .welfare-section-box .topics-wrap .l-flex .title {
  color: var(--themeColor);
  font-size: 17px;
  font-weight: bold;
  letter-spacing: 0.11em;
}
.welfare .welfare-section-box .topics-wrap .l-flex .text {
  color: var(--themeColor);
  font-size: 22px;
  font-weight: bold;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1;
}
.welfare .welfare-section-box .topics-wrap .l-flex .text .en {
  font-size: 74px;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1;
}
.welfare .welfare-section-box .topics-wrap .l-flex .text .en.lt-60 {
  letter-spacing: -0.06em;
}
.welfare .welfare-section-box .topics-wrap .l-flex .text + .text {
  margin-left: 6px;
}
.welfare .welfare-section-box .topics-wrap .note {
  letter-spacing: 0.1em;
  font-size: 14px;
  text-align: right;
  margin-top: 15px;
}
.welfare .welfare-section-box .box-img-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.welfare .welfare-section-box .box-img-list.max-2 li {
  width: calc((100% - 120px) / 2);
}
.welfare .welfare-section-box .box-img-list.max-3 li {
  width: calc((100% - 80px) / 3);
}
.welfare .welfare-section-box .box-img-list.max-3 .text-area {
  display: block;
}
.welfare .welfare-section-box .box-img-list.max-3 .title {
  color: #474747;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}
.welfare .welfare-section-box .box-img-list.max-3 .text {
  color: #474747;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.8571;
  margin: 20px 30px 0;
}
.welfare .welfare-section-box .box-img-list .text-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 25px;
}
.welfare .welfare-section-box .box-img-list .title {
  color: #000;
  font-size: 22px;
  font-weight: bold;
}
.welfare .welfare-section-box .box-img-list .text {
  color: #666;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.7222;
  margin-left: 40px;
}
.welfare .welfare-section-box .box-img-list .img img {
  width: 100%;
}
.welfare .welfare-section-box .box-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.welfare .welfare-section-box .box-list li + li {
  margin-left: 40px;
}
.welfare .welfare-section-box .box-list .title {
  border: 1px solid #efa8ad;
  font-size: 18px;
  letter-spacing: 0.11em;
  text-align: center;
  padding: 36px 20px;
}
.welfare .welfare-section-box .box-list .text {
  font-size: 14px;
  letter-spacing: 0.14em;
  margin-top: 30px;
}
.welfare .welfare-section-box .bg-box {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  position: relative;
  max-width: 1099px;
  margin-top: 140px;
}
.welfare .welfare-section-box .bg-box::before {
  background: #fff;
  border-radius: 10px;
  content: "";
  width: 955px;
  height: 473px;
  position: absolute;
  top: -70px;
  right: 0;
  z-index: 0;
}
.welfare .welfare-section-box .bg-box .img {
  width: 696px;
  position: relative;
  z-index: 1;
}
.welfare .welfare-section-box .bg-box .img img {
  width: 100%;
}
.welfare .welfare-section-box .bg-box .text-area {
  margin-left: 30px;
  width: calc(100% - 726px);
  padding-right: 60px;
  z-index: 1;
}
.welfare .welfare-section-box .bg-box .text-area .title .en {
  color: #474747;
  display: block;
  font-size: 16px;
  letter-spacing: 0.2em;
}
.welfare .welfare-section-box .bg-box .text-area .title .inn {
  color: var(--themeColor);
  display: block;
  font-size: 22px;
  letter-spacing: 0.11em;
  margin-top: 20px;
}
.welfare .welfare-section-box .bg-box .text-area .text {
  font-size: 14px;
  letter-spacing: 0.14em;
  margin-top: 25px;
}
.welfare .c-another-contents {
  background: #ebebeb;
}
.welfare .c-another-contents .inner-block {
  padding-top: 100px;
  padding-bottom: 190px;
}
.welfare .c-another-contents .title {
  color: #000;
}
.welfare .c-another-contents .link-box .text {
  color: #666;
}

/* -----------------------------------------------
* business Module
* businessページ用
-------------------------------------------------- */
.business {
  background: #4d4d4d;
}
.business .newgraduate-section-about {
  background: rgba(0, 0, 0, 0.4);
}
.business .newgraduate-section-about .inner-block {
  padding-top: 118px;
  padding-bottom: 115px;
}
.business .newgraduate-section-about .flow-ttl {
  color: #fff;
  font-size: 18px;
  letter-spacing: 0.11em;
}
.business .newgraduate-section-about .flow-img-area {
  margin-top: 8px;
}
.business .newgraduate-section-box {
  background: #333;
  border-bottom: solid 1px rgba(255, 255, 255, 0.4);
  color: #fff;
  padding: 66px 0 25px;
  position: relative;
}
.business .flow-block {
  overflow: hidden;
  padding-bottom: 226px;
}
.business .flow-block:nth-child(2) .work-img-area .work-ttl {
  background: rgba(112, 180, 44, 0.8);
}
.business .flow-block:nth-child(2) .employee-link-area .employee-item .img-area .comment span {
  background: rgba(112, 180, 44, 0.75);
}
.business .flow-block:nth-child(3) .work-img-area .work-ttl {
  background: rgba(238, 186, 189, 0.8);
}
.business .flow-block:nth-child(3) .employee-link-area .employee-item .img-area .comment span {
  background: rgba(238, 186, 189, 0.85);
}
.business .flow-block:nth-child(4) .work-img-area .work-ttl {
  background: rgba(128, 150, 163, 0.85);
  color: #fff;
}
.business .flow-block:nth-child(4) .employee-link-area .employee-item .img-area .comment span {
  background: rgba(128, 150, 163, 0.85);
  color: #fff;
}
.business .flow-block .work-img-area {
  padding-right: 50px;
  position: relative;
}
.business .flow-block .work-img-area img {
  width: 100%;
}
.business .flow-block .work-img-area .inner-block {
  padding-top: 0;
  padding-bottom: 0;
}
.business .flow-block .work-img-area .work-ttl-area {
  position: absolute;
  height: 104px;
  width: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.business .flow-block .work-img-area .work-ttl {
  background: rgba(171, 227, 255, 0.85);
  color: #333;
  font-family: var(--font-ShinGo-M);
  font-size: 26px;
  letter-spacing: 0.71em;
  text-align: center;
  padding: 32px 30px 28px;
  max-width: 80vw;
  margin: auto;
}
.business .flow-block .work-img-area .work-ttl.small {
  letter-spacing: 0.4em;
}
.business .flow-block .work-txt-area {
  margin-top: 90px;
  line-height: 2;
  position: relative;
}
.business .flow-block .work-txt-area .inner-block {
  padding-top: 0;
  padding-bottom: 0;
}
.business .flow-block .work-txt-area .work-sub-ttl {
  font-size: 22px;
  letter-spacing: 0.11em;
}
.business .flow-block .work-txt-area .work-txt {
  font-size: 14px;
  margin-top: 30px;
  line-height: 2.5;
  letter-spacing: 0.05em;
}
.business .flow-block .employee-link-area {
  position: relative;
}
.business .flow-block .employee-link-area::before {
  background: #272b2c;
  background-size: 100% 100%;
  content: "";
  display: block;
  height: 113%;
  position: absolute;
  width: 78%;
  top: 43px;
  right: 0;
  margin: auto;
}
.business .flow-block .employee-link-area .inner-block {
  padding-top: 150px;
  padding-bottom: 0;
}
.business .work-flow-area {
  pointer-events: none;
  position: absolute;
  top: 200px;
  bottom: 200px;
  right: 0;
  width: 156px;
  z-index: 1;
}
.business .work-flow-area .flow-list {
  pointer-events: auto;
  position: -webkit-sticky;
  position: sticky;
  right: 0;
  top: calc(58% - 291.5px);
}
.business .work-flow-area .flow-item a {
  background: #1a1a1a;
  display: block;
  text-align: center;
  padding: 30px 10px 4px;
  position: relative;
}
.business .work-flow-area .flow-item a::after {
  border-top: 15px solid #1a1a1a;
  border-right: 78px solid transparent;
  border-left: 78px solid transparent;
  content: "";
  display: block;
  height: 15px;
  position: absolute;
  width: 156px;
  bottom: -15px;
  right: 0;
  left: 0;
  margin: auto;
  z-index: 5;
}
.business .work-flow-area .flow-item.current a {
  background: #4d4d4d;
}
.business .work-flow-area .flow-item.current a::after {
  border-top: 15px solid #4d4d4d;
}
.business .work-flow-area .flow-item .flow-icon {
  width: 104px;
  height: 70px;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.business .work-flow-area .flow-item .flow-icon img {
  max-width: 100%;
  max-height: 100%;
}
.business .work-flow-area .flow-item .flow-txt {
  font-size: 14px;
  letter-spacing: 0.21em;
  margin-top: 8px;
}
.business .work-flow-area .flow-item:nth-child(2) .flow-icon {
  height: 55px;
}
.business .work-flow-area .flow-item:nth-child(3) .flow-icon {
  height: 60px;
}
.business .work-flow-area .flow-item:nth-child(3) .flow-txt {
  letter-spacing: 0;
}
.business .work-flow-area .flow-item:nth-child(4) .flow-icon {
  height: 90px;
}
.business .work-flow-area.is-in {
  position: fixed;
  top: 200px;
}
.business .work-flow-area.is-in-bottom {
  position: absolute;
  top: auto;
  bottom: 270px;
}
.business.newgraduate .employee-list {
  gap: 30px;
}
.business.newgraduate .employee-item .img-area {
  position: relative;
}
.business.newgraduate .employee-item .img-area .comment span {
  font-size: 18px;
}

.employee-list {
  color: #fff;
}
.employee-list + .employee-list {
  margin-top: 60px;
}
.employee-list[data-department=development] .img-area .comment span {
  background: rgba(171, 227, 255, 0.85);
}
.employee-list[data-department=optimization] .img-area .comment span {
  background: rgba(112, 180, 44, 0.8);
}
.employee-list[data-department=engineering] .img-area .comment span {
  background: rgba(238, 186, 189, 0.8);
}
.employee-list[data-department=corporate] .img-area .comment span {
  background: rgba(128, 150, 163, 0.85);
  color: #fff;
}
.employee-item .img-area {
  position: relative;
}
.employee-item .img-area img {
  width: 100%;
}
.employee-item .img-area .comment {
  position: absolute;
  left: 15px;
  bottom: 30px;
  padding-right: 10px;
}
.employee-item .img-area .comment span {
  background: rgba(171, 227, 255, 0.85);
  color: #333;
  font-family: var(--font-ShinGo-M);
  font-size: 22px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  display: inline-block;
  padding: 3px 5px 3px 12px;
  letter-spacing: 0.11em;
}
.employee-item .img-area .comment span:nth-child(n+2) {
  margin-top: 5px;
}
.employee-item .txt-area {
  margin-top: 30px;
}
.employee-item .txt-area .name {
  font-size: 20px;
  letter-spacing: 0.16em;
}
.employee-item .txt-area .position {
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.08em;
  margin-top: 10px;
}
.employee-item.item-career .img-area {
  position: relative;
}
.employee-item.item-career .img-area::after {
  background: #8096a3;
  content: "CAREER";
  font-family: "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, "UD新ゴ R", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-size: 10px;
  display: block;
  height: 24px;
  position: absolute;
  min-width: 90px;
  top: 0;
  right: 0;
  padding: 4px 10px;
  text-align: center;
  letter-spacing: 0.21em;
  white-space: nowrap;
}

.people .newgraduate-under-mv {
  background: transparent;
}
.people .newgraduate-under-mv .inner-block {
  padding-bottom: 200px;
}
.people .c-tag_wrap {
  background: #333;
}
.people .c-another-contents .title, .people .c-another-contents .link-box .text {
  color: #fff;
}

/* -----------------------------------------------
* \interview detail Module
* interview detailページ用
-------------------------------------------------- */
.interview-detail .inner-block {
  max-width: 1140px;
}
.interview-detail .newgraduate-under-mv {
  background-color: #333;
  color: #fff;
}
.interview-detail .newgraduate-under-mv .inner-block {
  max-width: 1244px;
}
.interview-detail .newgraduate-under-mv .mv-title {
  line-height: 1.6;
}
.interview-detail .newgraduate-under-mv .mv-title .main {
  letter-spacing: inherit;
}
.interview-detail .newgraduate-under-mv .mv-title .sub {
  font-weight: 400;
  font-size: 12px;
}
.interview-detail .newgraduate-under-mv .ttl {
  font-size: 28px;
  letter-spacing: 0.25em;
  line-height: 2.08;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.interview-detail span.js--mask_item {
  display: inline-block;
  height: 100%;
}
.interview-detail .js--mask_item,
.interview-detail .js--mask_item_list .img {
  background: #8096A3;
  position: relative;
}
.interview-detail .js--mask_item img,
.interview-detail .js--mask_item_list .img img {
  opacity: 0;
}
.interview-detail .js--mask_item::before,
.interview-detail .js--mask_item_list .img::before {
  background-color: #8cb0c5;
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 0;
  height: 100%;
  z-index: 5;
  -webkit-transition: width 0.35s ease-in-out;
  transition: width 0.35s ease-in-out;
}
.interview-detail .js--mask_item.is_animation:before,
.interview-detail .js--mask_item_list .img.is_animation:before {
  width: 100%;
}
.interview-detail .js--mask_item.is_animated::before,
.interview-detail .js--mask_item_list .img.is_animated::before {
  width: 0;
  left: auto;
  right: 0;
}
.interview-detail .js--mask_item.is_animated img,
.interview-detail .js--mask_item_list .img.is_animated img {
  opacity: 1;
}
.interview-detail .about-block {
  position: relative;
}
.interview-detail .about-block .img-area {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.interview-detail .about-block .img-area img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}
.interview-detail .about-block .img {
  height: 0;
  padding-top: 100%;
  position: relative;
  z-index: 2;
}
.interview-detail .about-block .box {
  position: absolute;
  bottom: 95px;
  right: 0;
  left: 13%;
  margin: auto;
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  z-index: 3;
  -webkit-transform: translate(-50px, 50px);
          transform: translate(-50px, 50px);
  opacity: 0;
  -webkit-transition: 1s ease-in-out;
  transition: 1s ease-in-out;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
}
.interview-detail .about-block .box.is_animated {
  -webkit-transform: translate(0);
          transform: translate(0);
  opacity: 1;
}
.interview-detail .about-block .txt-area {
  color: #fff;
  position: relative;
  z-index: 1;
  padding: 50px 25px 12px 50px;
  display: inline-block;
}
.interview-detail .about-block .txt-area + .txt-area {
  margin-left: 30px;
}
.interview-detail .about-block .txt-area:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(128, 150, 163, 0.6);
  z-index: -1;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  pointer-events: none;
  border-radius: 30px;
  -webkit-transform: skew(0deg, -18deg);
          transform: skew(0deg, -18deg);
}
.interview-detail .about-block .top-txt {
  font-size: 27px;
  letter-spacing: 0.18em;
  text-align: right;
}
.interview-detail .about-block .department {
  font-size: 14px;
  letter-spacing: 0.15em;
  line-height: 1.85;
  margin-top: 20px;
}
.interview-detail .about-block .name {
  font-size: 22px;
  letter-spacing: 0.16em;
  margin-top: 10px;
}
.interview-detail .about-block .annotation {
  font-size: 10px;
  margin-top: 10px;
}
.interview-detail .about-block .note {
  color: #fff;
  font-size: 10px;
  position: absolute;
  bottom: -2.1428571429vw;
  right: 5.3571428571vw;
  z-index: 8;
}
.interview-detail .interview-block {
  background-color: #8096A3;
  color: #fff;
  overflow: hidden;
}
.interview-detail .interview-block .inner-block {
  padding-top: 120px;
  padding-bottom: 180px;
}
.interview-detail .interview-block .title {
  font-size: 22px;
  letter-spacing: 0.22em;
  line-height: 2;
  position: relative;
  margin-bottom: 130px;
}
.interview-detail .interview-block .title .inn {
  display: block;
}
.interview-detail .interview-block .ttl {
  font-size: 28px;
  letter-spacing: 0.25em;
  line-height: 2.08;
  position: relative;
  padding-bottom: 20px;
}
.interview-detail .interview-block .ttl:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #BFCAD1;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}
.interview-detail .interview-block .ttl .inn {
  display: block;
  width: 50%;
  text-align: left;
}
.interview-detail .interview-block .ttl .inn.full {
  width: 100%;
}
.interview-detail .interview-block .txt-area {
  width: 52%;
  text-align: justify;
  background-color: rgba(128, 150, 163, 0.9);
  margin-top: 32px;
  padding: 0 50px 35px 0;
  position: relative;
  z-index: 2;
}
.interview-detail .interview-block .txt-area .box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.interview-detail .interview-block .txt-area .box + .box {
  margin-top: 22px;
}
.interview-detail .interview-block .txt-area .box .txt {
  font-size: 14px;
  letter-spacing: 0.21em;
  text-align: justify;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 2.14;
  margin-left: 20px;
}
.interview-detail .interview-block .txt {
  font-size: 14px;
  letter-spacing: 0.29em;
  line-height: 2.07;
  text-indent: 1.29em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.interview-detail .interview-block .txt + .txt {
  margin-top: 32px;
}
.interview-detail .interview-block .img {
  text-align: right;
  margin-top: -29.2857142857vw;
  margin-right: calc(50% - 50vw);
  position: relative;
  z-index: 1;
  min-width: 40vw;
}
.interview-detail .interview-block .img.min-w {
  max-width: 687px;
}
.interview-detail .interview-block .img span + span {
  margin-top: 20px;
}
.interview-detail .interview-block .img img {
  width: min(1068px, 62.8571428571vw);
  -o-object-fit: cover;
     object-fit: cover;
}
.interview-detail .interview-block .box + .box {
  margin-top: 130px;
}
.interview-detail .interview-block .box:nth-of-type(2n) .ttl .inn {
  margin-left: auto;
  padding-left: 50px;
}
.interview-detail .interview-block .box:nth-of-type(2n) .txt-area {
  padding: 0 0 35px 50px;
  margin-left: auto;
}
.interview-detail .interview-block .box:nth-of-type(2n) .img {
  text-align: left;
  margin-right: auto;
  margin-left: calc(50% - 50vw);
}
.interview-detail .interview-block .name {
  font-size: 12px;
  letter-spacing: 0.46em;
  text-align: center;
  margin-top: 7px;
}
.interview-detail .interview-block .ico {
  overflow: hidden;
  border-radius: 555px;
}
.interview-detail .interview-block .ico-area {
  max-width: 60px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 100%;
}
.interview-detail .introduction-block {
  background-color: #EAEEF0;
}
.interview-detail .introduction-block .inner-block {
  max-width: 1385px;
  padding-top: 100px;
  padding-bottom: 180px;
}
.interview-detail .introduction-block .ttl {
  font-size: 24px;
  letter-spacing: 0.31em;
  color: #474747;
  text-align: center;
}
.interview-detail .introduction-block .list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-gap: 65px 30px;
  margin-top: 60px;
}
.interview-detail .introduction-block .list .txt {
  font-size: 18px;
  letter-spacing: 0.07em;
  color: #333;
  margin-top: 15px;
}
.interview-detail .introduction-block .list .img {
  overflow: hidden;
  height: 0;
  padding-top: 74%;
  position: relative;
}
.interview-detail .introduction-block .list img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.interview-detail .introduction-block .list li {
  display: block;
  position: relative;
}
.interview-detail .introduction-block .list .tag {
  --corporate: #7a8891;
  --engineering: #d4838a;
  --optimization: #88a867;
  --development: #5292b5;
  font-size: 10px;
  display: inline-block;
  height: 24px;
  position: absolute;
  top: 0;
  right: 0;
  padding: 4px 10px;
  text-align: center;
  letter-spacing: 0.21em;
  z-index: 5;
  color: #fff;
}
.interview-detail .introduction-block .list .tag.corporate {
  background-color: var(--corporate);
}
.interview-detail .introduction-block .list .tag.engineering {
  background-color: var(--engineering);
}
.interview-detail .introduction-block .list .tag.optimization {
  background-color: var(--optimization);
}
.interview-detail .introduction-block .list .tag.development {
  background-color: var(--development);
}
.interview-detail .introduction-block .img {
  width: 100%;
}
.interview-detail .introduction-block .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.claim-block {
  background-color: #333;
  color: #fff;
  position: relative;
  z-index: 2;
}
.claim-block .inner-block {
  padding-top: 70px;
  padding-bottom: 160px;
}
.claim-block .ttl-sub {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.12em;
  margin-top: 20px;
}
.claim-block .c-img-frame {
  max-width: 880px;
  margin-left: auto;
}
.claim-block .c-img-frame img {
  margin: -8% 0;
  -webkit-transform: skewY(16deg) scale(1.2);
          transform: skewY(16deg) scale(1.2);
}
.claim-block .txt {
  font-size: 22px;
  letter-spacing: 0.22em;
  line-height: 2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-top: 60px;
}

/* 文字が左から出てくるアニメーション */
@-webkit-keyframes interview_slideIn {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100px, 0, 0);
            transform: translate3d(-100px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes interview_slideIn {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100px, 0, 0);
            transform: translate3d(-100px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
.anm-txt_msk {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.anm-txt_msk .line,
.anm-txt_msk .letter {
  opacity: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

/* is-visible になったらアニメーション開始 */
.anm-txt_msk.is-visible .line {
  opacity: 1;
}

.anm-txt_msk.is-visible .letter {
  -webkit-animation: interview_slideIn 0.8s cubic-bezier(0, 1.2, 0.13, 1.5) forwards;
          animation: interview_slideIn 0.8s cubic-bezier(0, 1.2, 0.13, 1.5) forwards;
}

/* -----------------------------------------------
* info Module
* infoページ用
-------------------------------------------------- */
.talksession .newgraduate-under-mv .inner-block {
  padding-bottom: 200px;
}
.talksession .newgraduate-section-box {
  background: rgba(0, 0, 0, 0.8);
}
.talksession .newgraduate-section-box .inner-block {
  padding-top: 100px;
  padding-bottom: 305px;
}
.talksession .c-another-contents {
  background: #000;
}
.talksession .link-single-box a {
  background: #000;
  display: block;
  position: relative;
}
.talksession .link-single-box a:hover .img {
  opacity: 0.5;
}
.talksession .link-single-box .txt-wrap {
  background: rgba(0, 0, 0, 0.33);
  color: #fff;
  padding: 50px;
  position: absolute;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 1;
}
.talksession .link-single-box .ttl {
  font-size: 24px;
  letter-spacing: 0.4em;
  position: relative;
}
.talksession .link-single-box .theme {
  font-size: 16px;
  letter-spacing: 0.45em;
  margin-top: 10px;
}
.talksession .link-single-box .img {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.talksession .link-contents + .link-contents {
  margin-top: 100px;
}
.talksession .link-ttl {
  color: #fff;
  overflow: hidden;
  font-size: 24px;
  letter-spacing: 0.45em;
  margin-bottom: 60px;
  text-align: center;
}
.talksession .link-ttl .inn {
  display: inline-block;
  padding: 0 30px;
  position: relative;
}
.talksession .link-ttl .inn::before, .talksession .link-ttl .inn::after {
  content: "";
  background: currentColor;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 200vw;
  height: 1px;
}
.talksession .link-ttl .inn::before {
  right: 100%;
}
.talksession .link-ttl .inn::after {
  left: 100%;
}

/* -----------------------------------------------
* \project detail Module
* project detailページ用
-------------------------------------------------- */
.project-detail .c-breadcrumbs .breadcrumbs-list .inn {
  color: #282828;
}
.project-detail .c-breadcrumbs li:not(:last-child)::before {
  background-color: #282828;
}
.project-detail .kv-block {
  color: #282828;
  background-color: #fff;
  width: 100%;
  height: calc(115px + var(--kvh) + 51.7142857143vw);
  padding-top: 115px;
}
.project-detail .kv-block .ttl-item {
  position: fixed;
  width: 100%;
  top: 115px;
  left: 0;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  background: #fff;
  z-index: 2;
}
.project-detail .kv-block .inner-block {
  padding-top: 12px;
  padding-bottom: 25px;
}
.project-detail .kv-block .main-contents {
  height: 100%;
  overflow: hidden;
  width: 100%;
  position: relative;
  padding-bottom: var(--img-space);
  --img-space: 51.7142857143vw;
}
.project-detail .kv-block .main-contents .img-area,
.project-detail .kv-block .main-contents .img-box {
  pointer-events: none;
}
.project-detail .kv-block .ttl {
  font-size: 28px;
  letter-spacing: 0.15em;
  line-height: 1.64;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.project-detail .kv-block .ttl-sub {
  display: block;
  font-size: 15px;
  letter-spacing: 0.31em;
  margin-top: 2px;
  font-weight: 400;
}
.project-detail .kv-block .img-area {
  height: 0;
  padding-top: var(--img-space);
  position: absolute;
  left: 0;
  width: 100%;
}
.project-detail .kv-block .img-area.js--fixed_item.is_fixed {
  position: fixed;
}
.project-detail .kv-block .img-area img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: bottom;
     object-position: bottom;
}
.project-detail .introduction-block {
  background-color: #333;
  color: #fff;
  position: relative;
  z-index: 2;
}
.project-detail .introduction-block .inner-block {
  max-width: 980px;
  padding-top: 140px;
  padding-bottom: 150px;
}
.project-detail .introduction-block .sup-txt {
  font-size: 15px;
  letter-spacing: 0.31em;
}
.project-detail .introduction-block .main-txt {
  font-size: 24px;
  letter-spacing: 0.23em;
  line-height: 2;
  text-align: justify;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  margin-top: 15px;
}
.project-detail .introduction-block .list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 760px;
  margin: 70px auto 0;
  grid-gap: 40px;
}
.project-detail .introduction-block .list.grid-1 {
  grid-template-columns: 1fr;
  max-width: 280px;
}
.project-detail .introduction-block .annotation {
  font-size: 10px;
  text-align: right;
  margin: 30px 70px 0;
}
.project-detail .introduction-block .belong,
.project-detail .introduction-block .undergraduate {
  font-size: 14px;
  letter-spacing: 0.15em;
  line-height: 2;
}
.project-detail .introduction-block .belong.lt-0,
.project-detail .introduction-block .undergraduate.lt-0 {
  letter-spacing: 0;
}
.project-detail .introduction-block .belong {
  margin-top: 32px;
}
.project-detail .introduction-block .name {
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 0.26em;
  margin-top: 5px;
}
.project-detail .introduction-block .name.no-line {
  letter-spacing: 0.1em;
}
.project-detail .introduction-block .img {
  height: 0;
  padding-top: 62%;
  position: relative;
  border-radius: 9px;
  overflow: hidden;
}
.project-detail .introduction-block .img img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
}
.project-detail .talk-block {
  background-color: #8096A3;
  color: #fff;
  overflow: hidden;
  position: relative;
  z-index: 2;
}
.project-detail .talk-block .inner-block {
  padding-bottom: 180px;
}
.project-detail .talk-block .inner-block.max-1200 {
  max-width: 1260px;
}
.project-detail .talk-block .visual-area {
  height: 0;
  padding-top: 57%;
  position: relative;
}
.project-detail .talk-block .visual-area img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.project-detail .talk-block .talk-area {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 70px;
}
.project-detail .talk-block .ttl-area {
  width: 50.67%;
  margin-left: auto;
  margin-top: -162px;
}
.project-detail .talk-block .ttl-area.has-detail {
  max-width: 925px;
  width: 100%;
  margin-right: calc(50% - 50vw);
}
.project-detail .talk-block .ttl-area.has-detail .ttl {
  background-color: #333;
  text-align: center;
  padding: 29px 20px;
}
.project-detail .talk-block .ttl-area.has-detail .ttl-detail {
  text-indent: 1em;
  font-size: 18px;
  letter-spacing: 0.21em;
  line-height: 2;
  background-color: #4D4D4D;
  padding: 48px 130px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  text-align: justify;
}
.project-detail .talk-block .ttl-area.left {
  margin-right: 0;
  margin-left: calc(50% - 50vw);
}
.project-detail .talk-block .ttl-area.center {
  margin-right: auto;
  margin-left: auto;
}
.project-detail .talk-block .ttl-sub {
  font-size: 15px;
  letter-spacing: 0.21em;
  text-align: center;
  max-width: 244px;
  padding: 12px 15px;
  color: #fff;
  background-color: #0088CD;
}
.project-detail .talk-block .ttl-sub.purple {
  background-color: #893672;
}
.project-detail .talk-block .ttl-sub.red {
  background-color: #D82531;
}
.project-detail .talk-block .ttl-sub.orange {
  background-color: #E88000;
}
.project-detail .talk-block .ttl {
  font-size: 28px;
  letter-spacing: 0.15em;
  line-height: 2;
  color: #fff;
  background-color: #474747;
  padding: 41px 20px 41px 80px;
}
.project-detail .talk-block .talk-area .img {
  overflow: hidden;
  border-radius: 9px;
  height: 0;
  padding-top: 61%;
  position: relative;
}
.project-detail .talk-block .talk-area .img + .img {
  margin-top: 50px;
}
.project-detail .talk-block .talk-area .img img {
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(1.01);
          transform: scale(1.01);
}
.project-detail .talk-block .name {
  font-size: 14px;
  letter-spacing: 0.46em;
  text-align: center;
  margin-top: 7px;
  text-indent: 0;
}
.project-detail .talk-block .name.no-line {
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.project-detail .talk-block .ico {
  overflow: hidden;
  border-radius: 555px;
  text-indent: 0;
}
.project-detail .talk-block .ico-area {
  max-width: 60px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 100%;
}
.project-detail .talk-block .txt {
  font-size: 14px;
  letter-spacing: 0.21em;
  text-align: justify;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 2.14;
  margin-left: 20px;
}
.project-detail .talk-block .txt .small {
  font-size: 10px;
  vertical-align: top;
}
.project-detail .talk-block .box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.project-detail .talk-block .box + .box {
  margin-top: 22px;
}
.project-detail .talk-block.reverse .ttl-area {
  margin-left: 0;
}
.project-detail .talk-block.reverse .ttl-area.has-detail {
  margin-left: calc(50% - 50vw);
}
.project-detail .talk-block.reverse .talk-area .img-items {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
.project-detail .talk-block.reverse .talk-items {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
.project-detail .talk-block.reverse .saying-area {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.project-detail .talk-block.reverse .saying-area .img-items {
  margin-left: -165px;
  margin-right: calc(50% - 50vw);
}
.project-detail .talk-block.reverse .saying-area .img {
  text-align: right;
}
.project-detail .talk-block.reverse .saying-area .txt-box {
  padding: 50px 50px 0 0;
}
.project-detail .talk-block .saying-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 65px;
}
.project-detail .talk-block .saying-area .img-items {
  margin-left: calc(50% - 50vw);
  margin-right: -165px;
  width: 60.7142857143vw;
}
.project-detail .talk-block .saying-area .img-items img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.project-detail .talk-block .saying-area .img-items img.w-auto {
  width: auto;
}
.project-detail .talk-block .saying-area .img + .img {
  margin-top: 30px;
}
.project-detail .talk-block .saying-area .txt-box {
  width: 50%;
  background-color: #8096A3;
  padding: 50px 0 0 50px;
  margin-top: 130px;
  text-indent: 1em;
}
.project-detail .talk-block .saying-area .txt + .txt {
  margin-top: 30px;
}
.project-detail .talk-block .saying-area .box-ttl {
  margin-left: 20px;
  border-bottom: 1px solid currentColor;
  font-size: 14px;
  font-family: var(--font-ShinGo-M);
  letter-spacing: 0.51em;
  line-height: 2.1;
  margin-bottom: 40px;
  padding-bottom: 30px;
}
.project-detail .talk-block .saying-area .box-ttl:not(:first-child) {
  margin-top: 80px;
}
.project-detail .talk-block.pattern-02 .inner-block {
  max-width: 1284px;
}
.project-detail .talk-block.pattern-02 .ttl-area {
  margin-left: calc(50% - 50vw + 85px);
}
.project-detail .talk-block.pattern-02 .ttl {
  background-color: #fff;
  color: #282828;
}
.project-detail .talk-block.pattern-02.reverse .ttl-area {
  margin-right: calc(50% - 50vw + 85px);
  margin-left: auto;
}
.project-detail .talk-block.pattern-02.reverse .visual-area {
  margin-left: 0;
}
.project-detail .talk-block.pattern-02.reverse .talk-area:not(.reverse) .img-items {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
.project-detail .talk-block.pattern-02.reverse .talk-area:not(.reverse) .talk-box {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
.project-detail .talk-block.pattern-02 .talk-area {
  margin-top: 0;
}
.project-detail .talk-block.pattern-02 .talk-area.reverse {
  margin-top: 80px;
}
.project-detail .talk-block.pattern-02 .talk-area.reverse .img-items {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  margin-left: 0;
  margin-right: calc(100% - 50vw);
}
.project-detail .talk-block.pattern-02 .talk-area.reverse .img-items .img-box {
  margin-right: 0;
  margin-left: -140px;
}
.project-detail .talk-block.pattern-02 .talk-area.reverse .img-items .img {
  text-align: right;
}
.project-detail .talk-block.pattern-02 .talk-area.reverse .img-items img {
  right: 0;
  left: auto;
}
.project-detail .talk-block.pattern-02 .talk-area.reverse .talk-box {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  margin-right: -90px;
}
.project-detail .talk-block.pattern-02 .talk-area.reverse .box {
  padding-left: 0;
  padding-right: 90px;
}
.project-detail .talk-block.pattern-02 .talk-area.reverse .box-ttl {
  margin-right: 90px;
  margin-left: 80px;
}
.project-detail .talk-block.pattern-02 .talk-box {
  background-color: rgba(128, 150, 163, 0.8);
}
.project-detail .talk-block.pattern-02 .box {
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.project-detail .talk-block.pattern-02 .box-ttl {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.51em;
  line-height: 2.14;
  border-bottom: 1px solid #B3C0C8;
  padding-bottom: 20px;
  margin-bottom: 35px;
}
.project-detail .talk-block.pattern-02 .img {
  border-radius: 0;
}
.project-detail .talk-block.pattern-02 .img img {
  right: auto;
}
.project-detail .talk-block.pattern-02 .img.w-auto.l-78 {
  height: 100%;
}
.project-detail .talk-block.pattern-02 .name {
  position: relative;
}
.project-detail .talk-block.pattern-02 .name.no-text::after {
  content: none;
}
.project-detail .talk-block.pattern-02 .name:after {
  position: absolute;
  content: "：";
  right: -0.5em;
  top: 0;
  bottom: 0;
  margin: auto;
}
.project-detail .talk-block.pattern-02 .txt {
  text-indent: 1.21em;
}
.project-detail .movie-block {
  background-color: #333;
  color: #fff;
  position: relative;
  z-index: 2;
}
.project-detail .movie-block .inner-block {
  padding-top: 180px;
  padding-bottom: 50px;
  max-width: 1270px;
}
.project-detail .movie-block .ttl {
  font-size: 120px;
  font-weight: bold;
  letter-spacing: 0.08em;
  text-align: center;
  line-height: 1.2;
  margin-top: 50px;
}
.project-detail .movie-block .ttl > span {
  display: block;
  text-align: center;
  margin: 0 auto;
}
.project-detail .c-another-contents {
  position: relative;
  z-index: 2;
  background-color: #000;
}
.project-detail .c-another-contents .link-box {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.project-detail.singapore .claim-block .c-img-frame img {
  margin: -22% 0 -16%;
}
.project-detail.anesaki .claim-block .c-img-frame img {
  -o-object-position: bottom 0 left -50px;
     object-position: bottom 0 left -50px;
}
.project-detail.anesaki .claim-block .c-img-frame img.center {
  -o-object-position: bottom -12px left 73px;
     object-position: bottom -12px left 73px;
}

/* -----------------------------------------------
* \project Module
* projectページ用
-------------------------------------------------- */
.project .c-index-list .text .sub {
  position: absolute;
  bottom: 23px;
  left: 30px;
}

/* -----------------------------------------------
* info Module
* infoページ用
-------------------------------------------------- */
.company-movie .newgraduate-under-mv .inner-block {
  padding-top: 44px;
  padding-bottom: 200px;
}
.company-movie .movie-block {
  background-color: #292929;
  color: #fff;
}
.company-movie .movie-block > .inner-block {
  max-width: 1270px;
}
.company-movie .movie-block .ttl {
  color: #292929;
  text-align: center;
  max-width: 1004px;
  margin: 20px auto 0;
  padding-bottom: 10px;
}
.company-movie .movie-block .annotation {
  font-size: 10px;
  text-align: right;
  margin-top: 60px;
}
.company-movie .movie-block .title-box {
  background: #333;
}
.company-movie .movie-block .title-box .inner-block {
  padding-top: 80px;
  padding-bottom: 100px;
}
.company-movie .movie-block .title-box .title {
  color: #fff;
  font-size: 28px;
  letter-spacing: 0.15em;
  line-height: 1.6428;
}
.company-movie .movie-block .title-box .title .en {
  font-size: 15px;
  letter-spacing: 0.31em;
}
.company-movie .movie-block .title-box .c-btn03 {
  max-width: 300px;
  margin-top: 45px;
}
.company-movie .movie-block .title-box .c-btn03 a {
  padding: 17px 26px 16px;
}
.company-movie .movie-block .title-box .c-btn03 a .inn {
  font-size: 14px;
}

/* -----------------------------------------------
* talksesstion detail Module
* alksesstion detailページ用
-------------------------------------------------- */
.talksession-detail .kv-block {
  height: max(800px, 66.6666666667vw);
  padding-top: 115px;
}
.talksession-detail .kv-block .c-breadcrumbs,
.talksession-detail .kv-block .inner-block {
  position: relative;
  z-index: 1;
}
.talksession-detail .kv-block .c-breadcrumbs:after,
.talksession-detail .kv-block .inner-block:after {
  position: absolute;
  content: "";
  width: 100vw;
  background-color: rgba(40, 40, 40, 0.3);
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: 0 calc(50% - 50vw);
  pointer-events: none;
  z-index: -1;
}
.talksession-detail .kv-block .c-breadcrumbs .breadcrumbs-list .inn {
  color: #fff;
}
.talksession-detail .kv-block .c-breadcrumbs li:not(:last-child)::before {
  background-color: #fff;
}
.talksession-detail .kv-block .main-contents {
  --img-space: 800px;
}
.talksession-detail .kv-block .img-box {
  position: absolute;
  top: 0;
  bottom: 0;
  height: max(800px, 66.6666666667vw);
  width: 100%;
}
.talksession-detail .kv-block .img-area {
  padding-top: max(800px, 66.6666666667vw);
}
.talksession-detail .kv-block .ttl-area {
  color: #fff;
}
.talksession-detail .introduction-block .profile-area .inner-block {
  max-width: 1090px;
  padding-top: 60px;
  padding-bottom: 0;
}
.talksession-detail .introduction-block .profile-area .list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  max-width: none;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0;
  grid-gap: 0;
}
.talksession-detail .introduction-block .profile-area .belong {
  margin: 0;
}
.talksession-detail .introduction-block .profile-area .name {
  margin-top: 15px;
}
.talksession-detail .introduction-block .contents-area .inner-block {
  padding-top: 110px;
}
.talksession-detail .introduction-block,
.talksession-detail .talk-block {
  position: relative;
  z-index: 2;
}
.talksession-detail .mirai-kv-block {
  background: #474747;
  overflow: hidden;
}
.talksession-detail .mirai-kv-block .c-breadcrumbs,
.talksession-detail .mirai-kv-block .content .img-box,
.talksession-detail .mirai-kv-block .main-ttl {
  position: relative;
  z-index: 3;
}
.talksession-detail .mirai-kv-block .content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: auto;
  padding: 0 60px 0 20px;
  max-width: 1400px;
}
.talksession-detail .mirai-kv-block .content .img-box {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  padding-top: 80px;
  width: 67.7142857143%;
}
.talksession-detail .mirai-kv-block .content .txt-box {
  color: #fff;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding-top: 40px;
  text-align: center;
}
.talksession-detail .mirai-kv-block .c-img-frame {
  -webkit-transform: skewY(-16deg);
          transform: skewY(-16deg);
}
.talksession-detail .mirai-kv-block .c-img-frame img {
  margin: -13% 0;
  -webkit-transform: skewY(16deg);
          transform: skewY(16deg);
}
.talksession-detail .mirai-kv-block .main-ttl {
  font-size: 32px;
  letter-spacing: 0.5em;
  line-height: 1;
  margin: 0 auto 50px;
  padding: 20px 15px 0;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.talksession-detail .mirai-kv-block .main-ttl::before, .talksession-detail .mirai-kv-block .main-ttl::after {
  content: "";
  border: solid currentColor;
  position: absolute;
  width: 19px;
  height: 19px;
}
.talksession-detail .mirai-kv-block .main-ttl::before {
  top: 0;
  right: 0;
  border-width: 1px 1px 0 0;
}
.talksession-detail .mirai-kv-block .main-ttl::after {
  bottom: 0.7em;
  left: 0;
  border-width: 0 0 1px 1px;
}
.talksession-detail .mirai-kv-block .main-ttl .c-txt-vertical {
  width: 1em;
}
.talksession-detail .mirai-kv-block .txt {
  font-size: 24px;
  letter-spacing: 0.2em;
  line-height: 2.3;
  padding-top: 50px;
  position: relative;
  z-index: 2;
}
.talksession-detail .mirai-kv-block .txt:after {
  position: absolute;
  content: "";
  width: 200vw;
  height: 100vh;
  background-color: #99abb5;
  bottom: 100%;
  left: -100vw;
  right: -60px;
  pointer-events: none;
  z-index: -1;
}
.talksession-detail .mirai-introduction-block {
  background: #474747;
}
.talksession-detail .mirai-introduction-block .inner-block {
  padding-bottom: 135px;
}
.talksession-detail .mirai-introduction-block .ttl {
  margin: 0 auto 50px;
  padding-right: 85px;
}
.talksession-detail .mirai-introduction-block .profile-list {
  color: #fff;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  margin: auto;
  max-width: 890px;
}
.talksession-detail .mirai-introduction-block .profile-list .belong {
  font-size: 14px;
  letter-spacing: 0.15em;
  margin-bottom: 25px;
}
.talksession-detail .mirai-introduction-block .profile-list .name {
  font-size: 18px;
  font-family: var(--font-ShinGo-M);
  letter-spacing: 0.26em;
  margin-bottom: 15px;
}
.talksession-detail .mirai-introduction-block .profile-list .summary {
  border: solid currentColor;
  border-width: 1px 0;
  font-size: 14px;
  letter-spacing: 0.12em;
  line-height: 2;
  padding: 40px 0;
  position: relative;
}
.talksession-detail .mirai-introduction-block .profile-list .annotation {
  font-size: 10px;
  text-align: right;
  margin-top: 20px;
}
.talksession-detail.career .mirai-kv-block .main-ttl {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.talksession-detail.career .mirai-kv-block .main-ttl::before, .talksession-detail.career .mirai-kv-block .main-ttl::after {
  content: none;
}
.talksession-detail.career .mirai-kv-block .main-ttl .main-wrap {
  display: block;
  font-size: 32px;
  letter-spacing: 0.5em;
  line-height: 1;
  margin: 0 auto 50px;
  padding: 20px 15px 0;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.talksession-detail.career .mirai-kv-block .main-ttl .main-wrap::before, .talksession-detail.career .mirai-kv-block .main-ttl .main-wrap::after {
  content: "";
  border: solid currentColor;
  position: absolute;
  width: 19px;
  height: 19px;
}
.talksession-detail.career .mirai-kv-block .main-ttl .main-wrap::before {
  top: 0;
  right: 0;
  border-width: 1px 1px 0 0;
}
.talksession-detail.career .mirai-kv-block .main-ttl .main-wrap::after {
  bottom: 0.7em;
  left: 0;
  border-width: 0 0 1px 1px;
}
.talksession-detail.career .mirai-kv-block .main-ttl .main-wrap .c-txt-vertical {
  width: 1em;
}
.talksession-detail.career .mirai-kv-block .main-ttl .sub-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
  letter-spacing: 0.1em;
  text-align: left;
}
.talksession-detail.career .mirai-kv-block .main-ttl .sub-wrap .en {
  font-size: 18px;
}
.talksession-detail.career .mirai-kv-block .main-ttl .sub-wrap .ja {
  font-size: 12px;
}

.talk-block.mirai-bg02 {
  background: #474747;
}
.talk-block.mirai-pattern-01 .inner-block .talk-area {
  gap: 0;
  margin-top: -100px;
}
.talk-block.mirai-pattern-01 .inner-block .talk-area .img-items {
  margin: auto;
  text-align: center;
  max-width: 500px;
}
.talk-block.mirai-pattern-01 .inner-block .talk-area .img-box {
  padding-right: 0;
}
.talk-block.mirai-pattern-01 .inner-block .talk-area .mirai-img01 .img-box:first-of-type,
.talk-block.mirai-pattern-01 .inner-block .talk-area .mirai-img02 .img-box:first-of-type {
  position: static;
}
.talk-block.mirai-pattern-01 .inner-block .talk-box {
  position: relative;
  z-index: 1;
}
.talk-block.mirai-pattern-01 .c-img-frame {
  -webkit-transform: skewY(-16deg);
          transform: skewY(-16deg);
}
.talk-block.mirai-pattern-01 .c-img-frame img {
  margin: -14% 0;
  -webkit-transform: skewY(16deg);
          transform: skewY(16deg);
}
.talk-block .mirai-visual-area .agenda {
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.talk-block .mirai-visual-area .agenda .head {
  border: solid currentColor;
  border-width: 1px 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 16px;
  letter-spacing: 0.31em;
  margin-bottom: 50px;
  width: 144px;
  height: 144px;
}
.talk-block .mirai-visual-area .agenda .head .num {
  display: block;
  font-size: 30px;
  letter-spacing: 0.21em;
}
.talk-block .mirai-visual-area .agenda .main {
  font-size: 26px;
  letter-spacing: 0.51em;
}
.talk-block .mirai-box-ttl {
  margin-left: 80px;
  border-bottom: 1px solid currentColor;
  font-size: 14px;
  font-family: var(--font-ShinGo-M);
  letter-spacing: 0.51em;
  line-height: 2.1;
  margin-bottom: 40px;
  padding-bottom: 30px;
}
.talk-block .mirai-box-ttl:not(:first-child) {
  margin-top: 80px;
}

.claim-block.mirai-pattern-01 .c-img-frame {
  -webkit-transform: skewY(-16deg);
          transform: skewY(-16deg);
}
.claim-block.mirai-pattern-01 .c-img-frame img {
  margin: -13% 0;
  -webkit-transform: skewY(16deg);
          transform: skewY(16deg);
}
.claim-block.mirai-pattern-01 .txt-wrap {
  max-width: 880px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 40px;
  margin: 120px 0 0 auto;
}
.claim-block.mirai-pattern-01 .message {
  font-size: 22px;
  letter-spacing: 0.15em;
  line-height: 2;
  margin-bottom: 25px;
}
.claim-block.mirai-pattern-01 .name {
  font-size: 18px;
  font-family: var(--font-ShinGo-M);
  letter-spacing: 0.18em;
}

.mirai-visual-slider {
  position: relative;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.mirai-visual-slider .slider {
  width: min(844px, 70.3333333333vw);
}
.mirai-visual-slider .slider:not(.slick-initialized) {
  height: 0;
  overflow: hidden;
}
.mirai-visual-slider .slick-list {
  overflow: visible;
}
.mirai-visual-slider .slick-slide {
  opacity: 0.3;
  margin-left: max(-700px, -58.3333333333vw);
  width: min(844px, 70.3333333333vw);
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.mirai-visual-slider .slick-slide.slick-current {
  opacity: 1;
  position: relative;
  z-index: 1;
}
.mirai-visual-slider .dots-box {
  color: #fff;
  position: absolute;
  right: 0;
  bottom: 0;
}
.mirai-visual-slider .dots-box .slick-dots {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.mirai-visual-slider .dots-box li {
  margin-left: 12px;
}
.mirai-visual-slider .dots-box button {
  background: currentColor;
  border-radius: 50%;
  display: block;
  font-size: 0;
  width: 8px;
  height: 8px;
}
.mirai-visual-slider .dots-box .slick-active button {
  width: 15px;
  height: 15px;
}

.c-txt-vertical {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  display: inline-block;
  text-align: left;
  white-space: nowrap;
  text-orientation: upright;
}

/* -----------------------------------------------
* message Module
* messageページ用
-------------------------------------------------- */
.message .tab-ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-bottom: 100px;
}
.message .tab-ul li {
  cursor: pointer;
  position: relative;
  overflow: hidden;
  width: calc((100% - 30px) / 2);
}
.message .tab-ul li + li {
  margin-left: 30px;
}
.message .tab-ul li.current {
  border: 1px solid #fff;
}
.message .tab-ul li:not(.current) {
  border: 1px solid transparent;
}
.message .tab-ul li:not(.current)::after {
  background: #d6d6d6;
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  mix-blend-mode: multiply;
}
.message .tab-ul .img img {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  width: 100%;
}
.message .tab-ul .text {
  position: absolute;
  top: 46px;
  bottom: 0;
  right: 30px;
  margin: auto;
}
.message .tab-ul .info, .message .tab-ul .name {
  color: #fff;
}
.message .tab-ul .info {
  font-size: 12px;
  letter-spacing: 0.23em;
}
.message .tab-ul .name {
  font-size: 18px;
  letter-spacing: 0.21em;
  margin-top: 10px;
}
.message .tab-target-div {
  position: relative;
}
.message .tab-target-div + .tab-ul {
  margin-top: 100px;
  margin-bottom: 0;
}
.message .tab-target {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.message .tab-target.current {
  opacity: 1;
  position: relative;
}
.message .main-img {
  position: relative;
}
.message .main-img .box {
  position: absolute;
  bottom: -20px;
  left: 75px;
}
.message .main-img .txt-area {
  color: #fff;
  position: relative;
  z-index: 1;
  padding: 70px 25px 35px 35px;
  display: inline-block;
}
.message .main-img .txt-area .text {
  font-size: 20px;
  letter-spacing: 0.05em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.message .main-img .txt-area:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #8096A3;
  z-index: -1;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  pointer-events: none;
  border-radius: 30px;
  -webkit-transform: skew(0deg, -18deg);
          transform: skew(0deg, -18deg);
}
.message .ttl-wrap {
  margin-top: 150px;
}
.message .ttl-wrap .info {
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.23em;
}
.message .ttl-wrap .name {
  color: #fff;
  font-size: 20px;
  letter-spacing: 0.21em;
  margin-top: 10px;
}
.message .wrap + .wrap {
  margin-top: 12.1428571429vw;
}
.message .wrap .txt-area {
  width: 63.5%;
  text-align: justify;
  background-color: rgba(51, 51, 51, 0.8);
  padding: 0 0 100px 65px;
  margin-left: auto;
  position: relative;
  z-index: 2;
}
.message .wrap .txt-area .box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.message .wrap .txt-area .box + .box {
  margin-top: 22px;
}
.message .wrap .txt-area .box .txt {
  font-size: 14px;
  letter-spacing: 0.21em;
  text-align: justify;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 2.14;
  margin-left: 20px;
}
.message .wrap .ttl {
  color: #fff;
  font-size: 28px;
  line-height: 2.0892;
  margin-bottom: 10px;
  letter-spacing: 0.25em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.message .wrap .txt {
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.21em;
  line-height: 2.07;
  text-indent: 1.29em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.message .wrap .txt + .txt {
  margin-top: 32px;
}
.message .wrap .img {
  text-align: left;
  margin-top: max(-37.8571428571vw, -700px);
  margin-left: calc(50% - 50vw);
  position: relative;
  z-index: 1;
  min-width: 40vw;
}
.message .wrap .img.min-w {
  max-width: 687px;
}
.message .wrap .img span + span {
  margin-top: 20px;
}
.message .wrap .img img {
  width: min(650px, 46.4285714286vw);
  -o-object-fit: cover;
     object-fit: cover;
}

/* -----------------------------------------------
* tag Module
* tagページ用
-------------------------------------------------- */
.tag .search-area .inner-block {
  padding-top: 60px;
  padding-bottom: 100px;
}
.tag .search-area .search-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.tag .search-area .search-wrap .search {
  width: calc((100% - 50px) / 3);
}
.tag .search-area .search-wrap .img {
  position: relative;
  overflow: hidden;
}
.tag .search-area .search-wrap .img img {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.tag .search-area .search-wrap .img .tag {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  position: absolute;
  bottom: 0;
  left: 0;
}
.tag .search-area .search-wrap .img .tag .inn {
  color: #fff;
  display: inline-block;
  font-size: 12px;
  text-align: center;
  padding: 6px 26px 5px;
  letter-spacing: 0.2em;
}
.tag .search-area .search-wrap .img .tag .inn.talk {
  background: #8096A3;
}
.tag .search-area .search-wrap .img .tag .inn.project {
  background: #b5bec5;
  color: #333;
}
.tag .search-area .search-wrap .img .tag .inn.people {
  background: #595757;
}
.tag .search-area .search-wrap .img .tag .inn.career {
  background: #893672;
}
.tag .search-area .search-wrap .img .tag .inn.career.orange {
  background: #fbe7cf;
  color: #333;
}
.tag .search-area .search-wrap .img .tag .inn.work {
  background: #d9e6f4;
  color: #333;
}
.tag .search-area .search-wrap .img .tag .inn.another {
  background: #000;
}
.tag .search-area .search-wrap .title {
  color: #fff;
  font-size: 15px;
  line-height: 1.6666;
  margin-top: 20px;
}

.c-tag-area .inner-block {
  padding-top: 100px;
}
.c-tag-area .title {
  font-size: 20px;
  color: #fff;
  letter-spacing: 0.27em;
  margin-bottom: 45px;
}
.c-tag-area .tag-list-wrap {
  overflow: auto;
  white-space: nowrap;
}
.c-tag-area .tag-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.c-tag-area .tag-list + .tag-list {
  margin-top: 15px;
}
.c-tag-area .tag-list li {
  margin-right: 15px;
  margin-bottom: 10px;
}
.c-tag-area .tag-list li.current a {
  background: #8096A3;
}
.c-tag-area .tag-list li a {
  background: #333;
  border: 1px solid #808080;
  border-radius: 100px;
  color: #fff;
  display: block;
  font-size: 13px;
  letter-spacing: 0.31em;
  padding: 10px 30px 8px;
}

/* -----------------------------------------------
* Page エントリーポイント
-------------------------------------------------- */

@media only screen and (max-width: 960px) {
  html {
    font-size: 14px;
  }
  body {
    position: relative;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  input,
  select,
  textarea {
    font-size: 16px !important;
  }
  #wrapper,
  .outer-block {
    min-width: 320px;
  }
  .inner-block {
    padding: 0 20px;
  }
  .pc {
    display: none !important;
  }
  .c-header {
    padding: 14px min(25px, 4.4404973357vw) 13px min(25px, 4.4404973357vw);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
    height: 60px;
  }
  .c-header.open {
    background: #99ABB5;
  }
  .c-header.header-top {
    padding: 0 min(35px, 6.21669627vw) 0 min(30px, 5.3285968028vw);
  }
  .c-header.header-top .top-area .txt-wrap {
    margin-left: 27px;
  }
  .c-header.header-top .top-area .txt-wrap .ja, .c-header.header-top .top-area .txt-wrap .en {
    font-size: 10px;
  }
  .c-header .top-area {
    position: relative;
    z-index: 3;
  }
  .c-header .top-area .logo-area .logo img {
    max-width: min(90px, 15.9857904085vw);
  }
  .c-header .top-area .txt-wrap {
    margin-right: 20px;
    margin-left: 10px;
    margin-top: 0;
  }
  .c-header .top-area .txt-wrap .en, .c-header .top-area .txt-wrap .ja {
    font-size: 7px;
  }
  .c-header .top-area .txt-wrap .en {
    letter-spacing: 0.24em;
  }
  .c-header .hamburger-menu .link.small {
    border: 1px solid #acbdc7;
    max-width: 320px;
    margin: 20px auto 0;
  }
  .c-header.newgraduate .c-btn01:nth-child(3) {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5;
  }
  .c-header.newgraduate .c-btn01:nth-child(4) {
    margin-left: 0;
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4;
  }
  .c-header.newgraduate .c-btn01:nth-child(5) {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
  .c-header.newgraduate .c-btn01:nth-child(6) {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .c-header.newgraduate .c-btn01:nth-child(7) {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .c-header.newgraduate .c-btn01 a.large, .c-header.c-header-career .c-btn01 a.large {
    min-width: 100%;
  }
  .c-header.newgraduate .c-btn01.large, .c-header.c-header-career .c-btn01.large {
    width: 100% !important;
    margin-left: 0;
    margin-top: 10px;
  }
  .c-header.newgraduate .c-btn01.parent, .c-header.c-header-career .c-btn01.parent {
    margin-bottom: 15px;
  }
  .c-header.newgraduate .c-btn01.parent a, .c-header.c-header-career .c-btn01.parent a {
    background-color: #808080;
  }
  .c-header.newgraduate #hamburger #hamburger-nav, .c-header.c-header-career #hamburger #hamburger-nav {
    background: #333333;
  }
  .c-header.newgraduate #hamburger #hamburger-nav .btn-wrap, .c-header.c-header-career #hamburger #hamburger-nav .btn-wrap {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .c-header.newgraduate #hamburger #hamburger-nav .hamburger-menu .link, .c-header.c-header-career #hamburger #hamburger-nav .hamburger-menu .link {
    border-color: #525252;
  }
  .c-header.newgraduate.open, .c-header.c-header-career.open {
    background: #333333;
  }
  .c-header.c-header-career .c-btn01 a.medium {
    min-width: 100%;
  }
  .c-header.c-header-career .c-btn01.medium {
    width: 100% !important;
  }
  .c-header.c-header-career .c-btn01:nth-child(1) {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .c-header.c-header-career .c-btn01:nth-child(2) {
    margin: 0;
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
  .c-header.c-header-career .c-btn01:nth-child(3) {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .c-header.c-header-career .c-btn01:nth-child(4) {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4;
  }
  #hamburger {
    cursor: pointer;
    height: min(75px, 13.3214920071vw);
  }
  #hamburger.open .line-wrap .line:nth-child(1) {
    top: min(8px, 1.4209591474vw);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  #hamburger.open .line-wrap .line:nth-child(2), #hamburger.open .line-wrap .line:nth-child(3) {
    top: min(8px, 1.4209591474vw);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  #hamburger .line-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    position: absolute;
    top: 0;
    right: min(35px, 6.21669627vw);
    bottom: 0;
    margin: auto;
    width: min(40px, 7.1047957371vw);
    height: min(16px, 2.8419182948vw);
    z-index: 3;
  }
  #hamburger .line-wrap .line {
    position: absolute;
    right: 0;
    width: 100%;
    height: 1px;
    background: #fff;
    -webkit-transition: all 400ms;
    transition: all 400ms;
  }
  #hamburger .line-wrap .line:nth-child(1) {
    top: 0;
  }
  #hamburger .line-wrap .line:nth-child(2) {
    top: min(8px, 1.4209591474vw);
  }
  #hamburger .line-wrap .line:nth-child(3) {
    top: min(16px, 2.8419182948vw);
  }
  #hamburger #hamburger-nav {
    padding-top: min(76px, 20.2666666667vw);
    position: absolute;
    top: 0;
    right: -100%;
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
    background: #99ABB5;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
    -webkit-transition-property: right;
    transition-property: right;
  }
  #hamburger #hamburger-nav.open {
    right: 0px;
  }
  #hamburger #hamburger-nav .hamburger-menu {
    border-top: 2px solid #fff;
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    text-align: center;
  }
  #hamburger #hamburger-nav .hamburger-menu .link {
    text-align: left;
    font-weight: bold;
    border-bottom: 1px solid #acbdc7;
  }
  #hamburger #hamburger-nav .hamburger-menu .link > a {
    padding: 21px min(30px, 5.3285968028vw);
    font-size: 17px;
    font-weight: 400;
    letter-spacing: 0.33em;
    display: block;
  }
  #hamburger #hamburger-nav .btn-wrap {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-left: 30px;
    padding-right: 30px;
    position: relative;
    bottom: 0;
    left: 0;
    margin-top: auto;
    padding-bottom: 30px;
  }
  #hamburger #hamburger-nav .btn-wrap .c-btn01 {
    width: calc((100% - 5px) / 2);
  }
  #hamburger #hamburger-nav .btn-wrap .c-btn01.naitei, #hamburger #hamburger-nav .btn-wrap .c-btn01.message {
    width: 100%;
    margin-left: 0;
  }
  #hamburger #hamburger-nav .btn-wrap .c-btn01.sp-down .inn {
    font-size: 22px;
    min-height: 45px;
  }
  #hamburger #hamburger-nav .btn-wrap .c-btn01.sp-down a {
    background: #fff;
    border-top: 1px solid #fff;
    color: #8096A3;
    font-size: 14px;
    min-height: 35px;
    min-width: auto;
  }
  #hamburger #hamburger-nav .btn-wrap .c-btn01 a {
    font-size: 22px;
    min-height: 45px;
  }
  .bottom-area {
    gap: 15px;
  }
  .tag-search_btn {
    font-size: 9px;
    min-width: 113px;
    padding: 3px 9px;
  }
  .c-tag_wrap .tag-ttl .small {
    font-size: 8px;
  }
  .c-tag_wrap .tag-ttl {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    font-size: 14px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    padding-bottom: 10px;
    margin-bottom: 25px;
  }
  .c-tag_wrap .tag-area {
    gap: 15px;
  }
  .c-tag_wrap .tag-list label {
    border-radius: 5px;
    font-size: 9px;
    padding: 5px 18px 4px;
  }
  .c-tag_wrap .search-area {
    margin-top: 60px;
  }
  .c-tag_wrap .contents-list {
    grid-template-columns: 1fr;
    gap: 50px;
  }
  .c-tag_wrap .img .label-wrap .label {
    min-width: 100px;
  }
  .c-tag_wrap .ttl {
    font-size: 12px;
  }
  .c-tag_wrap .txt {
    font-size: 11px;
    margin-bottom: 15px;
  }
  .c-tag_wrap .recommendation-wrap .ttl-wrap {
    grid-template-columns: 40px 1fr;
    margin-bottom: 10px;
  }
  .c-tag_wrap .recommendation-wrap .ico::before {
    height: 40px;
    width: 40px;
  }
  .c-tag_wrap .recommendation-wrap .recommendation-ttl {
    font-size: 12px;
    padding-left: 15px;
    padding-bottom: 10px;
  }
  .c-tag_wrap .recommendation-wrap .txt {
    font-size: 11px;
  }
  .c-tag_wrap .tag-wrap {
    gap: 5px 10px;
  }
  .c-tag_wrap .tag-wrap .tag {
    font-size: 9px;
    padding: 4px 22px;
  }
  .c-tag_wrap .btn-wrap {
    margin-top: 50px;
  }
  .c-tag_wrap .btn-wrap a {
    font-size: 12px;
    letter-spacing: 0.53em;
    padding: 15px 15px;
  }
  .c-menu_btn {
    background: transparent;
    width: 25px;
    height: 11px;
  }
  .c-menu_btn .inn {
    width: 25px;
    height: 11px;
  }
  .c-menu_btn .line,
  .c-menu_btn .line:nth-of-type(2)::after {
    background: #fff;
  }
  .c-menu_wrap .wrap.short .ttl {
    padding: 0;
  }
  .c-menu_wrap .wrap.short .img-list {
    grid-template-columns: 1fr;
    margin-left: auto;
  }
  .c-menu_wrap .wrap.three-column .img-list {
    grid-template-columns: 1fr;
    margin-left: auto;
  }
  .c-menu_wrap .wrap.three-column .ttl {
    padding: 0;
  }
  .c-menu_wrap .wrap {
    padding: 0;
  }
  .c-menu_wrap .wrap:not(.three-column, .short) {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .c-menu_wrap .img-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 15px 10px;
  }
  .c-menu_wrap .img-list .txt {
    font-size: 10px;
    letter-spacing: 0.34em;
    line-height: 1.4444;
  }
  .c-menu_wrap .menu-link-list.num li {
    padding-left: 15px;
  }
  .c-menu_wrap .menu-link-list.num li::before {
    font-size: 10px;
    top: -2px;
  }
  .c-menu_wrap .menu-link-list a {
    font-size: 9px;
    line-height: 1.2;
  }
  .c-menu_wrap .ttl {
    padding: 20px 0 0 20px;
  }
  .c-menu_wrap .ttl .en {
    font-size: 12px;
  }
  .c-menu_wrap .btn-wrap {
    margin-top: 50px;
  }
  .c-menu_wrap .btn-wrap a {
    font-size: 12px;
    letter-spacing: 0.53em;
    padding: 15px 15px;
  }
  .c-footer {
    padding: min(50px, 8.8809946714vw) min(15px, 2.6642984014vw) min(20px, 3.5523978686vw);
  }
  .c-footer .nav-menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-footer .nav-menu + .nav-menu {
    margin-top: min(10px, 1.7761989343vw);
  }
  .c-footer .nav-menu li + li {
    margin-left: 0;
    margin-top: min(10px, 1.7761989343vw);
  }
  .c-footer .nav-menu li > a {
    font-size: min(10px, 1.7761989343vw);
  }
  .c-footer .logo {
    margin-top: min(46px, 8.1705150977vw);
  }
  .c-footer .logo a img {
    max-width: min(111px, 19.7158081705vw);
  }
  .c-footer .copy-right {
    font-size: min(10px, 1.7761989343vw);
    margin-top: min(22px, 3.9076376554vw);
  }
  .title-wrap::before {
    height: 23px;
    bottom: -30px;
  }
  .title-wrap {
    padding: min(85px, 7.0833333333vw) min(50px, 4.1666666667vw) min(40px, 3.3333333333vw);
  }
  .c-title-area > * {
    width: 100%;
  }
  .c-title-area .title {
    text-align: left;
  }
  .c-title-area .title .main {
    font-size: min(22px, 3.9076376554vw);
  }
  .c-title-area .title .sub {
    font-size: min(12px, 2.1314387211vw);
    margin-top: min(19px, 3.3747779751vw);
  }
  .c-title-area .text {
    font-size: min(12px, 2.1314387211vw);
    padding-left: 0;
    margin-top: min(35px, 6.21669627vw);
  }
  .c-title01 .num {
    font-size: min(50px, 8.8809946714vw);
    top: min(-8px, -0.6666666667vw);
  }
  .c-title01 .wrap {
    padding-left: min(85px, 15.0976909414vw);
  }
  .c-title01 .main {
    font-size: min(22px, 3.9076376554vw);
  }
  .c-title01 .sub {
    font-size: min(15px, 2.6642984014vw);
    margin-top: min(15px, 1.25vw);
  }
  .c-title03 {
    font-size: min(14px, 2.486678508vw);
    padding-bottom: min(30px, 5.3285968028vw);
  }
  .c-title03.bg {
    padding: 20px calc(50vw - 50%);
  }
  .c-title03.bg .inn::after {
    width: min(18px, 3.1971580817vw);
  }
  .c-title03::after {
    width: min(18px, 3.1971580817vw);
  }
  .c-title04 {
    font-size: min(17px, 3.0195381883vw);
    padding-bottom: min(10px, 1.7761989343vw);
    margin-bottom: min(28px, 4.973357016vw);
  }
  .c-breadcrumbs {
    padding: min(15px, 2.6642984014vw) 20px 0;
  }
  .c-breadcrumbs.top {
    padding-top: min(90px, 15.9857904085vw);
  }
  .c-breadcrumbs .breadcrumbs-list li:not(:last-child)::before {
    height: min(12px, 2.1314387211vw);
    top: 4px;
  }
  .c-breadcrumbs .breadcrumbs-list .inn {
    font-size: min(10px, 1.7761989343vw);
  }
  .c-btn02 a {
    max-width: min(302px, 53.6412078153vw);
    font-size: min(20px, 3.5523978686vw);
  }
  .c-btn02 a::before {
    width: min(13px, 2.3090586146vw);
    height: min(13px, 2.3090586146vw);
    top: min(-5px, -1.7761989343vw);
    right: min(20px, 3.5523978686vw);
  }
  .c-btn03.c-large a {
    padding: min(27px, 4.7957371226vw) min(50px, 8.8809946714vw) min(26px, 4.6181172291vw);
  }
  .c-btn03.c-large a .inn {
    font-size: min(12px, 2.1314387211vw);
  }
  .c-btn03 a {
    padding: min(14px, 2.486678508vw) min(25px, 4.4404973357vw);
  }
  .c-btn03 a .inn {
    font-size: min(11px, 1.9538188277vw);
    padding-right: min(25px, 4.4404973357vw);
  }
  .c-btn03 a .inn::before {
    width: min(21px, 3.730017762vw);
  }
  .c-btn03 + .c-btn03 {
    margin-top: min(10px, 1.7761989343vw);
  }
  .mv-title .sub {
    margin-top: 5px;
  }
  .c-mv-img {
    background-image: url(../img/careers/company/sp-mv-bg.jpg.webp);
    padding: 60px 0 min(172px, 30.5506216696vw);
  }
  .c-mv-img.mission {
    background-image: url(/employment/img/careers/mission/sp_mv-img.jpg.webp);
  }
  .c-mv-img.internship {
    background-image: url(/employment/img/careers/internship/sp-mv-img.jpg.webp);
    background-size: 100%;
    background-position: top;
    padding-bottom: min(50px, 8.8809946714vw);
  }
  .c-mv-img.internship002 {
    background-image: url(/employment/img/careers/internship/002/sp-mv-img.jpg.webp);
  }
  .c-mv-img.internship003 {
    background-image: url(/employment/img/careers/internship/003/sp-mv-img.jpg.webp);
    background-position: top center;
  }
  .c-mv-img.internship004 {
    background-image: url(/employment/img/careers/internship/004/sp-mv-img.jpg.webp);
    background-position: top center;
  }
  .c-mv-img.internship005 {
    background-image: url(/employment/img/careers/internship/005/sp-mv-img.jpg.webp);
    background-position-y: 40%;
    height: 50vh;
  }
  .c-mv-img.internship006 {
    background-image: url(/employment/img/careers/internship/006/sp-mv-img.jpg.webp);
  }
  .c-mv-img.internship007 {
    background-image: url(/employment/img/careers/internship/007/sp-mv-img.jpg.webp?20231207185526);
  }
  .c-mv-img.internship008 {
    background-image: url(/employment/img/careers/internship/008/sp-mv-img.jpg.webp?20231208103634);
  }
  .c-mv-img.internship009 {
    background-image: url(/employment/img/careers/internship/009/sp-mv-img.jpg.webp);
  }
  .c-mv-img.internship2024-008 {
    background-image: url(/employment/img/careers/internship/24/008/sp-mv-img.jpg.webp);
  }
  .c-mv-img.internship2024-011 {
    background-image: url(/employment/img/careers/internship/24/011/sp-mv-img.jpg.webp);
    background-position: top center;
  }
  .c-mv-img.internship2025-01 {
    background-image: url(/employment/img/careers/internship/25/001/sp-mv-img.jpg.webp);
    background-position: top center;
  }
  .c-mv-img.requirement {
    background-image: url(/employment/img/careers/recruit/sp-mv-img.jpg.webp);
  }
  .c-mv-img.message {
    background-image: url(/employment/img/careers/company/message/mv-bg_sp.jpg.webp);
  }
  .c-mv-img.company-movie .mv-title .main {
    font-size: min(20px, 3.5523978686vw);
  }
  .c-mv-img.company-movie .mv-title .sub {
    font-size: min(12px, 2.1314387211vw);
  }
  .c-mv-img.people::before {
    height: calc(100% - 60px);
  }
  .c-mv-img.people .c-breadcrumbs:not(.top)::after {
    top: 0;
  }
  .c-mv-img .newgraduate-under-mv .inner-block {
    padding-top: min(50px, 8.8809946714vw);
    padding-bottom: min(30px, 5.3285968028vw);
  }
  .c-mv-img .mv-title .main {
    font-size: min(18px, 3.1971580817vw);
  }
  .c-mv-img .mv-title .sub {
    font-size: min(10px, 1.7761989343vw);
  }
  .c-box-title-list.max-2 li {
    max-width: inherit;
    width: 100%;
  }
  .c-box-title-list.max-2 li + li {
    margin-top: min(101px, 17.9396092362vw);
  }
  .c-box-title-list.max-3 .title {
    margin-left: 0;
  }
  .c-box-title-list.max-3 li {
    max-width: inherit;
    width: 100%;
  }
  .c-box-title-list.max-3 li + li {
    margin-top: min(101px, 17.9396092362vw);
  }
  .c-box-title-list .box-title {
    font-size: min(27px, 4.7957371226vw);
    padding: min(52px, 9.2362344583vw) min(15px, 2.6642984014vw) min(51px, 9.0586145648vw);
  }
  .c-box-title-list .en-ttl {
    font-size: min(75px, 13.3214920071vw);
    margin-top: min(2px, 0.3552397869vw);
  }
  .c-box-title-list .title {
    font-size: min(15px, 2.6642984014vw);
    margin-top: min(30px, 5.3285968028vw);
    margin-left: min(22px, 3.9076376554vw);
  }
  .c-box-title-list .title.underine {
    font-size: min(25px, 4.4404973357vw);
    padding-bottom: min(20px, 3.5523978686vw);
  }
  .c-box-title-list .txt {
    font-size: min(15px, 2.6642984014vw);
    margin-top: min(20px, 3.5523978686vw);
  }
  .c-box-title-list .txt + .title {
    margin-top: min(70px, 12.43339254vw);
  }
  .c-icon-list {
    padding: 0 min(62px, 5.1666666667vw);
  }
  .c-icon-list > li {
    width: 100%;
  }
  .c-icon-list > li + li {
    margin-top: min(76px, 13.4991119005vw);
  }
  .c-icon-list .ico {
    height: min(190px, 33.7477797513vw);
    width: min(190px, 33.7477797513vw);
    margin-bottom: min(35px, 6.21669627vw);
  }
  .c-icon-list .title {
    font-size: min(25px, 4.4404973357vw);
  }
  .c-icon-list .title .small {
    font-size: min(22px, 3.9076376554vw);
  }
  .c-icon-list .text {
    font-size: min(15px, 2.6642984014vw);
    padding-top: min(42px, 7.460035524vw);
    margin-top: min(60px, 10.6571936057vw);
  }
  .c-icon-list .text.line-none {
    text-align: center;
  }
  .c-icon-list .c-num-list li .num {
    font-size: min(15px, 2.6642984014vw);
    height: min(27px, 4.7957371226vw);
    width: min(27px, 4.7957371226vw);
  }
  .c-icon-list .c-num-list li .text {
    font-size: min(20px, 3.5523978686vw);
    padding-left: min(25px, 4.4404973357vw);
    width: calc(100% - min(27px, 4.7957371226vw));
  }
  .c-icon-list.max-4 > li {
    width: 100%;
  }
  .c-icon-list.max-4 > li + li {
    margin-top: min(76px, 13.4991119005vw);
  }
  .c-txt-number-list li {
    border-radius: min(6px, 1.0657193606vw);
    padding: min(32px, 5.6838365897vw) min(20px, 3.5523978686vw);
  }
  .c-txt-number-list li + li {
    margin-top: min(25px, 4.4404973357vw);
  }
  .c-txt-number-list li .number {
    font-size: min(45px, 7.9928952043vw);
  }
  .c-txt-number-list li .txt {
    font-size: min(18px, 3.1971580817vw);
    margin-top: 20px;
  }
  .c-list01 li {
    font-size: min(15px, 2.6642984014vw);
  }
  .c-skew-list.ml-auto li {
    margin-left: auto;
  }
  .c-skew-list.mr-auto li {
    margin-right: auto;
  }
  .c-skew-list.mr-auto li:nth-of-type(2n) {
    margin-left: 0;
  }
  .c-skew-list.mt-100 {
    margin-top: 50px;
  }
  .c-skew-list.mt-60 {
    margin-top: min(-90px, -15.9857904085vw);
  }
  .c-skew-list {
    grid-template-columns: 1fr;
  }
  .c-skew-list li {
    width: 61.5%;
  }
  .c-skew-list li:nth-of-type(2n) {
    margin-left: auto;
  }
  .c-skew-list li + li {
    margin-top: -12vw;
  }
  .c-skew-list .icon {
    width: 75px;
    padding: 13px 5px;
    right: 2.6666666667vw;
    bottom: 8vw;
  }
  .c-skew-list .icon .ico {
    width: 15px;
    margin: 0 auto;
  }
  .c-skew-list .icon .ico img {
    -o-object-fit: contain;
       object-fit: contain;
    width: 100%;
  }
  .c-skew-list .txt-area {
    padding-left: 40px;
    margin-top: 16vw;
  }
  .c-skew-list .belong {
    font-size: min(14px, 1.9538188277vw);
  }
  .c-skew-list .name {
    font-size: min(14px, 2.486678508vw);
  }
  .c-table01 .table-ttl {
    gap: min(12px, 2.1314387211vw);
    margin-bottom: min(20px, 3.5523978686vw);
  }
  .c-table01 .table-ttl li {
    font-size: min(18px, 3.1971580817vw);
    padding: 11px;
  }
  .c-table01 .table-ttl li:nth-child(1) {
    width: min(255px, 45.2930728242vw);
  }
  .c-table01 .table-ttl li:nth-child(2) {
    width: calc(100% - min(267px, 47.4245115453vw));
  }
  .c-table01 table tr::after {
    width: calc(100% - min(72px, 12.7886323268vw));
  }
  .c-table01 table th {
    text-align: center;
    font-size: min(20px, 3.5523978686vw);
    padding: min(10px, 1.7761989343vw);
    width: min(60px, 10.6571936057vw);
  }
  .c-table01 table .head-txt {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    white-space: pre;
    display: inline-block;
  }
  .c-table01 table td {
    font-size: min(18px, 3.1971580817vw);
    padding: min(23px, 4.0852575488vw) min(20px, 3.5523978686vw);
    width: calc(100% - min(255px, 23.5294117647vw));
  }
  .c-table01 table td.td-ttl {
    vertical-align: top;
    width: min(195px, 34.6358792185vw);
  }
  .c-table02 {
    font-size: min(14px, 2.486678508vw);
  }
  .c-table02 th,
  .c-table02 td {
    padding: min(25px, 4.4404973357vw) min(25px, 4.4404973357vw);
  }
  .c-table02 th {
    width: min(140px, 24.8667850799vw);
  }
  .c-table02 td {
    width: calc(100% - min(140px, 24.8667850799vw));
  }
  .c-table03 thead th {
    font-size: min(15px, 2.6642984014vw);
  }
  .c-table03 thead td {
    font-size: min(17px, 3.0195381883vw);
  }
  .c-table03 tbody tr:nth-child(odd) {
    background: #333333;
  }
  .c-table03 tbody th {
    font-size: min(15px, 2.6642984014vw);
  }
  .c-table03 tbody td {
    padding: min(8px, 1.4209591474vw);
  }
  .c-illust-link + .c-illust-link {
    margin-top: min(90px, 15.9857904085vw);
  }
  .c-illust-link .link-box {
    padding: min(30px, 5.3285968028vw) min(25px, 4.4404973357vw) min(20px, 3.5523978686vw);
    max-width: 600px;
    width: 50vw;
  }
  .c-illust-link .link-ttl {
    font-size: min(20px, 3.5523978686vw);
  }
  .c-illust-link .link-ttl .main {
    padding-right: min(25px, 4.4404973357vw);
  }
  .c-illust-link .link-ttl .main::after {
    width: min(16px, 2.8419182948vw);
  }
  .c-illust-link .link-ttl .en {
    font-size: min(13px, 2.3090586146vw);
  }
  .c-illust-link .link-ttl.en-none {
    padding-bottom: 30px;
  }
  .c-illust-link .link-txt {
    font-size: min(15px, 2.6642984014vw);
    margin-top: min(10px, 1.7761989343vw);
  }
  .c-illust-link .link-img {
    width: 90%;
  }
  .c-img-frame {
    border-radius: 30px;
  }
  .c-index-list li {
    width: 100%;
  }
  .c-index-list li + li {
    margin-left: 0;
    margin-top: min(53px, 9.4138543517vw);
  }
  .c-index-list .catch {
    font-size: min(20px, 3.5523978686vw);
  }
  .c-index-list .catch .inn::before, .c-index-list .catch .inn::after {
    height: min(12px, 2.1314387211vw);
    width: min(12px, 2.1314387211vw);
  }
  .c-index-list .catch .inn::before {
    top: min(-15px, -2.6642984014vw);
    right: min(-10px, -1.7761989343vw);
  }
  .c-index-list .catch .inn::after {
    left: min(-5px, -0.8880994671vw);
  }
  .c-index-list .text {
    padding: min(28px, 4.973357016vw) min(50px, 8.8809946714vw) min(50px, 8.8809946714vw) min(25px, 4.4404973357vw);
  }
  .c-index-list .text::before {
    width: min(17px, 3.0195381883vw);
    right: min(37px, 6.5719360568vw);
  }
  .c-index-list .text .logo-wrap.sp {
    max-width: min(110px, 29.3333333333vw);
  }
  .c-index-list .text .logo-wrap.sp.mw-150 {
    max-width: min(140px, 37.3333333333vw);
  }
  .c-index-list .text .logo.mx-75 {
    max-width: min(70px, 12.43339254vw);
  }
  .c-index-list .text .logo.mx-45 {
    max-width: min(36px, 6.3943161634vw);
  }
  .c-index-list .text .logo + .logo {
    margin-left: min(30px, 5.3285968028vw);
  }
  .c-index-list .text .logo + .logo::before {
    font-size: min(15px, 2.6642984014vw);
    top: min(3px, 0.5328596803vw);
    left: min(-17px, -3.0195381883vw);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: end;
        -ms-flex-align: end;
            align-items: end;
  }
  .c-index-list .text .title {
    font-size: min(13px, 2.3090586146vw);
    margin-top: min(5px, 0.8880994671vw);
  }
  .c-index-list .text .title.large {
    font-size: min(16px, 2.8419182948vw);
    letter-spacing: 0.25em;
  }
  .c-index-list .text .sub {
    font-size: min(13px, 2.3090586146vw);
    margin-top: min(5px, 0.8880994671vw);
  }
  .bnr-block .inner-block {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  body.fixed {
    width: 100%;
    position: fixed;
  }
  .ng-section-top-banner02 {
    padding: 30px 0;
  }
  .ng-section-top-banner02 .ttl {
    font-size: 13px;
  }
  .banner-list a,
  .banner-list img {
    border-radius: 8.5px;
  }
  .banner-list .ttl {
    font-size: 20px;
    text-align: center;
    right: 0;
    left: 0;
    margin: auto;
    bottom: 20px;
    top: inherit;
  }
  .banner-list .ttl .en {
    margin-top: 0;
  }
  .ng-section-top-link {
    padding: 70px 0;
  }
  .link-list > li + li {
    margin-left: 20px;
  }
  .link-list + .banner-list {
    margin-top: 20px;
  }
  .mv-btn-wrap {
    top: 122px;
    left: 20px;
  }
  .mv-btn-wrap a {
    background: -webkit-gradient(linear, left top, right top, from(rgb(128, 150, 163)), to(rgba(0, 0, 0, 0.2)));
    background: linear-gradient(90deg, rgb(128, 150, 163) 0%, rgba(0, 0, 0, 0.2) 100%);
    border-width: 1px;
    border-radius: 8px;
    max-width: 276px;
    padding: 14px 15px 12px;
  }
  .mv-btn-wrap .en {
    max-width: inherit;
    margin-bottom: 0;
  }
  .mv-btn-wrap .ja {
    font-size: 12px;
  }
  #pagetop > a {
    padding: min(29px, 5.1509769094vw) 0;
  }
  #pagetop > a .txt {
    font-size: min(15px, 2.6690391459vw);
  }
  .newgraduate .c-breadcrumbs, .career .c-breadcrumbs {
    margin: 0;
  }
  .newgraduate .c-breadcrumbs:not(.top)::before, .career .c-breadcrumbs:not(.top)::before {
    height: calc(100% - 60px);
  }
  .newgraduate .ng-section-intro, .career .ng-section-intro {
    position: relative;
    z-index: 2;
  }
  .newgraduate .read-more-wrap .aco-body .inn, .career .read-more-wrap .aco-body .inn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .newgraduate .read-more-wrap .aco-body .ttl, .career .read-more-wrap .aco-body .ttl {
    margin-top: min(64px, 11.3676731794vw);
  }
  .newgraduate .read-more-wrap .aco-body .ttl img, .career .read-more-wrap .aco-body .ttl img {
    max-width: min(252px, 44.7602131439vw);
  }
  .newgraduate .read-more-wrap .aco-body .text-wrap .txt, .career .read-more-wrap .aco-body .text-wrap .txt {
    font-size: min(20px, 3.5523978686vw);
    line-height: 1.8;
  }
  .newgraduate .read-more-wrap .aco-body .text-wrap .txt + .txt, .career .read-more-wrap .aco-body .text-wrap .txt + .txt {
    margin-top: min(40px, 7.1047957371vw);
  }
  .newgraduate .read-more-wrap .aco-btn, .career .read-more-wrap .aco-btn {
    min-width: 140px;
  }
  .newgraduate .read-more-wrap .aco-btn .inn, .career .read-more-wrap .aco-btn .inn {
    font-size: min(13px, 2.3090586146vw);
    padding: min(14px, 3.5523978686vw) min(25px, 4.4404973357vw) min(13px, 3.5523978686vw);
  }
  .newgraduate .read-more-wrap .aco-btn .inn::before, .newgraduate .read-more-wrap .aco-btn .inn::after, .career .read-more-wrap .aco-btn .inn::before, .career .read-more-wrap .aco-btn .inn::after {
    height: min(30px, 5.3285968028vw);
    right: min(21px, 3.730017762vw);
  }
  .newgraduate .ng-section-mission .inner-block, .career .ng-section-mission .inner-block {
    padding-top: min(28px, 4.973357016vw);
    padding-bottom: min(28px, 4.973357016vw);
  }
  .newgraduate .ng-section-mission .text-wrap, .career .ng-section-mission .text-wrap {
    padding: min(50px, 8.8809946714vw) min(20px, 3.5523978686vw) min(40px, 7.1047957371vw);
  }
  .newgraduate .ng-section-mission .text-wrap .title, .career .ng-section-mission .text-wrap .title {
    font-size: min(22px, 3.9076376554vw);
  }
  .newgraduate .ng-section-mission .text-wrap .text, .career .ng-section-mission .text-wrap .text {
    font-size: min(12px, 2.1314387211vw);
    margin-top: min(15px, 2.6642984014vw);
  }
  .newgraduate .ng-section-mission, .career .ng-section-mission {
    background-image: url(/employment/img/careers/sp-img-bg01.jpg.webp);
  }
  .newgraduate .ng-section-know, .career .ng-section-know {
    overflow: hidden;
  }
  .newgraduate .ng-section-know .inner-block, .career .ng-section-know .inner-block {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .newgraduate .ng-section-know .wrap .txt-wrap, .career .ng-section-know .wrap .txt-wrap {
    margin-right: 20px;
  }
  .newgraduate .ng-section-know .wrap .txt-wrap .title, .career .ng-section-know .wrap .txt-wrap .title {
    font-size: min(22px, 3.9076376554vw);
  }
  .newgraduate .ng-section-know .wrap .txt-wrap .txt, .career .ng-section-know .wrap .txt-wrap .txt {
    font-size: min(13px, 2.3090586146vw);
    margin-top: 30px;
    margin-bottom: 30px;
  }
  .newgraduate .ng-section-know .wrap .img, .career .ng-section-know .wrap .img {
    -webkit-box-flex: 2;
    -webkit-flex: 2 1 360px;
        -ms-flex: 2 1 360px;
            flex: 2 1 360px;
    margin-top: 0;
  }
  .newgraduate .ng-section-know .wrap .img img, .career .ng-section-know .wrap .img img {
    -o-object-position: 50% 50%;
       object-position: 50% 50%;
  }
  .newgraduate .ng-section-staff, .career .ng-section-staff {
    margin-top: 60px;
    overflow: hidden;
  }
  .newgraduate .ng-section-staff .inner-block, .career .ng-section-staff .inner-block {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .newgraduate .ng-section-staff .wrap .img, .career .ng-section-staff .wrap .img {
    -webkit-box-flex: 2;
    -webkit-flex: 2 1 360px;
        -ms-flex: 2 1 360px;
            flex: 2 1 360px;
    margin-top: 0;
  }
  .newgraduate .ng-section-staff .wrap .img img, .career .ng-section-staff .wrap .img img {
    -o-object-position: 50% 50%;
       object-position: 50% 50%;
  }
  .newgraduate .ng-section-staff .wrap .text-wrap, .career .ng-section-staff .wrap .text-wrap {
    margin-left: 20px;
  }
  .newgraduate .ng-section-staff .wrap .text-wrap .title, .career .ng-section-staff .wrap .text-wrap .title {
    font-size: min(22px, 3.9076376554vw);
  }
  .newgraduate .ng-section-staff .wrap .text-wrap .text, .career .ng-section-staff .wrap .text-wrap .text {
    font-size: min(12px, 2.1314387211vw);
    margin-top: 30px;
    margin-bottom: 30px;
  }
  .newgraduate .ng-section-talk, .career .ng-section-talk {
    padding-bottom: min(50px, 8.8809946714vw);
  }
  .newgraduate .ng-section-talk .text-wrap, .career .ng-section-talk .text-wrap {
    padding: min(60px, 10.6571936057vw) 0 min(100px, 17.7619893428vw);
  }
  .newgraduate .ng-section-talk .text-wrap .text, .career .ng-section-talk .text-wrap .text {
    margin-top: 30px;
  }
  .newgraduate .ng-section-talk .link-area, .career .ng-section-talk .link-area {
    margin-top: 25px;
  }
  .newgraduate .ng-section-talk .link-item, .career .ng-section-talk .link-item {
    gap: 20px;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .newgraduate .ng-section-talk .link-item .img-area, .career .ng-section-talk .link-item .img-area {
    max-width: 500px;
  }
  .newgraduate .ng-section-talk .link-item .txt-area, .career .ng-section-talk .link-item .txt-area {
    min-width: min(200px, 35.5239786856vw);
  }
  .newgraduate .ng-section-talk .link-item .txt-area .vertical-writing-ttl, .career .ng-section-talk .link-item .txt-area .vertical-writing-ttl {
    font-size: min(22px, 3.9076376554vw);
    margin-left: min(50px, 8.8809946714vw);
  }
  .newgraduate .ng-section-talk .link-item .txt-area .vertical-writing-ttl .inn::before, .newgraduate .ng-section-talk .link-item .txt-area .vertical-writing-ttl .inn::after, .career .ng-section-talk .link-item .txt-area .vertical-writing-ttl .inn::before, .career .ng-section-talk .link-item .txt-area .vertical-writing-ttl .inn::after {
    height: min(12px, 2.1314387211vw);
    width: min(12px, 2.1314387211vw);
  }
  .newgraduate .ng-section-talk .link-item .txt-area .vertical-writing-ttl .inn::before, .career .ng-section-talk .link-item .txt-area .vertical-writing-ttl .inn::before {
    top: min(-15px, -2.6642984014vw);
    right: min(-10px, -1.7761989343vw);
  }
  .newgraduate .ng-section-talk .link-item .txt-area .vertical-writing-ttl .inn::after, .career .ng-section-talk .link-item .txt-area .vertical-writing-ttl .inn::after {
    left: min(-5px, -0.8880994671vw);
  }
  .newgraduate .ng-section-talk .link-item .txt-area .profile, .career .ng-section-talk .link-item .txt-area .profile {
    margin-top: min(30px, 5.3285968028vw);
  }
  .newgraduate .ng-section-talk .link-item .txt-area .sub-ttl, .career .ng-section-talk .link-item .txt-area .sub-ttl {
    font-size: min(11px, 1.9538188277vw);
  }
  .newgraduate .ng-section-talk .link-item .txt-area .ttl, .career .ng-section-talk .link-item .txt-area .ttl {
    font-size: min(22px, 3.9076376554vw);
    margin-top: min(20px, 3.5523978686vw);
  }
  .newgraduate .ng-section-talk .link-item .txt-area .icon, .career .ng-section-talk .link-item .txt-area .icon {
    width: min(170px, 30.1953818828vw);
    margin-top: min(20px, 3.5523978686vw);
  }
  .newgraduate .ng-section-talk .link-item .txt-area .icon.full, .career .ng-section-talk .link-item .txt-area .icon.full {
    width: 100%;
  }
  .newgraduate .ng-section-talk .link-item .txt-area .txt, .career .ng-section-talk .link-item .txt-area .txt {
    font-size: min(13px, 2.3090586146vw);
    margin-top: min(10px, 1.7761989343vw);
  }
  .newgraduate .ng-section-talk .link-item:nth-child(n+2), .career .ng-section-talk .link-item:nth-child(n+2) {
    margin-top: 10px;
  }
  .newgraduate .ng-section-project, .career .ng-section-project {
    padding: 60px 0 150px;
    margin-top: 100px;
  }
  .newgraduate .ng-section-people, .career .ng-section-people {
    background-image: url(/employment/img/careers/img-staff_sp.jpg.webp);
    padding: 60px 0 150px;
    margin-top: 100px;
  }
  .newgraduate .ng-section-movie, .career .ng-section-movie {
    background-image: url(/employment/img/careers/img-movie_sp.jpg.webp);
    padding: 60px 0 150px;
    margin-top: 100px;
  }
  .newgraduate .text-wrap, .career .text-wrap {
    margin-left: 20px;
  }
  .newgraduate .text-wrap .title, .career .text-wrap .title {
    font-size: min(22px, 3.9076376554vw);
  }
  .newgraduate .text-wrap .text, .career .text-wrap .text {
    font-size: min(12px, 2.1314387211vw);
    margin-top: 30px;
    margin-bottom: 30px;
  }
  main.career .ng-section-symposium02::before {
    height: min(272px, 48.3126110124vw);
    top: inherit;
    bottom: min(88px, 15.6305506217vw);
  }
  main.career .ng-section-symposium02 .inner-block {
    padding-top: min(50px, 8.8809946714vw);
    padding-bottom: min(118px, 20.9591474245vw);
  }
  main.career .ng-section-symposium02 .wrap {
    width: 100%;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  main.career .ng-section-symposium02 .wrap .txt-wrap {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 198px;
        -ms-flex: 1 1 198px;
            flex: 1 1 198px;
    margin-right: min(42px, 7.460035524vw);
  }
  main.career .ng-section-symposium02 .wrap .txt-wrap .title {
    font-size: min(22px, 3.9076376554vw);
  }
  main.career .ng-section-symposium02 .wrap .txt-wrap .title::before {
    right: 0;
    left: inherit;
    width: min(21px, 3.730017762vw);
  }
  main.career .ng-section-symposium02 .wrap .txt-wrap .txt {
    font-size: min(12px, 2.1314387211vw);
    margin-top: min(25px, 4.4404973357vw);
  }
  main.career .ng-section-symposium02 .wrap .img {
    -webkit-box-flex: 2;
    -webkit-flex: 2 1 302px;
        -ms-flex: 2 1 302px;
            flex: 2 1 302px;
    margin-right: calc(50% - 50vw);
  }
  main.career .ng-section-talk .link-item:nth-child(3) {
    margin-top: 40px;
  }
  .newgraduate-section-about .inner-block {
    padding-top: min(232px, 41.2078152753vw);
    padding-bottom: min(162px, 28.7744227353vw);
    padding-left: min(50px, 8.8809946714vw);
  }
  .newgraduate-section-about .concept-box {
    margin-left: 0;
  }
  .newgraduate-section-about .concept-box .concept-head {
    font-size: min(25px, 4.4404973357vw);
  }
  .newgraduate-section-about .concept-box .concept-text {
    font-size: min(17.5px, 3.108348135vw);
  }
  .newgraduate-section-about .c-concept-stream {
    top: min(14px, 2.486678508vw);
  }
  .newgraduate-section-about .c-ticker + .c-ticker {
    margin-top: min(19px, 3.3747779751vw);
  }
  .newgraduate-section-about .c-ticker-textInner {
    padding-right: 20px;
  }
  .newgraduate-section-about .about-img {
    bottom: min(-3px, -0.25vw);
  }
  .newgraduate-section-box .inner-block {
    padding-top: min(76px, 13.4991119005vw);
    padding-bottom: min(109px, 19.3605683837vw);
  }
  .ng-section-info .inner-block {
    padding-bottom: 60px;
  }
  .ng-section-info .text-wrap {
    margin-left: 10px;
  }
  .ng-section-info .news-scroll {
    margin-top: 20px;
    height: 400px;
  }
  .ng-section-info .info-list li {
    padding: 15px 10px 12px;
  }
  .ng-section-info .info-list .tag {
    margin-left: 15px;
  }
  .ng-section-info .info-list a {
    margin-left: 0;
    margin-top: 10px;
    width: 100%;
  }
  .brackets-box::before, .brackets-box::after {
    top: min(-7px, -1.243339254vw);
    left: min(-7px, -1.243339254vw);
  }
  .brackets-box::before {
    height: min(40px, 7.1047957371vw);
    width: min(7px, 1.243339254vw);
  }
  .brackets-box::after {
    height: min(7px, 1.243339254vw);
    width: min(40px, 7.1047957371vw);
  }
  .brackets-box .inn {
    padding: min(81px, 14.3872113677vw) min(20px, 3.5523978686vw) min(60px, 10.6571936057vw);
  }
  .brackets-box .inn::before, .brackets-box .inn::after {
    bottom: min(-7px, -1.243339254vw);
    right: min(-7px, -1.243339254vw);
  }
  .brackets-box .inn::before {
    height: min(40px, 7.1047957371vw);
    width: min(7px, 1.243339254vw);
  }
  .brackets-box .inn::after {
    height: min(7px, 1.243339254vw);
    width: min(40px, 7.1047957371vw);
  }
  .brackets-box .title {
    font-size: min(27px, 4.7957371226vw);
  }
  .brackets-box .line-list {
    max-width: min(300px, 53.2859680284vw);
    margin-top: min(57px, 10.1243339254vw);
  }
  .brackets-box .line-list li {
    font-size: min(17px, 3.0195381883vw);
    padding-bottom: min(12px, 2.1314387211vw);
  }
  .brackets-box .line-list li + li {
    margin-top: min(32px, 5.6838365897vw);
  }
  .balloon-box {
    height: 212px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .balloon-box .img img {
    height: 212px;
  }
  .balloon-box .balloon {
    font-size: min(15px, 2.6642984014vw);
    width: min(277px, 49.2007104796vw);
    height: min(162px, 28.7744227353vw);
    margin-left: min(128px, 22.7353463588vw);
    margin-top: 20px;
  }
  .balloon-box .balloon::before {
    border-right: min(22px, 7.9928952043vw) solid transparent;
    border-left: min(22px, 7.9928952043vw) solid transparent;
    border-bottom: min(26px, 4.6181172291vw) solid var(--themeColor03);
    top: min(38px, 6.7495559503vw);
  }
  .c-bg-box {
    padding: min(42px, 7.460035524vw) min(25px, 4.4404973357vw);
  }
  .c-bg-box > .l-flex {
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-bg-box > .l-flex.center .wrap:nth-child(1), .c-bg-box > .l-flex.center .wrap:nth-child(2) {
    max-width: min(320px, 56.838365897vw);
  }
  .c-bg-box > .l-flex.center .wrap:last-child {
    margin-top: 20px;
  }
  .c-bg-box > .l-flex .wrap:last-child {
    margin-top: min(30px, 5.3285968028vw);
  }
  .c-bg-box > .l-flex .wrap .title {
    font-size: min(18px, 3.1971580817vw);
  }
  .c-bg-box > .l-flex .wrap .img {
    max-width: min(234px, 41.5630550622vw);
    margin: auto;
  }
  .c-bg-box > .l-flex .ttl {
    font-size: min(17px, 3.0195381883vw);
    margin: min(15px, 2.6642984014vw) auto 0;
    padding: min(10px, 1.7761989343vw) min(20px, 3.5523978686vw) min(9px, 1.5985790409vw);
  }
  .c-bg-box > .l-flex .txt {
    max-width: 100%;
  }
  .c-bg-box .ico-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-bg-box .ico-list li {
    padding: min(15px, 2.6642984014vw) min(20px, 3.5523978686vw) min(15px, 2.6642984014vw);
    width: 100%;
  }
  .c-bg-box .ico-list li:nth-child(1) {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5;
    margin-top: min(20px, 3.5523978686vw);
  }
  .c-bg-box .ico-list li:nth-child(2) {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
  .c-bg-box .ico-list li:nth-child(3) {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .c-bg-box .ico-list li:nth-child(4) {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4;
  }
  .c-bg-box .ico-list li:nth-child(5) {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .c-bg-box .ico-list li + li {
    margin-top: min(20px, 3.5523978686vw);
  }
  .c-bg-box .ico-list li .ico {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    top: 0;
    bottom: 0;
    right: min(26px, 4.6181172291vw);
  }
  .c-bg-box .ico-list li .ico.ico-01 img {
    max-height: min(59px, 10.4795737123vw);
  }
  .c-bg-box .ico-list li .ico.ico-02 img {
    max-height: min(73px, 12.9662522202vw);
  }
  .c-bg-box .ico-list li .ico.ico-03 img {
    max-height: min(54px, 9.5914742451vw);
  }
  .c-bg-box .ico-list li .ico.ico-04 img {
    max-height: min(69px, 12.2557726465vw);
  }
  .c-bg-box .ico-list li .ico.ico-05 img {
    max-height: min(63px, 11.190053286vw);
  }
  .c-bg-box .ico-list li .num {
    font-size: min(63px, 11.190053286vw);
    width: min(35px, 6.21669627vw);
  }
  .c-bg-box .ico-list li .text {
    font-size: min(15px, 2.6642984014vw);
    width: calc(100% - min(35px, 6.21669627vw));
  }
  .c-another-contents .inner-block {
    padding-top: min(80px, 14.2095914742vw);
    padding-bottom: min(47px, 8.3481349911vw);
    padding: min(80px, 14.2095914742vw) min(50px, 8.8809946714vw) min(47px, 8.3481349911vw);
  }
  .c-another-contents .title {
    font-size: min(22px, 3.9076376554vw);
    margin-bottom: min(77px, 13.676731794vw);
  }
  .c-another-contents .link-box.js-index-list .box {
    margin: 0 min(12px, 2.1314387211vw) min(42px, 7.460035524vw);
  }
  .c-another-contents .link-box.js-index-list .box:nth-child(2n+2) {
    margin-left: 0;
  }
  .c-another-contents .link-box.js-index-list .box:nth-child(n+3) {
    margin-top: 0;
  }
  .c-another-contents .link-box .box {
    width: calc((100% - min(24px, 4.2628774423vw)) / 2);
  }
  .c-another-contents .link-box .box:nth-child(2n+2) {
    margin-left: min(24px, 4.2628774423vw);
  }
  .c-another-contents .link-box .box:nth-child(n+3) {
    margin-top: min(42px, 7.460035524vw);
  }
  .c-another-contents .link-box .text {
    font-size: min(12px, 2.1314387211vw);
    margin-top: min(22px, 3.9076376554vw);
    padding-right: 30px;
  }
  .c-another-contents .link-box .text::before {
    width: min(21px, 3.730017762vw);
    right: min(7px, 1.243339254vw);
  }
  .c-another-contents .link-box img {
    width: 100%;
  }
  .c-img-banner .banner-img {
    padding: min(23px, 5.3285968028vw) min(15px, 2.6642984014vw);
  }
  .c-img-banner .banner-img:only-child {
    min-height: min(260px, 46.1811722913vw);
  }
  .c-img-banner .c-btn01 {
    min-width: min(190px, 33.7477797513vw);
    max-width: min(190px, 33.7477797513vw);
  }
  .c-img-banner .c-btn01 a {
    font-size: min(12px, 2.1314387211vw);
    min-height: min(54px, 9.5914742451vw);
  }
  .c-img-banner .c-btn01 a + a {
    margin-top: min(7px, 1.243339254vw);
  }
  .c-img-banner .c-btn01 a.large {
    min-height: min(115px, 20.4262877442vw);
  }
  .c-modal {
    width: 90%;
  }
  .c-modal img {
    width: 100%;
  }
  .c-modal .inn {
    padding: min(36px, 6.3943161634vw) min(31px, 5.5062166963vw);
    display: block;
    max-height: 85vh;
    overflow-y: scroll;
  }
  .c-modal .l-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-modal .l-flex .img {
    width: 100%;
    margin-bottom: min(39px, 6.9271758437vw);
  }
  .c-modal .l-flex .text-wrap {
    margin-left: 0;
    margin-bottom: 0;
    width: 100%;
  }
  .c-modal .l-flex .text-wrap .title {
    font-size: min(20px, 3.5523978686vw);
  }
  .c-modal .l-flex .text-wrap .text {
    font-size: min(15px, 2.6642984014vw);
    margin-top: min(35px, 6.21669627vw);
  }
  .c-modal .js-modalclose {
    top: min(-50px, -8.8809946714vw);
    height: min(50px, 8.8809946714vw);
    width: min(50px, 8.8809946714vw);
  }
  .c-modal .js-modalclose::before, .c-modal .js-modalclose::after {
    height: min(59px, 10.4795737123vw);
    top: min(-5px, -0.8880994671vw);
    right: min(25px, 4.4404973357vw);
  }
  main.newgraduate.career {
    padding-top: min(75px, 13.3214920071vw);
  }
  main.newgraduate.career .c-breadcrumbs:not(.top) {
    background: transparent;
  }
  main.newgraduate.career .newgraduate-under-mv {
    overflow: hidden;
  }
  main.newgraduate.career .newgraduate-under-mv .inner-block {
    padding-top: min(50px, 8.8809946714vw);
    padding-bottom: min(18px, 3.1971580817vw);
  }
  main.newgraduate.career .mv-title {
    padding: 0 min(50px, 8.8809946714vw);
  }
  main.newgraduate.career .mv-title .main {
    font-size: min(20px, 3.5523978686vw);
  }
  main.newgraduate.career .mv-title .sub {
    font-size: min(12.5px, 2.2202486679vw);
  }
  main.newgraduate.career .mv-img {
    margin: min(-54px, -9.5914742451vw) min(-46px, -8.1705150977vw) 0;
  }
  main.newgraduate.career .newgraduate-section-box .inner-block {
    padding-top: min(58px, 10.3019538188vw);
    padding-bottom: min(80px, 14.2095914742vw);
  }
  main.newgraduate.career .c-illust-link.block01 .link-img {
    min-width: min(486px, 86.323268206vw);
    bottom: min(15px, 2.6642984014vw);
    right: min(24px, 4.2628774423vw);
  }
  main.newgraduate.career .c-illust-link.block02 .link-img {
    min-width: min(486px, 86.323268206vw);
    bottom: min(3px, 0.5328596803vw);
    left: min(25px, 4.4404973357vw);
  }
  .development {
    padding-top: min(75px, 13.3214920071vw);
  }
  .development .c-breadcrumbs:not(.top) {
    background: transparent;
  }
  .development .c-modal-btn-wrap {
    border-bottom: min(25px, 4.4404973357vw) solid #fff;
    margin-top: min(109px, 19.3605683837vw);
    padding-bottom: min(118px, 20.9591474245vw);
  }
  .development .c-modal-btn-wrap .modal-btn {
    width: calc(100% - 20px);
  }
  .development .c-modal-btn-wrap .modal-btn + .modal-btn {
    margin-top: min(80px, 14.2095914742vw);
  }
  .development .c-modal-btn-wrap .modal-btn .btn {
    height: min(43px, 7.6376554174vw);
    width: min(43px, 7.6376554174vw);
    top: min(-10px, -1.7761989343vw);
    right: min(-10px, -1.7761989343vw);
  }
  .development .c-icon-list {
    margin-top: 60px;
  }
  .training {
    padding-top: min(75px, 13.3214920071vw);
  }
  .training .c-breadcrumbs:not(.top) {
    background: transparent;
  }
  .training .newgraduate-section-about .about-img {
    bottom: min(-37px, -6.5719360568vw);
  }
  .training .newgraduate-section-box.bg-none .inner-block {
    padding-top: min(74px, 13.1438721137vw);
  }
  .training .balloon-box {
    height: 255px;
    margin-top: min(130px, 23.0905861456vw);
    margin-bottom: min(-13px, -2.3090586146vw);
  }
  .training .balloon-box .img img {
    height: 238px;
  }
  .training .balloon-box .balloon {
    width: min(225px, 39.9644760213vw);
    height: min(115px, 20.4262877442vw);
    margin-left: min(160px, 28.4191829485vw);
    margin-top: min(-40px, -7.1047957371vw);
  }
  .training .balloon-box .balloon::before {
    border-right: min(45px, 7.9928952043vw) solid transparent;
    border-left: min(20px, 3.5523978686vw) solid transparent;
    border-bottom: min(30px, 5.3285968028vw) solid var(--themeColor);
    top: min(75px, 13.3214920071vw);
    left: min(-3px, -0.5328596803vw);
  }
  .training .c-modal-btn-wrap {
    gap: min(55px, 9.7690941385vw) min(30px, 5.3285968028vw);
  }
  .training .c-modal-btn-wrap .modal-btn {
    font-size: min(24px, 4.2628774423vw);
    width: min(238px, 42.2735346359vw);
    height: min(206px, 36.5896980462vw);
  }
  .training .c-modal-btn-wrap .btn {
    height: min(30px, 5.3285968028vw);
    width: min(30px, 5.3285968028vw);
    bottom: min(-12px, -2.1314387211vw);
    right: min(46px, 8.1705150977vw);
  }
  .training .c-modal {
    top: 60%;
  }
  .training .c-modal .inn {
    max-height: 70vh;
  }
  .training .c-modal .hexagon-icon {
    font-size: min(19px, 3.3747779751vw);
    height: min(165px, 29.3072824156vw);
    width: min(190px, 33.7477797513vw);
    top: min(-107px, -19.0053285968vw);
    right: auto;
    left: 0;
  }
  .training .img-bg {
    padding: min(35px, 6.21669627vw) min(40px, 7.1047957371vw);
    margin-right: -20px;
  }
  .training .img-bg .img-scroll {
    overflow: auto;
  }
  .training .img-bg .img-scroll img {
    width: min(928px, 164.8312611012vw);
    min-width: min(928px, 164.8312611012vw);
    padding-bottom: min(30px, 5.3285968028vw);
  }
  .training .c-box-title-list {
    margin-top: 75px;
  }
  .company-all .c-mv-img .c-breadcrumbs:not(.top) {
    background: rgba(0, 0, 0, 0.6);
  }
  .company-all .newgraduate-section-box .inner-block {
    padding-top: min(90px, 15.9857904085vw);
  }
  .company-all .newgraduate-section-box .c-title03 {
    margin-bottom: min(25px, 4.4404973357vw);
  }
  .company.company-all .c-mv-img .newgraduate-under-mv {
    padding-top: 35px;
    padding-bottom: 35px;
  }
  .company.company-all .c-mv-img .c-breadcrumbs:not(.top) {
    background: none;
  }
  .company .another-list li + li {
    margin-top: 30px;
  }
  .company .another-list a {
    border-radius: 10px;
  }
  .company .another-list a .link-ttl::before {
    width: min(16px, 2.8419182948vw);
    right: 20px;
  }
  .company .another-list a .link-ttl .small {
    font-size: min(20px, 1.6666666667vw);
  }
  .company .another-list a .link-ttl .small.small-txt {
    font-size: min(12px, 1vw);
    padding-left: 8px;
  }
  .company .another-list a .img {
    max-width: 42.9%;
  }
  .company .another-list a .img img {
    border-radius: 0 10px 10px 0;
  }
  .data .list-flex {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: min(15px, 2.6642984014vw);
  }
  .data .list-flex + .list-flex {
    margin-top: min(80px, 14.2095914742vw);
  }
  .data .list-flex + .list-flex.col2 {
    margin-top: min(100px, 17.7619893428vw);
  }
  .data .list-flex.col2 .list-item {
    width: min(350px, 62.1669626998vw);
  }
  .data .list-flex.col2 .list-item .back {
    padding-top: 80px;
    padding-bottom: 50px;
  }
  .data .list-flex .list-item {
    width: calc((100% - min(15px, 2.6642984014vw)) / 2);
  }
  .data .list-flex .list-item .front {
    padding: min(30px, 5.3285968028vw) min(15px, 2.6642984014vw);
  }
  .data .list-flex .list-item .front::before {
    background: url(/employment/img/careers/company/data/ico-return.svg) no-repeat center center;
    background-size: contain;
    content: "";
    height: 30px;
    width: 35px;
    position: absolute;
    right: 11px;
    top: 10px;
  }
  .data .list-flex .list-item .back {
    padding: min(65px, 11.5452930728vw) min(15px, 2.6642984014vw) min(30px, 5.3285968028vw);
  }
  .data .list-flex .list-item .back::before {
    background: url(/employment/img/careers/company/data/ico-return.svg) no-repeat center center;
    background-size: contain;
    content: "";
    height: 30px;
    width: 35px;
    position: absolute;
    right: 11px;
    top: 10px;
  }
  .data .list-flex .list-item .back .text {
    font-size: 11px;
    line-height: 1.78363;
  }
  .data .list-flex .icon-area {
    width: min(110px, 19.5381882771vw);
    height: min(86px, 15.2753108348vw);
  }
  .data .list-flex .icon-area.icon1 {
    width: min(70px, 12.43339254vw);
  }
  .data .list-flex .icon-area.icon2 {
    width: min(60px, 10.6571936057vw);
  }
  .data .list-flex .icon-area.icon5 {
    width: min(140px, 24.8667850799vw);
  }
  .data .list-flex .icon-area.icon6 {
    width: min(100px, 17.7619893428vw);
  }
  .data .list-flex .icon-area.icon7 {
    width: min(100px, 17.7619893428vw);
  }
  .data .list-flex .icon-area.icon8 {
    width: min(160px, 28.4191829485vw);
    height: min(106px, 18.8277087034vw);
  }
  .data .list-flex .data-txt-area {
    margin-top: min(25px, 4.4404973357vw);
  }
  .data .list-flex .data-txt-area .txt-flex.col2 {
    gap: min(25px, 4.4404973357vw);
  }
  .data .list-flex .data-txt-area .txt-flex.gap-15 {
    gap: min(25px, 4.4404973357vw) min(10px, 1.7761989343vw);
  }
  .data .list-flex .data-txt-area .txt-col.col2 .data-txt {
    font-size: min(13px, 2.3090586146vw);
  }
  .data .list-flex .data-txt-area .txt-col.col2 .data-txt .numerical {
    font-size: min(43px, 7.6376554174vw);
  }
  .data .list-flex .data-txt-area .txt-col.small .data-txt {
    font-size: min(11px, 1.9538188277vw);
  }
  .data .list-flex .data-txt-area .txt-col.small .data-txt .numerical {
    font-size: min(33px, 5.8614564831vw);
  }
  .data .list-flex .data-txt-area .txt-col.small .data-ttl {
    font-size: min(10px, 1.7761989343vw);
    min-width: min(87px, 15.4529307282vw);
    padding: min(4px, 0.7104795737vw) min(10px, 1.7761989343vw);
  }
  .data .list-flex .data-txt-area .txt-col .col-all-txt {
    margin-top: min(15px, 2.6642984014vw);
    padding: min(7px, 1.243339254vw) min(10px, 1.7761989343vw);
    min-width: min(116px, 20.6039076377vw);
  }
  .data .list-flex .data-sub-ttl {
    font-size: min(10px, 1.7761989343vw);
  }
  .data .list-flex .data-txt {
    font-size: min(17px, 3.0195381883vw);
  }
  .data .list-flex .data-txt .numerical {
    font-size: min(59px, 10.4795737123vw);
    padding: 0 min(5px, 0.8880994671vw);
  }
  .data .list-flex .data-txt.block-area .block {
    font-size: min(12px, 2.1314387211vw);
    padding-top: min(20px, 3.5523978686vw);
  }
  .data .list-flex .data-annotation {
    font-size: min(10px, 1.7761989343vw);
    padding: min(3px, 0.5328596803vw) min(20px, 3.5523978686vw);
    margin: min(5px, 1.7761989343vw) 0;
  }
  .data .list-flex .data-ttl {
    font-size: min(10px, 1.7761989343vw);
    padding: min(7px, 1.243339254vw) min(20px, 3.5523978686vw);
    margin-top: min(6px, 1.0657193606vw);
    min-width: min(120px, 21.3143872114vw);
  }
  .data .list-flex.all-txt-area .list-item.all-txt-item .back {
    padding: min(65px, 11.5452930728vw) min(20px, 3.5523978686vw) min(30px, 5.3285968028vw);
  }
  .data .list-flex.all-txt-area .list-item .col-all-txt {
    margin: 0 auto;
    max-width: min(154px, 27.3534635879vw);
    bottom: min(30px, 5.3285968028vw);
  }
  .data .list-flex.all-txt-area .list-item .front {
    padding: min(30px, 5.3285968028vw) min(20px, 3.5523978686vw) min(90px, 15.9857904085vw);
  }
  .data .list-flex.all-txt-area .list-item .back {
    padding: min(65px, 11.5452930728vw) min(15px, 2.6642984014vw) min(95px, 16.8738898757vw);
  }
  .data .list-flex .col-all-txt {
    font-size: min(10px, 1.7761989343vw);
    padding: min(7px, 1.243339254vw) min(20px, 3.5523978686vw);
  }
  .internship .c-breadcrumbs:not(.top) {
    background: rgba(0, 0, 0, 0.6);
  }
  .internship .newgraduate-section-wrap .inner-block {
    padding-top: min(68px, 12.0781527531vw);
  }
  .internship .newgraduate-section-wrap .title-area .en {
    font-size: min(25px, 4.4404973357vw);
  }
  .internship .newgraduate-section-wrap .title-area .ja {
    font-size: min(12px, 2.1314387211vw);
    margin-top: min(10px, 1.7761989343vw);
  }
  .internship .newgraduate-section-wrap .text-wrap {
    padding: min(42px, 7.460035524vw) min(25px, 4.4404973357vw);
    margin-top: min(112px, 19.8934280639vw);
  }
  .internship .newgraduate-section-wrap .text-wrap .title {
    font-size: min(17px, 3.0195381883vw);
  }
  .internship .newgraduate-section-wrap .text-wrap .text {
    font-size: min(15px, 2.6642984014vw);
    margin-top: min(30px, 5.3285968028vw);
  }
  .internship .newgraduate-section-schedule {
    background: #000;
  }
  .internship .newgraduate-section-schedule .inner-block {
    padding-top: min(50px, 8.8809946714vw);
    padding-bottom: min(65px, 11.5452930728vw);
  }
  .internship .newgraduate-section-schedule .c-title03 {
    font-size: min(17px, 3.0195381883vw);
  }
  .internship .newgraduate-section-schedule .c-table03 {
    margin-top: min(23px, 4.0852575488vw);
  }
  .internship .newgraduate-section-schedule .c-table03 + .c-title03 {
    margin-top: min(80px, 14.2095914742vw);
  }
  .internship .newgraduate-section-schedule .schedule-box .box {
    padding: min(30px, 5.3285968028vw);
    width: 100%;
  }
  .internship .newgraduate-section-schedule .schedule-box .box + .box {
    margin-top: min(38px, 3.4545454545vw);
  }
  .internship .newgraduate-section-schedule .schedule-box .box .top-wrap .img {
    width: min(283px, 50.2664298401vw);
  }
  .internship .newgraduate-section-schedule .schedule-box .box .top-wrap .text-wrap {
    margin-left: min(10px, 1.7761989343vw);
    width: calc(100% - min(293px, 52.0426287744vw));
  }
  .internship .newgraduate-section-schedule .schedule-box .box .top-wrap .text-wrap .day {
    font-size: min(12px, 2.1314387211vw);
  }
  .internship .newgraduate-section-schedule .schedule-box .box .top-wrap .text-wrap .tag-wrap .tag {
    font-size: min(13px, 2.3090586146vw);
    padding: min(8px, 2.6642984014vw) min(15px, 2.6642984014vw);
    min-width: min(112px, 19.8934280639vw);
  }
  .internship .newgraduate-section-schedule .schedule-box .box .bottom-wrap .num {
    font-size: min(20px, 3.5523978686vw);
  }
  .internship .newgraduate-section-schedule .schedule-box .box .bottom-wrap .title {
    font-size: min(25px, 4.4404973357vw);
    margin: min(5px, 0.4545454545vw);
  }
  .internship .newgraduate-section-schedule .schedule-box .box .bottom-wrap .text {
    font-size: min(15px, 2.6642984014vw);
  }
  .internship .newgraduate-section-schedule .schedule-box .box .past-tag {
    padding: min(15px, 2.6642984014vw) min(20px, 3.5523978686vw);
  }
  .internship .newgraduate-section-schedule .schedule-box + .c-title03 {
    margin-top: min(50px, 8.8809946714vw);
  }
  .internship .newgraduate-section-schedule .txt {
    font-size: 12px;
  }
  .internship .newgraduate-section-schedule .ttl {
    font-size: 22px;
    margin: 30px auto 0;
  }
  .internship-common .c-mv-img .c-breadcrumbs:not(.top) {
    background: rgba(0, 0, 0, 0.6);
  }
  .internship-common .c-mv-img .mv-title .main {
    font-size: min(20px, 3.5523978686vw);
  }
  .internship-common .c-mv-img .mv-title .sub {
    font-size: min(12px, 2.1314387211vw);
  }
  .internship-common .main_content_wrap {
    padding: min(40px, 7.1047957371vw) 0;
  }
  .internship-common .main_h3 span::before {
    height: 23px;
    width: 18px;
    top: 6px;
  }
  .internship-common.internship2024-09 .internship_detail-imgWrap {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 30px;
  }
  .internship-common.internship2024-09 .internship_detail-imgWrap + .main_h3 {
    margin-top: 30px;
  }
  .internship-common.internship2025-01 .internship_detail04-course {
    padding: 30px 15px;
  }
  .internship2024-01 .c-header #hamburger {
    position: static;
  }
  .internship2024-01 .c-header #hamburger .line-wrap .inn {
    position: static;
  }
  .internship2024-01 .c-header #hamburger .line-wrap .line {
    width: min(40px, 7.1047957371vw);
  }
  .requirement .c-mv-img .c-breadcrumbs:not(.top) {
    background: rgba(0, 0, 0, 0.6);
  }
  .requirement .c-mv-img .mv-title .main {
    font-size: min(20px, 3.5523978686vw);
  }
  .requirement .c-mv-img .mv-title .sub {
    font-size: min(12px, 2.1314387211vw);
  }
  .requirement .requirement_link .icon-area {
    width: 63px;
    height: 57px;
  }
  .requirement .requirement_link-ul {
    width: auto;
    padding-left: 20px;
    padding-right: 20px;
  }
  .requirement .requirement_link-ul li:nth-child(1) a img, .requirement .requirement_link-ul li:nth-child(2) a img {
    width: auto;
    margin: 0;
  }
  .requirement .requirement_link-ul li a img {
    width: auto;
  }
  .requirement .main_content_wrap {
    padding-bottom: min(40px, 7.1047957371vw);
  }
  .requirement .requirement_box {
    padding-top: 5px;
  }
  .requirement .requirement_box h3 .icon {
    width: 63px;
    height: 57px;
  }
  .requirement .requirement_cont .requirement_course-title.technical {
    font-size: 16px;
  }
  .requirement .requirement_cont .requirement_course-title.technical_child {
    font-size: 14px;
    padding-left: 15px;
  }
  .requirement .requirement_cont .requirement_course-title.technical_child::before {
    height: 12px;
    width: 12px;
  }
  .requirement .requirement_cont .requirement_course-title.business {
    font-size: 16px;
  }
  .requirement .requirement_cont .requirement_course-title.business_child {
    font-size: 14px;
    padding-left: 15px;
  }
  .requirement .requirement_cont .requirement_course-title.business_child::before {
    height: 12px;
    width: 12px;
  }
  .requirement .requirement_table {
    margin-bottom: 0;
  }
  .requirement .requirement_table th, .requirement .requirement_table td {
    font-size: 13px;
    padding: 5px 10px;
  }
  .requirement .requirement_table td.column {
    text-align: center;
  }
  .requirement .requirement_cont-box.indent {
    padding-left: 20px;
  }
  .requirement .requirement_cont-box.mb-100 {
    margin-bottom: 70px;
  }
  .requirement .requirement_check-list li::before {
    width: 10px;
    height: 5px;
    top: 6px;
  }
  .requirement .requirement_check-list li {
    font-size: 13px;
    padding-left: 15px;
    text-align: left;
  }
  .workstyle {
    padding-top: min(75px, 13.3214920071vw);
  }
  .workstyle .c-breadcrumbs:not(.top) {
    background: transparent;
  }
  .workstyle .newgraduate-under-mv {
    overflow: hidden;
  }
  .workstyle .newgraduate-under-mv .inner-block {
    padding-top: min(50px, 8.8809946714vw);
    padding-bottom: min(18px, 3.1971580817vw);
  }
  .workstyle .mv-title {
    padding: 0 min(50px, 8.8809946714vw);
  }
  .workstyle .mv-title .main {
    font-size: min(20px, 3.5523978686vw);
  }
  .workstyle .mv-title .sub {
    font-size: min(12.5px, 2.2202486679vw);
  }
  .workstyle .mv-img {
    margin: min(-70px, -12.43339254vw) min(-34px, -6.0390763766vw) 0 min(-58px, -10.3019538188vw);
  }
  .workstyle .newgraduate-section-box .inner-block {
    padding-top: min(58px, 10.3019538188vw);
    padding-bottom: min(80px, 14.2095914742vw);
  }
  .workstyle .c-illust-link.block01 .link-img {
    min-width: min(487px, 86.5008880995vw);
    bottom: min(10px, 1.7761989343vw);
    right: min(25px, 4.4404973357vw);
  }
  .workstyle .c-illust-link.block02 .link-img {
    min-width: min(488px, 86.6785079929vw);
    bottom: min(12px, 2.1314387211vw);
    left: min(26px, 4.6181172291vw);
  }
  .workstyle .c-illust-link.block03 .link-img {
    min-width: min(448px, 79.5737122558vw);
    bottom: min(17px, 3.0195381883vw);
  }
  .diversity {
    padding-top: min(75px, 13.3214920071vw);
  }
  .diversity .c-breadcrumbs:not(.top) {
    background: transparent;
  }
  .diversity .newgraduate-section-about .about-img {
    bottom: min(-20px, -3.5523978686vw);
  }
  .diversity .newgraduate-section-box.bg-none .inner-block {
    padding-top: min(74px, 13.1438721137vw);
  }
  .diversity .brackets-box .title .mt-10 {
    display: block;
    margin-top: 20px;
  }
  .diversity .balloon-box {
    margin-top: min(74px, 13.1438721137vw);
  }
  .diversity .balloon-box .balloon {
    width: min(316px, 56.1278863233vw);
    height: min(171px, 30.3730017762vw);
    margin-left: min(140px, 24.8667850799vw);
    margin-top: min(40px, 7.1047957371vw);
  }
  .diversity .balloon-box .balloon::before {
    border-right: min(45px, 7.9928952043vw) solid transparent;
    border-left: min(20px, 3.5523978686vw) solid transparent;
    border-bottom: min(30px, 5.3285968028vw) solid var(--themeColor);
    top: min(32px, 5.6838365897vw);
    left: min(-22px, -3.9076376554vw);
  }
  .diversity .c-bg-box {
    padding: min(25px, 4.4404973357vw) min(15px, 2.6642984014vw);
  }
  .diversity .c-bg-box .explanation-txt {
    font-size: min(18px, 3.1971580817vw);
    letter-spacing: -0.05em;
  }
  .diversity .c-bg-box .explanation-txt.mx-340 {
    max-width: min(340px, 60.3907637655vw);
  }
  .diversity .c-bg-box .explanation-txt.mx-400 {
    max-width: min(450px, 79.9289520426vw);
  }
  .diversity .theme-block {
    margin-top: min(80px, 14.2095914742vw);
  }
  .diversity .theme-block .c-box-title-list {
    margin-top: min(66px, 11.7229129663vw);
  }
  .diversity .theme-block .c-box-title-list .box-title {
    padding: min(37px, 6.5719360568vw) min(15px, 2.6642984014vw) min(34px, 6.0390763766vw);
  }
  .diversity .theme-block .c-box-title-list .en-img {
    margin-top: min(36px, 6.3943161634vw);
  }
  .diversity .theme-block .c-box-title-list .en-img img {
    height: min(57px, 10.1243339254vw);
  }
  .diversity .theme-block .c-box-title-list .en-img.lower-case img {
    height: min(43px, 7.6376554174vw);
  }
  .diversity .theme-block .c-box-title-list .title {
    font-size: min(23px, 4.0852575488vw);
    margin-top: min(50px, 8.8809946714vw);
    margin-left: 0;
  }
  .diversity .theme-block .c-box-title-list .c-btn02 a {
    font-size: min(15px, 2.6642984014vw);
    max-width: min(253px, 44.9378330373vw);
    margin-top: min(50px, 8.8809946714vw);
    padding-right: min(50px, 8.8809946714vw);
  }
  .diversity .theme-block .c-box-title-list .c-btn02 a::before {
    right: 15px;
  }
  .ikukyu .kv-block {
    padding-top: min(75px, 13.3214920071vw);
    height: calc(min(75px, 13.3214920071vw) + var(--kvh) + 105.1509769094vw);
  }
  .ikukyu .main-contents {
    --img-space: 105.1509769094vw;
  }
  .ikukyu .main-contents .inner-block {
    padding-top: 42px;
    padding-bottom: 20px;
  }
  .ikukyu .main-contents .ttl {
    font-size: min(20px, 4.2628774423vw);
    margin-top: 15px;
  }
  .ikukyu .introduction-block .inner-block {
    padding-top: 60px;
    padding-bottom: 60px;
    padding: 60px 40px;
  }
  .ikukyu .introduction-block .sup-txt {
    font-size: min(12px, 1.9538188277vw);
  }
  .ikukyu .introduction-block .main-txt {
    font-size: min(13px, 2.8419182948vw);
  }
  .ikukyu .introduction-block .list {
    grid-gap: 22px;
    margin-top: 35px;
  }
  .ikukyu .introduction-block .annotation {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
  }
  .ikukyu .introduction-block .belong,
  .ikukyu .introduction-block .undergraduate {
    font-size: min(12px, 1.7761989343vw);
  }
  .ikukyu .introduction-block .name {
    font-size: min(13px, 2.8419182948vw);
  }
  .ikukyu .accordion-block {
    padding-bottom: 100px;
  }
  .ikukyu .accordion-block .talk-area {
    grid-template-columns: 1fr;
    margin-top: 45px;
  }
  .ikukyu .accordion-block .ttl-area {
    width: calc(100% - 70px);
    margin-top: min(-45px, -12vw);
  }
  .ikukyu .accordion-block .ttl-area.has-detail {
    margin-top: min(-85px, -17.7619893428vw);
  }
  .ikukyu .accordion-block .ttl-area.has-detail .ttl {
    padding: 15px 20px;
  }
  .ikukyu .accordion-block .ttl-area.has-detail .ttl-detail {
    font-size: min(12px, 2.486678508vw);
    padding: 24px 40px;
  }
  .ikukyu .accordion-block .ttl-sub {
    font-size: min(11px, 2.486678508vw);
    max-width: 140px;
    padding: 6px 15px;
  }
  .ikukyu .accordion-block .ttl {
    font-size: min(20px, 3.5523978686vw);
    padding: 20px 10px 20px 42px;
  }
  .ikukyu .accordion-block .talk-area .img-items {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .ikukyu .accordion-block .talk-area .img + .img {
    margin-top: 22px;
  }
  .ikukyu .accordion-block .talk-area .img-box {
    padding-right: 75px;
  }
  .ikukyu .accordion-block .talk-area .img-box:first-of-type {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 2;
    margin: 55px 0;
  }
  .ikukyu .accordion-block .talk-area .img-box + .img-box {
    margin-top: 55px;
  }
  .ikukyu .accordion-block .talk-box {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .ikukyu .accordion-block .name {
    font-size: min(10px, 1.7761989343vw);
    letter-spacing: 0.21em;
  }
  .ikukyu .accordion-block .ico-area {
    max-width: 30px;
  }
  .ikukyu .accordion-block .txt {
    font-size: min(12px, 2.486678508vw);
    letter-spacing: 0.29em;
    line-height: 1.95;
    margin-left: 15px;
  }
  .ikukyu .accordion-block .talk-items:first-of-type {
    position: relative;
  }
  .ikukyu .accordion-block .talk-items + .talk-items {
    padding-top: calc(122% - 75px + 22px + 110px);
  }
  .ikukyu .accordion-block .talk-items {
    width: calc(100% - 70px);
    margin-left: auto;
  }
  .ikukyu .accordion-block .talk-area {
    position: relative;
  }
  .ikukyu .accordion-block.reverse .talk-area {
    position: relative;
  }
  .ikukyu .accordion-block.reverse .talk-area .img-box {
    padding-left: 75px;
    padding-right: 0;
  }
  .ikukyu .accordion-block.reverse .talk-items {
    margin-left: 0;
  }
  .ikukyu .accordion-block.reverse .saying-area .img-items {
    margin-left: -61.9893428064vw;
  }
  .ikukyu .accordion-block.reverse .saying-area .txt-box {
    padding: 28px 35px 0 0;
  }
  .ikukyu .accordion-block.reverse .saying-area.sp-img-bottom .txt-box {
    padding: 28px 35px 28px 0;
  }
  .ikukyu .accordion-block .saying-area {
    padding-top: 40px;
  }
  .ikukyu .accordion-block .saying-area .img-items {
    width: 76.5541740675vw;
    margin-right: -61.9893428064vw;
  }
  .ikukyu .accordion-block .saying-area .img-items img:not(.w-auto) {
    height: 58.4369449378vw;
  }
  .ikukyu .accordion-block .saying-area .img + .img {
    margin-top: 15px;
  }
  .ikukyu .accordion-block .saying-area .txt-box {
    width: 90%;
    margin-top: 50.621669627vw;
    padding: 28px 0 0 35px;
  }
  .ikukyu .accordion-block .saying-area .txt-box .box .txt {
    font-size: min(12px, 2.486678508vw);
    letter-spacing: 0.29em;
    line-height: 1.95;
    margin-left: 15px;
  }
  .ikukyu .accordion-block .saying-area .box-ttl {
    font-size: min(18px, 3.1971580817vw);
  }
  .ikukyu .accordion-block .saying-area .txt {
    margin-left: 0;
    font-size: min(12px, 2.486678508vw);
  }
  .ikukyu .accordion-block .saying-area .txt + .txt {
    margin-top: 22px;
  }
  .ikukyu .accordion-block .saying-area.sp-img-bottom {
    padding-bottom: 50vw;
  }
  .ikukyu .accordion-block .saying-area.sp-img-bottom .txt-box {
    padding: 28px 35px 28px;
  }
  .ikukyu .accordion-block.pattern-02 .ttl-area {
    margin-left: calc(50% - 50vw + 60px);
    width: calc(100% - 40px);
  }
  .ikukyu .accordion-block.pattern-02 .ttl {
    padding-left: 35px;
  }
  .ikukyu .accordion-block.pattern-02.reverse .ttl-area {
    margin-right: calc(50% - 50vw + 60px);
  }
  .ikukyu .accordion-block.pattern-02.reverse .talk-area:not(.reverse) .img-box {
    padding-left: 0;
    padding-right: 75px;
  }
  .ikukyu .accordion-block.pattern-02 .talk-area.reverse {
    margin-top: 0;
  }
  .ikukyu .accordion-block.pattern-02 .talk-area.reverse + .talk-area {
    margin-top: 0;
  }
  .ikukyu .accordion-block.pattern-02 .talk-area.reverse .img-items .img-box {
    margin-left: 0;
    padding: 0 0 0 75px;
    margin-right: -20px;
  }
  .ikukyu .accordion-block.pattern-02 .talk-area.reverse .talk-box {
    margin-right: 0;
    padding-left: 0;
    width: 100%;
  }
  .ikukyu .accordion-block.pattern-02 .talk-area.reverse .box {
    padding-right: 67px;
  }
  .ikukyu .accordion-block.pattern-02 .talk-area.reverse .box-ttl {
    margin-left: 0;
    margin-right: 70px;
  }
  .ikukyu .accordion-block.pattern-02 .talk-box {
    margin-left: auto;
  }
  .ikukyu .accordion-block.pattern-02 .box {
    padding-left: 55px;
  }
  .ikukyu .accordion-block.pattern-02 .box-ttl {
    letter-spacing: 0.41em;
    font-size: min(14px, 3.1971580817vw);
    padding-bottom: 15px;
    margin-bottom: 30px;
    margin-left: 70px;
    margin-top: 30px;
  }
  .ikukyu .accordion-block.pattern-02 .talk-items {
    width: 100%;
  }
  .ikukyu .accordion-block.pattern-02 .talk-items + .talk-items {
    padding-top: 0;
  }
  .ikukyu .accordion-block.pattern-02 .talk-items.img-position {
    padding-top: calc(122% + 60px);
  }
  .ikukyu .accordion-block.pattern-02 .talk-items.img-position.single {
    padding-top: calc(61% + 70px);
  }
  .ikukyu .accordion-block.pattern-02 .img-items .img-box {
    margin-left: -20px;
  }
  .ikukyu .accordion-block.pattern-02 .img-items .img-box.top-0 {
    top: 0 !important;
  }
  .ikukyu .accordion-block.pattern-02 .ico-area {
    width: 4em;
    max-width: none;
  }
  .ikukyu .accordion-block.pattern-02 .name {
    font-size: min(14px, 1.9538188277vw);
  }
  .ikukyu .accordion-block .talk-wrap .head {
    display: block;
    padding: 20px 45px 15px 20px;
    max-width: calc(100% - 40px);
    margin: auto;
  }
  .ikukyu .accordion-block .talk-wrap .head .num {
    font-size: 12px;
    width: 100%;
  }
  .ikukyu .accordion-block .talk-wrap .head .title::before, .ikukyu .accordion-block .talk-wrap .head .title::after {
    width: 25px;
    top: -32px;
    right: -25px;
  }
  .ikukyu .accordion-block .talk-wrap .head .title {
    font-size: 16px;
    margin-left: inherit;
    margin-top: 5px;
    width: 100%;
  }
  .welfare {
    padding-top: min(75px, 13.3214920071vw);
  }
  .welfare .c-breadcrumbs:not(.top) {
    background: transparent;
  }
  .welfare .newgraduate-section-about .inner-block {
    padding-top: min(231px, 41.0301953819vw);
    padding-bottom: min(162px, 28.7744227353vw);
  }
  .welfare .newgraduate-section-about .about-img {
    bottom: min(-5px, -0.8880994671vw);
  }
  .welfare .anchor-section-box .inner-block {
    padding-top: 50px;
    padding-bottom: 110px;
  }
  .welfare .anchor-section-box .box-title {
    max-width: min(190px, 33.7477797513vw);
    margin-bottom: min(50px, 8.8809946714vw);
  }
  .welfare .anchor-section-box .box-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .welfare .anchor-section-box .box-list li {
    width: 100%;
  }
  .welfare .anchor-section-box .box-list li + li {
    margin-top: min(35px, 6.21669627vw);
  }
  .welfare .anchor-section-box .box-list .title {
    padding: min(50px, 8.8809946714vw) min(25px, 4.4404973357vw) min(12px, 2.1314387211vw);
  }
  .welfare .anchor-section-box .box-list .title .num {
    font-size: min(27px, 4.7957371226vw);
    width: min(35px, 6.21669627vw);
  }
  .welfare .anchor-section-box .box-list .title .inn {
    font-size: min(22px, 3.9076376554vw);
    margin-left: min(25px, 4.4404973357vw);
    width: calc(100% - min(60px, 10.6571936057vw));
  }
  .welfare .welfare-section-box .inner-block {
    padding-bottom: min(50px, 8.8809946714vw);
  }
  .welfare .welfare-section-box .inner-block.mt-130 {
    padding-top: min(40px, 7.1047957371vw);
  }
  .welfare .welfare-section-box .inner-block.mt-160 {
    padding-top: min(80px, 14.2095914742vw);
  }
  .welfare .welfare-section-box .section-ttl-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .welfare .welfare-section-box .section-ttl-wrap div {
    width: 100%;
  }
  .welfare .welfare-section-box .section-ttl-wrap .text-area {
    padding: min(60px, 10.6571936057vw) min(65px, 11.5452930728vw) min(60px, 10.6571936057vw);
  }
  .welfare .welfare-section-box .section-ttl-wrap .text-area .main-title .num {
    font-size: min(24px, 4.2628774423vw);
  }
  .welfare .welfare-section-box .section-ttl-wrap .text-area .main-title .inn {
    font-size: min(22px, 3.9076376554vw);
    margin-top: min(15px, 2.6642984014vw);
  }
  .welfare .welfare-section-box .section-ttl-wrap .text-area .text {
    font-size: min(17px, 3.0195381883vw);
    margin-top: min(40px, 7.1047957371vw);
  }
  .welfare .welfare-section-box .box-wrap.ico .box {
    padding: min(20px, 3.5523978686vw) min(189px, 33.5701598579vw) min(50px, 8.8809946714vw) min(55px, 9.7690941385vw);
  }
  .welfare .welfare-section-box .box-wrap.ico .box + .box {
    margin-top: min(100px, 17.7619893428vw);
  }
  .welfare .welfare-section-box .box-wrap.ico .box:nth-child(1) .deco {
    bottom: min(-30px, -5.3285968028vw);
    right: min(20px, 3.5523978686vw);
    max-width: min(125px, 22.2024866785vw);
  }
  .welfare .welfare-section-box .box-wrap.ico .box:nth-child(2) .deco {
    bottom: min(-20px, -3.5523978686vw);
    right: min(20px, 3.5523978686vw);
    max-width: min(95px, 16.8738898757vw);
  }
  .welfare .welfare-section-box .box-wrap.ico .box:nth-child(3) .deco {
    bottom: min(-20px, -3.5523978686vw);
    right: min(20px, 3.5523978686vw);
    max-width: min(176px, 31.2611012433vw);
  }
  .welfare .welfare-section-box .box-wrap.line .box {
    padding: min(40px, 7.1047957371vw) min(189px, 33.5701598579vw) min(50px, 8.8809946714vw) min(55px, 9.7690941385vw);
  }
  .welfare .welfare-section-box .box-wrap.line .box + .box {
    margin-top: min(60px, 10.6571936057vw);
  }
  .welfare .welfare-section-box .box-wrap.line .box:nth-child(1) .deco {
    bottom: min(-30px, -5.3285968028vw);
    right: min(20px, 3.5523978686vw);
    max-width: min(100px, 17.7619893428vw);
  }
  .welfare .welfare-section-box .box-wrap .ico-list li {
    padding-top: min(120px, 21.3143872114vw);
  }
  .welfare .welfare-section-box .box-wrap .ico-list li + li {
    margin-top: min(80px, 14.2095914742vw);
  }
  .welfare .welfare-section-box .box-wrap .ico-list .ico {
    max-width: min(140px, 24.8667850799vw);
    top: -30px;
  }
  .welfare .welfare-section-box .box-wrap .ico-list .title {
    font-size: min(17px, 3.0195381883vw);
    margin-bottom: min(15px, 2.6642984014vw);
  }
  .welfare .welfare-section-box .box-wrap .ico-list .text {
    font-size: min(14px, 2.486678508vw);
  }
  .welfare .welfare-section-box .box-wrap .ico-list .text + .text {
    margin-top: min(10px, 1.7761989343vw);
  }
  .welfare .welfare-section-box .box-wrap .vertical-text {
    top: min(20px, 3.5523978686vw);
    right: min(22px, 3.9076376554vw);
  }
  .welfare .welfare-section-box .box-wrap .vertical-text .inn {
    font-size: min(23px, 4.0852575488vw);
    padding: min(10px, 1.7761989343vw) min(5px, 0.8880994671vw);
  }
  .welfare .welfare-section-box .box-wrap .vertical-text .inn + .inn {
    margin-right: min(5px, 0.8880994671vw);
  }
  .welfare .welfare-section-box .topics-wrap {
    margin-top: min(100px, 17.7619893428vw);
  }
  .welfare .welfare-section-box .topics-wrap .wrap {
    padding: min(40px, 7.1047957371vw) min(30px, 5.3285968028vw);
  }
  .welfare .welfare-section-box .topics-wrap .wrap > .text {
    font-size: min(14px, 2.486678508vw);
    margin-top: min(20px, 3.5523978686vw);
    margin-bottom: min(30px, 5.3285968028vw);
  }
  .welfare .welfare-section-box .topics-wrap .wrap + .wrap {
    margin-left: 0;
    margin-top: min(50px, 8.8809946714vw);
  }
  .welfare .welfare-section-box .topics-wrap .title .en {
    font-size: min(20px, 3.5523978686vw);
  }
  .welfare .welfare-section-box .topics-wrap .title .inn {
    font-size: min(22px, 3.9076376554vw);
    margin-top: min(15px, 2.6642984014vw);
  }
  .welfare .welfare-section-box .topics-wrap .l-flex + .l-flex {
    margin-top: min(30px, 5.3285968028vw);
  }
  .welfare .welfare-section-box .topics-wrap .l-flex .title {
    font-size: min(15px, 2.6642984014vw);
  }
  .welfare .welfare-section-box .topics-wrap .l-flex .text .en {
    font-size: min(40px, 7.1047957371vw);
  }
  .welfare .welfare-section-box .topics-wrap .note {
    font-size: min(14px, 2.486678508vw);
    margin-top: min(15px, 2.6642984014vw);
  }
  .welfare .welfare-section-box .box-img-list.max-2 li {
    width: 100%;
  }
  .welfare .welfare-section-box .box-img-list.max-2 li + li {
    margin-top: min(30px, 5.3285968028vw);
  }
  .welfare .welfare-section-box .box-img-list.max-3 li {
    width: 100%;
  }
  .welfare .welfare-section-box .box-img-list.max-3 li + li {
    margin-top: min(30px, 5.3285968028vw);
  }
  .welfare .welfare-section-box .box-img-list.max-3 .title {
    font-size: min(22px, 3.9076376554vw);
  }
  .welfare .welfare-section-box .box-img-list.max-3 .text {
    font-size: min(18px, 3.1971580817vw);
  }
  .welfare .welfare-section-box .box-img-list .text-area {
    margin-top: min(20px, 3.5523978686vw);
  }
  .welfare .welfare-section-box .box-img-list .title {
    font-size: min(18px, 3.1971580817vw);
  }
  .welfare .welfare-section-box .box-img-list .text {
    font-size: min(16px, 2.8419182948vw);
    margin-left: min(20px, 3.5523978686vw);
  }
  .welfare .welfare-section-box .box-list li {
    width: 100%;
  }
  .welfare .welfare-section-box .box-list li + li {
    margin-left: 0;
    margin-top: min(25px, 4.4404973357vw);
  }
  .welfare .welfare-section-box .box-list .title {
    font-size: min(18px, 3.1971580817vw);
    padding: min(20px, 3.5523978686vw) min(15px, 2.6642984014vw);
  }
  .welfare .welfare-section-box .box-list .text {
    font-size: min(16px, 2.8419182948vw);
    margin-top: min(20px, 3.5523978686vw);
  }
  .welfare .welfare-section-box .bg-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: min(60px, 10.6571936057vw);
  }
  .welfare .welfare-section-box .bg-box::before {
    height: calc(100% - 30px);
    top: inherit;
    bottom: 0;
    width: 100%;
  }
  .welfare .welfare-section-box .bg-box .img {
    width: 100%;
  }
  .welfare .welfare-section-box .bg-box .text-area {
    margin-left: 0;
    padding: min(20px, 3.5523978686vw);
    width: 100%;
  }
  .welfare .welfare-section-box .bg-box .text-area .title .en {
    font-size: min(20px, 3.5523978686vw);
  }
  .welfare .welfare-section-box .bg-box .text-area .title .inn {
    font-size: min(18px, 3.1971580817vw);
    margin-top: min(5px, 0.8880994671vw);
  }
  .welfare .welfare-section-box .bg-box .text-area .text {
    font-size: min(16px, 2.8419182948vw);
    margin-top: min(15px, 2.6642984014vw);
  }
  .welfare .c-another-contents .inner-block {
    padding-top: min(80px, 14.2095914742vw);
    padding-bottom: min(47px, 8.3481349911vw);
  }
  .business .c-mv-img .c-breadcrumbs:not(.top) {
    background: rgba(0, 0, 0, 0.6);
  }
  .business .c-mv-img .mv-title .main {
    font-size: min(20px, 3.5523978686vw);
  }
  .business .c-mv-img .mv-title .sub {
    font-size: min(12px, 2.1314387211vw);
  }
  .business .newgraduate-section-about .inner-block {
    padding: min(23px, 4.0852575488vw) min(25px, 4.4404973357vw) min(90px, 15.9857904085vw);
  }
  .business .newgraduate-section-about .flow-ttl {
    font-size: min(17.5px, 3.108348135vw);
  }
  .business .newgraduate-section-about .flow-img-area {
    margin-top: min(43px, 7.6376554174vw);
  }
  .business .newgraduate-section-box {
    padding: min(94px, 16.6962699822vw) 0 min(40px, 7.1047957371vw);
  }
  .business .flow-block {
    padding-bottom: 120px;
  }
  .business .flow-block .work-img-area {
    padding-right: min(25px, 4.4404973357vw);
  }
  .business .flow-block .work-img-area .work-ttl-area {
    height: min(41px, 7.2824156306vw);
  }
  .business .flow-block .work-img-area .work-ttl {
    font-size: min(17.5px, 3.108348135vw);
    padding: min(7px, 1.243339254vw) min(20px, 3.5523978686vw) min(6px, 1.0657193606vw);
    max-width: 83vw;
  }
  .business .flow-block .work-txt-area {
    margin-top: min(37px, 6.5719360568vw);
  }
  .business .flow-block .work-txt-area .work-sub-ttl {
    font-size: min(17.5px, 3.108348135vw);
    padding-right: min(115px, 20.4262877442vw);
  }
  .business .flow-block .work-txt-area .work-txt {
    font-size: min(15px, 2.6642984014vw);
    margin-top: min(20px, 3.5523978686vw);
    padding-right: min(115px, 20.4262877442vw);
  }
  .business .flow-block .employee-link-area::before {
    height: 100%;
    top: min(40px, 7.1047957371vw);
  }
  .business .flow-block .employee-link-area .inner-block {
    padding-top: min(80px, 14.2095914742vw);
  }
  .business .work-flow-area {
    width: min(110px, 19.5381882771vw);
    bottom: 120px;
    top: min(415px, 73.7122557726vw);
  }
  .business .work-flow-area .flow-list {
    top: calc(55% - min(415px, 73.7122557726vw) / 2);
  }
  .business .work-flow-area .flow-item a {
    padding: min(20px, 3.5523978686vw) min(10px, 1.7761989343vw) min(4px, 0.7104795737vw);
  }
  .business .work-flow-area .flow-item a::after {
    border-top: 10px solid #1a1a1a;
    border-right: min(55px, 9.7690941385vw) solid transparent;
    border-left: min(55px, 9.7690941385vw) solid transparent;
    height: 10px;
    width: min(110px, 19.5381882771vw);
    bottom: -10px;
  }
  .business .work-flow-area .flow-item.current a::after {
    border-top: min(10px, 1.7761989343vw) solid #4d4d4d;
  }
  .business .work-flow-area .flow-item .flow-icon {
    width: min(73px, 12.9662522202vw);
    height: min(50px, 8.8809946714vw);
  }
  .business .work-flow-area .flow-item .flow-txt {
    font-size: min(10px, 1.7761989343vw);
    margin-top: min(6px, 1.0657193606vw);
  }
  .business .work-flow-area .flow-item:nth-child(2) .flow-icon {
    height: min(39px, 6.9271758437vw);
  }
  .business .work-flow-area .flow-item:nth-child(3) .flow-icon {
    height: min(42px, 7.460035524vw);
  }
  .business .work-flow-area .flow-item:nth-child(4) .flow-icon {
    height: min(65px, 11.5452930728vw);
  }
  .business .work-flow-area.is-in-bottom {
    bottom: 100px;
  }
  .business.newgraduate .employee-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 20px 10px;
  }
  .business.newgraduate .employee-item {
    padding-right: 0;
    width: calc((100% - 10px) / 2);
  }
  .business.newgraduate .employee-item + .employee-item {
    margin-top: 0;
  }
  .business.newgraduate .employee-item .img-area .comment {
    left: min(20px, 3.5523978686vw);
    bottom: min(20px, 3.5523978686vw);
  }
  .business.newgraduate .employee-item .img-area .comment span {
    font-size: min(14px, 2.486678508vw);
  }
  .employee-item {
    padding-right: min(115px, 20.4262877442vw);
  }
  .employee-item + .employee-item {
    margin-top: min(50px, 8.8809946714vw);
  }
  .employee-item .img-area .comment {
    left: min(20px, 3.5523978686vw);
    bottom: min(40px, 7.1047957371vw);
    padding-right: min(20px, 3.5523978686vw);
  }
  .employee-item .img-area .comment span {
    font-size: min(17.5px, 3.108348135vw);
    padding: min(3px, 3.108348135vw) min(12px, 2.1314387211vw);
  }
  .employee-item .img-area .comment span:nth-child(n+2) {
    margin-top: min(10px, 1.7761989343vw);
  }
  .employee-item .txt-area {
    margin-top: min(20px, 3.5523978686vw);
  }
  .employee-item .txt-area .name {
    font-size: min(17.5px, 3.108348135vw);
  }
  .employee-item .txt-area .position {
    font-size: min(15px, 2.6642984014vw);
    margin-top: min(10px, 1.7761989343vw);
  }
  .employee-item.item-career .img-area::after {
    font-size: min(12px, 2.1314387211vw);
    height: min(30px, 5.3285968028vw);
    min-width: min(96px, 17.0515097691vw);
    padding: min(6px, 1.0657193606vw) min(10px, 1.7761989343vw);
  }
  .interview-detail {
    padding-top: min(75px, 13.3214920071vw);
  }
  .interview-detail .newgraduate-under-mv .ttl {
    font-size: min(20px, 4.2628774423vw);
    margin-top: 15px;
  }
  .interview-detail .newgraduate-under-mv .ttl.careers {
    width: 100%;
  }
  .interview-detail .newgraduate-under-mv .ttl.careers .anm-txt_msk {
    display: block;
    margin-left: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 15px;
  }
  .interview-detail .about-block .img-area {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    overflow: hidden;
  }
  .interview-detail .about-block .sub-img {
    position: absolute;
    top: 0;
    z-index: 0;
    width: 100%;
  }
  .interview-detail .about-block .sub-img.is_fixed {
    position: fixed;
  }
  .interview-detail .about-block .pearson-img {
    margin-top: 100%;
  }
  .interview-detail .about-block .box {
    top: -40%;
    bottom: 0;
    margin: auto 0;
    left: auto;
    right: 15px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
  .interview-detail .about-block .box.position-right {
    left: 15px;
    right: auto;
  }
  .interview-detail .about-block .box.position-left {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    right: 10px;
    left: auto;
  }
  .interview-detail .about-block .box.position-left .txt-area {
    width: calc((100% - 15px) / 2);
  }
  .interview-detail .about-block .txt-area {
    padding: 5.3333333333vw 25px 35px 30px;
  }
  .interview-detail .about-block .txt-area + .txt-area {
    margin-left: 15px;
  }
  .interview-detail .about-block .txt-area:after {
    background-color: rgba(128, 150, 163, 0.8);
  }
  .interview-detail .about-block .top-txt {
    font-size: min(22px, 3.9076376554vw);
  }
  .interview-detail .about-block .department {
    font-size: min(14px, 2.486678508vw);
    margin-top: 20px;
  }
  .interview-detail .about-block .name {
    font-size: min(18px, 3.1971580817vw);
  }
  .interview-detail .about-block .note {
    bottom: -30px;
    right: 15px;
  }
  .interview-detail .interview-block {
    position: relative;
    z-index: 2;
  }
  .interview-detail .interview-block .inner-block {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .interview-detail .interview-block .title {
    font-size: 18px;
    margin-bottom: 50px;
  }
  .interview-detail .interview-block .ttl {
    font-size: min(20px, 3.5523978686vw);
  }
  .interview-detail .interview-block .ttl .inn.full {
    padding-right: 10px;
  }
  .interview-detail .interview-block .ttl .inn.full-2 {
    padding-left: 30px !important;
    padding-right: 0;
  }
  .interview-detail .interview-block .ttl .inn {
    width: calc(100% - 60px);
    padding-right: 35px;
  }
  .interview-detail .interview-block .txt-area {
    width: calc(100% - 60px);
    padding-right: 35px;
    margin-top: 28px;
  }
  .interview-detail .interview-block .txt-area .box .txt {
    font-size: min(12px, 2.486678508vw);
    letter-spacing: 0.29em;
    line-height: 1.95;
    margin-left: 15px;
  }
  .interview-detail .interview-block .txt {
    font-size: min(14px, 2.486678508vw);
    line-height: 1.95;
  }
  .interview-detail .interview-block .txt + .txt {
    margin-top: 20px;
  }
  .interview-detail .interview-block .img {
    margin-top: -35px;
  }
  .interview-detail .interview-block .img.mt-10 {
    margin-top: -10px;
  }
  .interview-detail .interview-block .img img {
    width: 87.0337477798vw;
  }
  .interview-detail .interview-block .box + .box {
    margin-top: 90px;
  }
  .interview-detail .interview-block .name {
    font-size: min(10px, 1.7761989343vw);
    letter-spacing: 0.21em;
  }
  .interview-detail .interview-block .ico-area {
    max-width: 30px;
  }
  .interview-detail .introduction-block .inner-block {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .interview-detail .introduction-block .ttl {
    font-size: min(20px, 3.5523978686vw);
  }
  .interview-detail .introduction-block .list {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    grid-gap: 30px 15px;
    margin-top: 30px;
  }
  .interview-detail .introduction-block .list .txt {
    font-size: min(16px, 2.486678508vw);
  }
  .interview-detail .introduction-block .list .tag {
    font-size: min(12px, 2.1314387211vw);
    height: min(30px, 5.3285968028vw);
    padding: min(6px, 1.0657193606vw) min(10px, 1.7761989343vw);
  }
  .claim-block .inner-block {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .claim-block .ttl {
    width: min(150px, 26.6429840142vw);
  }
  .claim-block .ttl-sub {
    font-size: min(14px, 2.486678508vw);
  }
  .claim-block .c-img-frame {
    width: calc(100% - 54px);
    margin-top: 10px;
  }
  .claim-block .txt {
    font-size: min(13px, 2.8419182948vw);
  }
  .talksession .newgraduate-section-box .inner-block {
    padding-top: min(74px, 13.1438721137vw);
    padding-bottom: min(84px, 14.920071048vw);
  }
  .talksession .link-single-box .txt-wrap {
    bottom: 0;
    left: 0;
    right: 0;
    padding: min(28px, 4.973357016vw) min(50px, 8.8809946714vw) min(23px, 4.0852575488vw) min(25px, 4.4404973357vw);
  }
  .talksession .link-single-box .txt-wrap::before {
    background: #fff;
    content: "";
    height: 1px;
    width: min(17px, 3.0195381883vw);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: min(37px, 6.5719360568vw);
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .talksession .link-single-box .ttl {
    font-size: min(20px, 3.5523978686vw);
  }
  .talksession .link-single-box .theme {
    margin-top: 5px;
    font-size: min(11px, 1.9538188277vw);
  }
  .talksession .link-ttl {
    font-size: 15px;
    margin-bottom: 40px;
  }
  .project-detail .kv-block {
    padding-top: min(75px, 13.3214920071vw);
    height: calc(min(75px, 13.3214920071vw) + var(--kvh) + 105.1509769094vw);
  }
  .project-detail .kv-block .ttl-item {
    top: min(75px, 13.3214920071vw);
  }
  .project-detail .kv-block .inner-block {
    padding-top: 42px;
    padding-bottom: 20px;
  }
  .project-detail .kv-block .main-contents {
    --img-space: 105.1509769094vw;
  }
  .project-detail .kv-block .ttl {
    font-size: min(20px, 3.5523978686vw);
  }
  .project-detail .kv-block .ttl-sub {
    font-size: min(14px, 1.9538188277vw);
  }
  .project-detail .kv-block .ttl-area {
    padding-left: 20px;
  }
  .project-detail .introduction-block .inner-block {
    padding-top: 60px;
    padding-bottom: 60px;
    padding: 60px 40px;
  }
  .project-detail .introduction-block .sup-txt {
    font-size: min(12px, 1.9538188277vw);
  }
  .project-detail .introduction-block .main-txt {
    font-size: min(13px, 2.8419182948vw);
  }
  .project-detail .introduction-block .list {
    grid-gap: 22px;
    margin-top: 35px;
  }
  .project-detail .introduction-block .annotation {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
  }
  .project-detail .introduction-block .belong,
  .project-detail .introduction-block .undergraduate {
    font-size: min(12px, 1.7761989343vw);
  }
  .project-detail .introduction-block .belong {
    margin-top: 18px;
  }
  .project-detail .introduction-block .name {
    font-size: min(13px, 2.8419182948vw);
  }
  .project-detail .talk-block .inner-block {
    padding-bottom: 60px;
  }
  .project-detail .talk-block .inner-block.max-1200 {
    padding-bottom: 80px;
  }
  .project-detail .talk-block .talk-area {
    grid-template-columns: 1fr;
    margin-top: 45px;
  }
  .project-detail .talk-block .ttl-area {
    width: calc(100% - 70px);
    margin-top: min(-45px, -12vw);
  }
  .project-detail .talk-block .ttl-area.has-detail {
    margin-top: min(-85px, -17.7619893428vw);
  }
  .project-detail .talk-block .ttl-area.has-detail .ttl {
    padding: 15px 40px;
    text-align: left;
  }
  .project-detail .talk-block .ttl-area.has-detail .ttl-detail {
    font-size: min(12px, 2.486678508vw);
    padding: 24px 40px;
  }
  .project-detail .talk-block .ttl-sub {
    font-size: min(11px, 2.486678508vw);
    max-width: 140px;
    padding: 6px 15px;
  }
  .project-detail .talk-block .ttl {
    font-size: min(20px, 3.5523978686vw);
    padding: 20px 10px 20px 42px;
  }
  .project-detail .talk-block .talk-area .img-items {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .project-detail .talk-block .talk-area .img + .img {
    margin-top: 22px;
  }
  .project-detail .talk-block .talk-area .img-box {
    padding-right: 75px;
  }
  .project-detail .talk-block .talk-area .img-box:first-of-type {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 2;
    margin: 55px 0;
  }
  .project-detail .talk-block .talk-area .img-box + .img-box {
    margin-top: 55px;
  }
  .project-detail .talk-block .talk-area .img-box + .img-box.mt-780 {
    margin-bottom: 55px;
  }
  .project-detail .talk-block .talk-box {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .project-detail .talk-block .name.no-line {
    margin-left: -5px;
  }
  .project-detail .talk-block .name {
    font-size: min(10px, 1.7761989343vw);
    letter-spacing: 0.21em;
  }
  .project-detail .talk-block .ico-area {
    max-width: 30px;
  }
  .project-detail .talk-block .txt {
    font-size: min(12px, 2.486678508vw);
    letter-spacing: 0.29em;
    line-height: 1.95;
    margin-left: 15px;
  }
  .project-detail .talk-block .talk-items:first-of-type {
    position: relative;
  }
  .project-detail .talk-block .talk-items + .talk-items {
    padding-top: calc(122% - 75px + 22px + 110px);
  }
  .project-detail .talk-block .talk-items {
    width: calc(100% - 70px);
    margin-left: auto;
  }
  .project-detail .talk-block .talk-items.full {
    width: 100%;
  }
  .project-detail .talk-block .talk-items.full .txt {
    margin-left: 25px;
  }
  .project-detail .talk-block .talk-area {
    position: relative;
  }
  .project-detail .talk-block.reverse .talk-area {
    position: relative;
  }
  .project-detail .talk-block.reverse .talk-area .img-box {
    padding-left: 75px;
    padding-right: 0;
  }
  .project-detail .talk-block.reverse .talk-items {
    margin-left: 0;
  }
  .project-detail .talk-block.reverse .saying-area .img-items {
    margin-left: -61.9893428064vw;
  }
  .project-detail .talk-block.reverse .saying-area .txt-box {
    padding: 28px 35px 0 0;
  }
  .project-detail .talk-block.reverse .saying-area.sp-img-bottom .txt-box {
    padding: 28px 35px 28px 0;
  }
  .project-detail .talk-block .saying-area {
    margin-top: 40px;
  }
  .project-detail .talk-block .saying-area .img-items {
    width: 76.5541740675vw;
    margin-right: -61.9893428064vw;
  }
  .project-detail .talk-block .saying-area .img-items img:not(.w-auto) {
    height: 58.4369449378vw;
  }
  .project-detail .talk-block .saying-area .img + .img {
    margin-top: 15px;
  }
  .project-detail .talk-block .saying-area .txt-box {
    width: 90%;
    background-color: rgba(128, 150, 163, 0.9);
    margin-top: 50.621669627vw;
    padding: 28px 0 0 35px;
  }
  .project-detail .talk-block .saying-area .txt {
    margin-left: 0;
    font-size: min(12px, 2.486678508vw);
  }
  .project-detail .talk-block .saying-area .txt + .txt {
    margin-top: 22px;
  }
  .project-detail .talk-block .saying-area .box-ttl {
    margin-left: 45px;
    font-size: min(13px, 2.3090586146vw);
    letter-spacing: 0.2em;
    margin-bottom: 30px;
    padding-bottom: 20px;
  }
  .project-detail .talk-block .saying-area .box-ttl.full {
    margin-left: 0;
  }
  .project-detail .talk-block .saying-area .box-ttl:not(:first-child) {
    margin-top: 40px;
  }
  .project-detail .talk-block .saying-area.sp-img-bottom {
    padding-bottom: 40vw;
  }
  .project-detail .talk-block .saying-area.sp-img-bottom .txt-box {
    padding: 28px 35px 28px 0;
  }
  .project-detail .talk-block .saying-area.sp-img-bottom .txt-box.sp-pl-35 {
    padding-left: 35px;
    padding-right: 0;
  }
  .project-detail .talk-block.pattern-02 .ttl-area {
    margin-left: calc(50% - 50vw + 60px);
    width: calc(100% - 40px);
  }
  .project-detail .talk-block.pattern-02 .ttl {
    padding-left: 35px;
  }
  .project-detail .talk-block.pattern-02.reverse .ttl-area {
    margin-right: calc(50% - 50vw + 60px);
  }
  .project-detail .talk-block.pattern-02.reverse .talk-area:not(.reverse) .img-box {
    padding-left: 0;
    padding-right: 75px;
  }
  .project-detail .talk-block.pattern-02 .talk-area.reverse {
    margin-top: 0;
  }
  .project-detail .talk-block.pattern-02 .talk-area.reverse + .talk-area {
    margin-top: 0;
  }
  .project-detail .talk-block.pattern-02 .talk-area.reverse .img-items .img-box {
    margin-left: 0;
    padding: 0 0 0 75px;
    margin-right: -20px;
  }
  .project-detail .talk-block.pattern-02 .talk-area.reverse .talk-box {
    margin-right: 0;
    padding-left: 0;
    width: 100%;
  }
  .project-detail .talk-block.pattern-02 .talk-area.reverse .box {
    padding-right: 67px;
  }
  .project-detail .talk-block.pattern-02 .talk-area.reverse .box-ttl {
    margin-left: 0;
    margin-right: 70px;
  }
  .project-detail .talk-block.pattern-02 .talk-box {
    margin-left: auto;
  }
  .project-detail .talk-block.pattern-02 .box {
    padding-left: 55px;
  }
  .project-detail .talk-block.pattern-02 .box-ttl {
    letter-spacing: 0.41em;
    font-size: min(14px, 3.1971580817vw);
    padding-bottom: 15px;
    margin-bottom: 30px;
    margin-left: 70px;
    margin-top: 30px;
  }
  .project-detail .talk-block.pattern-02 .talk-items {
    width: 100%;
  }
  .project-detail .talk-block.pattern-02 .talk-items + .talk-items {
    padding-top: 0;
  }
  .project-detail .talk-block.pattern-02 .talk-items.img-position {
    padding-top: calc(122% + 60px);
  }
  .project-detail .talk-block.pattern-02 .talk-items.img-position.single {
    padding-top: calc(61% + 70px);
  }
  .project-detail .talk-block.pattern-02 .talk-items.img-position.single.sp-top-100 {
    padding-top: calc(95% + 70px);
  }
  .project-detail .talk-block.pattern-02 .img-items .img-box {
    margin-left: -20px;
  }
  .project-detail .talk-block.pattern-02 .img-items .img-box.top-0 {
    top: 0 !important;
  }
  .project-detail .talk-block.pattern-02 .img.w-auto.l-78 {
    padding-top: 100%;
  }
  .project-detail .talk-block.pattern-02 .img.w-auto.l-78 img {
    width: inherit;
  }
  .project-detail .talk-block.pattern-02 .ico-area {
    width: 4em;
    max-width: none;
  }
  .project-detail .talk-block.pattern-02 .name {
    font-size: min(14px, 1.9538188277vw);
  }
  .project-detail .movie-block .inner-block {
    padding-top: 95px;
    padding-bottom: 60px;
  }
  .project-detail .movie-block .ttl {
    font-size: min(60px, 8.8809946714vw);
  }
  .project-detail .c-another-contents .link-box.js-index-list .box {
    margin-left: 0;
  }
  .project-detail.anesaki .kv-block .img-area img {
    -o-object-position: right 25% top 0;
       object-position: right 25% top 0;
  }
  .project-detail.anesaki .claim-block .c-img-frame img.center {
    -o-object-position: bottom -7px left 23px;
       object-position: bottom -7px left 23px;
  }
  .project-detail.anesaki .claim-block .c-img-frame img {
    -o-object-position: bottom 0 left -20px;
       object-position: bottom 0 left -20px;
  }
  .project-detail-04.project-detail .talk-block .saying-area.sp-img-bottom {
    padding-bottom: 50vw;
  }
  .project-detail-04.project-detail .talk-block .saying-area.sp-img-bottom .img-box {
    height: calc(100% + 55vw);
  }
  .project .c-index-list .text .sub {
    bottom: min(15px, 2.6642984014vw);
    left: min(25px, 4.4404973357vw);
  }
  .company-movie .newgraduate-under-mv .inner-block {
    padding-bottom: min(67px, 11.9005328597vw);
  }
  .company-movie .movie-block .c-skew-list li {
    width: 77%;
  }
  .company-movie .movie-block .c-skew-list li + li {
    margin-top: -1.3333333333vw;
  }
  .company-movie .movie-block .c-skew-list .icon {
    bottom: 10.6666666667vw;
  }
  .company-movie .movie-block .c-skew-list .txt-area {
    margin-top: 13.3333333333vw;
  }
  .company-movie .movie-block .c-skew-list .belong {
    font-size: min(13px, 2.3090586146vw);
  }
  .company-movie .movie-block .c-skew-list .name {
    font-size: min(17px, 3.0195381883vw);
  }
  .company-movie .movie-block .ttl {
    max-width: 504px;
    margin-right: 0;
  }
  .company-movie .movie-block .annotation {
    font-size: 8px;
    margin-top: 50px;
  }
  .company-movie .movie-block .title-box .inner-block {
    padding-top: min(62px, 11.0124333925vw);
    padding-bottom: min(110px, 19.5381882771vw);
  }
  .company-movie .movie-block .title-box .title {
    font-size: min(22px, 3.9076376554vw);
  }
  .company-movie .movie-block .title-box .c-btn03 {
    max-width: 232px;
  }
  .company-movie .movie-block .title-box .c-btn03 a .inn {
    font-size: min(10px, 1.7761989343vw);
  }
  .talksession-detail .kv-block {
    height: 112.7886323268vw;
  }
  .talksession-detail .kv-block .img-box {
    height: 112.7886323268vw;
  }
  .talksession-detail .kv-block .img-area {
    padding-top: 112.7886323268vw;
  }
  .talksession-detail .introduction-block .profile-area .inner-block {
    padding-right: 20px;
    padding-left: 20px;
  }
  .talksession-detail .introduction-block .profile-area .list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 30px;
  }
  .talksession-detail .introduction-block .contents-area .inner-block {
    padding-top: 50px;
  }
  .talksession-detail .talk-block .talk-items .txt,
  .talksession-detail .talk-block .talk-items .name {
    font-size: min(12px, 2.486678508vw);
  }
  .talksession-detail .mirai-kv-block {
    padding-top: min(75px, 13.3214920071vw);
  }
  .talksession-detail .mirai-kv-block .c-breadcrumbs:not(.top) {
    background: transparent;
  }
  .talksession-detail .mirai-kv-block .content {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 20px;
  }
  .talksession-detail .mirai-kv-block .content .img-box {
    padding-top: 60px;
    width: 68.5612788632%;
  }
  .talksession-detail .mirai-kv-block .content .txt-box {
    padding-top: 20px;
  }
  .talksession-detail .mirai-kv-block .main-ttl {
    font-size: min(21px, 3.730017762vw);
    margin-bottom: 30px;
    padding: min(20px, 3.5523978686vw) min(13px, 2.3090586146vw) 0;
  }
  .talksession-detail .mirai-kv-block .main-ttl::before, .talksession-detail .mirai-kv-block .main-ttl::after {
    width: min(13px, 2.3090586146vw);
    height: min(13px, 2.3090586146vw);
  }
  .talksession-detail .mirai-kv-block .txt {
    font-size: min(14px, 1.9538188277vw);
    padding-top: 20px;
  }
  .talksession-detail .mirai-introduction-block .inner-block {
    margin-top: -20px;
    padding-bottom: 70px;
  }
  .talksession-detail .mirai-introduction-block .ttl.mx-400 {
    padding-right: 20px;
  }
  .talksession-detail .mirai-introduction-block .ttl {
    margin-bottom: 20px;
    padding-right: 30px;
  }
  .talksession-detail .mirai-introduction-block .ttl img {
    height: min(20px, 3.5523978686vw);
  }
  .talksession-detail .mirai-introduction-block .ttl img.h-100 {
    height: min(50px, 8.8809946714vw);
  }
  .talksession-detail .mirai-introduction-block .profile-list {
    gap: 30px;
  }
  .talksession-detail .mirai-introduction-block .profile-list .belong {
    font-size: min(14px, 1.9538188277vw);
    margin-bottom: 5px;
  }
  .talksession-detail .mirai-introduction-block .profile-list .name {
    font-size: min(14px, 1.9538188277vw);
    margin-bottom: min(20px, 3.5523978686vw);
  }
  .talksession-detail .mirai-introduction-block .profile-list .summary {
    font-size: min(14px, 1.9538188277vw);
    padding: min(30px, 5.3285968028vw) 0;
  }
  .talksession-detail .mirai-introduction-block .profile-list .annotation {
    font-size: 8px;
  }
  .talksession-detail.career .mirai-kv-block .main-ttl {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 20px;
  }
  .talksession-detail.career .mirai-kv-block .main-ttl .main-wrap {
    font-size: min(21px, 3.730017762vw);
    margin-bottom: 30px;
    padding: min(20px, 3.5523978686vw) min(13px, 2.3090586146vw) 0;
  }
  .talksession-detail.career .mirai-kv-block .main-ttl .main-wrap::before, .talksession-detail.career .mirai-kv-block .main-ttl .main-wrap::after {
    width: min(13px, 2.3090586146vw);
    height: min(13px, 2.3090586146vw);
  }
  .talksession-detail.career .mirai-kv-block .main-ttl .sub-wrap .en {
    font-size: 12px;
  }
  .talksession-detail.career .mirai-kv-block .main-ttl .sub-wrap .ja {
    font-size: min(12px, 2.1314387211vw);
  }
  .talksession-detail.career .mirai-kv-block .content .img-box {
    padding-top: min(170px, 30.1953818828vw);
  }
  .talk-block.mirai-pattern-01 .inner-block .talk-box {
    width: 80%;
  }
  .talk-block.mirai-pattern-01 .inner-block .talk-items {
    margin-right: auto;
    margin-left: 0;
    width: 100%;
  }
  .talk-block .mirai-visual-area {
    padding: 80px 20px 200px 40px;
    position: relative;
  }
  .talk-block .mirai-visual-area .agenda-box {
    position: absolute;
    top: calc(100% - 200px);
    right: 20px;
  }
  .talk-block .mirai-visual-area .agenda .head {
    font-size: 10px;
    margin-bottom: 20px;
    width: 60px;
    height: 60px;
  }
  .talk-block .mirai-visual-area .agenda .head .num {
    font-size: 18px;
  }
  .talk-block .mirai-visual-area .agenda .main {
    font-size: min(20px, 3.5523978686vw);
  }
  .talk-block .mirai-box-ttl {
    margin-left: 45px;
    font-size: min(13px, 2.3090586146vw);
    letter-spacing: 0.2em;
    margin-bottom: 30px;
    padding-bottom: 20px;
  }
  .talk-block .mirai-box-ttl:not(:first-child) {
    margin-top: 40px;
  }
  .claim-block.mirai-pattern-01 .txt-wrap {
    gap: 20px;
    margin-top: 60px;
  }
  .claim-block.mirai-pattern-01 .message {
    font-size: min(14px, 2.486678508vw);
    margin-bottom: 15px;
  }
  .claim-block.mirai-pattern-01 .name {
    font-size: min(13px, 2.3090586146vw);
  }
  .mirai-visual-slider .dots-box {
    right: 30%;
    bottom: -10%;
  }
  .mirai-visual-slider .dots-box li {
    margin-left: 6px;
  }
  .mirai-visual-slider .dots-box button {
    width: 4px;
    height: 4px;
  }
  .mirai-visual-slider .dots-box .slick-active button {
    width: 8px;
    height: 8px;
  }
  .message .tab-ul {
    margin-bottom: 56px;
  }
  .message .tab-ul li {
    width: calc((100% - 15px) / 2);
  }
  .message .tab-ul li + li {
    margin-left: 15px;
  }
  .message .tab-ul .text {
    top: 8.8809946714vw;
    right: 2.6642984014vw;
  }
  .message .tab-ul .info {
    font-size: 1.9538188277vw;
  }
  .message .tab-ul .name {
    font-size: 2.3090586146vw;
    margin-top: 5px;
  }
  .message .tab-target-div + .tab-ul {
    margin-top: 56px;
  }
  .message .main-img .box {
    position: relative;
    left: 0;
    bottom: 0;
  }
  .message .main-img .txt-area {
    padding: 60px 25px 50px 30px;
  }
  .message .ttl-wrap {
    margin-top: 120px;
  }
  .message .ttl-wrap .info {
    font-size: 12px;
  }
  .message .ttl-wrap .name {
    font-size: 17px;
  }
  .message .wrap + .wrap {
    margin-top: 14.2095914742vw;
  }
  .message .wrap .txt-area {
    width: calc(100% - 60px);
    margin-right: auto;
    padding: 0;
    margin-top: 28px;
  }
  .message .wrap .txt-area .box .txt {
    font-size: min(12px, 2.486678508vw);
    letter-spacing: 0.29em;
    line-height: 1.95;
    margin-left: 15px;
  }
  .message .wrap .ttl {
    font-size: 25px;
    letter-spacing: 0.05em;
  }
  .message .wrap .txt {
    font-size: min(15px, 2.6642984014vw);
    line-height: 2;
  }
  .message .wrap .txt + .txt {
    margin-top: 20px;
  }
  .message .wrap .img {
    margin-top: 60px;
  }
  .message .wrap .img img {
    width: 87.0337477798vw;
  }
  .tag .c-breadcrumbs {
    padding-top: min(90px, 15.9857904085vw);
    padding-left: min(30px, 5.3285968028vw);
    padding-right: min(30px, 5.3285968028vw);
  }
  .tag .search-area .search-wrap .search {
    width: calc((100% - 16px) / 2);
  }
  .tag .search-area .search-wrap .search:nth-child(2n+2) {
    margin-left: 12px;
  }
  .tag .search-area .search-wrap .search:nth-child(n+3) {
    margin-top: 40px;
  }
  .tag .search-area .search-wrap .img .tag .inn {
    font-size: 10px;
    padding: 3px 12px 2px;
  }
  .tag .search-area .search-wrap .title {
    font-size: 10px;
    line-height: 1.7368;
    margin-top: 15px;
  }
  .tag .search-area .sp-tag-title {
    color: #fff;
    font-size: 17px;
    letter-spacing: 0.31em;
    margin-bottom: 30px;
  }
  .c-tag-area .inner-block {
    padding-top: 30px;
  }
  .c-tag-area .title {
    font-size: 25px;
    margin-bottom: 30px;
    letter-spacing: 0.18em;
  }
  .c-tag-area .tag-list-wrap {
    overflow: auto;
    margin: 0 -20px;
  }
  .c-tag-area .tag-list {
    padding: 0 20px;
    width: 1080px;
  }
  .c-tag-area .tag-list li {
    margin-right: 20px;
  }
  .c-tag-area .tag-list li a {
    font-size: 14px;
    padding: 7px 21px 6px;
  }
}

@media only screen and (min-width: 961px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
  .inner-block {
    padding: 0 30px;
    max-width: 1244px;
  }
  a,
  a::before,
  a::after,
  button,
  button::before,
  button::after {
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .sp {
    display: none !important;
  }
  .c-header {
    height: 115px;
  }
  .c-header.is-color {
    background: #fff;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .c-header.is-color .logo-area .logo::before {
    opacity: 1;
  }
  .c-header.is-color .logo-area img {
    opacity: 0;
  }
  .c-header.is-color .top-area .txt-wrap {
    color: #333333;
  }
  .c-header.is-color .hamburger-menu {
    color: #333333;
  }
  .c-header.is-color .tag-search_btn {
    border-color: #333;
  }
  .c-header.header-top {
    padding: 18px 23px 12px 58px;
  }
  .c-header .top-area {
    margin-bottom: 5px;
  }
  .c-header .top-area .logo-area {
    top: 10px;
    position: relative;
  }
  .c-header .hamburger-menu .link + .link {
    margin-left: 50px;
  }
  .c-header .hamburger-menu .link a:hover {
    opacity: 0.5;
  }
  .c-header.newgraduate .hamburger-menu .link + .link {
    margin-left: 44px;
  }
  .c-header.newgraduate .c-btn01.parent a:not(:hover), .c-header.c-header-career .c-btn01.parent a:not(:hover) {
    background-color: #808080;
  }
  .c-header.newgraduate .c-btn01.parent + .c-btn01:not(.parent), .c-header.c-header-career .c-btn01.parent + .c-btn01:not(.parent) {
    margin-left: 10px;
  }
  .c-header.c-header-career .hamburger-menu .link + .link {
    margin-left: 48px;
  }
  .tag-search_btn:hover {
    background: #fff;
    color: #333;
  }
  .c-tag_wrap .tag-list label:hover {
    background: #fff;
    border-color: #fff;
    color: #8096A3;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .c-tag_wrap .btn-wrap a:hover {
    background: #fff;
    color: #46545C;
  }
  .c-menu_btn:hover {
    background: #333;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .c-menu_btn:hover .line, .c-menu_btn:hover .line:nth-of-type(2)::after {
    background: #fff;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .c-menu_wrap .img-list a:hover {
    color: #8096A3;
  }
  .c-menu_wrap .img-list a:hover img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .c-menu_wrap .menu-link-list a:hover {
    color: #8096A3;
  }
  .c-menu_wrap .btn-wrap a:hover {
    background: #fff;
    color: #46545C;
  }
  .c-footer .nav-menu li > a:hover {
    opacity: 0.5;
  }
  .c-breadcrumbs .breadcrumbs-list {
    padding: 27px 0;
  }
  .c-breadcrumbs .breadcrumbs-list a:hover {
    opacity: 0.5;
  }
  .c-btn01 a:hover {
    background: #fff !important;
    color: #8096A3;
    border: 1px solid #000;
  }
  .c-btn02 a:hover {
    background: #fff;
    color: #8096A3;
    border: 1px solid #000;
  }
  .c-btn02 a:hover::before {
    border-color: #000;
  }
  .c-btn03 a:hover {
    background: #fff;
    border-color: #000;
    color: #8096A3;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .c-btn03 a:hover .inn::before {
    background: #8096A3;
    -webkit-transform: translateX(15px);
            transform: translateX(15px);
    width: 47px;
  }
  .c-mv-img.internship005 {
    height: 100vh;
  }
  .c-mv-img.internship2024-008 {
    padding-bottom: 30% !important;
  }
  .c-mv-img.internship2024-009 {
    background-position: bottom 30% center;
  }
  .c-mv-img.internship2025-01 {
    background-position: bottom 50% center;
  }
  .c-mv-img.people .c-breadcrumbs:not(.top)::before {
    background: transparent;
  }
  .c-box-title-list.max-2 li:nth-child(2n+2) {
    margin-left: 42px;
  }
  .c-box-title-list.max-3 li + li {
    margin-left: 35px;
  }
  .c-box-title-list.max-3 li:nth-child(3n+1) {
    margin-left: 0;
  }
  .c-box-title-list.max-3 li:nth-child(n+4) {
    margin-top: 120px;
  }
  .c-icon-list > li:not(:nth-child(3n+1)) {
    margin-left: 60px;
  }
  .c-icon-list > li:nth-child(n+4) {
    margin-top: 160px;
  }
  .c-icon-list .title.lt-1 {
    letter-spacing: -0.08em;
  }
  .c-icon-list .text.lt-1 {
    letter-spacing: -0.05em;
  }
  .c-icon-list.max-4 > li:not(:nth-child(4n+1)) {
    margin-left: 60px;
  }
  .c-icon-list.max-4 > li:nth-child(n+4) {
    margin-top: 0;
  }
  .c-txt-number-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .c-txt-number-list li {
    max-width: 424px;
    width: calc((100% - 40px) / 2);
  }
  .c-skew-list.ml-auto {
    margin-right: 0;
    margin-left: auto;
  }
  .c-skew-list.mr-auto {
    margin-left: 0;
    margin-right: auto;
  }
  .c-skew-list.grid-1 {
    grid-template-columns: 1fr;
    max-width: 410px;
  }
  .c-skew-list a:hover .c-img-frame::after {
    opacity: 1;
  }
  .c-table02 a:hover {
    opacity: 0.5;
    text-decoration: none;
  }
  .c-illust-link a:hover .link-box {
    background-position: 99% 50%;
  }
  .c-illust-link .link-img {
    width: 100%;
  }
  .c-index-list li {
    width: calc((100% - 36px) / 2);
  }
  .c-index-list li + li {
    margin-left: 0;
  }
  .c-index-list li:nth-child(2n+2) {
    margin-left: 36px;
  }
  .c-index-list li:nth-child(n+3) {
    margin-top: 40px;
  }
  .c-index-list a:hover::before {
    opacity: 0.4;
    pointer-events: auto;
  }
  .c-index-list a:hover .text::before {
    right: 30px;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    width: 36px;
  }
  .c-index-list .img img {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: min(500px, 35.7142857143vw);
  }
  .bnr-block .bnr:hover {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  .ng-section-top-mv .txt-wrap img {
    width: 600px;
  }
  .ng-section-top-banner {
    border-bottom: 1px solid #4D4D4D;
    padding-bottom: 100px;
  }
  .ng-section-top-banner02 a:hover {
    opacity: 0.7;
  }
  .banner-list a {
    display: block;
    position: relative;
  }
  .banner-list a::before {
    content: "";
    width: 32px;
    height: 1px;
    position: absolute;
    top: 13px;
    bottom: 0;
    margin: auto;
    right: 58px;
    background: #000;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    z-index: 10;
  }
  .banner-list a:hover source, .banner-list a:hover img {
    opacity: 0.5;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .banner-list a:hover::before {
    -webkit-transform: translateX(15px);
            transform: translateX(15px);
    width: 47px;
  }
  .link-list a:hover img {
    opacity: 0.5;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .mv-btn-wrap {
    bottom: 120px;
    right: 24px;
    -webkit-transform: skewY(-15deg);
            transform: skewY(-15deg);
    -webkit-animation: fuwafuwa 2s ease-in-out infinite alternate;
            animation: fuwafuwa 2s ease-in-out infinite alternate;
    -webkit-transition: 2s ease-in-out;
    transition: 2s ease-in-out;
  }
  .mv-btn-wrap a {
    max-height: 297px;
    min-width: 363px;
    height: 100%;
  }
  .mv-btn-wrap a::before {
    background: -webkit-gradient(linear, left top, right top, from(rgb(128, 150, 163)), to(rgba(0, 0, 0, 0.2)));
    background: linear-gradient(90deg, rgb(128, 150, 163) 0%, rgba(0, 0, 0, 0.2) 100%);
    border-radius: 30px;
    content: "";
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  .mv-btn-wrap a:hover {
    background: rgba(255, 255, 255, 0.7);
    color: #5e7e8e;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .mv-btn-wrap a:hover .en {
    -webkit-filter: invert(47%) sepia(31%) saturate(314%) hue-rotate(155deg) brightness(94%) contrast(99%);
            filter: invert(47%) sepia(31%) saturate(314%) hue-rotate(155deg) brightness(94%) contrast(99%);
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .mv-btn-wrap a:hover::before {
    opacity: 0;
  }
  .mv-btn-wrap .en {
    -webkit-transform: skewY(15deg);
            transform: skewY(15deg);
  }
  .mv-btn-wrap .ja {
    -webkit-transform: skewY(15deg);
            transform: skewY(15deg);
  }
  #pagetop > a:hover {
    opacity: 0.85;
  }
  .newgraduate .c-breadcrumbs.c-black::before, .career .c-breadcrumbs.c-black::before {
    background: rgba(0, 0, 0, 0.6);
  }
  .newgraduate .read-more-wrap .aco-body .ttl, .career .read-more-wrap .aco-body .ttl {
    padding-bottom: 238px;
  }
  .newgraduate .read-more-wrap .aco-btn .inn:hover, .career .read-more-wrap .aco-btn .inn:hover {
    background: #fff;
    color: #1A1A1A;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .newgraduate .ng-section-mission .text-wrap a:hover, .career .ng-section-mission .text-wrap a:hover {
    background: #fff;
    border-color: #000;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .newgraduate .ng-section-mission .text-wrap a:hover .title, .newgraduate .ng-section-mission .text-wrap a:hover .text, .career .ng-section-mission .text-wrap a:hover .title, .career .ng-section-mission .text-wrap a:hover .text {
    color: #8096A3;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .newgraduate .ng-section-know .wrap .txt-wrap, .career .ng-section-know .wrap .txt-wrap {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 440px;
        -ms-flex: 1 1 440px;
            flex: 1 1 440px;
  }
  .newgraduate .ng-section-staff .wrap .text-wrap, .career .ng-section-staff .wrap .text-wrap {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 440px;
        -ms-flex: 1 1 440px;
            flex: 1 1 440px;
  }
  .newgraduate .ng-section-talk .text-wrap .inner-block, .career .ng-section-talk .text-wrap .inner-block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .newgraduate .ng-section-talk .text-wrap .text, .career .ng-section-talk .text-wrap .text {
    min-width: 600px;
  }
  .newgraduate .ng-section-talk .link-item:hover .c-img-frame::after, .career .ng-section-talk .link-item:hover .c-img-frame::after {
    opacity: 1;
  }
  .newgraduate .ng-section-talk .link-item .txt-area, .career .ng-section-talk .link-item .txt-area {
    margin-top: -65px;
    white-space: nowrap;
  }
  .newgraduate .text-wrap, .career .text-wrap {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 440px;
        -ms-flex: 1 1 440px;
            flex: 1 1 440px;
  }
  main.career .ng-section-symposium02 .wrap {
    margin-right: calc(50% - 50vw);
  }
  main.career .ng-section-symposium02 .wrap:hover .txt-wrap {
    opacity: 0.5;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  main.career .ng-section-symposium02 .wrap:hover .img img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  main.career .ng-section-symposium02 .wrap .txt-wrap {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 617px;
        -ms-flex: 1 1 617px;
            flex: 1 1 617px;
  }
  main.career .ng-section-talk .link-item {
    -webkit-box-align: end;
    -webkit-align-items: end;
        -ms-flex-align: end;
            align-items: end;
  }
  main.career .ng-section-talk .link-item:nth-child(2n-1) .txt-area {
    padding-bottom: 100px;
  }
  main.career .ng-section-talk .link-item:nth-child(2n) .img-area {
    padding-bottom: 100px;
  }
  .ng-section-info .info-list a:hover {
    color: #8096A3;
  }
  .c-bg-box > .l-flex.center .wrap + .wrap {
    margin-left: 8px;
  }
  .c-bg-box > .l-flex .wrap:nth-child(1), .c-bg-box > .l-flex .wrap:nth-child(3) {
    max-width: 363px;
    width: calc((100% - 370px) / 2);
  }
  .c-bg-box > .l-flex .wrap:nth-child(1) {
    margin-bottom: 78px;
  }
  .c-bg-box > .l-flex .wrap:nth-child(2) {
    width: 330px;
  }
  .c-bg-box > .l-flex .wrap:nth-child(3) {
    margin-bottom: 60px;
  }
  .c-bg-box .ico-list li .ico.ico-01 {
    left: 15px;
    bottom: -37px;
  }
  .c-bg-box .ico-list li .ico.ico-02 {
    right: -12px;
    bottom: -25px;
  }
  .c-bg-box .ico-list li .ico.ico-03 {
    right: 14px;
    bottom: 20px;
  }
  .c-bg-box .ico-list li .ico.ico-04 {
    top: -65px;
    left: 30px;
  }
  .c-bg-box .ico-list li .ico.ico-05 {
    top: -5px;
    right: 12px;
  }
  .c-another-contents .link-box {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .c-another-contents .link-box.js-index-list .box {
    margin: 0 15px 30px !important;
  }
  .c-another-contents .link-box.js-index-list .box:not(:nth-child(3n+1)) {
    margin-left: 0;
  }
  .c-another-contents .link-box.js-index-list .box:nth-child(n+4) {
    margin-top: 0;
  }
  .c-another-contents .link-box .box:nth-child(n+4) {
    margin-top: 30px;
  }
  .c-another-contents .link-box .box:not(:nth-child(3n+1)) {
    margin-left: 30px;
  }
  .c-another-contents .link-box .box:hover .img img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  .c-another-contents .link-box .box:hover .text::before {
    -webkit-transform: translateX(15px);
            transform: translateX(15px);
    width: 47px;
  }
  .c-another-contents .text-link:hover {
    opacity: 0.5;
  }
  .c-img-banner .banner-img:hover::before {
    background: rgba(51, 51, 51, 0.5);
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  main.newgraduate.career .c-breadcrumbs:not(.top)::before {
    background: transparent;
  }
  main.newgraduate.career .newgraduate-section-box .inner-block {
    max-width: 1260px;
  }
  main.newgraduate.career .c-illust-link a:hover .link-box {
    background-position: 99% 50%;
  }
  main.newgraduate.career .c-illust-link a:hover .link-ttl .main::after {
    width: 40px;
    right: -8px;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .development .c-breadcrumbs:not(.top)::before {
    background: transparent;
  }
  .development .c-modal-btn-wrap .modal-btn:not(:nth-child(3n+1)) {
    margin-left: 56px;
  }
  .development .c-modal-btn-wrap .modal-btn:nth-child(3n+2) {
    top: -50px;
  }
  .development .c-modal-btn-wrap .modal-btn:nth-child(3n+2):hover {
    top: -60px;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .development .c-modal-btn-wrap .modal-btn:nth-child(n+4) {
    margin-top: 78px;
  }
  .development .c-modal-btn-wrap .modal-btn:hover {
    top: -10px;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .training .c-breadcrumbs:not(.top)::before {
    background: transparent;
  }
  .training .newgraduate-section-about .inner-block {
    padding-top: 252px;
  }
  .training .newgraduate-section-about .about-img {
    max-width: 1278px;
  }
  .training .c-modal-btn-wrap .modal-btn:hover {
    -webkit-transform: translateY(-10px) !important;
            transform: translateY(-10px) !important;
  }
  .company-all .c-mv-img .c-breadcrumbs:not(.top)::before {
    background: rgba(0, 0, 0, 0.6);
  }
  .info .newgraduate-section-box .inner-block {
    max-width: 1050px;
  }
  .data .list-flex.col2 {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .data .list-flex .list-item:hover {
    opacity: 0.5;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .internship .c-breadcrumbs:not(.top)::before {
    background: rgba(0, 0, 0, 0.6);
  }
  .internship .newgraduate-section-schedule .schedule-box a.box:hover {
    background: #fff;
  }
  .internship .newgraduate-section-schedule .schedule-box a.box:hover .top-wrap .text-wrap .day {
    color: #333333;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .internship .newgraduate-section-schedule .schedule-box a.box:hover .bottom-wrap .num {
    color: #333333;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .internship .newgraduate-section-schedule .schedule-box a.box:hover .bottom-wrap .title {
    color: #333333;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .internship .newgraduate-section-schedule .schedule-box a.box:hover .bottom-wrap .text {
    color: #333333;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .internship .newgraduate-section-schedule .schedule-box .box:nth-child(2n+2) {
    margin-left: 38px;
  }
  .internship .newgraduate-section-schedule .schedule-box .box:nth-child(n+3) {
    margin-top: 30px;
  }
  .newgraduate .date_detail-entrybtn-box a:hover {
    background: #fff;
    color: #000;
  }
  .internship-common .c-mv-img {
    padding-bottom: 300px;
  }
  .internship-common .c-mv-img .c-breadcrumbs:not(.top)::before {
    background: rgba(0, 0, 0, 0.6);
  }
  .internship-common .main_content_wrap .inner-block {
    max-width: 1060px;
  }
  .internship2024-01 #program03 .pick_box_txt {
    padding-left: 15px;
  }
  .requirement .c-mv-img {
    padding-bottom: 300px;
  }
  .requirement .c-mv-img .c-breadcrumbs:not(.top)::before {
    background: rgba(0, 0, 0, 0.6);
  }
  .requirement .requirement_link .icon-area {
    margin: auto;
  }
  .requirement .requirement_table.small th, .requirement .requirement_table.small td {
    font-size: 14px;
    padding: 5px 8px;
  }
  .workstyle .c-breadcrumbs:not(.top)::before {
    background: transparent;
  }
  .workstyle .newgraduate-section-box .inner-block {
    max-width: 1260px;
  }
  .workstyle .c-illust-link a:hover .link-box {
    background-position: 99% 50%;
  }
  .workstyle .c-illust-link a:hover .link-ttl .main::after {
    width: 40px;
    right: -8px;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .workstyle .c-illust-link.block01 .link-box {
    padding-right: 30px;
  }
  .diversity .c-breadcrumbs:not(.top)::before {
    background: transparent;
  }
  .diversity .newgraduate-section-about .about-img {
    max-width: 1271px;
  }
  .diversity .brackets-box .title {
    font-size: 32px;
  }
  .diversity .theme-block .c-box-title-list .en-img.lower-case {
    padding-bottom: 10px;
  }
  .ikukyu.careers .main-contents .ttl .anm-txt_msk {
    width: 50%;
  }
  .ikukyu .main-contents .ttl {
    width: 50%;
  }
  .ikukyu .main-contents .img-area.ratio-62 {
    padding-top: 62%;
  }
  .ikukyu .introduction-block .list.grid-3 {
    grid-template-columns: 1fr 1fr 1fr;
    max-width: none;
    grid-gap: 60px;
  }
  .ikukyu .introduction-block .annotation.grid-4 {
    margin: 30px 0 0;
  }
  .ikukyu .accordion-block .visual-area.ratio-48 {
    padding-top: 48%;
  }
  .ikukyu .accordion-block .talk-area {
    grid-gap: 70px;
    margin-left: -86px;
  }
  .ikukyu .accordion-block .talk-area .img-items {
    margin-top: 125px;
  }
  .ikukyu .accordion-block .talk-area .img-box + .img-box {
    margin-top: 245px;
  }
  .ikukyu .accordion-block .talk-items + .talk-items {
    margin-top: 22px;
  }
  .ikukyu .accordion-block .saying-area .img-items {
    position: absolute;
    top: 65px;
    left: 0;
  }
  .ikukyu .accordion-block .saying-area .txt-box {
    max-width: 716px;
    right: 64px;
  }
  .ikukyu .accordion-block.pattern-02 .visual-area:not(.max) {
    margin-left: auto;
    width: calc(100% - 250px);
  }
  .ikukyu .accordion-block.pattern-02.reverse .talk-area:not(.reverse) {
    margin-right: 0;
    margin-left: -86px;
  }
  .ikukyu .accordion-block.pattern-02 .talk-area + .talk-area {
    margin-top: 70px;
  }
  .ikukyu .accordion-block.pattern-02 .talk-area.reverse {
    margin-right: -86px;
    margin-left: 0;
  }
  .ikukyu .accordion-block.pattern-02 .talk-box {
    position: relative;
    z-index: 2;
  }
  .ikukyu .accordion-block.pattern-02 .box {
    padding-left: 25px;
  }
  .ikukyu .accordion-block.pattern-02 .box-ttl {
    margin-left: 105px;
  }
  .ikukyu .accordion-block.pattern-02 .img-items {
    margin-left: calc(100% - 50vw);
    margin-top: 250px;
  }
  .ikukyu .accordion-block.pattern-02 .img-items .img-box {
    margin-right: -140px;
  }
  .ikukyu .accordion-block.pattern-02 .img.w-auto {
    padding-top: 0;
    height: 100%;
  }
  .ikukyu .accordion-block.pattern-02 .img.w-auto img {
    width: auto;
    height: auto;
    bottom: auto;
    position: static;
  }
  .ikukyu .accordion-block .talk-wrap.receive .img-items {
    margin-left: -165px;
    margin-right: calc(50% - 50vw);
    left: inherit;
    right: 0;
  }
  .ikukyu .accordion-block .talk-wrap.receive .img-items .img + .img {
    text-align: right;
  }
  .ikukyu .accordion-block .talk-wrap.receive .txt-box {
    right: inherit;
    left: 64px;
    margin-left: inherit;
    margin-right: auto;
  }
  .ikukyu .accordion-block .talk-wrap .head:hover {
    opacity: 0.5;
  }
  .welfare .c-breadcrumbs:not(.top)::before {
    background: transparent;
    width: 100%;
  }
  .welfare .newgraduate-section-about .about-img {
    max-width: 1053px;
  }
  .welfare .anchor-section-box .box-list {
    max-width: 790px;
  }
  .welfare .anchor-section-box .box-list li {
    width: calc((100% - 38px) / 2);
  }
  .welfare .anchor-section-box .box-list li:nth-child(2n+2) {
    margin-left: 38px;
  }
  .welfare .anchor-section-box .box-list li:nth-child(n+3) {
    margin-top: 36px;
  }
  .welfare .anchor-section-box .box-list li a:hover .img img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  .welfare .welfare-section-box .box-wrap.ico .box:nth-child(1) {
    max-width: 861px;
  }
  .welfare .welfare-section-box .box-wrap.ico .box:nth-child(2) {
    max-width: 861px;
    padding-bottom: 67px;
    margin-left: 130px;
  }
  .welfare .welfare-section-box .box-wrap.ico .box:nth-child(2) .vertical-text {
    top: -90px;
  }
  .welfare .welfare-section-box .box-wrap.ico .box:nth-child(3) {
    max-width: 904px;
    padding-bottom: 63px;
    margin-left: auto;
  }
  .welfare .welfare-section-box .box-wrap.line .box:nth-child(2) {
    margin-left: 87px;
  }
  .welfare .welfare-section-box .box-wrap.line .box:nth-child(3) .vertical-text {
    top: -50px;
  }
  .welfare .welfare-section-box .box-wrap.line .vertical-text {
    top: 35px;
  }
  .welfare .welfare-section-box .box-wrap .ico-list.max-3 li {
    width: calc((100% - 80px) / 3);
  }
  .welfare .welfare-section-box .box-wrap .ico-list.max-3 li:not(:nth-child(3n+1)) {
    margin-left: 40px;
  }
  .welfare .welfare-section-box .box-wrap .ico-list.max-2 li {
    width: calc((100% - 40px) / 2);
  }
  .welfare .welfare-section-box .box-wrap .ico-list.max-2 li:not(:nth-child(2n+1)) {
    margin-left: 40px;
  }
  .welfare .welfare-section-box .box-wrap .ico-list.max-2 li:nth-child(n+3) {
    margin-top: 160px;
  }
  .welfare .welfare-section-box .box-img-list.max-2 li:nth-child(2n+2) {
    margin-left: 120px;
  }
  .welfare .welfare-section-box .box-img-list.max-2 li:nth-child(n+3) {
    margin-top: 85px;
  }
  .welfare .welfare-section-box .box-img-list.max-3 li:not(:nth-child(3n+1)) {
    margin-left: 40px;
  }
  .welfare .welfare-section-box .box-list li {
    width: calc((100% - 40px) / 2);
  }
  .welfare .welfare-section-box .box-list .title.pd-s {
    padding: 24px 20px 19px;
  }
  .business .c-mv-img .c-breadcrumbs:not(.top)::before {
    background: rgba(0, 0, 0, 0.6);
  }
  .business .c-mv-img .newgraduate-under-mv .inner-block {
    padding-top: 44px;
  }
  .business .newgraduate-section-about .inner-block {
    max-width: 1130px;
  }
  .business.newgraduate .employee-item {
    width: calc((100% - 90px) / 4);
  }
  .employee-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 50px;
  }
  .employee-item {
    width: calc((100% - 100px) / 3);
  }
  .employee-item a:hover {
    opacity: 0.5;
  }
  .interview-detail .newgraduate-under-mv .ttl {
    width: 50%;
  }
  .interview-detail .newgraduate-under-mv .ttl.careers {
    width: 100%;
  }
  .interview-detail .newgraduate-under-mv .ttl.careers .anm-txt_msk {
    width: 50%;
    margin-left: auto;
    display: block;
  }
  .interview-detail .c-breadcrumbs:not(.top)::before {
    background-color: #333;
  }
  .interview-detail .about-block .box.position-left {
    bottom: 60px;
  }
  .interview-detail .about-block .txt-area {
    min-width: 380px;
  }
  .interview-detail .interview-block .box:nth-of-type(2) .img {
    margin-top: -21.4285714286vw;
  }
  .interview-detail .interview-block .box:nth-of-type(3) .img {
    margin-top: -33.2142857143vw;
  }
  .interview-detail .introduction-block .list .txt {
    -webkit-transition: color 0.3s ease-in-out;
    transition: color 0.3s ease-in-out;
  }
  .interview-detail .introduction-block .list a:hover img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  .interview-detail .introduction-block .list a:hover .txt {
    color: #8096A3;
  }
  .talksession .link-single-box .txt-wrap {
    top: 0;
    left: 0;
    width: 32.0833333333%;
    height: 100%;
  }
  .talksession .link-single-box .ttl::before {
    content: "";
    background: currentColor;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 20px;
    height: 1px;
  }
  .project-detail .kv-block .c-breadcrumbs {
    padding-top: 0;
  }
  .project-detail .kv-block .ttl-area {
    width: 50%;
    margin-left: auto;
  }
  .project-detail .kv-block .ttl-area.right {
    margin-left: 0;
    margin-right: auto;
    width: 100%;
  }
  .project-detail .kv-block .img-area.ratio-62 {
    padding-top: 62%;
  }
  .project-detail .introduction-block .list.grid-2 {
    grid-template-columns: 1fr 1fr;
    max-width: none;
    grid-gap: 25px;
    max-width: 585px;
    margin-left: auto;
    margin-right: auto;
  }
  .project-detail .introduction-block .list.grid-3 {
    grid-template-columns: 1fr 1fr 1fr;
    max-width: none;
    grid-gap: 25px;
  }
  .project-detail .introduction-block .list.grid-4 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    max-width: none;
    grid-gap: 25px;
  }
  .project-detail .introduction-block .annotation.grid-2 {
    margin: 30px auto 0;
    max-width: 585px;
  }
  .project-detail .introduction-block .annotation.grid-4 {
    margin: 30px 0 0;
  }
  .project-detail .introduction-block.cover-bg .contents-area {
    position: relative;
    z-index: 1;
  }
  .project-detail .introduction-block.cover-bg .contents-area::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background-color: rgba(51, 51, 51, 0.6);
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    z-index: -1;
    pointer-events: none;
  }
  .project-detail .introduction-block.cover-bg .inner-block {
    margin-top: -200px;
  }
  .project-detail .talk-block .visual-area.ratio-48 {
    padding-top: 48%;
  }
  .project-detail .talk-block .talk-area {
    grid-gap: 70px;
    margin-left: -86px;
  }
  .project-detail .talk-block .talk-area .img-items {
    margin-top: 125px;
  }
  .project-detail .talk-block .talk-area .img-box + .img-box {
    margin-top: 245px;
  }
  .project-detail .talk-block .talk-area .img-box + .img-box.mt-780 {
    margin-top: 780px;
  }
  .project-detail .talk-block .talk-items + .talk-items {
    margin-top: 22px;
  }
  .project-detail .talk-block.reverse .ttl-area.right {
    margin-left: auto !important;
  }
  .project-detail .talk-block .saying-area .box-ttl.ml-80 {
    margin-left: 80px;
  }
  .project-detail .talk-block.pattern-02 .visual-area:not(.max) {
    margin-left: auto;
    width: calc(100% - 250px);
  }
  .project-detail .talk-block.pattern-02 .visual-area:not(.max).ml-0 {
    margin-left: 0;
  }
  .project-detail .talk-block.pattern-02.reverse .talk-area:not(.reverse) {
    margin-right: 0;
    margin-left: -86px;
  }
  .project-detail .talk-block.pattern-02 .talk-area + .talk-area {
    margin-top: 70px;
  }
  .project-detail .talk-block.pattern-02 .talk-area.reverse {
    margin-right: -86px;
    margin-left: 0;
  }
  .project-detail .talk-block.pattern-02 .talk-box {
    position: relative;
    z-index: 2;
  }
  .project-detail .talk-block.pattern-02 .box {
    padding-left: 25px;
  }
  .project-detail .talk-block.pattern-02 .box-ttl {
    margin-left: 105px;
  }
  .project-detail .talk-block.pattern-02 .img-items {
    margin-left: calc(100% - 50vw);
    margin-top: 250px;
  }
  .project-detail .talk-block.pattern-02 .img-items .img-box {
    margin-right: -140px;
  }
  .project-detail .talk-block.pattern-02 .img.w-auto.l-78 {
    padding-top: 0;
    left: 78px;
  }
  .project-detail .talk-block.pattern-02 .img.w-auto {
    padding-top: 0;
    height: 100%;
  }
  .project-detail .talk-block.pattern-02 .img.w-auto img {
    width: auto;
    height: auto;
    bottom: auto;
    position: static;
  }
  .project-detail .c-another-contents .link-box .text {
    font-size: 14px;
  }
  .project-detail.singapore .claim-block .c-img-frame img {
    margin: -13% 0 -16%;
  }
  .project-detail.anesaki .kv-block .img-area img {
    -o-object-position: center -40px;
       object-position: center -40px;
  }
  .project .c-index-list .text {
    min-height: 182px;
  }
  .project .c-index-list .text .title {
    padding-bottom: 25px;
  }
  .talksession-detail .introduction-block .profile-area .list > li {
    padding: 0 10px;
  }
  .talksession-detail .mirai-kv-block .c-breadcrumbs:not(.top)::before {
    background: transparent;
  }
  .talksession-detail .mirai-kv-block .txt.talksession-world {
    padding-bottom: 100px;
  }
  .talksession-detail .mirai-introduction-block .ttl.mx-400 {
    padding-right: 60px;
    width: 491px;
  }
  .talksession-detail.career .mirai-kv-block .main-ttl .sub-wrap {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 100px;
    margin: auto;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    min-width: 140px;
    white-space: nowrap;
  }
  .talk-block.mirai-pattern-01 .inner-block .talk-area .mirai-img01 {
    opacity: 0.5;
    -webkit-align-self: flex-end;
        -ms-flex-item-align: end;
            align-self: flex-end;
    margin-bottom: 280px;
  }
  .talk-block.mirai-pattern-01 .inner-block .talk-area .mirai-img02 {
    opacity: 0.6;
    -webkit-align-self: center;
        -ms-flex-item-align: center;
            align-self: center;
    margin-bottom: 280px;
  }
  .talk-block.mirai-pattern-01 .inner-block .talk-area.mt-50 {
    margin-top: 50px;
  }
  .talk-block.mirai-pattern-01 .inner-block .talk-area.mt-80 {
    margin-top: 80px;
  }
  .talk-block.mirai-pattern-01 .inner-block .talk-area.mt-200 {
    margin-top: 200px;
  }
  .talk-block.mirai-pattern-01 .inner-block .talk-box {
    margin-right: -20%;
  }
  .talk-block .mirai-visual-area {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: auto;
    padding-top: 200px;
    position: relative;
    max-width: 1100px;
  }
  .talk-block .mirai-visual-area .agenda-box {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin-left: 60px;
  }
  .message .tab-ul li:hover img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .message .main-img .txt-area {
    min-width: 380px;
  }
  .tag .search-area .search-wrap a:hover .img img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .tag .search-area .search-wrap .search:not(:nth-child(3n+1)) {
    margin-left: 25px;
  }
  .tag .search-area .search-wrap .search:nth-child(n+4) {
    margin-top: 60px;
  }
  .tag .search-area .sp-tag-title {
    display: none;
  }
  .c-tag-area .tag-list li:hover a {
    background: #8096A3;
  }
}

@media only screen and (min-width: 961px) and (max-width: 1310px) {
  .c-header {
    padding-left: 20px;
  }
}

@media only screen and (min-width: 961px) and (max-width: 995px) {
  .c-header {
    padding-left: 15px;
    padding-right: 15px;
  }
}

@media only screen and (min-width: 961px) and (min-width: 961px) {
  .c-header.header-top .top-area {
    margin-bottom: 15px;
  }
  .c-header.header-top .top-area .logo-area {
    top: 0;
  }
}

@media only screen and (min-width: 961px) and (max-width: 10030px) {
  .c-header .top-area .logo-area .logo {
    max-width: 80px;
  }
}

@media only screen and (min-width: 961px) and (max-width: 1255px) {
  .c-header .top-area .txt-wrap {
    margin-left: 15px;
  }
  .c-header .top-area .txt-wrap .en, .c-header .top-area .txt-wrap .ja {
    font-size: 10px;
  }
}

@media only screen and (min-width: 961px) and (max-width: 1280px) {
  .c-header .top-area .txt-wrap {
    margin-left: 15px;
  }
}

@media only screen and (min-width: 961px) and (max-width: 1415px) {
  .c-header .hamburger-menu .link + .link {
    margin-left: min(20px, 1.4705882353vw);
  }
}

@media only screen and (max-width: 1230px) {
  .c-header .hamburger-menu .link a {
    font-size: min(13px, 1.0569105691vw);
  }
  .c-menu_wrap .inn {
    gap: 47px;
  }
  .c-menu_wrap .wrap::after {
    height: 70px;
  }
  .c-menu_wrap .wrap.middle .img-list.single .img {
    max-width: 13.333vw;
  }
  .c-menu_wrap .wrap.three-column {
    width: 100%;
  }
  .c-menu_wrap .l-flex {
    grid-template-columns: auto 1fr;
  }
}

@media only screen and (min-width: 961px) and (max-width: 1235px) {
  .c-header.newgraduate .hamburger-menu .link + .link {
    margin-left: 30px;
  }
}

@media only screen and (min-width: 961px) and (max-width: 1080px) {
  .c-header.newgraduate .hamburger-menu .link + .link {
    margin-left: 20px;
  }
  .c-header.newgraduate .c-btn01 a.large, .c-header.c-header-career .c-btn01 a.large {
    min-width: 150px;
  }
}

@media only screen and (max-width: 1140px) {
  .c-header.newgraduate .hamburger-menu .link a {
    font-size: 12px;
  }
}

@media only screen and (min-width: 961px) and (max-width: 1150px) {
  .c-header.newgraduate .c-btn01 a, .c-header.c-header-career .c-btn01 a {
    font-size: 10px;
    min-width: 90px;
  }
  .business.newgraduate .employee-item .img-area .comment span {
    font-size: 13px;
  }
  .employee-item .img-area .comment span {
    font-size: 13px;
  }
}

@media only screen and (min-width: 961px) and (max-width: 1399px) {
  .c-header.c-header-career .hamburger-menu .link + .link {
    margin-left: 25px;
  }
  .ikukyu .accordion-block .talk-area {
    margin-left: 0;
  }
  .ikukyu .accordion-block .ttl-area {
    width: calc(50% - 35px);
  }
  .project-detail .talk-block .talk-area {
    margin-left: 0;
  }
  .project-detail .talk-block .ttl-area {
    width: calc(50% - 35px);
  }
  .project-detail .talk-block.pattern-02 .img.w-auto.l-78 {
    left: 35px;
  }
}

@media only screen and (min-width: 961px) and (max-width: 1220px) {
  .c-header.c-header-career .hamburger-menu .link + .link {
    margin-left: 20px;
  }
  .c-header.c-header-career .hamburger-menu .link + .link a {
    font-size: min(12px, 2.1314387211vw);
    letter-spacing: 0.08em;
  }
  .c-table03 tbody td .day.twoday::after {
    width: min(125px, 10.162601626vw);
  }
  .c-table03 tbody td .day.twoday.short::after {
    width: min(63px, 5.1639344262vw);
  }
}

@media only screen and (max-width: 960px) and (max-width: 960px) {
  #hamburger #hamburger-nav {
    overflow-y: scroll;
  }
  #hamburger #hamburger-nav .hamburger-menu {
    padding-bottom: 30px;
  }
  .ikukyu .accordion-block .saying-area.sp-img-bottom .img-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    height: calc(100% + 50vw);
  }
  .ikukyu .accordion-block .saying-area.sp-img-bottom .img-box .img:last-child {
    margin-top: auto;
  }
  .project-detail .talk-block .saying-area.sp-img-bottom .img-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    height: calc(100% + 50vw);
  }
  .project-detail .talk-block .saying-area.sp-img-bottom .img-box .img:last-child {
    margin-top: auto;
  }
}

@media only screen and (max-width: 960px) and (max-width: 563px) {
  #hamburger #hamburger-nav .hamburger-menu .link > a {
    font-size: min(17px, 3.0195381883vw);
    text-align: left;
  }
  #hamburger #hamburger-nav .hamburger-menu .link.small > a {
    padding: 15px 20px;
    font-size: min(14px, 2.486678508vw);
  }
  #hamburger #hamburger-nav .btn-wrap .c-btn01.sp-down .inn {
    font-size: min(17px, 3.0195381883vw);
  }
  #hamburger #hamburger-nav .btn-wrap .c-btn01 a {
    font-size: min(17px, 3.0195381883vw);
  }
}

@media only screen and (max-width: 960px) and (max-width: 375px) {
  #hamburger #hamburger-nav .btn-wrap {
    padding-left: 15px;
    padding-right: 15px;
  }
  .data .list-flex .list-item .front::before {
    height: 20px;
    width: 25px;
  }
  .data .list-flex .list-item .back::before {
    height: 20px;
    width: 25px;
  }
  .message .tab-ul .text {
    top: 5.3333333333vw;
  }
}

@media only screen and (max-width: 960px) and (max-width: 351px) {
  .tag-search_btn {
    min-width: auto;
  }
}

@media only screen and (max-width: 995px) {
  .c-tag_wrap.js-c-tag_wrap {
    top: 125px;
    height: calc(100% - 125px);
  }
  .c-menu_wrap {
    top: 125px;
    height: calc(100% - 125px);
  }
}

@media only screen and (max-width: 995px) and (max-width: 960px) {
  .c-tag_wrap.js-c-tag_wrap {
    top: 61px;
    height: calc(100% - 61px);
  }
  .c-menu_wrap {
    top: 61px;
    height: calc(100% - 61px);
  }
}

@media only screen and (max-width: 995px) and (max-width: 960px) and (max-width: 960px) {
  .c-tag_wrap.js-c-tag_wrap {
    top: 50px;
    padding: 50px 20px 30px;
    height: calc(100% - 50px);
  }
  .c-menu_wrap {
    top: 50px;
    padding: 40px 20px 38px;
    height: calc(100% - 50px);
  }
}

@media only screen and (max-width: 1290px) {
  .c-menu_wrap .wrap.middle {
    width: 66%;
  }
  .c-menu_wrap .wrap.short {
    width: 29%;
  }
}

@media only screen and (max-width: 1290px) and (max-width: 1230px) {
  .c-menu_wrap .wrap.middle {
    width: 100%;
  }
  .c-menu_wrap .wrap.short {
    width: 100%;
  }
}

@media only screen and (max-width: 1230px) and (max-width: 960px) {
  .c-menu_wrap .wrap.middle .img-list.single .img {
    max-width: 29.067vw;
  }
  .c-menu_wrap .wrap.three-column {
    padding: 20px 0 0 20px;
  }
  .c-menu_wrap .l-flex {
    gap: 15px;
  }
}

@media only screen and (max-width: 1290px) and (max-width: 1230px) and (max-width: 960px) {
  .c-menu_wrap .wrap.short {
    padding: 20px 0 0 20px;
  }
}

@media only screen and (min-width: 1231px) {
  .c-menu_wrap .wrap.short, .c-menu_wrap .wrap.three-column {
    grid-template-columns: 127px 1fr;
  }
  .c-menu_wrap .img-list.single {
    grid-template-columns: 1fr;
  }
}

@media only screen and (min-width: 961px) and (min-width: 1231px) {
  .c-menu_wrap .wrap.mt-50 {
    margin-top: 50px;
  }
  .c-menu_wrap .wrap.ml-50 {
    margin-left: 50px;
  }
  .c-menu_wrap .wrap.ml-75 {
    margin-left: 75px;
  }
}

@media only screen and (min-width: 961px) and (max-width: 1260px) {
  .c-btn01 a {
    min-width: 110px;
  }
  .c-illust-link .link-img {
    width: 90%;
  }
  main.newgraduate.career .c-illust-link.block02 .link-img {
    left: 50px;
  }
  .workstyle .c-illust-link.block02 .link-img {
    left: 50px;
  }
  .workstyle .c-illust-link.block03 .link-img {
    left: 50px;
  }
}

@media only screen and (min-width: 961px) and (max-width: 1365px) {
  .c-btn01 + .c-btn01.naitei {
    margin-left: 10px;
  }
}

@media only screen and (max-width: 500px) {
  .c-skew-list.mt-60 {
    margin-top: min(-20px, -4vw);
  }
}

@media only screen and (max-width: 960px) and (max-width: 450px) {
  .c-skew-list li {
    width: 80%;
  }
  .c-skew-list .icon {
    bottom: 10.6666666667vw;
  }
  .talksession-detail .kv-block .inner-block {
    padding-top: 25px;
    padding-bottom: 10px;
  }
}

@media only screen and (max-width: 1120px) {
  .c-table03 {
    overflow-x: auto;
    padding-bottom: 10px;
  }
  .c-table03::-webkit-scrollbar {
    height: 25px;
  }
  .c-table03::-webkit-scrollbar-track {
    background-color: #252525;
    border-radius: 100px;
  }
  .c-table03::-webkit-scrollbar-thumb {
    background-color: #333333;
    border-radius: 100px;
  }
  .c-table03 table {
    min-width: 1184px;
    white-space: nowrap;
  }
  .internship .newgraduate-section-schedule .year-ttl {
    white-space: nowrap;
  }
  .internship .newgraduate-section-schedule .year-ttl {
    width: auto;
    min-width: 1184px;
  }
  .internship .newgraduate-section-schedule .year-ttl li:first-child {
    width: 497px;
  }
  .internship .newgraduate-section-schedule .year-ttl li:last-child {
    width: 210px;
  }
}

@media only screen and (min-width: 961px) and (max-width: 1120px) {
  .c-table03 tbody td .day.twoday::after {
    width: 142px;
  }
  .c-table03 tbody td .day.twoday.short::after {
    width: 71px;
  }
  .c-table03 tbody td .day.twoday.long::after {
    width: 213px !important;
  }
  .business.newgraduate .employee-item {
    width: calc((100% - 30px) / 2);
  }
}

@media only screen and (min-width: 961px) and (max-width: 1243px) {
  .c-table03 tbody td .day.twoday.long::after {
    width: min(205px, 16.4923572003vw);
  }
}

@media only screen and (min-width: 961px) and (max-width: 1200px) {
  .c-table03 tbody td .day.twoday.long::after {
    width: min(185px, 15.4166666667vw);
  }
  .c-bg-box .ico-list li {
    padding: min(15px, 4.1666666667vw) min(20px, 2.8333333333vw) min(16px, 2.4166666667vw);
  }
  .c-bg-box .ico-list li .ico.ico-01 {
    left: min(10px, 0.8333333333vw);
    bottom: min(-30px, -2.5vw);
  }
  .c-bg-box .ico-list li .ico.ico-01 img {
    max-height: min(53px, 4.4166666667vw);
  }
  .c-bg-box .ico-list li .ico.ico-02 {
    right: min(-12px, -1vw);
    bottom: min(-25px, -2.0833333333vw);
  }
  .c-bg-box .ico-list li .ico.ico-02 img {
    max-height: min(72px, 6vw);
  }
  .c-bg-box .ico-list li .ico.ico-03 {
    right: min(10px, 0.8333333333vw);
    bottom: min(-10px, -0.8333333333vw);
  }
  .c-bg-box .ico-list li .ico.ico-03 img {
    max-height: min(50px, 4.1666666667vw);
  }
  .c-bg-box .ico-list li .ico.ico-04 {
    left: min(20px, 1.6666666667vw);
    top: min(-60px, -5vw);
  }
  .c-bg-box .ico-list li .ico.ico-04 img {
    max-height: min(68px, 5.6666666667vw);
  }
  .c-bg-box .ico-list li .ico.ico-05 {
    right: 0;
    top: min(-5px, -0.4166666667vw);
  }
  .c-bg-box .ico-list li .ico.ico-05 img {
    max-height: min(82px, 6.8333333333vw);
  }
  .c-bg-box .ico-list li .num {
    font-size: min(40px, 3.3333333333vw);
  }
  .c-bg-box .ico-list li .text {
    font-size: min(16px, 1.3333333333vw);
    padding-left: min(15px, 1.25vw);
  }
  .ikukyu .accordion-block .saying-area .txt-box {
    margin-top: 780px;
    padding-top: 100px;
  }
  .talk-block.mirai-pattern-01 .inner-block .talk-box {
    margin-right: -10%;
  }
  .talk-block .mirai-visual-area {
    padding-left: 40px;
    padding-right: 40px;
  }
}

@media only screen and (min-width: 961px) and (max-width: 1195px) {
  .c-table03 tbody td .day.twoday.long::after {
    width: min(188px, 15.7322175732vw);
  }
}

@media only screen and (min-width: 961px) and (max-width: 1158px) {
  .c-table03 tbody td .day.twoday.long::after {
    width: min(178px, 15.3713298791vw);
  }
}

@media only screen and (max-width: 960px) and (max-width: 500px) {
  .c-img-frame img.set-position02 {
    -o-object-position: left -35px top 5px;
       object-position: left -35px top 5px;
  }
  .interview-detail .introduction-block .list {
    grid-template-columns: 1fr 1fr;
  }
}

@media only screen and (max-width: 960px) and (max-width: 430px) {
  .c-index-list .text .logo + .logo::before {
    left: min(-15px, -3.488372093vw);
  }
}

@media only screen and (max-width: 960px) and (max-width: 380px) {
  .c-index-list .text .logo + .logo::before {
    left: min(-13px, -3.4210526316vw);
  }
}

@media only screen and (min-width: 1411px) {
  .ng-section-top-mv .img-wrap .img img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: top center;
       object-position: top center;
    width: 100%;
    height: 100%;
  }
}

@media only screen and (max-width: 1410px) {
  .ng-section-top-mv .img-wrap .img {
    display: block;
  }
  .ng-section-top-mv .img-wrap .img img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: top center;
       object-position: top center;
    width: 100%;
    height: 100%;
  }
}

@media only screen and (max-width: 960px) and (max-width: 640px) {
  .ng-section-top-mv .inner-block {
    height: calc(var(--vh-onload, 1vh) * 100);
  }
  .ng-section-top-mv .txt-wrap img {
    width: 100%;
    margin-left: -6.5vw;
  }
  .ng-section-top-banner {
    padding-top: 50px;
  }
}

@media only screen and (max-width: 960px) and (max-width: 600px) {
  .banner-list .ttl {
    font-size: min(18px, 3vw);
  }
}

@media only screen and (max-width: 563px) {
  .link-list .ttl {
    height: min(53px, 9.4138543517vw);
    font-size: min(17px, 3.0195381883vw);
    width: calc(100% - 60px);
    padding: 10px;
  }
}

@media only screen and (max-width: 563px) and (max-width: 960px) {
  .link-list .ttl {
    font-size: 17px;
    width: calc(100% - 30px);
    font-size: min(17px, 2.9209621993vw);
  }
}

@media only screen and (max-width: 780px) {
  .btn-list li:nth-child(1) .btn a {
    height: min(80px, 10.2564102564vw);
  }
  .btn-list li:nth-child(2) .btn a {
    height: min(170px, 21.7948717949vw);
  }
  .btn-list .inn {
    padding: 15px;
  }
  .btn-list .inn .btn a {
    font-size: min(20px, 2.5641025641vw);
  }
}

@media only screen and (min-width: 961px) and (max-width: 1030px) {
  .mv-btn-wrap {
    bottom: 60px;
  }
  .mv-btn-wrap a {
    min-width: 320px;
  }
}

@media only screen and (max-width: 640px) {
  .newgraduate .ng-section-intro .inner-block, .career .ng-section-intro .inner-block {
    padding-left: 20px;
  }
}

@media only screen and (min-width: 961px) and (min-width: 1251px) {
  .newgraduate .read-more-wrap .aco-body .inn > *, .career .read-more-wrap .aco-body .inn > * {
    width: 40%;
    margin-left: auto;
  }
}

@media only screen and (max-width: 960px) and (max-width: 400px) {
  main.career .ng-section-symposium02 .wrap .txt-wrap .title::before {
    right: min(50px, 12.5vw);
  }
  .talksession-detail .mirai-kv-block .txt {
    font-size: 10px;
  }
  .talksession-detail .mirai-introduction-block .profile-list {
    gap: 20px;
  }
  .talksession-detail .mirai-introduction-block .profile-list .belong {
    font-size: 10px;
  }
  .talksession-detail .mirai-introduction-block .profile-list .name {
    font-size: 10px;
  }
  .talksession-detail .mirai-introduction-block .profile-list .summary {
    font-size: 10px;
  }
}

@media only screen and (max-width: 1200px) {
  .c-bg-box {
    padding: min(40px, 3.3333333333vw) min(35px, 2.9166666667vw);
  }
  .company .another-list a .link-ttl {
    font-size: min(22px, 1.8333333333vw);
  }
}

@media only screen and (min-width: 961px) and (max-width: 1170px) {
  .c-bg-box > .l-flex .wrap:nth-child(1), .c-bg-box > .l-flex .wrap:nth-child(3) {
    max-width: min(363px, 64.4760213144vw);
  }
}

@media only screen and (max-width: 960px) and (max-width: 562px) {
  .development .c-modal-btn-wrap .modal-btn .btn {
    top: min(-19px, -3.3747779751vw);
    right: min(-19px, -3.3747779751vw);
  }
}

@media only screen and (max-width: 1200px) and (max-width: 960px) {
  .company .another-list a .link-ttl {
    padding: 0 40px 0 20px;
    border-radius: 10px 0 0 10px;
  }
}

@media only screen and (min-width: 1200px) {
  .data .list-flex .data-txt-area .txt-col.col2 .data-txt {
    width: 50%;
  }
  .talksession-detail .kv-block .main-contents {
    --img-space: 66.6666666667vw;
  }
}

@media only screen and (min-width: 961px) and (max-width: 1142px) {
  .data .list-flex.all-txt-area .list-item .back {
    padding: 45px 30px 150px;
  }
}

@media only screen and (min-width: 961px) and (max-width: 1100px) {
  .internship .newgraduate-section-schedule .schedule-box .box .top-wrap .img {
    width: min(312px, 28.3636363636vw);
  }
  .internship .newgraduate-section-schedule .schedule-box .box .top-wrap .text-wrap {
    margin-left: min(12px, 1.0909090909vw);
    width: calc(100% - min(324px, 29.4545454545vw));
  }
  .internship .newgraduate-section-schedule .schedule-box .box .top-wrap .text-wrap .day {
    font-size: min(14px, 1.2727272727vw);
  }
}

@media screen and (max-width: 850px) {
  .newgraduate .date_detail-entrybtn {
    max-width: 100%;
    width: calc(100% - 30px);
    margin-left: 15px;
    margin-right: 15px;
    margin-top: 83px;
  }
  .newgraduate .date_detail-entrybtn-box {
    height: 58px;
  }
  .newgraduate .date_detail-entrybtn-box a {
    font-size: 22px;
  }
  .newgraduate .date_detail-entry_text {
    margin-top: 5px;
  }
}

@media only screen and (max-width: 930px) {
  .requirement .requirement_table.small {
    min-width: 420px;
  }
}

@media only screen and (min-width: 961px) and (min-width: 1261px) {
  .ikukyu .introduction-block .annotation.grid-4 {
    margin-left: -140px;
    margin-right: -140px;
  }
  .project-detail .introduction-block .list.grid-3 {
    margin: 70px -140px 0;
  }
  .project-detail .introduction-block .list.grid-3 + .annotation {
    margin-right: -140px;
    margin-left: -140px;
  }
  .project-detail .introduction-block .list.grid-4 {
    margin: 70px -140px 0;
  }
  .project-detail .introduction-block .list.grid-4 + .annotation {
    margin: 30px -140px 0;
  }
  .project-detail .introduction-block .annotation.grid-4 {
    margin-left: -140px;
    margin-right: -140px;
  }
}

@media only screen and (min-width: 961px) and (min-width: 1140px) and (max-width: 1260px) {
  .ikukyu .introduction-block .annotation.grid-4 {
    margin-left: -80px;
    margin-right: -80px;
  }
  .project-detail .introduction-block .list.grid-3 {
    margin: 70px -80px 0;
  }
  .project-detail .introduction-block .list.grid-3 + .annotation {
    margin-right: -80px;
    margin-left: -80px;
  }
  .project-detail .introduction-block .list.grid-4 {
    margin: 70px -80px 0;
  }
  .project-detail .introduction-block .list.grid-4 + .annotation {
    margin: 70px -80px 0;
  }
  .project-detail .introduction-block .annotation.grid-4 {
    margin-left: -80px;
    margin-right: -80px;
  }
}

@media only screen and (min-width: 961px) and (min-width: 1399px) {
  .ikukyu .accordion-block.reverse .talk-area {
    margin-right: -86px;
    margin-left: 0;
  }
  .project-detail .talk-block.reverse .talk-area {
    margin-right: -86px;
    margin-left: 0;
  }
}

@media only screen and (min-width: 961px) and (min-width: 1331px) {
  .business .flow-block .work-txt-area .work-sub-ttl {
    max-width: 764px;
    margin-left: auto;
    margin-right: auto;
  }
  .business .flow-block .work-txt-area .work-txt {
    max-width: 764px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media only screen and (min-width: 961px) and (max-width: 1330px) {
  .business .flow-block .work-txt-area .work-sub-ttl {
    padding-right: 260px;
  }
  .business .flow-block .work-txt-area .work-txt {
    padding-right: 260px;
  }
}

@media only screen and (min-width: 961px) and (max-width: 1770px) {
  .business .flow-block .employee-link-area .employee-list {
    width: calc(100% - 80px);
  }
  .business.newgraduate .employee-item .img-area .comment span {
    font-size: 14px;
  }
  .employee-item .img-area .comment {
    left: 10px;
    bottom: 15px;
    padding-right: 10px;
  }
  .employee-item .img-area .comment span {
    padding: 3px 10px;
    font-size: 16px;
  }
}

@media only screen and (min-width: 961px) and (max-width: 1420px) {
  .business .flow-block .employee-link-area .employee-list {
    width: calc(100% - 170px);
  }
}

@media only screen and (min-width: 961px) and (min-width: 1151px) and (max-width: 1450px) {
  .business.newgraduate .employee-item .img-area .comment span {
    font-size: min(13px, 0.9285714286vw);
  }
  .employee-item .img-area .comment span {
    font-size: min(16px, 1vw);
  }
}

@media only screen and (min-width: 961px) and (min-width: 1771px) {
  .business.newgraduate .employee-item .img-area .comment.small span {
    font-size: 18px;
  }
  .employee-item .img-area .comment.small span {
    font-size: 20px;
  }
}

@media only screen and (min-width: 961px) and (min-width: 1401px) {
  .interview-detail .about-block .box.position-right {
    left: 12%;
  }
  .interview-detail .about-block .box.position-left {
    left: 10%;
    right: inherit;
  }
}

@media only screen and (min-width: 961px) and (max-width: 1400px) {
  .interview-detail .about-block .box.position-right {
    left: 30%;
  }
  .interview-detail .about-block .box.position-left {
    left: 10%;
    right: inherit;
  }
}

@media only screen and (min-width: 1401px) {
  .interview-detail .about-block .txt-area {
    padding: 2.8571428571vw 1.7857142857vw 1.4285714286vw 3.5714285714vw;
  }
}

@media only screen and (min-width: 961px) and (max-width: 1175px) {
  .interview-detail .about-block .note {
    right: 0;
    bottom: -10.2127659574vw;
  }
}

@media only screen and (min-width: 1400px) {
  .interview-detail .interview-block .txt-area {
    min-height: 35.7142857143vw;
  }
}

@media only screen and (min-width: 961px) and (min-width: 1400px) {
  .talksession-detail .kv-block .img-area img {
    -o-object-position: top -4.1666666667vw right 0;
       object-position: top -4.1666666667vw right 0;
  }
}

@media only screen and (max-width: 960px) and (min-width: 800px) {
  .talksession-detail .mirai-kv-block .content {
    padding-bottom: 10vw;
  }
}

@media only screen and (min-width: 640px) {
  .talk-block.mirai-pattern-01 .inner-block .talk-area .img-items {
    margin-top: 5%;
  }
}

@media only screen and (max-width: 960px) and (min-width: 640px) {
  .talk-block .mirai-visual-area {
    padding-top: 17%;
    padding-bottom: 33%;
  }
}

@media only screen and (min-width: 961px) and (min-width: 1360px) {
  .message .main-img {
    margin-left: min(-70px, -5vw);
    width: calc(100% + min(140px, 10vw));
  }
}