@charset "utf-8";
@charset "utf-8";
/* CSS Document */
/* =============================================================================
 Reset
============================================================================= */
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent
}
body {
  line-height: 1
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block
}
nav ul, ul {
  list-style: none
}
blockquote, q {
  quotes: none
}
blockquote:after, blockquote:before, q:after, q:before {
  content: '';
  content: none
}
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent
}
ins {
  text-decoration: none
}
ins, mark {
  background-color: #ff9;
  color: #000
}
mark {
  font-style: italic;
  font-weight: 700
}
del {
  text-decoration: line-through
}
abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help
}
table {
  border-collapse: collapse;
  border-spacing: 0
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0
}
input, select {
  vertical-align: middle
}
*, :after, :before {
  box-sizing: border-box
}
button, input[type=button] {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background-color: transparent;
  outline: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer
}
ol {
  list-style: none;
}
/* =============================================================================
 variable
============================================================================= */ 
:root {
  --color-bg: #F7F7F7;
  --color-base: #343434;
  --color-gray: #e2e2e2;
  --color-dark: #1d1d1d;
  --color-black: #000;
  --color-blue: #2B7AE5;
  --color-red: #E50012;
  --color-white: #fff;
  --color-trans: transparent;
  --gradient-01: linear-gradient(to right, var(--base-black) 0%, rgba(0, 0, 0) 100%);
  --fzPC-01: 1.7rem;
  --fzSP-01: 1.3rem;
  --font-ja: 'Noto Sans JP', "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  --font-en: 'Inter', sans-serif;
  --width-screen: 134rem; /*U*/
  --width-base: 125rem; /*U*/
  --width-content: 100rem; /*U*/
  --width-flexcont: 91rem;
  --width-spbase: 33.5rem;
  --transition-op: opacity ease .3s, visibility ease .3s;
  --transition-trf: transform ease .3s;
  --transition-all: all ease .3s;
}
/* =============================================================================
 Fonts
============================================================================= */
* {
  letter-spacing: 0.05em;
}
.en * {
  letter-spacing: 0;
}

/*:root {
--scrollbarwidth: calc(100vw - 100%);
}
html {
  font-size: calc(10/1500*(100vw - var(--scrollbarwidth)));
}*/
html {
  font-size: calc(10/1500*(100vw - 17px));
  font-size: calc(10/1500*(100vw));
}
html.iPad, html.noscrollY {
  font-size: calc(10/1500*100vw);
}
body {
  color: var(--color-base);
  font-family: 'Noto Sans JP', "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.7rem;
}
.en {
  font-family: var(--font-en);
  letter-spacing: 0;
}
strong {
  font-weight: bold;
}
sup {
  font-size: 70%;
	vertical-align: top;
	position: relative;
	top: -0.1em;
}
.-alignleft {
  text-align: left;
}
.-alignright {
  text-align: right;
}
@media screen and (max-width: 767px) {
  html, html.noscrollY {
    font-size: calc(10/375*100vw);
  }
  body {
    font-size: 1.4rem;
  }
}
/* =============================================================================
 Elements
============================================================================= */
/* color setting */
body {}
/* link setting */
a {
  color: inherit;
  text-decoration: none;
}
/* image setting */
img {
  width: 100%;
  vertical-align: top;
}
img.cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  img {
    width: 100%;
  }
}
/* box */
*, *:before, *:after {
  box-sizing: border-box;
}
/* cursor */
button {
  cursor: pointer;
}
/* =============================================================================
 Responsive Class
============================================================================= */
@media screen and (min-width: 768px) {
  .only-sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .only-pc {
    display: none;
  }
}
/* =============================================================================
 Base Layout
============================================================================= */
body {
  background-color: var(--color-white);
}
#container {}
#mainArea {
  padding: 12rem 0 0;
}
@media screen and (max-width: 767px) {
  #mainArea {
    padding-top: 5.6rem;
  }
}
/* =============================================================================
 OVERLAY
============================================================================= */
body {
  position: relative;
  transition: all 0.2s;
}
body:after {
  width: 100%;
  height: calc(100% - 16.2rem);
  position: absolute;
  background-color: rgba(29, 29, 29, 0.85);
  content: '';
  left: 0;
  top: 16.2rem;
  z-index: -1;
  opacity: 0;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}
body.open:after {
  z-index: 1;
  opacity: 1;
}
/* =============================================================================
 header & global navi
============================================================================= */
#header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 200;
  width: 100%;
  background-color: var(--color-trans);
  transition: var(--transition-all);
}
.scrollDown:not(.menuOpen) #header #siteLogo {
/*  transform: translateY(-100%);*/
}
@media screen and (min-width: 768px) {
  #header {
    height: 11rem;
  }
  body:not(.scrolling) #header {
    height: 16.2rem;
  }
  .scrolling:not(.menuOpen) #header {
    height: 10rem;
    background-color: var(--color-white);
  }
  #header .headerInner {
    padding: 0 0 0 8rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
  }
  body:not(.scrolling) #header .headerInner {
/*    padding-left: 6rem;*/
  }
  #header .menuBtn {
    display: none;
  }
  #header #siteLogo {
    /*    margin-top: -0.8rem;*/
    width: 26rem;
  }
  body:not(.scrolling) #header #siteLogo {
    margin-top: 0;
    padding-top: 3.5rem;
  }
  body.heroPage:not(.scrolling) #header #siteLogo {
    margin-top: 0;
    padding-top: 4.5rem;
  }
  #globalNavi {
    height: 100%;
  }
  #globalNavi .primaryConts {
    margin-top: 5rem;
    padding-right: 8rem;
    display: flex;
    transition: margin ease .3s;
  }
  body:not(.scrolling) #globalNavi .primaryConts {
    margin-top: 5rem;
    padding-right: 8rem;
  }
  .scrolling #globalNavi .primaryConts {
    margin-top: 2rem;
  }
  #globalNavi .primaryCont {
    margin-left: 2.1em;
    font-size: 1.6rem;
  }
  #globalNavi .primaryCont.-faq {
    position: absolute;
    top: 2rem;
    right: 54rem;
    transition: top ease .3s;
  }
  body:not(.scrolling) #globalNavi .primaryCont.-faq {
    top: 2rem;
  }
  #globalNavi .primaryContLabel {
    font-weight: bold;
    cursor: pointer;
  }
  #globalNavi .primaryContLabel a > div, #globalNavi .primaryContLabel span {
    position: relative;
    display: flex;
    align-items: center;
    height: 6rem;
    line-height: 1.5;
    font-family: var(--font-en);
    letter-spacing: 0;
    font-weight: bold;
    text-decoration: none;
    cursor: pointer;
    margin-bottom: 2rem;
  }
  body:not(.scrolling) #globalNavi .primaryContLabel a > div, body:not(.scrolling) #globalNavi .primaryContLabel span {
    padding-bottom: 2rem;
    height: 8rem;
    align-items: flex-end;
    margin-bottom: 3.2rem;
  }
  #globalNavi .primaryContLabel.acc a > div:before, #globalNavi .primaryContLabel a.directLink > div:before, #globalNavi .primaryContLabel.acc span:before {
    content: '';
    position: absolute;
    bottom: 6px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--color-red);
    opacity: 0;
    transition: var(--transition-all);
  }
  #globalNavi .open .primaryContLabel a > div:before,
  #globalNavi .open .primaryContLabel span:before,
  #globalNavi .primaryCont a.current > div:before,
  #globalNavi .primaryCont:hover a > div:before,
  #globalNavi .primaryCont:hover span:before {
    opacity: 1;
  }
  /*  #globalNavi .primaryCont.-faq a {
    display: inline;
    height: auto;
    font-weight: 500;
    font-size: 1.4rem;
  }
  #globalNavi .primaryCont.-faq a:hover {
    text-decoration: underline;
  }*/
  #globalNavi .megaMenu {
    display: flex;
    position: absolute;
    top: 10rem;
    left: 0;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity ease .3s, visibility ease .3s;
  }
  body:not(.scrolling) #globalNavi .megaMenu {
    top: 16.2rem;
  }
  body:not(.touchdevice) #globalNavi .primaryCont:hover .megaMenu, body.touchdevice #globalNavi .open .megaMenu {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
  }
  #globalNavi .secondaryContLabel {
    padding: 8.5rem 0 8.5rem 12.4rem;
    width: 50rem;
    color: var(--color-white);
    background-color: var(--color-dark);
  }
  #globalNavi .secondaryContLabelEN {
    line-height: 1.227;
    font-size: 4rem;
    font-weight: bold;
    font-family: var(--font-en);
    letter-spacing: 0;
  }
  #globalNavi .secondaryContLabelJA {
    margin-top: 1.25rem;
    line-height: 1.45;
    font-size: 1.6rem;
  }
  #globalNavi .secondaryContLabelJA a {
    padding-right: 3em;
    display: inline-block;
    position: relative;
    transition: var(--transition-all);
  }
  #globalNavi .secondaryContLabelJA .btnArrow {
    right: 1rem;
    top: calc(50% - 0.3rem);
    position: absolute;
  }
  
  #globalNavi .secondaryConts {
    padding: 7rem 7rem 7rem 7rem;
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    width: calc(100% - 50rem);
    background-color: var(--color-bg);
  }
  #globalNavi .secondaryCont {
    margin-right: 3rem;
    width: 23.4rem;
  }
  
  #globalNavi .secondaryCont:nth-child(3n+1):not(:first-child) {
    margin-right: 0;
  }
  #globalNavi .primaryCont:nth-of-type(2) .secondaryCont {
    width: 23rem;
  }
  #globalNavi .primaryCont:nth-of-type(2) .secondaryCont:nth-child(3n) {
    width: 23.4rem;
  }
  #globalNavi .primaryCont:nth-of-type(2) .secondaryCont:nth-child(3n+1):not(:first-child) {
    width: 26.2rem;
  }
  
  #globalNavi .secondaryCont a {
    display: block;
/*    transition: var(--transition-op_vis);*/
    text-decoration: none;
    transition: var(--transition-all);
    position: relative;
    padding-left: 2.8rem;
  }
  #globalNavi .secondaryCont a:before {
    content: '';
    display: block;
    width: 1.4rem;
    height: 1px;
    border-top: 1px rgba(52, 52, 52, 0.2) solid;
    position: absolute;
    left: 0;
    top: calc(50% - 1px);
  }
  #globalNavi .secondaryContImg {}
  #globalNavi .secondaryContImg img {
    width: 100%;
  }
  #globalNavi .secondaryCont div {
    line-height: 1.5;
    font-size: 1.6rem;
    font-weight: normal;
  }
  #globalNavi .secondaryCont a:hover {
    opacity: 0.7;
    text-decoration: underline;
  }
  #globalNavi .dropdownMenu {
    margin-left: -5rem;
    padding: 2.7rem 3.2rem;
    display: flex;
    position: absolute;
    top: 10rem;
    background-color: var(--color-white);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity ease .3s, visibility ease .3s;
  }
  body:not(.scrolling) #globalNavi .dropdownMenu {
    top: 14rem;
  }
  body:not(.touchdevice) #globalNavi .primaryCont:hover .dropdownMenu, body.touchdevice #globalNavi .open .dropdownMenu {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
  }
  #globalNavi .dropdownMenu dl {
    line-height: 1.5;
  }
  #globalNavi .dropdownMenu dl dt {
    margin-bottom: 2rem;
    font-size: 1.6rem;
    font-weight: bold;
  }
  #globalNavi .dropdownMenu dl dt a {
    padding-right: 3rem;
    background: url(../images/common/icon_arrow_b.svg) center right / 1.6rem 1.3rem no-repeat;
    transition: var(--transition-all);
  }
  #globalNavi .dropdownMenu dl dd {
    margin-top: 1rem;
    font-size: 1.5rem;
  }
  #globalNavi .dropdownMenu a {
    transition: var(--transition-all);
  }
  #globalNavi .dropdownMenu a:hover {
    text-decoration: underline;
  }
  
  
  /* HEADERBTN */
  .headerCNV {
    position: absolute;
    top: 0;
    right: 0;
    color: #777;
  }
  .headerCNV a {
    color: var(--color-white);
  }
  .scrolling:not(.menuOpen) .headerCNV {
    display: none;
  }
  .headerCNV ul {
    display: flex;
  }
  .headerCNVBlock.-login {
    background-color: var(--color-dark);
  }
  .headerCNVBlock.-lang {
    background-color: #343434;
  }
  .headerCNVBtn {
    background-color: var(--color-white);
  }
  .headerCNVBlock > div, .headerCNVBtn a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 15rem;
    height: 5rem;
    font-family: var(--font-en);
    font-size: 1.3rem;
    font-weight: 300;
    transition: opacity ease .3s;
  }
  .headerCNVBlock.-login > div {
    width: auto;
    padding-left: 2.2rem;
    padding-right: 2.2rem;
    color: #777;
  }
  .headerCNVBlock.-lang > div {
    width: auto;
    padding-left: 2.2rem;
    padding-right: 1.8rem;
    color: #777;
  }
  .headerCNVBlock.-lang a {
    color: #777;
  }
  .headerCNVBlock.-lang a:hover,
  .headerCNVBlock.-lang .current {
    color: var(--color-white);
  }
  body:not(.scrolling) .headerCNVBlock > div, body:not(.scrolling) .headerCNVBtn a {
    height: 4.4rem;
  }
  .headerCNVBlock.-login span {
    display: inline-block;
    margin: 0 1rem;
    width: 1px;
    height: 1.4rem;
    background: #777;
  }
  .headerCNVBlock.-lang span {
    display: inline-block;
    margin: 0 .4em;
  }
  .headerCNVBtn.-login a {
    width: 15rem;
    color: var(--color-white);
    background-color: var(--color-dark);
    font-size: 1.4rem;
  }
  .headerCNVBtn.-login a:hover {
    opacity: 1;
  }
  .headerCNVBlock.-login a:hover,
  .headerCNVBtn.-login a:hover div {
    text-decoration: underline;
  }
}


@media screen and (max-width: 767px) { /* SPSPSPSPSPSPSPSPSP */
  .menuOpen {
    overflow: hidden;
  }
  #header {
    height: 5.6rem;
  }
  .menuOpen #header {
    /*    background-color: var(--color-bg);*/
  }
  #header .headerInner {
    padding-left: 2rem;
    display: flex;
    align-items: flex-end;
    height: 5.6rem;
  }
  #header #siteLogo {
    width: 19.8rem;
    transition: opacity ease .1s;
  }
  body.menuOpen #header #siteLogo {}
  body.menuOpen #header #siteLogo a {
    opacity: 0;
    pointer-events: none;
  }
  body.menuOpen #header #siteLogo a img {}
  body.scrolling:not(.menuOpen) #header #siteLogo {
    opacity: 0;
    pointer-events: none;
  }
  #header .menuBtn {
    position: absolute;
    top: 0;
    right: 0;
    width: 5.6rem;
    height: 5.6rem;
    z-index: 101;
    background-color: var(--color-base);
    cursor: pointer;
  }
  #header .menuBtn span {
    position: absolute;
    top: 2.7rem;
    left: 1.6rem;
    width: 2.4rem;
    height: 1px;
    background-color: var(--color-white);
  }
  #header .menuBtn span:before, #header .menuBtn span:after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--color-white);
    transition: var(--transition-trf);
  }
  #header .menuBtn span:before {
    top: -.5rem;
  }
  #header .menuBtn span:after {
    bottom: -.5rem;
  }
  .menuOpen #header .menuBtn span {
    background-color: transparent;
  }
  .menuOpen #header .menuBtn span:before {
    top: 0;
    transform: rotate(45deg);
  }
  .menuOpen #header .menuBtn span:after {
    bottom: 0;
    transform: rotate(-45deg);
  }
  #globalNavi {
    position: fixed;
    /*    top: 5.6rem;*/
    top: 0;
    right: -120%;
    width: 100%;
    /*    height: calc(100% - 5.6rem);*/
    height: 100%;
    z-index: 100;
    overflow: auto;
    font-size: 1.4rem;
    background-color: var(--color-bg);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: var(--transition-all);
  }
  .menuOpen #globalNavi {
    right: 0;
    opacity: 1;
    visibility: visible;
    pointer-events: all;
  }
  #globalNavi .navBody {
    margin-top: 5.6rem;
    padding: 3rem 2rem;
  }
  #globalNavi .primaryCont {}
  #globalNavi .primaryCont + .primaryCont {
    margin-top: 1.6em;
  }
  #globalNavi .primaryContLabel {
    /*    padding-left: 1.6rem;*/
    display: inline-block;
    position: relative;
    line-height: 1;
    font-family: var(--font-en);
    letter-spacing: 0;
    font-size: 1.6rem;
    font-weight: bold;
  }
  /*  #globalNavi .primaryContLabel:before {
    content: '';
    border-radius: 50%;
    position: absolute;
    top: .6em;
    left: 0;
    width: 6px;
    height: 6px;
    background-color: var(--color-r);
  }*/
  #globalNavi .primaryContLabel.acc {
    padding-right: 2.7rem;
  }
  #globalNavi .primaryContLabel.acc > a {
    pointer-events: none;
  }
  #globalNavi .primaryContLabel.acc:after {
    content: '';
    display: block;
    position: absolute;
    top: .5rem;
    right: 0;
    width: 1.2rem;
    height: .6rem;
    background: url(../images/common/icon_acc_g.svg) 0 0 / contain no-repeat;
    transition: transform ease .3s;
  }
  #globalNavi .primaryContLabel.acc.accopen:after {
    transform: rotate(180deg);
  }
  #globalNavi .secondaryContLabel, #globalNavi .secondaryContImg, #globalNavi .primaryCont dl dt {
    display: none;
  }
  #globalNavi .primaryCont ul, #globalNavi .primaryCont dl {
    padding: 2em 0 1.5em;
    display: none;
  }
  #globalNavi .primaryCont ul li, #globalNavi .primaryCont dl dd {
    padding-left: 1.8rem;
    position: relative;
  }
  #globalNavi .primaryCont ul li + li, #globalNavi .primaryCont dl dd + dd {
    margin-top: 1.2em;
  }
  #globalNavi .primaryCont ul li:before, #globalNavi .primaryCont dl dd:before {
    content: '';
    border-radius: 100%;
    display: block;
    position: absolute;
    top: 0.65em;
    left: 0;
    width: 1rem;
    height: 1px;
    opacity: 0.2;
    background-color: var(--color-base);
  }
  
  
  .headerCNV {
    margin-top: 4rem;
    color: #777;
  }
  .headerCNV a {
    color: var(--color-white);
  }
  .scrolling:not(.menuOpen) .headerCNV {
    display: none;
  }
  .headerCNV ul {
    display: flex;
    width: 100%;
  }
  .headerCNVBlock.-login {
    background-color: var(--color-dark);
    flex: 1;
  }
  .headerCNVBlock.-lang {
    background-color: #343434;
    width: 7.8rem;
  }
  .headerCNVBtn {
  }
  .headerCNVBlock > div, .headerCNVBtn a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 15rem;
    height: 5rem;
    color: var(--color-white);
    font-size: 1.3rem;
    font-weight: 300;
    transition: opacity ease .3s;
  }
  .headerCNVBlock.-login > div {
    width: auto;
  }
  .headerCNVBlock.-lang > div {
    width: 8rem;
    color: #777;
  }
  .headerCNVBlock.-lang a {
    color: #777;
  }
  .headerCNVBlock.-lang .current {
    color: var(--color-white);
  }
  .headerCNVBlock.-login span {
    display: inline-block;
    margin: 0 1rem;
    width: 1px;
    height: 1.4rem;
    background: #777;
  }
  .headerCNVBlock.-lang span {
    display: inline-block;
    margin: 0 .4em;
  }
  .headerCNVBtn a {
    width: 15rem;
    color: var(--color-white);
    background-color: var(--color-dark);
    font-size: 1.3rem;
  }
  .headerCNVBtn.-login a:hover div {
    text-decoration: underline;
  }
}

