@charset "UTF-8";
/* normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
button, hr, input {
  overflow: visible;
}

progress, sub, sup {
  vertical-align: baseline;
}

[type=checkbox], [type=radio], legend {
  box-sizing: border-box;
  padding: 0;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

details, main {
  display: block;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

hr {
  box-sizing: content-box;
  height: 0;
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

b, strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button, select {
  text-transform: none;
}

[type=button], [type=reset], [type=submit], button {
  -webkit-appearance: button;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
  outline: ButtonText dotted 1px;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
}

textarea {
  overflow: auto;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

summary {
  display: list-item;
}

[hidden], template {
  display: none;
}

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

html {
  font-family: "Noto Sans JP", "Hiragino Sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "Meiryo", "メイリオ", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  font-size: 3.0716723549vw;
  font-weight: 400;
  font-optical-sizing: auto;
  line-height: 1.6666666667;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media screen and (min-width: 768px) {
  html {
    font-size: 9.9px;
  }
}
@media screen and (min-width: 992px) {
  html {
    font-size: 13.2px;
  }
}
@media screen and (min-width: 1280px) {
  html {
    font-size: 15.9px;
  }
}
@media screen and (min-width: 1520px) {
  html {
    font-size: 18px;
  }
}

body {
  background-color: #fff;
  color: #382f2d;
  height: 100%;
  position: relative;
  width: 100%;
}

main {
  position: relative;
}

h1, h2, h3, h4, h5, h6, p, figure {
  margin: 0;
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1;
}

a {
  color: #1A3964;
  -webkit-transition: color 0.15s linear 0s;
  -moz-transition: color 0.15s linear 0s;
  -ms-transition: color 0.15s linear 0s;
  -o-transition: color 0.15s linear 0s;
  transition: color 0.15s linear 0s;
}
a:hover {
  color: rgb(71.6666666667, 128.5, 207.3333333333);
}

picture {
  display: block;
}
picture > img {
  display: block;
  height: auto;
  width: 100%;
}

* {
  letter-spacing: calc(var(--ls) * -0.01em);
}

/* --------------------
  basic-classes
-------------------- */
.cmn-content-width {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  width: 89.761vw;
}
@media screen and (min-width: 768px) {
  .cmn-content-width {
    width: 688px;
  }
}
@media screen and (min-width: 992px) {
  .cmn-content-width {
    width: 912px;
  }
}
@media screen and (min-width: 1280px) {
  .cmn-content-width {
    width: 1100px;
  }
}
@media screen and (min-width: 1520px) {
  .cmn-content-width {
    width: 1240px;
  }
}

.cmn-content-width-md {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .cmn-content-width-md {
    width: 688px;
  }
}
@media screen and (min-width: 992px) {
  .cmn-content-width-md {
    width: 912px;
  }
}
@media screen and (min-width: 1280px) {
  .cmn-content-width-md {
    width: 1100px;
  }
}
@media screen and (min-width: 1520px) {
  .cmn-content-width-md {
    width: 1240px;
  }
}

.cmn-contwidth-basic {
  margin-left: auto;
  margin-right: auto;
  width: calc(100% - 60px);
}
@media screen and (min-width: 768px) {
  .cmn-contwidth-basic {
    width: 688px;
  }
}
@media screen and (min-width: 992px) {
  .cmn-contwidth-basic {
    width: 912px;
  }
}
@media screen and (min-width: 1280px) {
  .cmn-contwidth-basic {
    width: 1100px;
  }
}
@media screen and (min-width: 1520px) {
  .cmn-contwidth-basic {
    width: 1240px;
  }
}

.cmn__gradi-button {
  background-color: #3375FF;
  border-radius: 1.1111111111rem;
  box-shadow: 2px 4px 0px rgba(0, 0, 0, 0.3);
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  transition: filter 0.1s ease-out;
}
.cmn__gradi-button:active {
  filter: contrast(2.5);
}
.cmn__gradi-button .gradient {
  background: linear-gradient(#33DBFF, #3375FF);
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  transition: width 0.2s ease-in-out;
  width: 100%;
  z-index: 1;
}
.cmn__gradi-button .link {
  align-items: center;
  color: white;
  display: flex;
  font-weight: 700;
    line-height:1.4;
  height: 100%;
  justify-content: center;
  position: relative;
  text-align: center;
  text-decoration: none;
  text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.3);
  width: 100%;
  z-index: 2;
}
@media (pointer: fine) {
  .cmn__gradi-button .link:hover ~ .gradient {
    width: 0;
  }
}

/* --------------------
  utility-classes
-------------------- */
.bold {
  font-weight: 600;
}

.sr-only {
  display: none;
}

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

@media screen and (max-width: 374px) {
  .ssm-only {
    display: none;
  }
}
@media screen and (min-width: 586px) {
  .ssm-only {
    display: none;
  }
}

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

@media screen and (min-width: 586px) {
  .xs-ssm {
    display: none;
  }
}

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

@media screen and (max-width: 585px) {
  .sm-xxl, .sm-over {
    display: none;
  }
}

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

@media screen and (max-width: 767px) {
  .pc-only {
    display: none;
  }
}

.no-bullet {
  list-style: none;
  padding: 0;
}

.no-margin {
  margin: 0;
}

/*===== header
要素サイズはsp/pcそれぞれ固定...と思ったけど
メインビジュアルが被るのでムリだと判明!!
"ある程度までは" vw基準にすることにする... =====*/
header {
  align-items: start;
  display: grid;
  grid-template-areas: "logo title";
  grid-template-columns: 29.0102389078vw 1fr;
  grid-template-rows: auto;
  height: 10.9215017065vw;
  left: 0;
  margin: 0 auto;
  padding-left: 2.9010238908vw;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 100;
}
@media screen and (min-width: 586px) {
  header {
    grid-template-columns: 170px 1fr;
    height: 64px;
  }
}
@media screen and (min-width: 768px) {
  header {
    grid-template-columns: min(454px, 29.8684210526vw) 1fr;
    height: min(100px, 6.5789473684vw);
    padding: 0 30px;
    width: 100%;
  }
}
header .mflogo {
  grid-area: logo;
  height: 100%;
  padding-top: 1.7064846416vw;
  width: 100%;
}
@media screen and (min-width: 586px) {
  header .mflogo {
    padding-top: 10px;
  }
}
@media screen and (min-width: 768px) {
  header .mflogo {
    padding-top: 1.3157894737vw;
  }
}
@media screen and (min-width: 1280px) {
  header .mflogo {
    padding-top: 20px;
  }
}
header .mflogo > a {
  background: url(../img/maxfro-logo-sp@2x.png) 0 0/contain no-repeat;
  display: block;
  height: 100%;
  width: 100%;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  header .mflogo > a {
    background-image: url(../img/maxflo-logo-pc@2x.png);
  }
}

