@charset "UTF-8";
html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, header, hgroup, section, article, aside, hgroup, footer, figure, figcaption, nav {
  margin: 0;
  padding: 0;
  font-size: 100%;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block;
}
body {
  line-height: 1.0;
  -webkit-text-size-adjust: none;
}
img {
  border: 0;
  vertical-align: bottom;
  margin: 0;
  padding: 0;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
table {
  border-spacing: 0;
  empty-cells: show;
}
a {
  text-decoration: none;
}
main, article {
  display: block;
}
em {
  font-style: normal;
}
/* clearfix */
.cf {
  zoom: 1;
}
.cf:before, .cf:after {
  content: "";
  display: table;
}
.cf:after {
  clear: both;
}
* {
  list-style: none;
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
/* iOSでのデフォルトスタイルをリセット */
input[type="submit"], input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus, input[type="button"]::focus {
  outline-offset: -2px;
}
img {
  max-width: 100%;
  height: auto;
}
.member-slide * {
  outline: none !important;
}
.member-slide *:focus {
  outline: none;
}
.mb-0 {
  margin-bottom: 0 !important;
}
/* ====================================
	BTN
==================================== */
.btn-typeA {
  text-align: center;
}
.btn-typeA span {
  text-align: center;
  position: relative;
  -webkit-transition: all .3s;
  transition: all .3s;
  display: inline-block;
}
.btn-typeA span:after {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: all .3s;
  transition: all .3s;
  height: 100%;
  width: 0;
  background-color: #fef7f8;
  content: "";
}
.btn-typeA span:hover:after {
  width: 100%;
}
.btn-typeA a {
  position: relative;
  z-index: 10;
  display: inline-block;
  width: 250px;
  height: 60px;
  line-height: 58px;
  border: 1px solid #e50012;
  color: #e50012;
  text-align: center;
  position: relative;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.btn-typeA a:after {
  width: 30px;
  height: 1px;
  position: absolute;
  content: "";
  top: 50%;
  right: -15px;
  background-color: #e50012;
  z-index: 15;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.btn-typeA a:before {
  width: 0px;
  height: 1px;
  position: absolute;
  content: "";
  top: 50%;
  left: 233px;
  background-color: #e50012;
  z-index: 15;
  -webkit-transition: all .3s;
  transition: all .3s;
  transition-delay: .4s;
}
.btn-typeA a:hover:after {
  width: 0;
}
.btn-typeA a:hover:before {
  width: 30px;
}
.btn-typeB {
  text-align: center;
}
.btn-typeB a {
  display: inline-block;
  position: relative;
  color: #000;
  font-size: 14px;
  text-indent: -1em;
}
.btn-typeB a:after {
  content: "";
  background-image: url(../img/cmn/ico_link_red.png);
  background-position: top left;
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 14px;
  height: 11px;
  position: absolute;
  top: 50%;
  right: -20px;
  margin-top: -5px;
}
.btn-typeC {
  height: 50px;
  line-height: 48px;
  border: 1px solid #e50012;
  width: 300px;
  margin: 40px auto 0 auto;
  background-image: url(../img/cmn/ico_arrow_down_red.png);
  background-repeat: no-repeat;
  background-position: 95% 52%;
}
.btn-typeC a {
  color: #000;
  font-size: 13px;
  text-align: center;
  display: block;
}
.btn-typeD {
  text-align: center;
}
.btn-typeD a {
  display: inline-block;
  width: 200px;
  height: 50px;
  line-height: 48px;
  font-size: 14px;
  border: 1px solid #e5e5e5;
  color: #000;
}
.btn-typeD a:after {
  right: 10px;
}
.btn-typeE {
  text-align: center;
}
.btn-typeE a {
  display: inline-block;
  width: 200px;
  height: 50px;
  line-height: 50px;
  font-size: 14px;
  border: 1px solid #e5e5e5;
  color: #000;
}
.btn-typeE a:after {
  right: 10px;
}
@media only screen and (min-width: 768px) {
  .btn-typeA a {
    width: 360px;
    height: 80px;
    line-height: 78px;
    font-size: 20px;
  }
  .btn-typeA a:before {
    left: 343px;
  }
  .btn-typeB a {
    font-size: 16px;
  }
  .btn-typeB a:hover:after {
    right: -30px;
  }
  .btn-typeB a:after {
    -webkit-transition: all .3s;
    transition: all .3s;
    width: 16px;
    height: 12px;
    right: -24px;
    margin-top: -6px;
  }
  .btn-typeC {
    height: 60px;
    line-height: 58px;
    width: 400px;
    margin: 80px auto 0 auto;
    background-image: url(../img/cmn/ico_arrow_down_red.png);
    background-repeat: no-repeat;
    background-position: 95% 53%;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .btn-typeC a {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    font-size: 18px;
  }
  .btn-typeC:hover {
    background-image: url(../img/cmn/ico_arrow_down_wh.png);
    background-color: #e50012;
  }
  .btn-typeC:hover a {
    color: #fff;
  }
  .btn-typeD a {
    width: 280px;
    height: 60px;
    line-height: 58px;
    font-size: 18px;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .btn-typeD a:after {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    right: 20px;
  }
  .btn-typeD a:hover {
    background-color: #f8f8f8;
  }
  .btn-typeD a:hover:after {
    right: 15px;
  }
  .btn-typeE a {
    width: 280px;
    height: 60px;
    line-height: 60px;
    font-size: 18px;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .btn-typeE a:after {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    right: 20px;
  }
  .btn-typeE a:hover {
    opacity: .6;
    background-color: #f8f8f8;
  }
  .btn-typeE a:hover:after {
    right: 15px;
  }
  .btn-typeE a:hover .ico-link {
    opacity: 1;
  }
}
/* ====================================
	ico link
==================================== */
.ico-link {
  position: relative;
  display: inline-block;
}
.ico-link:after {
  content: "";
  background-image: url(../img/cmn/ico_link_red.png);
  background-position: top left;
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 14px;
  height: 11px;
  position: absolute;
  top: 50%;
  right: -20px;
  margin-top: -5px;
}
.ico-link-blank {
  position: relative;
  display: inline-block;
  color: #000;
}
.ico-link-blank:after {
  content: "";
  background-image: url(../img/cmn/icon_link_blank_red.png);
  background-position: top left;
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 13px;
  height: 12px;
  position: absolute;
  top: 50%;
  right: -20px;
  margin-top: -5px;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.ico-link-blank-wh {
  position: relative;
  display: inline-block;
  color: #000;
}
.ico-link-blank-wh:after {
  content: "";
  background-image: url(../img/cmn/icon_link_blank_wh.png);
  background-position: top left;
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 13px;
  height: 12px;
  position: absolute;
  top: 50%;
  right: -20px;
  margin-top: -5px;
}
.ico-square {
  padding-left: 1em;
  position: relative;
}
.ico-square:after {
  content: "";
  width: 6px;
  height: 6px;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 7px;
  background-color: #999;
}
@media only screen and (min-width: 768px) {
  .ico-link:after {
    -webkit-transition: all .3s;
    transition: all .3s;
    width: 16px;
    height: 12px;
    right: -24px;
    margin-top: -6px;
  }
  .ico-link:hover:after {
    right: -30px;
  }
  .ico-square:after {
    margin-top: 13px;
  }
}
/* ====================================
	Other
==================================== */
br.sp {
  display: block;
}
br.pc {
  display: none;
}
.btm0 {
  margin-bottom: 0 !important;
}
.bd-none {
  border: none !important;
}
.f-bold {
  font-weight: bold;
}
.ico-disc {
  position: relative;
  padding-left: 1em;
}
.ico-disc:after {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.bd-btm {
  border-bottom: 1px solid #e5e5e5;
}
@media only screen and (min-width: 768px) {
  br.sp {
    display: none;
  }
  br.pc {
    display: block;
  }
  .hv-opacity:hover {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    opacity: 0.6;
  }
}
/* ====================================
	Table
==================================== */
.tb-typeA {
  width: 100%;
  border-top: 1px solid #e5e5e5;
  display: block;
}
.tb-typeA dt, .tb-typeA dd {
  text-align: left;
  font-size: 12px;
  width: 100%;
}
.tb-typeA dt {
  line-height: 1.5em;
  padding-top: 25px;
  font-weight: bold;
  margin-bottom: 10px;
}
.tb-typeA dd {
  padding-bottom: 25px;
  line-height: 1.5em;
}
.tb-typeA .txt-sm {
  font-size: 10px;
  display: block;
}
.tb-typeA a {
  color: #000;
}
.tb-typeA .txt-link {
  color: #e50012;
  position: relative;
}
.tb-typeA .txt-link:after {
  position: absolute;
  bottom: -5px;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #e50012;
}
.tb-typeA .btm10, .tb-typeA .btm15 {
  margin-bottom: 5px;
}
.tb-typeA:last-child {
  border-bottom: 1px solid #e5e5e5;
}
@media only screen and (min-width: 768px) {
  .tb-typeA {
    display: table;
  }
  .tb-typeA dt, .tb-typeA dd {
    vertical-align: top;
    text-align: left;
    font-size: 16px;
    display: table-cell;
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .tb-typeA dt {
    line-height: 1.3em;
    padding-top: 30px;
    padding-left: 20px;
    width: 200px;
    margin-bottom: 0;
  }
  .tb-typeA dd {
    padding-bottom: 30px;
    line-height: 2em;
    width: 960px;
    border: none;
    position: relative;
    top: -0.4em;
  }
  .tb-typeA .txt-sm {
    margin-top: 10px;
    font-size: 12px;
  }
  .tb-typeA .txt-sm + .txt-sm {
    margin-top: -1em;
  }
  .tb-typeA .btm10 {
    margin-bottom: 10px;
  }
  .tb-typeA .btm15 {
    margin-bottom: 15px;
  }
  .txt-link:hover:after {
    display: none;
  }
}
@media only screen and (min-width: 768px) {
  .tb-typeA {
    display: table;
  }
  .tb-typeA dt, .tb-typeA dd {
    vertical-align: top;
    text-align: left;
    font-size: 16px;
    display: table-cell;
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .tb-typeA dt {
    line-height: 1.3em;
    padding-top: 30px;
    padding-left: 20px;
    width: 200px;
    margin-bottom: 0;
  }
  .tb-typeA dd {
    padding-bottom: 30px;
    line-height: 2em;
    width: 960px;
    border: none;
    position: relative;
    top: -0.4em;
  }
  .tb-typeA .txt-sm {
    margin-top: 10px;
    font-size: 12px;
  }
  .tb-typeA .txt-sm + .txt-sm {
    margin-top: -1em;
  }
  .tb-typeA .btm10 {
    margin-bottom: 10px;
  }
  .tb-typeA .btm15 {
    margin-bottom: 15px;
  }
  .txt-link:hover:after {
    display: none;
  }
}
.tb-typeB {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  margin: 34px auto 0;
}
.tb-typeB th + th, .tb-typeB td + td {
  border-left: 1px solid #e5e5e5;
}
.tb-typeB th {
  background-color: #ef6671;
  border-collapse: collapse;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  line-height: 1;
  color: #fff;
  padding: 16px 0;
}
.tb-typeB td {
  border-collapse: collapse;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  font-feature-settings: "palt";
  font-size: 14px;
  line-height: 2;
  vertical-align: center;
  text-align: center;
  padding: 26px 14px;
}
.tb-typeB dt, .tb-typeB dd {
  text-align: left;
  font-size: 12px;
  width: 100%;
}
.tb-typeB dt {
  line-height: 1.5em;
  padding-top: 25px;
  font-weight: bold;
  margin-bottom: 10px;
}
.tb-typeB dd {
  padding-bottom: 25px;
  line-height: 1.5em;
}
.tb-typeB .td-bg-01 {
  background-color: #f8f8f8;
  border-collapse: collapse;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  line-height: 1;
  color: #000;
  padding: 16px 0;
}
.tb-typeB td.align-left {
  text-align: left;
  vertical-align: top;
}
.tb-typeB .txt-sm {
  font-size: 10px;
  display: block;
}
.tb-typeB a {
  color: #000;
}
.tb-typeB .txt-link {
  color: #e50012;
  position: relative;
}
.tb-typeB .txt-link:after {
  position: absolute;
  bottom: -5px;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #e50012;
}
.tb-typeB .btm10, .tb-typeB .btm15 {
  margin-bottom: 5px;
}
.tb-typeB:last-child {
  border-bottom: 1px solid #e5e5e5;
}
@media only screen and (max-width: 768px) {
  .scroll-table {
    display: block;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
  .tb-typeB {
    width: 100%;
    margin: 34px auto 0;
  }
  .tb-typeB tr {
    width: 100%;
  }
  .tb-typeB th {
    background-color: #ef6671;
    line-height: 1;
    font-size: 12px;
    white-space: nowrap;
    color: #fff;
    padding: 10px 0;
  }
  .tb-typeB td {
    font-feature-settings: "palt";
    font-size: 12px;
    white-space: nowrap;
    line-height: 2;
    vertical-align: center;
    text-align: center;
    padding: 10px;
  }
  .tb-typeB dt, .tb-typeB dd {
    text-align: left;
    font-size: 12px;
    width: 100%;
  }
  .tb-typeB dt {
    line-height: 1.5em;
    padding-top: 25px;
    font-weight: bold;
    margin-bottom: 10px;
  }
  .tb-typeB dd {
    padding-bottom: 25px;
    line-height: 1.5em;
  }
  .tb-typeB .td-bg-01 {
    background-color: #f8f8f8;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    line-height: 1;
    color: #000;
    padding: 10px 0;
  }
  .tb-typeB td.align-left {
    text-align: left;
    vertical-align: top;
  }
  .tb-typeB .txt-sm {
    font-size: 10px;
    display: block;
  }
  .tb-typeB a {
    color: #000;
  }
  .tb-typeB .txt-link {
    color: #e50012;
    position: relative;
  }
  .tb-typeB .txt-link:after {
    position: absolute;
    bottom: -5px;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-color: #e50012;
  }
  .tb-typeB .btm10, .tb-typeB .btm15 {
    margin-bottom: 5px;
  }
  .tb-typeB:last-child {
    border-bottom: 1px solid #e5e5e5;
  }
}
/* =====================================
	Subpage cmn
=====================================*/
#main.subpage {
  padding-top: 65px;
  margin-bottom: 100px;
}
#sub-kv {
  width: 100%;
  height: 250px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
#sub-kv h1 {
  color: #fff;
  font-size: 32px;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  letter-spacing: 0.24em;
}
#sub-kv p {
  margin-top: 1em;
  color: #fff;
  text-align: center;
}
#sub-kv .ttl {
  position: relative;
  display: inline-block;
}
#sub-kv .ttl .en-ttl {
  position: absolute;
  top: -60px;
  left: -30px;
}
#sub-kv .ttl .en-ttl svg {
  height: auto;
}
#sub-kv .ttl .en-ttl .svg-ttl {
  position: relative;
}
#sub-kv .ttl .en-ttl .svg-ttl .kv-svg-line {
  stroke: #FFFFFF;
  stroke-width: 60;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 10;
  stroke-dasharray: 1500;
  /* この行を追加 */
  stroke-dashoffset: 1500;
  position: absolute;
  bottom: -0.4em;
  left: 0em;
}
#bread-wrap {
  padding: 5px 20px 0 20px;
  margin-bottom: 50px;
}
#bread-wrap ul {
  text-align: right;
}
#bread-wrap li {
  font-size: 10px;
  display: inline-block;
}
#bread-wrap li a {
  color: #000;
}
#bread-wrap li + li {
  padding-left: 1em;
  margin-left: 1em;
  position: relative;
}
#bread-wrap li + li:after {
  content: "";
  position: absolute;
  top: 1px;
  left: -0.4em;
  width: 5px;
  height: 8px;
  background-image: url(../img/cmn/ico_arrow_gray.png);
  background-size: cover;
  background-position: center center;
}
#bread-wrap .current {
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  #main.subpage {
    padding-top: 100px;
  }
  #sub-kv {
    height: 400px;
  }
  #sub-kv h1 {
    font-size: 56px;
  }
  #sub-kv p {
    font-size: 24px;
    margin-top: 30px;
  }
  #sub-kv .ttl {
    position: relative;
    display: inline-block;
  }
  #sub-kv .ttl .en-ttl {
    position: absolute;
    top: -110px;
    left: -80px;
  }
  #bread-wrap {
    max-width: 1200px;
    margin: 0 auto;
    margin-bottom: 100px;
    padding-top: 20px;
  }
  #bread-wrap li {
    font-size: 12px;
  }
  #bread-wrap li a:hover {
    opacity: 0.6;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #bread-wrap li + li {
    padding-left: 1em;
    margin-left: 1em;
    position: relative;
  }
  #bread-wrap li + li:after {
    content: "";
    position: absolute;
    top: 2px;
    left: -0.4em;
    width: 7px;
    height: 10px;
  }
  #bread-wrap .current {
    font-weight: bold;
  }
}
/* ====================================
	TTL
==================================== */
.ttl-typeA {
  font-size: 20px;
  line-height: 1.5em;
  padding-bottom: 15px;
  position: relative;
  text-align: center;
  margin-bottom: 25px;
  letter-spacing: 0.12em;
}
.ttl-typeA .pc {
  display: none;
}
.ttl-typeA .sp {
  display: block;
}
.ttl-typeA:after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 50%;
  width: 40px;
  height: 2px;
  margin-left: -20px;
  background-color: #e50012;
}
.ttl-recruit {
  position: relative;
  text-align: center;
  margin-bottom: 30px;
}
.ttl-recruit:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  top: 50%;
  left: 0;
  background-color: #e50012;
}
.ttl-recruit span {
  position: relative;
  z-index: 10;
  display: inline-block;
  height: 30px;
  line-height: 29px;
  width: 240px;
  color: #fff;
  background-color: #e50012;
  border-radius: 15px;
  font-size: 13px;
}
@media only screen and (min-width: 768px) {
  .ttl-typeA {
    font-size: 36px;
    line-height: 1.5em;
    padding-bottom: 30px;
    margin-bottom: 40px;
  }
  .ttl-typeA .pc {
    display: block;
  }
  .ttl-typeA .sp {
    display: none;
  }
  .ttl-recruit {
    margin-bottom: 60px;
  }
  .ttl-recruit span {
    font-size: 16px;
  }
}
.ttl-typeB {
  border-left: solid 2px #e50012;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0.08em;
  padding-left: 18px;
  margin-top: 80px;
  margin-bottom: 25px;
}
@media only screen and (min-width: 768px) {
  .ttl-typeB {
    border-left: solid 2px #e50012;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.5;
    letter-spacing: 0.08em;
    padding-left: 18px;
    margin-top: 80px;
    margin-bottom: 25px;
  }
}
.ttl-typeC {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.5;
  margin-top: 58px;
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .ttl-typeC {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.5;
    margin-top: 58px;
    margin-bottom: 20px;
  }
}
/* ====================================
	Text
==================================== */
.lede-typeA {
  font-size: 14px;
  line-height: 2em;
  margin-bottom: 30px;
}
.lede-typeA .bold {
  font-weight: 700;
}
@media only screen and (min-width: 768px) {
  .lede-typeA {
    font-size: 16px;
    line-height: 2em;
    margin-bottom: 80px;
    text-align: center;
  }
  .lede-typeA .bold {
    font-weight: 700;
  }
}
.lede-typeB {
  font-size: 14px;
  line-height: 2em;
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .lede-typeB {
    font-size: 16px;
    line-height: 2em;
    margin-bottom: 80px;
    text-align: left;
  }
}
/* ====================================
	Layout
==================================== */
.inner-typeA {
  padding: 0 20px;
  max-width: 1200px;
  margin: 0 auto;
}
.news-posts-li {
  margin-bottom: 40px;
}
.news-posts-li li {
  border-bottom: 1px solid #f2f2f2;
}
.news-posts-li li .date {
  font-family: 'Open Sans', sans-serif;
  margin-bottom: 15px;
}
.news-posts-li li a {
  color: #000;
  font-size: 12px;
  line-height: 1.5em;
  padding: 30px 50px 30px 10px;
  display: block;
  position: relative;
}
.news-posts-li li a:after {
  content: "";
  background-image: url(../img/cmn/ico_link_red.png);
  background-position: top left;
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 14px;
  height: 11px;
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -5px;
}
.news-posts-li li a.no-link {
  pointer-events: none;
}
.news-posts-li li a.no-link:after {
  display: none;
}
.member-slide a {
  display: inline-block;
}
.member-slide .slide-arrow {
  width: 30px;
  height: 30px;
  position: absolute;
  top: 30%;
  z-index: 10;
  border-radius: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 7px auto;
  margin-top: 15px;
}
.member-slide .slide-arrow .ico {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}
.member-slide .slide-arrow .ico img {
  position: relative;
  z-index: 20;
  height: 12px;
  width: auto !important;
}
.member-slide .slide-arrow .ico:after {
  content: '';
  width: 100%;
  height: 100%;
  border-radius: 100%;
  background-color: #e50012;
  z-index: 10;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.member-slide .prev-arrow {
  left: 0px;
}
.member-slide .next-arrow {
  right: 0px;
}
.member-li .li {
  position: relative;
}
.member-li .li a {
  color: #000;
}
.member-li .li .box {
  display: inline-block;
  position: relative;
  margin-bottom: 20px;
}
.member-li .li .box .bg {
  padding: 0 25px;
}
.member-li .li .box .member-img {
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: center;
  width: 100%;
  padding: 0 5%;
}
.member-li .li .box .member-img img {
  display: inline;
}
.member-li .li .box .name-en {
  font-weight: 300;
  position: absolute;
  top: 27%;
  left: 32px;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -o-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  letter-spacing: 0.4em;
  z-index: 50;
  bottom: auto;
  text-transform: uppercase;
}
.member-li .li .box .msg {
  position: absolute;
  top: 0;
  right: 0px;
  text-align: center;
  width: 100%;
  padding: 0 15px;
}
.member-li .li .box .msg img {
  display: inline;
}
.member-li .li .box .num-box {
  font-family: "Noto Serif JP", serif;
  position: absolute;
  left: 25px;
  top: 6%;
  z-index: 15;
  font-weight: 300;
}
.member-li .li .box .num-box .ttl {
  font-size: 12px;
  margin-bottom: 0.5em;
  display: block;
  margin-bottom: 5px;
  letter-spacing: 0.2em;
}
.member-li .li .box .num-box .num {
  font-size: 35px;
  letter-spacing: 0.05em;
}
.member-li .li .box .num-box .num .red {
  font-size: 20px;
  color: #e50012;
  position: relative;
  top: -3px;
}
.member-li .li .txt-box {
  padding-left: 25px;
}
.member-li .li .txt-box .job {
  margin-bottom: 1em;
}
.member-li .li .txt-box .job .bold {
  font-weight: bold;
  font-size: 14px;
  padding-right: 1em;
}
.member-li .li .txt-box .job .year {
  font-size: 12px;
}
.member-li .li .txt-box .name {
  font-size: 26px;
  font-family: "Noto Serif JP", serif;
}
.member-li .li .txt-box .manage-posi {
  padding-top: 1em;
  font-size: 12px;
}
.member-li .member01 .fade-up {
  transition-delay: 0.7s;
}
.member-li .member02 .fade-up {
  transition-delay: 1s;
}
.member-li .member03 .fade-up {
  transition-delay: 1.3s;
}
.member-li .member03 .member-img img {
  display: inline !important;
}
#recruit-nav {
  margin-top: 100px;
}
#recruit-nav .flex-box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
}
#recruit-nav .inner-typeA {
  padding: 0 5.2083333333vw;
}
#recruit-nav dl {
  border: 4px solid #f2f2f2;
  text-align: center;
  width: 48%;
  margin-bottom: 15px;
}
#recruit-nav dl a {
  padding: 15.5px 15px;
  display: block;
  color: #000;
  position: relative;
  height: 100%;
}
#recruit-nav dl a:after {
  right: 10px;
  width: 16px;
  height: 11px;
  margin-top: -5.5px;
}
#recruit-nav dl dt {
  font-size: 13px;
  margin-bottom: 5px;
}
#recruit-nav dl dd {
  font-size: 10px;
}
#recruit-nav .faq dt {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
#recruit-nav dl.on {
  color: #e50012;
  border-color: #fef2f3;
  padding: 15.5px 15px;
}
@media only screen and (min-width: 768px) {
  .news-posts-li {
    margin-bottom: 60px;
  }
  .news-posts-li li {
    border-bottom: 1px solid #f2f2f2;
  }
  .news-posts-li li .date {
    margin-bottom: 0;
    margin-right: 2em;
  }
  .news-posts-li li .post-ttl {
    margin-top: -0.1em;
  }
  .news-posts-li li a {
    color: #000;
    font-size: 16px;
    line-height: 1.5em;
    padding: 60px 60px 60px 20px;
    display: flex;
    justify-content: start;
  }
  .news-posts-li li a:hover:after {
    right: 15px;
  }
  .news-posts-li li a:after {
    -webkit-transition: all .3s;
    transition: all .3s;
    width: 16px;
    height: 12px;
    right: 20px;
    margin-top: -6px;
  }
  .member-li .slide-arrow {
    width: 32px;
    height: 32px;
    position: absolute;
    top: 35%;
    z-index: 10;
  }
  .member-li .slide-arrow .ico {
    width: 36px;
    height: 36px;
  }
  .member-li .slide-arrow .ico:after {
    transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .member-li .slide-arrow:hover .ico:after {
    transform: rotate(0.09deg) scale(1.1);
  }
  .member-li .prev-arrow {
    left: -30px;
  }
  .member-li .next-arrow {
    right: -30px;
  }
  .member-li .li {
    text-align: center;
  }
  .member-li .li .box {
    overflow: hidden;
  }
  .member-li .li .box .member-img img {
    transform: scale(1);
    transition-duration: 0.5s;
    transition-delay: 0;
  }
  .member-li .li .box .msg img {
    opacity: 0;
    transition-duration: 0.5s;
    transition-delay: 0;
  }
  .member-li .li .box .member-img img.on {
    transform: scale(1.03);
  }
  .member-li .li .box .msg img.on {
    opacity: 1;
  }
  .member-li .li .box .bg {
    padding: 0;
  }
  .member-li .li .box .member-img {
    padding: 0;
    z-index: 15;
  }
  .member-li .li .box .name-en {
    left: 2%;
    font-size: 14px;
    text-align: left;
  }
  .member-li .li .box .num-box {
    left: 3.5%;
    top: 5%;
  }
  .member-li .li .box .num-box .ttl {
    font-size: 13px;
    margin-bottom: 5px;
  }
  .member-li .li .box .num-box .num {
    font-size: 45px;
  }
  .member-li .li .box .num-box .num .red {
    font-size: 25px;
    top: -5px;
  }
  .member-li .li .txt-box {
    max-width: 340px;
    padding: 0;
    margin: 0 auto;
    text-align: left;
  }
  .member-li .li .txt-box .job {
    margin-bottom: 20px;
  }
  .member-li .li .txt-box .job .year {
    font-size: 14px;
  }
  .member-li .li .txt-box .name {
    font-size: 28px;
  }
  .member-li .li .txt-box .manage-posi {
    font-size: 14px;
  }
  #recruit-nav {
    margin-top: 200px;
  }
  #recruit-nav .inner-typeA {
    padding: 0 20px;
  }
  #recruit-nav dl {
    border: 4px solid #f2f2f2;
    text-align: center;
    width: 22.4137931034%;
    margin-bottom: 0px;
  }
  #recruit-nav dl a {
    padding: 30px 15px;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #recruit-nav dl a:after {
    right: 20px;
    width: 16px;
    margin-top: -6px;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #recruit-nav dl a:hover dt, #recruit-nav dl a:hover dd {
    opacity: 0.6;
  }
  #recruit-nav dl a:hover:after {
    right: 15px;
  }
  #recruit-nav dl dt {
    font-size: 18px;
    margin-bottom: 10px;
  }
  #recruit-nav dl dd {
    font-size: 14px;
  }
  #recruit-nav .faq a {
    height: 100%;
  }
  #recruit-nav dl.on {
    padding: 30px 15px;
  }
  .member-slide-sec .inner-typeA {
    max-width: 1240px;
  }
}
@media only screen and (max-width: 768px) {
  #recruit-nav .flex-box {
    display: block;
  }
  #recruit-nav dl {
    width: 100%;
  }
  #recruit-nav dl a {
    text-align: left;
    padding: 15.5px 15px;
  }
  #recruit-nav dl a:after {
    right: 15px;
  }
  #recruit-nav dl dt, #recruit-nav dl dd {
    display: inline-block;
  }
  #recruit-nav dl.on {
    display: block;
    text-align: left;
    padding: 14px 15px;
  }
  #recruit-nav dl.faq dt {
    display: inline-block;
    text-align: left;
    margin: 2.5px 0;
  }
}
/* =====================================
	COMMON
=====================================*/
@supports (-webkit-touch-callout: none) {
  body {
    /* Safari用のハック */
    height: -webkit-fill-available;
  }
}
html {
  scroll-behavior: smooth;
}
body.on {
  height: 100%;
  overflow: hidden !important;
}
body, html {
  font-family: "Noto Sans JP", sans-serif;
}
body {
  letter-spacing: 0.08em;
  overflow: auto;
}
#overlay {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  display: none;
  background-color: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
}
#entry-btn {
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  -o-writing-mode: vertical-lr;
  writing-mode: vertical-lr;
  position: absolute;
  right: 0;
  bottom: -30px;
  z-index: 9;
  background-color: #e50012;
  color: #fff;
  padding: 15px 8px;
  text-align: center;
  margin: 0;
}
#entry-btn .jp {
  font-size: 14px;
}
#entry-btn .en {
  font-size: 8px;
  font-family: 'Open Sans', sans-serif;
  margin-right: 3px;
}
#entry-btn span {
  display: block;
}
#entry-btn.fixed {
  position: fixed;
}
@media only screen and (min-width: 768px) {
  #entry-btn {
    position: fixed;
    right: 0;
    bottom: 50%;
    padding: 30px 15px;
    margin-bottom: -75px;
    cursor: pointer;
  }
  #entry-btn:hover {
    color: #e50012;
    background: #fce5e7;
  }
  #entry-btn .jp {
    font-size: 18px;
  }
  #entry-btn .en {
    font-size: 10px;
    margin-right: 3px;
  }
  #entry-btn span {
    display: block;
  }
}
#modal-entry {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100000;
  width: 100%;
  display: none;
  height: 100%;
  overflow-y: auto;
}
#modal-entry .flex-box {
  display: flex;
  align-items: center;
  height: 100%;
  width: 100%;
  position: relative;
}
#modal-entry .flex-box .inner {
  position: relative;
  z-index: 10004;
}
#modal-entry .flex-box #md-overlay {
  background-color: rgba(0, 0, 0, 0.7);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10003;
}
#modal-entry .inner {
  width: 100%;
  padding: 20px;
}
#modal-entry #mid-entry {
  text-align: center;
  background-color: #fef7f8;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 5.2083333333vw;
}
#modal-entry #mid-entry:hover .ico-link:after {
  right: -30px;
}
#modal-entry #mid-entry a {
  display: block;
  padding: 25px 50px;
}
#modal-entry #mid-entry dt {
  font-family: 'Open Sans', sans-serif;
  font-size: 35px;
  margin-bottom: 3.90625vw;
  color: #e50012;
  font-weight: bold;
}
#modal-entry #mid-entry dd {
  color: #000;
  font-size: 18px;
  text-indent: -1em;
  font-weight: bold;
}
#modal-entry #new-entry {
  background: #fff;
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 5.2083333333vw;
}
#modal-entry #new-entry .left-box .ttl-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
}
#modal-entry #new-entry .left-box .ttl-box a {
  margin-right: 5.2083333333vw;
  color: #000;
  font-size: 14px;
}
#modal-entry #new-entry .left-box .new-entry-li li {
  text-align: center;
  font-size: 12px;
}
#modal-entry #new-entry .left-box .new-entry-li img {
  width: 175px;
  margin-bottom: 3.90625vw;
}
#modal-entry #new-entry .left-box .new-entry-li li + li {
  padding-top: 15px;
  margin-top: 15px;
  position: relative;
}
#modal-entry #new-entry .left-box .new-entry-li li + li:after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -127.5px;
  width: 255px;
  height: 1px;
  background-color: #f2f2f2;
}
#modal-entry #new-entry .left-box .new-entry-li li a {
  display: block;
}
#modal-entry #new-entry .right-box {
  text-align: center;
}
#modal-entry #new-entry .right-box a {
  display: block;
  color: #000;
  padding: 13.0208333333vw 0;
  border-top: 1px solid #f2f2f2;
  border-bottom: 1px solid #f2f2f2;
  font-weight: bold;
  width: 100%;
}
#modal-entry .handicap-entry {
  background: #fff;
  border-radius: 10px;
  text-align: center;
  margin-bottom: 5.2083333333vw;
}
#modal-entry .handicap-entry a {
  width: 100%;
  padding: 7.8125vw 30px;
  display: block;
  color: #000;
  font-weight: bold;
  font-size: 14px;
}
#modal-entry #md-close-btn {
  text-align: center;
}
#modal-entry #md-close-btn span {
  display: inline-block;
  width: 1px;
  height: 25px;
  background-color: #fff;
  transform: rotate(-45deg);
}
#modal-entry #md-close-btn span + span {
  transform: rotate(45deg);
}
@media only screen and (min-width: 768px) {
  #modal-entry .flex-box .inner {
    max-width: 940px;
    padding: 0 20px;
    margin: 0 auto;
  }
  #modal-entry .inner {
    width: 100%;
  }
  #modal-entry #mid-entry {
    margin-bottom: 20px;
  }
  #modal-entry #mid-entry:hover .ico-link:after {
    right: -30px;
  }
  #modal-entry #mid-entry a {
    padding: 70px;
  }
  #modal-entry #mid-entry dt {
    font-size: 50px;
    margin-bottom: 30px;
  }
  #modal-entry #mid-entry dd {
    font-size: 24px;
  }
  #modal-entry #mid-entry a {
    position: relative;
  }
  #modal-entry #mid-entry a:before {
    position: absolute;
    width: 0%;
    height: 100%;
    content: "";
    background: #e50012;
    top: 0;
    left: 0;
    z-index: 10;
    -webkit-transition: 0.2s ease-in-out;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  #modal-entry #mid-entry a dd:after {
    -webkit-transition: 0.2s ease-in-out;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  #modal-entry #mid-entry a dt, #modal-entry #mid-entry a dd {
    position: relative;
    z-index: 15;
    -webkit-transition: 0.2s ease-in-out;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  #modal-entry #mid-entry a:hover dd, #modal-entry #mid-entry a:hover dt {
    color: #fff;
  }
  #modal-entry #mid-entry a:hover dd:after {
    background-image: url(../img/cmn/ico_link_wh.png);
  }
  #modal-entry #mid-entry a:hover:before {
    width: 100%;
  }
  #modal-entry .under-box {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
  }
  #modal-entry #new-entry {
    width: 64.4444444444%;
    padding: 30px 30px 40px 30px;
    margin-bottom: 0px;
  }
  #modal-entry #new-entry .left-box .ttl-box {
    justify-content: flex-start;
    margin-bottom: 40px;
  }
  #modal-entry #new-entry .left-box .ttl-box h5 {
    margin-right: 30px;
    font-size: 18px;
  }
  #modal-entry #new-entry .left-box .ttl-box a {
    font-size: 16px;
  }
  #modal-entry #new-entry .left-box .new-entry-li {
    display: flex;
    justify-content: space-between;
  }
  #modal-entry #new-entry .left-box .new-entry-li li {
    max-width: 154px;
    font-size: 14px;
  }
  #modal-entry #new-entry .left-box .new-entry-li img {
    width: 100%;
    max-width: 230px;
    margin-bottom: 0;
  }
  #modal-entry #new-entry .left-box .new-entry-li li + li {
    padding-top: 0px;
    margin-top: 0px;
    position: relative;
  }
  #modal-entry #new-entry .left-box .new-entry-li li + li:after {
    display: none;
  }
  #modal-entry #new-entry .left-box .new-entry-li li a {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
    min-height: 54px;
  }
  #modal-entry #new-entry .left-box .new-entry-li a:hover img, #modal-entry #new-entry .left-box .new-entry-li a:hover .op {
    opacity: 0.6;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #modal-entry #new-entry .left-box .new-entry-li a:hover .ico-link-blank:after {
    right: -23px;
  }
  #modal-entry #new-entry .right-box {
    text-align: center;
  }
  #modal-entry #new-entry .right-box a {
    display: block;
    color: #000;
    padding: 50px 0;
    border-top: 1px solid #f2f2f2;
    border-bottom: 1px solid #f2f2f2;
    font-weight: bold;
    width: 100%;
  }
  #modal-entry .handicap-entry {
    width: 33.3333333333%;
    margin-bottom: 0px;
    display: flex;
    align-items: center;
    height: 200px;
  }
  #modal-entry .handicap-entry a {
    font-size: 18px;
    display: flex;
  }
  #modal-entry .handicap-entry a:hover .op {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    opacity: 0.6;
  }
  #modal-entry .handicap-entry a:hover .ico-link:after {
    right: -30px;
  }
  #modal-entry #md-close-btn span {
    height: 38px;
  }
}
/* =====================================
	Header
=====================================*/
#hd {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  position: fixed;
  z-index: 9998;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
}
#hd .inner-hd {
  padding: 15px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 65px;
  width: 100%;
}
#hd #hd-logo {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  max-width: 227px;
}
#hd #hd-logo img {
  width: 100%;
}
#hd #hd-logo a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
#hd #drawer-btn {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  width: 22px;
  height: 20px;
  position: relative;
}
#hd #drawer-btn span {
  display: inline-block;
  width: 100%;
  height: 2px;
  background-color: #e50012;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -1px;
}
#hd #drawer-btn:after {
  position: absolute;
  top: 0%;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #e50012;
  content: "";
}
#hd #drawer-btn:before {
  position: absolute;
  bottom: 0%;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #e50012;
  content: "";
}
#hd #drawer-btn a {
  display: block;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
