@charset "UTF-8";
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0px;
  padding: 0px;
  border: 0px none;
  outline: 0px; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main {
  display: block; }

*,
*::before,
*::after {
  box-sizing: border-box !important; }

html {
  height: 100%; }

body {
  height: 100%;
  min-height: 101%;
  background: #fff; }

h1, h2, h3, h4, h5, h6 {
  font-style: normal;
  font-weight: normal; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal; }

strong {
  font-weight: bold; }

em {
  font-style: normal; }

small {
  font-size: 100%; }

ins {
  background: #FF9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #FF9;
  color: #000;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

sup {
  vertical-align: text-top; }

sub {
  vertical-align: text-bottom; }

a {
  outline: none;
  transition: 0.25s; }
  a:active, a:focus {
    outline: none; }
  a img {
    transition: 0.35s; }
  a:hover img {
    opacity: 0.7; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

img, fieldset {
  border: 0 none; }

video {
  max-width: 100%;
  height: auto; }

ul {
  list-style: none;
  list-style-position: inside; }

ol {
  list-style-position: inside; }
  ol li {
    padding-left: 1.2em;
    text-indent: -1.2em; }

dt {
  font-weight: normal; }

hr {
  display: none;
  border: 0 none; }

q:before, q:after {
  content: ''; }

blockquote, cite {
  width: auto;
  font-size: 0.93em;
  margin: 1em 1em 1em 1.5em; }

code {
  font-family: "Courier New", Courier, monotype;
  font-size: 1em; }

object, embed {
  vertical-align: top; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

th, td {
  text-align: left;
  vertical-align: top; }

th {
  font-weight: normal; }

input,
select,
select option,
textarea {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "sans-serif"; }

input, select {
  vertical-align: middle; }

button,
input[type="submit"],
input[type="button"] {
  cursor: pointer; }

input[type="text"],
input[type="file"],
input[type="email"],
input[type="tel"],
select,
select option,
textarea {
  padding: 5px 10px;
  border: #CCC 1px solid;
  border-radius: 5px;
  font-size: 16px;
  line-height: 1.5; }

input[type="text"],
input[type="file"],
input[type="email"],
input[type="tel"] {
  width: 60%; }

textarea {
  width: 100%; }

button,
input[type="submit"],
input[type="button"] {
  -webkit-appearance: button;
  appearance: button;
  border: none;
  -webkit-box-sizing: content-box;
  box-sizing: border-box; }
  button::-webkit-search-decoration,
  input[type="submit"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none; }
  button::focus,
  input[type="submit"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px; }

button,
input[type="button"],
input[type="submit"] {
  padding: 10px 30px;
  border-radius: 6px;
  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
  font-size: 16px;
  line-height: 1.5; }

option {
  padding-left: 0.4em; }

.clearfix:after {
  content: ".";
  /* 新しい要素を作る。 「.」は他の文字でもかまいません。*/
  display: block;
  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden; }

.clearfix {
  min-height: 1px; }

* html .clearfix {
  height: 1px;
  /*\*/
     /*/
height: auto;
overflow: hidden;
/**/ }

.clear {
  clear: both; }

.dis-f {
  display: flex; }

.dis-f-w {
  display: flex;
  flex-wrap: wrap; }

.bgGrayL {
  background-color: #CCCCCC; }

.bgGrayLL {
  background-color: #F6F6F6; }

.bgblueLL {
  background-color: #F3F7FA; }

.fontXS {
  font-size: 13px; }

.fontS, #copyright {
  font-size: 14px; }

.fontBase, #about-image .about-image-contents dl dt .colorRed, #wlb-employee-benefits .wlb-employee-benefits-contents dl dt .colorRed, #club-list dl dt span.category {
  font-size: 16px;
  line-height: 1.5em; }

.fontL, #home-social_contributions .home-social_contributions-contents dl dt, #about-role .about-role-contents dl::after, #about-numbers .about-numbers-contents dl dt .colorGray, #aboutwork-career .aboutwork-career-contents dl dt, #wlb-about ul li i.fa-solid, #festival-contents .festival-contents-detail dl dt, #faq-contents .accordion summary {
  font-size: 18px;
  line-height: 1.5em; }

.fontXL, main h4, #about-role .about-role-contents dl dt, #about-image .about-image-contents dl dt, #wlb-employee-benefits .wlb-employee-benefits-contents dl dt, #club-list dl dt, #club-list dl dt span.title, #festival-contents .festival-contents-about .right dt {
  font-size: 24px;
  line-height: 1.4em; }

.fontXXL, main h3, #about-numbers .about-numbers-contents dl dt, #aboutwork-category .aboutwork-category-content dl dt {
  font-size: 30px;
  line-height: 1.35em; }

.fontXXXL, main header h1, main h2 {
  font-size: 36px;
  line-height: 1.3em; }

.fontXXXXL, #about-numbers .about-numbers-contents dl dt .colorRed, #aboutwork-category .aboutwork-category-content dl dt span {
  font-size: 46px;
  line-height: 1.25em; }

.fontB {
  font-weight: bold; }

.fontCapita {
  text-transform: capitalize; }

.fontUpper {
  text-transform: uppercase; }

.fontLower {
  text-transform: lowercase; }

.colorRed {
  color: #DC2131; }

.colorPink {
  color: #E4007F; }

.colorYellow {
  color: #EFA600; }

.colorBlue {
  color: #004898; }

.colorBlueD {
  color: #003366; }

.colorGrayL {
  color: #CCCCCC; }

.colorGray {
  color: #999999; }

.colorGrayD {
  color: #444444; }

.colorBlack {
  color: #000000; }

.colorWhite {
  color: #FFFFFF; }

.alp100 {
  opacity: 1; }

.alp75 {
  opacity: 0.75; }

.alp50 {
  opacity: 0.5; }

.alp25 {
  opacity: 0.25; }

.fontOver {
  text-decoration: overline; }

.fontU {
  line-height: 1.5em;
  text-decoration: underline; }

.fontDel {
  text-decoration: line-through; }

.txtCenter {
  text-align: center; }

.txtLeft {
  text-align: left; }

.txtRight {
  text-align: right; }

.txtJust {
  text-align: justify; }

.txtIndent-1 {
  text-indent: -1em;
  padding-left: 1em; }

.txtIndent-1_5 {
  text-indent: -1.5em;
  padding-left: 1.5em; }

.txtIndent-2 {
  text-indent: -2em;
  padding-left: 2em; }

.txtIndent1 {
  text-indent: 1em; }

.marginTa {
  margin-top: auto; }

.marginT0 {
  margin-top: 0px; }

.marginT5 {
  margin-top: 5px; }

.marginT10 {
  margin-top: 10px; }

.marginT20 {
  margin-top: 20px; }

.marginT30 {
  margin-top: 30px; }

.marginT50 {
  margin-top: 50px; }

.marginT100 {
  margin-top: 100px; }

.marginT150 {
  margin-top: 150px; }

.marginT200 {
  margin-top: 200px; }

.marginT250 {
  margin-top: 250px; }

.marginT300 {
  margin-top: 300px; }

.marginBa {
  margin-bottom: auto; }

.marginB0 {
  margin-bottom: 0px; }

.marginB5 {
  margin-bottom: 5px; }

.marginB10 {
  margin-bottom: 10px; }

.marginB20 {
  margin-bottom: 20px; }

.marginB30 {
  margin-bottom: 30px; }

.marginB50 {
  margin-bottom: 50px; }

.marginB100 {
  margin-bottom: 100px; }

.marginB150 {
  margin-bottom: 150px; }

.marginB200 {
  margin-bottom: 200px; }

.marginB250 {
  margin-bottom: 250px; }

.marginB300 {
  margin-bottom: 300px; }

.marginLa {
  margin-left: auto; }

.marginL0 {
  margin-left: 0px; }

.marginL5 {
  margin-left: 5px; }

.marginL10 {
  margin-left: 10px; }

.marginL20 {
  margin-left: 20px; }

.marginL30 {
  margin-left: 30px; }

.marginL50 {
  margin-left: 50px; }

.marginL100 {
  margin-left: 100px; }

.marginRa {
  margin-right: auto; }

.marginR0 {
  margin-right: 0px; }

.marginR5 {
  margin-right: 5px; }

.marginR10 {
  margin-right: 10px; }

.marginR20 {
  margin-right: 20px; }

.marginR30 {
  margin-right: 30px; }

.marginR50 {
  margin-right: 50px; }

.marginR100 {
  margin-right: 100px; }

.marginTBa {
  margin-top: auto;
  margin-bottom: auto; }

.marginTB0 {
  margin-top: 0px;
  margin-bottom: 0px; }

.marginTB5 {
  margin-top: 5px;
  margin-bottom: 5px; }

.marginTB10 {
  margin-top: 10px;
  margin-bottom: 10px; }

.marginTB20 {
  margin-top: 20px;
  margin-bottom: 20px; }

.marginTB30 {
  margin-top: 30px;
  margin-bottom: 30px; }

.marginTB50 {
  margin-top: 50px;
  margin-bottom: 50px; }

.marginTB75 {
  margin-top: 75px;
  margin-bottom: 75px; }

.marginTB100 {
  margin-top: 100px;
  margin-bottom: 100px; }

.marginTB150 {
  margin-top: 150px;
  margin-bottom: 150px; }

.marginTB200 {
  margin-top: 200px;
  margin-bottom: 200px; }

.marginTB250 {
  margin-top: 250px;
  margin-bottom: 250px; }

.marginTB300 {
  margin-top: 300px;
  margin-bottom: 300px; }

.marginLRa {
  margin-left: auto;
  margin-right: auto; }

.marginLR0 {
  margin-left: 0px;
  margin-right: 0px; }

.marginLR5 {
  margin-left: 5px;
  margin-right: 5px; }

.marginLR10 {
  margin-left: 10px;
  margin-right: 10px; }

.marginLR15 {
  margin-left: 15px;
  margin-right: 15px; }

.marginLR20 {
  margin-left: 20px;
  margin-right: 20px; }

.marginLR30 {
  margin-left: 30px;
  margin-right: 30px; }

.marginLR50 {
  margin-left: 50px;
  margin-right: 50px; }

.marginLR75 {
  margin-left: 75px;
  margin-right: 75px; }

.marginLR100 {
  margin-left: 100px;
  margin-right: 100px; }

.marginLR150 {
  margin-left: 150px;
  margin-right: 150px; }

.marginLR200 {
  margin-left: 200px;
  margin-right: 200px; }

.margin0 {
  margin: 0px; }

.margin5 {
  margin: 5px; }

.margin10 {
  margin: 10px; }

.margin20 {
  margin: 20px; }

.margin30 {
  margin: 30px; }

.margin50 {
  margin: 50px; }

.margin75 {
  margin: 75px; }

.margin100 {
  margin: 100px; }

.margin150 {
  margin: 150px; }

.margin200 {
  margin: 200px; }

.paddingT0 {
  padding-top: 0px; }

.paddingT5 {
  padding-top: 5px; }

.paddingT10 {
  padding-top: 10px; }

.paddingT20 {
  padding-top: 20px; }

.paddingT30 {
  padding-top: 30px; }

.paddingT50 {
  padding-top: 50px; }

.paddingT100 {
  padding-top: 100px; }

.paddingT150 {
  padding-top: 150px; }

.paddingT200 {
  padding-top: 200px; }

.paddingB0 {
  padding-bottom: 0px; }

.paddingB5 {
  padding-bottom: 5px; }

.paddingB10 {
  padding-bottom: 10px; }

.paddingB20 {
  padding-bottom: 20px; }

.paddingB30 {
  padding-bottom: 30px; }

.paddingB50 {
  padding-bottom: 50px; }

.paddingB100 {
  padding-bottom: 100px; }

.paddingB150 {
  padding-bottom: 150px; }

.paddingB200 {
  padding-bottom: 200px; }

.paddingL0 {
  padding-left: 0px; }

.paddingL5 {
  padding-left: 5px; }

.paddingL10 {
  padding-left: 10px; }

.paddingL20 {
  padding-left: 20px; }

.paddingL30 {
  padding-left: 30px; }

.paddingL50 {
  padding-left: 50px; }

.paddingL100 {
  padding-left: 100px; }

.paddingL150 {
  padding-left: 150px; }

.paddingR0 {
  padding-right: 0px; }

.paddingR5 {
  padding-right: 5px; }

.paddingR10 {
  padding-right: 10px; }

.paddingR20 {
  padding-right: 20px; }

.paddingR30 {
  padding-right: 30px; }

.paddingR50 {
  padding-right: 50px; }

.paddingR100 {
  padding-right: 100px; }

.paddingTB0 {
  padding-top: 0px;
  padding-bottom: 0px; }

.paddingTB5 {
  padding-top: 5px;
  padding-bottom: 5px; }

.paddingTB10 {
  padding-top: 10px;
  padding-bottom: 10px; }

.paddingTB20 {
  padding-top: 20px;
  padding-bottom: 20px; }

.paddingTB30 {
  padding-top: 30px;
  padding-bottom: 30px; }

.paddingTB50 {
  padding-top: 50px;
  padding-bottom: 50px; }

.paddingTB75 {
  padding-top: 75px;
  padding-bottom: 75px; }

.paddingTB100 {
  padding-top: 100px;
  padding-bottom: 100px; }

.paddingTB150 {
  padding-top: 150px;
  padding-bottom: 150px; }

.paddingTB200 {
  padding-top: 200px;
  padding-bottom: 200px; }

.paddingLR0 {
  padding-left: 0px;
  padding-right: 0px; }

.paddingLR5 {
  padding-left: 5px;
  padding-right: 5px; }

.paddingLR10 {
  padding-left: 10px;
  padding-right: 10px; }

.paddingLR20 {
  padding-left: 20px;
  padding-right: 20px; }

.paddingLR30 {
  padding-left: 30px;
  padding-right: 30px; }

.paddingLR50 {
  padding-left: 50px;
  padding-right: 50px; }

.paddingLR75 {
  padding-left: 75px;
  padding-right: 75px; }

.paddingLR100 {
  padding-left: 100px;
  padding-right: 100px; }

.paddingLR150 {
  padding-left: 150px;
  padding-right: 150px; }

.paddingLR200 {
  padding-left: 200px;
  padding-right: 200px; }

.padding0 {
  padding: 0px; }

.padding5 {
  padding: 5px; }

.padding10 {
  padding: 10px; }

.padding20 {
  padding: 20px; }

.padding30 {
  padding: 30px; }

.padding50 {
  padding: 50px; }

.padding75 {
  padding: 75px; }

.padding100 {
  padding: 100px; }

.padding150 {
  padding: 150px; }

.padding200 {
  padding: 200px; }

i.fa-solid,
i.fas {
  width: 1.1em !important;
  padding-right: 5px;
  text-align: center; }

.spOnly {
  display: none; }

a {
  color: #004898;
  text-decoration: underline; }
  a:hover {
    color: #003366; }

body {
  color: #000000;
  font-family: 'メイリオ', 'Meiryo', "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", 'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3', Osaka, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  overflow-x: hidden; }

h1, h2, h3, h4, h5, h6,
dt, th {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold; }

.inBox, main section, #slide-fade {
  width: 1200px;
  margin-left: auto;
  margin-right: auto; }

.w680 {
  width: 90%;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto; }

/*
.box-border {
	border: $black 1px solid;
	padding: 20px;
}*/
.btn-blue {
  margin-top: 30px;
  text-align: center; }
  .btn-blue a {
    display: block;
    width: 80%;
    max-width: 250px;
    margin-left: auto;
    margin-right: auto;
    padding: 15px 5px;
    background-color: #FFFFFF;
    border: #003366 2px solid;
    border-radius: 9999px;
    color: #003366;
    line-height: 1em;
    text-decoration: none; }
    .btn-blue a:hover {
      background-color: #003366;
      color: #FFFFFF; }

.btn-mynavi {
  margin-top: 30px;
  text-align: center; }
  .btn-mynavi a {
    display: block;
    width: 80%;
    max-width: 250px;
    margin-left: auto;
    margin-right: auto;
    padding: 25px 5px;
    background-color: #003366;
    color: #FFFFFF;
    line-height: 1em;
    text-decoration: none; }

.dis-f-spBt-2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  .dis-f-spBt-2 > * {
    width: 48%;
    margin-bottom: 20px; }

.dis-f-spBt-3 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  .dis-f-spBt-3 > * {
    width: 31.5%;
    margin-bottom: 20px; }

.dis-f-spBt-4 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  .dis-f-spBt-4 > * {
    width: 22.5%;
    margin-bottom: 20px; }

#header {
  background-color: #FFFFFF;
  border-bottom: #003366 2px solid;
  position: fixed;
  top: 0px;
  left: 0px;
  right: 0px;
  z-index: 100; }
  #header .inBox, #header main section, main #header section, #header #slide-fade {
    display: flex;
    height: 70px;
    justify-content: space-between;
    align-items: center; }
    #header .inBox h1 a, #header main section h1 a, main #header section h1 a, #header #slide-fade h1 a {
      display: flex;
      color: #003366;
      font-size: 18px;
      text-decoration: none;
      align-items: center; }
    #header .inBox h1 img, #header main section h1 img, main #header section h1 img, #header #slide-fade h1 img {
      width: 150px;
      margin-right: 10px; }
    #header .inBox h1 span, #header main section h1 span, main #header section h1 span, #header #slide-fade h1 span {
      display: block;
      padding-left: 10px;
      border-left: #CCCCCC 1px solid; }
    #header .inBox #nav-Global, #header main section #nav-Global, main #header section #nav-Global, #header #slide-fade #nav-Global {
      display: flex; }
      #header .inBox #nav-Global ul, #header main section #nav-Global ul, main #header section #nav-Global ul, #header #slide-fade #nav-Global ul {
        display: flex;
        align-items: center; }
        #header .inBox #nav-Global ul li, #header main section #nav-Global ul li, main #header section #nav-Global ul li, #header #slide-fade #nav-Global ul li {
          position: relative; }
          #header .inBox #nav-Global ul li a, #header main section #nav-Global ul li a, main #header section #nav-Global ul li a, #header #slide-fade #nav-Global ul li a {
            display: block;
            padding: 10px;
            color: #000;
            text-align: center;
            text-decoration: none; }
            #header .inBox #nav-Global ul li a:hover, #header main section #nav-Global ul li a:hover, main #header section #nav-Global ul li a:hover, #header #slide-fade #nav-Global ul li a:hover {
              color: #EFA600; }
    #header .inBox #header-btn-entry a, #header main section #header-btn-entry a, main #header section #header-btn-entry a, #header #slide-fade #header-btn-entry a {
      display: block;
      width: 120px;
      padding: 10px 5px;
      background-color: #DC2131;
      border-radius: 9999px;
      color: #FFFFFF;
      text-align: center;
      text-decoration: none; }
      #header .inBox #header-btn-entry a:hover, #header main section #header-btn-entry a:hover, main #header section #header-btn-entry a:hover, #header #slide-fade #header-btn-entry a:hover {
        background-color: #AC2435; }

main {
  padding-top: 70px; }
  main header {
    margin-bottom: 50px;
    padding: 50px 10px;
    background-color: #5A7797;
    color: #FFFFFF;
    text-align: center; }
    main header h1 {
      margin-bottom: 30px; }
  main section {
    padding-top: 100px;
    padding-bottom: 100px; }
  main h2 {
    margin-bottom: 50px;
    padding-bottom: 25px;
    border-bottom: #CCCCCC 1px solid;
    color: #003366;
    text-align: center;
    position: relative; }
    main h2::after {
      width: 25%;
      max-width: 200px;
      height: 3px;
      background-color: #AC2435;
      position: absolute;
      left: 50%;
      bottom: 0px;
      transform: translateX(-50%);
      content: ""; }
  main * + h2 {
    margin-top: 75px; }
  main h3 {
    margin-bottom: 20px;
    color: #003366; }
  main * + h3 {
    margin-top: 50px; }
  main h4 {
    margin: 0px 0px 15px -10px;
    padding: 3px 10px; }
  main * + h4 {
    margin-top: 40px; }
  main dl.dl-horizon {
    display: flex;
    flex-wrap: wrap; }
    main dl.dl-horizon dt, main dl.dl-horizon dd {
      margin: 0px 0px 5px;
      padding: 5px 0px; }
    main dl.dl-horizon dt {
      width: 30%; }
    main dl.dl-horizon dd {
      width: 70%; }
    main dl.dl-horizon.blue dt, main dl.dl-horizon.blue dd {
      border-bottom: #003366 1px solid; }
    main dl.dl-horizon.blue dt {
      color: #003366; }

#footer {
  padding-top: 50px;
  padding-bottom: 50px;
  background-color: #003366; }
  #footer .inBox .bnr-toyoshin, #footer main section .bnr-toyoshin, main #footer section .bnr-toyoshin, #footer #slide-fade .bnr-toyoshin {
    width: 40%;
    max-width: 250px;
    margin-left: auto;
    margin-right: auto;
    padding: 10px 15px;
    background-color: #FFFFFF;
    border-radius: 10px;
    text-align: center; }

#copyright {
  margin-top: 20px;
  color: #FFFFFF;
  text-align: center; }

#go-top {
  width: 50px;
  position: fixed;
  right: 0px;
  bottom: 150px;
  z-index: 50; }
  #go-top a {
    display: block;
    padding: 10px 0;
    background-color: #999999;
    color: #FFFFFF;
    font-size: 30px;
    line-height: 1;
    text-align: center;
    text-decoration: none; }
    #go-top a i {
      padding: 0px; }

#nav-sp {
  display: none;
  width: 100%;
  padding: 10px 10px 20px;
  background-color: rgba(255, 255, 255, 0.75);
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 100; }
  #nav-sp ul {
    margin: 0px;
    padding: 0px;
    justify-content: space-around; }
  #nav-sp li {
    width: 90%;
    margin: 0 auto; }
    #nav-sp li a {
      display: block;
      background-color: #003366;
      border: #FFFFFF 3px solid;
      border-radius: 6px;
      box-shadow: 0 2px 5px rgba(50, 50, 50, 0.25);
      color: #FFFFFF;
      line-height: 40px;
      text-align: center;
      text-decoration: none; }

