:root {
  --gray: #9e9e9e;
  --ttl-gray: #ddd;
  --yellowmain: #b49239;
  --yellow: #ecc45ba6;
}

body {
  color: #333;
  font-family: Zen Old Mincho, sans-serif;
  font-size: 14px;
  line-height: 20px;
}

h1 {
  font-family: Cormorant SC, sans-serif;
  font-size: 60px;
  line-height: 120%;
}

h2 {
  margin-top: 20px;
  margin-bottom: 10px;
  font-family: Cormorant SC, sans-serif;
  font-size: 32px;
  font-weight: 300;
  line-height: 36px;
}

h3 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 30px;
}

.div-block-290 {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 5px;
  padding: 5px 10px;
  display: flex;
  position: relative;
}

.div-block-289 {
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-end;
  width: 100%;
  display: flex;
  position: relative;
}

.h1-heading-fv-pc {
  color: #fff;
  text-align: left;
  letter-spacing: 5px;
  text-transform: capitalize;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.8em;
  text-decoration: none;
  position: static;
}

.box-margin-fv {
  z-index: -1;
  flex-direction: column;
  align-items: flex-start;
  width: 80%;
  padding-bottom: 140px;
  display: flex;
}

.box-margin-fv.sp {
  display: none;
}

.box-margin-fv.pc {
  padding-bottom: 0;
}

.fv {
  z-index: 1;
  flex-direction: row;
  justify-content: center;
  width: 100%;
  height: 100vh;
  display: flex;
  position: relative;
}

.heading2-fv {
  text-align: left;
  text-transform: capitalize;
  justify-content: flex-start;
  align-items: center;
  font-weight: 400;
  line-height: 200%;
  display: flex;
}

.fv-under {
  z-index: 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 30vh;
  display: flex;
  position: relative;
}

.movie_bg {
  z-index: -10;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 110vh;
  display: flex;
  position: fixed;
  inset: 0%;
}

.div-block-272 {
  z-index: -4;
  background-color: #00000073;
  position: fixed;
  inset: 0%;
}

.background-video {
  width: 100%;
  height: 110vh;
}

.background-video.top-sp-only {
  display: none;
}

.div-block-291 {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
  position: relative;
}

.nav-menu-all-box {
  background-color: #0000;
  flex: 1;
  justify-content: flex-end;
  align-items: stretch;
  height: 100%;
  display: flex;
}

.container {
  opacity: 1;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  height: 93px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 0;
  display: flex;
  position: static;
}

.nav-text-2 {
  color: #fff;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-family: Cormorant SC, sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 140%;
}

.menu-button {
  display: none;
}

.green-pic1-2-menu {
  opacity: .79;
  background-image: url('../images/midori_4.png');
  background-position: 100% 0;
  background-repeat: no-repeat;
  background-size: contain;
  width: 30%;
  height: 130px;
  margin-left: 2px;
  display: none;
  position: absolute;
  inset: -4% 0% auto auto;
}

.icon_insta {
  background-image: url('../images/insta_1insta.png');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  width: 34px;
  height: 34px;
}

.logo-menu-sp {
  background-image: url('../images/logo_1.png');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 320px;
  height: 100px;
  margin-bottom: 40px;
  display: flex;
}

.nav-text-box {
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding-left: 18px;
  padding-right: 18px;
  display: flex;
}

.nav-text-box.irg2 {
  border-right-style: none;
}

.brand {
  z-index: 0;
  justify-content: center;
  align-items: center;
  width: 176px;
  padding: 20px 40px;
  display: flex;
}

.nav-bg-sp-2 {
  flex: 1;
  align-items: stretch;
  display: flex;
}

.menu-pic-sp-2 {
  display: none;
}

.navigation-shade {
  z-index: -1;
  opacity: 1;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  margin-left: 0;
  display: flex;
  position: absolute;
  overflow: visible;
}

.menu-link-all-box-2 {
  justify-content: flex-end;
  align-items: stretch;
  display: flex;
}

.div-block-365 {
  align-items: stretch;
  padding-right: 20px;
  display: flex;
}

.supple-menu {
  text-align: center;
  font-size: 10px;
  line-height: 150%;
}

.green-pic1-1-menu {
  opacity: .79;
  background-image: url('../images/midori_4.png');
  background-position: 100% 0;
  background-repeat: no-repeat;
  background-size: contain;
  width: 30%;
  height: 130px;
  margin-left: 2px;
  display: none;
  position: absolute;
  inset: -4% 0% auto auto;
}