#hd #drawer-btn.on span {
  display: none;
}
#hd #drawer-btn.on:after {
  transform: rotate(45deg);
  top: 8px;
}
#hd #drawer-btn.on:before {
  transform: rotate(-45deg);
  top: 8px;
}
#hd #hd-li .li {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
#hd #hd-li .li .tg-btn {
  position: relative;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
#hd #hd-li .li .tg-btn span {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  float: right;
  width: 65px;
  height: 75px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
#hd #hd-li .li .tg-btn span:after {
  content: "";
  width: 12px;
  height: 1px;
  position: absolute;
  top: 50%;
  right: 50%;
  background: #e50012;
  margin-top: -.5px;
  margin-right: -5.5px;
}
#hd #hd-li .li .tg-btn span:before {
  content: "";
  width: 1px;
  height: 12px;
  position: absolute;
  top: 50%;
  right: 50%;
  background: #e50012;
  margin-top: -6px;
}
#hd #hd-li .li .tg-btn span.on:before {
  display: none;
}
#hd #hd-li .li > a {
  display: block;
  padding: 30px 20px;
  font-weight: bold;
  color: #000;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
#hd #hd-li .li + .li {
  border-top: 1px solid #e5e5e5;
}
#hd #hd-li .tg-menu {
  padding-left: 40px;
  display: none;
}
#hd #hd-li .tg-menu .pc-ttl {
  display: none;
}
#hd #hd-li .tg-menu li {
  padding-bottom: 35px;
}
#hd #hd-li .tg-menu li a {
  color: #000;
}
#hd #draer-box {
  display: none;
  position: fixed;
  overflow-y: auto;
  background-color: #fff;
  top: 65px;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  z-index: 10000;
}
#hd.on {
  transform: translateY(-100%);
}
@media only screen and (min-width: 768px) {
  #hd {
    border-top: 1px solid #e50012;
  }
  #hd #draer-box {
    display: block !important;
    position: static;
    overflow-y: visible;
    top: 65px;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;
    min-width: 515px;
    width: 44%;
    max-width: 610px;
  }
  #hd .inner-hd {
    padding: 0px 20px;
    height: 100px;
  }
  #hd #hd-logo {
    max-width: 464px;
    width: 26%;
  }
  #hd #drawer-btn {
    display: none;
  }
  #hd #hd-li {
    display: flex;
    justify-content: space-between;
  }
  #hd #hd-li .li {
    font-size: 14px;
    padding-bottom: 45px;
    position: relative;
    top: 22px;
  }
  #hd #hd-li .li .tg-btn {
    position: relative;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #hd #hd-li .li .tg-btn span {
    display: none;
  }
  #hd #hd-li .li .tg-btn:after {
    position: absolute;
    bottom: -29px;
    left: 50%;
    z-index: 1500;
    width: 1px;
    background-color: #e50012;
    content: "";
    height: 0px;
    opacity: 0;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    top: auto;
  }
  #hd #hd-li .li .tg-btn:hover {
    color: #e50012;
  }
  #hd #hd-li .li .tg-btn:hover:after {
    height: 16px;
    opacity: 1;
  }
  #hd #hd-li .li .tg-btn:before {
    display: none;
  }
  #hd #hd-li .li > a {
    letter-spacing: 0.08em;
    display: block;
    padding: 0;
    font-weight: normal;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    position: relative;
  }
  #hd #hd-li .li > a:after {
    position: absolute;
    bottom: -29px;
    left: 50%;
    z-index: 1500;
    width: 1px;
    height: 0;
    background-color: #e50012;
    content: "";
    opacity: 0;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #hd #hd-li .li > a:hover {
    color: #e50012;
  }
  #hd #hd-li .li > a:hover:after {
    height: 16px;
    opacity: 1;
  }
  #hd #hd-li .li.on .tg-btn {
    color: #e50012;
  }
  #hd #hd-li .li.on .tg-btn:after {
    height: 16px;
    opacity: 1;
  }
  #hd #hd-li .li + .li {
    border-top: none;
    margin-left: 0;
    padding-left: 3%;
  }
  #hd #hd-li .tg-menu.on {
    visibility: visible;
    opacity: 1;
  }
  #hd #hd-li .tg-menu.on .mini-li {
    visibility: visible;
    opacity: 1;
  }
  #hd #hd-li .tg-menu {
    -webkit-transition: 0.2s ease-in-out;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    display: block !important;
    visibility: hidden;
    opacity: 0;
    position: fixed;
    top: 99px;
    left: 0;
    width: 100%;
    background: #fff;
    padding: 60px 0;
    z-index: 10000;
  }
  #hd #hd-li .tg-menu .mini-li {
    visibility: hidden;
    opacity: 0;
    -webkit-transition: 0.2s ease-in-out;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  #hd #hd-li .tg-menu .mini-li:nth-child(1) {
    transition-delay: 0.2s;
  }
  #hd #hd-li .tg-menu .mini-li:nth-child(2) {
    transition-delay: 0.25s;
  }
  #hd #hd-li .tg-menu .mini-li:nth-child(3) {
    transition-delay: 0.3s;
  }
  #hd #hd-li .tg-menu .mini-li:nth-child(4) {
    transition-delay: 0.35s;
  }
  #hd #hd-li .tg-menu .inner {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    padding: 0 20px;
  }
  #hd #hd-li .tg-menu .pc-ttl {
    display: block;
    font-family: "Noto Serif JP", serif;
    font-size: 36px;
    font-weight: 300;
    float: left;
  }
  #hd #hd-li .tg-menu .pc-ttl a {
    color: #000;
  }
  #hd #hd-li .tg-menu ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    float: right;
    flex-wrap: wrap;
    margin-top: 20px;
  }
  #hd #hd-li .tg-menu ul .mini-li {
    height: 100px;
    display: table;
    width: 23%;
    padding-bottom: 15px;
  }
  #hd #hd-li .tg-menu ul .mini-li a {
    text-align: center;
    display: table-cell;
    vertical-align: middle;
    padding: 0px 10px;
    border: 1px solid #f2f2f2;
    line-height: 1em;
    width: 100%;
    height: 100px;
    line-height: 1.25em;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #hd #hd-li .tg-menu ul .mini-li a:hover {
    border: 1px solid #e50012;
    color: #e50012;
  }
  #hd #hd-li .tg-menu ul .mini-li .sm {
    font-size: 14px;
  }
  #hd #hd-li .tg-menu ul li + li {
    margin-left: 2%;
  }
  #hd #hd-li .li:last-child {
    display: none;
  }
}
@media only screen and (min-width: 850px) {
  #hd .inner-hd {
    padding: 0px 40px;
  }
  #hd #hd-li .li {
    font-size: 16px;
  }
}
@media only screen and (min-width: 1140px) {
  #hd #hd-logo {
    width: 70%;
  }
  #hd #hd-li .tg-menu .pc-ttl a {
    color: #000;
  }
  #hd #hd-li .tg-menu ul {
    justify-content: flex-end;
    width: 72%;
    float: right;
    margin-top: 0;
  }
  #hd #hd-li .tg-menu ul .mini-li {
    height: 100px;
    display: table;
    width: 180px;
    padding-bottom: 15px;
  }
  #hd #hd-li .tg-menu ul .mini-li a {
    text-align: center;
    display: table-cell;
    vertical-align: middle;
    padding: 0px 10px;
    border: 1px solid #f2f2f2;
    width: 100%;
    height: 100px;
  }
  #hd #hd-li .tg-menu ul .mini-li .sm {
    font-size: 14px;
    padding-top: 5px;
  }
}
@media only screen and (min-width: 1180px) {
  #hd #draer-box {
    min-width: 615px;
    max-width: 615px;
  }
  #hd #hd-li .li + .li {
    padding-left: 40px;
  }
}
/* =====================================
	Footer
=====================================*/
#ft {
  position: relative;
  background-color: #fff;
}
#ft #ft-entry {
  text-align: center;
  background-color: #fef7f8;
}
#ft #ft-entry:hover .ico-link:after {
  right: -30px;
}
#ft #ft-entry a {
  display: block;
  padding: 60px;
  border-top: 1px solid #fce5e7;
  border-bottom: 1px solid #fce5e7;
}
#ft #ft-entry .mask {
  display: none;
  -webkit-transition: all .3s;
  transition: all .3s;
}
#ft #ft-entry dt {
  font-family: 'Open Sans', sans-serif;
  font-size: 40px;
  margin-bottom: 25px;
  color: #e50012;
  font-weight: bold;
}
#ft #ft-entry dd {
  color: #000;
  font-size: 20px;
  text-indent: -1em;
  font-weight: bold;
}
#ft #ft-new-entry .left-box {
  padding: 35px 20px;
}
#ft #ft-new-entry .left-box .ttl-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
}
#ft #ft-new-entry .left-box .ttl-box a {
  margin-right: 20px;
  color: #000;
  font-size: 14px;
}
#ft #ft-new-entry .left-box .new-entry-li li {
  text-align: center;
  font-size: 14px;
}
#ft #ft-new-entry .left-box .new-entry-li img {
  width: 199px;
  margin-bottom: 20px;
}
#ft #ft-new-entry .left-box .new-entry-li li + li {
  padding-top: 20px;
  margin-top: 20px;
  position: relative;
}
#ft #ft-new-entry .left-box .new-entry-li li + li:after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -127.5px;
  width: 255px;
  height: 1px;
  background-color: #f2f2f2;
}
#ft #ft-new-entry .left-box .new-entry-li li a {
  display: block;
}
#ft #ft-new-entry .right-box {
  text-align: center;
}
#ft #ft-new-entry .right-box a {
  display: block;
  color: #000;
  padding: 50px 0;
  border-top: 1px solid #f2f2f2;
  border-bottom: 1px solid #f2f2f2;
  font-weight: bold;
  width: 100%;
}
#ft #ft-nav .ft-nav-top {
  padding: 40px 40px 30px 40px;
  background-color: #f8f8f8;
  position: relative;
}
#ft #ft-nav .ft-nav-top a {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
#ft #ft-nav .ft-nav-top a:hover {
  opacity: 0.6;
}
#ft #ft-nav .ft-nav-top .inner {
  display: flex;
  flex-wrap: wrap;
}
#ft #ft-nav .ft-nav-top dt {
  font-size: 12px;
  font-weight: bold;
  margin-bottom: 20px;
}
#ft #ft-nav .ft-nav-top dd {
  margin-bottom: 20px;
  font-size: 10px;
  line-height: 1.5em;
}
#ft #ft-nav .ft-nav-top a {
  color: #000;
}
#ft #ft-nav .ft-nav-top dl {
  margin-bottom: 40px;
}
#ft #ft-nav .ft-nav-top .nav01 {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#ft #ft-nav .ft-nav-top .nav01 dt {
  margin-bottom: 0;
}
#ft #ft-nav .ft-nav-top .nav04 {
  margin-bottom: 0;
}
#ft #ft-nav .ft-nav-top .nav04 dt {
  margin-bottom: 0;
}
#ft #ft-nav .ft-nav-top .nav02, #ft #ft-nav .ft-nav-top .nav03, #ft #ft-nav .ft-nav-top .nav04 {
  width: 50%;
}
#ft #ft-nav .ft-nav-top .nav02, #ft #ft-nav .ft-nav-top .nav03 {
  margin-bottom: 20px;
}
#ft .ft-logo {
  text-align: center;
  background-color: #f8f8f8;
  padding-bottom: 40px;
  position: relative;
}
#ft .ft-logo #page-top {
  position: absolute;
  bottom: 30px;
  right: 5px;
}
#ft .ft-logo #page-top a {
  position: relative;
  display: block;
  width: 32px;
  height: 32px;
  border-radius: 100%;
  justify-content: space-between;
  align-items: center;
  justify-content: center;
  z-index: 5;
}
#ft .ft-logo #page-top a:after {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 100%;
  background: rgba(153, 153, 153, 0.8);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
}
#ft .ft-logo #page-top img {
  width: 9px;
  position: relative;
  top: 3px;
  z-index: 10;
}
#ft .ft-logo img {
  width: 70px;
}
#ft .ft-nav-btm {
  background-color: #e50012;
  padding-bottom: 15px;
}
#ft .ft-nav-btm a {
  color: #fff;
}
#ft .ft-nav-btm .ico-link-blank-wh {
  color: #fff;
}
#ft .ft-nav-btm .ico-link-blank-wh:after {
  right: -15px;
}
#ft .ft-nav-btm ul {
  text-align: center;
  padding: 25px 0;
}
#ft .ft-nav-btm ul li {
  display: inline-block;
  padding: 0 25px;
  font-size: 0;
}
#ft .ft-nav-btm ul li a {
  font-size: 9px;
  line-height: 1.5em;
}
#ft .ft-nav-btm ul li .ico {
  width: 9.5px;
  position: relative;
  top: -2px;
}
#ft .ft-nav-btm ul li + li {
  position: relative;
}
#ft .ft-nav-btm ul li + li:after {
  content: "";
  width: 0.5px;
  height: 20px;
  background-color: rgba(255, 255, 255, 0.5);
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -10px;
}
#ft .ft-nav-btm .copy {
  color: #fff;
  font-family: 'Open Sans', sans-serif;
  font-size: 8px;
  text-align: center;
  display: block;
}
@media only screen and (min-width: 768px) {
  .member-li .li.left {
    text-align: left;
  }
  .member-li .li.center {
    text-align: center;
  }
  .member-li .li.right {
    text-align: right;
  }
  #ft {
    z-index: 1;
  }
  #ft #ft-entry {
    position: relative;
  }
  #ft #ft-entry a {
    padding: 100px;
    position: relative;
    background: none;
    position: relative;
  }
  #ft #ft-entry a:before {
    position: absolute;
    width: 0%;
    height: 100%;
    content: "";
    background: #e50012;
    top: 0;
    left: 0;
    z-index: 10;
    -webkit-transition: 0.2s ease-in-out;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  #ft #ft-entry a dd:after {
    -webkit-transition: 0.2s ease-in-out;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  #ft #ft-entry a dt, #ft #ft-entry a dd {
    position: relative;
    z-index: 15;
    -webkit-transition: 0.2s ease-in-out;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  #ft #ft-entry a:hover dd, #ft #ft-entry a:hover dt {
    color: #fff;
  }
  #ft #ft-entry a:hover dd:after {
    background-image: url(../img/cmn/ico_link_wh.png);
  }
  #ft #ft-entry a:hover:before {
    width: 100%;
  }
  #ft #ft-entry .main-box {
    position: relative;
    z-index: 1;
  }
  #ft #ft-entry dt {
    font-size: 50px;
    margin-bottom: 30px;
  }
  #ft #ft-entry dd {
    font-size: 24px;
    position: relative;
  }
  #ft #ft-new-entry {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #ft #ft-new-entry .left-box {
    padding: 40px 20px 80px 2.7777777778%;
    width: 66.6666666667%;
  }
  #ft #ft-new-entry .left-box .ttl-box {
    display: block;
    margin-bottom: 65px;
  }
  #ft #ft-new-entry .left-box .ttl-box h5, #ft #ft-new-entry .left-box .ttl-box a {
    display: inline-block;
  }
  #ft #ft-new-entry .left-box .ttl-box h5 {
    font-size: 20px;
  }
  #ft #ft-new-entry .left-box .ttl-box a {
    margin-right: 0px;
    margin-left: 20px;
    font-size: 16px;
  }
  #ft #ft-new-entry .left-box .new-entry-li {
    text-align: center;
    max-width: 660px;
    margin: 0 auto;
  }
  #ft #ft-new-entry .left-box .new-entry-li li {
    display: inline-block;
    vertical-align: top;
    text-align: center;
    width: 186px;
  }
  #ft #ft-new-entry .left-box .new-entry-li li a:hover img, #ft #ft-new-entry .left-box .new-entry-li li a:hover .op {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    opacity: 0.6;
  }
  #ft #ft-new-entry .left-box .new-entry-li li a:hover .ico-link-blank:after {
    right: -23px;
  }
  #ft #ft-new-entry .left-box .new-entry-li img {
    width: auto;
    margin-bottom: 0;
  }
  #ft #ft-new-entry .left-box .new-entry-li li + li {
    padding-top: 0px;
    margin-top: 0px;
    margin-left: 5.2083333333%;
  }
  #ft #ft-new-entry .left-box .new-entry-li li + li img {
    width: 100%;
  }
  #ft #ft-new-entry .left-box .new-entry-li li + li:after {
    display: none;
  }
  #ft #ft-new-entry .left-box .new-entry-li li a {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
    min-height: 64px;
  }
  #ft #ft-new-entry .right-box {
    text-align: center;
    width: 33.3333333333%;
    position: relative;
  }
  #ft #ft-new-entry .right-box:after {
    content: "";
    width: 1px;
    height: 240px;
    top: 50%;
    left: 0;
    margin-top: -120px;
    position: absolute;
    background-color: #f2f2f2;
  }
  #ft #ft-new-entry .right-box a {
    color: #000;
    padding: 0px 0;
    border-top: none;
    border-bottom: none;
    font-size: 20px;
  }
  #ft #ft-nav .ft-nav-top {
    padding: 100px 0 50px;
  }
  #ft #ft-nav .ft-nav-top .inner {
    max-width: 840px;
    padding: 0 20px;
    margin: 0 auto;
    justify-content: space-between;
    flex-wrap: nowrap;
  }
  #ft #ft-nav .ft-nav-top dt {
    font-size: 16px;
    margin-bottom: 30px;
  }
  #ft #ft-nav .ft-nav-top dd {
    margin-bottom: 1em;
    font-size: 14px;
  }
  #ft #ft-nav .ft-nav-top a {
    color: #000;
  }
  #ft #ft-nav .ft-nav-top dl {
    margin-bottom: 0px;
  }
  #ft #ft-nav .ft-nav-top .nav01 {
    width: auto;
    display: block;
  }
  #ft #ft-nav .ft-nav-top .nav01 dt {
    margin-bottom: 40px;
  }
  #ft #ft-nav .ft-nav-top .nav04 dt {
    margin-bottom: 0;
  }
  #ft #ft-nav .ft-nav-top .nav03 {
    width: auto;
    margin-left: 80px;
  }
  #ft #ft-nav .ft-nav-top .nav04 {
    width: auto;
  }
  #ft #ft-nav .ft-nav-top .nav02 {
    width: auto;
    margin-left: 80px;
  }
  #ft .ft-logo {
    padding-bottom: 60px;
  }
  #ft .ft-logo img {
    width: 80px;
  }
  #ft .ft-logo #page-top {
    bottom: 30px;
    right: 15px;
  }
  #ft .ft-logo #page-top a {
    width: 40px;
    height: 40px;
  }
  #ft .ft-logo #page-top a:after {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
  }
  #ft .ft-logo #page-top img {
    width: 12px;
    top: 7px;
  }
  #ft .ft-logo #page-top a:hover:after {
    transform: rotate(0.09deg) scale(1.1);
  }
  #ft .ft-nav-btm {
    background-color: #e50012;
    padding-bottom: 15px;
    padding-top: 15px;
  }
  #ft .ft-nav-btm .ico-link-blank-wh {
    color: #fff;
    padding-right: 10px;
  }
  #ft .ft-nav-btm .ico-link-blank-wh:after {
    right: -8px;
  }
  #ft .ft-nav-btm .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 100%;
    padding: 0 20px;
  }
  #ft .ft-nav-btm a {
    line-height: 1em;
  }
  #ft .ft-nav-btm ul {
    text-align: center;
    padding: 0 0;
    order: 2;
  }
  #ft .ft-nav-btm ul li {
    display: inline-block;
    vertical-align: middle;
    font-size: 0;
    padding: 0 20px;
    line-height: 1em;
  }
  #ft .ft-nav-btm ul li a {
    font-size: 12px;
  }
  #ft .ft-nav-btm ul li .ico {
    width: 13px;
    top: -3px;
  }
  #ft .ft-nav-btm ul li + li:after {
    height: 12px;
    margin-top: -6px;
  }
  #ft .ft-nav-btm .copy {
    order: 1;
    font-size: 12px;
  }
}
#svg-kv01 .cls-1, #svg-kv01 .cls-2, #svg-kv01 .cls-3, #svg-kv01 .cls-4 {
  fill: none;
}
#svg-kv01 .cls-1 {
  stroke-width: 3px;
}
#svg-kv01 .cls-2 {
  stroke-width: 8px;
}
#svg-kv01 .cls-3 {
  stroke-width: 7px;
}
#svg-kv01 .cls-4 {
  stroke-width: 5px;
}
#kv-wrap {
  position: relative;
}
#kv-wrap .scroll-txt {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -o-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  position: absolute;
  z-index: 10;
  bottom: 50px;
  left: 50%;
  margin-left: -0.5em;
  color: #fff;
  display: inline-block;
  font-family: 'Open Sans', sans-serif;
  font-size: 10px;
  letter-spacing: 0.15em;
}
#kv-wrap .scroll-txt span {
  display: inline-block;
  position: relative;
}
#kv-wrap .scroll-txt span:after {
  width: 1px;
  height: 80px;
  content: "";
  background-color: #e50012;
  position: absolute;
  left: 49%;
  bottom: -90px;
  z-index: 10;
}
#kv-slide {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  height: calc((var(--vh, 1vh) * 100));
}
#kv-slide .kv {
  width: 100%;
  margin-top: 66px;
  height: 100%;
  background-size: cover;
  background-position: center center;
  outline: none;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: none;
}
#kv-slide .kv .in {
  height: 100vh;
  height: calc((var(--vh, 1vh) * 100) - 66px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  justify-content: center;
}
#kv-slide .kv .txt-box {
  position: relative;
  z-index: 5;
  top: 0;
}
#kv-slide .kv .txt-box .lede {
  text-align: center;
  font-family: "A1明朝", "A1 Mincho", 'Noto Serif JP', serif;
  margin-bottom: 30px;
  color: #fff;
}
#kv-slide .kv .txt-box .svg-kv {
  width: 100%;
  height: auto;
  position: absolute;
  text-align: center;
  top: 28%;
  left: 0;
}
#kv-slide .kv .txt-box .txt {
  color: #fff;
  position: absolute;
  right: 0;
  bottom: -1.5em;
  font-family: "A1明朝", "A1 Mincho", 'Noto Serif JP', serif;
  font-size: 35px;
  text-align: right;
}
#kv-slide .kv:after {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  content: "";
  background-size: cover;
  background-position: center center;
}
#kv-slide .kv02:after {
  background-image: url(../img/home/kv_sp02.jpg);
}
#kv-slide .kv03:after {
  background-image: url(../img/home/kv_sp03.jpg);
}
#kv-slide .kv04:after {
  background-image: url(../img/home/kv_sp04.jpg);
}
#kv-slide .kv05:after {
  background-image: url(../img/home/kv_sp05.jpg);
}
#kv-slide .kv05 {
  z-index: 2;
}
#kv-slide .kv05 svg {
  z-index: 10;
}
#kv-slide .kv.on:after {
  animation: bg_zoom 10s both;
}
.kv01 {
  display: flex;
  justify-content: center;
  min-height: 100%;
  width: 100%;
  height: 100vh;
  background-size: cover;
  background-position: center center;
  outline: none;
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  background-color: #fff;
  text-align: center;
}
.kv01 .in {
  display: flex;
  justify-content: space-between;
  align-items: center;
  justify-content: center;
  height: calc((var(--vh, 1vh) * 100) - 66px);
}
.kv01 img {
  width: 100%;
  opacity: 0;
  animation: show 2s both;
  animation-delay: 1s;
}
@keyframes show {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.95) rotate(0.1deg);
    -moz-transform: scale(0.95) rotate(0.1deg);
    -ms-transform: scale(0.95) rotate(0.1deg);
    -o-transform: scale(0.95) rotate(0.1deg);
    transform: scale(0.95) rotate(0.1deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1) rotate(0.1deg);
    -moz-transform: scale(1) rotate(0.1deg);
    -ms-transform: scale(1) rotate(0.1deg);
    -o-transform: scale(1) rotate(0.1deg);
    transform: scale(1) rotate(0.1deg);
  }
}
@keyframes bg_zoom {
  0% {
    opacity: 0;
    -webkit-transform: scale(1) rotate(0.1deg);
    -moz-transform: scale(1) rotate(0.1deg);
    -ms-transform: scale(1) rotate(0.1deg);
    -o-transform: scale(1) rotate(0.1deg);
    transform: scale(1) rotate(0.1deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1.05) rotate(0.1deg);
    -moz-transform: scale(1.05) rotate(0.1deg);
    -ms-transform: scale(1.05) rotate(0.1deg);
    -o-transform: scale(1.05) rotate(0.1deg);
    transform: scale(1.05) rotate(0.1deg);
  }
}
@media only screen and (min-width: 768px) {
  #kv-wrap .scroll-txt {
    font-size: 13px;
    bottom: 50px;
  }
  .kv01 {
    padding: 0 20px;
    height: calc(100vh);
    margin-top: 0;
  }
  .kv01 img {
    width: auto;
  }
  #kv-slide {
    height: calc(100vh);
  }
  #kv-slide .kv {
    width: 100%;
    margin-top: 101px;
    height: calc(100vh - 101px);
  }
  #kv-slide .kv .txt-box {
    left: 2em;
    top: -3em;
  }
  #kv-slide .kv .txt-box .lede {
    margin-bottom: 60px;
    font-size: 32px;
  }
  #kv-slide .kv .txt-box .svg-kv {
    top: 50%;
  }
  #kv-slide .kv .txt-box .svg-kv svg {
    position: relative;
    top: 0px;
    left: -8em;
    transform: scale(1.7);
  }
  #kv-slide .kv .txt-box .txt {
    right: -340px;
    bottom: 0em;
    font-size: 80px;
  }
  #kv-slide .kv02:after {
    background-image: url(../img/home/kv02.jpg);
  }
  #kv-slide .kv03:after {
    background-image: url(../img/home/kv03.jpg);
  }
  #kv-slide .kv04:after {
    background-image: url(../img/home/kv04.jpg);
  }
  #kv-slide .kv05:after {
    background-image: url(../img/home/kv05.jpg);
  }
}
#home-msg {
  margin-bottom: 100px;
}
#home-msg .txt-wrap {
  overflow: hidden;
  width: 100%;
  text-align: center;
  margin: 10px 0 40px;
  height: 100%;
}
#home-msg .txt-wrap .inner {
  width: 150%;
  margin-left: -25%;
}
#home-msg .txt-wrap img {
  width: 68%;
}
#home-msg .txt-wrap .f {
  padding: 0.1em 0;
  display: block;
  font-family: "Noto Serif JP", serif;
  font-size: 20.8vw;
  color: #f0f0f0;
  letter-spacing: -0.1em;
  white-space: nowrap;
}
#home-msg .txt-wrap .f .space {
  letter-spacing: -0.6em;
}
#home-msg .content {
  padding: 0 40px;
  letter-spacing: 0;
}
#home-msg .content .svg-ttl-box {
  margin-bottom: 20px;
}
#home-msg .content .ttl {
  text-align: center;
  margin-bottom: 40px;
}
#home-msg .content .ttl span {
  display: inline-block;
  text-align: left;
  font-size: 50px;
  font-family: "Noto Serif JP", serif;
  font-weight: normal;
  line-height: 1.4em;
  letter-spacing: 0.25em;
}
#home-msg .content .txt {
  font-size: 12px;
  line-height: 2.3333333333em;
  margin-bottom: 35px;
}
@media only screen and (min-width: 768px) {
  #home-msg {
    margin-bottom: 200px;
    width: 100%;
    overflow: hidden;
  }
  #home-msg .txt-wrap {
    overflow: hidden;
    width: 100%;
    text-align: center;
    margin: 10px 0 -100px;
    padding-top: 25px;
    margin-top: -20px;
  }
  #home-msg .txt-wrap .inner {
    width: 150%;
    margin-left: -25%;
  }
  #home-msg .txt-wrap .f {
    display: block;
    font-size: 19.375vw;
    color: #f0f0f0;
    letter-spacing: -0.05em;
    padding-top: 0;
  }
  #home-msg .txt-wrap .f .space {
    font-size: 13.8888888889vw;
    letter-spacing: -0.45em;
  }
  #home-msg .content {
    padding: 0px;
    max-width: 980px;
    margin: 0 auto;
    width: 100%;
    padding: 0 20px;
    margin: 0 auto;
    margin-bottom: 70px;
  }
  #home-msg .content .svg-ttl-box {
    margin-bottom: 20px;
  }
  #home-msg .content .flex-box {
    position: relative;
  }
  #home-msg .content .ttl span {
    font-size: 48px;
    line-height: 1.2em;
    letter-spacing: 0.25em;
  }
  #home-msg .content .txt {
    text-align: left;
    order: 1;
    margin: 0 auto;
    font-size: 16px;
    line-height: 2.5em;
    margin-bottom: 0;
  }
}
.homeSec-typeA {
  margin-bottom: 50px;
}
.homeSec-typeA .bg {
  width: 100%;
  height: 208px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.homeSec-typeA .content {
  margin: -30px 20px 0 20px;
  padding: 85px 30px 0 35px;
  background-color: #fff;
  position: relative;
}
.homeSec-typeA .content .svg-ttl-box {
  position: absolute;
  top: -10px;
  left: 30px;
}
.homeSec-typeA .content .ttl {
  font-size: 26px;
  line-height: 1.3846153846em;
  margin-bottom: 30px;
}
.homeSec-typeA .content .txt {
  font-size: 12px;
  line-height: 2.3333333333em;
  margin-bottom: 35px;
}
#home-job .bg {
  background-image: url(../img/home/bg_job_sp.jpg);
}
#home-work {
  margin-bottom: 100px;
}
#home-work .content {
  margin-left: 40px;
  margin-right: 0px;
  position: relative;
}
#home-work .content .svg-ttl-box {
  position: absolute;
  top: -10px;
  left: 30px;
}
#home-work .bg {
  background-image: url(../img/home/bg_work_sp.jpg);
}
#home-work .btn-typeA {
  text-align: left;
}
#home-info {
  margin-bottom: 40px;
}
#home-info .content {
  margin-right: 40px;
  margin-left: 0px;
  position: relative;
  padding-top: 75px;
}
#home-info .content .svg-ttl-box {
  position: absolute;
  top: -10px;
  left: 20px;
}
#home-info .bg {
  background-image: url(../img/home/bg_info_sp.jpg);
}
#home-info .btn-typeA {
  text-align: left;
}
@media only screen and (min-width: 768px) {
  .homeSec-typeA {
    margin-bottom: 50px;
  }
  .homeSec-typeA .bg {
    width: 100%;
    height: 800px;
  }
  .homeSec-typeA .content {
    margin: -310px 0px 0 0px;
    padding: 0;
    width: 50%;
    min-width: 720px;
  }
  .homeSec-typeA .content .svg-ttl-box {
    position: absolute;
    top: -20px;
    left: 50px;
  }
  .homeSec-typeA .content .inner {
    max-width: 500px;
  }
  .homeSec-typeA .content .ttl {
    font-size: 32px;
    line-height: 1.5em;
    margin-bottom: 40px;
  }
  .homeSec-typeA .content .txt {
    font-size: 16px;
    line-height: 2em;
    margin-bottom: 80px;
  }
  .homeSec-typeA .btn-typeA {
    text-align: left;
  }
  .homeSec-typeA.right .content {
    padding: 150px 30px 0 8.35%;
    float: right;
  }
  .homeSec-typeA.left .content {
    padding: 150px 8.35% 0 30px;
    float: left;
  }
  .homeSec-typeA.left .content .inner {
    float: right;
  }
}
@media only screen and (min-width: 768px) {
  #home-job {
    margin-bottom: 100px;
  }
  #home-job .bg {
    background-image: url(../img/home/bg_job_pc.jpg);
  }
  #home-work {
    margin-bottom: 350px;
    position: relative;
  }
  #home-work .content {
    padding-top: 110px;
    position: absolute;
    right: 0;
    top: 290px;
    z-index: 0;
    margin-top: 0;
  }
  #home-work .content .svg-ttl-box {
    position: absolute;
    top: -50px;
    left: 60px;
  }
  #home-work .bg {
    background-image: url(../img/home/bg_work_pc.jpg);
    max-width: 960px;
    height: 640px;
    float: left;
  }
  #home-work .btn-typeA {
    text-align: left;
  }
  #home-info {
    margin-bottom: 350px;
    position: relative;
  }
  #home-info .content {
    padding-top: 110px;
    position: absolute;
    left: 0;
    top: 290px;
    z-index: 5;
    margin-top: 0;
  }
  #home-info .content .svg-ttl-box {
    position: absolute;
    top: -30px;
    left: auto;
    right: 50%;
  }
  #home-info .bg {
    background-image: url(../img/home/bg_info_pc.jpg);
    max-width: 960px;
    height: 640px;
    float: right;
  }
}
#home-news {
  padding: 0 20px;
  margin-bottom: 100px;
}
#home-news .ttl {
  font-size: 20px;
  text-align: center;
  padding-bottom: 30px;
  border-bottom: 1px solid #f2f2f2;
}
@media only screen and (min-width: 768px) {
  #home-news {
    padding: 0 20px;
    margin: 0 auto;
    margin-bottom: 200px;
    max-width: 940px;
  }
  #home-news .ttl {
    font-size: 28px;
    padding-bottom: 40px;
  }
  #home-news a:hover div {
    opacity: 0.6;
  }
  #home-news .btn-typeB a:hover span {
    opacity: 0.6;
  }
}
#home-person {
  margin-bottom: 100px;
  overflow: hidden;
}
#home-person .person-slide-wrap {
  width: 100%;
  overflow: hidden;
  margin-bottom: 30px;
}
#home-person .person-slide-box {
  width: 2000px;
  display: flex;
  justify-content: start;
}
#home-person .person-slide-box.on .person-slide01 {
  animation: slide1 120s -60s linear infinite;
}
#home-person .person-slide-box.on .person-slide02 {
  animation: slide2 120s linear infinite;
}
#home-person .person-slide {
  width: 1000px;
  display: flex;
  justify-content: start;
}
#home-person .person-slide .slide {
  width: 180px;
  margin: 0 10px 0 10px;
}
#home-person .person-slide .slide01, #home-person .person-slide .slide03 {
  margin-top: 40px;
}
#home-person .person-slide .slide04 {
  margin-top: 80px;
}
#home-person .person-slide .slide05 {
  margin-top: 120px;
}
#home-person .content {
  padding: 0 20px;
}
#home-person .content .svg-ttl-box {
  margin-bottom: 30px;
}
#home-person .content .txt-box {
  margin-bottom: 45px;
  text-align: left;
}
#home-person .content .txt-box .ttl-box {
  padding: 0 20px;
}
#home-person .content .txt-box h2 {
  font-size: 26px;
  line-height: 1.5em;
  margin-bottom: 25px;
}
#home-person .content .txt-box p {
  font-size: 12px;
  line-height: 2.3333333333em;
}
@media only screen and (min-width: 768px) {
  #home-person {
    margin-bottom: 200px;
    overflow: hidden;
  }
  #home-person .person-slide-wrap {
    margin-bottom: 60px;
  }
  #home-person .person-slide-box {
    width: 3800px;
    display: flex;
    justify-content: start;
  }
  #home-person .person-slide {
    width: 1900px;
  }
  #home-person .person-slide .slide {
    width: 360px;
    margin: 0 20px 0 20px;
  }
  #home-person .person-slide .slide01, #home-person .person-slide .slide03 {
    margin-top: 60px;
  }
  #home-person .person-slide .slide04 {
    margin-top: 100px;
  }
  #home-person .person-slide .slide05 {
    margin-top: 140px;
  }
  #home-person .content {
    padding: 0 20px;
    max-width: 1200px;
    margin: 0 auto;
  }
  #home-person .content .svg-ttl-box {
    margin-bottom: 40px;
  }
  #home-person .content .txt-box {
    padding: 0;
    width: 100%;
    display: inline-block;
    margin-bottom: 75px;
  }
  #home-person .content .txt-box .ttl-box {
    padding: 0 9.0277777778%;
  }
  #home-person .content .txt-box h2 {
    font-size: 32px;
    margin-bottom: 20px;
  }
  #home-person .content .txt-box p {
    font-size: 16px;
    line-height: 2em;
  }
}
@keyframes slide1 {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes slide2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
@media all and (-ms-high-contrast: none) and (min-width: 768px) {
  #kv-slide .kv .txt-box .txt {
    right: -360px !important;
  }
}
.cls-1, .cls-2, .cls-3, .cls-4, .cls-5 {
  stroke: #ffffff !important;
}
#kv-slide .kv .txt-box .svg-kv svg.kv-test {
  stroke: #fff;
  top: -70px;
}
.svg-ttl-box {
  position: relative;
}
.svg-line {
  position: absolute;
  left: 0;
  bottom: -10px;
  width: 190px;
  height: 60px;
  z-index: 1;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke: #FFFFFF;
  stroke-width: 60;
  stroke-miterlimit: 10;
  stroke-dasharray: 1500;
  /* この行を追加 */
  stroke-dashoffset: 1500;
  /* この行を追加 */
}
.svg-ttl {
  position: relative;
  z-index: 10;
  stroke: #FFFFFF;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 30px;
  stroke-miterlimit: 10;
  stroke-dasharray: 1500;
  /* この行を追加 */
  stroke-dashoffset: 1500;
  /* この行を追加 */
}
.svg-kv-txt {
  position: relative;
  z-index: 10;
  fill: none;
  stroke: #FFFFFF;
  stroke-linejoin: round;
  stroke-width: 30px;
  stroke-miterlimit: 10;
  stroke-dasharray: 1500;
  /* この行を追加 */
  stroke-dashoffset: 1500;
  /* この行を追加 */
}
.svg-lines {
  position: relative;
  z-index: 10;
  fill: none;
  stroke: #FFFFFF;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 60px;
  stroke-miterlimit: 10;
  stroke-dasharray: 1500;
  /* この行を追加 */
  stroke-dashoffset: 1500;
  /* この行を追加 */
}
#svg-kv02 .cls-1, #svg-kv02 .cls-2, #svg-kv02 .cls-3, #svg-kv02 .cls-4, #svg-kv02 .cls-5, #svg-kv02 .cls-6, #svg-kv02 .cls-7 {
  fill: none;
  stroke-linejoin: bevel;
}
#svg-kv02 .cls-1 {
  stroke-width: 7px;
}
#svg-kv02 .cls-2 {
  stroke-width: 8px;
}
#svg-kv02 .cls-3 {
  stroke-width: 3px;
}
#svg-kv02 .cls-4 {
  stroke-width: 9px;
}
#svg-kv02 .cls-5 {
  stroke-width: 3.5px;
}
#svg-kv02 .cls-6 {
  stroke-width: 7.5px;
}
#svg-kv02 .cls-7 {
  stroke-width: 5px;
}
#svg-kv03 .cls-1, #svg-kv03 .cls-2, #svg-kv03 .cls-3, #svg-kv03 .cls-4, #svg-kv03 .cls-5, #svg-kv03 .cls-6, #svg-kv03 .cls-7 {
  fill: none;
  stroke-linejoin: bevel;
}
#svg-kv03 .cls-1 {
  stroke-width: 7px;
}
#svg-kv03 .cls-2 {
  stroke-width: 8px;
}
#svg-kv03 .cls-3 {
  stroke-width: 3px;
}
#svg-kv03 .cls-4 {
  stroke-width: 9px;
}
#svg-kv03 .cls-5 {
  stroke-width: 4px;
}
#svg-kv03 .cls-6 {
  stroke-width: 3.5px;
}
#svg-kv03 .cls-7 {
  stroke-width: 5px;
}
#svg-kv04 .cls-1, #svg-kv04 .cls-2, #svg-kv04 .cls-3, #svg-kv04 .cls-4, #svg-kv04 .cls-5, #svg-kv04 .cls-6, #svg-kv04 .cls-7 {
  fill: none;
  stroke-linejoin: bevel;
}
#svg-kv04 .cls-1 {
  stroke-width: 7px;
}
#svg-kv04 .cls-2 {
  stroke-width: 8px;
}
#svg-kv04 .cls-3 {
  stroke-width: 4px;
}
#svg-kv04 .cls-4 {
  stroke-width: 3px;
}
#svg-kv04 .cls-5 {
  stroke-width: 7.5px;
}
#svg-kv04 .cls-6 {
  stroke-width: 3.5px;
}
#svg-kv04 .cls-7 {
  stroke-width: 5px;
}
#svg-ttl01 {
  width: 130px;
  height: auto;
}
#svg-ttl02 {
  width: 60px;
  height: auto;
}
#svg-ttl03 {
  width: 145px;
  height: auto;
}
#svg-ttl04 {
  width: 166px;
  height: auto;
}
#svg-ttl05 {
  width: 130px;
  height: auto;
}
#svg-line02 {
  bottom: 11px;
  left: -2px;
}
#svg-line03 {
  bottom: -4px;
  left: -5px;
}
#svg-line04 {
  bottom: -3px;
  left: -5px;
}
.pll {
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  -o-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  z-index: 0;
}
.pll.fade-up {
  -webkit-transition: 1s ease-in-out;
  -moz-transition: 1s ease-in-out;
  -o-transition: 1s ease-in-out;
  transition: 1s ease-in-out;
  position: relative;
  bottom: -20px;
  opacity: 0;
}
.pll.fade-up.on {
  bottom: 0;
  opacity: 1;
}
.pll.slide-right {
  position: relative;
}
.pll.slide-right:after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transform: scaleX(100%);
  transform-origin: right;
  transition-property: transform;
  transition-duration: 0.65s;
  transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1);
}
.pll.slide-up {
  position: relative;
}
.pll.slide-up:after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  transform: scaleY(100%);
  transform-origin: top;
  transition-property: transform;
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1);
}
.pll.slide-right.on:after {
  transform: scaleX(0);
}
.pll.slide-up.on:after {
  transform: scaleY(0);
}
#svg-kv04 {
  width: 240px;
}
@media only screen and (min-width: 768px) {
  .svg-line {
    bottom: -30px;
    width: 390px;
    height: 130px;
  }
  #svg-ttl01 {
    width: 260px;
    height: auto;
  }
  #svg-ttl02 {
    width: 136px;
  }
  #svg-ttl03 {
    width: 294px;
  }
  #svg-ttl04 {
    width: 332px;
  }
  #svg-ttl05 {
    width: 260px;
  }
}
#main.workstyle #sub-kv {
  background-image: url(../img/workstyle/kv_sp.jpg);
}
#main.workstyle #sub-kv .en-ttl svg {
  width: 120px;
}
#main.workstyle .workstyle-li a {
  color: #000;
  display: block;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