.modal {
  width: 100%;
  height: 100%;
  padding: 30px 15px 100px;
  background: rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: auto;
  visibility: hidden;
  opacity: 0;
  transition: .3s;
  z-index: 110; }
  .modal #modal-content {
    height: 100%;
    padding: 30px 10px;
    background-color: #FFFFFF;
    border-radius: 8px;
    overflow: hidden; }
    .modal #modal-content nav {
      height: 100%;
      overflow-y: auto; }
      .modal #modal-content nav ul li {
        margin: 0px 10px 15px; }
        .modal #modal-content nav ul li a {
          display: block;
          padding: 10px 20px;
          background-color: #003366;
          border-radius: 999px;
          color: #FFFFFF;
          text-align: center;
          text-decoration: none; }
        .modal #modal-content nav ul li.btn-entry a {
          background-color: #DC2131; }

/* クラスが追加された時の指定 */
.modal.is-active {
  opacity: 1;
  visibility: visible; }

#btn-close-modal a {
  display: block;
  width: 90%;
  display: block;
  background-color: #444444;
  border: #FFFFFF 3px solid;
  border-radius: 6px;
  box-shadow: 0 2px 5px rgba(50, 50, 50, 0.5);
  color: #FFFFFF;
  line-height: 40px;
  text-align: center;
  text-decoration: none;
  position: absolute;
  left: 50%;
  bottom: 20px;
  z-index: 1000;
  transform: translateX(-50%); }