.sns-icon {
  flex: 1;
  align-items: center;
  margin-left: 0;
  display: flex;
  position: relative;
}

.logo-image {
  opacity: 0;
  background-image: url('../images/logo-small.png');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  flex-direction: column;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 96px;
  height: 93px;
  display: flex;
}

.logo-image.hide {
  display: none;
}

.div-block-72 {
  flex-direction: row;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  display: flex;
}

.nav-link-head {
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding-top: 25px;
  padding-bottom: 25px;
  text-decoration: none;
  transition: opacity .2s ease-in;
  display: flex;
}

.nav-link-head:hover {
  opacity: .6;
}

.nav-link-head.contact {
  transition-property: none;
}

.nav-link-head.contact:hover {
  opacity: 100;
}

.sns-instagram {
  flex: 1;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding-left: 10px;
  padding-right: 10px;
  display: flex;
}

.sns-instagram.hide {
  display: none;
}

.logo-box-head {
  z-index: 0;
  justify-content: center;
  align-items: flex-start;
  display: flex;
  position: relative;
}

.navbar {
  z-index: 100;
  background-color: #0000;
  display: flex;
  position: fixed;
  inset: 0% 0% auto;
}

.nav-contact-button {
  background-color: #fff0;
  background-image: linear-gradient(144deg, #ecc45b4d, #d3d3d34d);
  border-radius: 310px;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 10px 52px;
  transition: background-color .2s ease-in;
  display: flex;
}

.nav-contact-button:hover {
  opacity: 100;
  background-color: #ffffff75;
}

.nav-contact-button.irg2 {
  border-right-style: none;
}

.logo-fv {
  background-image: url('../images/logo-fv.png');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  width: 190px;
  height: 180px;
}

.section {
  z-index: 1;
  background-image: linear-gradient(#0000001a, #0000001a), url('../images/bg-philosophy-pc-min.jpg');
  background-position: 0 0, 50%;
  background-repeat: repeat, no-repeat;
  background-size: auto, cover;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 220px 80px;
  display: flex;
  position: relative;
}

.section.bg-1 {
  background-image: linear-gradient(#0000001a, #0000001a), url('../images/bg-business-pc-min.jpg');
  background-position: 0 0, 50%;
  background-repeat: repeat, repeat;
  background-size: auto, cover;
}

.section.bg-brack {
  background-color: #000;
  background-image: none;
  padding-top: 160px;
  padding-bottom: 160px;
  transition: box-shadow .2s cubic-bezier(.645, .045, .355, 1), border-color .2s cubic-bezier(.645, .045, .355, 1);
}

.section.page-top {
  grid-column-gap: 80px;
  grid-row-gap: 80px;
  background-image: linear-gradient(#00000080, #00000080);
  flex-flow: column;
  padding-top: 280px;
  padding-bottom: 150px;
  overflow: hidden;
}

.section.bg-2 {
  background-image: linear-gradient(#0000001a, #0000001a), url('../images/bg-philosophy-pc-min.jpg');
  background-position: 0 0, 50%;
}

.section.bg-3 {
  background-image: linear-gradient(#00000080, #00000080), url('../images/company_Pic.jpg');
}

.content-max-wide {
  grid-column-gap: 80px;
  grid-row-gap: 80px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 1120px;
  display: flex;
}

.content-max-wide.right {
  justify-content: flex-start;
  align-items: flex-end;
}

.content-max-wide.news {
  grid-column-gap: 140px;
  grid-row-gap: 140px;
  flex-flow: row;
  justify-content: space-between;
  align-items: flex-start;
}

.content-max-wide.pagetop {
  grid-column-gap: 80px;
  grid-row-gap: 80px;
}

.content-max-wide.business {
  justify-content: center;
  align-items: center;
  padding-left: 100px;
  padding-right: 100px;
}

.heading {
  color: var(--ttl-gray);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 50px;
  font-weight: 300;
  line-height: 110%;
}

.text-16px {
  color: #fff;
  letter-spacing: 1.6px;
  font-family: Zen Old Mincho, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 140%;
}

.h2-group {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: column;
  flex: 1;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.h2-group.right {
  justify-content: center;
  align-items: flex-end;
}

.h2-group.center {
  justify-content: center;
  align-items: center;
}

.point-text {
  color: #fff;
  letter-spacing: 4px;
  font-family: Zen Old Mincho, sans-serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 160%;
}

.point-text.right {
  text-align: right;
}

.point-text.only-pc {
  font-weight: 400;
}

.point-text.only-sp {
  display: none;
}

.text-box {
  grid-column-gap: 60px;
  grid-row-gap: 60px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.text-box.right {
  justify-content: center;
  align-items: flex-end;
}

.button {
  grid-column-gap: 32px;
  grid-row-gap: 32px;
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  padding-top: 24px;
  padding-bottom: 24px;
  transition: opacity .3s;
  display: flex;
}

.button:hover {
  opacity: .6;
}

.arrow {
  opacity: .8;
  background-image: url('../images/arrow_1arrow.png');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  width: 57px;
  height: 5px;
}

.footer {
  z-index: 1;
  border-top: 1px solid var(--yellowmain);
  background-color: #000;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 100px 40px 140px;
  display: flex;
  position: relative;
}

.footer.bg-back {
  background-image: linear-gradient(#00000080, #00000080), url('../images/bg-back-min.jpg');
  background-position: 0 0, 50%;
}

.logo-image-footer {
  background-image: url('../images/logo-small.png');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  flex-direction: column;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 116px;
  height: 113px;
  display: flex;
}

.logo-image-footer.hide {
  display: none;
}

.div-block-449 {
  grid-column-gap: 44px;
  grid-row-gap: 44px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

._14px {
  color: #fff;
  font-family: Zen Old Mincho, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 160%;
}

.div-block-450 {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.content-max-wide-footer {
  grid-column-gap: 120px;
  grid-row-gap: 120px;
  flex-flow: row;
  justify-content: space-between;
  align-items: stretch;
  width: 1080px;
  display: flex;
}

.content-max-wide-footer.right {
  justify-content: flex-start;
  align-items: flex-end;
}

.nav-link-footer {
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  padding-left: 28px;
  padding-right: 28px;
  text-decoration: none;
  transition: opacity .2s ease-in;
  display: flex;
}

.nav-link-footer:hover {
  opacity: .6;
}

.nav-link-footer.contact {
  padding-left: 0;
  padding-right: 0;
  transition-property: none;
}

.nav-link-footer.contact:hover {
  opacity: 100;
}

.nav-link-footer.right {
  padding-right: 0;
}

.footer-link-box {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: row;
  display: flex;
}

.line-footer {
  background-color: var(--gray);
  width: 1px;
  height: auto;
}

._12px {
  color: #fff;
  letter-spacing: 1.6px;
  font-family: Zen Old Mincho, sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 140%;
  display: block;
}

._12px.hide {
  display: none;
}

.footer-button-box {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-end;
  display: flex;
}

.footer-right {
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-end;
  display: flex;
}

.news-card {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  background-color: #000;
  border: 1px solid #818181;
  border-radius: 10px;
  flex-flow: column;
  padding: 61px 50px;
  text-decoration: none;
  transition: box-shadow .2s;
  display: flex;
}

.news-card:hover {
  border-color: #a7a7a7;
  box-shadow: 8px 8px 20px #ffffff59;
}

.date {
  color: #fff;
  letter-spacing: 2px;
  font-family: Cormorant SC, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 160%;
}

.news-box {
  grid-column-gap: 26px;
  grid-row-gap: 26px;
  flex-flow: row;
  display: flex;
}

._18px {
  color: #fff;
  letter-spacing: 2px;
  font-family: Zen Old Mincho, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 200%;
}

.logo-image-header-sp {
  opacity: 0;
  background-image: url('../images/logo-small.png');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  flex-direction: column;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 96px;
  height: 93px;
  display: flex;
}

.logo-image-header-sp.hide, .menu-button-inner {
  display: none;
}

.logo-head {
  z-index: 50;
  opacity: 1;
  justify-content: center;
  align-items: flex-start;
  display: flex;
  position: fixed;
  inset: 0% auto auto 0%;
}

.div-block-704 {
  background-image: url('../images/logo-fv.png');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  width: 100px;
  height: 100px;
}

.pre-text {
  color: #fff;
  text-align: left;
  letter-spacing: .03em;
  text-shadow: 5px 4px 23px #00000045;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 21px;
  font-weight: 400;
  line-height: 130%;
}

.pre-loder {
  z-index: 200;
  background-color: #000;
  justify-content: center;
  align-items: center;
  display: none;
  position: fixed;
  inset: 0%;
}

.copy {
  color: #fff;
  font-family: Zen Old Mincho, sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 140%;
  display: block;
}

.copy.hide {
  display: none;
}

.content-box {
  grid-column-gap: 100px;
  grid-row-gap: 100px;
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  display: flex;
}

.content-box._2grid {
  grid-column-gap: 100px;
  grid-row-gap: 100px;
  grid-template-rows: auto;
  grid-template-columns: .5fr .75fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.content-box.business {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  place-items: stretch start;
  display: flex;
}

.paragraph {
  color: #fff;
  letter-spacing: 0;
  font-family: Zen Old Mincho, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 200%;
}

.paragraph._18px {
  font-size: 18px;
}

.paragraph.sp-only {
  display: flex;
}

.paragraph-box {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  flex-flow: column;
  width: auto;
  display: flex;
}

.paragraph-box.access {
  border-left: 1px solid var(--yellow);
  padding-top: 10px;
  padding-left: 50px;
}

.under-pic {
  aspect-ratio: 3 / 2;
  background-image: url('../images/philosopy-pic-min.jpg');
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
  height: 410px;
  margin-right: -128px;
}

.under-pic.business {
  background-image: url('../images/business-pic-min.jpg');
}

.div-block-706 {
  grid-column-gap: 80px;
  grid-row-gap: 80px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
}

.content-page-top {
  grid-column-gap: 80px;
  grid-row-gap: 80px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 1080px;
  display: flex;
}

.content-page-top.right {
  justify-content: flex-start;
  align-items: flex-end;
}

.content-page-top.news {
  grid-column-gap: 140px;
  grid-row-gap: 140px;
  flex-flow: row;
  justify-content: space-between;
  align-items: flex-start;
}

.content-page-top.pagetop {
  grid-column-gap: 80px;
  grid-row-gap: 80px;
}

.h1 {
  color: var(--ttl-gray);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 56px;
  font-weight: 300;
  line-height: 110%;
}

.div-block-707 {
  grid-column-gap: 80px;
  grid-row-gap: 80px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.section-under {
  z-index: 1;
  background-color: #000;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 140px 80px 160px;
  display: flex;
  position: relative;
}

.section-under.bg-back {
  background-image: linear-gradient(#0009, #0009), url('../images/bg-back-min.jpg');
  background-position: 0 0, 50%;
}

.section-under.bg-brack {
  background-color: #000;
  background-image: none;
  padding-top: 160px;
  padding-bottom: 160px;
}

.section-under.page-top {
  grid-column-gap: 80px;
  grid-row-gap: 80px;
  flex-flow: column;
  padding-top: 240px;
  padding-bottom: 150px;
  overflow: hidden;
}

.people-pic {
  aspect-ratio: 334 / 442;
  background-image: url('../images/greetings-min.jpg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
}

.bg-under-page {
  z-index: -10;
  background-image: url('../images/bg-philosophy-min.jpg');
  background-position: 50% 0;
  background-repeat: no-repeat;
  background-size: cover;
  position: fixed;
  inset: 0%;
}

.bg-under-page.access {
  background-image: url('../images/bg-access-2-min.jpg');
}

.bg-under-page.business {
  background-image: url('../images/bg-business-min.jpg');
  background-position: 50% 0;
  background-repeat: no-repeat;
  background-size: cover;
}

.bg-under-page.company {
  background-image: linear-gradient(#00000045, #00000045), url('../images/company_Pic.jpg');
  background-position: 0 0, 50% 0;
  background-repeat: repeat, no-repeat;
  background-size: auto, cover;
}

.body {
  background-color: #000;
}

.div-block-708 {
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  flex-flow: column;
  display: flex;
}

.body-2 {
  background-color: #000;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.section-page-top {
  z-index: 10;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 280px 80px 220px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.section-page-top.bg-back {
  background-image: linear-gradient(#0009, #0009), url('../images/bg-back-min.jpg');
  background-position: 0 0, 50%;
}

.section-page-top.bg-brack {
  background-color: #000;
  background-image: none;
  padding-top: 160px;
  padding-bottom: 160px;
}

.section-page-top.page-top {
  grid-column-gap: 80px;
  grid-row-gap: 80px;
  background-image: linear-gradient(#00000080, #00000080);
  flex-flow: column;
  padding-top: 280px;
  padding-bottom: 150px;
  overflow: hidden;
}

.map-box {
  filter: grayscale();
  flex-flow: column;
  justify-content: flex-start;
  align-items: stretch;
  width: 100%;
  height: 523px;
  display: flex;
}

.access-grd {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: row;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.div-block-711 {
  grid-column-gap: 14px;
  grid-row-gap: 14px;
  flex-flow: column;
  display: flex;
}

.list {
  color: #fff;
}

._16px-small {
  color: #fff;
  letter-spacing: 2px;
  margin-bottom: 0;
  font-family: Zen Old Mincho, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 130%;
}

.div-block-712 {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.div-block-713 {
  background-color: #fff;
  border-radius: 170px;
  width: 8px;
  height: 8px;
}

.service-item {
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  border-left: 1px solid var(--yellow);
  flex-flow: column;
  padding-top: 10px;
  padding-bottom: 20px;
  padding-left: 40px;
  display: flex;
}

.pe-en {
  color: var(--ttl-gray);
  letter-spacing: 2px;
  text-transform: uppercase;
  font-family: Cormorant SC, sans-serif;
  font-size: 56px;
  font-weight: 300;
  line-height: 120%;
}

.h2 {
  color: var(--ttl-gray);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 56px;
  font-weight: 300;
  line-height: 110%;
}

.linkblock_nomal {
  text-decoration: none;
}

.div-block-714 {
  background-color: var(--yellowmain);
  height: 1px;
  margin-bottom: 10px;
}

.baratitle {
  color: #fff;
}

@media screen and (min-width: 1280px) {
  .fv-under {
    flex-direction: column;
    align-items: center;
  }

  .menu-button, .menu-button-inner {
    display: none;
  }
}

@media screen and (max-width: 991px) {
  .div-block-289 {
    position: static;
  }

  .box-margin-fv.sp {
    display: flex;
  }

  .box-margin-fv.pc {
    display: none;
  }

  .fv {
    position: relative;
  }

  .heading2-fv {
    color: #fff;
    margin-bottom: 0;
    font-weight: 700;
  }

  .fv-under {
    z-index: 1;
    height: 40vh;
    display: flex;
    position: relative;
  }

  .background-video.top-pc-only {
    display: none;
  }

  .background-video.top-sp-only {
    display: flex;
  }

  .div-block-291 {
    position: static;
  }

  .nav-menu-all-box {
    z-index: 5;
    opacity: 1;
    background-color: #000;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100vh;
    margin-top: 0;
    position: absolute;
    inset: 0% 0% 0% auto;
    box-shadow: 5px 5px 14px -12px #000;
  }

  .container {
    justify-content: space-between;
    align-items: flex-start;
    padding-top: 32px;
  }

  .nav-text-2 {
    color: #fff;
    text-align: center;
    font-size: 18px;
    font-weight: 400;
  }

  .menu-button {
    background-image: url('../images/menu-sp_1menu-sp.png');
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 30px;
    padding: 10px 12px 12px;
    display: flex;
    position: static;
  }

  .menu-button.w--open {
    color: #fff;
    background-color: #a6b1bf;
  }

  .green-pic1-2-menu {
    background-image: url('../images/アートボード-1-のコピー-2-min.png');
    width: 50%;
    height: 130px;
    display: flex;
    inset: 0% 0% auto auto;
  }

  .image-menu-sp {
    width: 20px;
    margin-top: 3px;
  }

  .logo-menu-sp {
    z-index: 1;
    background-image: url('../images/logo1.png');
    background-size: contain;
    width: 230px;
    height: 50px;
    margin-top: 20px;
    margin-bottom: 20px;
    display: flex;
    position: absolute;
  }

  .nav-text-box {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    border-right-style: none;
  }

  .div-block-447 {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .brand {
    width: auto;
    padding-left: 20px;
    padding-right: 20px;
  }

  .nav-bg-sp-2 {
    grid-column-gap: 28px;
    grid-row-gap: 28px;
    background-color: #000;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 100vh;
    display: flex;
  }

  .menu-pic-sp-2 {
    z-index: 0;
    background-color: #a89789;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    height: 40vh;
    padding-top: 40px;
    display: flex;
    position: relative;
  }

  .navigation-shade {
    display: flex;
  }

  .menu-link-all-box-2 {
    flex-direction: column;
    flex: 0 auto;
    justify-content: center;
    align-items: center;
    width: 50%;
    height: 100%;
    padding-top: 40px;
    padding-bottom: 100px;
    display: flex;
  }

  .div-block-365 {
    justify-content: center;
    align-items: center;
    padding-right: 15px;
  }

  .supple-menu {
    color: #fff;
    letter-spacing: 1px;
    margin-bottom: 0;
    font-weight: 300;
  }

  .green-pic1-1-menu {
    background-image: url('../images/アートボード-1-のコピー-min.png');
    width: 50%;
    height: 130px;
    display: flex;
    inset: auto auto 0% 0%;
  }

  .sns-icon {
    flex: 0 auto;
    justify-content: center;
    margin-top: 0;
    margin-right: 0;
  }

  .logo-image {
    width: 90px;
    height: 90px;
  }

  .div-block-72 {
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
    height: 100vh;
  }

  .nav-link-head {
    border-bottom: 1px solid var(--gray);
    width: 100%;
    margin-right: 0;
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .nav-link-head.contact {
    border-bottom-style: none;
    padding-top: 32px;
  }

  .sns-instagram {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .logo-box-head {
    justify-content: center;
    align-items: flex-start;
    height: auto;
    margin-top: -32px;
  }

  .nav-contact-button {
    border-right-style: none;
  }

  .logo-fv {
    width: 140px;
    height: 140px;
  }

  .section {
    padding: 240px 60px;
    position: relative;
  }

  .section.bg-1 {
    background-image: linear-gradient(#0000, #0000), url('../images/bg-business-pc-min.jpg');
    background-position: 0 0, 50%;
  }

  .section.bg-brack {
    padding-top: 200px;
    padding-bottom: 200px;
  }

  .section.page-top {
    padding: 220px 0 0;
  }

  .content-max-wide {
    grid-column-gap: 70px;
    grid-row-gap: 70px;
  }

  .content-max-wide.news {
    grid-column-gap: 60px;
    grid-row-gap: 60px;
    flex-flow: column;
  }

  .content-max-wide.business {
    padding-left: 24px;
    padding-right: 24px;
  }

  .heading {
    font-size: 48px;
    line-height: 120%;
  }

  .h2-group {
    grid-column-gap: 8px;
    grid-row-gap: 8px;
  }

  .h2-group.company_title {
    justify-content: flex-start;
    align-items: center;
  }

  .point-text {
    font-size: 22px;
  }

  .text-box {
    grid-column-gap: 40px;
    grid-row-gap: 40px;
  }

  .footer {
    padding: 80px 50px 160px;
    position: relative;
  }

  .logo-image-footer {
    width: 90px;
    height: 90px;
  }

  .content-max-wide-footer {
    grid-column-gap: 50px;
    grid-row-gap: 50px;
    flex-flow: row;
    justify-content: space-between;
    align-items: flex-start;
  }

  .nav-link-footer {
    justify-content: center;
    align-items: flex-end;
    width: 100%;
    margin-right: 0;
    padding: 20px 0;
  }

  .nav-link-footer.contact {
    padding-top: 0;
    padding-bottom: 0;
  }

  .footer-link-box {
    flex-flow: column;
    width: 100%;
  }

  .line-footer {
    width: 100%;
    height: 1px;
  }

  ._12px, ._12px.hide {
    display: block;
  }

  .footer-right {
    grid-column-gap: 80px;
    grid-row-gap: 80px;
    justify-content: space-between;
    align-items: flex-end;
  }

  .news-box {
    flex-flow: column;
    justify-content: flex-start;
    align-items: stretch;
    width: 100%;
  }

  .menu-in-header {
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    padding-top: 32px;
    padding-bottom: 0;
    padding-right: 15px;
    display: flex;
  }

  .logo-image-header-sp {
    opacity: 100;
    background-size: contain;
    width: 90px;
    height: 90px;
  }

  .link-block {
    justify-content: center;
    align-items: center;
    width: 104px;
    height: 101px;
    margin-bottom: 40px;
    display: flex;
  }

  .menu-button-inner {
    background-image: url('../images/menu-sp_1menu-sp.png');
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 30px;
    padding: 10px 12px 12px;
    display: flex;
    position: static;
  }

  .menu-button-inner.w--open {
    color: #fff;
    background-color: #a6b1bf;
  }

  .logo-head {
    justify-content: center;
    align-items: flex-start;
    height: auto;
    margin-top: -32px;
  }

  .pre-loder {
    height: 100vh;
  }

  .copy, .copy.hide {
    display: block;
  }

  .content-box {
    flex-flow: column;
  }

  .content-box._2grid {
    grid-column-gap: 70px;
    grid-row-gap: 70px;
    justify-content: space-between;
    align-items: center;
    display: flex;
  }

  .content-box.access {
    justify-content: space-between;
    align-items: flex-start;
    padding-left: 24px;
    padding-right: 24px;
  }

  .paragraph.company_text {
    text-align: center;
  }

  .paragraph-box {
    padding-left: 24px;
    padding-right: 24px;
  }

  .paragraph-box.under {
    padding-left: 0;
    padding-right: 0;
  }

  .under-pic {
    width: 100%;
    height: 442px;
    margin-right: 0;
  }

  .under-pic.business {
    background-position: 50%;
  }

  .content-page-top {
    grid-column-gap: 100px;
    grid-row-gap: 100px;
  }

  .content-page-top.news {
    grid-column-gap: 60px;
    grid-row-gap: 60px;
    flex-flow: column;
  }

  .h1 {
    font-size: 48px;
    line-height: 120%;
  }

  .div-block-707 {
    grid-column-gap: 70px;
    grid-row-gap: 70px;
    width: 100%;
    padding-left: 24px;
    padding-right: 24px;
  }

  .div-block-707.companypage_title {
    justify-content: flex-start;
    align-items: center;
  }

  .section-under {
    padding: 160px 24px 220px;
    position: relative;
  }

  .section-under.bg-brack {
    padding-top: 200px;
    padding-bottom: 200px;
  }

  .section-under.page-top {
    padding: 146px 0 0;
  }

  .people-pic {
    width: 50%;
    margin-right: 0;
  }

  .bg-under-page.company {
    background-image: linear-gradient(#0000007d, #0000007d), url('../images/company_Pic.jpg');
    background-position: 0 0, 50% 0;
    background-repeat: repeat, no-repeat;
    background-size: auto, cover;
  }

  .div-block-708 {
    width: 100%;
  }

  .section-page-top {
    padding: 220px 0 0;
    position: relative;
  }

  .section-page-top.bg-brack {
    padding-top: 200px;
    padding-bottom: 200px;
  }

  .section-page-top.page-top {
    padding: 220px 0 0;
  }

  .section-page-top.access {
    padding-bottom: 140px;
  }

  .service-item {
    border-top: 1px solid var(--yellow);
    border-bottom: 1px #000;
    border-left-style: none;
    justify-content: center;
    align-items: flex-start;
    padding: 24px 24px 40px;
  }

  .h2 {
    font-size: 48px;
    line-height: 120%;
  }

  .div-block-714 {
    background-color: var(--yellowmain);
  }

  .baratitle {
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .div-block-289 {
    width: 90%;
  }

  .h1-heading-fv-pc {
    display: flex;
  }

  .box-margin-fv {
    width: 97vw;
  }

  .box-margin-fv.sp {
    width: 89vw;
  }

  .fv-under {
    z-index: 1;
    display: flex;
    position: relative;
  }

  .div-block-291 {
    width: 90%;
  }

  .container {
    padding-top: 20px;
    position: relative;
  }

  .menu-button {
    width: 27px;
    height: 16px;
    padding: 10px;
  }

  .green-pic1-2-menu {
    width: 60%;
    height: 100px;
  }

  .logo-menu-sp {
    background-size: contain;
  }

  .brand {
    padding: 14px;
  }

  .menu-pic-sp-2 {
    align-items: flex-start;
    padding-top: 40px;
  }

  .navigation-shade {
    z-index: -1;
    display: flex;
  }

  .menu-link-all-box-2 {
    justify-content: center;
    width: 60%;
  }

  .div-block-365 {
    padding-right: 15px;
  }

  .green-pic1-1-menu {
    width: 60%;
    height: 100px;
  }

  .sns-icon {
    flex: 0 auto;
  }

  .logo-image {
    width: 60px;
    height: 60px;
  }

  .nav-link-head {
    text-align: center;
    padding-top: 15px;
    padding-bottom: 15px;
  }

  .logo-box-head {
    z-index: 5;
    margin-top: -20px;
  }

  .section {
    background-image: linear-gradient(#0000001a, #0000001a), url('../images/bg-philosophy-sp-min.jpg');
    background-position: 0 0, 50% 0;
    background-size: auto, cover;
    padding: 160px 24px 180px;
  }

  .section.bg-1 {
    background-image: linear-gradient(#0000001a, #0000001a), url('../images/bg-top-business-sp-min.jpg');
    background-position: 0 0, 50% 0;
  }

  .section.bg-brack {
    padding-top: 120px;
    padding-bottom: 160px;
  }

  .content-max-wide.business {
    padding-left: 0;
    padding-right: 0;
  }

  .point-text {
    letter-spacing: 4px;
  }

  .point-text.only-pc {
    display: none;
  }

  .point-text.only-sp {
    display: flex;
  }

  .footer {
    padding-left: 24px;
    padding-right: 24px;
  }

  .logo-image-footer {
    width: 100px;
    height: 90px;
  }

  .div-block-449 {
    grid-column-gap: 30px;
    grid-row-gap: 30px;
  }

  .content-max-wide-footer {
    flex-flow: column;
  }

  .nav-link-footer {
    grid-column-gap: 24px;
    grid-row-gap: 24px;
    text-align: center;
    flex-flow: row;
    justify-content: flex-start;
    align-items: center;
    padding-top: 15px;
    padding-bottom: 15px;
  }

  .footer-button-box {
    grid-column-gap: 32px;
    grid-row-gap: 32px;
    width: 100%;
  }

  .footer-right {
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
  }

  .menu-in-header {
    padding-top: 20px;
  }

  .menu-button-inner {
    width: 27px;
    height: 16px;
    padding: 10px;
  }

  .logo-head {
    z-index: 5;
    margin-top: -20px;
  }

  .pre-text {
    font-size: 55px;
  }

  .content-box.access {
    padding-left: 16px;
    padding-right: 16px;
  }

  .content-box.business {
    width: 90%;
  }

  .paragraph._18px {
    font-size: 16px;
  }

  .paragraph.sp-only {
    display: flex;
  }

  .paragraph-box {
    padding-left: 16px;
    padding-right: 16px;
  }

  .paragraph-box.access {
    padding-left: 24px;
  }

  .div-block-707 {
    padding-left: 16px;
    padding-right: 16px;
  }

  .section-under {
    padding-bottom: 180px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .section-under.bg-brack {
    padding-top: 120px;
    padding-bottom: 160px;
  }

  .people-pic {
    width: 60%;
  }

  .bg-under-page.business {
    background-image: url('../images/bg-business-sp-min.jpg');
    background-position: 50% 0;
    background-repeat: no-repeat;
    background-size: cover;
  }

  .section-page-top {
    padding: 160px 0 0;
  }

  .section-page-top.bg-brack {
    padding-top: 120px;
    padding-bottom: 160px;
  }

  .div-block-710 {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    display: flex;
  }
}

@media screen and (max-width: 479px) {
  .div-block-289 {
    width: 90%;
  }

  .h1-heading-fv-pc {
    font-size: 28px;
  }

  .box-margin-fv.sp {
    width: 84vw;
  }

  .fv {
    width: 100%;
  }

  .heading2-fv {
    text-align: center;
  }

  .fv-under {
    z-index: 1;
    height: 60vh;
    display: flex;
    position: relative;
  }

  .movie_bg {
    z-index: -8;
  }

  .div-block-272 {
    z-index: -1;
    position: fixed;
  }

  .div-block-291 {
    width: 90%;
  }

  .nav-menu-all-box {
    z-index: 8;
    height: 100vh;
    margin-top: 0;
    position: absolute;
    inset: 0%;
    overflow: scroll;
  }

  .container {
    position: relative;
  }

  .menu-button {
    z-index: 5;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: flex;
    position: relative;
  }

  .green-pic1-2-menu {
    width: 70%;
    height: 80px;
  }

  .logo-menu-sp {
    align-items: center;
    margin-bottom: 20px;
  }

  .brand {
    flex-direction: row;
  }

  .navigation-shade {
    display: flex;
  }

  .menu-link-all-box-2 {
    width: 90%;
    display: flex;
  }

  .green-pic1-1-menu {
    width: 80%;
    height: 80px;
  }

  .sns-icon {
    flex: 0 auto;
  }

  .logo-image {
    height: 50px;
  }

  .nav-link-head {
    flex-direction: column;
    align-items: center;
    display: flex;
  }

  .section {
    width: 100%;
  }

  .heading {
    font-size: 40px;
  }

  .h2-group.center {
    justify-content: center;
    align-items: center;
  }

  .point-text {
    letter-spacing: 4px;
    font-size: 18px;
  }

  .footer {
    width: 100%;
  }

  .news-card {
    padding: 32px 33px;
  }

  .menu-button-inner {
    z-index: 5;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: flex;
    position: relative;
  }

  .pre-text {
    font-size: 39px;
  }

  .paragraph-box.access {
    padding-left: 16px;
    padding-right: 0;
  }

  .h1 {
    font-size: 40px;
  }

  .section-under, .people-pic, .section-page-top {
    width: 100%;
  }

  ._16px-small {
    font-size: 16px;
  }

  .service-item {
    padding-left: 10px;
    padding-right: 0;
  }

  .h2 {
    font-size: 40px;
  }

  .h2.pe-en {
    text-align: center;
  }
}