#main.workstyle .workstyle-li li {
  max-width: 560px;
  margin: 0 auto;
}
#main.workstyle .workstyle-li li + li {
  margin-top: 40px;
}
#main.workstyle .workstyle-li .txt-box {
  margin: -30px 20px 0 20px;
  background-color: #fff;
  padding: 25px;
  position: relative;
  z-index: 2;
  border-top: 1px solid #e50012;
}
#main.workstyle .workstyle-li .txt-box h2 {
  font-size: 20px;
  margin-bottom: 15px;
  position: relative;
  line-height: 1.5em;
  letter-spacing: 0.08em;
}
#main.workstyle .workstyle-li .txt-box h2:after {
  content: "";
  background-image: url(../img/cmn/ico_link_red.png);
  background-position: top left;
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 14px;
  height: 11px;
  position: absolute;
  top: 50%;
  right: 0px;
  margin-top: -5px;
}
#main.workstyle .workstyle-li .txt-box p {
  font-size: 12px;
  line-height: 1.5em;
}
@media only screen and (min-width: 768px) {
  #main.workstyle .workstyle-index .inner-typeA {
    max-width: 1200px;
  }
  #main.workstyle #sub-kv {
    height: 500px;
    background-image: url(../img/workstyle/kv_pc.jpg);
  }
  #main.workstyle #sub-kv h2 {
    font-size: 64px;
  }
  #main.workstyle #sub-kv .en-ttl svg {
    width: 243px;
  }
  #main.workstyle .workstyle-li {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
  }
  #main.workstyle .workstyle-li li {
    width: 48.275862069%;
    margin: 0;
  }
  #main.workstyle .workstyle-li li .txt-box {
    overflow: hidden;
  }
  #main.workstyle .workstyle-li li .txt-box:after {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-color: #e50012;
    content: "";
    top: 0;
    left: 0;
    transform: translateX(-100%);
  }
  #main.workstyle .workstyle-li li .txt-box h2, #main.workstyle .workstyle-li li .txt-box p {
    position: relative;
    z-index: 10;
  }
  #main.workstyle .workstyle-li li h2, #main.workstyle .workstyle-li li p {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #main.workstyle .workstyle-li li .txt-box:after {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #main.workstyle .workstyle-li li .img {
    overflow: hidden;
  }
  #main.workstyle .workstyle-li li .img img {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #main.workstyle .workstyle-li li:hover h2, #main.workstyle .workstyle-li li:hover p {
    color: #fff;
  }
  #main.workstyle .workstyle-li li:hover .txt-box:after {
    transform: translateX(0%);
  }
  #main.workstyle .workstyle-li li:hover .img img {
    transform: scale(1.1);
  }
  #main.workstyle .workstyle-li li:hover .txt-box h2:after {
    right: -5px;
    background-image: url(../img/cmn/ico_link_wh.png);
  }
  #main.workstyle .workstyle-li li + li {
    margin-top: 0px;
  }
  #main.workstyle .workstyle-li li:nth-child(n+3) {
    margin-top: 70px;
  }
  #main.workstyle .workstyle-li .txt-box {
    margin: -40px 7.1428571429% 0 7.1428571429%;
    padding: 40px 7.1428571429%;
  }
  #main.workstyle .workstyle-li .txt-box h2 {
    font-size: 24px;
    margin-bottom: 20px;
  }
  #main.workstyle .workstyle-li .txt-box h2:after {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    width: 16px;
    height: 14px;
    margin-top: -9px;
  }
  #main.workstyle .workstyle-li .txt-box p {
    font-size: 16px;
    line-height: 1.5em;
  }
}
#main.workstyle.education #sub-kv {
  background-image: url(../img/workstyle/education/kv_pc.jpg);
}
@media only screen and (min-width: 768px) {
  #main.workstyle.education #sub-kv {
    background-image: url(../img/workstyle/education/kv_pc.jpg);
    max-height: 400px;
  }
  #main.workstyle.education #sub-kv .ttl h2 {
    font-size: 56px;
  }
}
#main.workstyle.interview #sub-kv {
  background-image: url(../img/workstyle/interview/kv_sp.jpg);
}
@media only screen and (min-width: 768px) {
  #main.workstyle.interview #sub-kv {
    background-image: url(../img/workstyle/interview/kv_pc.jpg);
    max-height: 400px;
  }
  #main.workstyle.interview #sub-kv .ttl h2 {
    font-size: 56px;
  }
}
#main.workstyle.welfare #sub-kv {
  background-image: url(../img/workstyle/welfare/kv_pc.jpg);
}
@media only screen and (min-width: 768px) {
  #main.workstyle.welfare #sub-kv {
    max-height: 400px;
  }
  #main.workstyle.welfare #sub-kv .ttl h2 {
    font-size: 56px;
  }
}
.inner-typeB {
  max-width: 900px;
  margin: 0 auto;
}
.interview .ttl-lead {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.12em;
  margin-bottom: 28px;
}
.education .ttl-lead {
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  font-size: 20px;
  line-height: 2;
  text-align: left;
  letter-spacing: 0.12em;
  margin-bottom: 40px;
}
@media only screen and (min-width: 768px) {
  .interview .ttl-lead {
    line-height: 2;
    text-align: center;
    font-size: 28px;
    margin-bottom: 14px;
  }
  .education .ttl-lead {
    text-align: center;
    font-size: 28px;
    margin-bottom: 68px;
  }
}
.ttl-typeB {
  margin-bottom: 20px;
}
.ttl-typeC {
  margin-top: 50px;
  margin-bottom: 10px;
}
.text-typeA {
  font-size: 16px;
  line-height: 2;
}
@media only screen and (max-width: 768px) {
  .ttl-lead {
    line-height: 1.5;
  }
  .text-typeA {
    font-size: 14px;
    line-height: 2;
  }
  .lede-typeA {
    font-size: 20px;
  }
}
@media only screen and (max-width: 768px) {
  .lede-typeA {
    font-size: 14px;
    line-height: 2em;
    padding: 0 20px;
    margin-bottom: 30px;
  }
  #main.workstyle .lede-typeA {
    padding: 0;
  }
  #main.interview .lede-typeA {
    padding: 0 20px;
  }
}
@media only screen and (min-width: 768px) {
  .lede-typeB {
    margin-bottom: 35px;
  }
}
.txet-deco {
  position: relative;
  font-size: 22px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 40px;
}
.txet-deco:after {
  display: block;
  content: "";
  width: 1px;
  height: 60px;
  background-color: #e50012;
  margin: 20px auto 27px;
}
@media only screen and (max-width: 768px) {
  .txet-deco {
    position: relative;
    font-size: 14px;
    text-align: center;
    margin-bottom: 40px;
  }
  .txet-deco:after {
    display: block;
    content: "";
    width: 1px;
    height: 50px;
    background-color: #e50012;
    margin: 20px auto 27px;
  }
}
.btm20 {
  margin-bottom: 20px;
}
.btm30 {
  margin-bottom: 30px;
}
.btm60 {
  margin-bottom: 60px;
}
.btm120 {
  margin-bottom: 120px;
}
.btm170 {
  margin-bottom: 170px;
}
@media only screen and (max-width: 768px) {
  .btm60 {
    margin-bottom: 80px;
  }
  .btm120 {
    margin-bottom: 60px;
  }
}
.page-link-nav {
  width: 864px;
  margin: 0 auto 80px;
}
.page-link-nav ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 15px;
}
.page-link-nav li {
  width: 260px;
  height: 60px;
  margin-bottom: 15px;
}
.page-link-nav li a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  line-height: 1.5;
  border: 1px solid #e50012;
  text-align: center;
  color: #000;
  background-image: url(../img/cmn/ico_arrow_down_red.png);
  background-position: 95% 52%;
  background-repeat: no-repeat;
  width: 260px;
  height: 70px;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.page-link-nav li a:hover {
  color: #fff;
  background-image: url(../img/cmn/ico_arrow_down_wh.png);
  background-color: #e50012;
}
@media only screen and (max-width: 768px) {
  .page-link-nav {
    width: 100%;
    margin: 0 auto 60px;
  }
  .page-link-nav ul {
    display: block;
    margin: 0 auto;
  }
  .page-link-nav ul li {
    display: block;
    width: 100%;
    height: 50px;
    margin: 0 auto;
  }
  .page-link-nav ul li a {
    height: 50px;
    line-height: 48px;
    font-size: 13px;
    width: 100%;
  }
  .page-link-nav ul li + li {
    margin-top: 15px;
  }
}
.box-license .list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 38px;
}
.box-license .list li {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background-color: #f8f8f8;
  line-height: 1.5;
  font-size: 16px;
  width: 376px;
  height: 76px;
  margin-right: 16px;
  margin-bottom: 18px;
}
.box-license .list li:nth-of-type(3n) {
  margin-right: 0;
}
@media only screen and (max-width: 768px) {
  .box-license .list {
    margin-bottom: 16px;
  }
  .box-license .list li {
    font-size: 14px;
    width: 100%;
    margin-right: 0;
    margin-bottom: 15px;
  }
}
.flexBox {
  display: flex;
  justify-content: space-between;
  margin-bottom: 120px;
}
.flexBox p {
  font-size: 16px;
  line-height: 2;
}
.flexBox .content {
  width: 560px;
}
@media only screen and (max-width: 768px) {
  .flexBox {
    display: block;
    margin-bottom: 90px;
  }
  .flexBox p {
    font-size: 14px;
    line-height: 2;
  }
  .flexBox .content {
    width: 100%;
  }
}
.flexBoxB {
  display: flex;
  justify-content: space-between;
  margin-top: 38px;
  margin-bottom: 90px;
}
.flexBoxC {
  display: flex;
  justify-content: space-between;
  flex-flow: row-reverse;
  margin-bottom: 120px;
}
.flexBoxC p {
  font-size: 16px;
  line-height: 2;
}
.flexBoxC .content {
  width: 560px;
}
@media only screen and (max-width: 768px) {
  .flexBoxC {
    display: block;
    margin-bottom: 60px;
  }
  .flexBoxC p {
    font-size: 14px;
    line-height: 2;
  }
  .flexBoxC .content {
    width: 100%;
  }
}
.dl-typeA-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 36px;
  margin-bottom: 85px;
}
.dl-typeA-wrap:after {
  content: "";
  display: block;
  width: 363px;
}
.dl-typeA-wrap .dl-typeA {
  background-color: #fef7f8;
  border-top: solid 4px #fce5e7;
  border-radius: 0 0 40px 0;
  width: 363px;
  padding: 32px;
  margin-bottom: 35px;
}
.dl-typeA-wrap .dl-typeA dt {
  font-weight: 700;
  font-size: 20px;
  text-align: center;
  padding-bottom: 15px;
  margin-bottom: 20px;
}
.dl-typeA-wrap .dl-typeA dd {
  font-size: 14px;
  line-height: 2;
}
.dl-typeA-wrap .dl-typeA:nth-of-type(3n) {
  margin-right: 0;
}
@media only screen and (max-width: 768px) {
  .dl-typeA-wrap {
    display: block;
    margin-top: 36px;
    margin-bottom: 80px;
  }
  .dl-typeA-wrap:after {
    content: none;
  }
  .dl-typeA-wrap .dl-typeA {
    background-color: #fef7f8;
    border-top: solid 4px #fce5e7;
    border-radius: 0 0 40px 0;
    width: 100%;
    padding: 32px;
    margin-bottom: 38px;
  }
  .dl-typeA-wrap .dl-typeA dt {
    font-weight: 700;
    font-size: 20px;
    text-align: center;
    padding-bottom: 15px;
    margin-bottom: 20px;
  }
  .dl-typeA-wrap .dl-typeA dd {
    font-size: 14px;
    line-height: 2;
  }
  .dl-typeA-wrap .dl-typeA:nth-of-type(3n) {
    margin-right: 0;
  }
}
.otherBox {
  border: solid 4px #f2f2f2;
  padding: 42px 60px;
  margin-top: 84px;
}
.otherBox .ttl {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.12em;
  margin-bottom: 16px;
}
.otherBox .txt {
  font-size: 16px;
  line-height: 2;
}
@media only screen and (max-width: 768px) {
  .otherBox {
    padding: 32px 20px;
    margin-top: 20px;
  }
  .otherBox .ttl {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.12em;
    margin-bottom: 16px;
  }
  .otherBox .txt {
    font-size: 14px;
    line-height: 2;
  }
}
.nav-local-workenvironment a {
  line-height: 1.5;
}
.nav-local-workenvironment #recruit-nav .faq dt {
  line-height: 1.5;
}
@media only screen and (max-width: 768px) {
  .nav-local-workenvironment a {
    line-height: 1.5;
  }
  .nav-local-workenvironment #recruit-nav dl {
    text-align: left;
    width: 100%;
  }
  .nav-local-workenvironment #recruit-nav .faq dt {
    justify-content: flex-start;
  }
}
.box-join-member {
  position: relative;
  margin-bottom: 192px;
}
.box-join-member:before {
  display: block;
  content: "";
  position: absolute;
  z-index: -1;
  top: 150px;
  left: 0;
  right: 0;
  width: 100vw;
  height: 308px;
  background-color: #fef2f3;
}
.box-join-member .ttl {
  font-weight: 700;
  font-size: 28px;
  text-align: center;
  margin-bottom: 40px;
}
.box-join-member .list-member {
  display: flex;
  justify-content: space-between;
  max-width: 900px;
  margin: 0 auto;
}
.box-join-member .img {
  line-height: 0;
  width: 160px;
  height: auto;
  margin-bottom: 22px;
}
.box-join-member .img img {
  width: 100%;
  height: 100%;
}
.box-join-member .txt-box {
  margin-bottom: 25px;
  position: relative;
  z-index: 4;
  text-align: center;
}
.box-join-member .txt-box .job {
  font-size: 12px;
  margin-bottom: 8px;
}
.box-join-member .txt-box .job .bold {
  font-weight: bold;
}
.box-join-member .txt-box .year {
  font-size: 12px;
  margin-bottom: 14px;
}
.box-join-member .txt-box .name {
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 12px;
}
.box-join-member .txt-box .manage-posi {
  font-size: 12px;
}
@media only screen and (max-width: 768px) {
  .box-join-member {
    position: relative;
    margin-bottom: 94px;
  }
  .box-join-member:before {
    display: block;
    content: "";
    position: absolute;
    z-index: -1;
    top: 105px;
    left: 0;
    right: 0;
    width: 100vw;
    height: 91.2%;
    background-color: #fef2f3;
  }
  .box-join-member .ttl {
    font-weight: 700;
    font-size: 20px;
    text-align: center;
    margin-bottom: 24px;
  }
  .box-join-member .list-member {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 auto;
  }
  .box-join-member .list-member li {
    text-align: center;
    width: 48%;
  }
  .box-join-member .img {
    text-align: center;
    line-height: 0;
    max-width: 160px;
    height: auto;
    padding: 0 20px;
    margin: 0 auto 22px;
  }
  .box-join-member .img img {
    width: 100%;
    height: 100%;
  }
  .box-join-member .txt-box {
    margin-bottom: 25px;
    position: relative;
    z-index: 4;
    text-align: center;
  }
  .box-join-member .txt-box .job {
    font-size: 10px;
    margin-bottom: 8px;
  }
  .box-join-member .txt-box .job .bold {
    font-weight: bold;
  }
  .box-join-member .txt-box .year {
    font-size: 10px;
    margin-bottom: 8px;
  }
  .box-join-member .txt-box .name {
    font-size: 18px;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 12px;
  }
  .box-join-member .txt-box .manage-posi {
    font-size: 10px;
  }
}
.dl-interview {
  display: flex;
  margin-bottom: 40px;
}
.dl-interview:last-child {
  margin-bottom: 98px;
}
.dl-interview dt {
  margin-right: 36px;
}
.dl-interview .img {
  box-sizing: border-box;
  border-radius: 100%;
  width: 100px;
  margin-bottom: 10px;
}
.dl-interview .img img {
  width: 100%;
  height: 100%;
}
.dl-interview .name {
  text-align: center;
  line-height: 1;
  font-size: 12px;
  flex: none;
}
.dl-interview dd {
  border-radius: 4px;
  position: relative;
  flex: 1;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 768px) {
  .dl-interview {
    display: flex;
    padding: 0 20px;
    margin-bottom: 40px;
  }
  .dl-interview:last-child {
    margin-bottom: 60px;
  }
  .dl-interview dt {
    margin-right: 18px;
  }
  .dl-interview .img {
    box-sizing: border-box;
    border-radius: 100%;
    width: 70px;
    margin-bottom: 10px;
  }
  .dl-interview .img img {
    width: 100%;
    height: 100%;
  }
  .dl-interview .name {
    text-align: center;
    line-height: 1;
    font-size: 12px;
    flex: none;
  }
  .dl-interview dd {
    border-radius: 4px;
    position: relative;
    flex: 1;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.08em;
  }
}
.img-bg {
  position: relative;
  margin-bottom: 48px;
}
.img-bg:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 70px;
  left: 137px;
  background-color: #fef7f8;
  display: block;
  width: 560px;
  height: 340px;
}
.img-bg-B {
  position: relative;
  margin-bottom: 48px;
}
.img-bg-B:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 70px;
  right: 137px;
  background-color: #fef7f8;
  display: block;
  width: 560px;
  height: 340px;
}
@media only screen and (max-width: 768px) {
  .img-bg {
    margin-bottom: 20px;
  }
  .img-bg:after {
    display: none;
  }
  .img-bg-B {
    margin-bottom: 20px;
  }
  .img-bg-B:after {
    display: none;
  }
}
#main.workstyle.data #sub-kv {
  background-image: url(../img/workstyle/data/kv_sp.jpg);
  text-align: center;
  height: 180px;
}
#main.workstyle.data #sub-kv h1 {
  line-height: 1.5;
  font-size: 24px;
  letter-spacing: 0.12em;
}
@media only screen and (min-width: 768px) {
  #main.workstyle.data #sub-kv {
    background-image: url(../img/workstyle/data/kv_pc.jpg);
    text-align: center;
    height: 400px;
  }
  #main.workstyle.data #sub-kv h1 {
    line-height: 1.5;
    font-size: 56px;
    letter-spacing: 0.12em;
  }
}
#main.workstyle.data .pc {
  display: block;
}
#main.workstyle.data .sp {
  display: none;
}
#main.workstyle.data .txt-lead {
  margin-bottom: 40px;
}
#main.workstyle.data .txt-sm {
  font-size: 12px;
}
#main.workstyle.data .ico-square span {
  margin-left: 8px;
}
#main.workstyle.data .ico-square:after {
  display: none;
}
#main.workstyle.data .ico-square:before {
  content: "";
  width: 6px;
  height: 6px;
  display: inline-block;
  margin-top: 7px;
  background-color: #999;
}
#main.workstyle.data #recruit-nav {
  margin-top: 174px;
}
#main.workstyle.data .block-data {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 100px;
}
#main.workstyle.data .block-data .content-data-large {
  width: 100%;
  height: 460px;
}
#main.workstyle.data .block-data .content-data-middle {
  width: 50.05%;
  height: 418px;
}
#main.workstyle.data .block-data .content-data-small {
  width: 33.4%;
  height: 460px;
}
#main.workstyle.data .block-data .content-data-small, #main.workstyle.data .block-data .content-data-middle, #main.workstyle.data .block-data .content-data-large {
  position: relative;
  border: solid 1px #dc1525;
  text-align: center;
  padding: 56px;
  margin: 0 -1px -1px 0;
}
#main.workstyle.data .block-data .content-data-small .ttl, #main.workstyle.data .block-data .content-data-middle .ttl, #main.workstyle.data .block-data .content-data-large .ttl {
  text-align: center;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin-bottom: 44px;
}
#main.workstyle.data .block-data .content-data-small .label-data, #main.workstyle.data .block-data .content-data-middle .label-data, #main.workstyle.data .block-data .content-data-large .label-data {
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(/recruit/assets/img/workstyle/data/bg-label.png);
  background-size: contain;
  font-family: "Open Sans";
  text-align: center;
  color: #fff;
  font-weight: 400;
  font-size: 26px;
  width: 60px;
  height: 80px;
  padding-top: 28px;
}
#main.workstyle.data .block-data .content-data-small .label-data:before, #main.workstyle.data .block-data .content-data-middle .label-data:before, #main.workstyle.data .block-data .content-data-large .label-data:before {
  display: block;
  content: "DATA";
  font-size: 10px;
  margin-bottom: 6px;
}
#main.workstyle.data .block-data .content-data-small .txt-num, #main.workstyle.data .block-data .content-data-small .txt-num-small, #main.workstyle.data .block-data .content-data-middle .txt-num, #main.workstyle.data .block-data .content-data-middle .txt-num-small, #main.workstyle.data .block-data .content-data-large .txt-num, #main.workstyle.data .block-data .content-data-large .txt-num-small {
  font-family: "Open Sans";
  color: #e50012;
  font-weight: 700;
}
#main.workstyle.data .block-data .content-data-small .txt-unit, #main.workstyle.data .block-data .content-data-middle .txt-unit, #main.workstyle.data .block-data .content-data-large .txt-unit {
  color: #000;
  font-weight: 700;
}
#main.workstyle.data .block-data .blk-data-01 {
  position: relative;
}
#main.workstyle.data .block-data .blk-data-01 .ttl {
  margin-bottom: 118px;
}
#main.workstyle.data .block-data .blk-data-01 .bg-person {
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  line-height: 0;
}
#main.workstyle.data .block-data .blk-data-01 .bg-person .img-01 {
  position: relative;
  top: 150px;
  right: 232px;
}
#main.workstyle.data .block-data .blk-data-01 .bg-person .img-02 {
  position: relative;
  top: 38px;
  right: 92px;
}
#main.workstyle.data .block-data .blk-data-01 .txt {
  line-height: 1;
  text-align: cneter;
  padding-right: 198px;
}
#main.workstyle.data .block-data .blk-data-01 .txt-num {
  font-size: 100px;
}
#main.workstyle.data .block-data .blk-data-01 .txt-unit {
  font-size: 48px;
}
#main.workstyle.data .block-data .blk-data-02 .ttl {
  margin-bottom: 48px;
}
#main.workstyle.data .block-data .blk-data-02 .txt {
  margin-bottom: 56px;
}
#main.workstyle.data .block-data .blk-data-02 .txt-num {
  font-size: 80px;
}
#main.workstyle.data .block-data .blk-data-02 .txt-unit {
  font-size: 24px;
}
#main.workstyle.data .block-data .blk-data-03 .ttl {
  margin-bottom: 48px;
}
#main.workstyle.data .block-data .blk-data-03 .txt {
  margin-bottom: 40px;
}
#main.workstyle.data .block-data .blk-data-03 .txt-num {
  font-size: 80px;
}
#main.workstyle.data .block-data .blk-data-03 .txt-unit {
  font-size: 24px;
}
#main.workstyle.data .block-data .blk-data-04 .ttl {
  margin-bottom: 48px;
}
#main.workstyle.data .block-data .blk-data-04 .txt {
  margin-bottom: 60px;
}
#main.workstyle.data .block-data .blk-data-04 .txt-num {
  font-size: 80px;
}
#main.workstyle.data .block-data .blk-data-04 .txt-unit {
  font-size: 24px;
}
#main.workstyle.data .block-data .blk-data-05 {
  position: relative;
}
#main.workstyle.data .block-data .blk-data-05 .ttl {
  margin-bottom: 118px;
}
#main.workstyle.data .block-data .blk-data-05 .bg-person {
  position: absolute;
  top: 112px;
  right: 70px;
  z-index: -1;
  line-height: 0;
  width: 522px;
  height: 372px;
}
#main.workstyle.data .block-data .blk-data-05 .txt {
  line-height: 1;
  text-align: left;
  margin: 120px 0 0 32px;
}
#main.workstyle.data .block-data .blk-data-05 .txt-num {
  font-size: 100px;
}
#main.workstyle.data .block-data .blk-data-05 .txt-unit {
  font-size: 48px;
}
#main.workstyle.data .block-data .blk-data-06 .ttl {
  margin-bottom: 48px;
}
#main.workstyle.data .block-data .blk-data-06 .txt-num {
  font-size: 80px;
}
#main.workstyle.data .block-data .blk-data-06 .txt-num-small {
  font-size: 50px;
}
#main.workstyle.data .block-data .blk-data-06 .txt-unit {
  font-size: 28px;
}
#main.workstyle.data .block-data .blk-data-06 .txt {
  margin-bottom: 50px;
}
#main.workstyle.data .block-data .blk-data-07 .ttl {
  margin-bottom: 48px;
}
#main.workstyle.data .block-data .blk-data-07 .txt-num {
  font-size: 80px;
}
#main.workstyle.data .block-data .blk-data-07 .txt-unit {
  font-size: 28px;
}
#main.workstyle.data .block-data .blk-data-07 .txt {
  margin-bottom: 50px;
}
#main.workstyle.data .block-data .blk-data-08 .ttl {
  margin-bottom: 76px;
}
#main.workstyle.data .block-data .blk-data-09 .ttl {
  margin-bottom: 56px;
}/*
#main.workstyle.data .block-data .blk-data-10 .ttl {
  margin-bottom: 86px;*/
}
#main.workstyle.data .block-data .blk-data-11 .ttl {
  margin-bottom: 96px;
}
#main.workstyle.data .img-pictogram {
  width: 100%;
}
#main.workstyle.data .list-job-before {
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin-bottom: 82px;
}
#main.workstyle.data .list-job-before .img {
  display: flex;
  align-items: center;
  height: 119px;
  margin-bottom: 25px;
}
#main.workstyle.data .content-data-large.blk-data-12 {
  height: auto;
}
#main.workstyle.data .childcare-num {
  display: flex;
}
#main.workstyle.data .childcare-num dl {
  flex: 1;
  text-align: center;
}
#main.workstyle.data .childcare-num dt {
  margin: 0 0 20px;
}
#main.workstyle.data .childcare-num .txt-num {
  font-size: 40px;
}
#main.workstyle.data .childcare-num .txt-unit {
  font-size: 28px;
}
#main.workstyle.data .blk-balloon {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -o-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  text-align: left;
  margin: 0 32.5% 116px;
}
#main.workstyle.data .blk-balloon .ttl-balloon {
  position: relative;
  top: -18px;
  text-align: center;
  color: #e50012;
  font-weight: 700;
  letter-spacing: 0.08em;
  width: 40px;
  height: 180px;
  margin-left: 20px;
}
#main.workstyle.data .blk-balloon .ttl-balloon:after {
  display: block;
  content: "";
  position: relative;
  z-index: -1;
  top: -1px;
  right: -28px;
  background-image: url(/recruit/assets/img/workstyle/data/bg-balloon.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 40px;
  height: 180px;
}
#main.workstyle.data .blk-balloon .txt-pr {
  display: inline-block;
  font-size: 24px;
  font-family: "Noto Serif JP", serif;
  font-weight: 100;
  line-height: 3.3em;
  letter-spacing: 0.25em;
}
#main.workstyle.data .blk-balloon-2 {
  margin-right: auto;
  margin-left: auto;
}
.training-img {
	margin: 34px 0 0;
}
.training-img .pc {
	display: block;
}
.training-img .sp {
	display: none;
}