#slide-fade {
  max-height: 85vh;
  position: relative;
  overflow: hidden; }
  #slide-fade p {
    color: #FFFFFF;
    font-size: 70px;
    font-weight: bold;
    position: absolute;
    left: 30px;
    bottom: 20px;
    z-index: 10; }

#home-interview {
  background-color: rgba(255, 255, 255, 0.75);
  background-size: cover;
  position: relative; }
  #home-interview ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap; }
    #home-interview ul li {
      width: 30.5%;
      margin-left: 1.25%;
      margin-right: 1.25%;
      margin-bottom: 20px;
      background-color: #FFFFFF;
      border-radius: 10px;
      box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.2);
      overflow: hidden; }
      #home-interview ul li iframe {
        width: 100%; }
      #home-interview ul li dl {
        padding: 15px; }
        #home-interview ul li dl dt span {
          display: inline-block;
          padding: 0px 5px 5px; }
  #home-interview::after {
    width: 100%;
    height: 100%;
    background: url("../../img/bg-interviews.png") center center no-repeat;
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    content: "";
    z-index: -1; }

#home-training .home-training-flow-pc {
  width: 1000px;
  margin: 0px auto; }
  #home-training .home-training-flow-pc ol {
    display: flex;
    list-style: none;
    justify-content: center; }
    #home-training .home-training-flow-pc ol li {
      padding: 0px;
      text-indent: 0; }
  #home-training .home-training-flow-pc ul {
    display: flex;
    justify-content: center; }
