@charset "UTF-8";
.jpFont {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 500;
  font-style: normal; }

.enFont, header .headerL .logo .txt {
  font-family: "Cardo", serif;
  font-weight: 400;
  font-style: normal; }

/* Reset
------------------------------------------------------------*/
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

address, em {
  font-style: normal; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

th {
  font-weight: normal;
  text-align: left; }

legend {
  display: none; }

img, fieldset {
  border: 0; }

li {
  list-style-type: none; }

/* HTML5
------------------------------------------------------------*/
article, aside, dialog, figure, footer, header, hgroup, nav, section {
  display: block;
  margin: 0;
  padding: 0; }

/* scrollbug for FF
------------------------------------------------------------*/
html {
  overflow-y: scroll; }

/* Fonts
------------------------------------------------------------*/
body, button, input, select, textarea {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; }

/* Media
------------------------------------------------------------*/
object, embed {
  vertical-align: top; }

img {
  max-width: 100%;
  vertical-align: bottom;
  font-size: 0;
  line-height: 0;
  -webkit-backface-visibility: hidden; }

/* link
------------------------------------------------------------*/
a {
  color: #3E352F;
  text-decoration: underline; }
  a:hover {
    text-decoration: none; }
  a > img {
    transition: opacity .3s ease-out; }
    a > img:hover {
      opacity: .6; }

/* loader
------------------------------------------------------------*/
#loader {
  width: 100%;
  height: 100%;
  background: #fff;
  text-align: center;
  position: fixed;
  z-index: 99999;
  top: 0;
  left: 0; }
  #loader div {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }

.loaderIcon {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  margin: auto;
  position: relative;
  text-indent: -9999em;
  border-top: 4px solid #ccc;
  border-right: 4px solid #ccc;
  border-bottom: 4px solid #ccc;
  border-left: 4px solid #3E352F;
  transform: translateZ(0);
  animation: load8 1.5s infinite linear; }
  .loaderIcon::after {
    border-radius: 50%;
    width: 30px;
    height: 30px; }