/* =============================================================================
 common footer
============================================================================= */
#footer {
/*  margin-top: 12rem;*/
  position: relative;
  color: var(--color-white);
  background-color: #2b2b2b;
}
.gopagetop {
  display: block;
  position: fixed;
  right: 2.7rem;
  bottom: 2.7rem;
  z-index: 200;
}
.menuOpen .gopagetop {
  display: none !important;
}
.gopagetop a {
  display: block;
  position: relative;
  width: 7rem;
  height: 7rem;
}

@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
  #footer {
    margin-top: 0;
  }
  .gopagetop {
    right: 1rem;
    bottom: 2rem;
  }
  .gopagetop a {
    width: 5rem;
    height: 5rem;
  }
}

#footer .footerCont {
  padding: 0;
  position: relative;
  display: flex;
  flex-flow: row-reverse;
  justify-content: space-between;
  width: 100%;
  background-color: #262626;
}
#footer .footerInfo {
  padding: 15.5rem 0 0 12.5rem;
  width: 50rem;
  min-height: 66rem;
  background-color: var(--color-dark);
}
#footer .companyLogo {
  margin-bottom: 4.6rem;
  width: 26rem;
}
#footer .companyAddless {
  font-size: 1.4rem;
  line-height: calc(30/14);
}
#footer .footerNav {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  /*  justify-content: space-between;*/
  width: var(--width-content);
  padding: 15rem 0 15rem 15.4rem;
}
#footer .footerNav a:hover {
  text-decoration: underline;
}
#footer .footerNav .privacy {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 0 0 14.9rem 17rem;
  font-size: 1.3rem;
}
#footer .footerNav .privacy a {
  color: rgba(255, 255, 255, .5);
}
#footer .footerNav > ul {}
#footer .footerNav > ul:nth-child(1) {
  width: 31rem;
}
#footer .footerNav > ul:nth-child(2) {
  width: 20rem;
}
#footer .footerNav > ul:nth-child(3) {
  width: 20rem;
}
#footer .footerNav > div.privacy {
  width: 100%;
}
#footer .footerNav > ul > li {
  font-size: 1.5rem;
  margin-bottom: 2em;
}
/*#footer .footerNav > ul > li + li {
  margin-top: 1em;
}
*/
#footer .footerNav > ul > li .catLabel {
  padding-left: 1.6rem;
  position: relative;
  line-height: 1.45;
  font-family: var(--font-en);
  letter-spacing: 0;
  font-size: 1.7rem;
  font-weight: bold;
}
#footer .footerNav>ul>li .catLabel:not(.noacc) a {
  pointer-events: none;
}


/*#footer .footerNav > ul > li .catLabel:before {
  content: '';
  border-radius: 100%;
  display: block;
  position: absolute;
  top: 0.6em;
  left: 0;
  width: 6px;
  height: 6px;
  background-color: var(--color-r);
}*/
#footer .footerNav > ul > li .catLabel + ul {
  margin-top: 3rem;
}
#footer .footerNav > ul > li ul {
  margin-left: 1.6rem;
}
#footer .footerNav > ul > li ul li {
  padding-left: 2rem;
  position: relative;
  line-height: 1.5;
  color: rgba(255, 255, 255, 1);
  font-size: 1.3rem;
}
#footer .footerNav > ul > li ul li:before {
  content: '';
  border-radius: 100%;
  display: block;
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 1rem;
  height: 1px;
  background-color: rgba(255, 255, 255, .2);
}
#footer .footerNav > ul > li ul li + li {
  margin-top: 1.2rem;
}
#footer .footerNav > ul > li ul li a[target="_blank"] {
  padding-right: 2rem;
  width: 1.1rem;
  height: 0.8rem;
  background: url(../images/common/icon_other.svg) center right no-repeat;
  background-size: 1.1rem .8rem;
}
#footer .copyright {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 0 12.5rem 14.9rem;
  color: rgba(255, 255, 255, .2);
  font-size: 1.4rem;
  font-family: var(--font-en);
}
@media screen and (min-width: 768px) {
  #footer .footerNav > ul > li ul {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  #footer .footerCont {
    padding: 0;
    flex-direction: column;
  }
  #footer .footerNav {
    padding: 5rem 1rem 0;
    display: block;
    width: auto;
  }
  #footer .footerNav .privacy {
    position: static;
    padding: 4.5rem 1rem 6rem;
    font-size: 1.2rem;
  }
  #footer .footerNav > ul {
    width: auto !important;
  }
  #footer .footerNav > ul > li {}
  #footer .footerNav > ul > li {
    margin-bottom: 1.7rem;
    margin-top: 1em !important;
  }
  #footer .footerNav > ul > li .catLabel {
    display: inline-block;
  font-size: 1.6rem;
  }
  #footer .footerNav > ul > li .catLabel:not(.noacc) {
    padding-right: 2.5rem;
    position: relative;
  }
  #footer .footerNav > ul > li .catLabel:not(.noacc):after {
    content: '';
    display: block;
    position: absolute;
    top: 1rem;
    right: 0;
    width: 1.2rem;
    height: .6rem;
    background: url(../images/common/icon_acc.svg) 0 0 / contain no-repeat;
    transition: transform ease .3s;
  }
  #footer .footerNav > ul > li .catLabel:not(.noacc).accopen:after {
    transform: rotate(180deg);
  }
  #footer .footerNav > ul > li ul {
    display: none;
  }
  #footer .footerNav > ul > li .catLabel + ul {
    margin-top: 3rem;
    margin-bottom: 2em;
  }
  #footer .footerNav > ul > li ul li {
    font-size: 1.3rem;
  }
  #footer .footerNav > ul > li ul li:before {
    content: '';
    border-radius: 100%;
    display: block;
    position: absolute;
    top: 0.75em;
    left: 0;
    width: 1rem;
    height: 1px;
    background-color: rgba(255, 255, 255, .7);
  }
  #footer .footerNav > ul > li ul li + li {
    margin-top: 1.4rem;
  }
  #footer .footerInfo {
    padding: 6rem 2rem;
    width: 100%;
    min-height: initial;
    min-height: auto;
  }
  #footer .companyLogo {
    margin-bottom: 3.2rem;
    width: 18.8rem;
  }
  #footer .companyAddless {
    font-size: 1.2rem;
  }
  #footer .copyright {
    position: static;
    padding: 6rem 0 0;
    text-align: left;
    font-size: 1.2rem;
  }
}

/* =============================================================================
 Common Block Styles
============================================================================= */
.anchor {
  margin-top: -10rem !important;
  padding-top: 10rem !important;
}
@media screen and (max-width: 767px) {
  .anchor {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}
a.link {
  color: #2B7AE5;
  text-decoration: underline;
  transition: var(--transition-all);
}
a.link:hover {
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  a.-on {
    transition: var(--transition-op);
  }
  a.-on:hover {
    opacity: 0.7;
  }
}

/* topic path */
.topicPath {
  margin: 5.6rem auto 2rem;
  width: var(--width-screen);
}
.heroPage .topicPath {
  position: absolute;
  z-index: 1;
  top: 16.2rem;
  right: 8rem;
  margin-top: 0;
}

.topicPath ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  line-height: 1.416;
  font-size: 1.2rem;
}
.topicPath ul li {
  color: #a0a0a0;
}
  .heroPage .topicPath ul li {
    color: #C9C9C9;
  }
.topicPath ul li:before {
  margin: 0 .8em;
  content: ' / ';
  color: var(--color-base);
  opacity: 0.3;
}
  .heroPage .topicPath ul li:before {
    color: var(--color-white);
  }
.topicPath ul li:first-child::before {
  display: none;
}
.topicPath ul li a {
  color: var(--color-base);
}
  .heroPage .topicPath ul li a {
    color: var(--color-white);
  }


@media screen and (max-width: 767px) {
  .topicPath {
    margin: 2.1rem auto 2.1em 2rem;
    width: calc(100% - 2rem);
  }
  .heroPage .topicPath {
    display: none;
  }
  .topicPath ul {
    padding-bottom: 1rem;
    flex-wrap: nowrap;
    justify-content: flex-start;
    white-space: nowrap;
    overflow: auto;
    font-size: 1.1rem;
  }
}


.container {
  margin-left: auto;
  margin-right: auto;
  width: var(--width-base);
}
@media screen and (max-width: 767px) {
  .container {
    width: auto;
  }
}
/* section */
.-flex {
  display: flex;
  flex-wrap: wrap;
}
.section {
  margin-left: auto;
  margin-right: auto;
  padding-top: 8rem;
  padding-bottom: 8rem;
  width: var(--width-base);
}
/*.-flex .section {
  width: 100%;
}*/
.-fluid .section {
  width: auto;
}
.bgW {
  background-color: var(--color-white);
}
.bgG {
  background-color: var(--color-bg);
}


/* content */
.content {
  margin-left: auto;
  margin-right: auto;
}
.content.article { /* news */
  width: 80rem;
}

@media screen and (min-width: 768px) {
/*  .-flex .content, .content.-large {
    width: var(--width-flexcont);
  }
  .-flex .section {
    padding-bottom: 10rem;
  }
  .-flex .parallelNav ~ .contents .section {
    padding-top: 10rem;
  }*/
}
@media screen and (max-width: 767px) {
  .section {
    padding-top: 5rem;
    width: auto;
  }
  .newsDetailContents .section {
    padding-top: 2rem;
    padding-bottom: 0;
  }
  .content.article { /* news */
    width: var(--width-spbase);
  }
}

.article img {
  width: 100%;
}


/* title */
.bdrTitle {
  margin-bottom: 4rem;
  padding-left: 6.2rem;
  position: relative;
  line-height: 1.428;
  font-size: 2.8rem;
  font-weight: bold;
}
.bdrTitle:before {
  content: '';
  display: block;
  position: absolute;
  top: .714em;
  left: 0;
  width: 4rem;
  height: 2px;
  background-color: var(--color-r);
}
@media screen and (max-width: 767px) {
  .bdrTitle {
    margin-bottom: 2.5rem;
    padding-left: 3.2rem;
    line-height: 1.5;
    font-size: 2rem;
  }
  .bdrTitle:before {
    width: 2rem;
  }
}
/* ============================
btn 
============================ */
.btn.-centerBtn {
  text-align: center;
}
.btn.-leftBtn {
  text-align: left;
}
.btn.-rightBtn {
  text-align: right;
}
.btn > span,
.btn a {
  display: inline-flex;
  position: relative;
}
.btn.-normalBtn > span,
.btn.-normalBtn a {
  align-items: center;
}
.btn.-black a {
  color: var(--color-white);
  background-color: var(--color-base);
}
.btn.-red a {
  color: var(--color-white);
  background-color: var(--color-red);
}
.btnIcon {
  margin-right: 1.2rem;
}
.-doc .btnIcon {
  width: 2.4rem;
}
.-mail .btnIcon {
  width: 3rem;
}
.-tel .btnIcon {
  width: 3.6rem;
}

.-txtBtn.-lg a {
  padding: 0 12rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 7rem;
  background-color: transparent;
  transition: background-color ease .3s;
  border: 1px #dedede solid;
  border-radius: 7rem;
}

.btn.-squareBtn.-centered {
  display: flex;
  justify-content: center;
}
.btn.-squareBtn a {
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60rem;
  height: 10rem;
  color: var(--color-white);
  background-color: var(--color-red);
  transition: background-color ease .3s;
  font-size: 1.9rem;
}
.btn.-squareBtn a:hover {
  background-color: #a0000d;
}

.btn.-accBtn {
  padding: 1.5rem;
  color: var(--color-white);
  background-color: #484848;
  text-align: center;
  transition: var(--transition-all);
  font-size: 1.6rem;
  line-height: 2.1rem;
}
.btn.-accBtn span {
  display: none;
}
.btn.-accBtn:hover {
  background-color: #000;
}
.btn.-accBtn:before {
  margin-right: 1.6rem;
  display: inline-block;
  content: 'もっと見る';
}
.btn.-accBtn.active:before {
  content: '閉じる';
}
.btn.-accBtn:after {
  content: '';
  display: inline-block;
  position: relative;
  top: -.2rem;
  width: 1.2rem;
  height: .8rem;
  background: url(../images/common/icon_accbtn.svg) 0 0 / contain no-repeat;
  transition: transform ease .3s;
}
.btn.-accBtn.active:after {
  transform: rotate(180deg);
}

.btnBlock {
  padding: 8rem 0 10rem;
}
.btnArrow {
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: calc(50% - 1.8rem);
  width: 3.6rem;
  height: 3.6rem;
  background-color: transparent;
  transition: background-color ease .3s;
}
.btnArrow.-lg {
  top: calc(50% - 2.5rem);
  width: 7rem;
  height: 7rem;
  border: 1px #dedede solid;
}
.btnArrow.-plain {
  top: calc(50% - 0.9rem);
  width: 1.8rem;
  height: 0.6rem;
  border: none;
}
.btnArrow.-red:not(.-plain) {
  border: 1px var(--color-red) solid;
}
.btnArrow.-white:not(.-plain) {
  border: 1px var(--color-white) solid;
}
.btnArrow.-white:not(.-plain):hover {
  border: 1px transparent solid;
}
.btnArrow:before {
  content: '';
  display: block;
  width: 1.8rem;
  height: 0.6rem;
  background: url(../images/common/icon_arrow.svg) 0 0 / contain no-repeat;
  transition: transform ease .3s;
}
.btnArrow.-lg:before {
  width: 1.8rem;
  height: 0.6rem;
}
.btnArrow.-white:before {
  background-image: url(../images/common/icon_arrow_w.svg);
}
.btnArrow.-up:before {
  transform: rotate(270deg);
}
.btnArrow.-rev:before {
  transform: rotate(180deg);
}

.btn.-normalBtn .btnTxt {
  font-size: 1.7rem;
  font-weight: bold;
}
.btn.-normalBtn a:hover .btnTxt {}
.btn.-normalBtn .btnArrow {
  margin-left: 2rem;
  position: static;
}
.btn.-normalBtn .btnArrow.-rev {
  margin-left: 0;
  margin-right: 2rem;
}

@media screen and (min-width: 768px) {
  .btn button,
  .btn a {
    transition: opacity ease .3s;
  }
  .btnArrow.-lg:hover {
    background-color: var(--color-red);
  }
  .-txtBtn button:hover,
  .-txtBtn a:hover {
    color: var(--color-white);
    background-color: var(--color-red);
  }
  button:hover .btnTxt,
  a:hover .btnTxt {
    text-decoration: none;
  }
  button:hover .btnArrow,
  a:hover .btnArrow {
    background-color: var(--color-red);
  }
  button:hover .btnArrow.-plain,
  a:hover .btnArrow.-plain {
    background-color: transparent;
  }
  button:hover .btnArrow:before,
  a:hover .btnArrow:before {
    transform: translateX(50%);
    background-image: url(../images/common/icon_arrow_w.svg);
  }
  button:hover .btnArrow.-rev:before,
  a:hover .btnArrow.-rev:before {
    transform: rotate(180deg) translateX(50%);
  }
  button:hover .btnArrow.-up:before,
  a:hover .btnArrow.-up:before {
    transform: rotate(270deg) translate(50%,0);
  }
  button:hover .btnArrow.-plain:before,
  a:hover .btnArrow.-plain:before {
    background-image: url(../images/common/icon_arrow.svg);
  }
  button:hover .btnArrow.-white:before,
  a:hover .btnArrow.-white:before {
    background-image: url(../images/common/icon_arrow_w.svg);
  }
}
@media screen and (max-width: 767px) {
  .btn.-squareBtn.-centered {
  }
  .btn.-squareBtn a {
    padding: 0;
    width: calc( 100% - 4rem);
    height: 6.4rem;
    font-size: 1.6rem;
  }
  .btn.-squareBtn a:hover {
  }
  .btn.-accBtn {
    padding: 1.4rem;
    font-size: 1.4rem;
    line-height: 1.9rem;
  }
  .btn.-accBtn:hover {
  }
  .btn.-accBtn:after {
    top: -0.1rem;
  }
  
  .btnBlock {
    padding: 7rem 0 8rem;
  }
  .btn.-normalBtn .btnTxt {
    font-size: 1.4rem;
  }
  .btn.-normalBtn .btnArrow {
    margin-left: 1.6rem;
  }
  .btnArrow {
    top: calc(50% - 1.5rem);
    width: 3rem;
    height: 3rem;
  }
  .btnArrow:before {
    width: 1rem;
    height: .8rem;
  }
  .btnArrow.-lg {
    top: calc(50% - 1.9rem);
    width: 5rem;
    height: 5rem;
  }
  .btnArrow.-lg:before {
    width: 1.8rem;
    height: 0.6rem;
  }
  .btnArrow.-plain {
    top: calc(50% - 0.3rem);
    width: 1.8rem;
    height: 0.6rem;
  }
  .btnArrow.-plain:before {
    width: 1.8rem;
    height: 0.6rem;
  }
  
  .-txtBtn.-lg a {
    padding: 0 5rem;
    height: 5rem;
  }
}