#home-training .home-training-flow-sp {
  max-width: 810px;
  margin: 0px auto; }
  #home-training .home-training-flow-sp ol {
    display: flex;
    list-style: none;
    flex-wrap: wrap;
    justify-content: space-between; }
    #home-training .home-training-flow-sp ol li {
      width: 48%;
      margin-bottom: 20px;
      padding: 0px;
      text-indent: 0; }

#home-recruit dl {
  display: flex;
  border-radius: 10px;
  box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.2);
  flex-wrap: wrap;
  overflow: hidden; }
  #home-recruit dl dt, #home-recruit dl dd {
    padding: 25px 20px; }
  #home-recruit dl dt {
    width: 25%;
    background-color: #003366;
    border-bottom: #FFFFFF 1px solid;
    color: #FFFFFF; }
  #home-recruit dl dd {
    width: 75%;
    border-bottom: #CCCCCC 1px solid; }

#home-social_contributions {
  background-color: #F3F7FA; }
  #home-social_contributions .home-social_contributions-contents {
    display: flex;
    justify-content: space-between; }
    #home-social_contributions .home-social_contributions-contents dl {
      width: 48%;
      padding-bottom: 20px;
      background-color: #FFFFFF;
      border-radius: 10px;
      box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.2);
      text-align: center;
      overflow: hidden; }
      #home-social_contributions .home-social_contributions-contents dl dt {
        font-weight: bold; }
        #home-social_contributions .home-social_contributions-contents dl dt img {
          margin-bottom: 10px; }
      #home-social_contributions .home-social_contributions-contents dl dd {
        padding: 10px 20px; }