@media all and (-ms-high-contrast: none) {
  #main.workstyle.data .blk-balloon {
    max-height: 270px;
    margin: 0 0 116px 372px;
  }
  #main.workstyle.data .blk-balloon-2 {
    margin-right: auto;
    margin-left: auto;
  }
}
@media only screen and (max-width: 768px) {
  #main.workstyle.data {
    overflow-x: hidden;
    margin-bottom: 46px;
  }
  #main.workstyle.data .pc {
    display: none;
  }
  #main.workstyle.data .sp {
    display: block;
  }
  #main.workstyle.data .txt-lead {
    text-align: center;
    font-size: 14px;
    margin-bottom: 30px;
  }
  #main.workstyle.data .txt-sm {
    line-height: 1.5;
    text-align: center;
    font-size: 12px;
    padding: 0;
  }
  #main.workstyle.data .ico-square span {
    margin-left: 8px;
  }
  #main.workstyle.data .ico-square:after {
    display: none;
  }
  #main.workstyle.data .ico-square:before {
    content: "";
    width: 6px;
    height: 6px;
    display: inline-block;
    margin-top: 7px;
    background-color: #999;
  }
  #main.workstyle.data .block-data {
    display: block;
    margin-bottom: 80px;
  }
  #main.workstyle.data .block-data .content-data-large, #main.workstyle.data .block-data .content-data-middle, #main.workstyle.data .block-data .content-data-small {
    width: 100%;
    height: 320px;
  }
  #main.workstyle.data .block-data .content-data-small, #main.workstyle.data .block-data .content-data-middle, #main.workstyle.data .block-data .content-data-large {
    padding: 40px 35px;
  }
  #main.workstyle.data .block-data .content-data-small .ttl, #main.workstyle.data .block-data .content-data-middle .ttl, #main.workstyle.data .block-data .content-data-large .ttl {
    line-height: 1.5;
    font-size: 16px;
  }
  #main.workstyle.data .block-data .content-data-small .label-data, #main.workstyle.data .block-data .content-data-middle .label-data, #main.workstyle.data .block-data .content-data-large .label-data {
    background-image: url("../img/workstyle/data/bg-label-sp.png");
    font-size: 18px;
    width: 45px;
    height: 60px;
    padding-top: 22px;
  }
  #main.workstyle.data .block-data .content-data-small .label-data:before, #main.workstyle.data .block-data .content-data-middle .label-data:before, #main.workstyle.data .block-data .content-data-large .label-data:before {
    font-size: 10px;
    margin-bottom: 3px;
  }
  #main.workstyle.data .block-data .blk-data-01 {
    background-image: url("../img/workstyle/data/img-bill-person.png");
    background-repeat: no-repeat;
    background-position: left 55% bottom -18px;
    background-size: 235px auto;
    padding: 40px 0;
    height: 378px;
  }
  #main.workstyle.data .block-data .blk-data-01 .ttl {
    margin-bottom: 20px;
  }
  #main.workstyle.data .block-data .blk-data-01 .bg-person {
    position: absolute;
    top: auto;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: -1;
    line-height: 0;
    margin: auto;
  }
  #main.workstyle.data .block-data .blk-data-01 .bg-person .img-01, #main.workstyle.data .block-data .blk-data-01 .bg-person .img-02 {
    display: none;
  }
  #main.workstyle.data .block-data .blk-data-01 .txt {
    text-align: center;
    padding-right: 0;
  }
  #main.workstyle.data .block-data .blk-data-01 .txt-num {
    display: block;
    font-feature-settings: "palt";
    font-size: 80px;
  }
  #main.workstyle.data .block-data .blk-data-01 .txt-num span {
    margin: -10px;
  }
  #main.workstyle.data .block-data .blk-data-01 .txt-unit {
    display: block;
    font-feature-settings: "palt";
    font-size: 24px;
    margin-top: 9px;
  }
  #main.workstyle.data .block-data .blk-data-01 .txt-unit span {
    margin: -10px;
  }
  #main.workstyle.data .block-data .blk-data-02 {
    height: 318px;
  }
  #main.workstyle.data .block-data .blk-data-02 .ttl {
    margin-bottom: 18px;
  }
  #main.workstyle.data .block-data .blk-data-02 .txt {
    margin-bottom: 28px;
  }
  #main.workstyle.data .block-data .blk-data-02 .img-pictogram img {
    width: 124px;
  }
  #main.workstyle.data .block-data .blk-data-02 .txt-num {
    font-size: 80px;
  }
  #main.workstyle.data .block-data .blk-data-02 .txt-unit {
    font-size: 24px;
  }
  #main.workstyle.data .block-data .blk-data-03 {
    height: 318px;
  }
  #main.workstyle.data .block-data .blk-data-03 .ttl {
    margin-bottom: 14px;
  }
  #main.workstyle.data .block-data .blk-data-03 .txt {
    margin-bottom: 25px;
  }
  #main.workstyle.data .block-data .blk-data-03 .img-pictogram img {
    width: 105px;
  }
  #main.workstyle.data .block-data .blk-data-03 .txt-num {
    font-size: 80px;
  }
  #main.workstyle.data .block-data .blk-data-03 .txt-unit {
    font-size: 24px;
  }
  #main.workstyle.data .block-data .blk-data-04 {
    height: 318px;
  }
  #main.workstyle.data .block-data .blk-data-04 .ttl {
    margin-bottom: 26px;
  }
  #main.workstyle.data .block-data .blk-data-04 .txt {
    margin-bottom: 22px;
  }
  #main.workstyle.data .block-data .blk-data-04 .img-pictogram img {
    width: 99px;
  }
  #main.workstyle.data .block-data .blk-data-04 .txt-num {
    font-size: 80px;
  }
  #main.workstyle.data .block-data .blk-data-04 .txt-unit {
    font-size: 24px;
  }
  #main.workstyle.data .block-data .blk-data-05 {
    background-image: url("../img/workstyle/data/img-person-02.png");
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 262px auto;
    overflow: hidden;
    height: 388px;
  }
  #main.workstyle.data .block-data .blk-data-05 .ttl {
    margin-bottom: 20px;
  }
  #main.workstyle.data .block-data .blk-data-05 .bg-person {
    display: none;
  }
  #main.workstyle.data .block-data .blk-data-05 .txt {
    text-align: center;
    padding-right: 0;
    margin: auto;
  }
  #main.workstyle.data .block-data .blk-data-05 .txt-num {
    display: block;
    font-size: 80px;
  }
  #main.workstyle.data .block-data .blk-data-05 .txt-unit {
    display: block;
    font-size: 24px;
    margin-top: 7px;
  }
  #main.workstyle.data .block-data .blk-data-06 {
    height: 318px;
  }
  #main.workstyle.data .block-data .blk-data-06 .ttl {
    margin-bottom: 20px;
  }
  #main.workstyle.data .block-data .blk-data-06 .txt-num {
    font-size: 80px;
  }
  #main.workstyle.data .block-data .blk-data-06 .txt-num-small {
    font-size: 50px;
  }
  #main.workstyle.data .block-data .blk-data-06 .txt-unit {
    font-size: 24px;
  }
  #main.workstyle.data .block-data .blk-data-06 .txt {
    margin-bottom: 26px;
  }
  #main.workstyle.data .block-data .blk-data-06 .img-pictogram img {
    width: 98px;
  }
  #main.workstyle.data .block-data .blk-data-07 {
    height: 318px;
  }
  #main.workstyle.data .block-data .blk-data-07 .ttl {
    margin-bottom: 24px;
  }
  #main.workstyle.data .block-data .blk-data-07 .txt-num {
    font-size: 80px;
  }
  #main.workstyle.data .block-data .blk-data-07 .txt-unit {
    font-size: 24px;
  }
  #main.workstyle.data .block-data .blk-data-07 .txt {
    margin-bottom: 20px;
  }
  #main.workstyle.data .block-data .blk-data-07 .img-pictogram img {
    width: 126px;
  }
  #main.workstyle.data .block-data .blk-data-08 {
    padding: 40px 10px;
    height: 398px;
  }
  #main.workstyle.data .block-data .blk-data-08 .ttl {
    margin-bottom: 40px;
  }
  #main.workstyle.data .block-data .blk-data-09 {
    height: 318px;
  }
  #main.workstyle.data .block-data .blk-data-09 .ttl {
    margin-bottom: 26px;
  }
  #main.workstyle.data .block-data .blk-data-10 {
    height: 418px;
  }
  #main.workstyle.data .block-data .blk-data-10 .ttl {
    margin-bottom: 52px;
  }
  #main.workstyle.data .block-data .blk-data-11 {
    height: 398px;
  }
  #main.workstyle.data .block-data .blk-data-11 .ttl {
    margin-bottom: 62px;
  }
  #main.workstyle.data .img-pictogram {
    width: 100%;
  }
  #main.workstyle.data .list-job-before {
    flex-wrap: wrap;
    white-space: nowrap;
    margin-bottom: 0;
  }
  #main.workstyle.data .list-job-before li {
    font-size: 10px;
    text-align: center;
    width: 33%;
    margin-bottom: 38px;
  }
  #main.workstyle.data .list-job-before .li-01 {
    text-align: center;
  }
  #main.workstyle.data .list-job-before .li-01 .img {
    height: 75px;
  }
  #main.workstyle.data .list-job-before .li-01 .img img {
    max-height: 100%;
    width: auto;
    max-width: 100%;
  }
  #main.workstyle.data .list-job-before .li-02 {
    text-align: center;
  }
  #main.workstyle.data .list-job-before .li-02 .img {
    height: 75px;
  }
  #main.workstyle.data .list-job-before .li-02 .img img {
    max-width: 70px;
    max-height: 54px;
  }
  #main.workstyle.data .list-job-before .li-03 {
    text-align: center;
  }
  #main.workstyle.data .list-job-before .li-03 .img {
    height: 75px;
  }
  #main.workstyle.data .list-job-before .li-03 .img img {
    max-width: 72px;
    max-height: 38px;
  }
  #main.workstyle.data .list-job-before .li-04 {
    text-align: center;
  }
  #main.workstyle.data .list-job-before .li-04 .img {
    height: 60px;
  }
  #main.workstyle.data .list-job-before .li-04 .img img {
    max-height: 100%;
    width: auto;
    max-width: 100%;
  }
  #main.workstyle.data .list-job-before .li-05 {
    text-align: center;
  }
  #main.workstyle.data .list-job-before .li-05 .img {
    height: 60px;
  }
  #main.workstyle.data .list-job-before .li-05 .img img {
    max-height: 100%;
    width: auto;
    max-width: 100%;
  }
  #main.workstyle.data .list-job-before .li-06 {
    text-align: center;
  }
  #main.workstyle.data .list-job-before .li-06 .img {
    height: 60px;
  }
  #main.workstyle.data .list-job-before .li-06 .img img {
    max-width: 68px;
    max-height: 49px;
  }
  #main.workstyle.data .list-job-before .img {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 7px;
  }
  #main.workstyle.data .content-data-large.blk-data-12 {
    height: auto;
  }
  #main.workstyle.data .childcare-num {
    display: flex;
  }
  #main.workstyle.data .childcare-num dl {
    flex: 1;
    text-align: center;
  }
  #main.workstyle.data .childcare-num dt {
    line-height: 1.5;
    margin: 0 0 20px;
  }
  #main.workstyle.data .childcare-num .txt-num {
    font-size: 30px;
  }
  #main.workstyle.data .childcare-num .txt-unit {
    font-size: 18px;
  }
  #main.workstyle.data .blk-balloon {
    margin: 0 auto 60px;
  }
  #main.workstyle.data .blk-balloon .ttl-balloon {
    top: -20px;
    font-size: 11px;
    width: 30px;
    height: 135px;
    margin-right: 6.8vw;
    margin-left: 1.2vw;
  }
  #main.workstyle.data .blk-balloon .ttl-balloon:after {
    right: -21px;
    width: 30px;
    height: 135px;
  }
  #main.workstyle.data .blk-balloon .txt-pr {
    font-size: 16px;
    line-height: 2.8em;
    letter-spacing: 0.25em;
  }
  #main.workstyle.data .blk-balloon-2 {
    margin: 0 auto 124px;
  }
  #main.workstyle.data #recruit-nav {
    margin-top: -40px;
  }

  .training-img {
    margin: 34px 0 0;
  }
  .training-img .pc {
    display: none;
  }
  .training-img .sp {
    display: block;
  }
}
.ico-link-blank:hover {
  opacity: 0.7;
}
.ico-link:hover {
  opacity: 0.7;
}
#main.requirement #sub-kv {
  background-image: url(../img/requirement/kv_sp.jpg);
}
#main.requirement #sub-kv .en-ttl svg {
  width: 120px;
}
#main.requirement .requirement-li {
  margin-bottom: 50px;
}
#main.requirement .requirement-li a {
  color: #000;
  display: block;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