/* ============================
Tabmenu 
============================ */
.tabmenu.-horizontal {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
}
.tabmenu li {
  margin-bottom: 2rem;
  padding-top: .4rem;
  padding-bottom: .4rem;
  padding-left: 2.4rem;
  color: #9d9d9d;
  font-family: var(--font-en);
  font-size: 1.6rem;
  letter-spacing: 0;
}
.tabmenu li:hover {
  text-decoration: underline;
}
.tabmenu li.active {
  color: var(--color-base);
  font-weight: bold;
  text-decoration: underline;
  position: relative;
}
.tabmenu li.active:before {
  background: url("../images/common/icon_point.svg") 0 0 no-repeat;
  background-size: .8rem .8rem;
  display: block;
  width: .8rem;
  height: .8rem;
  position: absolute;
  top: calc( 50% - .4rem );
  left: 0;
  content: '';
}


.tabmenu.-horizontal li {
  margin-right: 2em;
  margin-bottom: 0;
  display: -webkit-flex;
  display: flex;
  align-items: center;
}
.tabmenu.-horizontal li:last-of-type {
  margin-right: 0;
}
.tabcontent > div {
  display: none;
}
.tabcontent > div:first-of-type {
  display: block;
}
@media screen and (max-width: 767px) {
  .tabmenu.-horizontal {
    margin-top: -2rem;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .tabmenu li {
    margin-left: 1rem;
    margin-bottom: 1rem;
    padding-top: .4rem;
    padding-bottom: .4rem;
    padding-left: 1.6rem;
    color: #9d9d9d;
    font-size: 1.4rem;
  }
  .tabmenu li:first-of-type {
    margin-left: 0;
  }
  .tabmenu li.active {
    background-position: 0.4rem 0.8rem;
    background-size: 0.6rem 0.6rem;
  }
  .tabmenu.-horizontal li {
      font-size: 1.3rem;
      margin-right: .3rem;
      margin-left: .3rem;
  }
}


/* ============================
selectmenu 
============================ */
.selectmenu.-horizontal {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  
}
.selectmenu.-horizontal dl {
  margin-right: 5rem;
}
.selectmenu.-horizontal dl:last-of-type {
  margin-right: 0;
}
.selectmenu.-horizontal dl {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
}
.selectmenu.-horizontal dl dt {
  margin-right: 2rem;
}
@media screen and (max-width: 767px) {
  .selectmenu.-horizontal {
    display: table;
    width: 100%;
  }
  .selectmenu.-horizontal dl {
    display: table-row;
    margin-right: 0;
  }
  .selectmenu.-horizontal dl dt {
    display: table-cell;
    text-align: right;
    padding-bottom: 1rem;
    padding-right: 2rem;
    min-width: 7.5em;
  }
  .selectmenu.-horizontal dl dd {
    display: table-cell;
    padding-bottom: 1rem;
  }
  .selectmenu.-horizontal .selectbox {
    max-width: 100%;
    width: 100%;
  }
}

/* case box Portfolio NOW */
.caseBox {
  width: 36rem;
}
.caseBox a {
  padding-bottom: 2.8rem;
  display: block;
  width: 100%;
  height: 100%;
}
.caseBox a > *:not(.caseImg) {}

.caseImg {
  padding: 3.7rem 4.1rem;
  margin-bottom: 2.7rem;
  transition: var(--transition-op);
  background: var(--color-white);
  
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
}
.caseTitle {
  margin-bottom: 1.5rem;
  line-height: 1.2;
  font-size: 2rem;
  font-weight: bold;
}
.caseTxt p {
  line-height: 1.5454;
  font-size: 2.2rem;
  font-weight: bold;
}
.caseBox .articleCats {
  margin-top: 1.5rem;
}
.caseBox .articleCats li {
  font-size: 1.4rem;
  line-height: calc(26/14);
}
.caseBox .articleCats li {
  display: -webkit-flex;
  display: flex;
}
.caseBox .articleCats li span:last-of-type {
  flex: 1;
}
.caseBox .articleCats li.classification_c span:first-of-type {
  width: 3.7em;
  min-width: 37px;
}
.caseBox .articleCats li.business span:first-of-type {
  width: 5.7em;
  min-width: 57px;
}
.caseBox .articleCats li.approach_c span:first-of-type {
  width: 6.7em;
  min-width: 67px;
}
.caseBox .articleCats li.fund_c span:first-of-type {
  width: 5.7em;
  min-width: 57px;
}
.caseBox .articleCats li.status_c span:first-of-type {
  width: 6.7em;
  min-width: 67px;
}
@media screen and (min-width: 768px) {
  .caseBox a:hover .caseImg {
    opacity: 0.7;
  }
  .caseBox a:hover p {
/*    text-decoration: underline;*/
  }
}
@media screen and (max-width: 767px) {
  .caseBox {
    width: 30rem;
  }
  .caseImg {
    margin-bottom: 2rem;
  }
  .caseBox a > *:not(.caseImg) {}
  .caseTitle {
    margin-bottom: 1rem;
    font-size: 1.7rem;
    line-height: calc(27/17);
  }
  .caseTxt p {
    line-height: 1.5;
    font-size: 2rem;
  }
  .caseBox .articleCats {
    margin-top: 1.2rem;
  }
  .caseBox .articleCats li {
    font-size: 1.3rem;
    line-height: calc(23/13);
  }
}

/* member box */
.memberBox {
  width: 38rem;
  margin-bottom: 4rem;
}
.memberBox a {
  display: block;
  width: 100%;
  height: 100%;
}
.memberBox .memberImg {
  margin-bottom: 2.3rem;
}
.memberBox .memberTitle {
  font-size: 1.3rem;
  font-family: var(--font-en);
  color: var(--color-red);
}
.memberBox .memberName {
  margin-top: 1rem;
  font-size: 2.2rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .memberBox a:hover .memberImg {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .memberBox {
    width: 15.8rem;
  }
  .memberBox .memberImg {
    margin-bottom: 1rem;
  }
  .memberBox .memberTitle {
    font-size: 1.1rem;
  }
  .memberBox .memberName {
    margin-top: .4rem;
    font-size: 1.7rem;
    line-height: calc(32/17);
  }
}

.memberNav {
  margin-bottom: 4.5rem;
  padding-left: 12.5rem;
  padding-right: 12.5rem;
}
@media screen and (max-width: 767px) {
  .memberNav {
    margin-bottom: 3rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .memberNav .tabmenu.-horizontal li {
    margin-bottom: .5rem;
  }
}
.memberList {
  padding-bottom: 7rem;
  width: 125rem;
  margin: 0 auto;
}
.memberList ul {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  gap: 4rem 5.5rem;
}
.memberList li {
}
@media screen and (max-width: 767px) {
  .memberList {
    padding-bottom: 0;
    width: 33.5rem;
    margin: 0 auto;
  }
  .memberList ul {
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
  }
  .memberList li:nth-of-type(odd) {
    margin-right: 1.9rem;
  }
}

/* slick */
.slick-arrow {
  margin: 0;
  padding: 0;
  border: 1px var(--color-gray) solid;
  border-radius: 100%;
  display: flex !important;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 7rem;
  height: 7rem;
  background-color: transparent;
  font-size: 0;
  color: var(--color-white);
  appearance: none;
  transition: background-color ease .3s;
}
.slick-arrow:before {
  content: '';
  display: block;
  width: 1.8rem;
  height: 0.6rem;
  background: url(../images/common/icon_arrow.svg) 0 0 / contain no-repeat;
  transition: transform ease .3s;
}
.slick-prev:before {
  transform: rotate(180deg);
}
.slick-disabled {
  display: flex !important;
  opacity: .2;
}
@media screen and (min-width: 768px) {
  .slick-arrow:hover {
    border-color: transparent;
    background-color: var(--color-red);
  }
  .slick-arrow:hover:before {
    transform: translateX(50%);
    background-image: url(../images/common/icon_arrow_w.svg);
  }
  .slick-prev:hover:before {
    transform: rotate(180deg) translateX(50%);
  }
}
@media screen and (max-width: 767px) {
  .slick-arrow {
    width: 5rem;
    height: 5rem;
  }
  .slick-arrow:before {
    width: 1.8rem;
    height: 0.6rem;
  }
}

/* listed news */
.listedNews {
  margin-top: 3.5rem;
  display: flex;
  line-height: 1.875;
  font-size: 1.6rem;
}
.listedNews + .listedNews {}
.listedNewsDate {
  width: 11.7rem;
}

.listedNewsCat {
  width: 18rem;
}
.categoryIcon {
  text-align: center;
  min-width: 15rem;
  display: inline-block;
  font-family: var(--font-en);
  letter-spacing: 0;
  font-size: 1.3rem;
  font-weight: bold;
  border: 1px var(--color-gray) solid;
  border-radius: 1.5rem;
  padding: .3rem 1rem;
}

.listedNewsTitle {
  width: calc(100% - 26.7rem);
  font-size: 1.7rem;
}
@media screen and (min-width: 768px) {
  .listedNewsTitle a:hover {
    text-decoration: underline;
  }
}
@media screen and (max-width: 767px) {
  .listedNews {
    margin-top: 2.4rem;
    flex-wrap: wrap;
    align-items: center;
    line-height: 1.733;
    font-size: 1.4rem;
  }
  .listedNews + .listedNews {
/*    margin-top: 5.5rem;*/
    margin-top: 3rem;
  }
  .listedNewsDate {
    margin-right: 2rem;
    width: auto;
  }
  .listedNewsCat {
    width: 11rem;
  }
  .listedNewsTitle {
    margin-top: .9rem;
    width: 100%;
    font-size: 1.4rem;
    line-height: calc(24/14);
  }
}

/* COMMON BTN NOW */
.heroBNRBtnList {
  width: 137.5rem;
  display: -webkit-flex;
  display: flex;
  background-color: var(--color-white);
}
.heroBNRBtn {
  width: 50%;
  height: 58rem;
  position: relative;
  color: var(--color-white);
  display: -webkit-flex;
  display: flex;
  align-items: center;
}
.heroBNRBtn.-lg {
  width: 100%;
  height: 43rem;
}
.heroBNRBtn.-company {
  background: var(--color-base) url("../images/top/img_bnr_company.png") center center no-repeat;
  background-size: 100% auto;
}
.heroBNRBtn.-company.-lg {
  background-image: url("../images/top/img_bnr_company_lg.png");
}
.heroBNRBtn.-recruit {
  background: var(--color-base) url("../images/top/img_bnr_recruit.png") center center no-repeat;
  background-size: 100% auto;
}
.heroBNRBtn.-job {
  background: var(--color-base) url("../images/recruit/img_bnr_job.png") center center no-repeat;
  background-size: 100% auto;
}
.heroBNRBtn.-entry {
  background: var(--color-base) url("../images/recruit/img_bnr_entry.png") center center no-repeat;
  background-size: 100% auto;
}
.heroBNRBtn.-entry.-lg {
  background-image: url("../images/recruit/img_bnr_entry_lg.png");
}
.heroBNRBtn:after {
  width: 100%;
  height: 58rem;
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0;
}
.heroBNRBtn.-lg:after {
  height: 43rem;
}
.heroBNRBtn:hover:after {
  background-color: #000;
  opacity: 0.3;
}
.heroBNRBtnTxt {
  margin-left: 8rem;
  position: relative;
  z-index: 2;
}
  .heroBNRBtn.-lg .heroBNRBtnTxt {
    margin-left: 12.5rem;
  }
.heroBNRBtn .btnArrow {
  position: static;
}
.heroBNRBtn:hover .btnArrow {
  border-color: transparent;
}
.heroBNRBtnLabel {
  margin-bottom: 1.2rem;
  color: var(--color-red);
  font-family: var(--font-en);
  letter-spacing: 0;
  font-size: 1.4rem;
  font-weight: bold;
}
.heroBNRBtnTitle {
  margin-bottom: 3.1rem;
  font-size: 3.6rem;
  font-weight: bold;
}
.heroBNRBtnLead {
  margin-bottom: 4.3rem;
  line-height: 1.875;
}
@media screen and (max-width: 767px) {
  .heroBNRBtnList {
    width: 35.5rem;
    max-width: 100%;
    flex-direction: column;
  }
  .heroBNRBtn,
  .heroBNRBtn.-lg {
    width: 100%;
    height: 30rem;
  }
  .heroBNRBtn.-company.-lg {
    background-image: url("../images/top/img_bnr_company.png");
  }
  .heroBNRBtn.-entry.-lg {
    background-image: url("../images/recruit/img_bnr_entry.png");
  }
  .heroBNRBtn:after,
  .heroBNRBtn.-lg:after {
    height: 30rem;
  }
  .heroBNRBtnTxt {
    margin-left: 2rem;
    margin-right: 2rem;
  }
    .heroBNRBtn.-lg .heroBNRBtnTxt {
      margin-left: 2rem;
    }
  .heroBNRBtn .btnArrow {}
  .heroBNRBtn:hover .btnArrow {}
  .heroBNRBtnLabel {
    font-size: 1.1rem;
  }
  .heroBNRBtnTitle {
    margin-bottom: 2.1rem;
    font-size: 2.3rem;
  }
  .heroBNRBtnLead {
    margin-bottom: 2.4rem;
    font-size: 1.3rem;
    line-height: calc(23/13);
  }
  .heroBNRBtnLead p br {
    display: none;
  }
}
.footContactBNR {
  background: url("../images/top/img_contact.png") center center no-repeat;
  background-size: auto 100%;
  width: 100%;
  height: 55rem;
  display: -webkit-flex;
  display: flex;
  flex-wrap: nowrap;
  padding: 13rem 12.5rem;
  align-items: center;
}
.footContactBNRText {
  margin-bottom: 1.3rem;
  width: calc(100% - 29rem);
}
.footContactBNRHeadline {
  font-family: var(--font-en);
  letter-spacing: 0;
  font-size: 5.4rem;
  font-weight: bold;
}
.footContactBNRTagline {
  margin-top: 2rem;
  font-size: 2.2rem;
}
.footContactBNRBtn {
  width: 29rem;
}
.footContactBNRBtn a {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  text-align: center;
  justify-content: center;
  align-items: center;
  width: 29rem;
  height: 29rem;
  transition: var(--transition-all);
  background: transparent;
  border: 1px var(--color-white) solid;
  border-radius: 100%;
}
.footContactBNRBtn a:hover {
  border-color: var(--color-red);
  background: var(--color-red);
}
.footContactBNRBtn .btnLabel {
  width: 100%;
  font-family: var(--font-en);
  letter-spacing: 0;
  font-size: 1.4rem;
  font-weight: bold;
  color: var(--color-red);
  margin-top: 3rem;
  margin-bottom: .7rem;
}
.footContactBNRBtn a:hover .btnLabel {
  color: var(--color-white);
}
.footContactBNRBtn .btnTitle {
  width: 100%;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: calc(38/24);
  margin-bottom: 3.5rem;
}
.footContactBNRBtn .btnArrow {
  position: static;
  top: auto;
}
@media screen and (max-width: 767px) {
  .footContactBNR {
    background: url("../images/top/img_contact_sp.png") center center no-repeat;
    background-size: 100% auto;
    width: 100%;
    height: 40rem;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    padding: 5.6rem 2rem;
  }
  .footContactBNRText {
    width: 100%;
  }
  .footContactBNRHeadline {
    font-size: 3.2rem;
    line-height: calc(42/32);
  }
  .footContactBNRTagline {
    font-size: 1.6rem;
  }
  .footContactBNRBtn {
    margin: 0 0 0 auto;
    width: 15rem;
  }
  .footContactBNRBtn a {
    width: 15rem;
    height: 15rem;
    position: relative;
  }
  .footContactBNRBtn .btnLabel {
    font-size: 1.1rem;
    margin-top: 3rem;
    margin-bottom: .7rem;
  }
  .footContactBNRBtn a:hover .btnLabel {}
  .footContactBNRBtn .btnTitle {
    width: 100%;
    font-size: 1.6rem;
    line-height: calc(36/16);
    margin-bottom: 4.5rem;
  }
  .footContactBNRBtn .btnArrow {
    position: absolute;
    top: auto;
    bottom: 4rem;
  }
}

.articleCats li:last-child, .blogTags li:last-child {
  margin-right: 0;
}
.articleDate {
  font-size: 1.6rem;
  opacity: 0.5;
}
@media screen and (min-width: 767px) {
  .blogTags li a {
    transition: var(--transition-all);
  }
  .blogTags li a:hover {
    background-color: var(--color-white);
  }
}
@media screen and (max-width: 767px) {
  .articleCats, .blogTags {
    font-size: 1.3rem;
  }
  .blogTags li {}
  .blogTags li span, .blogTags li a {
    padding-bottom: 0.2rem;
  }
  .articleDate {
    font-size: 1.4rem;
  }
}
.articleTitle {
  margin-bottom: 8.5rem;
  line-height: calc(64/40);
  font-size: 4rem;
  font-weight: 500;
}
.articleData {
  margin-bottom: 2.4rem;
}
.articleData .articleDate {
  display: inline-block;
  margin-right: 3.4rem;
  line-height: 3rem;
}
.articleData .articleCat {
  display: inline-block;
}
.articleData .categoryIcon {
  padding: 0.6rem 2.3rem;
}



.articleVisual {
  margin-bottom: 8rem;
}
.articleVisualCaption {
  margin-top: 2rem;
  line-height: 1.882;
}

/* 記事詳細 不使用 */
.articleBody h2 {
  margin-bottom: 3.3rem;
  line-height: calc(46/28);
  font-size: 2.8rem;
  font-weight: 500;
}
.articleBody h3 {
  margin-bottom: 3.3rem;
  line-height: calc(40/24);
  font-size: 2.4rem;
  font-weight: 500;
}
.articleBody h4 {
  margin-bottom: 3.3rem;
  line-height: calc(32/17);
  font-size: 1.7rem;
  font-weight: bold;
}
.articleBody p, .articleBody dt, .articleBody dd {
  line-height: 1.882;
}
.articleBody li, .articleBody th, .articleBody td {
  line-height: 1.588;
}
.articleBody p, .articleBody table, .articleBody ul, .articleBody ol, .articleBody dl, .ariticleImg, .articleNotice, .articleQuote {
  margin-bottom: 8rem;
}
.articleBody img {
  width: 100%;
}
.articleBody a {
  color: var(--color-blue);
  text-decoration: underline;
}
.articleBody a[target="_blank"] {
  margin-right: 0.8rem;
  padding-right: 2rem;
  position: relative;
  background: url(../images/common/icon_blank.svg) right top .8rem / 1.6rem 1.2rem no-repeat;
}
.ariticleImg figcaption {
  margin-top: 2.4rem;
  line-height: calc(26/15);
  font-size: 1.5rem;
}
.articleCoumn {
  display: flex;
  justify-content: space-between;
}
.articleCoumn > * {
  width: 47.85%;
}
.articleNotice p {
  line-height: 1.666;
  color: #858585;
  font-size: 1.5rem;
}
.articleQuote {
  padding: 5rem 7.5rem;
  position: relative;
  background-color: var(--color-bg);
}
.articleBody .articleQuote > * {
  margin-bottom: 2rem;
}
.articleBody .articleQuote > *:last-child {
  margin-bottom: 0;
}
.articleQuote:before, .articleQuote:after {
  content: '“';
  position: absolute;
  line-height: 1.462;
  font-size: 5.4rem;
  font-weight: bold;
  opacity: 0.3;
}
.articleQuote:before {
  top: 2.5rem;
  left: 3.5rem;
}
.articleQuote:after {
  bottom: 2.5rem;
  right: 3.5rem;
  transform: rotate(180deg);
}
.articleBody li + li {
  margin-top: 1.4rem;
}
.articleBody ul li {
  padding-left: 2.5rem;
  position: relative;
}
.articleBody ul li:before {
  content: '';
  border-radius: 100%;
  display: block;
  position: absolute;
  top: .7em;
  left: .6rem;
  width: 0.6rem;
  height: 0.6rem;
  background-color: #858585;
}
.articleBody ol {
  counter-reset: num 0;
}
.articleBody ol li {
  padding-left: 2.5rem;
  position: relative;
}
.articleBody ol li:before {
  counter-increment: num;
  content: counter(num)'.';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.articleBody table {
  border-top: 1px solid #e2e2e2;
}
.articleBody table th, .articleBody table td {
  border-bottom: 1px solid #e2e2e2;
  padding: 2rem 0;
  vertical-align: middle;
}
@media screen and (min-width: 768px) {

}
@media screen and (max-width: 767px) {
  .articleTitle {
    margin-bottom: 6rem;
    font-size: 2.4rem;
    font-weight: bold;
  }
  .articleData {
    margin-bottom: 3rem;
  }
  .articleData .articleDate {
      margin-right: 2rem;
  }
  .articleVisual, .articleIndex {
    margin-bottom: 6rem;
  }
  .articleVisualCaption {
    margin-top: 1.5rem;
    line-height: 1.733;
  }
  .articleBody h2 {
    margin-bottom: 2.7rem;
    line-height: 1.5;
    font-size: 2rem;
  }
  .articleBody h3 {
    margin-bottom: 2.3rem;
    font-size: 1.7rem;
  }
  .articleBody h4 {
    line-height: 1.733;
    font-size: 1.5rem;
  }
  .articleBody p, .articleBody dt, .articleBody dd {
    line-height: 1.733;
  }
  .articleBody li, .articleBody th, .articleBody td {
    line-height: 1.4;
  }
  .articleBody p, .articleBody table, .articleBody ul, .articleBody ol, .articleBody dl, .ariticleImg, .articleNotice, .articleQuote {
    margin-bottom: 8rem;
  }
  .articleBody a[target="_blank"] {
    background-position: top right;
    background-size: 2.1rem 2.1rem;
  }
  .ariticleImg figcaption {
    margin-top: 2rem;
    line-height: 1.538;
    font-size: 1.3rem;
  }
  .articleCoumn {
    display: block;
  }
  .articleCoumn > * {
    width: auto;
  }
  .articleNotice p {
    line-height: 1.538;
    font-size: 1.3rem;
  }
  .articleQuote {
    padding: 3rem 4rem;
  }
  .articleQuote:before, .articleQuote:after {
    line-height: 1.625;
    font-size: 4.8rem;
  }
  .articleQuote:before {
    top: 1.2rem;
    left: .7rem;
  }
  .articleQuote:after {
    bottom: 1.2rem;
    right: .7rem;
  }
  .articleBody ul li:before {
    top: 0.6em;
  }
  .articleBody li + li {
    margin-top: .9rem;
  }
  .articleBody ul li {
    padding-left: 2rem;
  }
  .articleBody ol li {
    padding-left: 2rem;
  }
  .articleBody table th, .articleBody table td {
    padding: 1.4rem 0;
    vertical-align: top;
  }
}


.centeredLink {
  text-align: center;
}
.centeredLink a {
  padding-right: 7.2rem;
  display: inline-flex;
  align-items: center;
  position: relative;
  height: 5rem;
  line-height: 1.5;
  font-size: 1.8rem;
  font-weight: bold;
  font-feature-settings: "palt";
}
.centeredLink .btnArrow {
  right: 0;
}




/* =============================================================================
 Form Field
============================================================================= */
.field .selectbox {
  position: relative;
}
.field .selectbox:after {
  border-color: #46474b transparent transparent;
  border-style: solid;
  border-width: 0.8rem 0.6rem 0;
  content: "";
  display: block;
  height: 0;
  position: absolute;
  right: 2rem;
  top: 2.5rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 0;
  z-index: 1;
}
.field .selectbox option,
.field .selectbox option:checked {
  color: var(--color-base);
}
@media screen and (max-width: 767px) {
  .field .selectbox {
    margin-left: 0;
    display: inline-block;
  }
  .field .selectbox:after {
    top: 2.2rem;
  }
}

.field input[type="text"],
.field input[type="tel"], 
.field input[type="email"],
.field textarea {
  margin: 0 0 1.4rem;
  padding: 0 1.4rem;
  border: none;
  border-radius: 0;
  width: 100%;
  height: 6.4rem;
  background-color: var(--color-white);
  appearance: none;
  font-size: 1.7rem;
}
.field textarea {
  padding: 1.4rem;
  min-height: 29rem;
  font-family: var(--font-ja);
}
.field input::placeholder,
.field textarea::placeholder {
  color: #AEAEAE;
}

.field input.submit {
  display: inline-block;
  margin: 0;
  padding: 0;
  border: 0;
  width: 60rem;
  height: 10rem;
  color: var(--color-white);
  background: var(--color-base);
  font-size: 1.9rem;
  font-weight: normal;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  transition: var(--transition-all);
}
.field input.submit:hover {
  background: var(--color-black);
}

@media screen and (max-width: 767px) {
  .field input[type="text"],
  .field input[type="tel"], 
  .field input[type="email"],
  .field textarea {
    margin: 0 0 1.2rem;
    height: 5.6rem;
    font-size: 1.4rem;
  }
  .field input.submit {
    display: block;
    width: 100%;
    height: 6.4rem;
    font-size: 1.6rem;
  }
}



.form {
  padding-bottom: 7rem;
}
.form .message.confirm {
  margin-bottom: 5rem;
  padding: 2rem 0 0;
  text-align: center;
}
.form .message.entry {
  margin-bottom: 0;
  padding: 1.2rem 0 2rem;
  text-align: left;
  color: var(--color-red);
}
.form .message.privacy {
  margin-bottom: 0;
  padding: 1.2rem 0 3.2rem;
  text-align: center;
}
.form .privacyAgreement {
  margin-bottom: 5rem;
  text-align: center;
}
.form .field {
  padding-top: 2rem;
}
.form .formItem {
  margin-bottom: 5rem;
  width: 100%;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}
.form .formItem > .label {
  flex: 1;
}
.form .formItem label {
  position: relative;
  display: block;
  margin: 1.8rem 0;
  line-height: calc(27/20);
  font-size: 2rem;
  font-weight: bold;
}
.form .formItem > .label .required {
    position: absolute;
    top: 0;
/*    top: .5rem;*/
    right: 2rem;
}
.form .formItem > .data {
  width: 85rem;
  position: relative;
}
.form .formItem .notice {
  margin: 0 0 1.4rem;
}

.form .formCtrl {
  display: -webkit-flex;
  display: flex;
  width: 100%;
  align-items: center;
}
.form .formCtrl > .back {
  width: 32.5rem;
}
.form .formCtrl > .submit {
  flex: 1;
}

.form .formCtrl .backbtn {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  
}

@media screen and (max-width: 767px) {
  .form {
  padding-bottom: 0;
  }
  .form .message.confirm {
    margin-top: 2rem;
    margin-bottom: 2rem;
    padding: 0;
    text-align: left;
  }
  .form .message.entry {
    margin-bottom: 0;
    padding: 1.2rem 0 2rem;
    text-align: left;
  }
  .form .message.privacy {
    margin-bottom: 0;
    padding: 1.2rem 0 2.1rem;
    text-align: left;
  }
  .form .formItem {
    margin-bottom: 2.7rem;
    flex-direction: column;
  }
  .form .formItem label {
    margin: 1.2rem 0;
    line-height: calc(20/15);
    font-size: 1.5rem;
  }
  .form .formItem > .label .required {
    position: static;
  }
  .form .formItem > .data {
    width: 100%;
  }
  .form .formCtrl {
    flex-direction: column-reverse;
  }
  .form .formCtrl > .back {
    padding: 3rem 0;
    width: 100%;
  }
  .form .formCtrl > .submit {
    width: 100%;
  }
}

.form p {
}
/*.form label:not(.error-msg):not(.form-radio-display):not(.form-checkbox-display) {
  margin-bottom: 1.2rem;
  display: block;
  line-height: 1.294;
  font-weight: bold;
}*/
.form .input {
  margin-bottom: 2.3rem;
}
.form .required {
  margin-left: 2rem;
  border-radius: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.4rem;
  height: 2.2rem;
  min-width: 44px;
  min-height: 22px;
  color: var(--color-white);
  background-color: var(--color-red);
  font-size: 0;
  font-weight: 500;
  line-height: 1;
}
.form .required:before {
  content: '必須';
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
}

.mw_wp_form_input .message.confirm {
  display: none;
}
/*.mw_wp_form_input .form .formCtrl > .back {
  display: none;
}*/
.mw_wp_form_confirm .form .formItem > .data {
    margin: 1.8rem 0;
}
.mw_wp_form_confirm .messageBox {
  display: none;
}
.mw_wp_form_confirm .formCtrl {
  margin-top: 15rem;
}
.mw_wp_form_confirm .form .formItem .notice {
  display: none;
}
.mw_wp_form .error {
    font-size: 1.7rem !important;
    color: var(--color-red) !important;
}
.grecaptcha-badge {
  bottom: 10rem !important;
}


@media screen and (max-width: 767px) {
  .mw_wp_form_confirm .form .formItem > .data {
      margin: 1.2rem 0;
  }
  .mw_wp_form_confirm .formCtrl {
    margin-top: 10rem;
  }
  .grecaptcha-badge {
    bottom: 8rem !important;
  }
}
.recaptchaBlock .error {
  text-align: center;
}

.formCompleteContent {
  padding: 2rem 0;
}
.formCompleteContent .contentHead {
  margin-bottom: 4.3rem;
  text-align: center;
  font-size: 3.6rem;
  line-height: calc(46/36);
}
.formCompleteContent .contentBody {
  margin-bottom: 6rem;
  text-align: center;
}
.formCompleteContent p {
  margin-bottom: 1em;
}
.formCompleteContent .notice {
  color: var(--color-red);
}
@media screen and (max-width: 767px) {
  .formCompleteContent {
    margin-top: 2rem;
    padding: 0 0 6rem;
  }
  .formCompleteContent .contentHead {
    margin-bottom: 3.2rem;
    font-size: 2rem;
    line-height: calc(27/20);
  }
  .formCompleteContent .contentBody {
    margin-bottom: 6.5rem;
    text-align: left;
  }
}



/* =============================================================================
 NotFoundContent
============================================================================= */
.NotFoundContent {
  padding: 2rem 0;
}
.NotFoundContent .contentHead {
  margin-bottom: 4.3rem;
  text-align: center;
  font-size: 3.6rem;
  line-height: calc(46/36);
}
.NotFoundContent .contentBody {
  margin-bottom: 6rem;
  text-align: center;
}
.NotFoundContent p {
  margin-bottom: 1em;
}
.NotFoundContent .notice {
  color: var(--color-red);
}
@media screen and (max-width: 767px) {
  .NotFoundContent {
    margin-top: -2rem;
    padding: 0 0 2rem;
  }
.NotFoundContent .contentHead {
    margin-bottom: 3.2rem;
    font-size: 2rem;
    line-height: calc(27/20);
  }
  .NotFoundContent .contentBody {
    margin-bottom: 6.5rem;
    text-align: left;
  }
}

/* =============================================================================
 contactContents
============================================================================= */
@media screen and (max-width: 767px) {
  .contactContents .section.-lg {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}




/* =============================================================================
 hero page style
============================================================================= */
.heroPage:not(.scrolling) #header {
  position: absolute;
}
.heroPage #mainArea {
  padding-top: 0;
  position: relative;
}
.heroPage:not(.scrolling) #header #siteLogo a {
  display: block;
  height: 5.9rem;
  background: url("../images/common/logo_aspirant_w.svg") 0 0 / contain no-repeat;
}
.heroPage:not(.scrolling) #header #siteLogo a img {
  display: none;
}
.heroPage .contentsBlock {
  padding-bottom: 12rem;
  position: relative;
  background-color: var(--color-white);
}
.topPage #footer {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .heroPage #header .primaryContLabel a {
    color: var(--color-base);
  }
  .heroPage:not(.scrolling) #header .primaryContLabel a {
    color: var(--color-white);
  }
}
@media screen and (max-width: 767px) {
  .heroPage:not(.scrolling) #header #siteLogo a {
    height: 3.6rem;
  }
  .heroPage .contentsBlock {
    padding-bottom: 8rem;
  }
}