#about-role .about-role-contents {
  display: flex;
  justify-content: space-between; }
  #about-role .about-role-contents dl {
    width: 32%;
    padding: 30px;
    background-color: #FFFFFF;
    border-radius: 10px;
    position: relative; }
    #about-role .about-role-contents dl dt {
      margin-bottom: 20px;
      padding-bottom: 10px;
      border-bottom: #DC2131 2px solid;
      color: #003366;
      font-weight: bold; }
    #about-role .about-role-contents dl::after {
      color: #CCCCCC;
      position: absolute;
      top: 15px;
      right: 15px; }
    #about-role .about-role-contents dl:nth-child(1)::after {
      content: "01"; }
    #about-role .about-role-contents dl:nth-child(2)::after {
      content: "02"; }
    #about-role .about-role-contents dl:nth-child(3)::after {
      content: "03"; }

#about-numbers .about-numbers-contents {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  #about-numbers .about-numbers-contents dl {
    width: 32%;
    margin-bottom: 20px;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.15);
    text-align: center; }
    #about-numbers .about-numbers-contents dl dt {
      margin-bottom: 10px;
      color: #003366; }
      #about-numbers .about-numbers-contents dl dt .colorGray {
        display: block;
        font-weight: normal; }
      #about-numbers .about-numbers-contents dl dt .colorRed {
        margin-right: 5px;
        font-weight: bold; }