#main.requirement .requirement-li li {
  max-width: 560px;
  margin: 0 auto;
}
#main.requirement .requirement-li li + li {
  margin-top: 40px;
}
#main.requirement .requirement-li .txt-box {
  margin: -30px 20px 0 20px;
  background-color: #fff;
  padding: 25px;
  position: relative;
  z-index: 2;
  border-top: 1px solid #e50012;
}
#main.requirement .requirement-li .txt-box h2 {
  font-size: 20px;
  margin-bottom: 15px;
  position: relative;
  line-height: 1.5em;
  letter-spacing: 0.08em;
}
#main.requirement .requirement-li .txt-box h2:after {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  content: "";
  background-image: url(../img/cmn/ico_link_red.png);
  background-position: top left;
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 14px;
  height: 11px;
  position: absolute;
  top: 50%;
  right: 0px;
  margin-top: -5px;
}
#main.requirement .requirement-li .txt-box p {
  font-size: 14px;
  line-height: 1.5em;
}
#main.requirement .faq-box {
  border: 4px solid #f2f2f2;
}
#main.requirement .faq-box a {
  padding: 25px 30px;
  color: #000;
  display: block;
}
#main.requirement .faq-box dl dt {
  margin-bottom: 15px;
  position: relative;
}
#main.requirement .faq-box dl dt:after {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  content: "";
  background-image: url(../img/cmn/ico_link_red.png);
  background-position: top left;
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 14px;
  height: 11px;
  position: absolute;
  top: 50%;
  right: 0px;
  margin-top: -5px;
}
#main.requirement .faq-box dl dt .faq {
  color: #e50012;
  font-size: 32px;
  font-family: 'Open Sans', sans-serif;
  padding-right: 1em;
  font-weight: 600;
}
#main.requirement .faq-box dl dt .jp {
  font-weight: bold;
}
#main.requirement .faq-box dl dd {
  font-size: 14px;
  line-height: 2em;
}
@media only screen and (min-width: 768px) {
  #main.requirement #sub-kv {
    background-image: url(../img/requirement/kv_pc.jpg);
    height: 500px;
  }
  #main.requirement #sub-kv h2 {
    font-size: 64px;
  }
  #main.requirement #sub-kv .en-ttl svg {
    width: 243px;
  }
  #main.requirement .requirement-li {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
  }
  #main.requirement .requirement-li li {
    width: 31.0344827586%;
    margin: 0;
  }
  #main.requirement .requirement-li li .img {
    overflow: hidden;
  }
  #main.requirement .requirement-li li .img img {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #main.requirement .requirement-li li .txt-box {
    position: relative;
    overflow: hidden;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #main.requirement .requirement-li li .txt-box:after {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-color: #e50012;
    content: "";
    top: 0;
    left: 0;
    transform: translateX(-101%);
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #main.requirement .requirement-li li .txt-box h2:after {
    width: 16px;
    height: 14px;
  }
  #main.requirement .requirement-li li .txt-box h2, #main.requirement .requirement-li li .txt-box p {
    position: relative;
    z-index: 10;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #main.requirement .requirement-li li a:hover .txt-box:after {
    transform: translateX(0%);
  }
  #main.requirement .requirement-li li a:hover img {
    transform: scale(1.1);
  }
  #main.requirement .requirement-li li a:hover:after {
    right: 50px;
  }
  #main.requirement .requirement-li li a:hover h2, #main.requirement .requirement-li li a:hover p {
    color: #fff;
  }
  #main.requirement .requirement-li li a:hover .txt-box h2:after {
    right: -5px;
    background-image: url(../img/cmn/ico_link_wh.png);
  }
  #main.requirement .requirement-li li + li {
    margin-top: 0px;
  }
  #main.requirement .requirement-li li:nth-child(2) {
    margin-top: 40px;
  }
  #main.requirement .requirement-li li:nth-child(3) {
    margin-top: 80px;
  }
  #main.requirement .requirement-li .txt-box {
    margin: -40px 7.1428571429% 0 7.1428571429%;
    padding: 7.1428571429%;
  }
  #main.requirement .requirement-li .txt-box h2 {
    font-size: 24px;
    margin-bottom: 20px;
  }
  #main.requirement .requirement-li .txt-box h2:after:after {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    content: "";
    background-image: url(../img/cmn/ico_link_red.png);
    background-position: top left;
    background-repeat: no-repeat;
    background-size: 100% auto;
    width: 16px;
    height: 14px;
    position: absolute;
    top: 50%;
    right: 0px;
    margin-top: -9px;
  }
  #main.requirement .requirement-li .txt-box p {
    font-size: 16px;
    line-height: 1.5em;
  }
  #main.requirement .faq-box a {
    padding: 50px 4.3103448276%;
    position: relative;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #main.requirement .faq-box a:after {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    content: "";
    background-image: url(../img/cmn/ico_link_red.png);
    background-position: top left;
    background-repeat: no-repeat;
    background-size: 100% auto;
    width: 16px;
    height: 14px;
    position: absolute;
    top: 50%;
    right: 0px;
    margin-top: -9px;
  }
  #main.requirement .faq-box a:after {
    right: 55px;
  }
  #main.requirement .faq-box a:hover dt, #main.requirement .faq-box a:hover dd {
    opacity: 0.6;
  }
  #main.requirement .faq-box a:hover:after {
    right: 50px;
  }
  #main.requirement .faq-box dl {
    width: 100%;
  }
  #main.requirement .faq-box dl dt, #main.requirement .faq-box dl dd {
    display: inline-block;
    vertical-align: middle;
  }
  #main.requirement .faq-box dl dt {
    margin-bottom: 0px;
    text-align: center;
  }
  #main.requirement .faq-box dl dt span {
    display: block;
  }
  #main.requirement .faq-box dl dt:after {
    display: none;
  }
  #main.requirement .faq-box dl dt .faq {
    font-size: 50px;
    padding-right: 0em;
    margin-bottom: 20px;
  }
  #main.requirement .faq-box dl dt .jp {
    font-weight: bold;
    font-size: 20px;
  }
  #main.requirement .faq-box dl dd {
    margin-left: 12.9310344828%;
    font-size: 16px;
    line-height: 2em;
  }
}
@media only screen and (min-width: 900px) {
  #main.requirement .faq-box a {
    padding: 50px 9.4827586207%;
  }
}
.txt-one-line {
  display: flex;
  flex-wrap: nowrap;
}
.txt-one-line dt {
  display: inline-block;
  position: static;
  line-height: 2;
  padding-top: 30px;
  padding-bottom: 30px;
  font-weight: bold;
}
.txt-one-line dd {
  display: inline-block;
  position: static;
  padding-top: 30px;
  padding-bottom: 30px;
  line-height: 2;
}
@media only screen and (max-width: 768px) {
  #main.requirement-new .lede-typeA, #main.requirement-mid .lede-typeA, #main.requirement-challenged .lede-typeA {
    padding: 0;
  }
  .txt-one-line {
    display: block;
  }
  .txt-one-line dt {
    line-height: 1.5em;
    padding-top: 25px;
    padding-bottom: 0;
  }
  .txt-one-line dd {
    line-height: 1.5em;
    padding-top: 0;
    padding-bottom: 25px;
  }
  .requirement-sub-sec .tb-typeA dt {
    line-height: 1.5em;
  }
}
#main.news-index #sub-kv {
  background-image: url(../img/news/kv.jpg);
}
#main.news-index .news-posts-li {
  border-top: 1px solid #f2f2f2;
}
@media only screen and (min-width: 768px) {
  #main.news-index .inner-typeA {
    max-width: 940px;
  }
  .news-posts-li a:hover .date, .news-posts-li a:hover .post-ttl {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    opacity: 0.6;
  }
}
@media only screen and (max-width: 768px) {
  #main.news-detail #sub-kv {
    background-image: url(../img/news/kv.jpg);
  }
  #main.news-detail #main.news-detail {
    margin-bottom: 100px;
  }
  #main.news-detail #main.news-detail #sub-kv h2 {
    font-size: 32px;
  }
  #main.news-detail #main.news-detail .inner-typeB {
    padding: 0 20px;
  }
  #main.news-detail .post-date {
    padding: 0 20px;
  }
  #main.news-detail .post-date .date {
    font-size: 14px;
    margin-bottom: 26px;
  }
  #main.news-detail .post-date .ttl {
    border-bottom: solid 2px #f2f2f2;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.6;
    padding-bottom: 20px;
    margin-bottom: 40px;
  }
  #main.news-detail .post-detail {
    padding: 0 20px 40px;
  }
  #main.news-detail .post-detail a {
    color: #e50012;
    border-bottom: solid 1px #e50012;
  }
  #main.news-detail .post-detail a:hover {
    border-bottom: none;
  }
  #main.news-detail .post-detail p {
    font-size: 14px;
    line-height: 2;
    margin-bottom: 36px;
  }
  #main.news-detail .post-detail img {
    max-width: 100%;
  }
  #main.news-detail .post-detail h2 {
    border-bottom: solid 2px #f2f2f2;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.6;
    padding-bottom: 15px;
    margin-top: 80px;
    margin-bottom: 20px;
  }
  #main.news-detail .post-detail h3 {
    border-left: solid 2px #e50012;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.08em;
    padding-left: 18px;
    margin-top: 60px;
    margin-bottom: 15px;
  }
  #main.news-detail .post-detail h2 + h3 {
    margin-top: 40px;
  }
  #main.news-detail .post-detail h4 {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.5;
    margin-top: 60px;
    margin-bottom: 15px;
  }
  #main.news-detail .post-detail img {
    width: 100%;
  }
  #main.news-detail .post-detail .mt-image-center {
    margin-bottom: 20px;
  }
  #main.news-detail .post-detail .mt-image-right {
    margin-bottom: 20px;
  }
  #main.news-detail .post-detail .mt-image-left {
    margin-bottom: 20px;
  }
}
@media only screen and (min-width: 768px) {
  #main.news-detail {
    margin-bottom: 200px;
  }
  #main.news-detail #sub-kv {
    background-image: url(../img/news/kv.jpg);
    max-height: 400px;
  }
  #main.news-detail #sub-kv h2 {
    font-size: 56px;
  }
  #main.news-detail .inner-typeB {
    max-width: 900px;
    margin: 0 auto;
  }
  .post-date {
    max-width: 900px;
    margin: 0 auto 40px;
  }
  .post-date .date {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    letter-spacing: 0.08em;
    font-size: 16px;
    margin-bottom: 26px;
  }
  .post-date .ttl {
    border-bottom: solid 2px #f2f2f2;
    font-weight: 700;
    font-size: 36px;
    line-height: 1.6;
    padding-bottom: 15px;
    margin-bottom: 20px;
  }
  .post-detail {
    padding-bottom: 80px;
  }
  .post-detail a {
    color: #e50012;
    border-bottom: solid 1px #e50012;
  }
  .post-detail a:hover {
    border-bottom: none;
  }
  .post-detail p {
    line-height: 2;
    margin-bottom: 36px;
  }
  .post-detail img {
    max-width: 100%;
  }
  .post-detail h2 {
    border-bottom: solid 2px #f2f2f2;
    font-weight: 700;
    font-size: 36px;
    line-height: 1.6;
    padding-bottom: 15px;
    margin-top: 100px;
    margin-bottom: 20px;
  }
  .post-detail h3 {
    border-left: solid 2px #e50012;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.5;
    letter-spacing: 0.08em;
    padding-left: 18px;
    margin-top: 70px;
    margin-bottom: 20px;
  }
  .post-detail h2 + h3 {
    margin-top: 40px;
  }
  .post-detail h4 {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.5;
    margin-top: 60px;
    margin-bottom: 10px;
  }
  .post-detail .mt-image-center {
    float: none;
  }
  .post-detail .mt-image-right {
    float: right;
  }
  .post-detail .mt-image-left {
    float: left;
  }
  .post-detail .clearfix::after {
    content: "";
    display: block;
    clear: both;
  }
  .post-detail .clearfix + h4 {
    margin-top: 52px;
  }
}
#main.members-index #sub-kv {
  background-image: url(../img/members/kv.jpg);
}
#main.members-index #sub-kv .ttl .en-ttl {
  width: 120px;
}
#main.members-index #sub-kv .ttl .en-ttl svg {
  width: 100%;
}
#main.members-index #sub-kv .ttl .en-ttl #kv-ttl {
  width: 80%;
}
#main.members-index #nav-members {
  margin-bottom: 40px;
}
#main.members-index #nav-members ul {
  padding: 0 20px;
}
#main.members-index #nav-members li {
  float: left;
  text-align: center;
  width: 31%;
  margin-bottom: 15px;
  font-size: 12px;
}
#main.members-index #nav-members li a {
  padding: 10px 10px;
  border: 1px solid #e5e5e5;
  border-radius: 30px;
  color: #000;
  display: block;
}
#main.members-index #nav-members li a span {
  position: relative;
  top: -1px;
}
#main.members-index #nav-members li a:before {
  content: '#';
  color: #e50012;
  padding-right: 0.1em;
  position: relative;
  top: -1px;
}
#main.members-index #nav-members li:nth-child(3n-1) {
  margin: 0 3.5%;
}
#main.members-index #nav-members .current a {
  background-color: #e50012;
  color: #fff;
  border: none;
}
#main.members-index #nav-members .current a:before {
  color: #fff;
}
#main.members-index .member-li li + li {
  margin-top: 40px;
}
@media only screen and (min-width: 768px) {
  #main.members-index #sub-kv {
    height: 500px;
    background-image: url(../img/members/kv.jpg);
  }
  #main.members-index #sub-kv h2 {
    font-size: 64px;
  }
  #main.members-index #sub-kv .ttl .en-ttl {
    width: 240px;
    top: -120px;
  }
  #main.members-index #sub-kv .ttl .en-ttl svg {
    width: 100%;
  }
  #main.members-index #sub-kv .ttl .en-ttl #kv-ttl {
    width: 80%;
  }
  #main.members-index #nav-members {
    max-width: 1200px;
    padding: 0 20px;
    margin: 0 auto 120px auto;
  }
  #main.members-index #nav-members ul {
    text-align: center;
  }
  #main.members-index #nav-members li:nth-child(3n-1) {
    margin: 0;
  }
  #main.members-index #nav-members li {
    display: inline-block;
    float: none;
    width: auto;
    font-size: 16px;
  }
  #main.members-index #nav-members li a {
    padding: 10px 20px;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #main.members-index #nav-members li a:before {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #main.members-index #nav-members li a:hover {
    color: #fff;
    background-color: #e50012;
  }
  #main.members-index #nav-members li a:hover:before {
    color: #fff;
  }
  #main.members-index #nav-members li + li {
    margin-left: 20px !important;
  }
  #main.members-index .member-li {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    min-height: 750px;
  }
  #main.members-index .member-li li + li {
    margin-top: 0px;
  }
  #main.members-index .member-li li.open-center {
    margin-right: 6.03448995%;
    margin-left: 6.03448995%;
  }
  #main.members-index .member-li li {
    width: 29.3103448276%;
    margin-bottom: 110px;
  }
  #main.members-index .member-li .li .box .msg, #main.members-index .member-li .li .box .member-img, #main.members-index .member-li .li .box .bg {
    padding: 0;
  }
  #main.members-index .member-li .li .box .name-en {
    left: 2.5%;
  }
}
.faq-index #sub-kv {
  background-image: url(../img/faq/kv.jpg);
}
.faq-index #faq-nav ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 15px;
}
.faq-index #faq-nav li {
  width: 48%;
  margin-bottom: 15px;
}
.faq-index #faq-nav li a {
  font-size: 12px;
  display: block;
  height: 40px;
  line-height: 38px;
  border: 1px solid #e50012;
  text-align: center;
  color: #000;
  background-image: url(../img/cmn/ico_arrow_down_red.png);
  background-position: 95% 52%;
  background-repeat: no-repeat;
  background-size: 8px auto;
}
.faq-index .faq-sec + .faq-sec {
  margin-top: 50px;
}
.faq-index .faq-sec h2 + .faq-li {
  border-top: 1px solid #f2f2f2;
}
.faq-index .faq-sec .inner-typeA {
  max-width: 940px;
}
.faq-index .faq-sec .faq-li {
  border-bottom: 1px solid #f2f2f2;
}
.faq-index .faq-sec .faq-li dt {
  position: relative;
  padding: 2em 4em;
  font-size: 13px;
  line-height: 1.2em;
}
.faq-index .faq-sec .faq-li dt:after {
  position: absolute;
  content: "";
  width: 12px;
  height: 2px;
  background-color: #999;
  right: 2em;
  top: 50%;
}
.faq-index .faq-sec .faq-li dt:before {
  position: absolute;
  content: "";
  width: 2px;
  height: 12px;
  background-color: #999;
  right: 31px;
  top: 50%;
  margin-top: -5px;
}
.faq-index .faq-sec .faq-li dt span {
  display: block;
}
.faq-index .faq-sec .faq-li dt span:before {
  position: absolute;
  content: "Q.";
  font-family: 'Open Sans', sans-serif;
  font-size: 2em;
  top: 50%;
  left: 0.75em;
  margin-top: -0.4em;
  color: #e50012;
}
.faq-index .faq-sec .faq-li dd {
  display: none;
  padding: 2em 4em;
  font-size: 12px;
  line-height: 1.5em;
  padding-top: 0;
  background-color: #fef7f8;
}
.faq-index .faq-sec .faq-li.on {
  background-color: #fef7f8;
}
.faq-index .faq-sec .faq-li.on dt:before {
  display: none;
}
@media only screen and (min-width: 768px) {
  .faq-index #sub-kv h2 {
    font-size: 56px;
    letter-spacing: 0.24em;
  }
  .faq-index #faq-nav ul {
    width: 100%;
    margin-bottom: 60px;
    max-width: 1150px;
    text-align: center;
  }
  .faq-index #faq-nav li {
    width: 22.56%;
    margin-bottom: 0;
  }
  .faq-index #faq-nav li a {
    font-size: 16px;
    height: 60px;
    line-height: 58px;
    background-position: 92% 52%;
    background-size: 12px auto;
    text-indent: -0.05em;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .faq-index #faq-nav li a:hover {
    background-image: url(../img/cmn/ico_arrow_down_wh.png);
    background-color: #e50012;
    color: #fff;
  }
  .faq-index #faq-nav li + li {
  }
  .faq-index .faq-sec + .faq-sec {
    margin-top: 110px;
  }
  .faq-index .faq-sec .faq-li dt {
    position: relative;
    padding: 50px 100px 50px 85px;
    font-size: 18px;
    line-height: 1.5em;
    cursor: pointer;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .faq-index .faq-sec .faq-li dt:hover {
    background-color: #fef7f8;
  }
  .faq-index .faq-sec .faq-li dt:after {
    width: 24px;
    right: 20px;
    top: 50%;
  }
  .faq-index .faq-sec .faq-li dt:before {
    height: 24px;
    right: 30.5px;
    top: 50%;
    margin-top: -10.5px;
  }
  .faq-index .faq-sec .faq-li dt span:before {
    position: absolute;
    content: "Q.";
    font-family: 'Open Sans', sans-serif;
    font-size: 36px;
    top: 50%;
    left: 0.75em;
    margin-top: -0.4em;
    color: #e50012;
  }
  .faq-index .faq-sec .faq-li dd {
    display: none;
    padding: 0px 100px 50px 80px;
    font-size: 16px;
    line-height: 2em;
  }
}
.requirement-new #sub-kv {
  background-image: url(../img/requirement/kv_recruit_new.jpg);
}
.requirement-new #sub-kv h2, .requirement-new #sub-kv p {
  letter-spacing: 0.24em;
}
.requirement-mid #sub-kv {
  background-image: url(../img/requirement/kv_recruit_mid.jpg);
}
.requirement-mid #sub-kv h2, .requirement-mid #sub-kv p {
  letter-spacing: 0.24em;
}
.requirement-challenged #sub-kv {
  background-image: url(../img/requirement/kv_recruit_challenged.jpg);
}
.requirement-challenged #sub-kv h2, .requirement-challenged #sub-kv p {
  letter-spacing: 0.24em;
}
.requirement-sub-sec + .requirement-sub-sec {
  margin-top: 50px;
}
.process-sec {
  margin-top: 50px;
  padding: 40px 0 0 0;
  position: relative;
  z-index: 1;
}
.process-sec:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100vw;
  background-color: #fef7f8;
  top: 0;
  left: 0;
  z-index: -1;
}
.process-sec .process-li-box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
}
.process-sec .process-li-box .process-li {
  width: 48%;
  margin-bottom: 15px;
  background-color: #fff;
  padding: 20px;
  border-bottom: 1px solid #e50012;
  font-feature-settings: "palt";
  position: relative;
}
.process-sec .process-li-box .process-li:after {
  position: absolute;
  content: "";
}
.process-sec .process-li-box .process-li dt {
  margin-bottom: 15px;
}
.process-sec .process-li-box .process-li dt .step {
  display: block;
  font-family: 'Open Sans', sans-serif;
  font-size: 10px;
  margin-bottom: 1em;
}
.process-sec .process-li-box .process-li dt .step .n {
  padding-left: 0.2em;
  font-size: 16px;
}
.process-sec .process-li-box .process-li dt .ttl {
  display: block;
  color: #e50012;
  font-weight: bold;
}
.process-sec .process-li-box .process-li dt .ttl .sm {
  font-size: 12px;
}
.process-sec .process-li-box .process-li dd {
  line-height: 1.5em;
  font-size: 13px;
}
.process-sec .process-li-box .process-li:nth-child(2n):after {
  left: -5%;
  top: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 5px;
  border-color: transparent transparent transparent #999;
  margin-top: -2.5px;
}
.process-sec .sub-txt {
  margin: 30px 0;
  text-align: center;
  line-height: 1.5em;
}
.process-sec .entry-box {
  margin-bottom: 40px;
}
.process-sec .entry-box .box {
  border: 2px solid #e50012;
}
.process-sec .entry-box .box a {
  padding: 30px;
  text-align: center;
  color: #000;
  font-size: 12px;
  display: block;
  background-image: url(../img/cmn/icon_link_blank_red.png);
  background-size: 12px auto;
  background-position: 95% 50%;
  background-repeat: no-repeat;
  height: 100%;
}
.process-sec .entry-box .box img {
  margin-bottom: 10px;
}
.process-sec .entry-box .box .off {
  display: none;
}
.process-sec .entry-box .box + .box {
  margin-top: 20px;
}
.process-sec .entry-box .career img {
  width: 256px;
}
.process-sec .entry-box .mynavi img {
  width: 240px;
}
.process-sec .contact-box {
  border: 2px solid #f2f2f2;
  padding: 30px;
}
.process-sec .contact-box dl dt {
  text-align: center;
  font-weight: bold;
  padding-bottom: 15px;
  margin-bottom: 15px;
  border-bottom: 1px solid #f2f2f2;
}
.process-sec .contact-box dl dd {
  line-height: 1.8em;
  font-size: 13px;
}
.process-sec .contact-box dl dd .address {
  margin-bottom: 10px;
}
.process-sec .contact-box dl dd .tel .n {
  font-size: 18px;
  font-family: 'Open Sans', sans-serif;
  font-weight: bold;
}
#recruit-anchor-nav ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 15px;
}
#recruit-anchor-nav li {
  width: 48%;
  margin-bottom: 15px;
}
#recruit-anchor-nav li a {
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  line-height: 1.5;
  padding: 5px 20px;
  border: 1px solid #e50012;
  text-align: center;
  color: #000;
  background-image: url(../img/cmn/ico_arrow_down_red.png);
  background-position: 95% 53%;
  background-repeat: no-repeat;
}
.btn-recruit-mid {
  text-align: center;
  margin-bottom: 60px;
}
.btn-recruit-mid a {
  display: inline-block;
  position: relative;
  background-color: #e50012;
  color: #fff;
  padding: 20px 40px;
  font-weight: 500;
}
.btn-recruit-mid a:after {
  position: absolute;
  content: "";
  background-image: url(../img/cmn/ico_link_wh.png);
  background-size: 100% auto;
  width: 12px;
  height: 8px;
  right: 10px;
  top: 50%;
  margin-top: -4px;
}
@media only screen and (min-width: 768px) {
  .requirement-new #sub-kv {
    max-height: 400px;
  }
  .requirement-new #sub-kv h2 {
    font-size: 56px;
  }
  .requirement-mid #sub-kv {
    max-height: 400px;
  }
  .requirement-mid #sub-kv h2 {
    font-size: 56px;
  }
  .requirement-challenged #sub-kv {
    max-height: 400px;
  }
  .requirement-challenged #sub-kv h2 {
    font-size: 56px;
  }
  .requirement-sub-sec + .requirement-sub-sec {
    margin-top: 110px;
  }
  .process-sec {
    margin-top: 120px;
    padding: 80px 0 0 0;
  }
  .process-sec:after {
    height: 470px;
  }
  .process-sec .lede-typeA {
    margin-bottom: 50px;
  }
  .process-sec .process-li-box .process-li {
    flex: 1;
    width: auto;
    margin-bottom: 0px;
    padding: 30px 20px 40px 20px;
  }
  .process-sec .process-li-box .process-li + .process-li {
    margin-left: 40px;
  }
  .process-sec .process-li-box .process-li dt {
    margin-bottom: 20px;
  }
  .process-sec .process-li-box .process-li dt .step {
    font-size: 12px;
    margin-bottom: 1em;
  }
  .process-sec .process-li-box .process-li dt .step .n {
    padding-left: 0.15em;
    font-size: 24px;
    position: relative;
    top: 3px;
  }
  .process-sec .process-li-box .process-li dt .ttl {
    font-size: 18px;
  }
  .process-sec .process-li-box .process-li dt .ttl .sm {
    font-size: 14px;
  }
  .process-sec .process-li-box .process-li dd {
    font-size: 16px;
  }
  .process-sec .process-li-box .process-li:nth-child(2n):after {
    left: -12%;
    top: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 10px;
    margin-top: -2.5px;
  }
  .process-sec .process-li-box .process-li + .process-li:after {
    left: -23px;
    top: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 10px;
    border-color: transparent transparent transparent #999;
    margin-top: -5px;
  }
  .process-sec .sub-txt {
    font-size: 20px;
    margin: 120px 0 60px 0;
  }
  .process-sec .entry-box {
    margin-bottom: 120px;
    display: flex;
    justify-content: space-between;
    height: 160px;
  }
  .process-sec .entry-box .box {
    flex: 1;
  }
  .process-sec .entry-box .box a {
    padding: 40px;
    font-size: 14px;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    background-size: 13px auto;
    position: relative;
  }
  .process-sec .entry-box .box a p {
    position: absolute;
    bottom: 40px;
    left: 0;
    width: 100%;
  }
  .process-sec .entry-box .box a:hover {
    background-color: #e50012;
    color: #fff;
    background-image: url(../img/cmn/icon_link_blank_wh.png);
  }
  .process-sec .entry-box .box a:hover img {
    filter: brightness(0) invert(1);
  }
  .process-sec .entry-box .box img {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    margin-bottom: 20px;
  }
  .process-sec .entry-box .box + .box {
    margin-top: 0px;
    margin-left: 30px;
  }
  .process-sec .contact-box {
    border: 4px solid #f2f2f2;
    padding: 40px 7.3275862069% 40px 7.3275862069%;
  }
  .process-sec .contact-box dl {
    display: flex;
    align-items: center;
  }
  .process-sec .contact-box dl dt {
    padding-bottom: 0px;
    margin-bottom: 0px;
    border-bottom: none;
    padding-right: 7.3275862069%;
    font-size: 20px;
    line-height: 1.8em;
  }
  .process-sec .contact-box dl dd {
    border-left: 1px solid #f2f2f2;
    padding-left: 7.3275862069%;
    line-height: 2em;
    font-size: 16px;
  }
  .process-sec .contact-box dl dd .address {
    margin-bottom: 10px;
  }
  .process-sec .contact-box dl dd .tel .n {
    font-size: 20px;
    font-family: 'Open Sans', sans-serif;
    font-weight: bold;
  }
  #recruit-anchor-nav ul {
    width: 100%;
    margin-bottom: 40px;
    text-align: center;
    justify-content: center;
  }
  #recruit-anchor-nav li {
    width: 22.56%;
    margin-bottom: 40px;
  }
  #recruit-anchor-nav li a {
    min-height: 70px;
    padding: 5px 30px;
    font-size: 16px;
    background-position: 92% 53%;
    background-size: 12px auto;
  }
  #recruit-anchor-nav li a:hover {
    background-image: url(../img/cmn/ico_arrow_down_wh.png);
    background-color: #e50012;
    color: #fff;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #recruit-anchor-nav li + li {
    margin-left: 3.253333333333335%;
  }
  #recruit-anchor-nav li:nth-of-type(5n) {
    margin-left: 0;
  }
  .btn-recruit-mid {
    margin-bottom: 160px;
    margin-top: -20px;
  }
  .btn-recruit-mid a {
    padding: 0px;
    width: 500px;
    height: 120px;
    line-height: 120px;
    font-size: 28px;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .btn-recruit-mid a:after {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    width: 16px;
    height: 12px;
    right: 20px;
    top: 50%;
    margin-top: -6px;
  }
  .btn-recruit-mid a:hover {
    background-color: #fff;
    color: #e50012;
    outline: 1px solid #e50012;
  }
  .btn-recruit-mid a:hover:after {
    background-image: url(../img/cmn/ico_link_red.png);
    right: 15px;
  }
}
@media only screen and (max-width: 768px) {
  .process-sec .process-li-box {
    justify-content: flex-start;
  }
  .process-sec .process-li-box .process-li {
    width: 47.5%;
    margin-right: 5%;
  }
  .process-sec .process-li-box .process-li:nth-child(2n) {
    margin-right: 0;
  }
  .process-sec .process-li-box .process-li:nth-child(2n):after {
    display: none;
  }
  .process-sec .process-li-box .process-li:nth-child(2n):after {
    left: auto;
  }
  .process-sec .process-li-box .process-li:after {
    position: absolute;
    content: "";
    right: -8%;
    left: auto;
    top: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-color: transparent transparent transparent #999;
    margin-top: -2.5px;
  }
  .process-sec .process-li-box .process-li:last-child:after {
    display: none;
  }
  .process-li-box-wrap {
    background-color: #fef7f8;
    width: 100vw;
    padding: 0 5.2083333333vw 30px 5.2083333333vw;
    margin: 0 calc(50% - 50vw);
  }
}
.tb-typeA dd {
  top: 0;
}
.tb-typeA dt {
  vertical-align: baseline;
  line-height: 2;
}
#main.members-name {
  margin-bottom: 0;
}
#member-kv {
  position: relative;
  padding-top: 20px;
  overflow: hidden;
}
#member-kv .inner {
  padding: 0 40px;
  position: relative;
  top: 1px;
}
#member-kv:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 325px;
  background-color: #fbdbde;
  content: "";
  z-index: -1;
}
#member-kv .txt-box {
  position: relative;
  z-index: 10;
}
#member-kv .txt-box-inner {
  position: relative;
  bottom: -20px;
  opacity: 0;
  transition: 1s ease-in-out;
}
#member-kv .txt-box-inner.on {
  bottom: 0;
  opacity: 1;
}
#member-kv .num-box {
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  margin-bottom: 20px;
}
#member-kv .num-box .ttl {
  font-size: 12px;
  margin-bottom: 0.5em;
  display: block;
  margin-bottom: 5px;
  letter-spacing: 0.2em;
}
#member-kv .num-box .num {
  font-size: 40px;
}
#member-kv .num-box .num .red {
  font-size: 20px;
  color: #e50012;
  position: relative;
  top: -3px;
}
#member-kv .ttl-msg {
  font-family: "Noto Serif JP", serif;
  font-size: 26px;
  line-height: 1.5em;
  margin-bottom: 25px;
  font-weight: 200;
  letter-spacing: 0.24em;
}
#member-kv .name-info {
  margin-bottom: 25px;
  position: relative;
  z-index: 4;
}
#member-kv .name-info .job {
  margin-bottom: 10px;
}
#member-kv .name-info .job .bold {
  font-weight: bold;
  font-size: 10px;
}
#member-kv .name-info .job .year {
  font-size: 10px;
}
#member-kv .name-info .name-en {
  font-weight: 300;
  font-family: 'Open Sans', sans-serif;
  font-size: 10px;
  margin-bottom: 10px;
  text-transform: uppercase;
}
#member-kv .name-info .name {
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 15px;
}
#member-kv .name-info .manage-posi {
  font-size: 12px;
}
#member-kv .member-img {
  opacity: 0;
  padding: 0 8%;
  position: relative;
  z-index: 10;
  transition: 1s ease-in-out;
}
#member-kv .member-img.on {
  opacity: 1;
}
#member-kv .building-img {
  position: absolute;
  width: 97.3333333333%;
  bottom: 0;
  right: -40px;
  overflow: hidden;
  height: 0;
  z-index: 1;
  transition: 1s cubic-bezier(0.87, 0, 0.13, 1);
}
#member-kv .building-img.on {
  height: auto;
}
#member-kv .building-img img {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
}
@media only screen and (min-width: 768px) {
  #member-kv {
    padding-top: 0;
    height: 725px;
  }
  #member-kv .inner {
    height: 100%;
    padding: 0 20px;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
  }
  #member-kv:after {
    height: 600px;
    background-image: url(../img/members/person.png);
    background-position: center bottom;
    background-repeat: no-repeat;
  }
  #member-kv .txt-box {
    position: absolute;
    left: 20px;
    bottom: 100px;
    z-index: 15;
  }
  #member-kv .num-box {
    margin-bottom: 40px;
  }
  #member-kv .num-box .ttl {
    font-size: 14px;
    margin-bottom: 0.5em;
  }
  #member-kv .num-box .num {
    font-size: 44px;
  }
  #member-kv .num-box .num .red {
    font-size: 28px;
    top: -5px;
  }
  #member-kv .ttl-msg {
    font-size: 39px;
    line-height: 1.5em;
    margin-bottom: 35px;
  }
  #member-kv .name-info {
    margin-bottom: 0px;
    position: relative;
    z-index: 11;
  }
  #member-kv .name-info .job {
    margin-bottom: 20px;
  }
  #member-kv .name-info .job .bold {
    font-size: 16px;
  }
  #member-kv .name-info .job .year {
    font-size: 16px;
  }
  #member-kv .name-info .name-en {
    font-size: 12px;
    margin-bottom: 10px;
  }
  #member-kv .name-info .name {
    font-size: 24px;
    margin-bottom: 20px;
  }
  #member-kv .name-info .manage-posi {
    font-size: 13px;
  }
  #member-kv .member-img {
    padding: 0 0 0 250px;
    text-align: center;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
  }
  #member-kv .member-img img {
    width: 50%;
  }
  #member-kv .building-img {
    min-width: 380px;
    width: 36.6666666667%;
    bottom: -1px;
    right: 0px;
    z-index: 1;
  }
  #member-kv .building-img .slide-up {
    overflow: hidden;
  }
  #member-kv .building-img .slide-up:after {
    content: none;
  }
  #member-kv .building-img .slide-up img {
    transform: translateY(100%);
    transition-property: transform;
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1);
  }
  #member-kv .building-img .slide-up.on img {
    transform: translateY(0);
  }
  #member-kv .member-img.fade-up {
    transition-delay: 0.7s;
  }
  #member-kv .txt-box.fade-up {
    transition-delay: 1s;
  }
}
.requirement-name-sec {
  margin-bottom: 60px;
  padding-bottom: 15px;
  position: relative;
  overflow: hidden;
}
.requirement-name-sec:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 20px;
  width: calc(100% - 40px);
  height: 1px;
  background-color: #f2f2f2;
}
.requirement-name-sec .ttl-typeA {
  margin-bottom: 50px;
}
.requirement-name-sec .faq-recruit-li .ico-faq {
  font-size: 40px;
  font-family: 'Open Sans', sans-serif;
  margin-bottom: 25px;
}
.requirement-name-sec .faq-recruit-li .ico-faq .q {
  font-size: 30px;
  color: #e50012;
  position: relative;
  top: -0.1em;
  padding-right: 0.1em;
}
.requirement-name-sec .faq-recruit-li .ico-faq .n {
  font-weight: 100;
}
.requirement-name-sec .faq-recruit-li dt {
  font-weight: 500;
  margin-bottom: 15px;
  line-height: 1.3em;
}
.requirement-name-sec .faq-recruit-li dd {
  font-size: 14px;
  line-height: 2em;
}
.requirement-name-sec .faq-recruit-li li {
  margin-bottom: 45px;
}
.requirement-name-sec .thum {
  text-align: center;
  margin-bottom: 50px;
}
.requirement-name-sec .schedule-box {
  padding-top: 60px;
}
.requirement-name-sec .schedule-box .ttl-box {
  position: relative;
  margin-bottom: 30px;
}
.requirement-name-sec .schedule-box .ttl-box .ttl-img {
  position: absolute;
  bottom: 0px;
  left: 0;
  width: 181px;
}
.requirement-name-sec .schedule-box .ttl-box .ttl-img .svg-ttl {
  position: absolute;
  bottom: -57px;
  width: 80%;
}
.requirement-name-sec .schedule-box .ttl-box .ttl-img .svg-line-name {
  width: 100%;
}
.requirement-name-sec .schedule-box .ttl-box h3 {
  padding-left: 75px;
}
.requirement-name-sec .schedule-box .schedule-li li {
  display: table;
  min-height: 120px;
}
.requirement-name-sec .schedule-box .schedule-li li .time, .requirement-name-sec .schedule-box .schedule-li li .txt-box {
  display: table-cell;
  vertical-align: top;
}
.requirement-name-sec .schedule-box .schedule-li li .time {
  height: 100%;
  position: relative;
}
.requirement-name-sec .schedule-box .schedule-li li .time:after {
  position: absolute;
  top: 50px;
  left: 50%;
  width: 4px;
  margin-left: -2px;
  height: calc(100% - 60px);
  background-image: url(../img/members/ico_dots.png);
  background-position: center top;
  background-repeat: repeat-y;
  background-size: 100% auto;
  content: "";
}
.requirement-name-sec .schedule-box .schedule-li li .time span {
  display: block;
  width: 40px;
  line-height: 40px;
  height: 40px;
  border-radius: 100%;
  font-size: 12px;
  background-color: #e50012;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-family: 'Open Sans', sans-serif;
  letter-spacing: 0;
}
.requirement-name-sec .schedule-box .schedule-li li .txt-box {
  padding: 0.75em 0 0 15px;
}
.requirement-name-sec .schedule-box .schedule-li li .txt-box dt {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 15px;
}
.requirement-name-sec .schedule-box .schedule-li li .txt-box dd {
  font-size: 12px;
  line-height: 1.5em;
  padding-bottom: 1em;
}
.requirement-name-sec .schedule-box .schedule-li li.last .time:after {
  display: none;
}
.requirement-name-sec .applicant-msg {
  background-color: #fff;
  padding: 40px 20px;
  margin-top: -20px;
  position: relative;
  z-index: 5;
}
.requirement-name-sec .applicant-msg .ttl-typeA {
  margin-bottom: 15px;
}
.requirement-name-sec .applicant-msg .note-box {
  font-size: 100%;
}
.requirement-name-sec .applicant-msg .note {
  padding-bottom: 8px;
  padding-bottom: 3px;
  background-image: url(../img/members/dots_sp.png);
}
.requirement-name-sec .applicant-msg p {
  line-height: 50px;
  font-size: 14px;
}
.requirement-name-sec.last-sec {
  padding-bottom: 0;
}
.requirement-name-sec.last-sec:after {
  display: none;
}
.member-slide-sec {
  padding: 60px 0 100px;
  background-color: #fcfcfc;
}
.member-slide-sec .ttl {
  margin-bottom: 40px;
  text-align: center;
}
.member-slide-sec .member-slide {
  margin-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  .requirement-name-sec {
    margin-bottom: 110px;
    padding-bottom: 30px;
  }
  .requirement-name-sec:after {
    left: 50%;
    width: 1160px;
    margin-left: -580px;
  }
  .requirement-name-sec .faq-recruit-li {
    position: relative;
  }
  .requirement-name-sec .faq-recruit-li .ico-faq {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 60px;
    margin-bottom: 0px;
  }
  .requirement-name-sec .faq-recruit-li .ico-faq .q {
    font-size: 35px;
    color: #e50012;
    position: relative;
    top: -0.2em;
    padding-right: 0.1em;
  }
  .requirement-name-sec .faq-recruit-li .ico-faq .n {
    font-weight: 100;
  }
  .requirement-name-sec .faq-recruit-li li {
    position: relative;
    margin-bottom: 80px;
  }
  .requirement-name-sec .faq-recruit-li dl {
    margin-left: 17.2413793103%;
  }
  .requirement-name-sec .faq-recruit-li dt {
    font-size: 24px;
    margin-bottom: 30px;
  }
  .requirement-name-sec .faq-recruit-li dd {
    font-size: 16px;
  }
  .requirement-name-sec .thum {
    text-align: center;
    margin-bottom: 80px;
  }
  .requirement-name-sec .thum img {
    width: 100%;
  }
  .requirement-name-sec .schedule-wrap {
    display: flex;
    justify-content: space-between;
  }
  .requirement-name-sec .faq-box {
    width: 50%;
    padding-right: 1.724137931%;
  }
  .requirement-name-sec .faq-box .faq-recruit-li .ico-faq {
    position: static;
    margin-bottom: 40px;
  }
  .requirement-name-sec .faq-box .faq-recruit-li dl {
    margin-left: 0;
  }
  .requirement-name-sec .schedule-box {
    width: 50%;
    padding-left: 7.7586206897%;
    padding-top: 60px;
  }
  .requirement-name-sec .schedule-box .ttl-box {
    position: relative;
    margin-bottom: 40px;
  }
  .requirement-name-sec .schedule-box .ttl-box .ttl-img {
    width: 302px;
    left: -15px;
  }
  .requirement-name-sec .schedule-box .ttl-box .ttl-img .svg-ttl {
    bottom: -30px;
  }
  .requirement-name-sec .schedule-box .ttl-box h3 {
    padding-left: 100px;
    font-size: 24px;
  }
  .requirement-name-sec .schedule-box .schedule-li li {
    min-height: 130px;
  }
  .requirement-name-sec .schedule-box .schedule-li li .time:after {
    position: absolute;
    top: 70px;
    left: 50%;
    width: 4px;
    margin-left: -2px;
    height: calc(100% - 80px);
    background-image: url(../img/members/ico_dots.png);
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 100% auto;
    content: "";
  }
  .requirement-name-sec .schedule-box .schedule-li li .time span {
    width: 60px;
    line-height: 60px;
    height: 60px;
    font-size: 16px;
  }
  .requirement-name-sec .schedule-box .schedule-li li .txt-box {
    padding: 0.75em 0 0 20px;
  }
  .requirement-name-sec .schedule-box .schedule-li li .txt-box dt {
    font-size: 18px;
    margin-bottom: 20px;
  }
  .requirement-name-sec .schedule-box .schedule-li li .txt-box dd {
    font-size: 14px;
    line-height: 1.5em;
    padding-bottom: 1em;
  }
  .requirement-name-sec .schedule-box .schedule-li li.last .time:after {
    display: none;
  }
  .requirement-name-sec .applicant-msg {
    max-width: 900px;
    margin: 0 auto;
    padding: 80px;
    margin-top: -60px;
  }
  .requirement-name-sec .applicant-msg .ttl-typeA {
    margin-bottom: 40px;
  }
  .requirement-name-sec .applicant-msg .note-box {
    font-size: 112.5%;
  }
  .requirement-name-sec .applicant-msg .note {
    padding-bottom: 8px;
    background-image: url(../img/members/dots_pc.png);
    line-height: 80px;
  }
  .requirement-name-sec .applicant-msg p {
    line-height: 80px;
    font-size: 16px;
  }
  .member-slide-sec {
    padding: 120px 0 200px;
  }
  .member-slide-sec .ttl {
    margin-bottom: 60px;
    font-size: 28px;
  }
  .member-slide-sec .member-slide {
    margin-bottom: 100px;
  }
}
.business-index .sec-biz + .sec-biz {
  margin-top: 60px;
}
.business-index #sub-kv {
  background-image: url(../img/business/kv_sp.jpg);
}
.business-index #sub-kv .en-ttl svg {
  width: 48px;
}
.business-index #sub-kv .en-ttl .svg-ttl .kv-svg-line {
  bottom: 10px;
  width: 120px;
}
.business-index .ttl-typeA {
  margin-bottom: 50px;
}
.business-index .ttl-typeB {
  font-size: 16px;
}
.business-index .biz-li .ct01 .img {
  text-align: center;
}
.business-index .biz-li .ct01 .img img {
  width: 240px;
}
.business-index .biz-li .ct02 .content-img {
  text-align: center;
}
.business-index .biz-li .ct02 .content-img img {
  width: 80%;
}
.business-index .biz-li .ct02 .lede-typeB {
  margin-bottom: 75px;
}
.business-index .biz-li .ct02 .content-box {
  position: relative;
  padding: 90px 5px 50px 5px;
  border: 8px solid #fef2f3;
  margin-bottom: 60px;
}
.business-index .biz-li .ct02 .content-box h3 {
  position: absolute;
  top: 30px;
  left: -11px;
  background-color: #e50012;
  color: #fff;
  font-weight: bold;
  height: 30px;
  line-height: 30px;
  width: 143px;
  text-align: center;
  font-size: 14px;
}
.business-index .biz-li .ct02 .content-box h3:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 3px 3px 0;
  border-color: transparent #670009 transparent transparent;
  position: absolute;
  bottom: -3px;
  left: 0;
}
.business-index .biz-li .ct02 .content-box .img {
  text-align: center;
}
.business-index .biz-li .ct02 .content-box .img p {
  font-weight: bold;
  margin-top: 20px;
}
.business-index .biz-li .ct02 .content-box .img01 {
  margin-bottom: 50px;
}
.business-index .biz-li .ct02 .content-box-eizen .img01 {
  margin-bottom: 25px;
}
.business-index .biz-li .ct02 .content-box .img img {
  max-width: 45.07vw;
}
.business-index .biz-li .ct02 .content-box .info-box {
  display: flex;
  justify-content: center;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0 20px;
  margin-bottom: 50px;
}
.business-index .biz-li .ct02 .content-box .arrow-box {
  position: relative;
}
.business-index .biz-li .ct02 .content-box .arrow01 {
  padding: 40px 0;
  width: 40px;
}
.business-index .biz-li .ct02 .content-box .arrow01 .txt span {
  display: block;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  color: #fff;
  text-align: center;
  color: #e50012;
  background-color: #fff;
  border: 2px solid #f7b2b7;
  padding: 25px 0;
  font-weight: bold;
  white-space: nowrap;
  width: 40px;
  line-height: 40px;
}
.business-index .biz-li .ct02 .content-box .arrow01 .txt:after {
  content: "";
  width: 14px;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  margin-left: -7px;
  background-color: #f7b2b7;
  z-index: -1;
}
.business-index .biz-li .ct02 .content-box .arrow01 .txt:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 25px 25px 0;
  border-color: transparent #f7b2b7 transparent transparent;
  position: absolute;
  bottom: -24px;
  left: 2px;
}
.business-index .biz-li .ct02 .content-box .arrow02 {
  width: 200px;
  padding: 40px 0;
  position: relative;
}
.business-index .biz-li .ct02 .content-box .arrow02 dl {
  background-color: #fff;
  padding: 15px 10px 15px 15px;
  border: 2px solid #e50012;
}
.business-index .biz-li .ct02 .content-box .arrow02 dl dt {
  color: #e50012;
  font-weight: bold;
  margin-bottom: 15px;
  font-size: 14px;
}
.business-index .biz-li .ct02 .content-box .arrow02 dl dd p {
  font-size: 12px;
  line-height: 18px;
  margin-bottom: 5px;
}
.business-index .biz-li .ct02 .content-box .arrow02:after {
  content: "";
  width: 14px;
  height: 100%;
  position: absolute;
  right: 25px;
  top: 0;
  background-color: #e50012;
  z-index: -1;
}
.business-index .biz-li .ct02 .content-box .arrow02:before {
  z-index: -1;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 25px 0 0 25px;
  border-color: transparent transparent transparent #e50012;
  position: absolute;
  top: -25px;
  right: 14px;
}
.business-index .biz-li .ct02 .content-box-eizen .arrow02:before {
  top: auto;
  bottom: -25px;
  border-width: 25px 25px 0 0;
  border-color: #e50012 transparent transparent transparent;
}
.business-index .biz-li .ct02 .content-box dl + dl {
  margin-top: 10px;
}
.business-index .biz-li .ct03 > h3 {
  margin-top: 0;
}
.business-index .biz-li .ct03 .img {
  text-align: center;
}
.business-index .biz-li .ct03 .img img {
  width: 240px;
}
.business-index .biz-li .ct04 .img {
  margin-bottom: 60px;
}
.business-index .interview-box {
  border: 4px solid #e5e5e5;
  padding: 25px 15px;
  position: relative;
}
.business-index .interview-box .svg-box {
  width: 115px;
  height: 50px;
  position: absolute;
  top: -69px;
  left: 10px;
  z-index: 5;
}
.business-index .interview-box .svg-box .svg-ttl {
  top: 39px;
  width: 100px;
  z-index: 15;
}
.business-index .interview-box h3 {
  padding-bottom: 20px;
  border-bottom: 1px solid #e5e5e5;
  text-align: center;
  margin-bottom: 20px;
}
.business-index .interview-box .member-slide .next-arrow {
  right: -30px;
}
.business-index .interview-box .member-slide .prev-arrow {
  left: -30px;
}
.business-index .interview-box .member-slide dl a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #000;
}
.business-index .interview-box .member-slide dt {
  width: 30.5084745763%;
}
.business-index .interview-box .member-slide dd {
  margin-left: 5.0847457627%;
}
.business-index .interview-box .member-slide dd .year {
  font-size: 12px;
  margin-bottom: 1em;
}
.business-index .interview-box .member-slide dd .name {
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
}
@media only screen and (min-width: 768px) {
  .business-index .sec-biz + .sec-biz {
    margin-top: 120px;
  }
  .business-index #sub-kv {
    background-image: url(../img/business/kv_pc.jpg);
    height: 500px;
  }
  .business-index #sub-kv h2 {
    font-size: 70px;
  }
  .business-index #sub-kv .en-ttl svg {
    width: 95px;
  }
  .business-index #sub-kv .en-ttl .svg-ttl .kv-svg-line {
    bottom: 0px;
    left: -113px;
    width: 243px;
    position: relative;
  }
  .business-index .ttl-typeB {
    font-size: 24px;
  }
  .business-index .biz-li .ct01 .img {
    text-align: center;
  }
  .business-index .biz-li .ct01 .img img {
    width: auto;
  }
  .business-index .biz-li .ct02 .content-img {
    text-align: center;
    width: 100%;
  }
  .business-index .biz-li .ct02 .content-img img {
    width: auto;
  }
  .business-index .biz-li .ct02 .content-box {
    padding: 100px 6.4655172414% 75px 4.7413793103%;
    border: 8px solid #fef2f3;
    display: flex;
    justify-content: space-between;
  }
  .business-index .biz-li .ct02 .content-box-eizen {
    padding-bottom: 45px;
  }
  .business-index .biz-li .ct02 .content-box h3 {
    position: absolute;
    top: 30px;
    left: -13px;
    height: 40px;
    line-height: 40px;
    width: 206px;
    font-size: 18px;
  }
  .business-index .biz-li .ct02 .content-box h3:after {
    bottom: -6px;
    border-width: 0 6px 6px 0;
  }
  .business-index .biz-li .ct02 .content-box .img img {
    max-width: 100%;
  }
  .business-index .biz-li .ct02 .content-box .img01 {
    margin-bottom: 0px;
    width: 16.7326732673%;
  }
  .business-index .biz-li .ct02 .content-box .img02 {
    width: 18.5148514851%;
  }
  .business-index .biz-li .ct02 .content-box .info-box {
    display: block;
    margin-bottom: 0px;
    width: 58.8118811881%;
  }
  .business-index .biz-li .ct02 .content-box-eizen .info-box {
    padding-top: 30px;
  }
  .business-index .biz-li .ct02 .content-box .arrow-box {
    position: relative;
  }
  .business-index .biz-li .ct02 .content-box .arrow01 {
    padding: 0;
    width: 100%;
    margin-bottom: 40px;
  }
  .business-index .biz-li .ct02 .content-box .arrow01 .txt {
    max-width: 320px;
    min-width: 275px;
    margin: 0 auto;
    width: 53.6912751678%;
  }
  .business-index .biz-li .ct02 .content-box-eizen .arrow01 .txt {
    max-width: 370px;
    width: auto;
  }
  .business-index .biz-li .ct02 .content-box .arrow01 .txt span {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    border: 2px solid #f7b2b7;
    padding: 10px 3.9603960396%;
    position: relative;
    left: 6px;
    width: auto;
    line-height: inherit;
  }
  .business-index .biz-li .ct02 .content-box-eizen .arrow01 .txt span {
    left: auto;
  }
  .business-index .biz-li .ct02 .content-box .arrow01 .txt:after {
    content: "";
    width: calc(100% - 28px);
    height: 16px;
    position: absolute;
    left: 0%;
    top: 50%;
    margin-left: 0;
    margin-top: -8px;
  }
  .business-index .biz-li .ct02 .content-box .arrow01 .txt:before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 28px 0 0 28px;
    border-color: transparent transparent transparent #f7b2b7;
    bottom: 12px;
    left: calc(100% - 28px);
  }
  .business-index .biz-li .ct02 .content-box .arrow02 {
    padding: 0 0;
    position: relative;
    text-align: center;
    display: flex;
    letter-spacing: 0em;
    width: auto;
  }
  .business-index .biz-li .ct02 .content-box-eizen .arrow02 {
    justify-content: center;
  }
  .business-index .biz-li .ct02 .content-box .arrow02 dl {
    display: block;
    text-align: left;
    vertical-align: top;
    background: none;
    padding: 0;
    border: none;
    margin-left: 6.711409396%;
  }
  .business-index .biz-li .ct02 .content-box-eizen .arrow02 dl {
    width: 180px;
    margin: 0;
  }
  .business-index .biz-li .ct02 .content-box .arrow02 dl dt {
    color: #e50012;
    font-weight: bold;
    margin-bottom: 15px;
    font-size: 14px;
    border: 2px solid #e50012;
    max-width: 250px;
    padding: 10px 6.711409396%;
    text-align: center;
    background-color: #fff;
  }
  .business-index .biz-li .ct02 .content-box .arrow02 dl dd p {
    font-size: 14px;
    line-height: 18px;
    margin-bottom: 8px;
  }
  .business-index .biz-li .ct02 .content-box .arrow02:after {
    content: "";
    width: calc(100% - 28px);
    height: 16px;
    position: absolute;
    right: 0;
    top: 10px;
    background-color: #e50012;
    z-index: -1;
  }
  .business-index .biz-li .ct02 .content-box-eizen .arrow02:after {
    right: auto;
    left: 0;
  }
  .business-index .biz-li .ct02 .content-box .arrow02:before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 28px 28px 0;
    border-color: transparent #e50012 transparent transparent;
    top: 10px;
    right: calc(100% - 28px);
  }
  .business-index .biz-li .ct02 .content-box-eizen .arrow02:before {
    right: auto;
    left: calc(100% - 28px);
    border-width: 28px 28px 0 0;
    border-color: #e50012 transparent transparent transparent;
  }
  .business-index .biz-li .ct02 .content-box .arrow02 dl + dl {
    margin-top: 0px;
    margin-left: 3.355704698%;
  }
  .business-index .biz-li .ct02 .content-box-eizen .arrow02 dl + dl {
    margin-left: 10px;
  }
  .business-index .biz-li .ct03 > h3 {
    margin-top: 0;
  }
  .business-index .biz-li .ct03 .img {
    text-align: center;
  }
  .business-index .biz-li .ct03 .img img {
    width: auto;
  }
  .business-index .biz-li .ct04 {
    margin-bottom: 80px;
  }
  .business-index .biz-li .ct04 div.flex-box {
    display: flex;
    justify-content: space-between;
    align-items: start;
  }
  .business-index .biz-li .ct04 .ttl-typeB {
    margin-top: 0;
    margin-bottom: 30px;
  }
  .business-index .biz-li .ct04 .img {
    width: 48.275862069%;
    margin-bottom: 0px;
  }
  .business-index .biz-li .ct04 .txt-box {
    width: 48.275862069%;
  }
  .business-index .interview-box {
    border: 4px solid #f2f2f2;
    padding: 30px 4.3103448276% 40px 4.3103448276%;
  }
  .business-index .interview-box .svg-box {
    width: 152px;
    top: -60px;
    left: 20px;
  }
  .business-index .interview-box .svg-box .svg-ttl {
    top: 40px;
    left: -12px;
    width: 152px;
  }
  .business-index .interview-box .member-slide {
    display: inline-block;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
  }
  .business-index .interview-box .member-slide .next-arrow {
    right: -30px;
  }
  .business-index .interview-box .member-slide .prev-arrow {
    left: -30px;
  }
  .business-index .interview-box .member-slide a:hover dd {
    opacity: 0.6;
  }
  .business-index .interview-box .member-slide a:hover dt {
    top: -10px;
  }
  .business-index .interview-box .member-slide a {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .business-index .interview-box .member-slide dl {
    width: 240px;
  }
  .business-index .interview-box .member-slide dt {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    width: 90px;
    position: relative;
    top: 0;
  }
  .business-index .interview-box .member-slide dd {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    margin-left: 7.4576271186%;
    position: relative;
    top: 10px;
  }
  .business-index .interview-box .member-slide dd .year {
    font-size: 12px;
    margin-bottom: 1em;
  }
  .business-index .interview-box .member-slide dd .name {
    font-weight: 100;
    font-family: "Noto Serif JP", serif;
    font-size: 20px;
  }
}
@media only screen and (min-width: 960px) {
  .business-index .interview-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .business-index .interview-box .slick-track {
    float: left;
  }
  .business-index .interview-box h3 {
    padding-bottom: 0px;
    border-bottom: none;
    border-right: 1px solid #e5e5e5;
    text-align: left;
    margin-bottom: 0px;
    padding-right: 3.8095238095%;
    line-height: 27px;
    width: 200px;
    padding: 15px 0;
  }
  .business-index .interview-box .member-slide {
    width: 81.3%;
    padding-left: 3.8095238095%;
  }
}
.security-index #sub-kv {
  background-color: #f8f8f8;
  text-align: center;
  height: 240px;
  padding: 0 20px;
}
.security-index #sub-kv h1 {
  line-height: 1.5;
  color: #000;
  font-size: 32px;
}
.security-index .security-sec {
  font-size: 13px;
  line-height: 2;
  letter-spacing: 0.08em;
  max-width: 900px;
  padding: 0 20px;
  margin: 0 auto;
}
.security-index .dl-security {
  display: flex;
  margin-top: 55px;
}
.security-index .dl-security dt {
  font-family: "Open Sans";
  font-weight: 700;
  margin-right: 13px;
}
.security-index .dl-security + .dl-security {
  margin-top: 30px;
}
.security-index .txt-signature {
  text-align: right;
  margin-top: 50px;
  margin-bottom: 100px;
}
@media only screen and (min-width: 768px) {
  .security-index #sub-kv {
    background-color: #f8f8f8;
    height: 280px;
  }
  .security-index #sub-kv h1 {
    color: #000;
    font-size: 48px;
  }
  .security-index .security-sec {
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.08em;
    max-width: 900px;
    margin: 0 auto;
  }
  .security-index .dl-security {
    display: flex;
    margin-top: 55px;
  }
  .security-index .dl-security dt {
    font-family: "Open Sans";
    font-weight: 700;
    margin-right: 16px;
  }
  .security-index .dl-security + .dl-security {
    margin-top: 40px;
  }
  .security-index .txt-signature {
    text-align: right;
    margin-top: 60px;
    margin-bottom: 200px;
  }
}
.privacy-index #sub-kv {
  background-color: #f8f8f8;
  height: 280px;
}
.privacy-index #sub-kv h1 {
  color: #000;
  font-size: 48px;
}
.privacy-index .privacy-sec {
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.08em;
  max-width: 900px;
  padding: 0 20px;
  margin: 0 auto;
}
.privacy-index .privacy-sec a {
  color: #e50012;
  border-bottom: solid 1px #e50012;
}
.privacy-index .privacy-sec a:hover {
  border-bottom: none;
}
.privacy-index .privacy-sec p {
  line-height: 2;
  margin-bottom: 36px;
}
.privacy-index .privacy-sec img {
  max-width: 100%;
}
.privacy-index .privacy-sec h2 {
  border-bottom: solid 2px #f2f2f2;
  font-weight: 700;
  font-size: 36px;
  line-height: 1.6;
  padding-bottom: 15px;
  margin-top: 80px;
  margin-bottom: 20px;
}
.privacy-index .privacy-sec h3 {
  border-left: solid 2px #e50012;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.08em;
  padding-left: 18px;
  margin-top: 80px;
  margin-bottom: 25px;
}
.privacy-index .privacy-sec h2 + h3 {
  margin-top: 40px;
}
.privacy-index .privacy-sec h4 {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.5;
  margin-top: 58px;
  margin-bottom: 20px;
}
.privacy-index .privacy-sec ol, .privacy-index .privacy-sec ul {
  line-height: 2;
  margin-bottom: 30px;
}
.privacy-index .privacy-sec ol {
  counter-reset: item;
  list-style-type: none;
  padding-left: 0;
}
.privacy-index .privacy-sec ol ol {
  padding-left: 1em;
}
.privacy-index .privacy-sec .list-num li + li {
  margin-top: 30px;
}
.privacy-index .privacy-sec .mt30 {
  margin-top: 30px;
}
.privacy-index .privacy-sec li {
  text-indent: -1.3em;
  padding-left: 1.3em;
}
.privacy-index .privacy-sec li:before {
  counter-increment: item;
  content: counter(item) ".";
  padding-right: .5em;
}
.privacy-index .align-right {
  text-align: right;
}
.privacy-index .p-mark {
  display: flex;
}
.privacy-index .p-mark .img-pmark {
  flex: none;
  width: 88px;
  margin-right: 16px;
}
.privacy-index .p-mark a {
  text-decoration: none;
  border-bottom: none;
}
@media only screen and (max-width: 768px) {
  .privacy-index #sub-kv {
    background-color: #f8f8f8;
    height: 240px;
  }
  .privacy-index #sub-kv h1 {
    color: #000;
    font-size: 32px;
  }
  .privacy-index .privacy-sec {
    font-size: 13px;
    line-height: 2;
    letter-spacing: 0.08em;
    max-width: 900px;
    padding-bottom: 0;
    margin: 0 auto;
  }
  .privacy-index .privacy-sec a {
    color: #e50012;
    border-bottom: solid 1px #e50012;
  }
  .privacy-index .privacy-sec a:hover {
    border-bottom: none;
  }
  .privacy-index .privacy-sec p {
    font-size: 13px;
    line-height: 2;
    margin-bottom: 36px;
  }
  .privacy-index .privacy-sec img {
    max-width: 100%;
  }
  .privacy-index .privacy-sec h2 {
    border-bottom: solid 2px #f2f2f2;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.6;
    padding-bottom: 20px;
    margin-top: 110px;
    margin-bottom: 40px;
  }
  .privacy-index .privacy-sec h3 {
    border-left: solid 2px #e50012;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.08em;
    padding-left: 18px;
    margin-top: 80px;
    margin-bottom: 25px;
  }
  .privacy-index .privacy-sec h2 + h3 {
    margin-top: 40px;
  }
  .privacy-index .privacy-sec h4 {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.5;
    margin-top: 58px;
    margin-bottom: 20px;
  }
  .privacy-index .privacy-sec img {
    width: 100%;
  }
  .privacy-index .privacy-sec .list-num li + li {
    margin-top: 20px;
  }
  .privacy-index .privacy-sec .mt30 {
    margin-top: 20px;
  }
  .privacy-index .privacy-sec ol, .privacy-index .privacy-sec ul {
    line-height: 2;
    margin-bottom: 30px;
  }
  .privacy-index .privacy-sec ol {
    counter-reset: item;
    list-style-type: none;
    padding-left: 0;
  }
  .privacy-index .privacy-sec ol ol {
    padding-left: 1em;
  }
  .privacy-index .privacy-sec li {
    text-indent: -1.3em;
    padding-left: 1.3em;
  }
  .privacy-index .privacy-sec li:before {
    counter-increment: item;
    content: counter(item) ".";
    padding-right: .5em;
  }
  .privacy-index .align-right {
    text-align: right;
  }
  .privacy-index .p-mark {
    display: flex;
  }
  .privacy-index .p-mark .img-pmark {
    flex: none;
    width: 88px;
    margin-right: 16px;
  }
  .privacy-index .p-mark a {
    text-decoration: none;
    border-bottom: none;
  }
}
.system-li {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 0 120px;
}
.system-li li:nth-child(3),
.system-li li:nth-child(4),
.system-li li:nth-child(5) {
  width: 31.03448275862069%;
}
.system-li .flex-box {
  display: flex;
  justify-content: space-between;
  align-items: start;
}
.system-li li:nth-child(2n) .flex-box {
  flex-direction: row-reverse
}
.system-li .flex-box .txt-box {
  width: 48.275862069%;
}
.system-li li:nth-child(3) .txt-box,
.system-li li:nth-child(4) .txt-box,
.system-li li:nth-child(5) .txt-box {
  line-height: 1.8em;
  margin: 20px 0 0;
  font-size: 14px;
}
.system-li .flex-box .img {
  width: 48.275862069%;
  margin-bottom: 0px;
}
@media only screen and (max-width: 768px) {
  .system-li {
    display: block;
    margin: 0 0 80px;
  }
  .system-li li:nth-child(3),
  .system-li li:nth-child(4),
  .system-li li:nth-child(5) {
    width: auto;
  }
  .system-li .flex-box {
    display: block;
  }
  .system-li .flex-box .txt-box {
    width: auto;
  }
  .system-li li:nth-child(3) .txt-box,
  .system-li li:nth-child(4) .txt-box,
  .system-li li:nth-child(5) .txt-box {
    line-height: 2em;
  }
  .system-li .flex-box .img {
    width: auto;
  }
}