@keyframes load8 {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
* {
  box-sizing: border-box;
  word-break: normal;
  overflow-wrap: anywhere;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

html {
  font-size: 62.5%; }

body {
  font-weight: 500;
  font-style: normal;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #3E352F;
  z-index: 1;
  text-size-adjust: 100%; }

/* gdpr
------------------------------------------------------------*/
.gdpr {
  position: fixed;
  right: 24px;
  bottom: 24px;
  padding: 24px;
  max-width: calc(100% - 40px);
  background: #fff;
  z-index: 1;
  opacity: 0;
  max-width: 320px;
  border: 1px solid #3E352F; }
  .gdpr p {
    margin-bottom: 16px !important; }
  .gdpr .button {
    text-align: center; }
    .gdpr .button a {
      background: #3E352F;
      color: #fff;
      text-decoration: none;
      padding: 8px 16px;
      width: 100%;
      display: inline-block;
      transition: 0.3s;
      font-family: "Cardo", serif;
      font-weight: 400;
      font-style: normal; }
      .gdpr .button a:hover {
        opacity: 0.6; }

.gdpr.view {
  opacity: 1;
  z-index: 10000000; }

/* header
------------------------------------------------------------*/
header {
  padding: 12px 24px;
  height: 72px;
  width: 92vw;
  position: fixed;
  top: 24px;
  z-index: 1000;
  left: 50%;
  transform: translateX(-50%);
  transition: 0.3s;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(255, 255, 255, 0.6); }
  header.scroll {
    background: white;
    top: 0;
    width: 100%;
    padding: 12px 40px; }
    header.scroll .globalMenu {
      top: 0 !important; }
  header .headerL {
    display: flex;
    align-items: center;
    position: relative;
    z-index: 10000;
    margin-right: 20px; }
    header .headerL .logo {
      text-decoration: none;
      transition-duration: 0.3s;
      display: flex;
      align-items: center;
      z-index: 10000;
      position: relative; }
      header .headerL .logo img {
        transition-duration: 0.3s;
        margin-right: 30px; }
      header .headerL .logo .txt {
        font-size: 1.6rem;
        font-weight: 700;
        line-height: 1.4;
        color: #3E352F;
        padding: 4px 0;
        border-left: 1px solid #3E352F;
        padding-left: 16px; }
      header .headerL .logo:hover {
        opacity: 0.6; }
  header .headerR {
    display: flex;
    align-items: center; }
  header ul.btnArea {
    margin: auto 24px auto 0 !important;
    position: relative;
    z-index: 10;
    right: 0;
    top: 0;
    display: flex;
    align-items: center; }
    header ul.btnArea li:not(:last-child) {
      margin-right: 0.4vw; }
    header ul.btnArea li a {
      font-size: 1.6rem;
      padding: 14px 12px 12px;
      text-align: center;
      text-decoration: none;
      transition: 0.3s;
      line-height: 1.4;
      display: inline-block; }
      header ul.btnArea li a:hover {
        opacity: 0.6; }
    header ul.btnArea .new a {
      color: #3E352F;
      background: #fff;
      border: 1px solid #3E352F; }
    header ul.btnArea .career a {
      color: #fff;
      background: #3E352F;
      border: 1px solid #3E352F; }
    header ul.btnArea .restaurant a {
      color: #fff;
      background: #7d7d7d;
      border: 1px solid #7d7d7d; }

/* nav
------------------------------------------------------------*/
.hamburger {
  width: 32px;
  height: 72px;
  z-index: 10000;
  position: relative;
  cursor: pointer;
  text-align: center;
  transition: 0.2s ease-out;
  display: inline-block; }
  .hamburger .line {
    position: absolute;
    right: calc(50% - 18px);
    top: 20px;
    height: 32px;
    width: 36px; }
    .hamburger .line span {
      display: block;
      position: absolute;
      width: 36px;
      height: 2px;
      right: 42px;
      background: #3E352F;
      transition: 0.3s ease-in-out; }
      .hamburger .line span:nth-child(1) {
        top: 10px;
        right: 0; }
      .hamburger .line span:nth-child(2) {
        bottom: 10px;
        right: 0;
        width: 20px; }
  .hamburger.active .line span:nth-child(1) {
    top: 14px;
    left: calc(50% - 18px);
    transform: rotate(-45deg); }
  .hamburger.active .line span:nth-child(2) {
    width: 36px;
    top: 14px;
    transform: rotate(45deg); }

.globalMenu {
  position: fixed;
  top: -24px;
  left: -5vw;
  bottom: 0;
  right: 0;
  background: #fff;
  padding: 5vh 4vw;
  transition: opacity 0.4s ease-out, visibility 0.4s ease-out !important;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% + 10vw);
  height: 100vh; }
  .globalMenu.active {
    opacity: 1;
    visibility: visible;
    pointer-events: initial;
    transform: none;
    background: #fff; }
  .globalMenu ul.menu {
    padding: 0;
    width: 92vw;
    height: 90%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: calc(1200px + 10vw);
    position: relative;
    top: 50%;
    transform: translateY(-50%); }
    .globalMenu ul.menu > li {
      padding: 0;
      margin: 0;
      flex-basis: 40%;
      max-width: 40%; }
      .globalMenu ul.menu > li:not(:first-child) {
        flex-basis: 24%;
        max-width: 24%; }
      .globalMenu ul.menu > li:not(:nth-child(3n)) {
        margin-right: 40px; }
      .globalMenu ul.menu > li li {
        margin-bottom: 48px; }
        .globalMenu ul.menu > li li.ac > a {
          color: #3E352F;
          background: #EDEBEA;
          padding: 4px 8px; }
        .globalMenu ul.menu > li li a {
          font-weight: 600;
          font-style: normal;
          font-size: clamp(1.4rem, 2vw, 2rem);
          display: inline-block;
          line-height: 1.2;
          text-decoration: none;
          color: #3E352F;
          transition: 0.3s; }
          .globalMenu ul.menu > li li a:hover {
            opacity: 0.6; }
    .globalMenu ul.menu .subMenu {
      margin-top: 15px;
      padding-left: 16px;
      position: relative; }
      .globalMenu ul.menu .subMenu:not(:last-child) {
        margin-bottom: 0; }
      .globalMenu ul.menu .subMenu::before {
        content: "";
        width: 1px;
        height: calc(100% + 8px);
        background: #3E352F;
        display: inline-block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 0;
        z-index: 1; }
      .globalMenu ul.menu .subMenu li {
        margin: 0; }
        .globalMenu ul.menu .subMenu li a {
          font-size: clamp(1rem, 2vw, 1.6rem);
          font-weight: 700;
          display: inline-block; }
        .globalMenu ul.menu .subMenu li:not(:first-child) {
          margin-top: 5px !important; }
    .globalMenu ul.menu .nest::before {
      content: none; }

/* pagetop
------------------------------------------------------------*/
.pagetop {
  display: none;
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 10;
  border: 1px solid #fff;
  width: 56px;
  height: 56px; }
  .pagetop a {
    display: inline-block;
    transition: 0.3s;
    display: inline-block;
    width: 100%;
    height: 100%;
    background: #3E352F; }
    .pagetop a:hover {
      background: #3E352F; }
    .pagetop a span {
      position: relative;
      content: "";
      width: 16px;
      height: 16px;
      top: calc(50% - 8px);
      left: calc(50% - 8px);
      display: inline-block;
      border-top: 1px solid #fff;
      border-right: 1px solid #fff;
      transform: rotate(-45deg); }

/* footer
------------------------------------------------------------*/
.footer {
  background: linear-gradient(to right, #fff, #edebea); }
  .footer .inner {
    max-width: 100%;
    padding: 0 3vw; }
    .footer .inner a {
      color: #3E352F;
      text-decoration: none;
      transition: opacity 0.3s; }
      .footer .inner a:hover {
        opacity: 0.6; }
    .footer .inner .footerT {
      padding: 80px 0;
      display: flex;
      justify-content: space-between; }
      .footer .inner .footerT .txtBox {
        width: 16%;
        min-width: 240px;
        margin-right: 6%; }
        .footer .inner .footerT .txtBox .logo img {
          display: block; }
      .footer .inner .footerT .menu {
        width: 81%;
        display: flex;
        flex-wrap: wrap; }
        .footer .inner .footerT .menu > li {
          margin-bottom: 56px;
          float: left;
          margin-right: 4%; }
          .footer .inner .footerT .menu > li:last-child {
            margin-bottom: 0; }
          .footer .inner .footerT .menu > li > a {
            font-size: 1.6rem;
            color: #3E352F;
            line-height: 1.4;
            display: inline-block;
            margin-bottom: 15px; }
        .footer .inner .footerT .menu .nestBox {
          min-width: 640px; }
          .footer .inner .footerT .menu .nestBox .nest {
            display: flex; }
            .footer .inner .footerT .menu .nestBox .nest > div {
              margin-right: 2%; }
        .footer .inner .footerT .menu .subMenu {
          position: relative;
          padding-left: 16px; }
          .footer .inner .footerT .menu .subMenu::before {
            content: "";
            width: 1px;
            height: 100%;
            background: #ccc;
            display: inline-block;
            position: absolute;
            top: 0;
            left: 0;
            z-index: 1; }
          .footer .inner .footerT .menu .subMenu li:not(:last-child) {
            margin-bottom: 4px; }
          .footer .inner .footerT .menu .subMenu li a {
            font-size: 1.3rem;
            line-height: 1.4;
            letter-spacing: 0;
            display: inline-block;
            position: relative;
            color: #3E352F; }
        .footer .inner .footerT .menu .verticalBox li:not(:last-child) {
          margin-bottom: 24px; }
  .footer .footerB {
    text-align: center;
    background: #3E352F;
    padding: 16px 0; }
    .footer .footerB .copy {
      color: #fff;
      font-size: 1.3rem;
      font-weight: 400; }

@media screen and (max-width: 1400px) {
  /* footer
  ------------------------------------------------------------*/
  .footer .inner {
    padding: 0 8vw; }
    .footer .inner .footerT {
      padding: 80px 0;
      flex-wrap: wrap;
      justify-content: center; }
      .footer .inner .footerT .txtBox {
        margin: 0 0 56px 0;
        padding-right: 0; }
      .footer .inner .footerT .menu {
        width: 100%; }
        .footer .inner .footerT .menu > li {
          margin-right: 4%; } }
@media screen and (max-width: 1200px) {
  /* footer
  ------------------------------------------------------------*/
  .footer .inner {
    padding: 0 3vw; }
    .footer .inner .footerT .menu > li {
      margin-right: 3%; }
      .footer .inner .footerT .menu > li .subMenu li a {
        font-size: 1.2rem; } }
@media screen and (max-width: 834px) {
  html {
    min-width: inherit;
    height: -webkit-fill-available; }

  /* gdpr
  ------------------------------------------------------------*/
  .gdpr {
    width: calc(100% - 32px);
    right: 16px;
    bottom: 64px;
    max-width: inherit; }

  /* header
  ------------------------------------------------------------*/
  header {
    padding: 0 0 0 10px;
    height: 60px;
    left: inherit;
    top: inherit;
    transform: none;
    width: 100%;
    background: #fff; }
    header.scroll {
      padding: 0 0 0 10px;
      background: #fff; }
    header .headerL {
      align-items: center;
      margin-right: 0; }
      header .headerL .logo img {
        width: 64%;
        margin-right: 12px; }
      header .headerL .logo .txt {
        font-size: 1rem;
        padding-left: 4px; }
    header .headerR {
      display: flex;
      align-items: center; }
    header ul.btnArea {
      margin: 0 !important;
      position: fixed;
      left: 0;
      right: 0;
      top: inherit;
      bottom: 0; }
      header ul.btnArea li {
        width: 50%; }
        header ul.btnArea li:not(:last-child) {
          margin-right: 0; }
        header ul.btnArea li a {
          width: 100%;
          padding: 12px 12px; }

  /* nav
  ------------------------------------------------------------*/
  .hamburger {
    height: 60px;
    width: 60px;
    border-radius: 0; }
    .hamburger p {
      display: none; }
    .hamburger span.menuTxt {
      bottom: 16px; }
    .hamburger .line {
      height: 23px;
      width: 36px; }
      .hamburger .line span:nth-child(1) {
        top: 0;
        right: 0; }
      .hamburger .line span:nth-child(2) {
        top: 11px;
        right: 0; }
      .hamburger .line span:nth-child(3) {
        bottom: 0;
        right: 0; }

  .globalMenu {
    padding: 120px 8vw 24px;
    top: 0; }
    .globalMenu ul.menu {
      width: 100%;
      top: 0;
      height: 100%;
      padding: 0;
      position: relative;
      top: 0;
      display: block;
      height: 100%;
      transition: transform 0.3s ease, height 0.3s ease;
      transform: translateY(0);
      overflow: scroll; }
      .globalMenu ul.menu > li {
        flex-basis: 100%;
        max-width: 100%; }
        .globalMenu ul.menu > li li {
          margin-bottom: 0;
          padding: 5px 0 7px;
          border-top: 1px solid #ccc; }
          .globalMenu ul.menu > li li a {
            font-size: 1.4rem; }
        .globalMenu ul.menu > li:not(:first-child) {
          flex-basis: 100%;
          max-width: 100%; }
        .globalMenu ul.menu > li:not(:nth-child(3n)) {
          margin-right: 0; }
      .globalMenu ul.menu .subMenu {
        width: 100%;
        height: 0;
        padding: 0;
        border-radius: 0;
        overflow: hidden;
        visibility: visible !important;
        opacity: 1 !important;
        position: static;
        box-shadow: none;
        transform: none;
        margin-top: 0 !important; }
        .globalMenu ul.menu .subMenu::before {
          content: none; }
        .globalMenu ul.menu .subMenu ul {
          display: flex;
          flex-wrap: wrap; }
          .globalMenu ul.menu .subMenu ul li {
            text-align: left;
            border-top: none;
            padding: 0;
            margin-top: 5px !important;
            width: 100%;
            line-height: 1.2; }
            .globalMenu ul.menu .subMenu ul li:not(:last-of-type) {
              border-bottom: none; }
            .globalMenu ul.menu .subMenu ul li a {
              font-size: 1.2rem;
              height: auto;
              text-decoration: none;
              transition-duration: 0.3s;
              vertical-align: middle; }
              .globalMenu ul.menu .subMenu ul li a::before {
                top: 8px !important; }
      .globalMenu ul.menu ul > li.hasChild {
        position: relative; }
        .globalMenu ul.menu ul > li.hasChild:hover {
          box-shadow: none; }
          .globalMenu ul.menu ul > li.hasChild:hover .subMenu {
            visibility: hidden;
            opacity: 0; }
            .globalMenu ul.menu ul > li.hasChild:hover .subMenu::before {
              content: none; }
        .globalMenu ul.menu ul > li.hasChild .nav__arrow {
          width: 40px;
          height: 40px;
          display: flex;
          justify-content: center;
          align-items: center;
          position: absolute;
          top: 0;
          right: 0; }
          .globalMenu ul.menu ul > li.hasChild .nav__arrow::after {
            content: "";
            width: 6px;
            height: 6px;
            border-left: 1px solid #3E352F;
            border-top: 1px solid #3E352F;
            display: inline-block;
            transform: rotate(-135deg);
            transition-duration: 0.3s; }
          .globalMenu ul.menu ul > li.hasChild .nav__arrow.ac::after {
            transform: rotate(45deg); }
          .globalMenu ul.menu ul > li.hasChild .nav__arrow.ac ~ .subMenu {
            height: auto;
            padding: 0 0 10px 0;
            border-left: 0; }
          .globalMenu ul.menu ul > li.hasChild .nav__arrow.ac ~ .nest > div {
            height: auto; }

  /* pagetop
  ------------------------------------------------------------*/
  .pagetop {
    width: 46px;
    height: 46px;
    bottom: 64px;
    right: 16px; }

  /* footer
  ------------------------------------------------------------*/
  .footer {
    padding-bottom: 56px; }
    .footer .inner {
      padding: 0 4vw; }
      .footer .inner .footerT {
        flex-wrap: wrap;
        padding: 40px 0; }
        .footer .inner .footerT .txtBox {
          margin-right: 0;
          padding-right: 0;
          width: 100%;
          margin-bottom: 16px; }
          .footer .inner .footerT .txtBox .logo img {
            width: 56%;
            margin: 0 auto;
            max-width: 320px; }
        .footer .inner .footerT .menu {
          width: 100%; }
          .footer .inner .footerT .menu > li {
            margin-bottom: 16px;
            margin-right: 0;
            width: 100%; }
            .footer .inner .footerT .menu > li > a {
              font-size: 1.4rem;
              margin-bottom: 0; }
          .footer .inner .footerT .menu .nestBox {
            min-width: 100%; }
            .footer .inner .footerT .menu .nestBox .nest {
              flex-wrap: wrap; }
              .footer .inner .footerT .menu .nestBox .nest > div {
                margin-right: 0;
                width: 100%; }
          .footer .inner .footerT .menu .verticalBox li:not(:last-child) {
            margin-bottom: 16px; }
    .footer .footerB .copy {
      font-size: 1.2rem; } }
@media screen and (max-width: 600px) {
  /* gdpr
  ------------------------------------------------------------*/
  .gdpr {
    padding: 16px; }
    .gdpr p {
      font-size: 1.4rem;
      margin-bottom: 8px !important; } }
p:not(:last-child),
ul:not(:last-child),
ol:not(:last-child),
figure:not(:last-child),
table:not(:last-child) {
  margin-bottom: 32px; }

.inner {
  max-width: calc(1400px + 10vw);
  width: 100%;
  padding: 0 5vw;
  margin: 0 auto; }
  .inner__554 {
    max-width: calc(554px + 10vw);
    width: 100%;
    padding: 0 5vw;
    margin: 0 auto; }
  .inner__s {
    max-width: calc(960px + 10vw);
    width: 100%;
    padding: 0 5vw;
    margin: 0 auto; }
  .inner__m {
    max-width: calc(1200px + 10vw);
    width: 100%;
    padding: 0 5vw;
    margin: 0 auto; }
  .inner__l {
    max-width: 100%;
    width: 100%;
    padding: 0 5vw;
    margin: 0 auto; }

.hoverNone:hover {
  opacity: 1 !important; }

/* br
------------------------------------------------------------*/
.pcBr {
  display: block; }

.spBr {
  display: none; }

/* flex
------------------------------------------------------------*/
.x2 {
  display: flex;
  flex-wrap: wrap; }
  .x2 > * {
    width: calc((100% - 20px) / 2); }
    .x2 > *:not(:nth-child(even)) {
      margin-right: 20px; }
    .x2 > *:nth-child(n + 3) {
      margin-top: 20px; }
  @media screen and (max-width: 834px) {
    .x2 > * {
      width: 100%; }
      .x2 > *:nth-child(n) {
        margin-right: 0; }
      .x2 > *:nth-child(n + 2) {
        margin-top: 20px; } }
  .x2 figure img {
    width: 100%; }

.x3 {
  display: flex;
  flex-wrap: wrap; }
  .x3 > * {
    width: calc((100% - 40px) / 3); }
    .x3 > *:not(:nth-child(3n)) {
      margin-right: 20px; }
    .x3 > *:nth-child(n + 4) {
      margin-top: 40px; }
  @media screen and (max-width: 834px) {
    .x3 > * {
      width: calc((100% - 20px) / 2); }
      .x3 > *:nth-child(n) {
        margin-right: 0; }
      .x3 > *:nth-child(odd) {
        margin-right: 20px; }
      .x3 > *:nth-child(n + 3) {
        margin-top: 30px; } }
  @media screen and (max-width: 600px) {
    .x3 > * {
      width: 100%; }
      .x3 > *:nth-child(n) {
        margin-right: 0; }
      .x3 > *:nth-child(n + 2) {
        margin-top: 30px; } }
  .x3 figure img {
    width: 100%; }

.x4 {
  display: flex;
  flex-wrap: wrap; }
  .x4 > * {
    width: calc((100% - 90px) / 4); }
    .x4 > *:not(:nth-child(4n)) {
      margin-right: 30px; }
    .x4 > *:nth-child(n + 5) {
      margin-top: 30px; }
  @media screen and (max-width: 834px) {
    .x4 > * {
      width: calc((100% - 40px) / 3); }
      .x4 > *:nth-child(n) {
        margin-right: 0; }
      .x4 > *:nth-child(odd) {
        margin-right: 40px; }
      .x4 > *:nth-child(n + 3) {
        margin-top: 40px; } }
  @media screen and (max-width: 600px) {
    .x4 > * {
      width: 100%; }
      .x4 > *:nth-child(n) {
        margin-right: 0; }
      .x4 > *:nth-child(n + 2) {
        margin-top: 20px; } }
  .x4 figure img {
    width: 100%; }

/* align
------------------------------------------------------------*/
.alignL {
  text-align: left !important; }

.alignC {
  text-align: center !important; }

.alignR {
  text-align: right !important; }

/* fs
------------------------------------------------------------*/
.fs__14 {
  font-size: 1.4rem !important; }
.fs__16 {
  font-size: 1.6rem !important; }
.fs__18 {
  font-size: 1.8rem !important; }
.fs__24 {
  font-size: 2.4rem !important; }

/* leadTxt
------------------------------------------------------------*/
.leadTxt p {
  font-size: 2rem;
  text-align: left; }

/* mt
------------------------------------------------------------*/
.mt__0 {
  margin-top: 0 !important; }
.mt__32 {
  margin-top: 32px !important; }

/* mb
------------------------------------------------------------*/
.mb__0 {
  margin-bottom: 0 !important; }
.mb__10 {
  margin-bottom: 10px !important; }
.mb__24 {
  margin-bottom: 24px !important; }
.mb__32 {
  margin-bottom: 32px !important; }
.mb__40 {
  margin-bottom: 40px !important; }
.mb__60 {
  margin-bottom: 60px !important; }

/* ml
------------------------------------------------------------*/
.ml__0 {
  margin-left: 0 !important; }

/* pt
------------------------------------------------------------*/
.pt__0 {
  padding-top: 0 !important; }

/* pb
------------------------------------------------------------*/
.p__0 {
  padding: 0 !important; }

/* pb
------------------------------------------------------------*/
.pb__0 {
  padding-bottom: 0 !important; }
.pb__10 {
  padding-bottom: 10px !important; }
.pb__20 {
  padding-bottom: 20px !important; }
.pb__24 {
  padding-bottom: 20px !important; }

/* list
------------------------------------------------------------*/
ol {
  padding-left: 20px; }
  ol > li {
    list-style-type: disc; }
    ol > li:not(:last-child) {
      margin-bottom: 10px; }
  ol.decimal {
    padding-left: 20px; }
    ol.decimal > li {
      list-style-type: decimal; }

/* cf
------------------------------------------------------------*/
.cf::after {
  content: "";
  display: block;
  clear: both; }

/* link
------------------------------------------------------------*/
.btnBox a {
  font-size: 1.7rem;
  text-decoration: none;
  color: #3E352F;
  position: relative;
  padding: 12px 0 12px 56px;
  transition: .3s;
  font-family: "Cardo", serif;
  font-weight: 600;
  font-style: normal; }
  .btnBox a::before {
    content: "";
    width: 24px;
    height: 24px;
    display: inline-block;
    border-radius: 50%;
    border: 1px solid #3E352F;
    vertical-align: middle;
    position: absolute;
    left: 0;
    top: calc(50% - 12px); }
  .btnBox a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 1px);
    left: 12px;
    width: 30px;
    height: 1px;
    border: none;
    border-bottom: 1px solid #3E352F;
    transition: .2s; }
  .btnBox a:hover::after {
    left: 20px; }

.outLink__black {
  transition: .3s;
  text-decoration: none; }
  .outLink__black:hover {
    opacity: .6; }
  .outLink__black::after {
    content: "";
    background: url(../img/i_outlink_black.svg) no-repeat center center/contain;
    width: 12px;
    height: 12px;
    display: inline-block;
    position: absolute;
    z-index: 1;
    margin: 0 8px;
    position: relative;
    top: 0; }

/* table
---------------------------------------------------------*/
.table__basic {
  width: 100%; }
  .table__basic > dl {
    display: flex; }
    .table__basic > dl > dt,
    .table__basic > dl > dd {
      padding: 24px 32px;
      border-bottom: 1px solid #ccc;
      text-align: left; }
    .table__basic > dl > dt {
      font-size: 1.8rem;
      font-weight: 700;
      width: 22%;
      border-bottom: 1px solid #3E352F;
      background: #EDEBEA; }
    .table__basic > dl > dd {
      width: 78%; }
      .table__basic > dl > dd .ttl__grayBg {
        font-size: 2rem; }
    .table__basic > dl .nest dl {
      display: flex; }
      .table__basic > dl .nest dl > dt,
      .table__basic > dl .nest dl > dd {
        padding: 8px; }
      .table__basic > dl .nest dl > dt {
        width: 16%;
        font-weight: 700; }
      .table__basic > dl .nest dl > dd {
        width: 84%; }
      .table__basic > dl .nest dl:not(:last-of-type) {
        border-bottom: 1px dotted #ccc; }
    .table__basic > dl .txtImg {
      display: flex;
      justify-content: space-between; }
      .table__basic > dl .txtImg .txt {
        width: 64%; }
        .table__basic > dl .txtImg .txt p:not(:last-child) {
          margin-bottom: 16px; }
      .table__basic > dl .txtImg figure {
        width: 32%; }
        .table__basic > dl .txtImg figure img {
          border-radius: 24px; }
  .table__basic dl:last-child dt,
  .table__basic dl:last-child dd {
    border-bottom: none; }

/* mv
---------------------------------------------------------*/
.mv {
  height: 100vh;
  overflow: hidden;
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
  background: linear-gradient(to bottom, #fff, #E9E6E5); }
  .mv__img {
    width: calc(100vw - 24vw);
    height: 100%;
    margin-left: 24vw; }
    .mv__img * {
      height: 100%; }
    .mv__img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      font-family: "object-fit: cover;"; }
  .mv__catch {
    position: absolute;
    left: 4vw;
    top: 50%;
    transform: translateY(-50%);
    z-index: 100; }

.mv__img .zoom {
  animation: zoom 10s linear 0s normal both; }

@keyframes zoom {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.15); } }
.overlay {
  background: linear-gradient(180deg, rgba(49, 41, 36, 0) 0%, rgba(49, 41, 36, 0.9) 80%);
  padding: 80vh 0 0;
  position: relative;
  opacity: 1;
  z-index: 100; }

.topBg {
  background: #fff;
  position: relative;
  z-index: 1; }

/* topConcept
------------------------------------------------------------*/
.topConcept {
  padding: 0 0 16vh;
  position: relative;
  z-index: 1; }
  .topConcept .inner .wrap {
    display: flex;
    justify-content: space-between;
    padding: 72px;
    position: relative; }
    .topConcept .inner .wrap::before {
      content: "";
      background: url(../img/line_corner.svg) no-repeat right;
      background-size: cover;
      display: inline-block;
      width: 140px;
      height: 140px;
      position: absolute;
      z-index: 1;
      left: 0;
      top: 0;
      transform: scale(-1, -1); }
    .topConcept .inner .wrap::after {
      content: "";
      background: url(../img/line_corner.svg) no-repeat right;
      background-size: cover;
      display: inline-block;
      width: 140px;
      height: 140px;
      position: absolute;
      z-index: 1;
      right: 0;
      bottom: 0; }
    .topConcept .inner .wrap .txtboxL {
      flex-basis: 40%;
      max-width: 40%;
      margin-right: 4%; }
      .topConcept .inner .wrap .txtboxL h1 {
        position: relative;
        line-height: 1.6;
        color: #fff; }
        .topConcept .inner .wrap .txtboxL h1 .jpFont {
          font-size: 3.6rem;
          display: block; }
        .topConcept .inner .wrap .txtboxL h1 .enFont, .topConcept .inner .wrap .txtboxL h1 header .headerL .logo .txt, header .headerL .logo .topConcept .inner .wrap .txtboxL h1 .txt {
          font-size: 2.8rem;
          display: block;
          margin-bottom: 16px; }
    .topConcept .inner .wrap .txtboxR {
      flex-basis: 56%;
      max-width: 56%; }
      .topConcept .inner .wrap .txtboxR p {
        color: #fff;
        line-height: 2;
        font-size: 1.8rem; }

/* topNews
------------------------------------------------------------*/
.topNews {
  padding: 120px 0 180px;
  position: relative; }
  .topNews::after {
    content: "";
    display: inline-block;
    width: 76%;
    height: 180px;
    background: linear-gradient(to right, #fff, #6C645F);
    bottom: 0;
    position: absolute;
    right: 0;
    z-index: -1; }
  .topNews .inner {
    display: flex;
    justify-content: space-between; }
    .topNews .inner .txtboxL {
      flex-basis: 24%;
      max-width: 24%; }
      .topNews .inner .txtboxL h1 {
        position: relative;
        padding-left: 40px;
        line-height: 1.6; }
        .topNews .inner .txtboxL h1::before {
          content: "";
          width: 2px;
          background: #3E352F;
          display: block;
          position: absolute;
          left: 0;
          height: calc(100% + 8px);
          top: 50%;
          transform: translateY(-50%); }
        .topNews .inner .txtboxL h1 .jpFont {
          font-size: 1.8rem; }
        .topNews .inner .txtboxL h1 .enFont, .topNews .inner .txtboxL h1 header .headerL .logo .txt, header .headerL .logo .topNews .inner .txtboxL h1 .txt {
          font-size: 4.8rem;
          display: block; }
    .topNews .inner .txtboxR {
      flex-basis: 76%;
      max-width: 76%;
      position: relative; }
      .topNews .inner .txtboxR .newsBox {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 64%;
        margin: 0 auto; }
        .topNews .inner .txtboxR .newsBox dl {
          display: flex;
          width: 100%;
          margin-bottom: 16px; }
          .topNews .inner .txtboxR .newsBox dl dt {
            flex-basis: 16%;
            max-width: 16%;
            margin-right: 8%;
            min-width: 100px; }
          .topNews .inner .txtboxR .newsBox dl dd {
            flex-basis: 76%;
            max-width: 76%; }
            .topNews .inner .txtboxR .newsBox dl dd a {
              display: inline-block;
              text-decoration: none;
              transition: 0.3s; }
              .topNews .inner .txtboxR .newsBox dl dd a:hover {
                opacity: .6; }
      .topNews .inner .txtboxR .btnBox {
        width: 72%;
        margin: 0 auto;
        text-align: right; }
    .topNews .inner .txtboxAll {
      flex-basis: 50%;
      max-width: 100%;
      height: 250px;
      margin: 0 10% 0 auto;
      position: relative;
      background-color: #fafafa;
      border: 1px solid #ccc;
      padding: 2%;
      overflow-y: scroll; }
      .topNews .inner .txtboxAll h2 {
        padding-left: 10px;
        margin-bottom: 20px;
        font-size: 1.8rem; }
      .topNews .inner .txtboxAll .newsBox {
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin: 0 auto; }
        .topNews .inner .txtboxAll .newsBox dl {
          display: flex;
          width: 100%;
          margin-bottom: 16px; }
          .topNews .inner .txtboxAll .newsBox dl dt {
            flex-basis: 16%;
            max-width: 16%;
            min-width: 100px;
            font-size: 1.4rem; }
          .topNews .inner .txtboxAll .newsBox dl dd {
            flex-basis: 84%;
            max-width: 84%; }
            .topNews .inner .txtboxAll .newsBox dl dd a {
              display: inline-block;
              text-decoration: none;
              transition: 0.3s;
              font-size: 1.4rem; }
              .topNews .inner .txtboxAll .newsBox dl dd a:hover {
                opacity: 0.6; }
      .topNews .inner .txtboxAll .btnBox {
        width: 72%;
        margin: 0 auto;
        text-align: right; }

/* topAbout
------------------------------------------------------------*/
.topAbout {
  padding-top: 0; }
  .topAbout .inner {
    position: relative;
    margin-left: 10vw;
    width: 85vw; }
    .topAbout .inner h1 {
      line-height: 1.6;
      margin-bottom: 24px;
      padding-left: 0; }
      .topAbout .inner h1 .jpFont {
        font-size: 1.8rem; }
      .topAbout .inner h1 .enFont, .topAbout .inner h1 header .headerL .logo .txt, header .headerL .logo .topAbout .inner h1 .txt {
        font-size: 4.4rem;
        display: block; }
    .topAbout .inner .btnArea {
      padding-left: 0;
      display: flex;
      flex-wrap: wrap;
      margin-bottom: 40px !important; }
      .topAbout .inner .btnArea li a {
        text-decoration: none;
        color: #3E352F;
        position: relative;
        padding: 12px 0 12px 56px;
        transition: .3s ease-out;
        text-align: left;
        display: block; }
        .topAbout .inner .btnArea li a:first-of-type {
          margin-right: 2vw; }
        .topAbout .inner .btnArea li a::before {
          content: "";
          width: 24px;
          height: 24px;
          display: inline-block;
          border-radius: 50%;
          border: 1px solid #3E352F;
          vertical-align: middle;
          position: absolute;
          left: 0;
          top: calc(50% - 15px); }
        .topAbout .inner .btnArea li a::after {
          content: "";
          display: block;
          position: absolute;
          top: calc(50% - 4px);
          left: 12px;
          width: 30px;
          height: 1px;
          border: none;
          border-bottom: 1px solid #3E352F;
          transition: .2s; }
        .topAbout .inner .btnArea li a:hover::after {
          left: 20px; }
  .topAbout .slider {
    position: relative; }
    .topAbout .slider::before {
      content: "";
      background: url(../img/line_corner_black.svg) no-repeat right;
      display: inline-block;
      width: 100px;
      height: 120px;
      position: absolute;
      z-index: 1;
      left: 4vw;
      top: -106px;
      transform: scale(-1, -1); }
  .topAbout .slick-slide img {
    width: 100%; }

/* topWork
------------------------------------------------------------*/
.topWork {
  padding-top: 104px; }
  .topWork .inner {
    max-width: calc(1200px + 20vw);
    padding: 0 10vw; }
    .topWork .inner .wrap .box {
      position: relative; }
    .topWork .inner .wrap h1 {
      margin-bottom: 40px;
      position: relative;
      line-height: 1.6;
      display: inline-block; }
      .topWork .inner .wrap h1 .jpFont {
        font-size: 3.6rem;
        display: inline-block; }
      .topWork .inner .wrap h1::after {
        content: "";
        width: 56px;
        background: #3E352F;
        display: block;
        position: absolute;
        left: calc(100% + 24px);
        height: 1px;
        top: 50%;
        transform: translateY(-50%); }
    .topWork .inner .wrap .workTxt {
      font-size: 10rem;
      color: #CDCBC9;
      line-height: 1;
      text-align: center;
      position: absolute;
      transform: rotate(-90deg);
      top: 79px;
      left: -200px;
      white-space: nowrap; }
    .topWork .inner .wrap ul li {
      position: relative;
      background: linear-gradient(to right, #0d0500, #6c645f); }
      .topWork .inner .wrap ul li a {
        transition: all 0.3s; }
        .topWork .inner .wrap ul li a:hover figure {
          opacity: .6; }
        .topWork .inner .wrap ul li a:hover .txtBox span::after {
          left: 12px; }
        .topWork .inner .wrap ul li a figure {
          transition: all 0.3s;
          margin-bottom: 0; }
      .topWork .inner .wrap ul li .txtBox {
        position: absolute;
        left: 0;
        bottom: 0;
        z-index: 10;
        margin-bottom: 0;
        opacity: 1;
        padding: 16px 24px 0;
        background: #fff; }
        .topWork .inner .wrap ul li .txtBox h2 {
          font-size: clamp(1.8rem, 2vw, 3.2rem);
          text-align: center;
          color: #3E352F;
          line-height: 1.6;
          text-align: left; }
          .topWork .inner .wrap ul li .txtBox h2 span {
            font-size: clamp(1rem, 2vw, 1.6rem);
            display: block;
            padding-left: 32px;
            position: relative; }
            .topWork .inner .wrap ul li .txtBox h2 span::before {
              content: "";
              width: 14px;
              height: 14px;
              display: inline-block;
              border-radius: 50%;
              border: 1px solid #3E352F;
              vertical-align: middle;
              position: absolute;
              left: 0px;
              bottom: 6px; }
            .topWork .inner .wrap ul li .txtBox h2 span::after {
              content: "";
              display: block;
              position: absolute;
              bottom: 14px;
              left: 8px;
              width: 16px;
              height: 1px;
              border: none;
              border-bottom: 1px solid #3E352F;
              transition: .2s; }

/* topEnvironment
------------------------------------------------------------*/
.topEnvironment {
  margin: 112px 0 0; }
  .topEnvironment h1 {
    margin-bottom: 56px;
    position: relative;
    line-height: 1.6;
    text-align: center; }
    .topEnvironment h1 span.enFont, .topEnvironment h1 header .headerL .logo span.txt, header .headerL .logo .topEnvironment h1 span.txt {
      font-size: 4.8rem;
      display: block; }
    .topEnvironment h1 span.jpFont {
      font-size: 1.8rem;
      display: block; }
  .topEnvironment ul {
    display: flex;
    align-items: center; }
    .topEnvironment ul li {
      transition: 0.3s;
      display: inline-block;
      background: linear-gradient(to right, #0d0500, #6c645f); }
      .topEnvironment ul li a {
        position: relative;
        display: inline-block;
        transition: 0.3s; }
        .topEnvironment ul li a::before {
          content: "";
          display: inline-block;
          width: 100%;
          height: 100%;
          background: linear-gradient(to right, rgba(13, 5, 0, 0.35), rgba(108, 100, 95, 0.35));
          position: absolute;
          transition: 0.3s;
          z-index: 1; }
        .topEnvironment ul li a:hover figure {
          opacity: .6; }
        .topEnvironment ul li a:hover .txtBox span::after {
          left: 12px !important; }
        .topEnvironment ul li a figure {
          margin-bottom: 0;
          transition: 0.3s; }
          .topEnvironment ul li a figure img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            font-family: "object-fit: cover;"; }
        .topEnvironment ul li a .txtBox {
          position: absolute;
          left: 0;
          bottom: 0;
          z-index: 10;
          margin-bottom: 0;
          opacity: 1;
          padding: 32px 40px; }
          .topEnvironment ul li a .txtBox h2 {
            color: #fff;
            line-height: 1.2;
            text-align: left; }
            .topEnvironment ul li a .txtBox h2 .enFont, .topEnvironment ul li a .txtBox h2 header .headerL .logo .txt, header .headerL .logo .topEnvironment ul li a .txtBox h2 .txt {
              font-size: clamp(1.6rem, 2vw, 3rem);
              margin-bottom: 16px;
              display: block; }
            .topEnvironment ul li a .txtBox h2 span.jpFont {
              font-size: 1.8rem;
              display: block;
              padding-left: 32px;
              position: relative; }
              .topEnvironment ul li a .txtBox h2 span.jpFont::before {
                content: "";
                width: 14px;
                height: 14px;
                display: inline-block;
                border-radius: 50%;
                border: 1px solid #fff;
                vertical-align: middle;
                position: absolute;
                left: 0px;
                bottom: calc(50% - 6px); }
              .topEnvironment ul li a .txtBox h2 span.jpFont::after {
                content: "";
                display: block;
                position: absolute;
                bottom: calc(50% - -1px);
                left: 8px;
                width: 16px;
                height: 1px;
                border: none;
                border-bottom: 1px solid #fff;
                transition: .2s; }
          .topEnvironment ul li a .txtBox figure {
            text-align: center; }

/* topPeople
------------------------------------------------------------*/
.topPeople {
  background: linear-gradient(to right, #fff, #EDEBEA);
  padding: 120px 0 240px; }
  .topPeople .inner {
    max-width: calc(1600px + 10vw); }
    .topPeople .inner h1 {
      font-size: 1.8rem;
      margin-bottom: 56px;
      position: relative;
      padding-left: 40px;
      line-height: 1.6; }
      .topPeople .inner h1::before {
        content: "";
        width: 2px;
        background: #3E352F;
        display: block;
        position: absolute;
        left: 0;
        height: calc(100% + 8px);
        top: 50%;
        transform: translateY(-50%); }
      .topPeople .inner h1 span {
        font-size: 4.8rem;
        display: block;
        font-family: "Cardo", serif;
        font-weight: 400;
        font-style: normal; }
    .topPeople .inner .wrap figure {
      margin-bottom: 0;
      height: 100%; }
      .topPeople .inner .wrap figure img {
        object-fit: cover;
        width: 100%;
        height: 100%; }
    .topPeople .inner .wrap .link {
      width: 100%; }
    .topPeople .inner .wrap .spNone {
      width: 100%; }
    .topPeople .inner .wrap a {
      position: relative;
      display: inline-block;
      width: 100%;
      height: 100%;
      line-height: 1.4;
      font-family: "Cardo", serif;
      font-weight: 400;
      font-style: normal; }
      .topPeople .inner .wrap a:hover .hoverBox {
        opacity: 1; }
      .topPeople .inner .wrap a:hover .ttlBtn h2::after {
        right: 12px; }
      .topPeople .inner .wrap a figure {
        margin-bottom: 0;
        width: 100%;
        height: 100%; }
        .topPeople .inner .wrap a figure img {
          width: 100%;
          height: 100%; }
    .topPeople .inner .wrap .hoverBox {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      opacity: 0;
      background: linear-gradient(to right, rgba(13, 5, 0, 0.35), rgba(108, 100, 95, 0.35));
      transition: 0.3s;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column; }
      .topPeople .inner .wrap .hoverBox h3 {
        font-size: clamp(1rem, 1vw, 1.8rem);
        color: #fff;
        text-align: center;
        margin-bottom: 8px; }
      .topPeople .inner .wrap .hoverBox p {
        font-size: clamp(1rem, 1vw, 1.3rem);
        color: #fff;
        margin-bottom: 0;
        text-align: center; }
        .topPeople .inner .wrap .hoverBox p span {
          font-size: clamp(1rem, 1vw, 1.6rem); }
    .topPeople .inner .wrap .ttlBtn {
      background: #fff;
      position: absolute;
      left: 0;
      bottom: 0;
      padding: 8px 48px 8px 16px; }
      .topPeople .inner .wrap .ttlBtn h2::before {
        content: "";
        width: 14px;
        height: 14px;
        display: inline-block;
        border-radius: 50%;
        border: 1px solid #3E352F;
        vertical-align: middle;
        position: absolute;
        right: 24px;
        top: 50%;
        transform: translateY(-50%); }
      .topPeople .inner .wrap .ttlBtn h2::after {
        content: "";
        display: block;
        position: absolute;
        top: calc(50% - 1px);
        transform: translateY(-50%);
        right: 16px;
        width: 16px;
        height: 1px;
        border: none;
        border-bottom: 1px solid #3E352F;
        transition: .2s; }
    .topPeople .inner .wrap .mainttl {
      position: relative; }
      .topPeople .inner .wrap .mainttl figure {
        width: 100%;
        height: 100%; }
        .topPeople .inner .wrap .mainttl figure img {
          width: 100%;
          height: 100%; }
      .topPeople .inner .wrap .mainttl h2 {
        font-size: clamp(2.4rem, 2.8vw, 5.6rem);
        color: #fff;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        position: absolute;
        width: 100%;
        display: inline-block;
        text-align: center;
        font-family: "Cardo", serif;
        font-weight: 400;
        font-style: normal; }
    .topPeople .inner .wrap .imgCont {
      display: flex;
      justify-content: space-between; }
      .topPeople .inner .wrap .imgCont.mt__20 {
        margin-top: 20px; }
      .topPeople .inner .wrap .imgCont.mb__20 {
        margin-bottom: 20px; }
      .topPeople .inner .wrap .imgCont .left {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        width: calc((100% - 20px) / 2); }
        .topPeople .inner .wrap .imgCont .left .box3 {
          display: flex;
          justify-content: space-between;
          width: 100%; }
          .topPeople .inner .wrap .imgCont .left .box3 .box1 {
            width: calc((100% - 20px) / 2);
            margin-right: 20px; }
            .topPeople .inner .wrap .imgCont .left .box3 .box1 figure {
              height: 100%; }
          .topPeople .inner .wrap .imgCont .left .box3 .box2 {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            width: calc((100% - 20px) / 2); }
            .topPeople .inner .wrap .imgCont .left .box3 .box2 div:last-child {
              margin-top: 20px; }
        .topPeople .inner .wrap .imgCont .left .box {
          display: flex;
          justify-content: space-between; }
          .topPeople .inner .wrap .imgCont .left .box.mt__20 {
            margin-top: 20px; }
          .topPeople .inner .wrap .imgCont .left .box.mb__20 {
            margin-bottom: 20px; }
          .topPeople .inner .wrap .imgCont .left .box > div {
            width: calc((100% - 20px) / 2); }
            .topPeople .inner .wrap .imgCont .left .box > div:first-child {
              margin-right: 20px; }
      .topPeople .inner .wrap .imgCont .right {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        width: calc((100% - 20px) / 2); }
        .topPeople .inner .wrap .imgCont .right .box3 {
          display: flex;
          justify-content: space-between; }
          .topPeople .inner .wrap .imgCont .right .box3 .box1 {
            width: calc((100% - 20px) / 2);
            margin-left: 20px; }
            .topPeople .inner .wrap .imgCont .right .box3 .box1 figure {
              height: 100%; }
          .topPeople .inner .wrap .imgCont .right .box3 .box2 {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            width: calc((100% - 20px) / 2); }
            .topPeople .inner .wrap .imgCont .right .box3 .box2 div:last-child {
              margin-top: 20px; }
        .topPeople .inner .wrap .imgCont .right .box {
          display: flex;
          justify-content: space-between; }
          .topPeople .inner .wrap .imgCont .right .box.mt__20 {
            margin-top: 20px; }
          .topPeople .inner .wrap .imgCont .right .box.mb__20 {
            margin-bottom: 20px; }
          .topPeople .inner .wrap .imgCont .right .box > div {
            width: calc((100% - 20px) / 2); }
            .topPeople .inner .wrap .imgCont .right .box > div:first-child {
              margin-right: 20px; }
    .topPeople .inner .wrap .crosstalk {
      margin-top: 20px;
      display: flex;
      justify-content: space-between; }
      .topPeople .inner .wrap .crosstalk > .img {
        flex: 430; }
        .topPeople .inner .wrap .crosstalk > .img img {
          width: 100%;
          height: 100%; }
      .topPeople .inner .wrap .crosstalk .txtImg {
        width: calc(100% - 20px);
        margin-left: 20px;
        display: flex;
        position: relative;
        flex: 1330;
        background: linear-gradient(to right, #0d0500, #6c645f); }
        .topPeople .inner .wrap .crosstalk .txtImg a {
          transition: 0.3s;
          display: flex; }
          .topPeople .inner .wrap .crosstalk .txtImg a:hover .more {
            opacity: 1; }
          .topPeople .inner .wrap .crosstalk .txtImg a:hover .more span::after {
            right: 12px; }
          .topPeople .inner .wrap .crosstalk .txtImg a:hover img {
            opacity: 0.6; }
          .topPeople .inner .wrap .crosstalk .txtImg a picture {
            flex: 450;
            width: calc((100% - 40px) / 3);
            opacity: 1;
            transition: 0.3s; }
          .topPeople .inner .wrap .crosstalk .txtImg a > figure {
            flex: 880;
            opacity: 1;
            transition: 0.3s; }
          .topPeople .inner .wrap .crosstalk .txtImg a img {
            transition: 0.3s; }
          .topPeople .inner .wrap .crosstalk .txtImg a .more {
            background: #fff;
            position: absolute;
            right: 0;
            bottom: 0;
            padding: 8px 48px 8px 16px;
            z-index: 10; }
            .topPeople .inner .wrap .crosstalk .txtImg a .more span::before {
              content: "";
              width: 14px;
              height: 14px;
              display: inline-block;
              border-radius: 50%;
              border: 1px solid #3E352F;
              vertical-align: middle;
              position: absolute;
              right: 24px;
              top: 50%;
              transform: translateY(-50%); }
            .topPeople .inner .wrap .crosstalk .txtImg a .more span::after {
              content: "";
              display: block;
              position: absolute;
              top: calc(50% - 1px);
              transform: translateY(-50%);
              right: 16px;
              width: 16px;
              height: 1px;
              border: none;
              border-bottom: 1px solid #3E352F;
              transition: .2s; }
    .topPeople .inner .wrap .restaurantCont .left {
      display: flex;
      flex: 430;
      width: inherit;
      margin-right: 20px; }
    .topPeople .inner .wrap .restaurantCont .right {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      flex: 1330;
      width: inherit; }
      .topPeople .inner .wrap .restaurantCont .right .box3 {
        display: flex;
        justify-content: space-between;
        width: 100%; }
        .topPeople .inner .wrap .restaurantCont .right .box3 > div {
          width: calc((100% - 40px) / 3);
          gap: 20px; }
      .topPeople .inner .wrap .restaurantCont .right .crosstalk .txtImg {
        margin-left: 0; }

/* topRequirement
------------------------------------------------------------*/
.topRequirement {
  padding: 120px 0;
  position: relative;
  margin-top: -240px; }
  .topRequirement .inner {
    padding: 0 0 0 4vw;
    margin: 0 0 0 auto;
    padding-right: 0; }
    .topRequirement .inner .hoverContent {
      position: relative;
      text-align: right; }
      .topRequirement .inner .hoverContent .hoverBox {
        position: relative;
        right: 0;
        transition: .3s; }
        .topRequirement .inner .hoverContent .hoverBox img {
          margin-left: 32%;
          width: calc(100% - 32%);
          display: inline-block;
          transition: .3s; }
        .topRequirement .inner .hoverContent .hoverBox.hide {
          display: none; }
    .topRequirement .inner .txtBox {
      position: absolute;
      bottom: -10px; }
      .topRequirement .inner .txtBox h1 {
        font-size: 1.8rem;
        margin-bottom: 56px;
        position: relative;
        padding-left: 40px;
        line-height: 1.6; }
        .topRequirement .inner .txtBox h1::before {
          content: "";
          width: 2px;
          background: #3E352F;
          display: block;
          position: absolute;
          left: 0;
          height: calc(100% + 8px);
          top: 50%;
          transform: translateY(-50%); }
        .topRequirement .inner .txtBox h1 span {
          font-size: 4.8rem;
          display: block; }
      .topRequirement .inner .txtBox .hoverList {
        border: 1px solid #fff; }
        .topRequirement .inner .txtBox .hoverList li {
          min-width: 544px; }
          .topRequirement .inner .txtBox .hoverList li:not(:last-child) {
            border-bottom: 1px solid #fff; }
          .topRequirement .inner .txtBox .hoverList li a {
            color: #fff;
            background: linear-gradient(to right, #3e352f, #6c645f);
            transition: 0.3s;
            padding: 16px 40px 16px 24px;
            font-size: 1.6rem;
            text-decoration: none;
            width: 100%;
            display: inline-block;
            position: relative; }
            .topRequirement .inner .txtBox .hoverList li a span {
              margin-right: 8px;
              display: inline-block;
              font-size: 2.4rem; }
            .topRequirement .inner .txtBox .hoverList li a::before {
              content: "";
              width: 24px;
              height: 24px;
              display: inline-block;
              border-radius: 50%;
              border: 1px solid #fff;
              vertical-align: middle;
              position: absolute;
              right: 40px;
              top: calc(50% - 12px); }
            .topRequirement .inner .txtBox .hoverList li a::after {
              content: "";
              display: block;
              position: absolute;
              top: calc(50% - 1px);
              right: 30px;
              width: 24px;
              height: 1px;
              border: none;
              border-bottom: 1px solid #fff;
              transition: .2s; }
            .topRequirement .inner .txtBox .hoverList li a:hover::after {
              right: 23px; }

/* entryArea
------------------------------------------------------------*/
.entryArea {
  padding-top: 80px; }
  .entryArea .ttl {
    text-align: center;
    font-size: 4.8rem;
    margin-bottom: 40px;
    line-height: 1; }
  .entryArea ul {
    display: flex;
    align-items: center; }
    .entryArea ul li {
      width: 50%;
      transition: 0.3s;
      display: inline-block;
      background: linear-gradient(to right, #3e352f, #6c645f); }
      .entryArea ul li a {
        position: relative;
        display: inline-block;
        transition: 0.3s;
        width: 100%; }
        .entryArea ul li a::before {
          content: "";
          display: inline-block;
          width: 100%;
          height: 100%;
          background: linear-gradient(to right, rgba(62, 53, 47, 0.5), rgba(108, 100, 95, 0.5));
          position: absolute;
          transition: 0.3s;
          z-index: 1; }
        .entryArea ul li a:hover .imgBox figure {
          opacity: .6; }
        .entryArea ul li a .imgBox figure {
          transition: 0.3s;
          width: 100%; }
          .entryArea ul li a .imgBox figure img {
            width: 100%;
            height: 100%;
            min-height: 320px;
            object-fit: cover;
            object-position: center;
            font-family: "object-fit: cover;"; }
        .entryArea ul li a .txtBox {
          position: absolute;
          left: 0;
          top: 50%;
          transform: translateY(-50%);
          z-index: 10;
          padding: 2vh 2vw 2vh 2vw;
          width: 100%;
          flex-direction: column;
          display: flex; }
          .entryArea ul li a .txtBox .ttl {
            font-size: 1.8rem;
            text-align: center;
            color: #fff;
            line-height: 1.6;
            margin-bottom: 2vh; }
            .entryArea ul li a .txtBox .ttl span {
              font-size: 4.4rem;
              display: block; }
          .entryArea ul li a .txtBox figure {
            text-align: center;
            max-width: 320px;
            margin: 0 auto; }

/* topFaq
------------------------------------------------------------*/
.topFaq {
  padding: 80px 0; }
  .topFaq .inner {
    max-width: calc(554px + 10vw);
    text-align: center; }
    .topFaq .inner h1 {
      text-align: center;
      font-size: 1.8rem;
      margin-bottom: 40px; }
      .topFaq .inner h1 span {
        font-size: 4.4rem;
        display: block; }
    .topFaq .inner .btnBox {
      margin-top: 24px; }
  .topFaq .faqArea .accordion dt:first-child {
    padding-top: 24px; }

/* Faq
------------------------------------------------------------*/
.faqArea .accordion {
  text-align: left; }
  .faqArea .accordion dt {
    color: #3E352F;
    background: #fff;
    border-bottom: 1px solid #ccc;
    padding: 24px 40px 24px 64px;
    font-size: 1.6rem;
    position: relative;
    cursor: pointer;
    font-weight: 700;
    transition: 0.3s; }
    .faqArea .accordion dt:hover {
      opacity: .6; }
    .faqArea .accordion dt p {
      margin: 0; }
      .faqArea .accordion dt p span {
        top: calc(50% - 2px); }
  .faqArea .accordion dd {
    background: #EDEBEA;
    padding: 24px;
    position: relative;
    display: none;
    font-weight: 700; }
  .faqArea .accordion__icon {
    display: inline-block;
    transition: 0.3s;
    margin: 0;
    width: 24px;
    height: 24px;
    position: absolute;
    left: 24px;
    top: calc(50% - 12px); }
    .faqArea .accordion__icon span {
      display: inline-block;
      transition: 0.3s;
      position: absolute;
      left: 0;
      width: 20px;
      height: 1px;
      background: #3E352F; }
  .faqArea .accordion__icon span:nth-of-type(1) {
    top: 11px;
    transform: rotate(0deg); }
  .faqArea .accordion__icon span:nth-of-type(2) {
    top: 11px;
    transform: rotate(90deg); }
  .faqArea .accordion__icon.active span:nth-of-type(1) {
    display: none; }
  .faqArea .accordion__icon.active span:nth-of-type(2) {
    top: 11px;
    transform: rotate(180deg); }

/* 下層ページ
------------------------------------------------------------*/
/* pageHead
------------------------------------------------------------*/
.pageHead {
  width: 100%;
  height: 440px;
  overflow: hidden;
  position: relative; }
  .pageHead::after {
    content: "";
    display: inline-block;
    z-index: 10;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(13, 5, 0, 0.7), rgba(108, 100, 95, 0.7));
    position: absolute;
    transition: 0.3s;
    z-index: 1; }
  .pageHead__bg {
    width: 100%;
    height: 100%;
    position: relative; }
    .pageHead__bg * {
      width: 100%;
      height: 100%; }
    .pageHead__bg img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      font-family: 'object-fit: cover;'; }
  .pageHead__txt {
    line-height: 1.6;
    text-align: center;
    justify-content: center;
    align-items: center;
    display: flex;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    z-index: 10;
    margin-top: 24px; }
    .pageHead__txt h1 {
      font-size: 2.4rem;
      text-align: center;
      color: #fff;
      display: block;
      line-height: 1.2; }
      .pageHead__txt h1 span {
        font-size: 6.4rem;
        display: block;
        width: 100%;
        margin-bottom: 24px;
        font-family: "Cardo", serif;
        font-weight: 400;
        font-style: normal; }

/* pankuzu
------------------------------------------------------------*/
.pankuzu {
  padding: 24px 0;
  display: inline-block; }
  .pankuzu ul {
    display: flex;
    align-items: center; }
    .pankuzu ul li {
      font-size: 1.3rem;
      color: #3E352F;
      display: flex;
      align-items: center; }
      .pankuzu ul li:not(:last-of-type)::after {
        content: "";
        width: 1px;
        height: 12px;
        background: #3E352F;
        margin: 0 16px;
        display: inline-block; }
      .pankuzu ul li a {
        color: #3E352F;
        text-decoration: none;
        transition: 0.3s; }
        .pankuzu ul li a:hover {
          opacity: .6; }

/* cont
------------------------------------------------------------*/
.cont__box {
  padding: 96px 0; }
.cont__box + .cont__box {
  padding-top: 0; }
.cont__firstbox {
  padding-top: 24px; }
.cont__lastbox {
  padding-bottom: 0; }

/* ttl
------------------------------------------------------------*/
.ttl__basic {
  font-size: 1.6rem;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 40px;
  position: relative;
  display: block; }
  .ttl__basic .enFont, .ttl__basic header .headerL .logo .txt, header .headerL .logo .ttl__basic .txt {
    font-size: 4.4rem;
    margin-bottom: 16px;
    display: inline-block; }
.ttl__basicSolid {
  font-size: 4rem;
  border-bottom: solid 1px #3E352F;
  display: inline-block;
  margin-bottom: 24px;
  font-weight: 500; }
.ttl__midium {
  font-size: 3.2rem;
  line-height: 1.4;
  margin-bottom: 40px;
  font-weight: 500; }
.ttl__small {
  font-size: 2.4rem;
  line-height: 1.4;
  margin-bottom: 40px;
  font-weight: 500; }
.ttl__grayBg {
  font-size: 2.4rem;
  background: #eeeeee;
  padding: 12px 16px 8px;
  margin-bottom: 16px;
  font-weight: 500; }
  .ttl__grayBg.label {
    display: flex;
    align-items: center;
    justify-content: center; }
    .ttl__grayBg.label span {
      font-size: 1.6rem;
      color: #3E352F;
      background: #fff;
      line-height: 1;
      padding: 8px 16px;
      display: inline-block;
      margin-left: 8px;
      border-radius: 100px; }
.ttl__blackSolid {
  font-size: 1.8rem;
  border-bottom: solid 1px #3E352F;
  font-weight: 500; }
.ttl__graySolid {
  font-size: 1.8rem;
  border-bottom: solid 1px #ccc;
  font-weight: 500; }
.ttl__fs18 {
  font-size: 1.8rem;
  margin: 24px 0 0 !important; }
  .ttl__fs18.mt__0 {
    margin-top: 0 !important; }
.ttl__fs24 {
  font-size: 2.4rem;
  margin: 48px 0 24px; }
.ttl__sideSolid {
  font-size: 2.4rem;
  line-height: 1.4;
  margin-bottom: 24px;
  position: relative;
  display: inline-block;
  font-weight: 500; }
  .ttl__sideSolid::after {
    content: "";
    position: absolute;
    left: calc(100% + 16px);
    display: inline-block;
    background: #3E352F;
    width: 32px;
    height: 1px;
    top: 50%; }
.ttl__smallgrad span {
  font-size: 2.2rem;
  color: #fff;
  display: inline-block;
  background: linear-gradient(to right, #3e352f, #6c645f);
  padding: 2px 2px 0 16px; }
  .ttl__smallgrad span:not(:last-child) {
    margin-bottom: 8px; }

/* bg
------------------------------------------------------------*/
.bggray {
  background: linear-gradient(to right, #3e352f, #6c645f);
  text-align: center;
  padding: 80px 0 !important; }
  .bggray h2 {
    color: #fff; }
  .bggray p {
    color: #fff; }

/* About
------------------------------------------------------------*/
.vpBox {
  text-align: center; }
  .vpBox h3 {
    font-size: 7.2rem;
    color: #CDCBC9;
    position: relative;
    margin-bottom: 80px; }
    .vpBox h3::before {
      content: "";
      width: 1px;
      background: #3E352F;
      display: block;
      position: absolute;
      left: 50%;
      top: 90%;
      height: 64px; }
  .vpBox .txtBox .ttl__fs24 {
    text-align: center;
    width: 100%;
    font-weight: 500; }
  .vpBox.pBox {
    padding-top: 64px; }

.subAbout {
  padding-top: 64px; }
  .subAbout .inner {
    position: relative;
    margin-left: 10vw;
    width: 85vw; }
    .subAbout .inner h2 {
      font-size: 4rem;
      line-height: 1.6;
      margin-bottom: 24px; }
    .subAbout .inner .btnArea {
      display: flex;
      flex-wrap: wrap;
      margin: 0 0 24px 0 !important; }
      .subAbout .inner .btnArea li a {
        text-decoration: none;
        color: #3E352F;
        position: relative;
        padding: 12px 0 12px 56px;
        text-align: left;
        display: inline-block; }
        .subAbout .inner .btnArea li a:first-of-type {
          margin-right: 2vw; }
        .subAbout .inner .btnArea li a::before {
          content: "";
          width: 24px;
          height: 24px;
          display: inline-block;
          border-radius: 50%;
          border: 1px solid #3E352F;
          vertical-align: middle;
          position: absolute;
          left: 0;
          top: calc(50% - 12px); }
        .subAbout .inner .btnArea li a::after {
          content: "";
          display: block;
          position: absolute;
          top: calc(50% - 1px);
          left: 12px;
          width: 30px;
          height: 1px;
          border: none;
          border-bottom: 1px solid #3E352F;
          transition: .2s; }
        .subAbout .inner .btnArea li a:hover::after {
          left: 20px; }
  .subAbout .slider {
    position: relative; }
    .subAbout .slider::before {
      content: "";
      background: url(../img/line_corner_black.svg) no-repeat right;
      display: inline-block;
      width: 100px;
      height: 120px;
      position: absolute;
      z-index: 1;
      left: 4vw;
      top: -106px;
      transform: scale(-1, -1); }
  .subAbout .btnBox {
    text-align: right;
    position: absolute;
    right: calc(4vw + 120px);
    margin-top: 12px; }
  .subAbout .slick-slide img {
    width: 100%; }

.aboutImgfix {
  background: url("../about/img/about_msg.jpg") no-repeat center center;
  background-attachment: fixed;
  padding: 80px 40px !important;
  position: relative;
  z-index: 10; }
  .aboutImgfix::after {
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(13, 5, 0, 0.9), rgba(108, 100, 95, 0.9));
    display: block;
    position: absolute;
    top: 0;
    left: 0; }
  .aboutImgfix .inner {
    position: relative;
    z-index: 10;
    margin: 0 auto;
    text-align: center; }
  .aboutImgfix .txtBox h2, .aboutImgfix .txtBox h3, .aboutImgfix .txtBox p {
    color: #fff; }
  .aboutImgfix .txtBox h2 {
    margin-bottom: 0; }
  .aboutImgfix .txtBox p {
    line-height: 2.4; }

.overview {
  background: linear-gradient(to right, #fff, #EDEBEA); }
  .overview__box {
    position: relative;
    text-align: center; }
    .overview__box:not(:last-child) {
      margin-bottom: 64px; }
    .overview__box p {
      position: relative;
      z-index: 10;
      text-align: left; }
    .overview__box h2 {
      text-align: center;
      font-size: 4.4rem;
      margin-bottom: 24px; }
      .overview__box h2 span {
        font-size: 1.8rem;
        position: relative;
        display: block; }

/* subWork
------------------------------------------------------------*/
.subWork {
  padding: 120px 0 0; }
  .subWork .inner .wrap {
    position: relative;
    width: 80%;
    margin: 0 auto; }
    .subWork .inner .wrap.x2wrap {
      margin: 0 0 0 auto; }
    .subWork .inner .wrap h2 {
      font-size: clamp(4rem, 8vw, 12rem);
      color: #CDCBC9;
      line-height: 1;
      text-align: center;
      position: absolute;
      transform: rotate(-90deg);
      top: 16%;
      left: -20%;
      white-space: nowrap;
      font-family: "Cardo", serif;
      font-weight: 400;
      font-style: normal; }
      .subWork .inner .wrap h2.left0 {
        left: -5%; }
    .subWork .inner .wrap .flexCenter {
      justify-content: center; }
    .subWork .inner .wrap ul li {
      position: relative;
      background: linear-gradient(to right, #0d0500, #6c645f); }
      .subWork .inner .wrap ul li:last-child {
        margin-right: 0; }
      .subWork .inner .wrap ul li a {
        transition: 0.3s; }
        .subWork .inner .wrap ul li a:hover figure {
          opacity: .6; }
        .subWork .inner .wrap ul li a:hover .txtBox span::after {
          left: 12px; }
        .subWork .inner .wrap ul li a figure {
          transition: 0.3s;
          margin-bottom: 0; }
      .subWork .inner .wrap ul li .txtBox {
        position: absolute;
        left: 0;
        bottom: 0;
        z-index: 10;
        margin-bottom: 0;
        opacity: 1;
        padding: 16px 24px 0;
        background: #fff; }
        .subWork .inner .wrap ul li .txtBox h3 {
          font-size: 3.2rem;
          text-align: center;
          color: #3E352F;
          line-height: 1.6;
          text-align: left;
          font-family: "Cardo", serif;
          font-weight: 400;
          font-style: normal; }
          .subWork .inner .wrap ul li .txtBox h3 span {
            font-size: 1.6rem;
            display: block;
            padding-left: 32px;
            position: relative;
            font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; }
            .subWork .inner .wrap ul li .txtBox h3 span::before {
              content: "";
              width: 14px;
              height: 14px;
              display: inline-block;
              border-radius: 50%;
              border: 1px solid #3E352F;
              vertical-align: middle;
              position: absolute;
              left: 0px;
              bottom: 6px; }
            .subWork .inner .wrap ul li .txtBox h3 span::after {
              content: "";
              display: block;
              position: absolute;
              bottom: 14px;
              left: 8px;
              width: 16px;
              height: 1px;
              border: none;
              border-bottom: 1px solid #3E352F;
              transition: .2s; }

 /* History
------------------------------------------------------------*/
.flowList > li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative; }
  .flowList > li:not(:last-child) {
    margin-bottom: 64px; }
  .flowList > li:last-child::before {
    height: 100%; }
  .flowList > li::before {
    content: "";
    position: absolute;
    top: 12px;
    left: 0;
    display: inline-block;
    background: #3E352F;
    width: 2px;
    height: calc(100% + 64px); }
  .flowList > li .txt {
    padding-left: 30px;
    width: 100%; }
    .flowList > li .txt dl dt {
      margin-bottom: 4px;
      display: inline-block;
      font-size: 2.4rem;
      display: flex;
      align-items: center;
      position: relative;
      text-align: left; }
      .flowList > li .txt dl dt::before {
        content: "";
        position: absolute;
        top: 11px;
        left: -33px;
        display: inline-block;
        background: #3E352F;
        width: 8px;
        height: 8px;
        border-radius: 50%; }
      .flowList > li .txt dl dt span.year {
        font-size: 3.2rem;
        color: #3E352F;
        display: inline-block;
        line-height: 1;
        flex-shrink: 0;
        margin-bottom: 8px; }
    .flowList > li .txt dl dd {
      text-align: left; }
      .flowList > li .txt dl dd p {
        font-size: 1.8rem; }
      .flowList > li .txt dl dd p:not(:last-child) {
        margin-bottom: 8px; }
      .flowList > li .txt dl dd ul {
        margin-top: 24px; }

/* Company
------------------------------------------------------------*/
.mapbgWrap {
  background: #EDEBEA;
  margin-top: 40px;
  padding: 32px; }
  .mapbgWrap .ttl__small {
    margin: 48px 0 16px; }

.mapImg {
  margin: 0 0 40px; }
  .mapImg li {
    background: #fff;
    padding: 24px; }
    .mapImg li .ttl__small {
      font-size: 2rem;
      margin: 0 0 16px;
      text-align: left; }
    .mapImg li figure img {
      width: 100%;
      height: 100%;
      width: 100%;
      object-fit: cover;
      font-family: 'object-fit: cover;'; }
    .mapImg li .googlemap iframe {
      width: 100%;
      height: 100%; }

.lineCont h3 {
  margin-bottom: 24px; }
.lineCont ul.groupCompany .ttl__small {
  font-size: 2rem;
  margin: 40px 0 8px;
  position: relative;
  padding-left: 24px;
  text-align: left; }
  .lineCont ul.groupCompany .ttl__small::before {
    content: "";
    width: 10px;
    height: 10px;
    background: #3E352F;
    display: block;
    position: absolute;
    left: 0;
    top: 14px;
    transform: translateY(-50%);
    border-radius: 100px; }
.lineCont ul.groupCompany p {
  padding-left: 24px; }
.lineCont ul.groupCompany ol {
  padding-left: 44px; }
.lineCont ul.groupCompany figure {
  padding-left: 16px; }
.lineCont ul.groupCompany > li:first-child {
  margin-bottom: 40px;
  padding-bottom: 40px;
  border: 1px solid #ccc;
  padding: 32px; }
  .lineCont ul.groupCompany > li:first-child .flexBox {
    display: flex;
    align-items: center;
    justify-content: space-between; }
  .lineCont ul.groupCompany > li:first-child .imgBox {
    width: 30%; }
    .lineCont ul.groupCompany > li:first-child .imgBox figure {
      padding-left: 0; }
    .lineCont ul.groupCompany > li:first-child .imgBox img {
      width: 80%;
      margin: 0 auto; }
  .lineCont ul.groupCompany > li:first-child .txtBox {
    text-align: left;
    width: 70%; }
    .lineCont ul.groupCompany > li:first-child .txtBox .ttl {
      font-size: 2.4rem; }
.lineCont ul.groupCompany > li:nth-child(2), .lineCont ul.groupCompany > li:nth-child(3) {
  display: flex;
  justify-content: space-between;
  margin-bottom: 64px;
  position: relative; }
  .lineCont ul.groupCompany > li:nth-child(2) > div, .lineCont ul.groupCompany > li:nth-child(3) > div {
    width: 48%;
    border: 1px solid #ccc;
    padding: 32px; }
  .lineCont ul.groupCompany > li:nth-child(2) .txtBox, .lineCont ul.groupCompany > li:nth-child(3) .txtBox {
    text-align: left; }
.lineCont ul.groupCompany > li:nth-child(3) {
  margin-bottom: 0; }
  .lineCont ul.groupCompany > li:nth-child(3) .txtBox {
    text-align: left; }
.lineCont ul.groupCompany > li:last-child .txtBox {
  text-align: left; }

/* Work
---------------------------------------------------------*/
.culmn2 {
  display: flex; }
  .culmn2 .asideArea {
    width: 22%;
    margin-right: 2%;
    align-items: flex-start;
    display: flex; }
    .culmn2 .asideArea .stickyNav {
      position: sticky;
      top: 140px; }
      .culmn2 .asideArea .stickyNav::before {
        content: "";
        position: absolute;
        display: inline-block;
        background: #CDCBC9;
        width: 1px;
        height: calc(100% - 20px);
        top: 7px;
        left: 4px; }
      .culmn2 .asideArea .stickyNav li:not(:last-of-type) {
        margin-bottom: 32px; }
      .culmn2 .asideArea .stickyNav li a {
        font-size: 1.8rem;
        line-height: 1.6;
        display: block;
        text-decoration: none;
        padding-left: 24px;
        position: relative;
        transition: 0.3s; }
        .culmn2 .asideArea .stickyNav li a::before {
          content: "";
          position: absolute;
          left: 0;
          display: inline-block;
          background: #CDCBC9;
          width: 8px;
          height: 8px;
          border-radius: 50%;
          top: 8px; }
        .culmn2 .asideArea .stickyNav li a:hover {
          opacity: .6; }
        .culmn2 .asideArea .stickyNav li a.ac::before {
          background: #3E352F; }
      .culmn2 .asideArea .stickyNav .small {
        margin-top: 10px; }
        .culmn2 .asideArea .stickyNav .small a {
          font-size: 1.4rem;
          position: relative; }
    .culmn2 .asideArea .decimal {
      padding-left: 40px; }
      .culmn2 .asideArea .decimal::before {
        left: 0; }
      .culmn2 .asideArea .decimal li:not(:last-of-type) {
        margin-bottom: 32px; }
      .culmn2 .asideArea .decimal li a {
        padding-left: 0; }
        .culmn2 .asideArea .decimal li a::before {
          left: -44px; }
  .culmn2 .mainArea {
    width: 80%; }
    .culmn2 .mainArea .cont__box {
      padding: 0 0 88px 0; }
    .culmn2 .mainArea .cont__box + .cont__box {
      padding-top: 0; }
    .culmn2 .mainArea .cont__box:last-child {
      padding-bottom: 0; }
    .culmn2 .mainArea .ttl__small {
      margin: 48px 0 24px; }

.imgList li a {
  text-decoration: none;
  transition: 0.3s; }
  .imgList li a:hover .imgBox::after {
    content: "";
    display: inline-block;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(62, 53, 47, 0.85), rgba(62, 53, 47, 0));
    position: absolute;
    left: 0;
    z-index: 0;
    opacity: 1;
    transition: 0.3s; }
  .imgList li a:hover span::after {
    left: 20px; }
  .imgList li a .imgBox {
    position: relative;
    transition: 0.3s;
    margin-bottom: 24px; }
    .imgList li a .imgBox::before {
      content: "";
      display: inline-block;
      width: 100%;
      height: 60%;
      background: linear-gradient(to top, #3e352f, rgba(62, 53, 47, 0));
      position: absolute;
      left: 0;
      bottom: 0;
      z-index: 1;
      transition: 0.3s; }
    .imgList li a .imgBox::after {
      content: "";
      display: inline-block;
      width: 100%;
      height: 100%;
      background: linear-gradient(to top, rgba(62, 53, 47, 0.5), rgba(108, 100, 95, 0));
      position: absolute;
      left: 0;
      bottom: 0;
      z-index: 0;
      opacity: 0;
      transition: 0.3s; }
    .imgList li a .imgBox p.catch {
      color: #fff;
      position: absolute;
      bottom: 5%;
      left: 10%;
      width: 80%;
      text-align: center;
      z-index: 1;
      transition: 0.3s; }
  .imgList li a .txtBox {
    width: 100%;
    display: flex;
    flex-direction: column;
    text-align: left; }
    .imgList li a .txtBox .job {
      font-size: 1.4rem;
      margin-bottom: 0; }
      .imgList li a .txtBox .job span {
        font-size: 1.4rem;
        margin-right: 16px; }
    .imgList li a .txtBox .nameYear {
      font-size: 1.6rem;
      margin-bottom: 0; }
      .imgList li a .txtBox .nameYear span {
        font-size: 2.4rem;
        margin-right: 24px; }
  .imgList li a span.more {
    text-decoration: none;
    color: #fff;
    position: absolute;
    bottom: 0;
    right: 16px;
    padding: 12px 0 12px 56px;
    transition: 0.3s;
    z-index: 1;
    font-family: "Cardo", serif;
    font-weight: 600;
    font-style: normal; }
    .imgList li a span.more::before {
      content: "";
      width: 24px;
      height: 24px;
      display: inline-block;
      border-radius: 50%;
      border: 1px solid #fff;
      vertical-align: middle;
      position: absolute;
      left: 0;
      top: calc(50% - 12px); }
    .imgList li a span.more::after {
      content: "";
      display: block;
      position: absolute;
      top: calc(50% - 1px);
      left: 12px;
      width: 30px;
      height: 1px;
      border: none;
      border-bottom: 1px solid #fff;
      transition: .2s; }
.imgList li img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  object-position: center;
  font-family: 'object-fit: cover;'; }

.imgLink a {
  text-decoration: none;
  transition: .3s;
  position: relative; }
  .imgLink a::before {
    content: "";
    display: inline-block;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(62, 53, 47, 0.5), rgba(108, 100, 95, 0.8));
    position: absolute;
    left: 0;
    z-index: 1;
    opacity: 0;
    transition: 0.3s; }
  .imgLink a:hover::before {
    content: "";
    display: inline-block;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(62, 53, 47, 0.5), rgba(108, 100, 95, 0.8));
    position: absolute;
    left: 0;
    z-index: 1;
    opacity: 1; }

/* Interview
---------------------------------------------------------*/
.indexList li a {
  text-decoration: none;
  transition: .3s; }
  .indexList li a:hover .imgBox::after {
    content: "";
    display: inline-block;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(62, 53, 47, 0.5), rgba(108, 100, 95, 0.5));
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 10;
    transition: .3s;
    opacity: 1; }
  .indexList li a:hover .imgBox .more span::after {
    left: 20px; }
  .indexList li a .imgBox {
    position: relative;
    margin-bottom: 24px;
    display: inline-block;
    transition: .3s; }
    .indexList li a .imgBox img {
      display: block;
      width: 100%; }
    .indexList li a .imgBox::before {
      content: "";
      display: inline-block;
      width: 100%;
      height: 60%;
      background: linear-gradient(to top, rgba(62, 53, 47, 0.85), rgba(62, 53, 47, 0));
      position: absolute;
      left: 0;
      bottom: 0;
      z-index: 1; }
    .indexList li a .imgBox::after {
      content: "";
      display: inline-block;
      width: 100%;
      height: 100%;
      background: transparent;
      position: absolute;
      left: 0;
      bottom: 0;
      z-index: 1;
      transition: .3s;
      opacity: 0; }
    .indexList li a .imgBox p.catch {
      font-size: 2rem;
      color: #fff;
      position: absolute;
      bottom: 32px;
      left: 10%;
      text-align: center;
      width: 80%;
      z-index: 1;
      transition: .3s; }
    .indexList li a .imgBox p.more span {
      text-decoration: none;
      color: #fff;
      position: absolute;
      bottom: 0;
      right: 16px;
      padding: 12px 0 12px 56px;
      transition: .3s;
      z-index: 1; }
      .indexList li a .imgBox p.more span::before {
        content: "";
        width: 24px;
        height: 24px;
        display: inline-block;
        border-radius: 50%;
        border: 1px solid #fff;
        vertical-align: middle;
        position: absolute;
        left: 0;
        top: calc(50% - 12px); }
      .indexList li a .imgBox p.more span::after {
        content: "";
        display: block;
        position: absolute;
        top: calc(50% - 1px);
        left: 12px;
        width: 30px;
        height: 1px;
        border: none;
        border-bottom: 1px solid #fff;
        transition: .2s; }
  .indexList li a .txtBox {
    width: 100%;
    display: flex;
    flex-direction: column;
    text-align: left; }
    .indexList li a .txtBox .job {
      font-size: 1.6rem;
      margin-bottom: 16px; }
    .indexList li a .txtBox .nameYear {
      font-size: 1.6rem; }
      .indexList li a .txtBox .nameYear span {
        font-size: 2.4rem;
        margin-right: 24px; }

.itwHead {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  position: relative; }
  .itwHead .bg {
    width: 100%;
    height: 100%;
    position: relative; }
    .itwHead .bg::after {
      content: "";
      display: inline-block;
      width: 64%;
      height: 100%;
      top: 0;
      left: 0;
      position: absolute;
      background: linear-gradient(to right, #1a1510, transparent); }
    .itwHead .bg img {
      width: 100%;
      height: 100vh;
      object-fit: cover;
      object-position: center;
      font-family: 'object-fit: cover;'; }
  .itwHead .txt {
    color: #fff;
    line-height: 1.4;
    position: absolute;
    left: 8vw;
    bottom: 15%;
    text-align: left; }
    .itwHead .txt h1 {
      font-size: 4rem;
      display: block;
      width: 100%;
      letter-spacing: 0.08em;
      font-weight: 700;
      margin-bottom: 24px;
      line-height: 1.8; }
    .itwHead .txt .numberTXt {
      font-size: 1.8rem;
      font-family: "Cardo", serif;
      font-weight: 400;
      font-style: normal;
      margin-bottom: 24px;
      align-items: center;
      display: flex; }
      .itwHead .txt .numberTXt span {
        font-size: 3.2rem;
        display: inline-block;
        margin-left: 16px;
        position: relative; }
        .itwHead .txt .numberTXt span::after {
          content: "";
          display: inline-block;
          width: 80px;
          height: 1px;
          background: #fff;
          position: absolute;
          top: 50%;
          right: -100px; }
    .itwHead .txt .prof {
      width: 100%;
      display: flex;
      flex-direction: column; }
      .itwHead .txt .prof .job {
        font-size: 2.4rem;
        margin-bottom: 16px;
        line-height: 1.6; }
      .itwHead .txt .prof .nameYear {
        font-size: 2.4rem; }
        .itwHead .txt .prof .nameYear span {
          font-size: 4rem;
          margin-left: 24px; }

.itwWrap .rv {
  display: flex;
  flex-direction: row-reverse;
  position: relative;
  background: linear-gradient(to right, #fff, #EDEBEA); }
.itwWrap .cont__box {
  display: flex;
  justify-content: space-between;
  padding: 72px 0; }
  .itwWrap .cont__box:first-child {
    padding-top: 0; }
  .itwWrap .cont__box:last-child {
    padding-bottom: 0;
    position: relative; }
    .itwWrap .cont__box:last-child::after {
      content: "";
      position: absolute;
      bottom: -100px;
      width: 80%;
      height: 60%;
      background: linear-gradient(to right, #EDEBEA, #fff);
      display: inline-block;
      z-index: -1; }
  .itwWrap .cont__box .ttlImg {
    width: 44%;
    position: relative; }
  .itwWrap .cont__box .txtBox {
    width: 56%;
    padding: 0 4vw; }
    .itwWrap .cont__box .txtBox .ttl__sideSolid {
      font-size: 2.6rem;
      text-align: left;
      font-weight: 500; }

.dayscheduleArea {
  text-align: center;
  padding: 72px 0 104px !important; }
  .dayscheduleArea .smallTxt {
    font-size: 1.6rem; }
  .dayscheduleArea .x2 {
    background: linear-gradient(to right, #3e352f, #6c645f);
    opacity: .8;
    padding: 40px 40px 40px 80px; }
  .dayscheduleArea .flowList > li {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative; }
    .dayscheduleArea .flowList > li:not(:last-child) {
      margin-bottom: 16px; }
    .dayscheduleArea .flowList > li:last-child::before {
      display: none; }
    .dayscheduleArea .flowList > li::before {
      content: "";
      position: absolute;
      top: 12px;
      left: 1px;
      display: inline-block;
      background: #fff;
      width: 1px;
      height: calc(100% + 16px);
      top: 24px;
      opacity: .4; }
    .dayscheduleArea .flowList > li .txt {
      padding-left: 30px; }
      .dayscheduleArea .flowList > li .txt dl {
        display: flex;
        align-items: center; }
        .dayscheduleArea .flowList > li .txt dl dt {
          display: inline-block;
          margin-bottom: 0;
          font-weight: 700;
          color: #fff;
          position: relative;
          text-align: left;
          min-width: 80px; }
          .dayscheduleArea .flowList > li .txt dl dt::before {
            content: "";
            position: absolute;
            left: -32px;
            display: inline-block;
            background: #fff;
            width: 8px;
            height: 8px;
            border-radius: 50%;
            top: 18px; }
          .dayscheduleArea .flowList > li .txt dl dt span.time {
            font-size: 1.6rem;
            color: #fff;
            display: inline-block;
            margin-right: 24px;
            flex-shrink: 0;
            line-height: 1.2; }
        .dayscheduleArea .flowList > li .txt dl dd {
          font-size: clamp(1.8rem, 1vw, 2rem);
          color: #fff;
          line-height: 1.4; }
          .dayscheduleArea .flowList > li .txt dl dd .small {
            font-size: 1.6rem; }
  .dayscheduleArea .palace {
    position: relative;
    margin-top: 40px; }
    .dayscheduleArea .palace .x1 {
      width: 560px;
      margin: 0 auto; }
      .dayscheduleArea .palace .x1 img {
        width: 100%; }
    .dayscheduleArea .palace .x2 {
      background: transparent;
      padding: 0;
      opacity: 1; }
    .dayscheduleArea .palace .placetowork {
      font-size: 5.6rem;
      color: #3E352F;
      opacity: .2;
      line-height: 1;
      text-align: center;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      width: 100%; }
    .dayscheduleArea .palace .ttl__basicSolid {
      font-size: 2.8rem;
      margin: 40px 0 24px; }

.mytimeArea {
  background: linear-gradient(to right, #EDEBEA, #fff);
  text-align: center;
  padding-bottom: 64px; }
  .mytimeArea .ttl__basic {
    position: relative;
    top: -32px; }
  .mytimeArea .table__basic {
    background: #fff;
    padding: 40px; }
    .mytimeArea .table__basic > dl > dt,
    .mytimeArea .table__basic > dl > dd {
      padding: 16px 24px; }

.otherArea {
  padding: 104px 0 0 !important;
  text-align: center;
  overflow: hidden; }
  .otherArea.pt__0 {
    padding-top: 0 !important; }
  .otherArea .slider {
    margin: 0 auto;
    margin: 0 auto 80px !important;
    padding: 0 30px;
    justify-content: center;
    display: flex; }
    .otherArea .slider .slick-list {
      overflow: visible; }
    .otherArea .slider .slick-slide {
      margin: 0 16px !important; }
    .otherArea .slider .slick-arrow {
      width: 48px;
      height: 48px;
      border-radius: 50%;
      cursor: pointer;
      border: none;
      outline: none;
      font-size: 0;
      position: absolute;
      top: 180px;
      z-index: 1;
      background: #3E352F;
      transition: opacity .3s; }
    .otherArea .slider .slick-prev:hover,
    .otherArea .slider .slick-prev:focus,
    .otherArea .slider .slick-next:hover,
    .otherArea .slider .slick-next:focus {
      color: #fff !important;
      background: #3E352F !important;
      opacity: .6; }
    .otherArea .slider .slick-arrow::before {
      content: '';
      display: block;
      width: 12px;
      height: 12px;
      border: 1px solid #fff;
      border-width: 1px 1px 0 0;
      position: absolute;
      top: 18px;
      transform: rotate(45deg); }
    .otherArea .slider .slick-next {
      right: 48px; }
    .otherArea .slider .slick-prev {
      left: 48px; }
    .otherArea .slider .slick-next::before {
      left: 16px; }
    .otherArea .slider .slick-prev::before {
      border-width: 0 0 1px 1px;
      right: 16px; }
    .otherArea .slider .slick-dots {
      bottom: -45px !important;
      left: 50%;
      transform: translateX(-50%); }
      .otherArea .slider .slick-dots li button:before {
        font-size: 1.6rem; }
    .otherArea .slider li {
      max-width: 320px;
      transition: 0.3s; }
      .otherArea .slider li a {
        text-decoration: none;
        transition: 0.3s; }
        .otherArea .slider li a:hover .imgBox::after {
          content: "";
          display: inline-block;
          width: 100%;
          height: 100%;
          background: linear-gradient(to right, rgba(62, 53, 47, 0.5), rgba(108, 100, 95, 0.5));
          position: absolute;
          left: 0;
          bottom: 0;
          z-index: 1;
          transition: 0.3s;
          opacity: 1; }
        .otherArea .slider li a:hover .imgBox .more span::after {
          left: 20px; }
        .otherArea .slider li a .imgBox {
          position: relative;
          transition: 0.3s;
          margin-bottom: 24px;
          display: inline-block; }
          .otherArea .slider li a .imgBox::before {
            content: "";
            display: inline-block;
            width: 100%;
            height: 60%;
            background: linear-gradient(to top, rgba(62, 53, 47, 0.85), rgba(62, 53, 47, 0));
            position: absolute;
            left: 0;
            bottom: 0;
            z-index: 1; }
          .otherArea .slider li a .imgBox::after {
            content: "";
            display: inline-block;
            width: 100%;
            height: 100%;
            background: transparent;
            position: absolute;
            left: 0;
            bottom: 0;
            z-index: 1;
            transition: 0.3s;
            opacity: 0; }
          .otherArea .slider li a .imgBox img {
            display: block;
            width: 100%; }
          .otherArea .slider li a .imgBox p.more span {
            text-decoration: none;
            color: #fff;
            position: absolute;
            bottom: 0;
            right: 16px;
            padding: 12px 0 12px 56px;
            transition: 0.3s;
            z-index: 1; }
            .otherArea .slider li a .imgBox p.more span::before {
              content: "";
              width: 24px;
              height: 24px;
              display: inline-block;
              border-radius: 50%;
              border: 1px solid #fff;
              vertical-align: middle;
              position: absolute;
              left: 0;
              top: calc(50% - 12px); }
            .otherArea .slider li a .imgBox p.more span::after {
              content: "";
              display: block;
              position: absolute;
              top: calc(50% - 1px);
              left: 12px;
              width: 30px;
              height: 1px;
              border: none;
              border-bottom: 1px solid #fff;
              transition: .2s; }
          .otherArea .slider li a .imgBox p.catch {
            font-size: 1.8rem;
            color: #fff;
            position: absolute;
            bottom: 5%;
            left: 5%;
            text-align: center;
            width: 90%;
            z-index: 1;
            transition: 0.3s; }
        .otherArea .slider li a .txtBox {
          width: 100%;
          display: flex;
          flex-direction: column;
          text-align: left; }
          .otherArea .slider li a .txtBox .job {
            font-size: 1.6rem;
            margin-bottom: 16px; }
          .otherArea .slider li a .txtBox .nameYear {
            font-size: 1.6rem; }
            .otherArea .slider li a .txtBox .nameYear span {
              font-size: 2.4rem;
              margin-right: 24px; }

/* crosstalk
------------------------------------------------------------*/
.crosstalkHead {
  width: 100%;
  height: 100%;
  position: relative; }
  .crosstalkHead__bg {
    width: 100%;
    height: 100%;
    position: relative; }
    .crosstalkHead__bg * {
      width: 100%;
      height: 100%; }
    .crosstalkHead__bg img {
      width: 100%;
      height: 100%; }
  .crosstalkHead__txt {
    text-align: center;
    padding: 64px 2vw;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0; }

.crosstalk__cont .ttl__sideSolid {
  padding-left: 48px;
  margin-top: 56px;
  display: block; }
  .crosstalk__cont .ttl__sideSolid::before {
    content: "";
    position: absolute;
    left: 0;
    display: inline-block;
    background: #3E352F;
    width: 32px;
    height: 1px;
    top: 50%; }
  .crosstalk__cont .ttl__sideSolid::after {
    content: none; }
.crosstalk__cont .imgBox {
  margin-top: 32px; }

.discussionBox dl {
  display: flex; }
  .discussionBox dl:not(:last-child) {
    margin-bottom: 32px; }
  .discussionBox dl dt {
    flex-basis: 72px;
    max-width: 72px;
    flex-shrink: 0;
    text-align: center; }
    .discussionBox dl dt figure {
      margin-bottom: 0; }
      .discussionBox dl dt figure img {
        border-radius: 50%; }
    .discussionBox dl dt span {
      display: inline-block;
      font-weight: 700; }
  .discussionBox dl dd {
    line-height: 1.4;
    position: relative;
    display: inline-block;
    padding: 15px 20px;
    width: 100%;
    background: #EDEBEA; }
.discussionBox dl dd {
  margin-left: 20px;
  background: #EDEBEA; }
  .discussionBox dl dd::before {
    content: "";
    position: absolute;
    top: 30%;
    left: 100%;
    margin-top: -8px;
    border: 8px solid transparent;
    border-left: 8px solid #EDEBEA; }
.discussionBox dl dd {
  margin-left: 20px;
  padding-bottom: 20px;
  position: relative;
  display: inline-block;
  padding: 15px 20px;
  width: 100%;
  background: #EDEBEA; }
  .discussionBox dl dd::before {
    content: "";
    position: absolute;
    top: 30%;
    left: -16px;
    margin-top: -8px;
    border: 8px solid transparent;
    border-right: 8px solid #EDEBEA; }

.otherCrosstalk.flexCenter {
  display: flex;
  justify-content: center; }
.otherCrosstalk li {
  background: linear-gradient(to right, #0d0500, #6c645f); }
.otherCrosstalk .crosstalkLink {
  transition: 0.3s;
  width: 100%;
  display: inline-block;
  position: relative; }
  .otherCrosstalk .crosstalkLink:hover {
    opacity: .6; }
  .otherCrosstalk .crosstalkLink:hover span::after {
    left: 20px; }
  .otherCrosstalk .crosstalkLink__bg {
    width: 100%;
    height: 100%;
    position: relative; }
    .otherCrosstalk .crosstalkLink__bg * {
      width: 100%;
      height: 100%; }
    .otherCrosstalk .crosstalkLink__bg img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      font-family: 'object-fit: cover;'; }
  .otherCrosstalk .crosstalkLink__txt {
    text-align: center;
    padding: 24px 1vw;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%; }
    .otherCrosstalk .crosstalkLink__txt span {
      font-size: 1.8rem;
      text-decoration: none;
      color: #fff;
      position: absolute;
      bottom: 0;
      right: 16px;
      padding: 12px 0 12px 56px;
      transition: 0.3s;
      z-index: 1; }
      .otherCrosstalk .crosstalkLink__txt span::before {
        content: "";
        width: 24px;
        height: 24px;
        display: inline-block;
        border-radius: 50%;
        border: 1px solid #fff;
        vertical-align: middle;
        position: absolute;
        left: 0;
        top: calc(50% - 12px); }
      .otherCrosstalk .crosstalkLink__txt span::after {
        content: "";
        display: block;
        position: absolute;
        top: calc(50% - 1px);
        left: 12px;
        width: 30px;
        height: 1px;
        border: none;
        border-bottom: 1px solid #fff;
        transition: .2s; }

.numberWrap {
  width: 64%;
  margin: 0 auto 56px; }

.linkImg {
  text-align: center; }
  .linkImg .inner {
    max-width: calc(1080px + 10vw);
    padding: 0 5vw; }
    .linkImg .inner .wrap {
      position: relative; }
      .linkImg .inner .wrap ul {
        display: flex;
        justify-content: center; }
        .linkImg .inner .wrap ul li {
          position: relative;
          background: linear-gradient(to right, #0d0500, #6c645f); }
          .linkImg .inner .wrap ul li:last-child {
            margin-right: 0; }
          .linkImg .inner .wrap ul li a {
            transition: 0.3s; }
            .linkImg .inner .wrap ul li a:hover figure {
              opacity: .6; }
            .linkImg .inner .wrap ul li a:hover .txtBox span::after {
              left: 12px; }
            .linkImg .inner .wrap ul li a figure {
              transition: 0.3s;
              margin-bottom: 0; }
          .linkImg .inner .wrap ul li .txtBox {
            position: absolute;
            left: 0;
            bottom: 0;
            z-index: 10;
            margin-bottom: 0;
            opacity: 1;
            padding: 16px 24px 0;
            background: #fff; }
            .linkImg .inner .wrap ul li .txtBox h3 {
              font-size: clamp(2.4rem, 3vw, 3.2rem);
              text-align: center;
              color: #3E352F;
              line-height: 1.6;
              text-align: left; }
              .linkImg .inner .wrap ul li .txtBox h3 span {
                font-size: clamp(1.4rem, 2vw, 1.6rem);
                display: block;
                padding-left: 32px;
                position: relative; }
                .linkImg .inner .wrap ul li .txtBox h3 span::before {
                  content: "";
                  width: 14px;
                  height: 14px;
                  display: inline-block;
                  border-radius: 50%;
                  border: 1px solid #3E352F;
                  vertical-align: middle;
                  position: absolute;
                  left: 0px;
                  top: calc(50% - 7px); }
                .linkImg .inner .wrap ul li .txtBox h3 span::after {
                  content: "";
                  display: block;
                  position: absolute;
                  top: calc(50% - 1px);
                  left: 8px;
                  width: 16px;
                  height: 1px;
                  border: none;
                  border-bottom: 1px solid #3E352F;
                  transition: .2s; }

/* Environmet
---------------------------------------------------------*/
.x3 li .ttl__grayBg {
  font-size: clamp(1.6rem, 1.4vw, 2.4rem); }

/* Requirement
---------------------------------------------------------*/
.accordionArea .accordion {
  text-align: left; }
  .accordionArea .accordion dt {
    color: #3E352F;
    background: #fff;
    border-bottom: 1px solid #ccc !important;
    padding: 24px 40px 24px 64px;
    font-size: 1.6rem;
    position: relative;
    cursor: pointer;
    font-weight: 700;
    transition: 0.3s; }
    .accordionArea .accordion dt:hover {
      opacity: .6; }
    .accordionArea .accordion dt p {
      margin: 0; }
      .accordionArea .accordion dt p span {
        top: calc(50% - 2px); }
  .accordionArea .accordion dd {
    background: #EDEBEA;
    padding: 24px;
    position: relative;
    display: none;
    font-weight: 700; }
  .accordionArea .accordion__icon {
    display: inline-block;
    transition: 0.3s;
    margin: 0;
    width: 24px;
    height: 24px;
    position: absolute;
    left: 24px;
    top: calc(50% - 12px); }
    .accordionArea .accordion__icon span {
      display: inline-block;
      transition: 0.3s;
      position: absolute;
      left: 0;
      width: 20px;
      height: 1px;
      background: #3E352F; }
  .accordionArea .accordion__icon span:nth-of-type(1) {
    top: 11px;
    transform: rotate(0deg); }
  .accordionArea .accordion__icon span:nth-of-type(2) {
    top: 11px;
    transform: rotate(90deg); }
  .accordionArea .accordion__icon.active span:nth-of-type(1) {
    display: none; }
  .accordionArea .accordion__icon.active span:nth-of-type(2) {
    top: 11px;
    transform: rotate(180deg); }

.triangleFlow li {
  display: flex;
  justify-content: center;
  flex-direction: column;
  text-align: center; }
  .triangleFlow li:not(:last-child) {
    margin-bottom: 24px;
    position: relative; }
    .triangleFlow li:not(:last-child)::after {
      content: "";
      display: inline-block;
      position: absolute;
      width: 0;
      height: 0;
      border-style: solid;
      border-right: 6px solid transparent;
      border-left: 6px solid transparent;
      border-top: 10px solid #3E352F;
      border-bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      top: calc(100% + 16px); }
  .triangleFlow li .imgTxtlink {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    text-decoration: none; }
    .triangleFlow li .imgTxtlink:hover figure {
      opacity: .6; }
    .triangleFlow li .imgTxtlink figure {
      border: 1px solid #ccc;
      margin: 0 16px 0 0; }
  .triangleFlow li figure {
    border: 1px dashed #ccc;
    margin: 20px 0;
    padding: 15px 10px; }
    .triangleFlow li figure figcaption {
      padding: 10px 0; }
  .triangleFlow li dl {
    width: 60%;
    margin: 0 auto; }

.linkBg {
  border: 1px solid #ccc;
  text-align: center;
  margin-top: 80px;
  padding: 32px;
  background: linear-gradient(to right, #3e352f, #6c645f); }
  .linkBg p {
    color: #fff; }
  .linkBg a {
    display: inline-block;
    margin-top: 16px;
    transition: 0.3s; }
    .linkBg a:hover {
      opacity: .6; }
  .linkBg figure {
    margin-bottom: 0; }

.linkSolid {
  border: 1px solid #ccc;
  text-align: center;
  margin-top: 80px;
  padding: 32px; }
  .linkSolid a {
    display: inline-block;
    font-size: 2rem;
    border: 1px solid #3E352F;
    text-decoration: none;
    padding: 21px 12px;
    min-width: 240px;
    margin-top: 16px;
    transition: 0.3s; }
    .linkSolid a:hover {
      opacity: .6; }

.tabList {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 30px;
  border-bottom: solid 2px #3E352F; }
  .tabList > li {
    font-size: 1.8rem;
    width: 48%;
    padding: 16px 10px 14px 10px;
    text-align: center;
    transition: all 0.3s ease-out;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #9f9d9c;
    color: #fff;
    cursor: pointer; }
    .tabList > li:hover {
      opacity: .6; }
    .tabList > li.select {
      color: #fff;
      background: #3E352F;
      pointer-events: none; }
    .tabList > li:last-of-type {
      margin-right: 0; }

.hide {
  display: none; }

/* News
---------------------------------------------------------*/
.subNewsbox a {
  text-decoration: none;
  transition: 0.3s; }
  .subNewsbox a:hover {
    opacity: .6; }
.subNewsbox dl {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #ccc;
  padding: 24px 0 24px; }
  .subNewsbox dl dt {
    max-width: 18%;
    flex-basis: 18%; }
  .subNewsbox dl dd {
    max-width: 78%;
    flex-basis: 78%;
    text-align: left; }

.newsDetail h2 {
  font-size: 2.4rem;
  display: block; }
.newsDetail dl {
  margin-bottom: 64px; }
  .newsDetail dl dt {
    font-size: 1.4rem;
    text-align: right;
    margin-bottom: 20px; }
  .newsDetail dl dd {
    display: flex;
    justify-content: space-between; }
    .newsDetail dl dd .txtBox {
      width: 48%; }
    .newsDetail dl dd .imgBox {
      width: 48%; }
      .newsDetail dl dd .imgBox figure img {
        width: 100%;
        height: auto; }

/* Sitemap
---------------------------------------------------------*/
.sitemapList {
  gap: 32px;
  display: flex;
  flex-wrap: wrap; }
  .sitemapList__box {
    width: calc((100% - 64px) / 3);
    border: 1px solid #ccc;
    padding: 32px;
    text-align: left; }
    .sitemapList__box p {
      margin-bottom: 16px; }
    .sitemapList__box a {
      font-size: 1.4rem;
      color: #3E352F;
      text-decoration: none;
      transition: 0.3s;
      text-align: left;
      display: inline-block;
      line-height: 1.4; }
      .sitemapList__box a:hover {
        opacity: .6; }
      .sitemapList__box a .enFont, .sitemapList__box a header .headerL .logo .txt, header .headerL .logo .sitemapList__box a .txt {
        font-size: 2.4rem;
        margin-right: 16px;
        color: #3E352F; }
    .sitemapList__box ul {
      padding-left: 20px;
      border-left: 1px solid #3E352F;
      margin-bottom: 16px; }
    .sitemapList__box ul + ul {
      margin-bottom: 0; }

@media screen and (max-width: 1200px) {
  /* topPeople
  ------------------------------------------------------------*/
  .topPeople .inner h1 {
    font-size: 1.6rem;
    margin-bottom: 24px;
    padding-left: 24px; }
    .topPeople .inner h1 span {
      font-size: 3.2rem; }
  .topPeople .inner .wrap .hoverBox {
    height: 80%;
    top: inherit;
    bottom: 0;
    opacity: 1;
    background: linear-gradient(to top, rgba(13, 5, 0, 0.85), rgba(108, 100, 95, 0)); }
    .topPeople .inner .wrap .hoverBox h3 {
      font-size: clamp(2rem, 2vw, 2.4rem); }
    .topPeople .inner .wrap .hoverBox p {
      font-size: clamp(1.3rem, 2vw, 1.5rem); }
      .topPeople .inner .wrap .hoverBox p span {
        font-size: clamp(1.4rem, 2vw, 1.8rem); }
  .topPeople .inner .wrap .ttlBtn h2 {
    font-size: 1.4rem; }
  .topPeople .inner .wrap .mainttl figure {
    width: 100%; }
    .topPeople .inner .wrap .mainttl figure img {
      width: 100%; }
  .topPeople .inner .wrap .mainttl h2 {
    font-size: 4rem; }
  .topPeople .inner .wrap .imgCont {
    flex-wrap: wrap; }
    .topPeople .inner .wrap .imgCont .left {
      width: 100%; }
      .topPeople .inner .wrap .imgCont .left .box3 .box1 figure img {
        height: 100% !important; }
      .topPeople .inner .wrap .imgCont .left .box {
        width: 100%; }
        .topPeople .inner .wrap .imgCont .left .box > div:first-child {
          margin-bottom: 0; }
    .topPeople .inner .wrap .imgCont .right {
      margin-top: 20px;
      width: 100%; }
      .topPeople .inner .wrap .imgCont .right .box3 .box1 figure img {
        height: 100% !important; }
      .topPeople .inner .wrap .imgCont .right .box {
        width: 100%; }
  .topPeople .inner .wrap .crosstalk > .img {
    flex: inherit;
    width: calc((100% - 20px) / 2); }
    .topPeople .inner .wrap .crosstalk > .img img {
      width: 100%;
      height: 100%; }
  .topPeople .inner .wrap .crosstalk .txtImg {
    flex: inherit;
    width: calc((100% - 20px) / 2);
    height: 320px; }
    .topPeople .inner .wrap .crosstalk .txtImg a {
      flex-direction: column-reverse;
      background: #edebea; }
      .topPeople .inner .wrap .crosstalk .txtImg a:hover .more span::after {
        right: 12px; }
      .topPeople .inner .wrap .crosstalk .txtImg a picture {
        flex: inherit;
        width: 100%;
        height: 50%; }
      .topPeople .inner .wrap .crosstalk .txtImg a > figure {
        flex: inherit;
        height: 50%; }
  .topPeople .inner .wrap .restaurantCont .left {
    flex: inherit;
    width: calc((100% - 20px) / 2); }
    .topPeople .inner .wrap .restaurantCont .left img {
      height: 100%; }
  .topPeople .inner .wrap .restaurantCont .right {
    flex: inherit;
    width: calc((100% - 20px) / 2);
    margin-top: 0; }
    .topPeople .inner .wrap .restaurantCont .right .box3 {
      width: 100%;
      flex-wrap: wrap; }
      .topPeople .inner .wrap .restaurantCont .right .box3 .link {
        width: 100%; }
      .topPeople .inner .wrap .restaurantCont .right .box3 > div {
        width: 100%; }
        .topPeople .inner .wrap .restaurantCont .right .box3 > div:not(:first-child) {
          margin-top: 20px; }
    .topPeople .inner .wrap .restaurantCont .right .crosstalk {
      width: 100%; }
      .topPeople .inner .wrap .restaurantCont .right .crosstalk .txtImg {
        width: 100%; }

  /* topWork
  ------------------------------------------------------------*/
  .topWork {
    padding-top: 48px; }
    .topWork .inner {
      padding: 0; }
      .topWork .inner .wrap {
        position: relative; }
        .topWork .inner .wrap .box {
          max-width: 100vw;
          margin: 0 auto; }
        .topWork .inner .wrap h1 {
          margin-bottom: 40px;
          text-align: center;
          display: block; }
          .topWork .inner .wrap h1 .jpFont {
            font-size: 2.6rem; }
          .topWork .inner .wrap h1::after {
            width: 1px;
            height: 32px;
            top: calc(100% + 16px);
            left: 50%; }
        .topWork .inner .wrap .workTxt {
          font-size: 5.6rem;
          position: relative;
          left: inherit;
          top: inherit;
          transform: none; }
        .topWork .inner .wrap ul li a figure img {
          width: 100%;
          height: 320px;
          -o-object-fit: cover;
          object-fit: cover;
          font-family: "object-fit: cover;";
          object-position: bottom; }
        .topWork .inner .wrap ul li .txtBox {
          padding: 16px; }
          .topWork .inner .wrap ul li .txtBox h2 {
            font-size: 3.2rem; }
            .topWork .inner .wrap ul li .txtBox h2 span {
              font-size: 1.6rem; }

  /* subWork
  ------------------------------------------------------------*/
  .subWork {
    padding: 64px 0 0; }
    .subWork .inner {
      padding: 0; }
      .subWork .inner .wrap {
        width: 100%;
        margin: 0 auto; }
        .subWork .inner .wrap h2 {
          font-size: 5.6rem;
          position: static;
          transform: none;
          top: inherit;
          left: inherit;
          margin-bottom: 24px; }
          .subWork .inner .wrap h2.left0 {
            left: inherit; } }
@media screen and (max-width: 834px) {
  p:not(:last-child),
  ul:not(:last-child),
  ol:not(:last-child),
  figure:not(:last-child),
  table:not(:last-child) {
    margin-bottom: 20px; }

  .inner {
    max-width: 92vw;
    padding: 0; }

  /* br
  ------------------------------------------------------------*/
  .pcBr {
    display: none; }

  .spBr {
    display: block; }

  /* leadTxt
  ------------------------------------------------------------*/
  .leadTxt p {
    font-size: 1.6rem; }

  /* table
  ---------------------------------------------------------*/
  .table__basic > dl {
    flex-wrap: wrap; }
    .table__basic > dl > dt,
    .table__basic > dl > dd {
      padding: 8px 16px;
      border-bottom: none; }
    .table__basic > dl > dt {
      font-size: 1.8rem;
      font-weight: 700;
      width: 100%;
      background: #EDEBEA;
      border-bottom: none; }
    .table__basic > dl > dd {
      width: 100%; }
    .table__basic > dl .nest dl {
      flex-wrap: wrap; }
      .table__basic > dl .nest dl > dt {
        width: 100%;
        padding-bottom: 0; }
      .table__basic > dl .nest dl > dd {
        width: 100%;
        padding-top: 0; }

  /* mv
  ---------------------------------------------------------*/
  .mv {
    height: 56vh;
    position: relative;
    padding-top: 60px; }
    .mv__catch {
      width: 64vw;
      margin-top: 24px; }

  .overlay {
    padding: 0;
    opacity: 1 !important; }

  /* topConcept
  ------------------------------------------------------------*/
  .topConcept {
    padding: 32px 0;
    background: linear-gradient(to right, #3e352f, #6c645f); }
    .topConcept .inner .wrap {
      flex-wrap: wrap;
      padding: 16px; }
      .topConcept .inner .wrap::before {
        width: 70px;
        height: 70px; }
      .topConcept .inner .wrap::after {
        width: 70px;
        height: 70px; }
      .topConcept .inner .wrap .txtboxL {
        flex-basis: 100%;
        max-width: 100%;
        margin-right: 0; }
        .topConcept .inner .wrap .txtboxL h1 {
          margin-bottom: 16px; }
          .topConcept .inner .wrap .txtboxL h1 .jpFont {
            font-size: 2rem; }
          .topConcept .inner .wrap .txtboxL h1 .enFont, .topConcept .inner .wrap .txtboxL h1 header .headerL .logo .txt, header .headerL .logo .topConcept .inner .wrap .txtboxL h1 .txt {
            font-size: 1.6rem; }
      .topConcept .inner .wrap .txtboxR {
        flex-basis: 100%;
        max-width: 100%; }
        .topConcept .inner .wrap .txtboxR p {
          color: #fff;
          line-height: 1.6;
          font-size: 1.4rem; }

  /* topNews
  ------------------------------------------------------------*/
  .topNews {
    padding: 32px 0 80px; }
    .topNews::after {
      height: 120px;
      bottom: 50px; }
    .topNews .inner {
      flex-wrap: wrap; }
      .topNews .inner .txtboxL {
        flex-basis: 100%;
        max-width: 100%; }
        .topNews .inner .txtboxL h1 {
          padding-left: 24px;
          margin-bottom: 24px; }
          .topNews .inner .txtboxL h1::before {
            content: "";
            width: 2px;
            background: #3E352F;
            display: block;
            position: absolute;
            left: 0;
            height: calc(100% + 8px);
            top: 50%;
            transform: translateY(-50%); }
          .topNews .inner .txtboxL h1 .jpFont {
            font-size: 1.6rem; }
          .topNews .inner .txtboxL h1 .enFont, .topNews .inner .txtboxL h1 header .headerL .logo .txt, header .headerL .logo .topNews .inner .txtboxL h1 .txt {
            font-size: 3.2rem; }
      .topNews .inner .txtboxR {
        flex-basis: 100%;
        max-width: 100%; }
        .topNews .inner .txtboxR .newsBox {
          flex-wrap: wrap;
          width: 100%; }
          .topNews .inner .txtboxR .newsBox dl {
            flex-wrap: wrap;
            width: 100%; }
            .topNews .inner .txtboxR .newsBox dl dt {
              flex-basis: 100%;
              max-width: 100%;
              margin-right: 0;
              min-width: auto; }
            .topNews .inner .txtboxR .newsBox dl dd {
              flex-basis: 100%;
              max-width: 100%; }
        .topNews .inner .txtboxR .btnBox {
          width: 72%;
          margin: 0 auto;
          text-align: right; }
      .topNews .inner .txtboxAll {
        flex-basis: 100%;
        max-width: 100%; }
        .topNews .inner .txtboxAll h2 {
          padding-left: 5px;
          margin-bottom: 5px;
          font-size: 1.5rem; }
        .topNews .inner .txtboxAll .newsBox {
          flex-wrap: wrap;
          width: 100%;
          padding-left: 0; }
          .topNews .inner .txtboxAll .newsBox dl {
            flex-wrap: wrap;
            width: 100%; }
            .topNews .inner .txtboxAll .newsBox dl dt {
              flex-basis: 100%;
              max-width: 100%;
              margin-right: 0;
              min-width: auto;
              font-size: 1.1rem; }
            .topNews .inner .txtboxAll .newsBox dl dd {
              flex-basis: 100%;
              max-width: 100%; }
              .topNews .inner .txtboxAll .newsBox dl dd a {
                font-size: 1.1rem; }

  /* topAbout
  ------------------------------------------------------------*/
  .topAbout {
    padding-top: 0; }
    .topAbout .inner {
      margin-bottom: 16px;
      margin: 0 auto;
      max-width: 92vw; }
      .topAbout .inner h1 {
        text-align: center;
        margin-bottom: 16px; }
        .topAbout .inner h1 .jpFont {
          font-size: 1.6rem; }
        .topAbout .inner h1 .enFont, .topAbout .inner h1 header .headerL .logo .txt, header .headerL .logo .topAbout .inner h1 .txt {
          font-size: 3.2rem;
          display: block; }
      .topAbout .inner .btnArea {
        padding-left: 0;
        flex-wrap: wrap;
        margin: 0 auto 24px !important; }
        .topAbout .inner .btnArea li a {
          font-size: 1.4rem;
          padding: 6px 0 6px 56px; }
    .topAbout .slider::before {
      content: none; }

  /* topWork
  ------------------------------------------------------------*/
  .topWork .inner .wrap ul li a figure img {
    height: 240px;
    object-position: center; }
    .topWork .inner .wrap ul li a figure img.positionT {
      object-position: top; }
  .topWork .inner .wrap ul li .txtBox h2 {
    font-size: 2.4rem; }
    .topWork .inner .wrap ul li .txtBox h2 span {
      font-size: 1.4rem; }

  /* topEnvironment
  ------------------------------------------------------------*/
  .topEnvironment {
    margin: 40px 0 0; }
    .topEnvironment h1 {
      margin-bottom: 24px; }
      .topEnvironment h1 span.enFont, .topEnvironment h1 header .headerL .logo span.txt, header .headerL .logo .topEnvironment h1 span.txt {
        font-size: 3.2rem; }
      .topEnvironment h1 span.jpFont {
        font-size: 1.6rem; }
    .topEnvironment ul {
      flex-wrap: wrap; }
      .topEnvironment ul li {
        width: 100%; }
        .topEnvironment ul li a .txtBox {
          padding: 16px; }
          .topEnvironment ul li a .txtBox h2 .enFont, .topEnvironment ul li a .txtBox h2 header .headerL .logo .txt, header .headerL .logo .topEnvironment ul li a .txtBox h2 .txt {
            font-size: 2.4rem; }
          .topEnvironment ul li a .txtBox h2 span.jpFont {
            font-size: 1.6rem; }

  /* topRequirement
  ------------------------------------------------------------*/
  /* hover切り替え
  ------------------------------------------------------------*/
  .topRequirement {
    padding: 48px 0 0;
    margin-bottom: 0; }
    .topRequirement .inner {
      padding: 0 0 0 0;
      margin: 0 4vw; }
      .topRequirement .inner .hoverContent {
        margin-bottom: 24px; }
        .topRequirement .inner .hoverContent .hoverBox img {
          width: 100%;
          height: 100px;
          -o-object-fit: cover;
          object-fit: cover;
          font-family: "object-fit: cover;";
          margin: 0; }
        .topRequirement .inner .hoverContent .hoverBox.hide {
          display: block; }
      .topRequirement .inner .txtBox {
        position: static;
        bottom: -40px; }
        .topRequirement .inner .txtBox h1 {
          font-size: 1.6rem;
          margin-bottom: 24px;
          padding-left: 24px; }
          .topRequirement .inner .txtBox h1 span {
            font-size: 3.2rem; }
        .topRequirement .inner .txtBox .hoverList li {
          min-width: auto; }
          .topRequirement .inner .txtBox .hoverList li a {
            padding: 16px 56px 16px 24px;
            font-size: 1.2rem; }
            .topRequirement .inner .txtBox .hoverList li a span {
              font-size: 1.8rem; }
            .topRequirement .inner .txtBox .hoverList li a::before {
              right: 20px; }
            .topRequirement .inner .txtBox .hoverList li a::after {
              right: 10px; }

  /* entryArea
  ------------------------------------------------------------*/
  .entryArea {
    padding-top: 56px; }
    .entryArea .ttl {
      font-size: 3.2rem;
      margin-bottom: 24px; }
    .entryArea ul {
      flex-wrap: wrap; }
      .entryArea ul li {
        width: 100%; }
        .entryArea ul li a {
          width: 100%; }
          .entryArea ul li a .imgBox figure img {
            width: 100%;
            height: 200px;
            min-height: auto;
            object-fit: cover;
            object-position: top;
            font-family: "object-fit: contain;"; }
          .entryArea ul li a .txtBox {
            padding: 0 2vw 2vh 2vw;
            justify-content: center;
            top: 50%;
            transform: translateY(-50%); }
            .entryArea ul li a .txtBox .ttl {
              font-size: 1.6rem;
              text-align: center; }
              .entryArea ul li a .txtBox .ttl span {
                font-size: 3.2rem; }
            .entryArea ul li a .txtBox figure {
              width: 32%; }

  /* topFaq
  ------------------------------------------------------------*/
  .topFaq {
    padding: 40px 0; }
    .topFaq .inner {
      max-width: 92vw; }
      .topFaq .inner h1 {
        text-align: center;
        font-size: 1.6rem;
        margin-bottom: 8px; }
        .topFaq .inner h1 span {
          font-size: 3.2rem; }

  .faqArea .accordion {
    text-align: left; }
    .faqArea .accordion dt {
      padding: 16px 40px 16px 64px; }
    .faqArea .accordion dd {
      padding: 16px; }

  /* 下層ページ
  ------------------------------------------------------------*/
  /* pageHead
  ------------------------------------------------------------*/
  .pageHead {
    height: 220px;
    padding-top: 60px; }
    .pageHead__txt h1 {
      font-size: 1.4rem; }
      .pageHead__txt h1 span {
        font-size: 4rem;
        margin-bottom: 8px; }

  /* pankuzu
  ------------------------------------------------------------*/
  .pankuzu {
    padding: 16px 0;
    overflow-x: scroll;
    display: block; }
    .pankuzu ul li {
      font-size: 1.2rem;
      display: table-cell;
      white-space: nowrap; }

  /* cont
  ------------------------------------------------------------*/
  .cont__box {
    padding: 48px 0; }
  .cont__firstbox {
    padding-top: 24px; }
  .cont__lastbox {
    padding-bottom: 0; }

  /* ttl
  ------------------------------------------------------------*/
  .ttl__basic {
    font-size: 1.8rem;
    margin-bottom: 32px; }
    .ttl__basic .enFont, .ttl__basic header .headerL .logo .txt, header .headerL .logo .ttl__basic .txt {
      font-size: 3.2rem;
      margin-bottom: 8px; }
  .ttl__basicSolid {
    font-size: 2.8rem; }
  .ttl__sideSolid {
    font-size: 1.8rem;
    margin-bottom: 16px; }
    .ttl__sideSolid::after {
      width: 24px; }
  .ttl__midium {
    font-size: 2.4rem;
    margin-bottom: 24px; }
  .ttl__small {
    font-size: 1.8rem;
    margin-bottom: 16px; }
  .ttl__grayBg {
    font-size: 2rem;
    margin-bottom: 8px; }
  .ttl__smallgrad span {
    font-size: 1.6rem; }

  /* bg
  ------------------------------------------------------------*/
  .bggray {
    padding: 40px 0 !important; }

  /* About
  ------------------------------------------------------------*/
  .vpBox h3 {
    font-size: 4.4rem;
    margin-bottom: 64px; }
    .vpBox h3::before {
      height: 48px; }
  .vpBox .txtBox .ttl__fs24 {
    font-size: 1.8rem; }
  .vpBox .txtBox p {
    text-align: left; }
  .vpBox.pBox {
    padding-top: 48px; }
  .vpBox .mb__60 {
    margin-bottom: 32px !important; }

  .subAbout {
    padding-top: 0; }
    .subAbout .inner {
      margin: 0 auto;
      max-width: 92vw; }
      .subAbout .inner h2 {
        font-size: 2rem;
        margin-bottom: 8px; }
      .subAbout .inner .btnArea {
        width: 100%; }
        .subAbout .inner .btnArea li {
          width: 100%; }
          .subAbout .inner .btnArea li a {
            font-size: 1.4rem;
            width: 100%;
            margin-right: 0 !important; }
            .subAbout .inner .btnArea li a p {
              width: 100%; }
    .subAbout .slider {
      position: relative; }
      .subAbout .slider::before {
        content: none; }
    .subAbout .btnBox {
      text-align: right;
      position: absolute;
      right: calc(4vw + 120px);
      margin-top: 12px; }
    .subAbout .slick-slide img {
      width: 100%; }

  .aboutImgfix {
    background-attachment: initial;
    padding: 40px 4vw !important; }
    .aboutImgfix .txtBox .ttl__basic span {
      font-size: 3.2rem; }

  .overview__box:not(:last-child) {
    margin-bottom: 40px; }
  .overview__box h2 {
    font-size: 2.4rem; }
    .overview__box h2 span {
      font-size: 1.8rem; }

  /* subWork
  ------------------------------------------------------------*/
  .subWork .inner .wrap ul li figure img {
    width: 100%;
    height: 280px;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover;";
    object-position: center; }
  .subWork .inner .wrap ul li .txtBox h3 {
    font-size: 2.4rem; }
    .subWork .inner .wrap ul li .txtBox h3 span {
      font-size: 1.4rem; }

 /* History
------------------------------------------------------------*/
  .flowList > li:not(:last-child) {
    margin-bottom: 40px; }
  .flowList > li .txt {
    padding-left: 30px; }
    .flowList > li .txt dl dt {
      font-size: 1.8rem; }
      .flowList > li .txt dl dt span.year {
        font-size: 2.8rem; }
    .flowList > li .txt dl dd p {
      font-size: 1.6rem; }
    .flowList > li .txt dl dd .fs__24 {
      font-size: 2rem !important; }
    .flowList > li .txt dl dd ul {
      margin-top: 24px; }

  /* Company
  ------------------------------------------------------------*/
  .mapbgWrap {
    padding: 16px; }
    .mapbgWrap .ttl__small {
      margin: 48px 0 16px; }

  .mapImg {
    margin: 0 0 40px; }
    .mapImg li {
      padding: 16px; }
      .mapImg li .ttl__small {
        font-size: 1.8rem; }

  .lineCont h3 {
    margin-bottom: 16px; }
  .lineCont ul.groupCompany .ttl__small {
    font-size: 1.6rem;
    margin: 24px 0 8px; }
  .lineCont ul.groupCompany > li:first-child {
    margin-bottom: 24px;
    padding-bottom: 24px;
    padding: 16px; }
    .lineCont ul.groupCompany > li:first-child .flexBox {
      flex-wrap: wrap; }
    .lineCont ul.groupCompany > li:first-child .imgBox {
      width: 70%;
      margin: 0 auto 24px; }
      .lineCont ul.groupCompany > li:first-child .imgBox img {
        width: 100%; }
    .lineCont ul.groupCompany > li:first-child .txtBox {
      width: 100%; }
      .lineCont ul.groupCompany > li:first-child .txtBox .ttl {
        font-size: 2.4rem; }
  .lineCont ul.groupCompany > li:nth-child(2), .lineCont ul.groupCompany > li:nth-child(3) {
    flex-wrap: wrap;
    margin-bottom: 24px; }
    .lineCont ul.groupCompany > li:nth-child(2) > div, .lineCont ul.groupCompany > li:nth-child(3) > div {
      width: 100%;
      padding: 16px; }
      .lineCont ul.groupCompany > li:nth-child(2) > div:first-child, .lineCont ul.groupCompany > li:nth-child(3) > div:first-child {
        margin-bottom: 24px; }
  .lineCont ul.groupCompany > li:nth-child(3) {
    margin-bottom: 0; }

  /* Work
  ---------------------------------------------------------*/
  .culmn2 {
    flex-wrap: wrap; }
    .culmn2 .asideArea {
      width: 100%;
      margin: 0 0 32px 0; }
      .culmn2 .asideArea .stickyNav {
        position: sticky;
        top: 140px; }
        .culmn2 .asideArea .stickyNav li:not(:last-of-type) {
          margin-bottom: 16px; }
        .culmn2 .asideArea .stickyNav li a {
          font-size: 1.8rem; }
    .culmn2 .mainArea {
      width: 100%; }
      .culmn2 .mainArea .cont__box {
        padding: 0 0 32px 0; }
      .culmn2 .mainArea .ttl__small {
        margin: 32px 0 16px; }

  .imgList li a .imgBox {
    margin-bottom: 8px; }
    .imgList li a .imgBox p.catch {
      width: 90%;
      left: 5%;
      bottom: 16%;
      text-align: center; }
  .imgList li img {
    height: auto; }

  .otherArea {
    padding-top: 32px !important; }
    .otherArea .slider {
      margin: 0 auto 40px !important; }
      .otherArea .slider .slick-next {
        right: 0; }
      .otherArea .slider .slick-prev {
        left: 0; }
      .otherArea .slider li a .imgBox {
        margin-bottom: 16px; }
        .otherArea .slider li a .imgBox p.catch {
          font-size: 1.6rem; }
      .otherArea .slider li a .txtBox .job {
        font-size: 1.4rem;
        margin-bottom: 8px; }
      .otherArea .slider li a .txtBox .nameYear {
        font-size: 1.4rem; }
        .otherArea .slider li a .txtBox .nameYear span {
          font-size: 2rem; }

  /* crosstalk
  ------------------------------------------------------------*/
  .crosstalkHead {
    padding-top: 60px; }
    .crosstalkHead__txt {
      padding: 8px 2vw 24px;
      position: relative;
      background: linear-gradient(to right, #0d0500, #6c645f);
      margin-top: -56px; }

  .crosstalk__cont .ttl__basicSolid {
    font-size: 2rem;
    margin-bottom: 0; }
  .crosstalk__cont .ttl__sideSolid {
    padding-left: 0;
    margin: 32px 0 40px; }
    .crosstalk__cont .ttl__sideSolid::before {
      height: 1px;
      top: inherit;
      bottom: -16px; }

  .discussionBox dl {
    display: flex; }
    .discussionBox dl:not(:last-child) {
      margin-bottom: 24px; }
    .discussionBox dl dt {
      -ms-flex-preferred-size: 56px;
      flex-basis: 56px;
      max-width: 56px; }
  .discussionBox dl dd {
    padding: 16px;
    font-size: 1.4rem; }
    .discussionBox dl dd::before {
      top: 15%; }

  .otherCrosstalk li {
    min-height: auto; }
  .otherCrosstalk .crosstalkLink__bg {
    height: 50%; }
  .otherCrosstalk .crosstalkLink__txt {
    padding: 8px 1vw 32px;
    position: relative; }

  /* Interview
  ---------------------------------------------------------*/
  .indexList li a .imgBox {
    margin-bottom: 8px;
    width: 100%; }
    .indexList li a .imgBox img {
      width: 100%;
      height: 320px;
      -o-object-fit: cover;
      object-fit: cover;
      object-position: top;
      font-family: "object-fit: cover;"; }
    .indexList li a .imgBox p.catch {
      font-size: 1.8rem;
      width: 90%;
      left: 5%; }

  .itwHead {
    height: 80vh;
    padding-top: 60px; }
    .itwHead .bg::after {
      width: 34%; }
    .itwHead .bg img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      font-family: 'object-fit: cover;'; }
    .itwHead .txt {
      left: 4vw;
      bottom: 4%; }
      .itwHead .txt h1 {
        font-size: 2rem;
        margin-bottom: 8px; }
      .itwHead .txt .numberTXt {
        font-size: 1.4rem;
        margin-bottom: 8px; }
        .itwHead .txt .numberTXt span {
          font-size: 2.8rem; }
          .itwHead .txt .numberTXt span::after {
            width: 40px;
            right: -50px; }
      .itwHead .txt .prof .job {
        font-size: 1.4rem;
        margin-bottom: 8px; }
      .itwHead .txt .prof .nameYear {
        font-size: 1.6rem; }
        .itwHead .txt .prof .nameYear span {
          font-size: 3.2rem; }

  .itwWrap .cont__box {
    flex-direction: column-reverse;
    padding: 0 0; }
    .itwWrap .cont__box:last-child::after {
      bottom: 0;
      height: 100%; }
    .itwWrap .cont__box .ttlImg {
      width: 100%;
      margin-bottom: 16px; }
    .itwWrap .cont__box .txtBox {
      width: 100%;
      padding: 0 4vw 32px; }
      .itwWrap .cont__box .txtBox .ttl__sideSolid {
        font-size: 2rem;
        padding-bottom: 16px;
        margin-bottom: 32px; }
        .itwWrap .cont__box .txtBox .ttl__sideSolid::after {
          top: 100%;
          left: 0; }

  .dayscheduleArea {
    padding: 0 0 80px !important; }
    .dayscheduleArea .smallTxt {
      font-size: 1.6rem; }
    .dayscheduleArea .x2 {
      padding: 24px; }
    .dayscheduleArea .flowList {
      margin: 0; }
      .dayscheduleArea .flowList:last-child > li::before {
        height: calc(100% + 20px); }
      .dayscheduleArea .flowList > li::before {
        height: calc(100% + 100px);
        top: 15px; }
      .dayscheduleArea .flowList > li .txt {
        padding-left: 16px; }
        .dayscheduleArea .flowList > li .txt dl {
          flex-wrap: wrap; }
          .dayscheduleArea .flowList > li .txt dl dt {
            width: 100%;
            margin-right: 0; }
            .dayscheduleArea .flowList > li .txt dl dt::before {
              left: -19px;
              top: 13px; }
            .dayscheduleArea .flowList > li .txt dl dt span.time {
              font-size: 1.6rem; }
          .dayscheduleArea .flowList > li .txt dl dd {
            font-size: 1.4rem; }
    .dayscheduleArea .palace .x1 {
      width: 100%; }
    .dayscheduleArea .palace .placetowork {
      font-size: 4rem; }
    .dayscheduleArea .palace .ttl__basicSolid {
      font-size: 2.4rem;
      margin: 32px 0 24px; }

  .mytimeArea .ttl__basic {
    top: -32px;
    margin-bottom: 0; }
  .mytimeArea .table__basic {
    padding: 16px; }
    .mytimeArea .table__basic > dl > dt,
    .mytimeArea .table__basic > dl > dd {
      padding: 8px 16px; }

  /* Requirement
  ---------------------------------------------------------*/
  .accordionArea .accordion dt {
    padding: 16px 40px 16px 64px; }
  .accordionArea .accordion dd {
    padding: 16px; }

  .triangleFlow li .imgTxtlink {
    flex-direction: column;
    font-size: 1.6rem; }
    .triangleFlow li .imgTxtlink figure {
      margin: 0 0 16px 0; }
  .triangleFlow li dl {
    width: 90%; }

  .linkBg {
    margin-top: 32px;
    padding: 24px; }
    .linkBg p {
      font-size: 1.6rem;
      text-align: left; }

  .linkSolid {
    margin-top: 40px;
    padding: 24px; }
    .linkSolid p {
      font-size: 1.6rem;
      text-align: left; }

  .tabList > li {
    font-size: 1.8rem;
    padding: 8px 10px 8px 10px; }

  /* News
  ---------------------------------------------------------*/
  .subNewsbox dl {
    flex-wrap: wrap;
    padding: 16px; }
    .subNewsbox dl dt {
      max-width: 100%;
      flex-basis: 100%; }
    .subNewsbox dl dd {
      max-width: 100%;
      flex-basis: 100%; }

  .newsDetail h2 {
    font-size: 1.8rem; }
  .newsDetail dl {
    margin-bottom: 40px; }
    .newsDetail dl dt {
      font-size: 1.3rem; }
    .newsDetail dl dd {
      flex-direction: column-reverse; }
      .newsDetail dl dd .txtBox {
        width: 100%; }
      .newsDetail dl dd .imgBox {
        width: 100%;
        margin-bottom: 24px; }

  /* Sitemap
  ---------------------------------------------------------*/
  .sitemapList {
    gap: 16px; }
    .sitemapList__box {
      width: 100%;
      padding: 16px; } }
@media screen and (max-width: 600px) {
  /* topPeople
  ------------------------------------------------------------*/
  .topPeople {
    padding-top: 64px; }
    .topPeople .inner {
      max-width: 92vw; }
      .topPeople .inner h1 {
        font-size: 1.6rem;
        margin-bottom: 24px;
        padding-left: 24px; }
        .topPeople .inner h1 span {
          font-size: 3.2rem; }
      .topPeople .inner .wrap .hoverBox h3 {
        font-size: 1.6rem; }
      .topPeople .inner .wrap .hoverBox p {
        font-size: 1.3rem; }
      .topPeople .inner .wrap .ttlBtn {
        background: #fff;
        position: absolute;
        left: 0;
        bottom: 0;
        padding: 8px 48px 8px 16px; }
        .topPeople .inner .wrap .ttlBtn h2 {
          font-size: 1.4rem; }
      .topPeople .inner .wrap .mainttl {
        position: relative; }
        .topPeople .inner .wrap .mainttl figure {
          width: 100%; }
          .topPeople .inner .wrap .mainttl figure img {
            width: 100%;
            height: 240px; }
        .topPeople .inner .wrap .mainttl h2 {
          font-size: 3.2rem; }
      .topPeople .inner .wrap .spNone {
        display: none !important; }
      .topPeople .inner .wrap .imgCont {
        flex-wrap: wrap; }
        .topPeople .inner .wrap .imgCont .left {
          width: 100%; }
          .topPeople .inner .wrap .imgCont .left .box3 .box1 figure img {
            height: 100% !important; }
          .topPeople .inner .wrap .imgCont .left .box3 .box2 {
            width: 100%; }
            .topPeople .inner .wrap .imgCont .left .box3 .box2 > div {
              height: 260px; }
          .topPeople .inner .wrap .imgCont .left .box {
            flex-wrap: wrap; }
            .topPeople .inner .wrap .imgCont .left .box > div {
              width: 100%;
              height: 260px; }
              .topPeople .inner .wrap .imgCont .left .box > div:first-child {
                margin: 0 0 16px 0; }
        .topPeople .inner .wrap .imgCont .right {
          margin-top: 20px;
          width: 100%; }
          .topPeople .inner .wrap .imgCont .right .box3 .box1 figure img {
            height: 100% !important; }
          .topPeople .inner .wrap .imgCont .right .box3 .box2 {
            width: 100%; }
            .topPeople .inner .wrap .imgCont .right .box3 .box2 > div {
              height: 260px; }
          .topPeople .inner .wrap .imgCont .right .box.mb__20 {
            margin-bottom: 0; }
          .topPeople .inner .wrap .imgCont .right .box > div {
            width: 100%;
            height: 260px; }
            .topPeople .inner .wrap .imgCont .right .box > div:first-child {
              margin-right: 0; }
      .topPeople .inner .wrap .crosstalk > .img {
        width: 100%; }
      .topPeople .inner .wrap .crosstalk .txtImg {
        width: 100%;
        margin-left: 0;
        height: auto; }
        .topPeople .inner .wrap .crosstalk .txtImg a {
          justify-content: flex-end; }
          .topPeople .inner .wrap .crosstalk .txtImg a picture {
            height: 100%; }
          .topPeople .inner .wrap .crosstalk .txtImg a > figure {
            height: 60%; }
      .topPeople .inner .wrap .restaurantCont .left {
        width: 100%; }
      .topPeople .inner .wrap .restaurantCont .right {
        width: 100%;
        margin-top: 0; }
        .topPeople .inner .wrap .restaurantCont .right .box3 > div {
          height: 260px; }
        .topPeople .inner .wrap .restaurantCont .right .crosstalk {
          width: 100%; }
          .topPeople .inner .wrap .restaurantCont .right .crosstalk .txtImg {
            width: 100%; } }