#about-image .about-image-contents {
  display: flex;
  margin-top: 20px;
  justify-content: space-between; }
  #about-image .about-image-contents dl {
    width: 32%;
    padding: 30px;
    background-color: #FFFFFF;
    border-radius: 10px; }
    #about-image .about-image-contents dl dt {
      margin-bottom: 10px;
      color: #003366; }
      #about-image .about-image-contents dl dt .colorRed {
        display: block; }

#aboutwork-category .aboutwork-category-content {
  display: flex;
  margin-top: 30px;
  justify-content: space-between; }
  #aboutwork-category .aboutwork-category-content dl {
    width: 60%; }
    #aboutwork-category .aboutwork-category-content dl dt {
      margin-bottom: 20px;
      color: #003366;
      font-weight: bold; }
      #aboutwork-category .aboutwork-category-content dl dt span {
        display: block;
        color: #5A7797; }
    #aboutwork-category .aboutwork-category-content dl dd.orange {
      color: #F36800; }
    #aboutwork-category .aboutwork-category-content dl dd + dd {
      margin-top: 20px; }
  #aboutwork-category .aboutwork-category-content .aboutwork-category-content-image {
    width: 38%; }
  #aboutwork-category .aboutwork-category-content:nth-of-type(odd) {
    flex-direction: row-reverse; }