#main.company #sub-kv {
  height: 300px;
  text-align: center;
  background-image: url(../img/company/kv_sp.jpg);
}
#main.company #sub-kv h1 {
  line-height: 1.5;
}
#main.company #sub-kv .sub {
  margin: 10px 0 0;
  color: #fff;
  font-size: 15px;
}
#main.company #sub-kv .ttl .en-ttl {
  top: -35px;
  left: 0;
  width: 120px;
}
#main.company #sub-kv .ttl .en-ttl svg {
  width: 100%;
}
#main.company #sub-kv .ttl .en-ttl #kv-ttl {
  width: 80%;
}
.company-contents1 {
  margin: 0 0 60px;
}
.company-contents1-ttl {
  line-height: 1.7;
  margin: 0 0 30px;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  text-align: center;
  letter-spacing: .2em;
}
.company-contents1-img {
  height: 48vw;
  margin: 0 -20px;
  background: url(/recruit/assets/img/company/img-01.jpg) no-repeat 50% 50%;
  background-size: cover;
}
.company-contents1-inner {
  position: relative;
  margin: -20px 0 0;
  padding: 40px 15px 0;
  background: #fff;
}
.company-contents1-subttl {
  margin: 0 0 20px;
  font-size: 14px;
  text-align: center;
}
.company-contents1-subttl:after {
  content: "";
  display: block;
  width: 1px;
  height: 50px;
  margin: 15px auto 0;
  background: #e50012;
}
.company-contents1-txt {
  line-height: 2;
}
.company-contents1-txt p {
  margin-bottom: 1em;
}
.company-contents2 {
  margin: 0 0 80px;
  padding: 60px 0 0;
  background: linear-gradient(rgba(250,250,250,1) 0%, rgba(255,255,255,1) 100%);
}
.company-contents2-ttl {
  line-height: 1.7;
  margin: 0 0 20px;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  text-align: center;
  letter-spacing: .2em;
}
.company-contents2-inner {
  padding: 0 35px;
}
.company-contents2-img {
  height: 48vw;
  margin: 0 -20px;
  background: url(/recruit/assets/img/company/img-02.jpg) no-repeat 50% 50%;
  background-size: cover;
}
.company-contents3-img {
  height: 48vw;
  background: url(/recruit/assets/img/company/img-03.jpg) no-repeat 50% 50%;
  background-size: cover;
}
.company-btn {
  margin: 40px 20px 0;
}
.company-btn a {
  display: block;
  position: relative;
  padding: 20px;
  border: 4px solid #f2f2f2;
  color: inherit;
  text-align: center;
}
.company-btn a:after {
  right: 20px;
}

