/* Warm gray sampled from yama-beer.com: story background rgb(185,181,172).
   The source layout, pictures, heading families and original motion are retained. */
:root {
  --paper: #e0e0de;
  --panel: #ccccc7;
  --bluegray: #b9b5ac;
  --slate: #747570;
  --dark: #5d605c;
  --navy: #131d66;
  --orange: #e99535;
  --line: #aaa9a0
}

body {
  background: linear-gradient(135deg,#e0e0de,#b9b5ac);
  font-family: "Zen Kaku Gothic Antique","Yu Gothic",sans-serif;
  font-size: 18.4px;
  line-height: 1.7
}

header {
  background: linear-gradient(110deg,#e0e0de,#c8c8c0);
  padding: 24px max(4vw,calc((100vw - 1160px)/2));
  gap: 35px
}

header nav {
  gap: 27px
}

.nav-item strong {
  font-size: 13px
}

.nav-item span {
  font-size: 14px
}

.header-contact {
  background: #5d605c
}

.page-hero {
  background: linear-gradient(125deg,#aaa99f,#85847e 60%,#5d605c);
  color: #fff;
  border: 0;
  padding: 60px 0 80px
}

.page-hero .title-line span {
  font-family: "Zen Kaku Gothic Antique",sans-serif;
  font-size: 100px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .25px
}

.page-hero h1 {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: .25px;
  line-height: 1.25;
  margin-top: 17px
}

.title-line i {
  display: none
}

.page-hero .breadcrumb {
  opacity: .85
}

.section {
  background: linear-gradient(125deg,#e0e0de,#ccccc7);
  padding: 90px 0
}

.section:nth-of-type(even) {
  background: linear-gradient(125deg,#cfcdc6,#b9b5ac)
}

.section.blue-gray {
  background: linear-gradient(125deg,#a5a79e,#7d847a);
  color: #fff
}

.section.dark {
  background: linear-gradient(125deg,#81817a,#5b5d58);
  color: #fff
}

.wrap {
  max-width: 1272px
}

.section-title>span:not(.source-section-en) {
  display: none
}

.section-title>.source-section-en {
  font-family: "Zen Kaku Gothic Antique";
  letter-spacing: -.03em;
  line-height: 1.25;
  margin-bottom: 14px;
  font-weight: 700
}

.section-title>.source-section-en:before {
  display: none
}

.section-title h2,h2,h3 {
  font-family: "Zen Kaku Gothic Antique",sans-serif;
  letter-spacing: -.03em
}

.related {
  background: linear-gradient(125deg,#ccccc7,#b9b5ac)
}

.related h2 {
  font-size: 34px
}

.link-card {
  background: #ccccc7;
  border-color: #999d92
}

.link-card:hover {
  background: #b9b5ac
}

.person-card {
  background: #ccccc7
}

.training-grid article,.company-table dd,.list-grid>div {
  background: transparent
}

.status {
  background: #bcc6b4
}

.review-row,.page-index a {
  background: #ccccc7
}

footer {
  background: linear-gradient(125deg,#74766f,#555b53)
}

.restored-mv {
  height: 100svh;
  min-height: 420px;
  background: #5d605c;
  overflow: hidden
}

.restored-mv video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.restored-home,.restored-cta {
  font-family: "Zen Kaku Gothic Antique",sans-serif;
  font-size: 18.4px;
  line-height: 1.7;
  --theme_accent: #131d66;
  --theme_accent_hover: #29387d;
  --theme_bg: #e0e0de;
  --theme_color: #131d66;
  --theme_font: "Zen Kaku Gothic Antique"
}

.restored-home p {
  line-height: 1.7
}

.restored-home .wow,.restored-cta .wow {
  visibility: visible!important
}

.restored-home .themify_builder_content-21>.module_row {
  background-color: transparent!important
}

.restored-home .tb_hwse240,.restored-home .tb_2k8v505 {
  background: linear-gradient(125deg,#e0e0de,#b9b5ac)!important
}

.restored-home .tb_k322240,.restored-home .tb_4tt2180 {
  background: linear-gradient(125deg,#a5a59f,#70716c)!important;
  color: #fff
}

.restored-home .tb_kz5x681 {
  background: linear-gradient(125deg,#96978f,#676a65)!important;
  color: #fff
}

.restored-home .tb_38qr240,.restored-home .tb_8tr8240 {
  background: linear-gradient(125deg,#e0e0de,#b9b5ac)!important
}

.restored-home .tb_k322240 .module-text .tb_text_wrap,.restored-home .tb_k322240 .module-text p,.restored-home .tb_k322240 .module-text h3,
.restored-home .tb_4tt2180 .module-text .tb_text_wrap,.restored-home .tb_4tt2180 .module-text p,.restored-home .tb_4tt2180 .module-text h3,
.restored-home .tb_kz5x681 .module-text .tb_text_wrap,.restored-home .tb_kz5x681 .module-text h3 {
  color: #fff!important
}

.restored-home .tb_hwse240 .tb_text_wrap p,.restored-home .tb_2k8v505 .tb_text_wrap p {
  color: #131d66!important
}

.restored-home .tb_hwse240 .tb_s3nm242 p,.restored-home .tb_2k8v505 .tb_42e8505 p {
  font-family: "Zen Kaku Gothic New"
}

.restored-home .tb_bm9e242 p {
  font-family: "Zen Kaku Gothic New";
  font-size: 64px;
  font-weight: 700
}

.restored-home .tb_macg631 h3,.restored-home .tb_hfyh681 h3,.restored-home .tb_0hia932 h3,.restored-home .tb_399p27 h3 {
  font-size: 60px;
  line-height: 1.4;
  font-weight: 700
}

.restored-home .tb_lmfa180 h3 {
  font-size: 40.25px;
  line-height: 1.4;
  font-weight: 700
}

.restored-home .module-image img {
  display: inline-block
}

.restored-home .cs-ttl-st4-grid {
  max-width: calc(100% - 80px)
}

.restored-home .cs-ttl-st4-item {
  background: linear-gradient(125deg,#e0e0de,#c5c6be);
  position: relative
}

.restored-home .cs-feat-st2-number {
  left: 50%;
  transform: translateX(-50%)
}

.restored-home .btn-gradient-animated {
  display: inline-block;
  text-decoration: none;
  line-height: 1.7
}

.restored-home .loop-bg {
  animation: bg-loop 20s linear infinite
}

.restored-home .tb_title_accordion {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #131d66
}

.restored-home .accordion-content[aria-hidden=true] {
  display: none!important
}

.restored-home .accordion-content[aria-hidden=false] {
  display: block!important
}

.restored-home .accordion-title a::before {
  content: '+';
  display: inline-block;
  font-size: 26px;
  font-weight: 400;
  width: 28px;
  flex: none
}

.restored-home .accordion-title a[aria-expanded=true]::before {
  content: '−'
}

.restored-home .accordion-title i {
  display: none!important
}

.restored-home .module-buttons svg,.restored-cta .module-buttons svg {
  display: none
}

.restored-home .module-buttons em::after,.restored-cta .module-buttons em::after {
  content: '→';
  font-style: normal;
  margin-left: 20px
}

.restored-cta .module_column {
  min-height: 300px;
  align-content: center
}

.restored-cta .module-text p {
  color: #fff!important;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 24px
}

.restored-cta .builder_button {
  color: #fff!important;
  font-size: 26px!important;
  font-weight: 700;
  padding: 20px 45px!important;
  background: transparent!important;
  border: 2px solid #fff!important;
  border-radius: 0!important;
  box-shadow: none!important
}

.restored-cta .module-buttons {
  text-align: center
}

.restored-cta .builder_button:hover {
  transform: scale(1.06);
  background: rgba(255,255,255,.12)!important
}

.restored-cta .builder_row_cover {
  background: rgba(45,54,49,.65)!important;
  pointer-events: none
}

.restored-cta .module-text,.restored-cta .module-buttons {
  z-index: 1
}

.restored-home .tf_lax_done {
  transition-duration: .8s;
  transition-timing-function: cubic-bezier(.165,.84,.44,1);
  will-change: transform
}

@keyframes bg-loop {
  from {
    background-position: 0 0
  }
  to {
    background-position: -1920px 0
  }
}

@media(max-width:1050px) {
  header {
    padding: 22px 30px
  }
  .header-contact {
    display: none
  }
  .page-hero .title-line span {
    font-size: 76px
  }
  .section-title>.source-section-en {
    font-size: 76px!important;
    line-height: 1.25!important
  }
  .restored-home .cs-ttl-st4-grid {
    grid-template-columns: repeat(3,1fr);
    gap: 22px
  }
  .restored-home .cs-ttl-st4-item {
    padding: 35px 15px
  }
  .restored-home .cs-ttl-st4-ttl {
    font-size: 29px
  }
}

@media(max-width:760px) {
  body {
    font-size: 16px
  }
  header {
    padding: 15px 22px
  }
  .page-hero {
    padding: 35px 0 55px
  }
  .page-hero .title-line span {
    font-size: 48px;
    line-height: 1.25;
    overflow-wrap: normal
  }
  .page-hero h1 {
    font-size: 18px
  }
  .section h2[style],.section h3[style] {
    font-size: 30px!important;
    line-height: 1.4!important;
    letter-spacing: -.03em!important
  }
  .section-title>.source-section-en {
    font-size: 44px!important;
    line-height: 1.3!important
  }
  .section {
    padding: 55px 0
  }
  .restored-mv {
    height: 75svh;
    min-height: 360px
  }
  .restored-home {
    font-size: 18.4px
  }
  .restored-home .row_inner {
    max-width: 100%;
    padding-left: 22px;
    padding-right: 22px
  }
  .restored-home .tb_kz5x681 .row_inner {
    grid-template-columns: 1fr
  }
  .restored-home .tb_hfyh681 h3 {
    font-size: 40.25px
  }
  .restored-home .tb_kz5x681 .tb_85jn681 {
    position: absolute;
    right: 0;
    width: 140px;
    opacity: .5
  }
  .restored-home .cs-ttl-st4-grid {
    max-width: calc(100% - 44px);
    width: auto;
    grid-template-columns: 1fr;
    gap: 38px
  }
  .restored-home .cs-ttl-st4-item {
    padding: 32px 22px;
    transform: none
  }
  .restored-home .loop-bg {
    padding: 80px 0;
    background-size: 1920px 1080px
  }
  .restored-home .tb_0hia932 h3,.restored-home .tb_399p27 h3 {
    font-size: 40.25px
  }
  .restored-home .tb_title_accordion {
    font-size: 18px
  }
  .restored-cta .row_inner {
    grid-template-columns: 1fr;
    grid-template-areas: 'col1' 'col2'
  }
  .restored-cta .module_column {
    min-height: 260px
  }
  .restored-cta .builder_button {
    font-size: 24px!important
  }
  .restored-home .tb_kz5x681 {
    overflow: hidden
  }
}

@media(prefers-reduced-motion:reduce) {
  .restored-home .loop-bg,.restored-home .btn-gradient-animated {
    animation: none
  }
  .restored-home .tf_lax_done {
    transform: none!important;
    transition: none
  }
}

/* Responsive placement uses the same content and pictures, with one source
   branch per screen so legacy desktop/mobile builder copies cannot collide. */
@media(max-width:760px) {
  html,body {
    max-width: 100%;
    overflow-x: clip
  }
  header nav {
    gap: 22px
  }
  .wrap {
    padding-inline: 22px
  }
  .page-hero .title-line span {
    font-size: clamp(33px,9vw,48px);
    overflow-wrap: normal
  }
  .page-hero .title-line {
    display: block
  }
  .page-hero h1 {
    line-height: 1.55
  }
  .original-layout .main-head[style] {
    font-size: clamp(34px,9vw,48px)!important;
    line-height: 1.25!important;
    overflow-wrap: normal
  }
  .original-layout .sub-head[style] {
    font-size: 24px!important;
    line-height: 1.5!important
  }
  .section-title>.source-section-en {
    font-size: clamp(32px,8.8vw,44px)!important;
    overflow-wrap: normal
  }
  .section-title h2 {
    font-size: 30px;
    line-height: 1.5
  }
  .staff-catch {
    font-size: clamp(39px,11vw,55px)
  }
  .split,.message-grid,.staff-row,.interview-hero,.dorm-grid {
    gap: 28px
  }
  .restored-home .tb_2k8v505,.restored-home .tb_4tt2180 {
    display: none!important
  }
  .restored-home .tb_hwse240,.restored-home .tb_k322240 {
    display: block!important;
    visibility: visible!important;
    content-visibility: visible!important;
    width: 100%!important;
    height: auto!important;
    min-height: 0!important;
    margin: 0!important;
    padding: 60px 22px!important;
    overflow: hidden!important;
    position: relative!important;
  }
  .restored-home .tb_hwse240>.row_inner,.restored-home .tb_k322240>.row_inner {
    display: grid!important;
    grid-template-columns: minmax(0,1fr)!important;
    grid-template-areas: 'col1' 'col2'!important;
    width: 100%!important;
    max-width: 100%!important;
    padding: 0!important;
    gap: 26px!important;
    margin: 0!important;
  }
  .restored-home .tb_hwse240>.row_inner>.module_column,.restored-home .tb_k322240>.row_inner>.module_column {
    width: 100%!important;
    max-width: 100%!important;
    min-width: 0!important;
    margin: 0!important;
    padding: 0!important;
  }
  .restored-home .tb_s3nm242 {
    margin: 0 0 14px!important;
    font-size: 22px!important
  }
  .restored-home .tb_bm9e242 {
    margin: 0 0 24px!important;
    font-size: 42px!important;
    line-height: 1.4!important
  }
  .restored-home .tb_bm9e242 p {
    font-size: 42px!important;
    line-height: 1.4!important;
    margin: 0
  }
  .restored-home .tb_5eaj138,.restored-home .tb_cg2v230 {
    font-size: 16px!important;
    line-height: 1.9!important;
    margin: 0!important
  }
  .restored-home .tb_5eaj138 p,.restored-home .tb_cg2v230 p {
    font-size: 16px!important;
    line-height: 1.9!important
  }
  .restored-home .tb_o2ml243 {
    margin: 0!important
  }
  .restored-home .tb_o2ml243 img {
    width: 100%;
    height: auto
  }
  .restored-home .tb_macg631 {
    margin: 0 0 24px!important;
    font-size: 34px!important;
    line-height: 1.45!important
  }
  .restored-home .tb_macg631 h3 {
    font-size: 34px!important;
    line-height: 1.45!important;
    margin: 0
  }
  .restored-home .tb_kjpe248 {
    margin: 24px 0 0!important
  }
  .restored-home .tb_dlpk250 {
    position: absolute!important;
    right: 0;
    top: -200px;
    width: 160px;
    opacity: .42;
    z-index: 0
  }
  .restored-home .tb_yk4j248 {
    display: grid!important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-areas: 'col1 col2'!important;
    gap: 12px!important;
    width: 100%!important;
    margin: 0!important
  }
  .restored-home .tb_yk4j248 .module_column {
    padding: 0!important;
    margin: 0!important;
    width: 100%!important;
    min-width: 0!important
  }
  .restored-home .tb_yk4j248 .module-image {
    margin: 0 0 12px!important
  }
  .restored-home .tb_yk4j248 img {
    width: 100%;
    height: auto
  }
  .restored-home .tb_kz5x681 {
    padding: 60px 22px!important;
    margin: 0!important;
    min-height: 0!important
  }
  .restored-home .tb_kz5x681>.row_inner {
    display: block!important;
    padding: 0!important;
    width: 100%!important;
    max-width: 100%!important
  }
  .restored-home .tb_hfyh681 {
    margin: 0!important;
    line-height: 1.5!important
  }
  .restored-home .tb_hfyh681 h3 {
    font-size: 34px!important;
    line-height: 1.5!important;
    max-width: 300px;
    margin: 0!important
  }
  .restored-home .tb_85jn681 {
    right: 0!important;
    top: 25px!important;
    padding: 0!important;
    pointer-events: none
  }
  .restored-home .tb_1k7u218,.restored-home .tb_1k7u218 .row_inner,.restored-home .tb_43f6299,.restored-home .tb_7pkk218,.restored-home .tb_iuxo299 {
    padding: 0!important;
    margin: 0!important;
    width: 100%!important;
    max-width: 100%!important
  }
  .restored-home .cs-ttl-st4-grid {
    grid-template-columns: minmax(0,1fr)!important;
    width: calc(100% - 44px)!important;
    max-width: none!important;
    gap: 42px!important
  }
  .restored-home .cs-ttl-st4-item {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    transform: none!important
  }
  .restored-home .cs-feat-st2-number {
    font-size: 50px;
    top: -26px
  }
  .restored-home .cs-ttl-st4-ttl {
    font-size: 32px
  }
  .restored-home .loop-bg {
    overflow: hidden
  }
  .restored-home .tb_38qr240,.restored-home .tb_8tr8240 {
    padding: 60px 22px!important;
    margin: 0!important
  }
  .restored-home .tb_38qr240>.row_inner,.restored-home .tb_8tr8240>.row_inner {
    padding: 0!important;
    width: 100%!important;
    max-width: 100%!important
  }
  .restored-home .tb_0hia932,.restored-home .tb_399p27 {
    margin: 0 0 30px!important
  }
  .restored-home .tb_0hia932 h3,.restored-home .tb_399p27 h3 {
    font-size: 34px!important;
    line-height: 1.5!important
  }
  .restored-home .post-title {
    font-size: 24px!important;
    line-height: 1.5!important
  }
  .restored-home .post-content {
    font-size: 16px
  }
  .restored-home .module-accordion {
    width: 100%;
    padding: 0!important
  }
  .restored-home .module-accordion>ul {
    margin: 0;
    padding: 0
  }
  .restored-home .accordion-title a {
    font-size: 17px;
    line-height: 1.6;
    gap: 10px
  }
  .restored-home .accordion-content {
    padding: 18px 0 22px 38px!important
  }
  .restored-home .accordion-content p {
    font-size: 16px;
    line-height: 1.8
  }
  .restored-cta .tb_dhp4829 {
    padding: 0!important;
    margin: 0!important;
    width: 100%!important
  }
  .restored-cta .row_inner {
    display: grid!important;
    grid-template-columns: minmax(0,1fr)!important;
    grid-template-areas: 'col1' 'col2'!important;
    width: 100%!important;
    max-width: 100%!important;
    gap: 0!important;
    margin: 0!important;
    padding: 0!important
  }
  .restored-cta .module_column {
    padding: 45px 22px!important;
    width: 100%!important;
    margin: 0!important;
    min-width: 0!important
  }
  .restored-cta .module-text p {
    font-size: 14px!important;
    line-height: 1.8!important
  }
  .restored-cta .builder_button {
    max-width: 100%;
    font-size: 24px!important;
    padding: 16px 28px!important
  }
}

.staff-catch {
  font-family: Amiko,sans-serif;
  font-weight: 700
}