#aboutwork-career .aboutwork-career-contents {
  display: flex;
  margin-top: 20px;
  justify-content: space-between; }
  #aboutwork-career .aboutwork-career-contents dl {
    width: 30%;
    padding: 30px;
    background-color: #FFFFFF;
    border-radius: 10px;
    text-align: center; }
    #aboutwork-career .aboutwork-career-contents dl dt {
      margin-bottom: 10px;
      color: #003366; }
    #aboutwork-career .aboutwork-career-contents dl + dl {
      position: relative; }
      #aboutwork-career .aboutwork-career-contents dl + dl::before {
        width: 20px;
        aspect-ratio: 1/2;
        background-color: #003366;
        position: absolute;
        top: 40%;
        right: calc(100% + 15px);
        clip-path: polygon(0 0, 100% 50%, 0 100%);
        content: ""; }

#wlb-about {
  text-align: center; }
  #wlb-about ul {
    width: 90%;
    max-width: 330px;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    text-align: left; }
    #wlb-about ul li {
      margin-bottom: 10px;
      color: #003366;
      font-weight: bold; }
      #wlb-about ul li i.fa-solid {
        color: #DC2131; }
  #wlb-about .wlb-about-support {
    display: flex;
    margin-top: 50px;
    justify-content: space-between; }
    #wlb-about .wlb-about-support .left, #wlb-about .wlb-about-support .right {
      width: 48%; }

#wlb-employee-benefits .wlb-employee-benefits-contents {
  display: flex;
  justify-content: space-between; }
  #wlb-employee-benefits .wlb-employee-benefits-contents dl {
    width: 32%;
    padding: 30px;
    background-color: #FFFFFF;
    border-radius: 10px; }
    #wlb-employee-benefits .wlb-employee-benefits-contents dl dt {
      margin-bottom: 10px;
      color: #003366; }
      #wlb-employee-benefits .wlb-employee-benefits-contents dl dt .colorRed {
        display: block; }

#interview-list ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap; }
  #interview-list ul li {
    width: 30.5%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 20px;
    background-color: #FFFFFF;
    border-radius: 10px;
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.2);
    overflow: hidden; }
    #interview-list ul li iframe {
      width: 100%; }
    #interview-list ul li dl {
      padding: 15px; }

#social_contributions-contents {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  #social_contributions-contents dl {
    width: 48%;
    padding-bottom: 20px;
    background-color: #FFFFFF;
    border-radius: 10px;
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.2);
    text-align: center;
    overflow: hidden; }
    #social_contributions-contents dl dt {
      font-weight: bold; }
    #social_contributions-contents dl dd {
      padding: 10px 20px; }

#club-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  #club-list dl {
    width: 48%;
    margin-bottom: 20px;
    border-radius: 10px;
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.2);
    overflow: hidden; }
    #club-list dl dt {
      color: #003366;
      font-weight: bold; }
      #club-list dl dt span {
        margin: 10px 20px 5px; }
        #club-list dl dt span.category {
          display: inline-block;
          padding: 5px 10px;
          background-color: #F3F7FA; }
        #club-list dl dt span.title {
          display: block; }
    #club-list dl dd {
      padding: 10px 20px 20px; }

#festival-contents .festival-contents-about {
  display: flex;
  margin-top: 30px;
  margin-bottom: 30px;
  align-items: center;
  justify-content: space-between; }
  #festival-contents .festival-contents-about .left {
    width: 40%; }
  #festival-contents .festival-contents-about .right {
    width: 55%; }
    #festival-contents .festival-contents-about .right dt {
      margin-bottom: 10px;
      padding-bottom: 10px;
      border-bottom: #DC2131 2px solid;
      color: #003366; }
#festival-contents .festival-contents-detail {
  display: flex;
  margin-top: 50px;
  justify-content: space-between; }
  #festival-contents .festival-contents-detail dl {
    width: 31.5%;
    border-radius: 10px;
    overflow: hidden; }
    #festival-contents .festival-contents-detail dl dt {
      margin-bottom: 10px;
      color: #003366;
      font-weight: bold;
      text-align: center; }
      #festival-contents .festival-contents-detail dl dt img {
        margin-bottom: 10px; }

#faq-contents .accordion {
  width: 90%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  border: #CCCCCC 1px solid;
  border-radius: 10px; }
  #faq-contents .accordion summary {
    padding: 20px;
    color: #003366;
    font-weight: bold; }
    #faq-contents .accordion summary:hover {
      cursor: pointer; }
  #faq-contents .accordion .accordion-content {
    padding: 20px;
    background-color: #F6F6F6; }
  #faq-contents .accordion + .accordion {
    margin-top: 20px; }