.hero {
  display: flex;
  position: relative;
  overflow: hidden;
  height: 100vh;
  
  align-items: center;
  justify-content: center;
}
  .topPage .hero {
    align-items: flex-end;
    justify-content: left;
  }
.mv {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.mv img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.topHeroBody {
  padding-left: 10rem;
  padding-bottom: 19.5rem;
  color: var(--color-white);
}
.topHeroBody .heroHeadline {
  line-height: 1;
  font-family: var(--font-en);
  letter-spacing: 0;
  font-size: 18rem;
  color: var(--color-white);
  opacity: 0.3;
}
.topHeroBody .heroHeadline div {
  letter-spacing: inherit;
}
.topHeroBody .heroTagline {
  line-height: 1.087;
  font-size: 4.6rem;
  font-weight: bold;
}
.topHeroBody p {
  margin: 2.8rem 0 0;
  line-height: 1.894;
  font-size: 1.9rem;
}
@keyframes scroll {
	0% { transform:translateX(4px); }
	100% { transform:translateX(-100%); }
}
@media screen and (min-width: 768px) {
  .topHeroBody .heroHeadline {
    position: absolute;
    left: 0;
    bottom: -3rem;
    width: 100%;
    height: 18.1rem;
    overflow: hidden;
    white-space: nowrap;
  }
  .topHeroBody .heroHeadline .headlineInner{
    display: inline-block;
/*    padding-right: 100vw;*/
    padding-right: .5em;
    animation: scroll 45s linear infinite;
  }
  .topHeroBody .heroHeadline .headlineInner div{
    display: inline-block;
  }
}
@media screen and (max-width: 767px) {
  .hero {
    margin-bottom: 7rem;
  }
  .topPage .hero {
    align-items: center;
  }
  
  .topHeroBody {
    padding: 5rem 0 0 2rem;
  }
  .topHeroBody .heroHeadline {
    line-height: calc(50/40);
    font-size: 4rem;
    opacity: 1;
    position: static;
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }
  .topHeroBody .heroTagline {
    line-height: 1.571;
    font-size: 2rem;
  }
  .topHeroBody p {
    margin: 1.5rem 0 3rem;
    line-height: calc(24/14);
    width: 31rem;
    font-size: 1.4rem;
    text-align: justify;
  }
  .topHeroBody p br {
    display: none;
  }
}

.heroBody {
  text-align: center;
}
.heroBody .heroHeadline {
  color: var(--color-red);
  font-weight: bold;
  font-family: var(--font-en);
  font-size: 1.8rem;
  
  display: inline-block;
  border: 1px var(--color-red) solid;
  padding: 1.5rem 2.7rem;
}
.heroBody .heroTagline {
  margin: 4rem 0;
  line-height: 1;
  font-size: 5.4rem;
  font-weight: bold;
  color: var(--color-white);
}
.heroBody p {
  line-height: calc(40/22);
  font-size: 2.2rem;
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .heroBody {
  }
  .heroBody .heroHeadline {
    font-size: 1.6rem;
    padding: 1rem 2.1rem;
  }
  .heroBody .heroTagline {
    margin: 2.4rem 0;
    font-size: 3rem;
  }
  .heroBody p {
    line-height: calc(25/15);
    font-size: 1.5rem;
  }
}


/* =============================================================================
 top page style
============================================================================= */
.topContents {
  background-color: var(--color-white);
}
.indexSection {
  padding-left: 12.5rem;
  padding-right: 12.5rem;
  position: relative;
  z-index: 1;
}
.indexSection:before {
  display: block;
  position: absolute;
  top: 0;
  z-index: -1;
  height: 100%;
  background-color: var(--color-white);
  pointer-events: none;
}
.indexSectionLogo {
  position: absolute;
  line-height: 1.22;
  color: #343434;
  overflow: hidden;
  white-space: nowrap;
  font-size: 14rem;
  font-family: var(--font-en);
  letter-spacing: 0;
  font-weight: bold;
  opacity: 0.06;
}
.indexSectionLogo span {
  letter-spacing: 0;
}
.indexSectionLabel {
  margin-bottom: 2rem;
  color: var(--color-red);
  font-size: 1.4rem;
  font-family: var(--font-en);
  letter-spacing: 0;
  font-weight: 700;
}
.indexSectionTitle {
  margin-bottom: 2.5rem;
  position: relative;
  line-height: 1.056;
  letter-spacing: 0.05em;
  font-size: 3.6rem;
  font-weight: bold;
}
.en .indexSectionTitle {
  letter-spacing: 0;
}
.indexSectionTitle:before {}




/* =============================================================================
 Common Btn
============================================================================= */
.btn.-txtBtn .btnTxt {
  font-weight: bold;
}
.btn.-normalBtn.-ulBtn .btnTxt,
.btn.-normalBtn.-moredetailBtn .btnTxt,
.topSection .btn.-normalBtn .btnTxt {
  font-weight: bold;
  text-decoration: underline;
}
.btn.-normalBtn.-ulBtn button:hover .btnTxt,
.btn.-normalBtn.-ulBtn a:hover .btnTxt,
.btn.-normalBtn.-moredetailBtn button:hover .btnTxt,
.btn.-normalBtn.-moredetailBtn a:hover .btnTxt,
.topSection .btn.-normalBtn button:hover .btnTxt
.topSection .btn.-normalBtn a:hover .btnTxt {
  text-decoration: none;
}

/* =============================================================================
 indexSection
============================================================================= */
@media screen and (max-width: 767px) {
  .indexSection {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .indexSectionLogo {
    font-size: 5.5rem;
  }
  .indexSectionLabel {
    margin-bottom: 1rem;
    font-size: 1.4rem;
  }
  .indexSectionTitle {
    margin-bottom: 2.3rem;
    line-height: calc(35/25);
    font-size: 2.5rem;
  }
}
.topAboutus {
  margin: 0 auto 16.9rem;
  padding-top: 22.9rem;
  padding-bottom: 7.2rem;
}
.topAboutus .indexSectionLogo {
  top: 25.75rem; /* 4.85 */
  left: 84.5rem; /* 71.7+ */
  writing-mode: vertical-rl;
  z-index: 2;
}
.topAboutusImg { /**/
  position: absolute;
  top: 17rem;
  right: 0;
  width: 56rem;
  z-index: 1;
}
.topAboutusImg2 { /**/
  position: absolute;
  top: auto;
  bottom: 0;
  left: 0;
  width: 13.5rem;
  z-index: 1;
}
.topAboutusLead {
  width: 52.5rem;
  line-height: 1.882;
}
.topAboutusList ul {
  border-top: 1px #707070 solid;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  margin-top: 10rem;
  margin-left: 16.5rem;
  width: 46.5rem;
}
.topAboutusBtn {
  width: 100%;
  position: relative;
}
.topAboutusBtn > a {
  padding: 3.8rem 2rem;
  display: -webkit-flex;
  display: flex;
  flex-wrap: nowrap;
  border-bottom: 1px var(--color-gray) solid;
  transition: var(--transition-all);
}
.topAboutusBtn > a:hover {
  background-color: var(--color-bg);
}
.topAboutusBtnNum {
  color: var(--color-red);
  font-size: 1.4rem;
  font-weight: bold;
  width: 5rem;
}
.topAboutusBtnLabel {
  margin-bottom: 1rem;
  font-family: var(--font-en);
  letter-spacing: 0;
  font-size: 1.4rem;
}
.topAboutusBtnTitle {
  line-height: 1.333;
  font-size: 2.4rem;
  font-weight: bold;
}
.topAboutusBtn > a:hover .topAboutusBtnTitle {
  text-decoration: underline;
}
.topAboutusBtn .btnArrow {
  right: 1rem;
  top: calc(50% - 0.6rem);
  position: absolute;
}
@media screen and (max-width: 767px) {
  .topAboutus {
    margin: 0 auto 6rem;
    padding-top: 48.7rem;
    padding-bottom: 0;
  }
  .topAboutus .indexSectionLogo {
    top: 8.8rem; /* 4.85 */
    left: 9.8rem; /* 71.7 */
  }
  .topAboutusImg { /**/
    position: absolute;
    top: 4.6rem;
    right: 0;
    width: 23.7rem;
    z-index: 1;
  }
  .topAboutusImg2 { /**/
    position: absolute;
    top: 21.6rem;
    bottom: auto;
    left: 0;
    width: 5.2rem;
    z-index: 1;
  }
  .topAboutusLead {
    width: auto;
    font-size: 1.4rem;
    line-height: calc(24/14);
  }
  .topAboutusList ul {
    margin-top: 5rem;
    margin-left: 0;
    width: 100%;
  }
  .topAboutusBtn {
    width: 100%;
    position: relative;
  }
  .topAboutusBtn > a {
    padding: 3.3rem 0rem;
    display: -webkit-flex;
    display: flex;
    flex-wrap: nowrap;
    border-bottom: 1px var(--color-gray) solid;
    transition: var(--transition-all);
  }
  .topAboutusBtn > a:hover {
    background-color: var(--color-bg);
  }
  .topAboutusBtnNum {
    font-size: 1.1rem;
    width: 3.8rem;
  }
  .topAboutusBtnLabel {
    margin-bottom: .5rem;
    font-size: 1.1rem;
  }
  .topAboutusBtnTitle {
    line-height: calc(32/20);
    font-size: 2rem;
    font-weight: bold;
  }
  .topAboutusBtn > a:hover .topAboutusBtnTitle {
    text-decoration: underline;
  }
  .topAboutusBtn .btnArrow {
    right: 0.5rem;
    top: calc(50% - 0.6rem);
    position: absolute;
  }
}
.topMember {
  margin-bottom: 20rem;
}
.topMember .indexSectionLogo {
  top: 1.5rem; /*  */
  left: 122.5rem; /*  */
  writing-mode: vertical-rl;
  z-index: 2;
}
.topMemberLead {
  margin-bottom: 6.3rem;
  width: 77.5rem;
}
.topMemberLead p {
  line-height: 1.882;
}
.topMemberImg {
  margin-top: 6.3rem;
  margin-bottom: 3.6rem;
  margin-left: -12.5rem;
  width: 130rem;
}
.topMember .btn.-centerBtn {
  width: 117.5rem;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .topMember {
    margin-bottom: 8rem;
    padding-top: 4rem;
    overflow-x: hidden;
  }
  .topMember .indexSectionLogo {
    top: 0; /*  */
    left: 16rem; /*  */
    writing-mode: horizontal-tb;
    z-index: 2;
  }
  .topMemberLead {
    margin-bottom: 4rem;
    width: auto;
  }
  .topMemberLead p {
    line-height: 1.882;
  }
  .topMemberImg {
    margin-top: 4rem;
    margin-bottom: 4rem;
    margin-left: -2rem;
    width: 35.5rem;
  }
  .topMember .btn.-centerBtn {
    width: auto;
    text-align: right;
  }
}
.topPortfolioList {
  margin: -14.6rem -12.5rem 3.2rem;
  padding: 14.6rem 12.5rem 0 22rem;
  position: relative;
  overflow: hidden;
}
.topPortfolioList .slick-list {
  overflow: visible;
}
.topPortfolioList .slick-arrow {
  top: 0;
  position: absolute;
  right: 12.5rem;
}
.topPortfolioList .slick-prev {
  right: 20.1rem;
}
.topPortfolioList .caseImg {
  width: 36rem;
  height: 24rem;
}
.topPortfolioList .caseImg img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.topPortfolio {
  padding-top: 10.9rem;
  padding-bottom: 10rem;
}
.topPortfolio:before {
  content: '';
  left: 0;
  width: 100%;
  background-color: var(--color-bg);
}
.topPortfolio .indexSectionLogo {
  top: -9.5rem;
  left: 0;
}
.topPortfolio .indexSectionLogo span {
  margin-left: -1.5rem;
  display: inline-block;
  width: 98.3rem;
}
.topPortfolio .indexSectionTitle {
  margin-bottom: 5rem;
  font-size: 3.6rem;
}
.topPortfolioSlide {
  margin-right: 3.8rem;
}
.topPortfolioSlide a {}
@media screen and (min-width: 768px) {}
@media screen and (max-width: 767px) {
  .topPortfolio {
    padding-top: 6rem;
    padding-bottom: 7rem;
  }
  .topPortfolio .indexSectionLogo {
    top: -3.2rem;
    width: 100%;
  }
  .topPortfolio .indexSectionLogo span {
    margin-left: -.8rem;
    width: 38.6rem;
  }
  .topPortfolio .indexSectionTitle {
    margin-bottom: 3.6rem;
    font-size: 2.6rem;
  }
  .topPortfolioList {
    margin: -7.8rem -2rem 4rem;
    padding: 7.8rem 2rem 0;
    position: relative;
    overflow: hidden;
  }
  .topPortfolioList .slick-list {
    overflow: visible;
  }
  .topPortfolioList .slick-arrow {
    right: 2rem;
  }
  .topPortfolioList .slick-prev {
    right: 8.2rem;
  }
  .topPortfolioList .caseImg {
    width: 30rem;
    height: 20rem;
  }
  .topPortfolioSlide {
    margin-right: 3rem;
  }
}


.topNews {
  padding-top: 15rem;
  padding-bottom: 13.6rem;
  overflow-x: hidden;
}
.topNews .indexSectionLogo {
  top: 8.3rem;
  right: -3rem;
}
.topNews .indexSectionLogo span {
  display: inline-block;
}
.topNews .indexSectionTitle {
  margin-bottom: 5rem;
}
.topNews .btn.-centerBtn {
  margin-top: 5rem;
  text-align: right;
}
.topNewsRow {
  display: -webkit-flex;
  display: flex;
  width: 100%;
  border-top: 1px var(--color-gray) solid;
}
.topNewsMenu {
  border-right: 1px var(--color-gray) solid;
  width: 23.5rem;
}
.topNewsMenu .tabmenu {
  margin-top: 5rem;
}
.topNewsList {
  margin-top: 1.5rem;
  margin-left: 10.5rem;
  width: 101.5rem;
}
.topNewsList > .btn {
  margin-top: 5rem;
}

@media screen and (max-width: 767px) {
  .topNews {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
  .topNews .indexSectionLogo {
    top: 3.5rem;
    right: -1.5rem;
  }
  .topNews .indexSectionTitle {
    margin-bottom: 4rem;
  }
  .topNewsRow {
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    width: 100%;
    border-top: none;
  }
  .topNewsMenu {
    border-right: none;
    width: 100%;
  }
  .topNewsMenu .tabmenu {
    margin-top: 0;
    margin-left: -1rem;
    width: calc( 100% + 1rem );
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
  }
  .topNewsList {
    border-top: 1px var(--color-gray) solid;
    margin-top: 0;
    margin-left: 0;
    width: 100%;
  }
  .topNewsList > .btn {
    margin-top: 4rem;
  }
}

.newsIndexContents .section.-lg {
  padding-bottom: 17rem;
}
.newsIndexContents .section.-lg + .pager {
  margin-top: -9rem;
}

/* =============================================================================
 NewsNav
============================================================================= */
.newsNav {
  margin-bottom: 5rem;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
}
.newsNav .field {
  position: relative;
  margin-left: 6.4rem;
  
/*  display: none;*/
}
.newsNav .field:before {
  width: .1rem;
  min-width: 1px;
  height: 2.4rem;
  display: inline-block;
  background-color: var(--color-gray);
  content: '';
  position: absolute;
  top: calc(50% - 1.2rem);
  left: 0;
}

@media screen and (max-width: 767px) {
  .newsNav {
    flex-direction: column;
    border-bottom: 1px var(--color-gray) solid;
  }
  .newsNav .tabmenu.-horizontal {
  }
  .newsNav .field {
    position: relative;
    margin-left: 0;
    display: -webkit-flex;
    display: flex;
    margin: 2rem auto;
  }
  .newsNav .field:before {
    display: none;
    position: static;
  }
}
.newsNav .field .selectbox {
  margin-left: 5rem;
}
@media screen and (max-width: 767px) {
  .newsNav .field .selectbox {
    margin-left: 0;
  }
}
.portfolioNav .field .selectbox {
  max-width: 20rem;
}
@media screen and (max-width: 767px) {
  .portfolioNav .field .selectbox {
    max-width: 100%;
  }
}

/* =============================================================================
 lower page common style
============================================================================= */
.pageHeader {
  padding: 2rem 12.5rem 8.3rem;
  position: relative;
  z-index: 1;
  width: 100%;
  overflow: hidden;
}
.pageLabel {
  color: var(--color-red);
  font-family: var(--font-en);
  font-size: 1.4rem;
  font-weight: bold;
}
.pageLabel .number + .label {
  color: var(--color-base);
  font-weight: normal;
  display: inline-block;
  
  margin-left: 2rem;
  padding-left: 2rem;
  border-left: 1px var(--color-gray) solid;
}
.pageTitle {
  margin-top: 2.7rem;
/*  margin-bottom: 5.2rem;*/
  margin-bottom: 2rem;
  font-size: 5.2rem;
  line-height: calc(80/52);
  font-weight: bold;
}
.pageLead {
  margin-top: 5.2rem;
  font-size: 1.7rem;
  line-height: calc(50/32);
}
.pageLogo {
  
  bottom: -3.5rem;
  right: -2rem;
  
  position: absolute;
  line-height: 1.22;
  color: #F7F7F7;
  overflow: hidden;
  white-space: nowrap;
  font-size: 12rem;
  font-family: var(--font-en);
  letter-spacing: 0;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .pageTitle {
    margin-top: 1rem;
  }
}

.pageVisual {
  margin-left: auto;
  margin-right: 0;
  width: 110rem;
  margin-top: -15rem;
}
@media screen and (max-width: 767px) {
  .pageVisual {
    margin-top: -6rem;
    margin-left: 2rem;
    margin-right: 0;
    width: auto;
  }
}

.pageHeader.aboutUsDetailHeader {
  padding-bottom: 23rem;
}
@media screen and (max-width: 767px) {
  .pageHeader.aboutUsDetailHeader {
    padding-bottom: 10rem;
  }
}

.pageHeader.memberDetailHeader {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  margin-bottom: -14rem;
  padding-top: 5rem;
  padding-bottom: 0;
}
.pageHeader.memberDetailHeader .pageHeaderBody {
  flex: 1;
  padding-bottom: 14rem;
}
.pageHeader.memberDetailHeader .pageHeaderImg {
  width: 73rem;
}
@media screen and (max-width: 767px) {
  .pageHeader.memberDetailHeader {
    flex-direction: column;
    margin-bottom: -8rem;
    padding-top: 0;
  }
  .pageHeader.memberDetailHeader .pageHeaderBody {
    width: 100%;
    padding-bottom: 4rem;
  }
  .pageHeader.memberDetailHeader .pageHeaderImg {
    width: 100%;
  }
}
.pageHeader.portfolioDetailHeader {
  padding-top: 5rem;
  padding-bottom: 10rem;
}
@media screen and (max-width: 767px) {
  .pageHeader.portfolioDetailHeader {
    padding-top: 1rem;
    padding-bottom: 4rem;
  }
}
.pageHeader.interviewDetailHeader {
    margin-bottom: 19.7rem;
}
.pageHeader.interviewDetailHeader .pageTitle {
    margin-top: 2.2rem;
}
@media screen and (max-width: 767px) {
  .pageHeader.interviewDetailHeader {
      margin-bottom: 8.3rem;
  }
  .pageHeader.interviewDetailHeader .pageTitle {
      margin-top: 1rem;
  }
}

.pageCtrl .ctrlBlock {
  border-top: 1px var(--color-gray) solid;
}
.pageCtrl .ctrlBlock {
    display: -webkit-flex;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    width: 100%;
    padding: 6rem 12.5rem 15rem;
}
.pageCtrl .ctrlBlock.-centered {
    justify-content: center;
}
.pageCtrl .ctrlBlock .-txtBtn  {
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 767px) {
  .pageCtrl .ctrlBlock {
    padding: 4rem 2rem 10rem;
  }
  .pageCtrl .ctrlBlock .btn.-txtBtn a {
    padding: 0;
    width: 19rem;
  }
  .pageCtrl .ctrlBlock .btn.-normalBtn .btnTxt{
    display: none;
  }
}

.sectionTitle {
  margin-bottom: 5rem;
/*  padding-bottom: 4rem;*/
  position: relative;
  line-height: calc(46/30);
  font-size: 3rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .sectionTitle {
    margin-bottom: 3rem;
    font-size: 2.3rem;
  }
}

.section.-fluid {
  padding: 8rem 0;
}
.section.-lg {
  padding: 8rem 12.5rem 8rem;
}
.section.-flex {
  flex-wrap: nowrap;
  padding: 6rem 12.5rem;
}
.section.-flex .sectionTitle {
  margin-top: -0.5rem;
  margin-bottom: 0;
  padding-right: 7rem;
  padding-bottom: 0;
  width: calc(100% - 85rem);
}
.section.-flex .sectionBody {
  margin-left: auto;
  width: 85rem;
}
.section.-acc {
  display: none;
}
.section.-flex.-acc {
  padding-top: 0;
}
.section.-map {
  margin-top: -3rem;
  padding-top: 0;
  width: 100%;
}
.section.-map iframe {
  width: 100%;
  height: 50rem;
}

@media screen and (max-width: 767px) {
  .section.-lg {
      padding: 7rem 2rem;
  }
  .section.-flex {
    flex-direction: column;
    flex-wrap: nowrap;
    padding: 5rem 2rem;
  }
  .section.-flex .sectionTitle {
    margin-top: 0;
    margin-bottom: 0;
    padding-right: 0;
    padding-bottom: 2.3rem;
    width: auto;
    font-size: 2.1rem;
  }
  .section.-flex .sectionBody {
    width: 100%;
  }
  .section.-map {
    margin-top: -10rem;
    padding-bottom: 3rem;
  }
  .section.-map iframe {
    height: 42rem;
  }
}

.-content {
  margin: 0 auto;
  width: var(--width-content);
}
@media screen and (max-width: 767px) {
  .-content {
      width: auto;
  }
}

.flexSectionLayoutTable {
  width: 100%;
  line-height: calc(32/17);
}
.flexSectionLayoutTable th {
  padding-right: 1rem;
  padding-bottom: 1em;
  width: 20rem;
  font-weight: normal;
  text-align: left;
  vertical-align: top;
}
.flexSectionLayoutTable td {
  padding-bottom: 2em;
  font-weight: normal;
  text-align: left;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .flexSectionLayoutTable {
    line-height: calc(24/14);
  }
  .flexSectionLayoutTable th {
    padding-right: 1rem;
    width: 12rem;
  }
  .flexSectionLayoutTable td {
  }
}

.-layouted {
  line-height: calc(32/17);
}
.-layouted .contentbox{
  margin-bottom: 1.25em;
}
.-layouted h3 {
  font-size: 2rem;
}
.-layouted ul + p,
.-layouted .ol + p,
.-layouted ul + h4,
.-layouted .ol + h4 {
  margin-top: 1.5em;
}
.-layouted p {
  margin-bottom: 1.25em;
}
.-layouted ul li {
padding-left: 1em;
text-indent: -1em;
}
.-layouted ul li:before {
content: '・';
}
  .-layouted ul.l-ul li {
  padding-left: 0;
  text-indent: 0;
  }
  .-layouted ul.l-ul li:before {
  content: '';
  }
  .-layouted .ol {
    list-style-type: decimal;
    list-style-position: outside;
    margin-left: 1.5em;
    margin-bottom: 1.25em;
  }
.-layouted .section  p:last-child,
.-layouted .section  .ol:last-child {
    margin-bottom: 0;
}


@media screen and (max-width: 767px) {
  .-layouted {
    line-height: calc(24/14);
  }
  .-layouted .contentbox {
    margin-bottom: 12.5em;
  }
  .-layouted .contentbox:last-of-type {
    margin-bottom: 0;
  }
.-layouted h3 {
  font-size: 1.6rem;
  line-height: 2.4rem;
}
}

.icon_pdf {
  display: inline-block;
}
.icon_pdf:after {
  content: '';
  margin-left: 1.4rem;
  display: inline-block;
  width: 3.6rem;
  height: 1.8rem;
  background: url(../images/common/icon_pdf.svg) 0 0 / contain no-repeat;
  vertical-align: -0.3rem;
}

.field select {
    align-items: center;
    -webkit-appearance: none;
    appearance: none;
    outline: none;
    background: #fff;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    height: 5rem;
    justify-content: center;
    line-height: 1.2;
  padding: 0 5rem 0 2rem;
  border: 1px var(--color-gray) solid;
  font-size: 1.7rem;
} 

@media screen and (max-width: 767px) {
  .field select {
    height: 4.4rem;
    font-size: 1.4rem;
  }
}



/* =============================================================================
 aboutUsDetailContents
============================================================================= */
.aboutUsDetailContents {
  padding-top: 1px;
}
.aboutUsDetailContents .section.-flex {
  padding-top: 8rem;
  padding-bottom: 8rem;
}
.aboutUsDetailContents .section.-flex:first-of-type {
  padding-top: 12.5rem;
}
.aboutUsDetailContents .section.-flex:last-of-type {
  padding-bottom: 12.5rem;
}
@media screen and (max-width: 767px) {
  .aboutUsDetailContents .section.-flex {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  .aboutUsDetailContents .section.-flex:first-of-type {
    padding-top: 8rem;
  }
  .aboutUsDetailContents .section.-flex:last-of-type {
    padding-bottom: 8rem;
  }
}

.aboutUsDetailContents .image {
  margin-top: 5rem;
  margin-bottom: 5rem;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
}
.aboutUsDetailContents .sectionBody .image:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .aboutUsDetailContents .image.aboutus03_img01_block {
    margin-top: -1rem;
    margin-bottom: 0;
  }
}
.aboutUsDetailContents .missionList {
  margin-top: 9.5rem;
  border-top: 1px var(--color-gray) solid; 
}
.aboutUsDetailContents .missionList li {
  padding: 3.2rem 0;
  display: -webkit-flex;
  display: flex;
  border-bottom: 1px var(--color-gray) solid; 
}
.aboutUsDetailContents .missionList .number {
  width: 6rem;
  height: 6rem;
  background: url("../images/about/bg_number.svg") center center no-repeat;
  background-size: 6rem 6rem;
  font-size: 1.8rem;
  
  color: var(--color-white);
  font-family: var(--font-en);
  font-weight: bold;
  
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
}
.aboutUsDetailContents .missionList .text {
  flex: 1;
  padding-left: 2.8rem;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: 2.2rem;
}
@media screen and (max-width: 767px) {
  .aboutUsDetailContents .missionList {
    margin-top: 4rem;
  }
  .aboutUsDetailContents .missionList .text {
    font-size: 1.6rem;
  }
}

.aboutUsDetailContents .lineHead {
  margin-top: 6.3rem;
  margin-bottom: 2.3rem;
  line-height: calc(50/32);
  font-size: 2.8rem;
  position: relative;
  padding-left: 5rem;
}
.aboutUsDetailContents .lineHead .en {
  font-size: 1.4rem;
  padding-left: 4rem;
  vertical-align: middle;
}
.aboutUsDetailContents .lineHead:before {
  position: absolute;
  top: 2.1rem;
  left: 0;
  width: 3rem;
  height: .4rem;
  background-color: var(--color-red);
  display: block;
  content: '';
}
@media screen and (max-width: 767px) {
  .aboutUsDetailContents .lineHead {
    margin-top: 4rem;
    line-height: calc(28/18);
    font-size: 1.8rem;
    padding-left: 3rem;
  }
  .aboutUsDetailContents .lineHead:before {
    position: absolute;
    top: 1.4rem;
    width: 2rem;
    height: .2rem;
  }
  .aboutUsDetailContents .lineHead .en {
    padding-left: 2.6rem;
    font-size: 1.2rem;
  }
  .aboutUsDetailContents .contentbox {
    margin-bottom: 4.5rem;
  }
}

.aboutUsDetailContents .aboutNumbersGrid {
  border-top: 1px var(--color-gray) solid;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.aboutUsDetailContents .aboutNumbersGrid .gridItem {
  width: 50%;
  border-bottom: 1px var(--color-gray) solid;
}
.aboutUsDetailContents .aboutNumbersGrid .gridItem:nth-of-type(odd) {
  padding: 5.5rem 7.5rem 5.5rem 0;
  border-right: 1px var(--color-gray) solid;
}
.aboutUsDetailContents .aboutNumbersGrid .gridItem:nth-of-type(even) {
  padding: 5.5rem 0 5.5rem 7.5rem;
}

.aboutUsDetailContents .aboutNumbersGrid .gridItem h2 {
  margin-bottom: 2rem;
  font-size: 3.2rem;
  line-height: calc(46/32);
}
.aboutUsDetailContents .aboutNumbersGrid .gridItem p {
  margin-bottom: 7rem;
}

@media screen and (max-width: 767px) {
  .aboutUsDetailContents .aboutNumbersGrid {
    flex-direction: column;
  }
  .aboutUsDetailContents .aboutNumbersGrid .gridItem {
    width: 100%;
  }
  .aboutUsDetailContents .aboutNumbersGrid .gridItem.empty {
    display: none;
  }
  .aboutUsDetailContents .aboutNumbersGrid .gridItem:nth-of-type(odd) {
    padding: 5rem 0 1rem;
    border-right: none;
  }
  .aboutUsDetailContents .aboutNumbersGrid .gridItem:nth-of-type(even) {
    padding: 5rem 0 1rem;
  }
  .aboutUsDetailContents .aboutNumbersGrid .gridItem h2 {
    margin-bottom: 2rem;
    font-size: 2.12rem;
    line-height: calc(31/21);
  }
  .aboutUsDetailContents .aboutNumbersGrid .gridItem p {
    margin-bottom: 3rem;
  }
}

.aboutUsDetailContents .subjectList {
  margin-top: 6.2rem;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  
}
.aboutUsDetailContents .subjectItem {
  width: 41.5rem;
  margin-bottom: 2rem;
  background: var(--color-white);
  
  display: -webkit-flex;
  display: flex;
  align-items: center;
}
.aboutUsDetailContents .subjectItem:nth-of-type(odd) {
  margin-right: 2rem;
}
.aboutUsDetailContents .subjectItem .icon {
  width: 10rem;
  height: 10rem;
  background: var(--color-base);
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
}
.aboutUsDetailContents .subjectItem .label {
  padding: 0 2.4rem;
  flex: 1;
  font-size: 2.4rem;
  font-weight: bold;
}
  .aboutUsDetailContents .subjectItem .label .sub {
    display: block;
    font-size: 1.8rem;
    font-weight: normal;
  }
@media screen and (max-width: 767px) {
  .aboutUsDetailContents .subjectItem:nth-of-type(odd) {
    margin-right: 0;
  }
  .aboutUsDetailContents .subjectItem .icon {
    width: 8rem;
    height: 8rem;
  }
  .aboutUsDetailContents .subjectItem .label {
    font-size: 1.6rem;
    font-weight: bold;
  }
  .aboutUsDetailContents .subjectItem .label .sub {
    font-size: 1.6rem;
  }
}


.aboutUsDetailContents .boxlist {
  margin-bottom: 2rem;
  background: var(--color-white);
}
.aboutUsDetailContents .boxlist dt {
  padding: 1.4rem 2rem;
  color: var(--color-white);
  background: var(--color-base);
}
.aboutUsDetailContents .boxlist dd {
  padding: 2rem;
}
.aboutUsDetailContents .boxlist p {
  margin-bottom: 1rem;
}
.aboutUsDetailContents .boxlist .innerbox {
  margin: 0 -2rem;
  padding: 2rem;
  width: calc( 100% + 4rem);
  border-bottom: 1px var(--color-gray) solid;
}
.aboutUsDetailContents .boxlist .innerbox:first-child {
  padding-top: 0;
}
.aboutUsDetailContents .boxlist .innerbox:last-child {
  padding-bottom: 0;
  border-bottom: none;
}


.aboutUsPaging .pagingBlock {
}

@media screen and (min-width: 768px) {
.aboutUsPaging .pagingBlock a {
  display: block;
  padding: 13rem 12.5rem;
  transition: var(--transition-all);
}
.aboutUsPaging .pagingBlock a:hover {
  color: var(--color-white);
  background: var(--color-base);
}
.aboutUsPaging .pagingBlock a:hover .btnArrow.-lg {
  border-color: transparent; 
}
.aboutUsPaging .pagingBlock a:hover .nextNav .nextNavBody {
  border-color: #505050; 
}
.aboutUsPaging .pagingBlock a:hover .pageLabel .number + .label {
  color: var(--color-white);
}
}
.nextNav {
  display: -webkit-flex;
  display: flex;
}
.nextNav .nextNavHead {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  font-family: var(--font-en);
  font-size: 5.4rem;
  font-weight: bold;
  width: 22.5rem;
}
.nextNav .nextNavBody {
  border-left: 1px var(--color-gray) solid;
  padding: 5rem 0 5rem 8rem;
  flex: 1;
}
.nextNav .pageTitle {
  margin: 1.2rem 0 0;
  font-size: 3.8rem;
}
.nextNav .btn  {
  display: -webkit-flex;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .nextNav {
    flex-wrap: wrap;
    justify-content: center;
  }
  .aboutUsPaging .pagingBlock {
  }
  .aboutUsPaging .pagingBlock a {
    display: block;
    padding: 5rem 2rem 3rem;
  }
  .nextNav .nextNavHead {
    font-size: 2.8rem;
    width: 10rem;
  }
  .nextNav .nextNavBody { 
    flex-basis: auto;
    flex-grow: 0;
    flex-shrink: 0;
    max-width: 23rem;
    padding: 1.5rem 0 1.5rem 3rem;
  }
  .nextNav .pageLabel {
    display: -webkit-flex;
    display: flex;
    font-size: 1.2rem;
  }
  .nextNav .pageLabel .number + .label {
      margin-left: 1.6rem;
      padding-left: 1.6rem;
  }
  .nextNav .pageTitle {
    margin: 1rem 0 0;
    font-size: 2.2rem;
  }
  .nextNav .btn {
    margin: 2rem auto;
  }
}


/* =============================================================================
 notelist
============================================================================= */
.notelist {
  margin-top: 6rem;
  list-style-type: none;
}
.notelist li {
  text-indent: -1.8em !important;
  padding-left: 2em !important;
}
.notelist li span {
  padding-right: 0.5em;
}
.notelist li:before {
  content: '' !important;
}

.aboutus03_icon01 {
  width: 5.4rem;
}
.aboutus03_icon02 {
  width: 5rem;
}
.aboutus03_icon03 {
  width: 7.1rem;
}
.aboutus03_icon04 {
  width: 5.2rem;
}
.aboutus03_icon05 {
  width: 5.4rem;
}

@media screen and (max-width: 767px) {
  .aboutus03_icon01 {
    width: calc( 5.4rem * 0.8);
  }
  .aboutus03_icon02 {
    width: calc( 5rem * 0.8);
  }
  .aboutus03_icon03 {
    width: calc( 7.1rem * 0.8);
  }
  .aboutus03_icon04 {
    width: calc( 5.2rem * 0.8);
  }
  .aboutus03_icon05 {
    width: calc( 5.4rem * 0.8);
  }
}

.aboutus03_img02 {
  width: 60.7rem;
}
@media screen and (max-width: 767px) {
  .aboutus03_img02 {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .aboutUsDetailContents .aboutus05_img01_block {
    margin-bottom: -2rem;
  }
}

@media screen and (min-width: 768px) {
  .aboutus02_img01 {
    display: inline-block;
    margin: 0 auto;
    margin-top: 4rem;
    width: 45.9rem;
  }
  .aboutus02_img02 {
    display: inline-block;
    margin: 0 auto;
    width: 49.7rem;
  }
  .aboutus02_img03 {
    display: inline-block;
    margin: 0 auto;
    margin-top: 7rem;
    width: 53.8rem;
  }
  .aboutus02_img04 {
    display: inline-block;
    margin: 0 auto;
    width: 45.6rem;
  }
  .aboutus02_img05 {
    display: inline-block;
    margin: 0 auto;
    width: 47.2rem;
  }
}


/* =============================================================================
 memberDetail
============================================================================= */
.memberDetailHeader .memberTitle {
  font-size: 1.5rem;
  line-height: calc(24/15);
  color: var(--color-red);
}
.memberDetailHeader .memberTitle .en {
  display: inline-block;
  margin-right: 1em;
}
.memberDetailHeader .memberTitleJa {
    font-size: 1.5rem;
    line-height: calc(24/15);
}
.memberDetailHeader .memberSection {
    font-size: 1.5rem;
    line-height: calc(24/15);
}
.memberDetailHeader .memberName {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  font-size: 4.6rem;
  line-height: calc(60/46);
}
.memberDetailHeader .memberNameEn {
  margin-top: 0.9rem;
  font-size: 1.8rem;
  line-height: calc(38/18);
}
@media screen and (max-width: 767px) {
  .memberDetailHeader .memberTitle {
    font-size: 1.2rem;
    line-height: calc(20/12);
  }
  .memberDetailHeader .memberTitleJa {
    font-size: 1.2rem;
    line-height: calc(20/12);
  }
  .memberDetailHeader .memberSection {
    font-size: 1.2rem;
    line-height: calc(20/12);
  }
  .memberDetailHeader .memberTitle .en {
    margin-right: 1em;
  }
  .memberDetailHeader .memberName {
    margin-top: 1.2rem;
    margin-bottom: 0.2rem;
    font-size: 2.6rem;
    line-height: calc(36/26);
  }
  .memberDetailHeader .memberNameEn {
    margin-top: 0.5rem;
    font-size: 1.4rem;
    line-height: calc(19/14);
  }
}
.memberDetailContents {
  padding-top: 19rem;
  padding-bottom: 4rem;
  line-height: calc(32/17);
}
.memberDetailContents .section.-flex:first-of-type {
  padding-top: 7rem;
}

@media screen and (max-width: 767px) {
  .memberDetailContents {
    padding-top: 0rem;
    padding-bottom: 0rem;
    line-height: calc(24/14);
  }
  .memberDetailContents .section.-flex {
    padding-top: 6rem;
  }
  .memberDetailContents .section.-flex:first-of-type {
    padding-top: 16rem;
  }
}

/* =============================================================================
 portfolioDetail
============================================================================= */
.portfolioDetailHeader .portfolioTitle {
  margin-bottom: 3.4rem;
  font-size: 4.6rem;
  line-height: 6.8rem;
}
.portfolioDetailHeader .articleCats {
  padding-top: 3.2rem;
  border-top: 1px var(--color-gray) solid;
}
.portfolioDetailHeader .articleCats li {
  margin-right: 3em;
  display: inline-block;
}
.portfolioDetailHeader .articleCats li:last-child {
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .portfolioDetailHeader .portfolioTitle {
    margin-bottom: 2.34rem;
    font-size: 2.4rem;
    line-height: 3.4rem;
  }
  .portfolioDetailHeader .articleCats {
    padding-top: 2.1rem;
    border-top: 1px var(--color-gray) solid;
  }
  .portfolioDetailHeader .articleCats li {
    margin-right: 0;
    display: block;
    font-size: 1.4rem;
  }
  .portfolioDetailHeader .articleCats li:last-child {
  }

}
.portfolioDetailContents {
  padding-top: 4rem;
  padding-bottom: 6rem;
}
.portfolioDetailContents .section.-flex {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.portfolioDetailContents .section.-flex.-acc {
  padding-top: 0;
  padding-bottom: 0;
}
.portfolioDetailContents .section.-flex.-acc .contentbox {
  margin-bottom: 4rem;
}
.portfolioDetailContents .section.-flex + .-blockBtn {
     margin: 0 12.5rem 0 auto;
    width: 85rem;
}
.portfolioDetailContents .portfolioName {
    margin-bottom: 3rem;
    font-size: 2.8rem;
    line-height: calc(32/28);
}
@media screen and (max-width: 767px) {
  .portfolioDetailContents {
    padding-top: 1rem;
    padding-bottom: 4rem;
  }
  .portfolioDetailContents .section.-flex {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .portfolioDetailContents .section.-flex + .-blockBtn {
       margin: 0 2rem;
      width: auto;
  }
  .portfolioDetailContents .portfolioName {
      margin-bottom: 1rem;
      font-size: 1.8rem;
      line-height: calc(22/18);
  }
  .portfolioDetailContents.-layouted .contentbox {
    margin-bottom: 2em;
  }
  
}

/* =============================================================================
 companyContents
============================================================================= */
.companyContents {
  padding-top: 4rem;
  padding-bottom: 12rem;
}
@media screen and (max-width: 767px) {
  .companyContents {
    padding-top: 0;
    padding-bottom: 5rem;
  }
  .companyContents .section:first-of-type {
    padding-top: 5rem;
  }
}

/* =============================================================================
 interviewDetailContents
============================================================================= */
.interviewDetailContents {
  margin-top: 40rem;
/*  margin-left: 8rem;*/
  padding-top: 1px;
}
.interviewDetailContents .interviewBody:after  {
  margin-top: 9rem;
  margin-bottom: 15rem;
  margin-left: -8rem;
  height: 1px;
  background-color: #E2E2E2;
  display: block;
  content: '';
}
@media screen and (max-width: 767px) {
  .interviewDetailContents {
    margin-top: 13.5rem;
    margin-left: 0
  }
  .interviewDetailContents .interviewBody:after  {
    margin-top: 9.5rem;
    margin-bottom: 10rem;
    margin-left: 0;
  }
}

.interviewProfileBlock .profileImage {
  margin-top: -32.8rem;
  margin-right: 0;
  margin-left: auto;
  width: 125rem;
}
.interviewProfileBlock .profileDataBox {
  display: -webkit-flex;
  display: flex;
  background: rgba(255,255,255,0.94);
  width: 64rem;
/*  margin-left: 4.5rem;*/
  margin-left: 12.5rem;
  margin-bottom: -10rem;
  min-height: 26rem;
  -webkit-transform: translateY(-50%); /* Safari用 */
  transform: translateY(-50%);
  padding-top: 4rem;
  padding-bottom: 4rem;
  padding-left: 4rem;
  padding-right: 4rem;
  box-sizing: border-box;
}
.interviewProfileBlock .profileTitle {
  color: var(--color-red);
  font-family: var(--font-en);
  font-size: 1.5rem;
  line-height: calc(24/15);
}
.interviewProfileBlock .profileTitleJa {
  font-size: 1.5rem;
  line-height: calc(24/15);
}
.interviewProfileBlock .profileSection {
  font-size: 1.5rem;
  line-height: calc(24/15);
}
.interviewProfileBlock .profileName {
  margin: 1rem 0 1rem;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  
}
.interviewProfileBlock .profileNameJa {
  font-size: 2.6rem;
  margin-right: 2.5rem;
  
}
.interviewProfileBlock .profileNameEn {
  font-family: var(--font-en);
  font-size: 1.6rem;
  line-height: calc(26/16);
}
.interviewProfileBlock .profileText {
  font-size: 1.6rem;
  line-height: calc(26/16);
}
.interviewProfileBlock .profileText p:last-of-type {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .interviewProfileBlock .profileImage {
    margin-top: -9.3rem;
    margin-left: 2rem;
    margin-right: 0;
    width: 35.5rem;
  }
  .interviewProfileBlock .profileDataBox {
    width: auto;
    margin-top: -2rem;
    margin-right: 2rem;
    margin-left: 0;
    margin-bottom: 0;
    min-height: initial;
    min-height: auto;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    padding-top: 2rem;
    padding-bottom: 3rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .interviewProfileBlock .profileTitle {
    color: var(--color-red);
    font-family: var(--font-en);
    font-size: 1.2rem;
    line-height: calc(20/12);
  }
  .interviewProfileBlock .profileTitleJa {
      font-size: 1.2rem;
    line-height: calc(20/12);
  }
  .interviewProfileBlock .profileSection {
    font-size: 1.2rem;
    line-height: calc(20/12);
  }
  .interviewProfileBlock .profileName {
    margin: 1.1rem 0 1rem;
    display: -webkit-flex;
    display: flex;
    align-items: center;

  }
  .interviewProfileBlock .profileNameJa {
    font-size: 1.9rem;
    margin-right: 1.9rem;

  }
  .interviewProfileBlock .profileNameEn {
    font-family: var(--font-en);
    font-size: 1.2rem;
    line-height: calc(38/12);
  }
  .interviewProfileBlock .profileText {
    font-size: 1.3rem;
    line-height: calc(23/13);
  }
}

.interviewDetailContents .heroBNRBtnList {
/*  margin-left: -8rem;*/
  padding-bottom: 14rem;
  background-color: transparent;
}
@media screen and (max-width: 767px) {
  .interviewDetailContents .heroBNRBtnList {
    margin-left: 0;
    padding-bottom: 8rem;
  }
}

.interviewBody .section {
  width: var(--width-content);
  margin-right: 25rem;
  padding-top: 9rem;
  padding-bottom: 9rem;
}
.interviewBody .section.-image {
  padding-bottom: 3.5rem;
  width: 125rem;
}
.interviewBody .section.-image.-position-left {
/*  margin-left: -8rem;*/
}
.interviewBody .section.-image.-position-right {
  margin-right: 0;
}

.interviewBody .sectionTitle {
  line-height: calc(50/32);
  font-size: 3.2rem;
  position: relative;
  padding-left: 5rem;
}
.interviewBody .sectionTitle:before {
  position: absolute;
  top: 2.3rem;
  left: 0;
  width: 3rem;
  height: .4rem;
  background-color: var(--color-red);
  display: block;
  content: '';
}

.interviewBody p {
  margin-bottom: 1.882em;
  color: #707070;
}

@media screen and (max-width: 767px) {
  .interviewBody .section {
    width: auto;
    margin-left: 2rem;
    margin-right: 2rem;
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .interviewBody .section:first-of-type {
    padding-top: 8rem;
  }
  .interviewBody .section:last-of-type {
    padding-bottom: 0;
  }
  .interviewBody .section.-image {
    width: 35.5rem;
  }
  .interviewBody .section.-image.-position-left {
    margin-left: -2rem;
  }
  .interviewBody .section.-image.-position-right {
  }
  .interviewBody .sectionTitle {
    line-height: calc(31/21);
    font-size: 2.1rem;
    padding-left: 3rem;
  }
  .interviewBody .sectionTitle:before {
    position: absolute;
    top: 1.4rem;
    width: 2rem;
    height: .2rem;
  }
  .interviewBody p {
    margin-bottom: 1.882em;
    color: #707070;
  }
}

.interviewsBox.prep {
  opacity: 0.3;
}
.interviewsBox.prep a {
  pointer-events: none;
}

.interviewsBox .interviewMeta {
  padding-top: 2.5rem;
  margin-top: -4rem;
  width: 20rem;
  position: relative;
  background-color: var(--color-bg);
}
.interviewsBox .interviewSection {
  margin: .4rem 0;
  font-size: 1.4rem;
  line-height: calc(24/14);
  color: var(--color-red);
}
.interviewsBox .interviewName {
  padding-top: .8rem;
  font-size: 2.4rem;
  line-height: calc(32/24);
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .interviewsBox .interviewMeta {
    padding-top: 1rem;
    margin-top: -2rem;
    width: 10rem;
  }
  .interviewsBox .interviewSection {
    font-size: 1.2rem;
  }
  .interviewsBox .interviewName {
    padding-top: 0;
    font-size: 1.7rem;
    line-height: calc(32/17);
  }
}

/* =============================================================================
 recruitContents
============================================================================= */
.recruitContents {
  padding-top: 1px;
}
.recruitMessage {
  margin-top: 15rem;
  margin-bottom: 17rem;
  min-height: 72rem;
}
.recruitMessage .indexSectionLabel {
  padding-top: 6rem;
}
.recruitMessageImg {
  position: absolute;
  top: 0;
  right: 0;
  width: 56rem;
}
.recruitMessage .indexSectionLogo {
    top: 4rem;
    left: 84rem;
    writing-mode: vertical-rl;
    z-index: 2;
}

.recruitMessageBody {
  margin-top: 6rem;
  width: 62rem;
/*  font-size: 1.9rem;*/
  font-size: 1.7rem;
  letter-spacing: 0.5em;
  line-height: calc(32/17);
}
.recruitMessageBody p {
  margin-bottom: 4rem;
}
.recruitMessageBody .signature {
  text-align: right;
  line-height: calc(32/24);
}
.recruitMessageBody .signature .title {
  color: var(--color-red);
  font-size: 1.4rem;
  font-family: var(--font-en);
}
.recruitMessageBody .signature .name {
  margin-top: 1rem;
  font-size: 2.4rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .recruitMessage {
    margin-top: 15rem;
    margin-bottom: 10rem;
    min-height: initial;
    min-height: auto;
  }
  .recruitMessage .indexSectionLabel {
    padding-top: 0;
  }
  .recruitMessageImg {
    margin: 0 -2rem 0 auto;
    position: static;
    width: 27rem;
  }
  .recruitMessage .indexSectionLogo {
      top: auto;
      bottom: 7.7rem;
      left: 7.7rem;
  }

  .recruitMessageBody {
    margin-top: 0;
    margin-bottom: 3rem;
    width: auto;
    font-size: 1.4rem;
    line-height: calc(24/14);
  }
  .recruitMessageBody p {
    margin-bottom: 2em;
  }
  .recruitMessageBody .signature .title {
    font-size: 1.2rem;
  }
  .recruitMessageBody .signature .name {
    margin-top: .8rem;
    font-size: 1.8rem;
  }
}

.recruitJobs {
  padding-left: 0;
  padding-right: 0;
  width: 125rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 7rem;
}
.recruitJobs .jobSectionListBlock {
  margin-top: 5rem;
}
.recruitInterviews {
  margin-bottom: 10rem;
  padding-left: 0;
  padding-right: 0;
}
.recruitInterviews .indexSectionHeader {
  position: absolute;
  top: 0;
  right: 12.5rem;
  width: 50rem;
}
.recruitInterviews .indexSectionLogo {
  position: absolute;
  top: 3rem;
  left: 0;
}
.recruitInterviews .recruitInterviewsLead {
  line-height: calc(32/17)
}
@media screen and (max-width: 767px) {
  .recruitJobs {
    width: auto;
    margin-bottom: 2rem;
  }
  .recruitJobs .indexSectionHeader {
    position: static;
    width: auto;
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .recruitJobs .jobSectionListBlock {
    margin-top: 4rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .recruitInterviews .indexSectionHeader {
    position: static;
    width: auto;
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .recruitInterviews .indexSectionLogo {
    position: absolute;
    top: 6rem;
    left: 2rem;
  }
  .recruitInterviews .recruitInterviewsLead {
    line-height: calc(24/14)
  }
}

.recruitAntelopeBlock {
  position: relative;
  margin:0 auto 0;
  width: 100rem;
  min-height: 32rem;
  color: var(--color-white);
  background: #A61F36;
}
  .recruitInterviews .recruitAntelopeBlock {
    margin-top: -16rem;
    padding: 2.4rem 3rem 1.4rem;
    width: 100rem;
    box-sizing: border-box;
    color: var(--color-white);
    background: #A61F36;
  }
.recruitAntelopeBlock .blockHeader {
  margin-bottom: 2.8rem;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
}
.recruitAntelopeBlock .blockTitle {
  font-family: var(--font-en);
  letter-spacing: 0;
  font-size: 3.6rem;
  font-weight: bold;
}
.recruitAntelopeBlock .blockLabel {
  margin-right: 1.6rem;
  width: 25rem;
}
.recruitAntelopeBlock .antelopeList {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
}
.recruitAntelopeBlock .antelopeListBox {
  width: 46.5rem;
  margin-bottom: 1rem;
}
.recruitAntelopeBlock .antelopeListBox:nth-of-type(odd) {
  margin-right: 1rem;
}
.recruitAntelopeBlock .antelopeListBox a {
  display: -webkit-flex;
  display: flex;
  width: 100%;
  align-items: center;
  color: var(--color-base);
  background: var(--color-white);
}
.recruitAntelopeBlock .antelopeListBox .boxImage {
  width: 11.2rem;
  position: relative;
}
.recruitAntelopeBlock .antelopeListBox .boxImage:after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  content: '';
  background-color: rgba(52,52,52,0.3);
  transition: var(--transition-all);
  opacity: 0;
}
.recruitAntelopeBlock .antelopeListBox a:hover .boxImage:after {
  opacity: 1;
}

.recruitAntelopeBlock .antelopeListBox .boxBody {
  padding: 2rem;
  flex: 1;
  position: relative;
}
.recruitAntelopeBlock .antelopeListBox .btnArrow  {
  position: absolute;
  right: 3rem;
  top: calc(50% - 0.3rem);
}
.recruitAntelopeBlock .antelopeListBox a:hover .name {
  text-decoration: underline;
}
.recruitAntelopeBlock .antelopeListBox a[target="_blank"] .name {
  display: inline-block;
  margin-right: 0.8rem;
  padding-right: 3rem;
  position: relative;
  background: url(../images/common/icon_blank.svg) right .2rem no-repeat;
}

@media screen and (max-width: 767px) {
  .recruitInterviews .recruitAntelopeBlock {
    margin-top: -21rem;
    margin-left: 2rem;
    margin-right: 2rem;
    padding: 2.4rem 2rem 1.4rem;
    width: auto;
    box-sizing: border-box;
  }
  .recruitAntelopeBlock .blockHeader {
    margin-bottom: 1.5rem;
    flex-direction: column;
  }
  .recruitAntelopeBlock .blockTitle {
    font-size: 2.6rem;
  }
  .recruitAntelopeBlock .blockLabel {
    margin-bottom: .5rem;
    margin-right: 0;
    width: 60%;
  }
  .recruitAntelopeBlock .antelopeListBox {
    width: 100%;
  }
  .recruitAntelopeBlock .antelopeListBox:nth-of-type(odd) {
    margin-right: 0;
  }
  .recruitAntelopeBlock .antelopeListBox a {
  }
  .recruitAntelopeBlock .antelopeListBox .boxImage {
    width: 8rem;
  }
  .recruitAntelopeBlock .antelopeListBox .boxBody {
    font-size: 1.5rem;
    padding: 1.6rem;
  }
  .recruitAntelopeBlock .antelopeListBox .btnArrow  {
    position: absolute;
    right: 1.6rem;
    top: calc(50% - 0.1rem);
    border: none;
  }

}

.recruitInterviewsBlock {
  padding-top: 38rem;
}
.recruitInterviewsBlock > .inner {
  padding-top: 1px;
  padding-bottom: 16rem;
  position: relative;
}
.recruitInterviewsBlock .interviewsList {
  margin-top: -7rem;
  margin-left: auto;
  margin-right: auto;
  width: 125rem;
}
.recruitInterviewsBlock .interviewsList .interviewsBox {
  margin-bottom: 12rem;
/*  margin-right: 8.5rem;*/
  margin-right: 7.5rem;
  width: 36rem;
}
.recruitInterviewsBlock .interviewsList .interviewsBox:nth-of-type(3n+1) {
  margin-top: -20rem;
}
.recruitInterviewsBlock .interviewsList .interviewsBox:nth-of-type(3n+2) {
  margin-top: -10rem;
}
.recruitInterviewsBlock .interviewsList .interviewsBox:nth-of-type(3n) {
    margin-right: 0;
}
.recruitInterviewsBlock .interviewsList .interviewsBox a {
    transition: var(--transition-op);
}
.recruitInterviewsBlock .interviewsList .interviewsBox .interviewImg {
  position: relative;
}
.recruitInterviewsBlock .interviewsList .interviewsBox .interviewImg:after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  content: '';
  background-color: rgba(52,52,52,0.3);
  transition: var(--transition-all);
  opacity: 0;
}
.recruitInterviewsBlock .interviewsList .interviewsBox a:hover .interviewImg:after {
  opacity: 1;
}
.recruitInterviewsBlock .interviewsList .interviewsBox a:hover .interviewName {
/*    opacity: 0.7;*/
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .recruitInterviewsBlock {
    padding-top: 12.5rem;
  }
  .recruitInterviewsBlock > .inner {
    padding-bottom: 22rem;
  }
  .recruitInterviewsBlock .interviewsList {
    margin-top: -7rem;
    padding-left: 2rem;
    padding-right: 2rem;
    width: auto;
  }

  .recruitInterviewsBlock .interviewsList .interviewsBox {
    margin-bottom: 6rem;
    margin-right: 0;
    width: 15.8rem;
  }
  .recruitInterviewsBlock .interviewsList .interviewsBox:nth-of-type(3n+1) {
    margin-top: 0;
  }
  .recruitInterviewsBlock .interviewsList .interviewsBox:nth-of-type(3n+2) {
    margin-top: 0;
  }
  .recruitInterviewsBlock .interviewsList .interviewsBox:nth-of-type(odd) {
    margin-top: -4rem;
    margin-right: 1.9rem;
  }
}

/* =============================================================================
 otherInterviews
============================================================================= */
.otherInterviews .sectionLabel {
/*  padding: 0 4.5rem;*/
  padding: 0 12.5rem;
  font-size: 1.4rem;
  line-height: calc(38/14);
  color: var(--color-red);
  font-family: var(--font-en);
  font-weight: bold;
}
.otherInterviews .sectionTitle {
  margin-bottom: -6rem;
/*  padding: 0 4.5rem;*/
  padding: 0 12.5rem;

}
.otherInterviewsList {
/*  padding: 10.8rem 4.5rem 15rem;*/
  padding: 10.8rem 12.5rem 15rem;
  position: relative;
  overflow-x: hidden;
}
.otherInterviewsList .slick-list {
  overflow: visible;
}
.otherInterviewsList .interviewsBox {
  width: 28rem;
}
@media screen and (max-width: 767px) {
  .otherInterviews .sectionLabel {
    padding: 0 2rem;
    font-size: 1.3rem;
    line-height: calc(38/13);
  }
  .otherInterviews .sectionTitle {
    margin-bottom: -5rem;
    padding: 0 2rem;
  }
  .otherInterviewsList {
    padding: 8.4rem 2rem 10rem;
  }
  .otherInterviewsList .slick-list {
  }
  .otherInterviewsList .interviewsBox {
    width: 14.4rem;
  }
}

.otherInterviewsSlide {
    margin-right: 4.4rem;
}
.otherInterviewsList .slick-arrow {
    top: 0;
    position: absolute;
    right: 12.5rem;
}
.otherInterviewsList .slick-prev {
    right: 20.9rem;
}
@media screen and (max-width: 767px) {
  .otherInterviewsSlide {
      margin-right: 2rem;
  }
  .otherInterviewsList .slick-arrow {
      top: 0;
      position: absolute;
      right: 2rem;
  }
  .otherInterviewsList .slick-prev {
      right: 8rem;
  }
}


/* =============================================================================
 recruitDetailContents
============================================================================= */
.recruitDetailContents .section.-flex {
  padding-top: 10rem;
  padding-bottom: 2rem;
}
.recruitDetailContents .heroBNRBtnList {
  
}
@media screen and (max-width: 767px) {
  .recruitDetailContents .section.-flex {
    padding: 5rem 2rem 3rem;
  }
  .recruitDetailContents .section.-flex + .btnBlock {
    padding-top: 5rem;
  }
}

/* =============================================================================
 heroBNRBtnListWrap
============================================================================= */
.heroBNRBtnListWrap {
  padding-bottom: 1px;
  margin-bottom: 43rem;
}
.heroBNRBtnListWrap .heroBNRBtnList {
  margin-bottom: -29rem;
}
@media screen and (max-width: 767px) {
  .heroBNRBtnListWrap {
    margin-bottom: 38rem;
  }
  .heroBNRBtnListWrap .heroBNRBtnList {
    margin-bottom: -30rem;
  }
}

/* =============================================================================
 portfolioDataBox
============================================================================= */
.portfolioDataBox {
  width: 100%;
  flex-wrap: nowrap;
}
.portfolioDataBox a {
  color: var(--color-blue);
  text-decoration: underline;
  transition: var(--transition-all);
}
.portfolioDataBox a:hover {
  text-decoration: none;
}
.portfolioDataBox .portfolioDataBody {
  flex: 1;
}
.portfolioDataBox .portfolioDataImg {
/*  padding-left: 3rem;*/
  padding: 3.7rem 4.1rem;
  width: 36rem;
  height: 24rem;
  border: 1px var(--color-gray) solid;
  
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
}
.portfolioDataBox .portfolioDataImg img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  
}
.portfolioDataBox .portfolioName {
  margin-right: .5em;
  margin-bottom: 3.6rem;
  font-size: 4.6rem;
  line-height: calc(68/46);
}
.portfolioDataBox .portfolioDataList {
  line-height: calc(32/17);
}
.portfolioDataBox .portfolioDataList p {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .portfolioDataBox {
    flex-direction: column;
  }
  .portfolioDataBox a {
  }
  .portfolioDataBox a:hover {
  }
  .portfolioDataBox .portfolioDataBody {
    flex: 1;
    margin-bottom: 2rem;
  }
  .portfolioDataBox .portfolioDataImg {
    width: 100%;
    height: 22.3rem;
  }
  .portfolioDataBox .portfolioName {
    margin-right: 0;
    margin-bottom: 2.5rem;
    font-size: 2.4rem;
    line-height: calc(34/24);
  }
  .portfolioDataBox .portfolioDataList {
    line-height: calc(24/14);
  }
}

/* =============================================================================
 portfolioVisualBox
============================================================================= */
.portfolioVisualBox {
  margin-top: 0;
}
.portfolioVisualBox video {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .portfolioVisualBox {
    margin-top: 0;
  }
}

/* =============================================================================
 interviewDataBox
============================================================================= */
.interviewDataBox {
  width: 100%;
  flex-wrap: nowrap;
  margin-bottom: 4rem;
}
.sectionBody .interviewDataBox:last-of-type {
  margin-bottom: 0;
}
.interviewDataBox .interviewDataBody {
  flex: 1;
}
.interviewDataBox .interviewDataImg {
  padding-left: 3rem;
  width: 36rem;
}
.interviewDataBox .interviewName {
  width: 100%;
  flex-wrap: nowrap;
}
@media screen and (max-width: 767px) {
  .interviewDataBox {
    flex-direction: column;
    margin-bottom: 4rem;
  }
  .interviewDataBox .interviewDataImg {
    padding-top: 4rem;
    padding-left: 0rem;
    width: 100%;
  }
}

/* =============================================================================
 portfolioIndexContents
============================================================================= */
.portfolioIndexContents .pager {
  margin-top: -8rem;
  padding-top: 0;
  padding-bottom: 15rem;
}
@media screen and (max-width: 767px) {
  .portfolioIndexContents .pager {
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 15rem;
  }
}
.portfolioNav {
  margin-bottom: 8rem;
}
.portfolioListBlock {
/*  margin-bottom: -10rem;*/
}

/* =============================================================================
 columnList portfolioList
============================================================================= */
.-columnList {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
}
  .simpleCarousel .portfolioList {
    padding-bottom: 15rem;
    flex-wrap: nowrap;
    justify-content: space-between;
  }

.-columnListBox {
  width: 38rem;
  margin-right: 5.5rem;
}
.-columnListBox:nth-of-type(3n) {
  margin-right: 0;
}
  .portfolioList .portfolioListBox {
    margin-bottom: 10rem;
  }
  .portfolioList.simpleCarousel .portfolioListBox {
    margin-right: 0;
    margin-bottom: 0;
  }

.portfolioList .portfolioListBox a {
    transition: var(--transition-op);
}
.portfolioList .portfolioListBox a:hover {
    opacity: 0.7;
}
.portfolioList .portfolioListBox .caseTitle {
  margin-bottom: 1.5rem;
  font-size: 2rem;
}
.portfolioList .portfolioListBox .caseImg {
    width: 38rem;
    height: 25.4rem;
}
.portfolioList .portfolioListBox .caseImg img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.portfolioList .portfolioListBox .articleCats li {
  font-size: 1.4rem;
  line-height: calc(26/14);
}
.portfolioList .portfolioListBox .articleCats li p {
  display: inline-block;
}

.portfolioList .portfolioListBox .articleCats li {
  display: -webkit-flex;
  display: flex;
}
.portfolioList .portfolioListBox .articleCats li.classification_c span:first-of-type {
  width: 3.7em;
  min-width: 37px;
}
.portfolioList .portfolioListBox .articleCats li.business span:first-of-type {
  width: 5.7em;
  min-width: 57px;
}
.portfolioList .portfolioListBox .articleCats li.approach_c span:first-of-type {
  width: 6.7em;
  min-width: 67px;
}
.portfolioList .portfolioListBox .articleCats li.fund_c span:first-of-type {
  width: 5.7em;
  min-width: 57px;
}
.portfolioList .portfolioListBox .articleCats li.status_c span:first-of-type {
  width: 6.7em;
  min-width: 67px;
}
.portfolioList .portfolioListBox .articleCats li span:last-of-type {
  flex: 1;
}

@media screen and (max-width: 767px) {
  .portfolioListContent .sectionTitle {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .portfolioNav {
    margin-top: -3rem;
    margin-bottom: 3rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .portfolioListBlock {
    margin-bottom: -6em;
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .portfolioList .portfolioListBox {
    margin-right: 0;
    margin-bottom: 6rem;
    width: 100%;
  }
  .portfolioList .portfolioListBox .caseTitle {
    margin-bottom: 1rem;
    font-size: 1.7rem;
    line-height: calc(27/17);
  }
  .portfolioList .portfolioListBox .caseImg {
      width: 33.5rem;
      height: 22.3rem;
  }
  .portfolioList .portfolioListBox .articleCats li {
    font-size: 1.3rem;
    line-height: calc(23/13);
  }
  
  .simpleCarousel {
    margin: 0;
    padding-bottom: 5rem;
    width: calc(100%);
    overflow: hidden;
  }
  .simpleCarousel .portfolioList {
    padding-bottom: 0;
    width: auto;
    overflow: auto;
  }
  .simpleCarousel .portfolioListBox {
    margin-right: 3rem;
    width: 30rem;
    min-width: 30rem;
  }
  .simpleCarousel .portfolioListBox:first-of-type {
    margin-left: 2rem;
  }
  .simpleCarousel .portfolioListBox:last-of-type {
    margin-right: 2rem;
  }
  .simpleCarousel .portfolioList .portfolioListBox .caseImg {
      padding: 3.1rem 3.4rem;
      width: 30rem;
      height: 20rem;
  }
}


/* =============================================================================
 jobSectionListBox
============================================================================= */
.jobSectionListBox {
  margin-bottom: 7rem;
}
.jobSectionListTitle {
  margin: 3rem 0 2rem;
  font-size: 2.2rem;
  line-height: calc(34/22);
}
@media screen and (max-width: 767px) {
  .jobSectionListBlock {
    padding-bottom: 4rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .jobSectionList .jobSectionListBox {
      margin-right: 0;
      margin-bottom: 6rem;
      width: 100%;
  }
  .jobSectionListTitle {
    margin: 2rem 0 1.5rem;
    font-size: 2rem;
    line-height: calc(3/2);
  }
}

/* =============================================================================
 privacyBlock
============================================================================= */
.privacyBlock {
  margin-bottom: 10rem;
  line-height: calc(32/17);
}
.privacyArticle {
  margin-bottom: 6.4rem;
}
.privacyArticle h2 {
  margin-top: 6.4rem;
  margin-bottom: 0.5rem;
  font-size: 2.4rem;
  line-height: calc(32/24);
}
.privacyArticle h3 {
  margin-top: 3.2rem;
  font-size: 2rem;
  line-height: calc(32/20);
}
.privacyArticle ol li {
  margin-left: 1em;
}
@media screen and (max-width: 767px) {
  .privacyBlock {
    margin-top: -2rem;
    margin-bottom: 6.5rem;
    line-height: calc(32/17);
  }
  .privacyArticle {
    margin-bottom: 6.4rem;
  }
  .privacyArticle h2 {
    margin-top: 4rem;
    margin-bottom: 0.5rem;
    font-size: 2rem;
    line-height: calc(24/20);
  }
  .privacyArticle h3 {
    margin-top: 2.4rem;
    font-size: 1.6rem;
    line-height: calc(24/16);
  }
  .privacyArticle ol li {
    margin-left: 2.6em;
    text-indent: -2.6em;
  }
}


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

/* =============================================================================
 pageHeader
============================================================================= */
@media screen and (max-width: 767px) {
  .pageHeader {
    padding: .7rem 2rem 4rem;
  }
  .pageTitle {
    line-height: calc(36/26);
    font-size: 2.6rem;
  }
  .pageTitle.-en {
    font-size: 3.4rem;
  }
  .pageLead {
    margin-top: 3.2rem;
    line-height: calc(24/14);
    font-size: 1.4rem;
  }
  .pageLogo {
    bottom: -1.5rem;
    right: -1.2rem;
    position: absolute;
    line-height: 1.22;
    font-size: 4.6rem;
  }
}


/* =============================================================================
 pager
============================================================================= */
.pager {
  padding-top: 2.5rem;
  padding-bottom: 17rem;
  position: relative;
  display: flex;
  justify-content: center;
}
.pager a, .pager ul li span {
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  transition: var(--transition-op);
}
.pagerBtn, .pager ul li {
  width: 5rem;
  height: 5rem;
}
.pagerBtn a {
  background: var(--color-white) url(../images/common/icon_arrow_b.svg) center center / 1.6rem 1.3rem no-repeat;
}
.bgW .pagerBtn a {
  background-color: var(--color-bg);
}
.pagerBtn.-prev a {
  transform: rotate(180deg);
}
.pagerBtn.-prev {
  margin-right: 3rem;
}
.pagerBtn.-next {
  margin-left: 3rem;
}
.pager ul {
  display: flex;
  gap: 0 .6rem;
  justify-content: center;
  align-items: center;
}
.pager ul li {}
.pager ul li a, .pager ul li span {
  font-size: 1.8rem;
  font-weight: bold;
  font-family: var(--font-en);
}
.pager ul li.current a, .pager ul li.current span {
  color: var(--color-white);
  background-color: var(--color-base);
}

.pager .btn.-normalBtn .btnArrow {
    margin-left: 4rem;
}
.pager .btn.-normalBtn .btnArrow.-rev {
    margin-left: 0rem;
    margin-right: 4rem;
}


@media screen and (min-width: 768px) {
  .pager a {
    transition: var(--transition-all);
  }
  .pager ul li a:hover {
    color: var(--color-white);
    background-color: var(--color-red);
  }
  .pagerBtn a:hover {
    background-image: url(../images/common/icon_arrow.svg);
    background-position: center right 1rem;
  }
}
@media screen and (max-width: 767px) {
  .pager {
    padding-top: 1.5rem;
    padding-bottom: 10rem;
  }
  .pagerBtn, .pager ul li {
    width: 3.8rem;
    height: 3.8rem;
  }
  .pagerBtn a {
    background-size: 1.2rem 1rem;
  }
  .pagerBtn.-prev {
    margin-right: 1.6rem;
  }
  .pagerBtn.-next {
    margin-left: 1.6rem;
  }
  .pager ul li a, .pager ul li span {
    font-size: 1.5rem;
  }
  
  .pager .btn.-normalBtn .btnArrow {
      margin-left: 1rem;
  }
  .pager .btn.-normalBtn .btnArrow.-rev {
      margin-left: 0rem;
      margin-right: 1rem;
  }
}

/* =============================================================================
 aboutus page style NOW
============================================================================= */
.aboutusList {
  width: 100%;
  padding-bottom: 7rem;
}
.aboutusIndex {
  margin-left: 12.5rem;
  margin-bottom: 8rem;
  width: calc(100% - 12.5rem);
  display: -webkit-flex;
  display: flex;
  flex-direction: row-reverse;
}
.aboutusList .aboutusIndex:last-child {
  margin-bottom: 0;
}
.aboutusIndexImg {
  width: 70rem;
}
.aboutusIndexBody {
  position: relative;
  padding-left: 7rem;
  padding-right: 1rem;
/*  width: calc(100% - 70rem);*/
  flex: 1;
}
.aboutusIndexNum {
  position: absolute;
  top: 0;
  left: 0;
  font-family: var(--font-en);
  font-size: 1.6rem;
  line-height: calc(38/16);
  font-weight: bold;
  color: var(--color-red);
}
.aboutusIndexLabel {
  margin-bottom: 1.1rem;
  font-family: var(--font-en);
  font-size: 1.6rem;
  line-height: calc(38/16);
}
.aboutusIndexTitle {
  margin-bottom: 3.1rem;
  font-size: 3.8rem;
  font-weight: bold;
}
.aboutusIndexText {
  margin-bottom: 4rem;
  font-size: 1.7rem;
}

@media screen and (max-width: 767px) {
  .aboutusList {
    padding-bottom: 2rem;
  }
  .aboutusIndex {
      margin-left: 2rem;
      margin-bottom: 6rem;
      width: calc(100% - 2rem);
      flex-direction: column;
  }
  .aboutusList .aboutusIndex:last-child {
    margin-bottom: 0;
  }
  .aboutusIndexImg {
    margin-bottom: 2.3rem;
    width: 100%;
  }
  .aboutusIndexBody {
    position: relative;
    padding-left: 4rem;
    padding-right: 2rem;
    flex: 1;
  }
  .aboutusIndexNum {
    font-size: 1.3rem;
    line-height: calc(38/13);
  }
  .aboutusIndexLabel {
    margin-bottom: 1rem;
    font-size: 1.3rem;
    line-height: calc(38/13);
  }
  .aboutusIndexTitle {
    margin-bottom: 1.7rem;
    font-size: 2.3rem;
    line-height: calc(32/23);
    font-weight: bold;
  }
  .aboutusIndexText {
    margin-bottom: 2.5rem;
    font-size: 1.4rem;
    line-height: calc(24/14);
  }
}