.page__title {
  border: 1px solid #707070;
  border-radius: 0.8571428571em;
  font-size: 0.7777777778rem;
  grid-area: title;
  line-height: 1.4285714286em;
  margin-top: 1.4285714286em;
  padding-bottom: 0.1428571429em;
  text-align: center;
  width: 8.5714285714em;
}
@media screen and (min-width: 586px) {
  .page__title {
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) {
  .page__title {
    border-radius: 3.2222222222em;
    font-size: 1.1842105263vw;
    line-height: 1.4444444444em;
    margin-top: 2em;
    width: 8.3888888889em;
  }
}
@media screen and (min-width: 1280px) {
  .page__title {
    border-radius: 58px;
    font-size: 18px;
    line-height: 26px;
    margin-top: 36px;
    width: 151px;
  }
}

header.with-nav {
  background-color: rgba(255, 255, 255, 0);
  backdrop-filter: blur(0px);
  grid-template-columns: 23.8907849829vw 1fr;
  justify-content: space-between;
  left: 0;
  padding: 0 10px;
  position: sticky;
  top: 0;
  transition-property: background-color, backdrop-filter;
  transition-timing-function: ease-in;
  transition-duration: 0.5s;
  transition-delay: 0s, 0.5s;
}
header.with-nav.bg-white {
  background-color: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(6px);
}
@media screen and (min-width: 768px) {
  header.with-nav {
    padding: 0 24px 0 30px;
    padding: 0 min(24px, 1.5789473684vw) 0 30px;
  }
}
@media screen and (min-width: 768px) {
  header.with-nav .mflogo {
    align-items: center;
    display: flex;
    padding-top: 0;
  }
}
@media screen and (min-width: 768px) {
  header.with-nav .mflogo > a {
    aspect-ratio: 867/120;
    width: min(434px, 100%);
    height: auto;
  }
}
header.with-nav .main-nav-open-btn {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  align-self: center;
  background: url(../img/icon-nav-open.svg) center/contain no-repeat;
  border: 1px solid transparent;
  border-radius: 4px;
  cursor: pointer;
  height: min(46px, 7.8498293515vw);
  justify-self: end;
  transition: filter 0.1s ease-out;
  width: min(46px, 7.8498293515vw);
}
@media screen and (min-width: 768px) {
  header.with-nav .main-nav-open-btn {
    height: min(46px, 3.0263157895vw);
    width: min(46px, 3.0263157895vw);
  }
}
@media (pointer: fine) {
  header.with-nav .main-nav-open-btn:hover {
    filter: brightness(130%);
  }
}
header.with-nav .main-nav-open-btn:active {
  filter: brightness(80%);
}

/*===== footer (すべて固定値) (2026.05変更) =====*/
footer {
  background-color: #fff;
  border-top: 2px solid #1a3964;
  padding-bottom: 22px;
  padding-top: 45px;
}
footer nav.footer__nav {
  display: flex;
  flex-direction: column;
  font-size: 16px;
  font-weight: 500;
  gap: 20px 0;
  margin: 0 auto;
  width: max-content;
}
@media screen and (min-width: 768px) {
  footer nav.footer__nav {
    flex-direction: row;
    gap: 0 98px;
  }
}
footer nav.footer__nav ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}
footer nav.footer__nav ul > li > a {
  background-color: transparent;
  border-radius: 0.3em;
  color: #382f2d;
  display: flex;
  gap: 0.3em;
  line-height: 1.5;
  padding: 0 0.3em;
  text-decoration: none;
  width: max-content;
  transition-duration: 0.1s;
  transition-property: background-color;
  transition-timing-function: ease-out;
}
@media (pointer: fine) {
  footer nav.footer__nav ul > li > a:hover {
    background-color: rgba(51, 219, 255, 0.15);
  }
}
footer nav.footer__nav ul > li > a:active {
  background-color: rgba(51, 219, 255, 0.5);
}
footer nav.footer__nav ul > li > a::before {
  content: "●";
}
footer nav.footer__nav ul > li + li {
  margin-top: 1em;
}
footer nav.footer__nav ul.blue > li > a::before {
  color: #33dbff;
}
footer nav.footer__nav ul.yellow > li > a::before {
  color: #fffa81;
}
footer .brand {
  height: 86px;
  margin: 77px auto 33px;
  width: 284px;
}
footer .brand > a {
  background: url(../img/maxfro-logo-sp@2x.png) 50% 0/contain no-repeat;
  display: block;
  height: 100%;
  width: 100%;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
footer address {
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.6666666667;
  text-align: center;
}
footer address span {
  display: inline-block;
}
footer .colophon {
  font-size: 10px;
  font-weight: 600;
  line-height: 1.4;
  margin-top: 38px;
  text-align: center;
}

/*===== common: main-nav (#mainNav; メインメニュー; 202605) =====*/
#mainNav {
  height: 100vh;
  height: 100dvh;
  left: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 200;
}
#mainNav nav {
  backdrop-filter: blur(6px);
  background-color: rgba(255, 255, 255, 0.825);
  display: flex;
  flex-direction: column;
  gap: 2.7777777778rem 0;
  opacity: 0;
  padding-bottom: 8.5rem;
  padding-top: 6.2222222222rem;
  position: relative;
  transform: translateY(-100%);
  transition-duration: 0.3s;
  transition-property: opacity, transform;
  transition-timing-function: ease-in;
}
@media screen and (min-width: 768px) {
  #mainNav nav {
    display: grid;
    gap: 0 2.7777777778rem;
    grid-template-areas: "blue yellow" "blue red";
    grid-template-columns: repeat(2, auto);
    justify-content: center;
  }
}
#mainNav.opened {
  background-color: rgba(0, 0, 0, 0.1);
  pointer-events: all;
}
#mainNav.opened nav {
  opacity: 1;
  transform: translateY(0);
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
#mainNav .main-nav-close-btn {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background: url(../img/icon-nav-close.svg) center/contain no-repeat;
  cursor: pointer;
  height: min(46px, 7.8498293515vw);
  left: 10px;
  position: absolute;
  top: 10px;
  transition: filter 0.1s ease-out;
  width: min(46px, 7.8498293515vw);
}
@media screen and (min-width: 768px) {
  #mainNav .main-nav-close-btn {
    background-size: min(46px, 3.0263157895vw) auto;
    height: 46px;
    width: 46px;
  }
}
@media (pointer: fine) {
  #mainNav .main-nav-close-btn:hover {
    filter: brightness(130%);
  }
}
#mainNav .main-nav-close-btn:active {
  filter: brightness(80%);
}
#mainNav ul {
  font-size: max(14px, 1.1111111111rem);
  font-weight: 500;
  list-style: none;
  margin: 0;
  padding: 0 2.5em;
}
@media screen and (min-width: 768px) {
  #mainNav ul {
    padding: 0;
    font-size: max(16px, 1.1111111111rem);
  }
}
#mainNav ul > li > a {
  background-color: transparent;
  border-radius: 0.3em;
  color: #382f2d;
  display: flex;
  gap: 0.3em;
  line-height: 1.5;
  padding: 0 0.3em;
  text-decoration: none;
  transition-duration: 0.1s;
  transition-property: background-color, filter;
  transition-timing-function: ease-out;
  width: max-content;
}
@media (pointer: fine) {
  #mainNav ul > li > a:hover {
    background-color: rgba(51, 219, 255, 0.15);
  }
}
#mainNav ul > li > a:active {
  background-color: rgba(51, 219, 255, 0.5);
}
#mainNav ul > li > a::before {
  content: "●";
}
#mainNav ul > li + li {
  margin-top: 1.7em;
}
#mainNav ul.blue {
  grid-area: blue;
}
#mainNav ul.blue > li > a::before {
  color: #33dbff;
}
#mainNav ul.yellow {
  grid-area: yellow;
}
#mainNav ul.yellow > li > a::before {
  color: #fffa81;
}
#mainNav ul.red {
  grid-area: red;
}
@media screen and (min-width: 768px) {	
#mainNav ul.red {	
margin-top: 1.7em;	
}	
}
#mainNav ul.red > li > a::before {
  color: #c8102e;
}