/* 810 */
/*---------------------------------------------*/
@media screen and (max-width: 810px) {
  body {
    font-size: 13px;
    line-height: 1.5; }

  .pcOnly {
    display: none; }

  .spOnly {
    display: inherit; }

  .fontXS {
    font-size: 11px; }

  .fontS, #copyright {
    font-size: 12px; }

  .fontBase, #about-image .about-image-contents dl dt .colorRed, #wlb-employee-benefits .wlb-employee-benefits-contents dl dt .colorRed, #club-list dl dt span.category {
    font-size: 13px; }

  .fontL, #home-social_contributions .home-social_contributions-contents dl dt, #about-role .about-role-contents dl::after, #about-numbers .about-numbers-contents dl dt .colorGray, #aboutwork-career .aboutwork-career-contents dl dt, #wlb-about ul li i.fa-solid, #festival-contents .festival-contents-detail dl dt, #faq-contents .accordion summary {
    font-size: 15px;
    line-height: 1.4em; }

  .fontXL, main h4, #about-role .about-role-contents dl dt, #about-image .about-image-contents dl dt, #wlb-employee-benefits .wlb-employee-benefits-contents dl dt, #club-list dl dt, #club-list dl dt span.title, #festival-contents .festival-contents-about .right dt {
    font-size: 18px;
    line-height: 1.35em; }

  .fontXXL, main h3, #about-numbers .about-numbers-contents dl dt, #aboutwork-category .aboutwork-category-content dl dt {
    font-size: 21px;
    line-height: 1.3em; }

  .fontXXXL, main header h1, main h2 {
    font-size: 24px;
    line-height: 1.3em; }

  .fontXXXXL, #about-numbers .about-numbers-contents dl dt .colorRed, #aboutwork-category .aboutwork-category-content dl dt span {
    font-size: 28px;
    line-height: 1.3em; }

  .inBox, main section, #slide-fade {
    width: 100%; }

  .alignfull {
    margin-left: 0px;
    margin-right: 0px; }

  .btn-black a {
    width: 70%; }

  .dis-f-spBt-3 > * {
    width: 32.5%;
    margin-bottom: 15px; }

  .dis-f-spBt-4 > * {
    width: 24%;
    margin-bottom: 15px; }

  #header {
    position: relative; }
    #header .inBox h1, #header main section h1, main #header section h1, #header #slide-fade h1 {
      padding-bottom: 5px;
      padding-left: 5px; }
      #header .inBox h1 img, #header main section h1 img, main #header section h1 img, #header #slide-fade h1 img {
        width: 120px; }
    #header .inBox #nav-Global, #header main section #nav-Global, main #header section #nav-Global, #header #slide-fade #nav-Global {
      display: none; }
    #header .inBox #header-btn-entry a, #header main section #header-btn-entry a, main #header section #header-btn-entry a, #header #slide-fade #header-btn-entry a {
      width: 100px; }

  #nav-sp {
    display: block; }

  main {
    padding-top: 0px; }
    main header {
      margin-top: 0px; }
    main section {
      padding-left: 5px;
      padding-right: 5px; }
    main input[type="text"],
    main input[type="file"],
    main input[type="email"],
    main input[type="tel"],
    main select,
    main select option,
    main textarea {
      font-size: 15px; }
    main input[type="text"],
    main input[type="file"],
    main input[type="email"],
    main input[type="tel"] {
      width: 100%; }

  #footer {
    padding-top: 20px;
    padding-bottom: 100px; }

  #go-top {
    width: 40px;
    bottom: 100px; }
    #go-top a {
      font-size: 20px; }

  #slide-fade {
    max-height: auto; }
    #slide-fade ul {
      height: auto; }
      #slide-fade ul li {
        height: auto; }
    #slide-fade p {
      width: 100%;
      font-size: 30px;
      text-align: center;
      bottom: 10px;
      left: 0px;
      right: 0px; }

  #home-interview ul li dl {
    padding: 10px 5px 15px; }
    #home-interview ul li dl dt span {
      display: block;
      padding: 0px 0px 5px; }

  #about-role .about-role-contents dl {
    padding: 35px 10px 15px; }
    #about-role .about-role-contents dl::after {
      left: 15px; }

  #about-numbers .about-numbers-contents dl {
    padding: 30px 10px; }

  #about-image .about-image-contents dl {
    padding: 15px 10px; }

  #aboutwork-career .aboutwork-career-contents {
    display: block; }
    #aboutwork-career .aboutwork-career-contents dl {
      width: 100%;
      margin-bottom: 40px;
      padding: 30px; }
      #aboutwork-career .aboutwork-career-contents dl + dl::before {
        width: 50px;
        aspect-ratio: 4;
        line-height: 1em;
        top: auto;
        bottom: calc(100% + 10px);
        right: 50%;
        clip-path: polygon(50% 100%, 100% 0, 0 0);
        content: ""; }

  #wlb-employee-benefits .wlb-employee-benefits-contents {
    display: block; }
    #wlb-employee-benefits .wlb-employee-benefits-contents dl {
      width: 100%;
      margin-bottom: 15px; } }