@media only screen and (min-width: 768px) {
  #main.company #sub-kv {
    height: 500px;
    background-image: url(../img/company/kv_pc.jpg);
  }
  #main.company #sub-kv .ttl .en-ttl {
    width: 240px;
    top: -80px;
    left: 40px;
  }
  #main.company #sub-kv .ttl .en-ttl svg {
    width: 100%;
  }
  #main.company #sub-kv .ttl .en-ttl #kv-ttl {
    width: 80%;
  }
  .company-contents1 {
    margin: 0 0 100px;
  }
  .company-contents1-ttl {
    margin: 0 0 50px;
    font-size: 40px;
  }
  .company-contents1-img {
    height: 450px;
    margin: 0;
  }
  .company-contents1-inner {
    max-width: 900px;
    margin: -70px auto 0;
    padding: 70px 70px 0;
  }
  .company-contents1-subttl {
    margin: 0 0 30px;
    font-size: 20px;
  }
  .company-contents1-subttl:after {
    width: 2px;
    height: 60px;
    margin: 20px auto 0;
  }
  .company-contents1-txt {
    line-height: 2;
  }
  .company-contents1-txt p {
    margin-bottom: 1em;
  }
  .company-contents2 {
    margin: 0 0 150px;
    padding: 80px 0 0;
  }
  .company-contents2-ttl {
    margin: 0 0 30px;
    font-size: 40px;
  }
  .company-contents2-inner {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 70px;
  }
  .company-contents2-img {
    height: 450px;
    margin: 0;
  }
  .company-contents3-img {
    height: 700px;
  }
  .company-btn {
    margin: 80px 0 0;
  }
  .company-btn a {
    max-width: 560px;
    margin: 0 auto;
    padding: 32px;
    font-size: 18px;
  }
  .company-btn a:after {
    right: 20px;
  }
  .company-btn a:hover:after {
    right: 10px;
  }
}