/*===== actio__sect =====*/
.actio__sect {
  background: linear-gradient(#fff, #effcff);
  padding-bottom: 8.7222222222rem;
  padding-top: 8.7222222222rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .actio__sect {
    padding-top: 9.7222222222rem;
    padding-bottom: 9.7222222222rem;
  }
}

.actio__osite {
  background-color: #fff;
  border: 1px solid #1a3964;
  color: #1a3964;
  margin: 0 auto;
  padding: 2.1666666667rem 1rem 2.9444444444rem;
}
@media screen and (min-width: 768px) {
  .actio__osite {
    padding: 2rem 1.5555555556rem 2.6666666667rem;
    width: 35.5555555556rem;
  }
}
.actio__osite h2 {
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .actio__osite h2 {
    font-size: 1.2222222222rem;
    line-height: 1.6363636364;
  }
}
.actio__osite ul {
  display: flex;
  flex-wrap: wrap;
  font-size: 0.9444444444em;
  gap: 0.5882352941em 1.3529411765em;
  justify-content: center;
  line-height: 1.8235294118;
  list-style: none;
  margin: 1.2352941176em 0 3.0588235294em;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .actio__osite ul {
    font-size: 0.8888888889rem;
    gap: 0.625em 1.25em;
    line-height: 1.75;
    margin: 1.0625em 0 1.9375em;
  }
}
.actio__osite ul li {
  border: 1px solid #1a3964;
  border-radius: 1em;
  flex: 0 0 auto;
  min-width: 7.5294117647em;
  padding: 0 1.5294117647em;
  text-align: center;
}
.actio__osite .cmn__gradi-button {
  background-color: #08408E;
  width: 24.3333333333rem;
}
.actio__osite .cmn__gradi-button .gradient {
  background: linear-gradient(#0D76DE, #08408E);
}
.actio__osite .cmn__gradi-button .link {
  font-size: 1.2222222222rem;
  line-height: 1.6363636364;
  padding: 0.4090909091em 0;
}

/*/////
index
/////*/
/*===== .mainv__sect (vw基準) =====*/
.mainv__sect {
  height: 129.6928327645vw;
  overflow: hidden;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .mainv__sect {
    height: 63.0921052632vw;
    margin-top: -1.3815789474vw;
  }
}

.mainv__body {
  height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.mainv__body .body-img {
  padding-top: 24.0614334471vw;
}
@media screen and (min-width: 768px) {
  .mainv__body .body-img {
    padding-top: 0;
  }
}
.mainv__body .body-covers {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.mainv__body .body-covers .upper, .mainv__body .body-covers .lower {
  left: 0;
  position: absolute;
  width: 100%;
}
.mainv__body .body-covers .upper > img, .mainv__body .body-covers .lower > img {
  position: relative;
  width: 102%;
}
.mainv__body .body-covers .upper {
  top: 0.5119453925vw;
}
@media screen and (min-width: 768px) {
  .mainv__body .body-covers .upper {
    top: -6.5789473684vw;
  }
}
.mainv__body .body-covers .lower {
  top: 110.409556314vw;
}
@media screen and (min-width: 768px) {
  .mainv__body .body-covers .lower {
    top: 50.5921052632vw;
  }
}
.mainv__body .body-headlines {
  background: url(../img/mainv-title-sp@2x.png) 0 0/contain no-repeat;
  height: 32.337883959vw;
  left: 5.1194539249vw;
  position: absolute;
  top: 7.5085324232vw;
  width: 88.8225255973vw;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .mainv__body .body-headlines {
    background-image: url(../img/mainv-title-pc@2x.png);
    height: 15vw;
    left: 9.2105263158vw;
    top: 31.5131578947vw;
    width: 42.3684210526vw;
  }
}

.mainv__deco {
  height: 100%;
  position: absolute;
  top: 0;
  width: 100%;
}
.mainv__deco .deco-line {
  height: auto;
  position: absolute;
}
.mainv__deco .deco-line.line1 {
  display: none;
}
@media screen and (min-width: 768px) {
  .mainv__deco .deco-line.line1 {
    display: block;
    left: 6.9407894737vw;
    top: 0.5263157895vw;
    width: 28.4539473684vw;
  }
}
.mainv__deco .deco-line.line2 {
  display: none;
}
@media screen and (min-width: 768px) {
  .mainv__deco .deco-line.line2 {
    display: block;
    left: -1.3157894737vw;
    top: 3.4210526316vw;
    width: 19.6710526316vw;
  }
}
.mainv__deco .deco-line.line3 {
  left: -24.9146757679vw;
  top: 110.409556314vw;
  width: 77.6706484642vw;
}
@media screen and (min-width: 768px) {
  .mainv__deco .deco-line.line3 {
    left: -2.2368421053vw;
    top: 51.6447368421vw;
    width: 49.2105263158vw;
  }
}
.mainv__deco .deco-line.line4 {
  left: -16.2116040956vw;
  top: 115.6996587031vw;
  width: 100.4726962457vw;
}
@media screen and (min-width: 768px) {
  .mainv__deco .deco-line.line4 {
    left: 11.9078947368vw;
    top: 54.1447368421vw;
    width: 63.6184210526vw;
  }
}
.mainv__deco .deco-line.line5 {
  display: none;
}
@media screen and (min-width: 768px) {
  .mainv__deco .deco-line.line5 {
    display: block;
    left: 74.8684210526vw;
    top: 57.9605263158vw;
    width: 35.2631578947vw;
  }
}

.intro__sect {
  background: url(../img/intro-bg-dots-sp.svg) 0 100%/contain no-repeat, url(../img/intro-bg-sp@2x.jpg) left 0 bottom 16.5529010239vw/contain no-repeat;
  height: 148.6348122867vw;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 768px) {
  .intro__sect {
    background-image: url(../img/intro-bg-dots-pc.svg), url(../img/intro-bg-pc@2x.jpg);
    background-position: 0 100%, 0 8.2236842105vw;
    height: 80.1315789474vw;
  }
}

.intro__body {
  color: #1a3964;
  line-height: 1.8;
  font-size: 1.1111111111rem;
  font-weight: 700;
  padding-top: 2.15em;
  position: relative;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .intro__body {
    font-size: 1.5789473684vw;
    line-height: 1.5;
    padding-top: 1em;
  }
}
.intro__body p + p {
  margin-top: 1.8em;
}
@media screen and (min-width: 768px) {
  .intro__body p + p {
    margin-top: 1.5em;
  }
}

.intro__deco {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.intro__deco .deco-line.line1 {
  display: none;
  position: absolute;
}
@media screen and (min-width: 768px) {
  .intro__deco .deco-line.line1 {
    display: block;
    left: -1.7763157895vw;
    height: auto;
    top: 10.7894736842vw;
    width: 26.3815789474vw;
  }
}

.intro__img {
  height: 100%;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 100%;
}
.intro__img picture {
  border-radius: 50%;
  height: 21.5017064846vw;
  outline: #fff solid 0.6825938567vw;
  overflow: hidden;
  position: absolute;
  width: 21.5017064846vw;
}
@media screen and (min-width: 768px) {
  .intro__img picture {
    height: 15vw;
    outline-width: 0.2631578947vw;
    width: 15vw;
  }
}
.intro__img .img1 {
  bottom: 73.7201365188vw;
  right: -2.2184300341vw;
}
@media screen and (min-width: 768px) {
  .intro__img .img1 {
    bottom: 51.3157894737vw;
    right: 12.0394736842vw;
  }
}
.intro__img .img2 {
  bottom: 62.9692832765vw;
  left: -0.5119453925vw;
}
@media screen and (min-width: 768px) {
  .intro__img .img2 {
    left: 14.6052631579vw;
    bottom: 43.8815789474vw;
  }
}
.intro__img .img3 {
  bottom: 36.0068259386vw;
  right: -1.1945392491vw;
}
@media screen and (min-width: 768px) {
  .intro__img .img3 {
    bottom: 25.0657894737vw;
    right: 12.8289473684vw;
  }
}
.intro__img .img4 {
  left: 30.8873720137vw;
  bottom: 19.2832764505vw;
}
@media screen and (min-width: 768px) {
  .intro__img .img4 {
    left: 34.0131578947vw;
    bottom: 12.8289473684vw;
  }
}

/*===== .numbe__sect =====*/
.numbe__sect {
  margin-top: -2.7303754266vw;
}
@media screen and (min-width: 768px) {
  .numbe__sect {
    margin-top: -4.3333333333rem;
  }
}
.numbe__sect .kkyh-banner {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  aspect-ratio: 566/48;
  background: url(../img/kkyh-banner@2x.webp) 0 0/contain no-repeat;
  margin: 1.6666666667rem auto 0;
  width: 31.4444444444rem;
}
@media screen and (min-width: 768px) {
  .numbe__sect .kkyh-banner {
    margin-top: 0.4444444444rem;
    width: 37.5rem;
  }
}

.numbe__head {
  min-height: 64.3344709898vw;
  overflow: hidden;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .numbe__head {
    min-height: 18.2222222222rem;
  }
}
.numbe__head .head-deco {
  height: 100%;
  position: absolute;
  width: 100%;
}
.numbe__head .head-deco .deco-line {
  display: block;
  height: auto;
  position: absolute;
}
.numbe__head .head-deco .line1 {
  left: -11.7747440273vw;
  top: 0;
  width: 48.4641638225vw;
}
@media screen and (min-width: 768px) {
  .numbe__head .head-deco .line1 {
    left: calc(50% - 46.6666666667rem);
    top: 6.6666666667rem;
    width: 24.0555555556rem;
  }
}
.numbe__head .head-deco .line2 {
  left: -12.9692832765vw;
  top: 6.8259385666vw;
  width: 35.1535836177vw;
}
@media screen and (min-width: 768px) {
  .numbe__head .head-deco .line2 {
    left: calc(50% - 49.3333333333rem);
    top: 10.1111111111rem;
    width: 16.6111111111rem;
  }
}
.numbe__head .head-deco .line3 {
  right: -18.771331058vw;
  top: 48.976109215vw;
  width: 49.1467576792vw;
}
@media screen and (min-width: 768px) {
  .numbe__head .head-deco .line3 {
    right: calc(50% - 55.1111111111rem);
    top: 11.8888888889rem;
    width: 32.6111111111rem;
  }
}
.numbe__head .head-deco .line4 {
  right: -19.4539249147vw;
  top: 54.6075085324vw;
  width: 26.9624573379vw;
}
@media screen and (min-width: 768px) {
  .numbe__head .head-deco .line4 {
    right: calc(50% - 55.5rem);
    top: 15.4444444444rem;
    width: 17.8333333333rem;
  }
}
.numbe__head .head-content {
  background: url(../img/numbe-title-bg.svg) 50% 3.0555555556rem/13.3333333333rem auto no-repeat;
  color: #505050;
  padding-bottom: 1.1111111111rem;
  padding-top: 6.4444444444rem;
  position: relative;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .numbe__head .head-content {
    background-position: 50% 0;
    padding-top: 3.5555555556rem;
  }
}
.numbe__head .head-content h2 {
  font-size: 2rem;
  font-weight: 500;
  width: 100%;
}
.numbe__head .head-content p {
  font-size: 1.2222222222rem;
  font-weight: 600;
  line-height: 1.4545454545;
  margin-top: 1.2272727273em;
}

@media screen and (max-width: 767px) {
  .numbe__main {
    width: 96.5870307167%;
  }
}
@media screen and (min-width: 768px) {
  .numbe__main {
    display: grid;
    gap: 1.1111111111rem 1.4444444444rem;
    grid-template-areas: "data1 data3" "data2 data3" "data4 data5" "data6 data6" "data7 data8" "data9 data10" "data11 data12" "data13 data14";
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(8, max(13.3333333333rem, auto));
  }
}
@media screen and (min-width: 1520px) {
  .numbe__main {
    gap: 1.6666666667rem 2.2222222222rem;
  }
}
.numbe__main .main-data {
  background-color: #e0faff;
  background-repeat: no-repeat;
  border-radius: 0.6666666667em;
  color: #1a3964;
  display: flex;
  flex-direction: column;
  font-size: 1.6666666667rem;
  font-weight: 700;
  justify-content: space-between;
  line-height: 1.9166666667;
  margin: 0;
  min-height: 8em;
  padding: 1.1666666667em 0.6666666667em 0.5em;
}
@media screen and (min-width: 768px) {
  .numbe__main .main-data {
    padding-left: 1em;
    padding-right: 1em;
  }
}
.numbe__main .main-data.bg-tr {
  background-position: right 7% top 1.3888888889rem;
}
.numbe__main .main-data.bg-tl {
  background-position: left 7% top 1.3888888889rem;
}
.numbe__main .main-data.bg-br {
  background-position: right 7% bottom 1.3888888889rem;
}
.numbe__main .main-data.bg-bl {
  background-position: left 7% bottom 1.3888888889rem;
}
.numbe__main .main-data + .main-data {
  margin-top: 1em;
}
@media screen and (min-width: 768px) {
  .numbe__main .main-data + .main-data {
    margin-top: 0;
  }
}
.numbe__main .main-data > dt {
  line-height: 1;
  color: #0091b1;
}
.numbe__main .main-data > dt .small {
  font-size: 0.6666666667em;
}
.numbe__main .main-data > dd {
  line-height: 1.5333333333;
  margin: 0;
}
.numbe__main .main-data > dd .num {
  display: inline-block;
  font-family: "Hind", "Arial", "Helvetica", "Trebuchet MS", "Noto Sans JP", "Hiragino Sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "Meiryo", "メイリオ", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  font-size: 3.2em;
  line-height: 1;
}
.numbe__main .main-data > dd .unit {
  display: inline-block;
  font-size: 1.2em;
  margin-left: 0.1944444444em;
}
.numbe__main .main-data > dd .small {
  font-size: 0.6666666667em;
}
.numbe__main .main-data.data1 {
  background-image: url(../img/numbe-data1-fig@2x.png);
  background-size: 3.3em auto;
  grid-area: data1;
}
.numbe__main .main-data.data2 {
  background-image: url(../img/numbe-data2-fig@2x.png);
  background-size: 2.5em auto;
  grid-area: data2;
}
.numbe__main .main-data.data3 {
  grid-area: data3;
}
.numbe__main .main-data.data3 > dd {
  padding-top: 0.8666666667em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .numbe__main .main-data.data3 > dd {
    padding-top: 0;
  }
}
.numbe__main .main-data.data3 ul {
  background: url(../img/numbe-data3-fig.svg) 0.9em 2.1333333333em/11.2em auto no-repeat;
  height: 12.4666666667em;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .numbe__main .main-data.data3 ul {
    height: 12.2em;
    background-position: 0 1.8em;
  }
}
@media screen and (min-width: 992px) {
  .numbe__main .main-data.data3 ul {
    height: 12.3666666667em;
    background-position: 0.9em 2.1333333333em;
  }
}
@media screen and (min-width: 1280px) {
  .numbe__main .main-data.data3 ul {
    width: calc(100% - 10px);
    margin: 0 auto;
  }
}
@media screen and (min-width: 1520px) {
  .numbe__main .main-data.data3 ul {
    width: calc(100% - 20px);
    margin: 0 auto;
  }
}
.numbe__main .main-data.data3 ul > li {
  position: absolute;
}
.numbe__main .main-data.data3 ul > li .label {
  display: block;
  font-size: 0.8333333333em;
  line-height: 1;
  padding-bottom: 0.15em;
}
@media screen and (min-width: 768px) {
  .numbe__main .main-data.data3 ul > li .label {
    background-color: #e0faff;
    font-size: 0.7106666667em;
    outline: 3px solid #e0faff;
  }
}
@media screen and (min-width: 992px) {
  .numbe__main .main-data.data3 ul > li .label {
    font-size: 0.8666666667em;
  }
}
.numbe__main .main-data.data3 ul > li .num {
  font-size: 2.2666666667em;
}
@media screen and (min-width: 768px) {
  .numbe__main .main-data.data3 ul > li .num {
    font-size: 1.8586666667em;
  }
}
@media screen and (min-width: 992px) {
  .numbe__main .main-data.data3 ul > li .num {
    font-size: 2.2666666667em;
  }
}
.numbe__main .main-data.data3 ul > li .unit {
  font-size: 0.9333333333em;
}
@media screen and (min-width: 768px) {
  .numbe__main .main-data.data3 ul > li .unit {
    font-size: 0.82em;
  }
}
@media screen and (min-width: 992px) {
  .numbe__main .main-data.data3 ul > li .unit {
    font-size: 1em;
  }
}
.numbe__main .main-data.data3 ul > li.ofc1 {
  left: 1.6333333333em;
  top: 0;
}
.numbe__main .main-data.data3 ul > li.ofc2 {
  left: 10.9666666667em;
  top: 0;
}
@media screen and (min-width: 768px) {
  .numbe__main .main-data.data3 ul > li.ofc2 {
    left: 10.1333333333em;
  }
}
@media screen and (min-width: 992px) {
  .numbe__main .main-data.data3 ul > li.ofc2 {
    left: 10.9666666667em;
  }
}
.numbe__main .main-data.data3 ul > li.ofc3 {
  left: 0;
  top: 4.3em;
  top: 4.2em;
}
.numbe__main .main-data.data3 ul > li.ofc4 {
  left: 12.2em;
  top: 4.2em;
}
@media screen and (min-width: 768px) {
  .numbe__main .main-data.data3 ul > li.ofc4 {
    left: 11.2666666667em;
    top: 4.2em;
  }
}
@media screen and (min-width: 992px) {
  .numbe__main .main-data.data3 ul > li.ofc4 {
    left: 12.2em;
    top: 4.2em;
  }
}
.numbe__main .main-data.data3 ul > li.ofc5 {
  left: 12.2em;
  top: 8.5em;
}
@media screen and (min-width: 768px) {
  .numbe__main .main-data.data3 ul > li.ofc5 {
    left: 10.2333333333em;
    top: 8.5em;
  }
}
@media screen and (min-width: 992px) {
  .numbe__main .main-data.data3 ul > li.ofc5 {
    left: 11.8em;
    top: 8.7666666667em;
  }
}
@media screen and (min-width: 1280px) {
  .numbe__main .main-data.data3 ul > li.ofc5 {
    left: 12.2em;
    top: 8.5em;
  }
}
.numbe__main .main-data.data4 {
  background-image: url(../img/numbe-data4-fig@2x.png);
  background-size: 3.9333333333em auto;
  grid-area: data4;
}
.numbe__main .main-data.data4 ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}
.numbe__main .main-data.data4 ul > li {
  flex: 0 0 50%;
}
.numbe__main .main-data.data4 ul > li .label {
  display: block;
  font-size: 0.8666666667em;
  line-height: 1;
  margin-bottom: 0.25em;
}
.numbe__main .main-data.data4 ul > li .num {
  font-size: 2.4em;
}
.numbe__main .main-data.data4 ul > li .unit {
  font-size: 1em;
}
.numbe__main .main-data.data5 {
  background-image: url(../img/numbe-data5-fig@2x.png);
  background-size: 3.6em auto;
  grid-area: data5;
}
.numbe__main .main-data.data6 {
  background-image: url(../img/numbe-data6-fig@2x.png);
  background-position: right 3.25% top 1.3888888889rem;
  background-size: 3.3em auto;
  padding-bottom: 1.1666666667em;
  grid-area: data6;
}
.numbe__main .main-data.data6 > dd {
  font-size: 0.8em;
  line-height: 1.9166666667;
  padding-top: 3.2em;
}
.numbe__main .main-data.data6 > dd .small {
  font-size: 0.8333333333em;
}
.numbe__main .main-data.data7 {
  background-image: url(../img/numbe-data7-fig@2x.png);
  background-size: 3.1666666667em auto;
  grid-area: data7;
}
.numbe__main .main-data.data8 {
  background-image: url(../img/numbe-data8-fig@2x.png);
  background-size: 3.2333333333em auto;
  grid-area: data8;
}
.numbe__main .main-data.data9 {
  background-image: url(../img/numbe-data9-fig@2x.png);
  background-size: 2.9333333333em auto;
  grid-area: data9;
}
.numbe__main .main-data.data9 ul {
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 0 0 0 5.6666666667em;
}
.numbe__main .main-data.data9 ul > li .label {
  display: block;
  font-size: 0.8666666667em;
  line-height: 1;
  margin-bottom: 0.25em;
}
.numbe__main .main-data.data9 ul > li .num {
  font-size: 2.4em;
}
.numbe__main .main-data.data9 ul > li .unit {
  font-size: 1em;
}
.numbe__main .main-data.data9 ul > li .txt {
  font-size: 1.2em;
  line-height: 1;
}
.numbe__main .main-data.data10 {
  background-image: url(../img/numbe-data10-fig@2x.png);
  background-size: 3.1333333333em auto;
  grid-area: data10;
}
.numbe__main .main-data.data11 {
  background-image: url(../img/numbe-data11-fig@2x.png);
  background-size: 3.1em auto;
  grid-area: data11;
}
.numbe__main .main-data.data12 {
  background-image: url(../img/numbe-data12-fig@2x.png);
  background-size: 3.0333333333em auto;
  grid-area: data12;
}
.numbe__main .main-data.data13 {
  background-image: url(../img/numbe-data13-fig@2x.png);
  background-size: 3.1333333333em auto;
  grid-area: data13;
  padding-bottom: 1.1666666667em;
}
.numbe__main .main-data.data14 {
  background-image: url(../img/numbe-data14-fig@2x.png);
  background-size: 3em auto;
  grid-area: data14;
  padding-bottom: 1.1666666667em;
}

/*===== index: 社員インタビュー section.inter__sect  */
.inter__sect {
  background: url(../img/deco-dots1-2026-sp.svg) 0 0/contain no-repeat;
  margin-top: 4.3888888889rem;
  padding-top: 6.6666666667rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .inter__sect {
    background: url(../img/deco-dots1-2026-pc.svg) 50% 0/88.8888888889rem auto no-repeat;
    padding-bottom: 3.3333333333rem;
  }
}

.inter__deco {
  position: absolute;
  left: -24.8805460751vw;
  top: 1.0580204778vw;
}
@media screen and (min-width: 768px) {
  .inter__deco {
    left: calc(50% - 46.6722222222rem);
    top: 0.6777777778rem;
  }
}
.inter__deco > .deco-line {
  position: absolute;
  height: auto;
}
.inter__deco > .line1 {
  left: 0;
  top: 0;
  width: 39.5221843003vw;
}
@media screen and (min-width: 768px) {
  .inter__deco > .line1 {
    width: 23.9833333333rem;
  }
}
.inter__deco > .line2 {
  left: 16.6552901024vw;
  top: 5.5802047782vw;
  width: 27.337883959vw;
}
@media screen and (min-width: 768px) {
  .inter__deco > .line2 {
    left: 10.1rem;
    top: 3.45rem;
    width: 16.5888888889rem;
  }
}

.inter__head {
  background: url(../img/numbe-title-bg.svg) center/contain no-repeat;
  color: #505050;
  height: 13.3333333333rem;
  padding-top: 3.5555555556rem;
  position: relative;
  text-align: center;
}
.inter__head > h2 {
  font-size: 2rem;
  font-weight: 500;
}
.inter__head > p {
  font-size: 1.2222222222rem;
  font-weight: 600;
  line-height: 1.4545454545;
  margin-top: 1.2272727273em;
}

.inter__main {
  margin-top: 3.6666666667rem;
}
.inter__main .inter__swiper {
  overflow: hidden;
  width: 100%;
}
.inter__main .inter__swiper .swiper-wrapper {
  height: 20rem;
  margin: 0 auto;
  transition-timing-function: linear;
  width: 100vw;
  width: 100dvw;
}
.inter__main .inter__swiper .swiper-slide {
  height: 20rem;
  margin: 0 1.1111111111rem;
  width: 22.2222222222rem;
}
.inter__main .inter__swiper .swiper-slide > a {
  background-color: #ccc;
  border-radius: 1.1111111111rem;
  display: block;
  height: 100%;
  overflow: hidden;
  transition: filter 0.15s ease-out;
  width: 100%;
}
@media (pointer: fine) {
  .inter__main .inter__swiper .swiper-slide > a:hover {
    filter: brightness(125%);
  }
}
.inter__main .inter__swiper .swiper-slide > a:active {
  filter: brightness(80%);
}
.inter__main .inter__swiper .swiper-slide > a > img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.inter__main .inter__swiper .swiper-slide.item1 img {
  object-position: 50% 10%;
}
.inter__main .inter__swiper .swiper-slide.item2 img {
  object-position: 50% 10%;
}
.inter__main .inter__swiper .swiper-slide.item3 img {
  object-position: 50% 10%;
}
.inter__main .inter__swiper .swiper-slide.item4 img {
  object-position: 50% 10%;
}
.inter__main .inter__swiper .swiper-slide.item5 img {
  object-position: 50% 10%;
}
.inter__main .inter__swiper .swiper-slide.item6 img {
  object-position: 50% 10%;
}
.inter__main .cmn__gradi-button {
  font-size: 1.7777777778rem;
  line-height: 1;
  margin-top: 2.2222222222rem;
  width: 15.1875em;
}
.inter__main .cmn__gradi-button > .link {
  padding-top: 1.40625em;
  padding-bottom: 1.34375em;
}

/*===== index: 採用情報 section.recru__sect  */
.recru__sect {
  background: url(../img/deco-dots2-2026-sp.svg) 0 7.5555555556rem/contain no-repeat;
  margin-top: 11.3888888889rem;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .recru__sect {
    background: url(../img/deco-dots2-2026-pc.svg) 50% 0/88.8888888889rem auto no-repeat;
    margin-top: 4.3888888889rem;
    padding-top: 7.8888888889rem;
    padding-bottom: 21.5555555556rem;
  }
}

.recru__head {
  background: url(../img/recru-title-bg.svg) center/contain no-repeat;
  color: #505050;
  height: 13.3333333333rem;
  padding-top: 3.5555555556rem;
  position: relative;
  text-align: center;
}
.recru__head > h2 {
  font-size: 2rem;
  font-weight: 500;
}
.recru__head > p {
  font-size: 1.2222222222rem;
  font-weight: 600;
  line-height: 1.4545454545;
  margin-top: 1.2272727273em;
}

.recru__deco {
  left: 26.4388888889rem;
  position: absolute;
  top: 19.1277777778rem;
}
@media screen and (min-width: 768px) {
  .recru__deco {
    left: calc(50% + 19.9388888889rem);
    top: 49.1666666667rem;
  }
}
.recru__deco .deco-line {
  height: auto;
  position: absolute;
}
.recru__deco .line1 {
  left: 0;
  top: 0;
  width: 8.9rem;
}
@media screen and (min-width: 768px) {
  .recru__deco .line1 {
    width: 16.5888888889rem;
  }
}
.recru__deco .line2 {
  left: 1.4444444444rem;
  top: 1.2722222222rem;
  width: 12.8666666667rem;
}
@media screen and (min-width: 768px) {
  .recru__deco .line2 {
    left: 2.6888888889rem;
    top: 2.4333333333rem;
    width: 23.9833333333rem;
  }
}

.recru__main {
  display: flex;
  flex-direction: column;
  gap: 2.7777777778rem;
  margin-top: 3.3333333333rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .recru__main {
    flex-direction: row;
    gap: 0;
    justify-content: space-between;
  }
}
.recru__main .cmn__gradi-button {
  flex: 0 0 auto;
}
@media screen and (min-width: 768px) {
  .recru__main .cmn__gradi-button {
    margin-left: 0;
    margin-right: 0;
  }
}
.recru__main .cmn__gradi-button > a {
  display: grid;
  grid-template-columns: 10rem 11.1111111111rem;
  justify-content: space-between;
  padding: 1.6666666667rem 1.4444444444rem 1.6666666667rem 1.8333333333rem;
  width: 26.7777777778rem;
}
@media screen and (min-width: 768px) {
  .recru__main .cmn__gradi-button > a {
    padding-left: 3.8888888889rem;
    padding-right: 4.4444444444rem;
    width: 33.3333333333rem;
  }
}
.recru__main .cmn__gradi-button > a span.label-1 {
  align-items: center;
  aspect-ratio: 1/1;
  background-color: #fffa81;
  border-radius: 50%;
  color: #505050;
  display: flex;
  height: 100%;
  justify-content: center;
  font-size: 1.8888888889rem;
  font-weight: 400;
  text-shadow: none;
}
.recru__main .cmn__gradi-button > a span.label-2 {
  display: flex;
  flex-direction: column;
  line-height: 1;
}
.recru__main .cmn__gradi-button > a span.label-2 span.year {
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0.03em;
  margin-bottom: 0.3611111111em;
  text-shadow: none;
}
.recru__main .cmn__gradi-button > a span.label-2 span.title-l {
  font-size: 2.5555555556rem;
  font-weight: 400;
  letter-spacing: 0.05em;
}
.recru__main .cmn__gradi-button > a span.label-2 span.title-s {
  font-size: 1.3333333333rem;
  font-weight: 500;
  margin-top: 0.625em;
}

/*===== animations =====*/
.mainv__body .body-covers .upper {
  transform: translateY(10.2389078498vw);
}
@media screen and (min-width: 768px) {
  .mainv__body .body-covers .upper {
    transform: translateY(3.9473684211vw);
  }
}
.mainv__body .body-covers .lower {
  transform: translateY(-10.2389078498vw);
}
@media screen and (min-width: 768px) {
  .mainv__body .body-covers .lower {
    transform: translateY(-3.9473684211vw);
  }
}
.mainv__body .body-covers.active .upper {
  animation: anm-body-cover-upper-sp 0.5s linear 0s 1 normal both;
}
@media screen and (min-width: 768px) {
  .mainv__body .body-covers.active .upper {
    animation-name: anm-body-cover-upper-pc;
  }
}
.mainv__body .body-covers.active .lower {
  animation: anm-body-cover-lower-sp 0.5s linear 0s 1 normal both;
}
@media screen and (min-width: 768px) {
  .mainv__body .body-covers.active .lower {
    animation-name: anm-body-cover-lower-pc;
  }
}

@keyframes anm-body-cover-upper-sp {
  0% {
    transform: translateY(10.2389078498vw);
  }
  100% {
    transform: translateY(0px);
  }
}
@keyframes anm-body-cover-lower-sp {
  0% {
    transform: translateY(-10.2389078498vw);
  }
  100% {
    transform: translateY(0px);
  }
}
@keyframes anm-body-cover-upper-pc {
  0% {
    transform: translateY(3.9473684211vw);
  }
  100% {
    transform: translateY(0px);
  }
}
@keyframes anm-body-cover-lower-pc {
  0% {
    transform: translateY(-3.9473684211vw);
  }
  100% {
    transform: translateY(0px);
  }
}
.mainv__body .body-headlines {
  opacity: 0;
  transition: opacity 1.5s ease-in 0.75s;
}
.mainv__body .body-headlines.active {
  opacity: 1;
}

.deco-line {
  opacity: 0;
  transform: translate(-17.0648464164vw, 1.1945392491vw);
  transition: transform 1s ease-out, opacity 1s linear;
  transition-delay: calc(var(--d) * 0.45s);
}
@media screen and (min-width: 768px) {
  .deco-line {
    transform: translate(-6.5789473684vw, 0.4605263158vw);
  }
}
.deco-line.active {
  opacity: 1;
  transform: translate(0, 0);
}

.intro__img > picture {
  opacity: 0;
  transform: translateY(1.5rem);
  transition: transform 1s ease-out, opacity 0.75s linear;
  transition-delay: calc(var(--d) * 0.35s);
}
.intro__img > picture.active {
  opacity: 1;
  transform: translateY(0);
}

.slidein-title {
  opacity: 0;
  transform: translateY(1rem);
  transition: transform 1s ease-out, opacity 0.75s linear;
  transition-delay: 0.25s;
}
.slidein-title.active {
  opacity: 1;
  transform: translateY(0);
}

/*/////
jobs (newgrad, career)
/////*/
/*=====
// jobs: ページ & 共有設定
// `body.jobs`
=====*/
.cmn-headline,
.jobs__part .part-head .part-head-title {
  background: url(../img/jobs-sect-head-line.svg) 50% 0/auto 3.8888888889rem no-repeat;
  font-size: 1.6666666667rem;
  height: 3.6em;
  padding-top: 2.5333333333em;
  text-align: center;
}

body.jobs .jobs__deco {
  height: 11.1111111111rem;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 5rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  body.jobs .jobs__deco {
    top: 4.5555555556rem;
  }
}
body.jobs .jobs__deco .deco-line {
  position: absolute;
  height: auto;
}
body.jobs .jobs__deco .line1 {
  left: 25.8611111111rem;
  top: 0;
  width: 16.2944444444rem;
}
@media screen and (min-width: 768px) {
  body.jobs .jobs__deco .line1 {
    left: calc(50% + 21.1666666667rem);
    width: 24.0277777778rem;
  }
}
body.jobs .jobs__deco .line2 {
  left: 24.0333333333rem;
  top: 2.3388888889rem;
  width: 11.2722222222rem;
}
@media screen and (min-width: 768px) {
  body.jobs .jobs__deco .line2 {
    left: calc(50% + 18.5rem);
    top: 3.4444444444rem;
    width: 16.6166666667rem;
  }
}
body.jobs main {
  background: url(../img/jobs-deco-dots-upper-sp.svg) 0 0/contain no-repeat;
}
@media screen and (min-width: 768px) {
  body.jobs main {
    background-image: url(../img/jobs-deco-dots-upper-pc.svg), url(../img/jobs-deco-dots-lower-pc.svg);
    background-position: center top 4.1555555556rem, center bottom 56.7222222222rem;
    background-repeat: no-repeat;
    background-size: 90.2222222222rem auto, 85.9666666667rem auto;
  }
}
body.jobs .jobs__entry-button {
  margin-top: 10.3888888889rem;
  margin-bottom: 4.4444444444rem;
}
@media screen and (min-width: 768px) {
  body.jobs .jobs__entry-button {
    margin-top: 12.7777777778rem;
  }
}
body.jobs .jobs__entry-button .cmn__gradi-button {
  margin: 0 auto;
  width: 29.2222222222rem;
}
@media screen and (min-width: 768px) {
  body.jobs .jobs__entry-button .cmn__gradi-button {
    width: 35.5555555556rem;
  }
}
body.jobs .jobs__entry-button .cmn__gradi-button > a {
  font-size: 1.6666666667rem;
  line-height: 1.6;
  padding: 0.9em;
}

/*=====
// jobs: 1.タイトルsection
// `.jobs__title-sect`
=====*/
.jobs__title-sect {
  padding-top: 6.9444444444rem;
  margin-bottom: 4.4444444444rem;
}

.jobs__title-container {
  background-color: #EDFF88;
  border-radius: 50%;
  color: #505050;
  height: 13.3333333333rem;
  line-height: 1;
  margin: 0 auto;
  padding-top: 3.6666666667rem;
  text-align: center;
  width: 13.3333333333rem;
}
.jobs__title-container .label {
  font-size: 2rem;
  font-weight: 500;
}
.jobs__title-container .title {
  display: flex;
  flex-direction: column;
  font-size: 1.2222222222rem;
  font-weight: 700;
  gap: 0.4545454545em;
  height: 2.7272727273em;
  justify-content: center;
  margin-top: 1.5em;
}
.jobs__title-container .title h1 {
  font-size: 1em;
}

/*=====
// jobs: 2.募集職種section
// `.jobs__part.types`
=====*/
.jobs__part.types {
  margin-top: -0.5rem;
}
@media screen and (min-width: 768px) {
  .jobs__part.types {
    margin-top: -1.2777777778rem;
  }
}
@media screen and (min-width: 768px) {
  .jobs__part.types .part-main {
    align-items: center;
    display: grid;
    gap: 0 6.3333333333rem;
    grid-template-columns: repeat(2, 0.5fr);
    grid-template-rows: auto;
    margin-top: 1.1111111111rem;
  }
}
@media screen and (min-width: 768px) {
  .jobs__part.types .col-left, .jobs__part.types .col-right {
    display: flex;
    flex-direction: column;
    gap: 1.6666666667rem;
  }
}
.jobs__part.types article.jpa-green {
  background: url(../img/jobs-types-circle.svg) 0 0/7.1111111111rem auto no-repeat;
}
.jobs__part.types article.jpa-blue {
  background: url(../img/jobs-types-circle2.svg) 0 0/7.1111111111rem auto no-repeat;
}
.jobs__part.types article {
  margin-top: 1.6666666667rem;
}
@media screen and (min-width: 768px) {
  .jobs__part.types article {
    margin-top: 0;
  }
}
.jobs__part.types article .post-title {
  font-size: 1.4444444444rem;
  font-weight: 500;
  margin-bottom: 0.5769230769em;
  padding-left: 1.1538461538em;
  padding-top: 1.8461538462em;
}

.jobs__part.types article .body {
  background-color: #fff;
  margin-left: 4.6111111111em;
  padding: 1.6666666667em 1.0555555556em;
  text-align: justify;
}
.jobs__part.types article.jpa-green .body {
  border: 2px solid #EDFF88;
  border-radius: 1.1111111111em;
}
.jobs__part.types article.jpa-blue .body {
  border: 2px solid #B4E7F8;
  border-radius: 1.1111111111em;
}
.jobs__part.types article .body p {
  font-size: max(13px, 1rem);
}

/*=====
// jobs: 5.応募要領section
// `.jobs__part.guide`
=====*/
.jobs__part.guide {
  background: url(../img/jobs-deco-dots-guide-sp.svg) 0 0/contain no-repeat;
  margin-top: 0.9444444444rem;
  padding-top: 4.3888888889rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .jobs__part.guide {
    background: none;
    margin-top: -2.5555555556rem;
    padding-top: 7rem;
  }
}
.jobs__part.guide .part-head {
  margin-bottom: 2.8888888889rem;
}
@media screen and (min-width: 768px) {
  .jobs__part.guide .part-head {
    margin-bottom: 2.6666666667rem;
  }
}
.jobs__part.guide .part-main {
  margin-top: 0;
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .jobs__part.guide .part-main {
    align-items: start;
    display: grid;
    gap: 1.1111111111rem 1.2777777778rem;
    grid-template-columns: auto 1fr;
  }
}
.jobs__part.guide .part-main dt {
  background-color: #FFE781;
  border-radius: 1.1111111111em;
  font-size: max(13px, 1rem);
  font-weight: 700;
  line-height: 2.2222222222;
  text-align: center;
  width: 11.1111111111em;
}
.jobs__part.guide .part-main dd {
    /*
    font-size: 0.8888888889em;
    font-size: max(12px, 0.8888888889rem);
    line-height: 1.875;
    */
    /* added */
    line-height: 1.4;
    /* added end*/
    
  font-weight: 500;
  margin-left: 1.25em;
  padding-top: 0.5em;
  padding-right: 1.25em;
}
@media screen and (min-width: 768px) {
  .jobs__part.guide .part-main dd {
    margin-left: 0;
  }
}
.jobs__part.guide .part-main dd + dt {
  margin-top: 1.3888888889em;
}
@media screen and (min-width: 768px) {
  .jobs__part.guide .part-main dd + dt {
    margin-top: 0;
  }
}
.jobs__part.guide .part-main dd > a.lg {
  font-size: 1.25em;
  line-height: 1;
}
.jobs__part.guide .part-main dd > ul {
  margin-top: 0;
  margin-bottom: 1.125em;
  padding-left: 1.15em;
}

/* added */
.jobs__part.guide .part-main dd > ul li {
  margin: 16px 0;
  font-size: 0.9em;
}
.jobs__part.guide .part-main dd > ul li img {
  margin: 4px 0;
}
/* added end*/

.jobs__part.guide .part-main dd > ul .arrow {
  display: inline-block;
  margin-left: 1em;
}
.jobs__part.guide .part-main dd .note {
  font-size: max(11px, 0.8125em);
  line-height: 1.5384615385;
}

.cmn-tablish-dl {
  border-top: 1px solid #BBD4C4;
  font-size: max(12px, 0.9444444444rem);
  font-weight: 400;
  line-height: 1.5294117647;
  margin-block: 0;
}
@media screen and (min-width: 768px) {
  .cmn-tablish-dl {
    display: grid;
    grid-template-columns: 15.5555555556rem 1fr;
    grid-template-rows: auto;
  }
}
.cmn-tablish-dl > dt, .cmn-tablish-dl > dd {
  border-bottom: 1px solid #BBD4C4;
  padding: 1em 1.1764705882em;
}
.cmn-tablish-dl > dt {
  background-color: #FFFEE0;
}
.cmn-tablish-dl > dd {
  background-color: #FAFAFA;
  margin-left: 0;
}
.cmn-tablish-dl > dd > ul {
  margin: 0;
  padding-left: 1.15em;
}
.cmn-tablish-dl > dd .tablish-ul .label, .cmn-tablish-dl > dd .tablish-ul .data {
  display: inline-block;
}
.cmn-tablish-dl > dd .tablish-ul .label {
  width: 7em;
}
.cmn-tablish-dl > dd > dl {
  margin-block: 0;
}
.cmn-tablish-dl > dd > dl > dd {
  margin-left: 0;
}

/*=====
// jobs: 3.待遇section
// `.jobs__part.treat`
=====*/
.jobs__part.treat {
  margin-top: 4rem;
  background: url(../img/jobs-deco-dots-treat-sp.svg) 0 0/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .jobs__part.treat {
    background: none;
    margin-top: 0;
  }
}
.jobs__part.treat .part-head {
  padding-top: 0.4444444444rem;
  margin-bottom: 2.1111111111rem;
}
@media screen and (min-width: 768px) {
  .jobs__part.treat .part-head {
    padding-top: 3.3333333333rem;
  }
}

/*=====
// jobs: 4.福利厚生section
// `.jobs__part.welfa`
=====*/
.jobs__part.welfa {
  margin-top: 4.4444444444rem;
}
@media screen and (min-width: 768px) {
  .jobs__part.welfa {
    margin-top: 3.3333333333rem;
  }
}
.jobs__part.welfa .part-head {
  margin-bottom: 2.1111111111rem;
}

/*=====
// jobs: careerページ "募集職種と待遇" section
// `.jobs__part.type-and-treat`
=====*/
.jobs__part.type-and-treat .part-main {
  margin-top: 3.4444444444rem;
}
.jobs__part.type-and-treat article {
  border: 3px solid #edff88;
  border-radius: 0.5555555556rem;
  margin-top: 1.6666666667rem;
  position: relative;
}
.jobs__part.type-and-treat article .post-head {
  cursor: pointer;
  background: #edff88 url(../img/jobs-tat-post-open-icon.svg) center right 1.6666666667rem/1.5555555556rem auto no-repeat;
  position: relative;
  transition: all 0.2s ease-out;
  z-index: 2;
}
@media (pointer: fine) {
  .jobs__part.type-and-treat article .post-head:hover {
    filter: brightness(130%);
  }
}
.jobs__part.type-and-treat article .post-head:active {
  filter: brightness(80%);
}
.jobs__part.type-and-treat article .post-head h3 {
  font-size: 1.4444444444rem;
  font-weight: 500;
  padding: 0.7307692308em 0.9615384615em;
}
.jobs__part.type-and-treat article .post-body {
  height: 30px;
  overflow: hidden;
  padding: 0 1.5rem;
  position: relative;
  margin-top: -30px;
  transform: scaleY(1%);
  transform-origin: 0 0;
  transition: all 0.2s ease-out;
}
.jobs__part.type-and-treat article .post-body p {
  font-size: max(12px, 0.8888888889rem);
  line-height: 1.875;
}
.jobs__part.type-and-treat article .post-body dl.cmn-tablish-dl {
  margin-top: 1.9444444444rem;
  font-size: max(13px, 0.9444444444rem);
}
.jobs__part.type-and-treat article.opened .post-head {
  background-color: #fff;
  background-image: url(../img/jobs-tat-post-close-icon.svg);
}
.jobs__part.type-and-treat article.opened .post-body {
  height: max-content;
  margin-top: 0;
  transform: scaleY(100%);
  padding-bottom: 3.0555555556rem;
  padding-top: 0.8333333333rem;
}

/*/////
interview-top
/////*/
/*=====
// 社員インタビュー一覧 (interview-top.html)
// `.ivt__`
=====*/
.ivt__title-sect {
  aspect-ratio: 586/660;
  background: url(../img/ivt-title-bg-sp@2x.webp) 0 100%/contain no-repeat;
  overflow: hidden;
  padding-top: 5.5555555556rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .ivt__title-sect {
    aspect-ratio: unset;
    background: url(../img/ivt-title-bg-pc@2x.webp) center/cover no-repeat;
    height: 37.7777777778rem;
    padding-top: 11.2222222222rem;
  }
}
.ivt__title-sect .ivt__title-container {
  background: url(../img/ivt-title-circle.svg) center top/contain no-repeat;
  color: #505050;
  height: 13.3333333333rem;
  line-height: 1;
  margin: 0 auto;
  padding-top: 3.6666666667rem;
  position: relative;
  text-align: center;
}
.ivt__title-sect .ivt__title-container h1 {
  font-size: 2rem;
  font-weight: 500;
}
.ivt__title-sect .ivt__title-container p {
  font-size: 1.2222222222rem;
  font-weight: 600;
  line-height: 1.4545454545;
  margin-top: 1.2272727273em;
}
.ivt__title-sect .ivt__deco {
  left: -2.8888888889rem;
  position: absolute;
  top: 32.7222222222rem;
}
@media screen and (min-width: 768px) {
  .ivt__title-sect .ivt__deco {
    top: 30.5555555556rem;
  }
}
.ivt__title-sect .ivt__deco .deco-line {
  position: absolute;
  height: auto;
}
.ivt__title-sect .ivt__deco .line1 {
  left: 0;
  top: 0;
  width: 13.5833333333rem;
}
@media screen and (min-width: 768px) {
  .ivt__title-sect .ivt__deco .line1 {
    width: 24.0277777778rem;
  }
}
.ivt__title-sect .ivt__deco .line2 {
  left: 5.7111111111rem;
  top: 1.95rem;
  width: 9.3944444444rem;
}
@media screen and (min-width: 768px) {
  .ivt__title-sect .ivt__deco .line2 {
    left: 10.1rem;
    top: 3.4444444444rem;
    width: 16.6166666667rem;
  }
}

.ivt__chart {
  margin-top: 5.5555555556rem;
}
@media screen and (min-width: 768px) {
  .ivt__chart {
    margin-top: 4.4444444444rem;
  }
}
.ivt__chart picture {
  margin-left: -1.1111111111rem;
  margin-right: -1.1111111111rem;
  margin-top: 4.1666666667rem;
}
@media screen and (min-width: 768px) {
  .ivt__chart picture {
    margin-left: 0;
    margin-right: 0;
  }
}

.ivt__staff {
  margin-top: 8.3333333333rem;
  margin-bottom: 8.3333333333rem;
}
.ivt__staff .staff-item-container {
  display: flex;
  flex-direction: column;
  gap: 4.4444444444rem;
  margin-top: 4.4444444444rem;
  padding: 0 1.1111111111rem;
}
@media screen and (min-width: 768px) {
  .ivt__staff .staff-item-container {
    display: grid;
    gap: 4.4444444444rem 3.6111111111rem;
    grid-template-columns: repeat(3, 0.333fr);
    justify-content: space-between;
  }
}
.ivt__staff .staff-item > a {
  display: block;
  text-decoration: none;
  transition: filter 0.15s ease-out;
}
@media (pointer: fine) {
  .ivt__staff .staff-item > a:hover {
    filter: brightness(120%);
  }
}
.ivt__staff .staff-item > a:active {
  filter: brightness(85%);
}
.ivt__staff .staff-item figure {
  aspect-ratio: 1/1;
  border-radius: 1.1111111111rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .ivt__staff .staff-item figure {
    aspect-ratio: 37/43;
  }
}
.ivt__staff .staff-item figure > img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.ivt__staff .staff-item .item-body {
  margin: 0.8333333333rem auto 0;
  width: max(265px, 20.6666666667rem);
}
@media screen and (min-width: 768px) {
  .ivt__staff .staff-item .item-body {
    width: 100%;
  }
}
.ivt__staff .staff-item .item-body .item-body-title {
  color: #000;
  font-size: max(13px, 1rem);
  font-weight: 500;
  height: 3.5555555556em;
  line-height: 1.5555555556;
}

/* alternated */
.ivt__staff .staff-item .item-body ul.item-body-meta {
    display: flex;
    gap: 0.6em;
    flex-wrap: wrap;
    margin: 0;
    padding-left: 0;
    font-size: max(11px, 0.7777777778rem);
    line-height: 1.5714285714;
    font-weight: 500;
}
@media screen and (min-width: 768px) {
  .ivt__staff .staff-item .item-body ul.item-body-meta {
    font-size: max(10px, 0.7777777778rem);
  }
}
.ivt__staff .staff-item .item-body ul.item-body-meta li{ 
    list-style: none;
}

.ivt__staff .staff-item .item-body ul.item-body-meta li.title {
    background-color: #382f2d;
    color: #fff;
    padding: 4px 0.5em 6px;
    line-height:1;
    font-size:1.1em;
    font-weight:bold;
}
.ivt__staff .staff-item .item-body ul.item-body-meta li.year {
    color: #505050;
    line-height:1.75;
}
.ivt__staff .staff-item .item-body ul.item-body-meta li.tag {
    border:1px #505050 solid;
    border-radius: 4px;
    padding: 4px 0.5em 4px;
    color: #505050;
    line-height:1;
    font-size:0.9em;
    
}

/*/////
interview-1~6
/////*/
/*=====
// 個別社員インタビュー (interview-*.html)
// `body.interview-post`
// `.ivp__`
=====*/
body.interview-post figure > img {
  display: block;
  width: 100%;
  height: auto;
}

.ivp__head__sect {
  background-color: #343434;
  margin-top: 2rem;
  padding-top: 3.8333333333rem;
  padding-bottom: 5.5rem;
}
@media screen and (min-width: 768px) {
  .ivp__head__sect {
    margin-top: 4.8888888889rem;
    padding-bottom: 5.2222222222rem;
  }
}
.ivp__head__sect .head__title {
  margin-left: -1.1111111111rem;
}
.ivp__head__sect .head__title h1 {
  color: #fff;
  font-size: 1.1111111111rem;
  font-weight: 500;
}
.ivp__head__sect .head__title .lead {
  background: linear-gradient(90deg, #aff3ff, #edff88);
  background-clip: text;
  color: transparent;
  font-family: "Libre Franklin", "Arial", "Helvetica", "Trebuchet MS", "Noto Sans JP", "Hiragino Sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "Meiryo", "メイリオ", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  font-size: 3.3333333333rem;
  font-weight: 700;
  line-height: 1;
  margin-top: -0.0166666667em;
  width: max-content;
}
.ivp__head__sect figure {
  margin: 1.1666666667rem -1.1111111111rem 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  .ivp__head__sect figure {
    margin: 0;
    position: absolute;
    right: -1.1111111111rem;
    width: 64.5161290323%;
    top: -8.7777777778rem;
  }
}
.ivp__head__sect .head__body h2 {
  align-items: flex-start;
  color: #08408e;
  display: flex;
  flex-direction: column;
  font-size: 1.6666666667rem;
  font-weight: 600;
  gap: 0.2em;
  margin-left: -1.1111111111rem;
  margin-top: -1em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .ivp__head__sect .head__body h2 {
    font-size: 2.2222222222rem;
    margin-top: 1.025em;
  }
}
.ivp__head__sect .head__body h2 > span {
  background-color: #fff;
  padding: 0.5em 0.5em 0.5666666667em;
}
@media screen and (min-width: 768px) {
  .ivp__head__sect .head__body h2 > span {
    padding: 0.525em 0.5em 0.55em;
  }
}
.ivp__head__sect .head__body ul {
  color: #fff;
  font-weight: 500;
  margin-top: 1.6111111111rem;
  margin-bottom: 0;
  list-style: none;
  padding-left: 0;
}
.ivp__head__sect .head__body ul li.current {
  font-size: 1.3333333333rem;
  line-height: 1.375;
}
.ivp__head__sect .head__body ul li.history {
  font-size: max(12px, 0.8888888889rem);
  line-height: 1.5;
  margin-top: 0.75em;
}

/* added */
.ivp__head__sect .head__body ul li.tag {
    display:inline-block;
    margin-top:15px;
}
.ivp__head__sect .head__body ul li.tag span{
    border:#fff 1px solid;
    padding:2px 8px;
}

.ivp__body__sect {
  margin-bottom: 5.5555555556rem;
}
.ivp__body__sect article.mono {
  margin-top: 5.5555555556rem;
}
@media screen and (min-width: 768px) {
  .ivp__body__sect article.mono {
    display: grid;
    gap: 0 4.838%;
  }
  .ivp__body__sect article.mono.odd {
    grid-template-areas: "txt fig";
    grid-template-columns: 1fr 50%;
  }
  .ivp__body__sect article.mono.even {
    grid-template-areas: "fig txt";
    grid-template-columns: 50% 1fr;
  }
}
.ivp__body__sect article.mono .mono-txt {
  grid-area: txt;
  padding-bottom: 1.7777777778rem;
}
@media screen and (min-width: 768px) {
  .ivp__body__sect article.mono .mono-txt {
    padding-bottom: 0;
  }
}
.ivp__body__sect article.mono .mono-txt h3 {
  display: flex;
  flex-direction: column;
  font-weight: 500;
}
.ivp__body__sect article.mono .mono-txt h3 span.white {
  color: transparent;
}
.ivp__body__sect article.mono .mono-txt h3 span.label {
  font-size: max(12px, 0.8888888889rem);
  margin-bottom: 0.75em;
}
.ivp__body__sect article.mono .mono-txt h3 span.headline {
  font-size: max(16px, 1.3333333333rem);
  line-height: 1.5;
  margin-bottom: 1.0833333333em;
}
.ivp__body__sect article.mono .mono-txt p {
  font-size: max(14px, 0.9rem);
  font-weight: 500;
  line-height: 2;
}
.ivp__body__sect article.mono figure {
  grid-area: fig;
}
.ivp__body__sect .dailyschedule {
  background: linear-gradient(90deg, #EBFAFD, #AFF3FF);
  margin: 5.5555555556rem auto 0;
  padding: 2.8333333333rem 0 1.6111111111rem;
}
@media screen and (min-width: 768px) {
  .ivp__body__sect .dailyschedule {
    border-radius: 1.1111111111rem;
    padding-bottom: 2.0555555556rem;
    padding-left: 1.6666666667rem;
    padding-right: 1.6666666667rem;
    width: 688px;
  }
}
@media screen and (min-width: 992px) {
  .ivp__body__sect .dailyschedule {
    width: 912px;
  }
}
@media screen and (min-width: 1280px) {
  .ivp__body__sect .dailyschedule {
    width: 1100px;
  }
}
@media screen and (min-width: 1520px) {
  .ivp__body__sect .dailyschedule {
    width: 1240px;
  }
}
.ivp__body__sect .dailyschedule .dail-content {
  margin-left: auto;
  margin-right: auto;
  width: 89.761vw;
}
@media screen and (min-width: 768px) {
  .ivp__body__sect .dailyschedule .dail-content {
    display: grid;
    grid-template-areas: "head table";
    grid-template-columns: 23.1111111111rem 1fr;
    width: 100%;
  }
}
.ivp__body__sect .dailyschedule .dail-head {
  grid-area: head;
}
.ivp__body__sect .dailyschedule .dail-head h3 {
  font-size: max(14px, 1.1111111111rem);
  font-weight: 500;
}
.ivp__body__sect .dailyschedule .dail-head .lead {
  color: #33dbff;
  font-family: "Libre Franklin", "Arial", "Helvetica", "Trebuchet MS", "Noto Sans JP", "Hiragino Sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "Meiryo", "メイリオ", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 700;
  font-size: 2.6666666667rem;
  line-height: 1.2083333333;
  margin-top: 0.1458333333em;
}
.ivp__body__sect .dailyschedule table {
  border-collapse: collapse;
  font-size: max(13px, 1rem);
  grid-area: table;
  line-height: 1.7777777778;
  margin-top: 2.2222222222em;
}
@media screen and (min-width: 768px) {
  .ivp__body__sect .dailyschedule table {
    margin-top: 0;
  }
}
.ivp__body__sect .dailyschedule table th {
  font-weight: 500;
  vertical-align: top;
  padding-right: 2.3333333333em;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .ivp__body__sect .dailyschedule table th {
    padding-right: 2em;
  }
}
.ivp__body__sect .dailyschedule table td {
  font-weight: 500;
  padding-bottom: 0.8888888889em;
}
@media screen and (min-width: 768px) {
  .ivp__body__sect .dailyschedule table td {
    padding-bottom: 0.4444444444em;
  }
}
.ivp__body__sect article.message {
  margin-top: 5.5555555556rem;
}
@media screen and (min-width: 768px) {
  .ivp__body__sect article.message {
    display: grid;
    grid-template-areas: "fig txt";
    grid-template-columns: 19.2777777778rem 1fr;
  }
}
.ivp__body__sect article.message figure {
  grid-area: fig;
  margin: 0 auto;
  width: 13.3333333333rem;
}
@media screen and (min-width: 768px) {
  .ivp__body__sect article.message figure {
    margin-left: 1.6666666667rem;
    width: 13.3333333333rem;
  }
}
.ivp__body__sect article.message .message-txt {
  grid-area: txt;
  margin-top: 2.1666666667rem;
}
@media screen and (min-width: 768px) {
  .ivp__body__sect article.message .message-txt {
    margin-top: 0;
  }
}
.ivp__body__sect article.message .message-txt h3 {
  color: #33dbff;
  font-size: 1.3333333333rem;
  font-weight: 500;
  margin-bottom: 0.75em;
}
.ivp__body__sect article.message .message-txt p {
  font-size: max(13px, 1rem);
  font-weight: 500;
  line-height: 2.2222222222;
}
.ivp__body__sect .ivp__top-link.cmn__gradi-button {
  margin-top: 5.5555555556rem;
  width: 27rem;
}
@media screen and (min-width: 768px) {
  .ivp__body__sect .ivp__top-link.cmn__gradi-button {
    width: 35.5555555556rem;
  }
}
.ivp__body__sect .ivp__top-link.cmn__gradi-button > .link {
  font-size: 1.7777777778rem;
  line-height: 1.5;
  padding: 1.09375em 1.125em 1.125em;
}
/*# sourceMappingURL=style.css.map */

/* added */
.mt80{
    margin-top:80px;
}
.red{
    color: #c8102e;
}
.jobs__part.guide .part-main dd .flowbox{
    width:100%;
    border:1px solid #666;
    background:#fff;
    padding:20px 10px;
    text-align:center;
}
@media screen and (min-width: 768px) { 
    body.newgrad .jobs__part.guide .part-main dd .flowbox{
        width:400px;
    }
}

.jobs__part.guide .part-main dd .arrowimg{
    width:100%;
    height:24px;
    background:url(../img/arw_below.svg) no-repeat center top;
    background-size:contain;
    margin-bottom:10px;
}
@media screen and (min-width: 768px) { 
    body.newgrad .jobs__part.guide .part-main dd .arrowimg{
        width:400px;
    }
}

.tmplead *{
    text-align:center;
    margin-bottom:30px;
}
