@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box; }

*:last-child:where(:not(dialog)) {
  margin-bottom: 0; }

h1,
h2,
h3,
h4,
h5,
p,
b,
dt,
dd,
li,
span,
a,
strong {
  margin: 0;
  padding: 0;
  line-height: 1.5; }

p {
  margin-bottom: 1rem; }

img {
  width: 100%;
  min-height: 0%;
  vertical-align: top; }

figure {
  width: 100%;
  min-height: 0%;
  margin: 0 auto; }

ul {
  list-style: none;
  margin: 0;
  padding: 0; }

a {
  color: #111; }
  a img {
    display: inline-block; }

button {
  background: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }

.pc {
  display: block; }
  @media only screen and (max-width: 767px) {
    .pc {
      display: none; } }

.tab {
  display: none; }
  @media only screen and (max-width: 1025px) {
    .tab {
      display: block; } }

.sp {
  display: none; }
  @media only screen and (max-width: 767px) {
    .sp {
      display: block; } }

.inline-pc {
  display: inline; }
  @media only screen and (max-width: 767px) {
    .inline-pc {
      display: none; } }

.inline-sp {
  display: none; }
  @media only screen and (max-width: 767px) {
    .inline-sp {
      display: inline; } }

.text__common {
  line-height: 1.75;
  font-size: 1.6rem; }
  .text__common + .text__common {
    margin-top: 1.2rem; }
  .text__common_s {
    font-size: 1.4rem; }
  .text__common_l {
    font-size: 2rem; }
  .text__common_left {
    text-align: left; }
  .text__common_right {
    text-align: right; }
  .text__common_center {
    text-align: center; }
  .text__common_link {
    line-height: inherit;
    text-decoration: underline;
    font-size: 1.7rem;
    font-weight: inherit;
    color: #29abe2; }

@media only screen and (max-width: 767px) {
  .text__sp_left {
    text-align: left; } }

.text__color_green {
  color: #a7b713; }

.text__color_bk {
  color: #111111; }

.font__weight_block {
  font-weight: bold; }

.font__family_timmana {
  font-family: "Timmana", sans-serif; }

html {
  font-size: 62.5%; }
  @media only screen and (max-width: 1400px) {
    html {
      font-size: 0.7055vw; } }
  @media only screen and (max-width: 767px) {
    html {
      font-size: 2.63vw; } }

body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  font-family: "Noto Sans JP", "Hiragino Sans", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic",
 YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  color: #111111; }
  @media only screen and (max-width: 767px) {
    body {
      overflow: hidden;
      overflow-y: scroll; } }

.main {
  display: block;
  padding-top: 10rem; }
  @media only screen and (max-width: 767px) {
    .main {
      padding-top: 5rem; } }
  .main__home {
    padding: 0; }
  .main__lower {
    padding-bottom: 90px; }
    @media screen and (min-width: 768px) {
      .main__lower {
        padding-bottom: 120px; } }
  .main.approach-detail {
    background: linear-gradient(90deg, #111111 0%, #111111 1%, white 1%, white 99%, #a7b713 99%); }

.page__links {
  margin-top: -10rem;
  padding-top: 10rem; }
  @media only screen and (max-width: 767px) {
    .page__links {
      margin-top: -5rem;
      padding-top: 5rem; } }

@media screen and (min-width: 768px) {
  .pc-none {
    display: none; } }

@media screen and (max-width: 767px) {
  .sp-none {
    display: none; } }

.txt__left {
  text-align: left; }

.txt__center {
  text-align: center; }

.txt__right {
  text-align: right; }

.txt__cap {
  text-indent: -1em;
  padding-left: 1em; }

.txt__underline {
  text-decoration: underline; }

.txt__indent {
  text-indent: 1em; }

.txt__lead {
  line-height: 1.8125em; }

.fz__large {
  font-size: 120%;
  line-height: 1.4; }

.fz__large_200 {
  font-size: 200%;
  line-height: 1.4; }

.fz__large_140 {
  font-size: 140%;
  line-height: 1.4; }

.fz__small_60 {
  font-size: 60%;
  line-height: 1.3; }

.fz__small_70 {
  font-size: 70%;
  line-height: 1.3; }

.fz__small_75 {
  font-size: 75%;
  line-height: 1.3; }

.fz__small_90 {
  font-size: 90%;
  line-height: 1.5; }

.fw-light {
  font-weight: 300; }

.fw-normal {
  font-weight: 400; }

.fw-medium {
  font-weight: 500; }

.fw-bold {
  font-weight: 700; }

.color__main {
  color: #a7b713; }

.color__gray {
  color: #ccc; }

.color__gray-light {
  color: #e6e6e6; }

.color__gray-light2 {
  color: #f0f0f0; }

.color__gray-dark {
  color: #666; }

.color__red {
  color: red; }

.color__blue {
  color: blue; }

.color__green {
  color: green; }

.bg-color__main {
  background-color: #a7b713; }

.bg-color__gray {
  background-color: #ccc; }

.bg-color__gray-light {
  background-color: #e6e6e6; }

.bg-color__gray-light2 {
  background-color: #f0f0f0; }

.bg-color__gray-dark {
  background-color: #666; }

.bg-color__red {
  background-color: red; }

.bg-color__blue {
  background-color: blue; }

.bg-color__green {
  background-color: green; }

a {
  text-decoration-skip-ink: none;
  text-underline-offset: 0.15em; }
  a[target="_blank"]::after, a[href*=".pdf"]::after, a[href*=".doc"]::after, a[href*=".docx"]::after, a[href*=".xls"]::after, a[href*=".xlsx"]::after {
    content: none;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    margin-right: 0.1em;
    padding-left: 0.2em; }
  a[target="_blank"]::after {
    font-family: "FontAwesome";
    line-height: 1;
    content: "\f24d"; }
  a[href$=".pdf"]::after, a[href*="/file.jsp?id"]::after {
    font-family: "FontAwesome";
    line-height: 1;
    content: "\f1c1";
    color: #AD0B00; }
  a[href$=".doc"]::after, a[href$=".docx"]::after {
    font-family: "FontAwesome";
    line-height: 1;
    content: "\f1c2";
    color: #2A5699; }
  a[href$=".xls"]::after, a[href$=".xlsx"]::after {
    font-family: "FontAwesome";
    line-height: 1;
    content: "\f1c3";
    color: #1F7144; }
  a[href]:has(img)::after {
    content: none; }
  a.no-icon::after {
    content: none !important; }

.m-0 {
  margin: 0em !important; }

.m-1 {
  margin: 1em !important; }

.m-2 {
  margin: 2em !important; }

.m-3 {
  margin: 3em !important; }

.m-4 {
  margin: 4em !important; }

.m-5 {
  margin: 5em !important; }

.mt-0 {
  margin-top: 0em !important; }

.mt-1 {
  margin-top: 1em !important; }

.mt-2 {
  margin-top: 2em !important; }

.mt-3 {
  margin-top: 3em !important; }

.mt-4 {
  margin-top: 4em !important; }

.mt-5 {
  margin-top: 5em !important; }

.mr-0 {
  margin-right: 0em !important; }

.mr-1 {
  margin-right: 1em !important; }

.mr-2 {
  margin-right: 2em !important; }

.mr-3 {
  margin-right: 3em !important; }

.mr-4 {
  margin-right: 4em !important; }

.mr-5 {
  margin-right: 5em !important; }

.mb-0 {
  margin-bottom: 0em !important; }

.mb-1 {
  margin-bottom: 1em !important; }

.mb-2 {
  margin-bottom: 2em !important; }

.mb-3 {
  margin-bottom: 3em !important; }

.mb-4 {
  margin-bottom: 4em !important; }

.mb-5 {
  margin-bottom: 5em !important; }

.ml-0 {
  margin-left: 0em !important; }

.ml-1 {
  margin-left: 1em !important; }

.ml-2 {
  margin-left: 2em !important; }

.ml-3 {
  margin-left: 3em !important; }

.ml-4 {
  margin-left: 4em !important; }

.ml-5 {
  margin-left: 5em !important; }

.my-0 {
  margin-top: 0em !important;
  margin-bottom: 0em !important; }

.my-1 {
  margin-top: 1em !important;
  margin-bottom: 1em !important; }

.my-2 {
  margin-top: 2em !important;
  margin-bottom: 2em !important; }

.my-3 {
  margin-top: 3em !important;
  margin-bottom: 3em !important; }

.my-4 {
  margin-top: 4em !important;
  margin-bottom: 4em !important; }

.my-5 {
  margin-top: 5em !important;
  margin-bottom: 5em !important; }

.mx-0 {
  margin-left: 0em !important;
  margin-right: 0em !important; }

.mx-1 {
  margin-left: 1em !important;
  margin-right: 1em !important; }

.mx-2 {
  margin-left: 2em !important;
  margin-right: 2em !important; }

.mx-3 {
  margin-left: 3em !important;
  margin-right: 3em !important; }

.mx-4 {
  margin-left: 4em !important;
  margin-right: 4em !important; }

.mx-5 {
  margin-left: 5em !important;
  margin-right: 5em !important; }

.p-0 {
  padding: 0em !important; }

.p-1 {
  padding: 1em !important; }

.p-2 {
  padding: 2em !important; }

.p-3 {
  padding: 3em !important; }

.p-4 {
  padding: 4em !important; }

.p-5 {
  padding: 5em !important; }

.pt-0 {
  padding-top: 0em !important; }

.pt-1 {
  padding-top: 1em !important; }

.pt-2 {
  padding-top: 2em !important; }

.pt-3 {
  padding-top: 3em !important; }

.pt-4 {
  padding-top: 4em !important; }

.pt-5 {
  padding-top: 5em !important; }

.pr-0 {
  padding-right: 0em !important; }

.pr-1 {
  padding-right: 1em !important; }

.pr-2 {
  padding-right: 2em !important; }

.pr-3 {
  padding-right: 3em !important; }

.pr-4 {
  padding-right: 4em !important; }

.pr-5 {
  padding-right: 5em !important; }

.pb-0 {
  padding-bottom: 0em !important; }

.pb-1 {
  padding-bottom: 1em !important; }

.pb-2 {
  padding-bottom: 2em !important; }

.pb-3 {
  padding-bottom: 3em !important; }

.pb-4 {
  padding-bottom: 4em !important; }

.pb-5 {
  padding-bottom: 5em !important; }

.pl-0 {
  padding-left: 0em !important; }

.pl-1 {
  padding-left: 1em !important; }

.pl-2 {
  padding-left: 2em !important; }

.pl-3 {
  padding-left: 3em !important; }

.pl-4 {
  padding-left: 4em !important; }

.pl-5 {
  padding-left: 5em !important; }

.py-0 {
  padding-top: 0em !important;
  padding-bottom: 0em !important; }

.py-1 {
  padding-top: 1em !important;
  padding-bottom: 1em !important; }

.py-2 {
  padding-top: 2em !important;
  padding-bottom: 2em !important; }

.py-3 {
  padding-top: 3em !important;
  padding-bottom: 3em !important; }

.py-4 {
  padding-top: 4em !important;
  padding-bottom: 4em !important; }

.py-5 {
  padding-top: 5em !important;
  padding-bottom: 5em !important; }

.px-0 {
  padding-left: 0em !important;
  padding-right: 0em !important; }

.px-1 {
  padding-left: 1em !important;
  padding-right: 1em !important; }

.px-2 {
  padding-left: 2em !important;
  padding-right: 2em !important; }

.px-3 {
  padding-left: 3em !important;
  padding-right: 3em !important; }

.px-4 {
  padding-left: 4em !important;
  padding-right: 4em !important; }

.px-5 {
  padding-left: 5em !important;
  padding-right: 5em !important; }

@media screen and (min-width: 768px) {
  .m-pc-0 {
    margin: 0em !important; }
  .m-pc-1 {
    margin: 1em !important; }
  .m-pc-2 {
    margin: 2em !important; }
  .m-pc-3 {
    margin: 3em !important; }
  .m-pc-4 {
    margin: 4em !important; }
  .m-pc-5 {
    margin: 5em !important; }
  .mt-pc-0 {
    margin-top: 0em !important; }
  .mt-pc-1 {
    margin-top: 1em !important; }
  .mt-pc-2 {
    margin-top: 2em !important; }
  .mt-pc-3 {
    margin-top: 3em !important; }
  .mt-pc-4 {
    margin-top: 4em !important; }
  .mt-pc-5 {
    margin-top: 5em !important; }
  .mr-pc-0 {
    margin-right: 0em !important; }
  .mr-pc-1 {
    margin-right: 1em !important; }
  .mr-pc-2 {
    margin-right: 2em !important; }
  .mr-pc-3 {
    margin-right: 3em !important; }
  .mr-pc-4 {
    margin-right: 4em !important; }
  .mr-pc-5 {
    margin-right: 5em !important; }
  .mb-pc-0 {
    margin-bottom: 0em !important; }
  .mb-pc-1 {
    margin-bottom: 1em !important; }
  .mb-pc-2 {
    margin-bottom: 2em !important; }
  .mb-pc-3 {
    margin-bottom: 3em !important; }
  .mb-pc-4 {
    margin-bottom: 4em !important; }
  .mb-pc-5 {
    margin-bottom: 5em !important; }
  .ml-pc-0 {
    margin-left: 0em !important; }
  .ml-pc-1 {
    margin-left: 1em !important; }
  .ml-pc-2 {
    margin-left: 2em !important; }
  .ml-pc-3 {
    margin-left: 3em !important; }
  .ml-pc-4 {
    margin-left: 4em !important; }
  .ml-pc-5 {
    margin-left: 5em !important; }
  .my-pc-0 {
    margin-top: 0em !important;
    margin-bottom: 0em !important; }
  .my-pc-1 {
    margin-top: 1em !important;
    margin-bottom: 1em !important; }
  .my-pc-2 {
    margin-top: 2em !important;
    margin-bottom: 2em !important; }
  .my-pc-3 {
    margin-top: 3em !important;
    margin-bottom: 3em !important; }
  .my-pc-4 {
    margin-top: 4em !important;
    margin-bottom: 4em !important; }
  .my-pc-5 {
    margin-top: 5em !important;
    margin-bottom: 5em !important; }
  .mx-pc-0 {
    margin-left: 0em !important;
    margin-right: 0em !important; }
  .mx-pc-1 {
    margin-left: 1em !important;
    margin-right: 1em !important; }
  .mx-pc-2 {
    margin-left: 2em !important;
    margin-right: 2em !important; }
  .mx-pc-3 {
    margin-left: 3em !important;
    margin-right: 3em !important; }
  .mx-pc-4 {
    margin-left: 4em !important;
    margin-right: 4em !important; }
  .mx-pc-5 {
    margin-left: 5em !important;
    margin-right: 5em !important; }
  .p-pc-0 {
    padding: 0em !important; }
  .p-pc-1 {
    padding: 1em !important; }
  .p-pc-2 {
    padding: 2em !important; }
  .p-pc-3 {
    padding: 3em !important; }
  .p-pc-4 {
    padding: 4em !important; }
  .p-pc-5 {
    padding: 5em !important; }
  .pt-pc-0 {
    padding-top: 0em !important; }
  .pt-pc-1 {
    padding-top: 1em !important; }
  .pt-pc-2 {
    padding-top: 2em !important; }
  .pt-pc-3 {
    padding-top: 3em !important; }
  .pt-pc-4 {
    padding-top: 4em !important; }
  .pt-pc-5 {
    padding-top: 5em !important; }
  .pr-pc-0 {
    padding-right: 0em !important; }
  .pr-pc-1 {
    padding-right: 1em !important; }
  .pr-pc-2 {
    padding-right: 2em !important; }
  .pr-pc-3 {
    padding-right: 3em !important; }
  .pr-pc-4 {
    padding-right: 4em !important; }
  .pr-pc-5 {
    padding-right: 5em !important; }
  .pb-pc-0 {
    padding-bottom: 0em !important; }
  .pb-pc-1 {
    padding-bottom: 1em !important; }
  .pb-pc-2 {
    padding-bottom: 2em !important; }
  .pb-pc-3 {
    padding-bottom: 3em !important; }
  .pb-pc-4 {
    padding-bottom: 4em !important; }
  .pb-pc-5 {
    padding-bottom: 5em !important; }
  .pl-pc-0 {
    padding-left: 0em !important; }
  .pl-pc-1 {
    padding-left: 1em !important; }
  .pl-pc-2 {
    padding-left: 2em !important; }
  .pl-pc-3 {
    padding-left: 3em !important; }
  .pl-pc-4 {
    padding-left: 4em !important; }
  .pl-pc-5 {
    padding-left: 5em !important; }
  .py-pc-0 {
    padding-top: 0em !important;
    padding-bottom: 0em !important; }
  .py-pc-1 {
    padding-top: 1em !important;
    padding-bottom: 1em !important; }
  .py-pc-2 {
    padding-top: 2em !important;
    padding-bottom: 2em !important; }
  .py-pc-3 {
    padding-top: 3em !important;
    padding-bottom: 3em !important; }
  .py-pc-4 {
    padding-top: 4em !important;
    padding-bottom: 4em !important; }
  .py-pc-5 {
    padding-top: 5em !important;
    padding-bottom: 5em !important; }
  .px-pc-0 {
    padding-left: 0em !important;
    padding-right: 0em !important; }
  .px-pc-1 {
    padding-left: 1em !important;
    padding-right: 1em !important; }
  .px-pc-2 {
    padding-left: 2em !important;
    padding-right: 2em !important; }
  .px-pc-3 {
    padding-left: 3em !important;
    padding-right: 3em !important; }
  .px-pc-4 {
    padding-left: 4em !important;
    padding-right: 4em !important; }
  .px-pc-5 {
    padding-left: 5em !important;
    padding-right: 5em !important; } }

@media screen and (max-width: 767px) {
  .m-sp-0 {
    margin: 0em !important; }
  .m-sp-1 {
    margin: 1em !important; }
  .m-sp-2 {
    margin: 2em !important; }
  .m-sp-3 {
    margin: 3em !important; }
  .m-sp-4 {
    margin: 4em !important; }
  .m-sp-5 {
    margin: 5em !important; }
  .mt-sp-0 {
    margin-top: 0em !important; }
  .mt-sp-1 {
    margin-top: 1em !important; }
  .mt-sp-2 {
    margin-top: 2em !important; }
  .mt-sp-3 {
    margin-top: 3em !important; }
  .mt-sp-4 {
    margin-top: 4em !important; }
  .mt-sp-5 {
    margin-top: 5em !important; }
  .mr-sp-0 {
    margin-right: 0em !important; }
  .mr-sp-1 {
    margin-right: 1em !important; }
  .mr-sp-2 {
    margin-right: 2em !important; }
  .mr-sp-3 {
    margin-right: 3em !important; }
  .mr-sp-4 {
    margin-right: 4em !important; }
  .mr-sp-5 {
    margin-right: 5em !important; }
  .mb-sp-0 {
    margin-bottom: 0em !important; }
  .mb-sp-1 {
    margin-bottom: 1em !important; }
  .mb-sp-2 {
    margin-bottom: 2em !important; }
  .mb-sp-3 {
    margin-bottom: 3em !important; }
  .mb-sp-4 {
    margin-bottom: 4em !important; }
  .mb-sp-5 {
    margin-bottom: 5em !important; }
  .ml-sp-0 {
    margin-left: 0em !important; }
  .ml-sp-1 {
    margin-left: 1em !important; }
  .ml-sp-2 {
    margin-left: 2em !important; }
  .ml-sp-3 {
    margin-left: 3em !important; }
  .ml-sp-4 {
    margin-left: 4em !important; }
  .ml-sp-5 {
    margin-left: 5em !important; }
  .my-sp-0 {
    margin-top: 0em !important;
    margin-bottom: 0em !important; }
  .my-sp-1 {
    margin-top: 1em !important;
    margin-bottom: 1em !important; }
  .my-sp-2 {
    margin-top: 2em !important;
    margin-bottom: 2em !important; }
  .my-sp-3 {
    margin-top: 3em !important;
    margin-bottom: 3em !important; }
  .my-sp-4 {
    margin-top: 4em !important;
    margin-bottom: 4em !important; }
  .my-sp-5 {
    margin-top: 5em !important;
    margin-bottom: 5em !important; }
  .mx-sp-0 {
    margin-left: 0em !important;
    margin-right: 0em !important; }
  .mx-sp-1 {
    margin-left: 1em !important;
    margin-right: 1em !important; }
  .mx-sp-2 {
    margin-left: 2em !important;
    margin-right: 2em !important; }
  .mx-sp-3 {
    margin-left: 3em !important;
    margin-right: 3em !important; }
  .mx-sp-4 {
    margin-left: 4em !important;
    margin-right: 4em !important; }
  .mx-sp-5 {
    margin-left: 5em !important;
    margin-right: 5em !important; }
  .p-sp-0 {
    padding: 0em !important; }
  .p-sp-1 {
    padding: 1em !important; }
  .p-sp-2 {
    padding: 2em !important; }
  .p-sp-3 {
    padding: 3em !important; }
  .p-sp-4 {
    padding: 4em !important; }
  .p-sp-5 {
    padding: 5em !important; }
  .pt-sp-0 {
    padding-top: 0em !important; }
  .pt-sp-1 {
    padding-top: 1em !important; }
  .pt-sp-2 {
    padding-top: 2em !important; }
  .pt-sp-3 {
    padding-top: 3em !important; }
  .pt-sp-4 {
    padding-top: 4em !important; }
  .pt-sp-5 {
    padding-top: 5em !important; }
  .pr-sp-0 {
    padding-right: 0em !important; }
  .pr-sp-1 {
    padding-right: 1em !important; }
  .pr-sp-2 {
    padding-right: 2em !important; }
  .pr-sp-3 {
    padding-right: 3em !important; }
  .pr-sp-4 {
    padding-right: 4em !important; }
  .pr-sp-5 {
    padding-right: 5em !important; }
  .pb-sp-0 {
    padding-bottom: 0em !important; }
  .pb-sp-1 {
    padding-bottom: 1em !important; }
  .pb-sp-2 {
    padding-bottom: 2em !important; }
  .pb-sp-3 {
    padding-bottom: 3em !important; }
  .pb-sp-4 {
    padding-bottom: 4em !important; }
  .pb-sp-5 {
    padding-bottom: 5em !important; }
  .pl-sp-0 {
    padding-left: 0em !important; }
  .pl-sp-1 {
    padding-left: 1em !important; }
  .pl-sp-2 {
    padding-left: 2em !important; }
  .pl-sp-3 {
    padding-left: 3em !important; }
  .pl-sp-4 {
    padding-left: 4em !important; }
  .pl-sp-5 {
    padding-left: 5em !important; }
  .py-sp-0 {
    padding-top: 0em !important;
    padding-bottom: 0em !important; }
  .py-sp-1 {
    padding-top: 1em !important;
    padding-bottom: 1em !important; }
  .py-sp-2 {
    padding-top: 2em !important;
    padding-bottom: 2em !important; }
  .py-sp-3 {
    padding-top: 3em !important;
    padding-bottom: 3em !important; }
  .py-sp-4 {
    padding-top: 4em !important;
    padding-bottom: 4em !important; }
  .py-sp-5 {
    padding-top: 5em !important;
    padding-bottom: 5em !important; }
  .px-sp-0 {
    padding-left: 0em !important;
    padding-right: 0em !important; }
  .px-sp-1 {
    padding-left: 1em !important;
    padding-right: 1em !important; }
  .px-sp-2 {
    padding-left: 2em !important;
    padding-right: 2em !important; }
  .px-sp-3 {
    padding-left: 3em !important;
    padding-right: 3em !important; }
  .px-sp-4 {
    padding-left: 4em !important;
    padding-right: 4em !important; }
  .px-sp-5 {
    padding-left: 5em !important;
    padding-right: 5em !important; } }

.row {
  --gutter-x: 30px;
  display: flex;
  flex-wrap: wrap;
  margin-right: calc(var(--gutter-x) / -2);
  margin-left: calc(var(--gutter-x) / -2); }
  .row > * {
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    box-sizing: border-box; }

.g-0 {
  --gutter-x: 0px; }

.g-sm {
  --gutter-x: 10px; }

.g-md {
  --gutter-x: 20px; }

.g-lg {
  --gutter-x: 40px; }

@media screen and (min-width: 768px) {
  .g-pc-0 {
    --gutter-x: 0px; }
  .g-pc-sm {
    --gutter-x: 10px; }
  .g-pc-md {
    --gutter-x: 20px; }
  .g-pc-lg {
    --gutter-x: 40px; } }

@media screen and (max-width: 767px) {
  .g-sp-0 {
    --gutter-x: 0px; }
  .g-sp-sm {
    --gutter-x: 10px; }
  .g-sp-md {
    --gutter-x: 20px; }
  .g-sp-lg {
    --gutter-x: 40px; } }

.col-1 {
  position: relative;
  width: 100%;
  padding-right: calc(var(--gutter-x) / 2);
  padding-left: calc(var(--gutter-x) / 2);
  flex: 0 0 8.33333%;
  max-width: 8.33333%; }

.col-2 {
  position: relative;
  width: 100%;
  padding-right: calc(var(--gutter-x) / 2);
  padding-left: calc(var(--gutter-x) / 2);
  flex: 0 0 16.66667%;
  max-width: 16.66667%; }

.col-3 {
  position: relative;
  width: 100%;
  padding-right: calc(var(--gutter-x) / 2);
  padding-left: calc(var(--gutter-x) / 2);
  flex: 0 0 25%;
  max-width: 25%; }

.col-4 {
  position: relative;
  width: 100%;
  padding-right: calc(var(--gutter-x) / 2);
  padding-left: calc(var(--gutter-x) / 2);
  flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.col-5 {
  position: relative;
  width: 100%;
  padding-right: calc(var(--gutter-x) / 2);
  padding-left: calc(var(--gutter-x) / 2);
  flex: 0 0 41.66667%;
  max-width: 41.66667%; }

.col-6 {
  position: relative;
  width: 100%;
  padding-right: calc(var(--gutter-x) / 2);
  padding-left: calc(var(--gutter-x) / 2);
  flex: 0 0 50%;
  max-width: 50%; }

.col-7 {
  position: relative;
  width: 100%;
  padding-right: calc(var(--gutter-x) / 2);
  padding-left: calc(var(--gutter-x) / 2);
  flex: 0 0 58.33333%;
  max-width: 58.33333%; }

.col-8 {
  position: relative;
  width: 100%;
  padding-right: calc(var(--gutter-x) / 2);
  padding-left: calc(var(--gutter-x) / 2);
  flex: 0 0 66.66667%;
  max-width: 66.66667%; }

.col-9 {
  position: relative;
  width: 100%;
  padding-right: calc(var(--gutter-x) / 2);
  padding-left: calc(var(--gutter-x) / 2);
  flex: 0 0 75%;
  max-width: 75%; }

.col-10 {
  position: relative;
  width: 100%;
  padding-right: calc(var(--gutter-x) / 2);
  padding-left: calc(var(--gutter-x) / 2);
  flex: 0 0 83.33333%;
  max-width: 83.33333%; }

.col-11 {
  position: relative;
  width: 100%;
  padding-right: calc(var(--gutter-x) / 2);
  padding-left: calc(var(--gutter-x) / 2);
  flex: 0 0 91.66667%;
  max-width: 91.66667%; }

.col-12 {
  position: relative;
  width: 100%;
  padding-right: calc(var(--gutter-x) / 2);
  padding-left: calc(var(--gutter-x) / 2);
  flex: 0 0 100%;
  max-width: 100%; }

@media screen and (min-width: 768px) {
  .col-pc-1 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-pc-2 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-pc-3 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 25%;
    max-width: 25%; }
  .col-pc-4 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-pc-5 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-pc-6 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 50%;
    max-width: 50%; }
  .col-pc-7 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-pc-8 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-pc-9 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 75%;
    max-width: 75%; }
  .col-pc-10 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-pc-11 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-pc-12 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 100%;
    max-width: 100%; } }

@media screen and (max-width: 767px) {
  .col-sp-1 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-sp-2 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-sp-3 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 25%;
    max-width: 25%; }
  .col-sp-4 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-sp-5 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-sp-6 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 50%;
    max-width: 50%; }
  .col-sp-7 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-sp-8 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-sp-9 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 75%;
    max-width: 75%; }
  .col-sp-10 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-sp-11 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-sp-12 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 0 0 100%;
    max-width: 100%; } }

.col {
  position: relative;
  width: 100%;
  padding-right: calc(var(--gutter-x) / 2);
  padding-left: calc(var(--gutter-x) / 2);
  flex: 1 1 0;
  max-width: 100%; }

@media screen and (min-width: 768px) {
  .col-pc {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 1 1 0;
    max-width: 100%; } }

@media screen and (max-width: 767px) {
  .col-sp {
    position: relative;
    width: 100%;
    padding-right: calc(var(--gutter-x) / 2);
    padding-left: calc(var(--gutter-x) / 2);
    flex: 1 1 0;
    max-width: 100%; } }

.section {
  position: relative;
  box-sizing: border-box; }
  .section__ptn1 {
    padding: 4rem 0; }
    @media only screen and (max-width: 767px) {
      .section__ptn1 {
        padding: 6rem 0; } }
  .section__content {
    width: 100%;
    margin: 0 auto;
    padding: 0 2rem;
    box-sizing: border-box; }
    .section__content_ptn1 {
      max-width: 106.4rem; }
    .section__content_ptn2 {
      max-width: 140rem;
      padding: 0; }
    .section__content_ptn3 {
      width: 100%;
      padding: 0; }

.block__ptn1 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 6.4rem;
     -moz-column-gap: 6.4rem;
          column-gap: 6.4rem;
  row-gap: 6.15rem; }
  @media only screen and (max-width: 767px) {
    .block__ptn1 {
      grid-template-columns: 1fr;
      row-gap: 4rem;
      padding: 0 2rem;
      box-sizing: border-box; } }

.block__ptn2 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 3.6rem;
     -moz-column-gap: 3.6rem;
          column-gap: 3.6rem;
  row-gap: 3.6rem; }
  @media only screen and (max-width: 767px) {
    .block__ptn2 {
      grid-template-columns: 1fr;
      row-gap: 3rem;
      padding: 0 2rem;
      box-sizing: border-box; } }

.block__ptn3 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.3rem 6.6rem;
  max-width: 97rem;
  width: 100%;
  margin: 0 auto; }
  @media only screen and (max-width: 767px) {
    .block__ptn3 {
      grid-template-columns: 1fr;
      row-gap: 3.36rem; } }

.block__ptn4 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: 6rem;
     -moz-column-gap: 6rem;
          column-gap: 6rem;
  row-gap: 6rem; }
  @media only screen and (max-width: 767px) {
    .block__ptn4 {
      grid-template-columns: 1fr;
      row-gap: 3rem; } }

.box__thumbnail {
  display: block;
  background: 50% 50% no-repeat;
  background-size: cover; }
  .box__thumbnail::before {
    content: "";
    display: block; }

.box__ptn1 {
  display: flex;
  flex-direction: column; }
  .box__ptn1_img {
    flex-grow: 0;
    display: block;
    margin: 0 0 2rem;
    position: relative;
    overflow: hidden;
    text-decoration: none;
    color: #111111; }
    .box__ptn1_img img {
      transition: .3s; }
      .box__ptn1_img img:hover {
        -webkit-transform: scale(1.2);
        transform: scale(1.2); }
  .box__ptn1_figure {
    overflow: clip; }
  .box__ptn1_caption {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    line-height: 1.3;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    white-space: nowrap;
    text-align: left;
    font-size: 4.8rem;
    color: #a7b713; }
  .box__ptn1_ttl {
    display: inline-block;
    padding: 1rem 1.5rem;
    box-sizing: border-box;
    background: #a7b713;
    position: absolute;
    left: 0;
    bottom: 0;
    line-height: 1.8;
    letter-spacing: 0.05em;
    font-size: 2rem;
    font-weight: bold; }
  .box__ptn1_sub {
    font-size: 1.6rem;
    font-weight: normal; }
  .box__ptn1_cont {
    flex-grow: 1;
    text-align: left; }
  .box__ptn1_desc {
    line-height: 2;
    letter-spacing: 0.05em;
    font-size: 1.8rem;
    font-weight: bold;
    color: #FFF; }
    @media only screen and (max-width: 767px) {
      .box__ptn1_desc {
        font-size: 1.6rem; } }
  .box__ptn1_dl {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap; }
  .box__ptn1_dt {
    width: 7.6rem;
    padding: .2rem .9rem .3rem;
    border: .1rem solid #E6E6E6;
    box-sizing: border-box;
    line-height: 1.3;
    letter-spacing: 0.05em;
    white-space: nowrap;
    font-size: 1.4rem;
    color: #FFF; }
  .box__ptn1_dd {
    width: calc(100% - 8.8rem);
    line-height: 2;
    letter-spacing: 0.05em;
    font-size: 1.4rem;
    color: #FFF; }
  .box__ptn1_btn {
    flex-grow: 0;
    padding-top: 1rem;
    box-sizing: border-box; }

.box__ptn2 {
  display: block;
  text-align: left;
  text-decoration: none; }
  .box__ptn2 .box__thumbnail {
    margin: 0 0 1.1rem; }
    .box__ptn2 .box__thumbnail::before {
      padding-top: 68.965%; }
  .box__ptn2_ttl {
    display: block;
    line-height: 1.5;
    font-size: 1.6rem;
    color: #111111; }
    @media only screen and (max-width: 767px) {
      .box__ptn2_ttl {
        font-size: 1.2rem; } }

.box__ptn3 {
  display: flex;
  justify-content: space-between;
  margin: 0;
  position: relative;
  text-decoration: none;
  color: #111111; }
  @media only screen and (max-width: 767px) {
    .box__ptn3 {
      flex-direction: column;
      padding-top: 8.3rem;
      border-top: .2rem solid #FFF; } }
  .box__ptn3 + .box__ptn3 {
    margin-top: 14rem; }
    @media only screen and (max-width: 767px) {
      .box__ptn3 + .box__ptn3 {
        margin-top: 6rem; } }
  .box__ptn3::after {
    content: "";
    width: calc((100vw - 102.4rem) / 2);
    height: 100%;
    background: rgba(255, 255, 255, 0.3);
    position: absolute;
    top: 0;
    right: calc((102.4rem - 100vw) / 2); }
    @media only screen and (max-width: 767px) {
      .box__ptn3::after {
        width: 2rem;
        height: calc(100% - 8.3rem);
        right: -2rem;
        top: auto;
        bottom: 0; } }
  .box__ptn3_num {
    display: block;
    width: 10.1rem;
    margin-right: 3.2rem;
    text-align: left; }
    @media only screen and (max-width: 767px) {
      .box__ptn3_num {
        margin: 0;
        position: absolute;
        top: -1.5rem;
        left: 0; } }
    .box__ptn3_num svg {
      width: 100%;
      height: auto;
      overflow: visible; }
      .box__ptn3_num svg text {
        fill: rgba(255, 255, 255, 0);
        stroke: #FFF;
        stroke-width: .1rem;
        stroke-linejoin: unset;
        font-size: 12rem; }
        @media only screen and (max-width: 767px) {
          .box__ptn3_num svg text {
            font-size: 8rem; } }
  .box__ptn3 .box__thumbnail {
    width: 39rem;
    position: relative;
    overflow: hidden; }
    @media only screen and (max-width: 767px) {
      .box__ptn3 .box__thumbnail {
        width: 100%; } }
    .box__ptn3 .box__thumbnail img {
      transition: .3s;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
      .box__ptn3 .box__thumbnail img:hover {
        -webkit-transform: scale(1.2);
        transform: scale(1.2); }
    .box__ptn3 .box__thumbnail::before {
      padding-top: 74.3589%; }
  .box__ptn3_tag {
    display: inline-block;
    padding: .5rem 1rem;
    box-sizing: border-box;
    background: #a7b713;
    position: absolute;
    top: 0;
    left: 0;
    line-height: 1.8;
    font-size: 2rem;
    font-weight: bold;
    color: #FFF;
    z-index: 1; }
    @media only screen and (max-width: 767px) {
      .box__ptn3_tag {
        font-size: 1.5rem; } }
  .box__ptn3_cont {
    display: block;
    width: calc(100% - 52.3rem);
    padding: 4rem 0 0 3rem;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.3);
    text-align: left; }
    @media only screen and (max-width: 767px) {
      .box__ptn3_cont {
        width: 100%;
        padding: 2rem 0 5rem 2rem; } }
  .box__ptn3_name {
    display: block;
    margin: 0 0 1.7rem;
    padding: 0 0 1.2rem;
    border-bottom: .2rem solid #FFF;
    box-sizing: border-box;
    line-height: 1.2857;
    font-size: 2.8rem;
    font-weight: bold; }
    @media only screen and (max-width: 767px) {
      .box__ptn3_name {
        font-size: 2.2rem; } }
    .box__ptn3_name-sub {
      font-size: 1.8rem;
      font-weight: normal; }
      @media only screen and (max-width: 767px) {
        .box__ptn3_name-sub {
          font-size: 1.4rem; } }
  .box__ptn3_career {
    display: block;
    margin: 0 0 2rem;
    line-height: 1.8;
    font-size: 2rem; }
    @media only screen and (max-width: 767px) {
      .box__ptn3_career {
        font-size: 1.4rem; } }
  .box__ptn3_belong {
    display: inline-block;
    padding: .5rem 1rem;
    box-sizing: border-box;
    background: #111111;
    line-height: 2.25;
    font-size: 1.6rem;
    color: #FFF; }
    @media only screen and (max-width: 767px) {
      .box__ptn3_belong {
        font-size: 1.4rem; } }
  .box__ptn3_ruby {
    position: absolute;
    right: 0;
    bottom: -7.5rem;
    line-height: 1;
    white-space: nowrap;
    font-size: 10rem;
    color: rgba(255, 255, 255, 0.6); }
    @media only screen and (max-width: 767px) {
      .box__ptn3_ruby {
        right: auto;
        left: 2rem;
        bottom: -3.75rem;
        font-size: 5rem; } }

.box__ptn4 {
  display: flex;
  position: relative;
  text-decoration: none;
  text-align: left;
  color: #111111; }
  @media only screen and (max-width: 767px) {
    .box__ptn4 {
      margin-left: 2rem; } }
  .box__ptn4 .box__thumbnail {
    width: 50%; }
    .box__ptn4 .box__thumbnail::before {
      padding-top: 101.4%; }
  .box__ptn4_cont {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    width: 50%;
    padding: 2.05rem;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.3); }
    @media only screen and (max-width: 767px) {
      .box__ptn4_cont {
        padding: 1.5rem; } }
  .box__ptn4_name {
    display: block;
    margin: 0 0 .5rem;
    line-height: 1.4rem;
    letter-spacing: 0.05em;
    font-size: 2rem;
    font-weight: bold; }
    @media only screen and (max-width: 767px) {
      .box__ptn4_name {
        font-size: 1.5rem; } }
  .box__ptn4_sub {
    font-size: 1.6rem;
    font-weight: normal; }
    @media only screen and (max-width: 767px) {
      .box__ptn4_sub {
        font-size: 1.2rem; } }
  .box__ptn4_ruby {
    display: block;
    margin: 0 0 2.3rem;
    line-height: 1.65;
    font-size: 2rem;
    color: #FFF; }
    @media only screen and (max-width: 767px) {
      .box__ptn4_ruby {
        margin: 0 0 1.15rem;
        line-height: 1.625;
        font-size: 1.6rem; } }
  .box__ptn4_belong {
    display: inline-block;
    padding: .5rem 1rem;
    box-sizing: border-box;
    background: #111111;
    line-height: 2.769;
    font-size: 1.3rem;
    color: #FFF; }
    @media only screen and (max-width: 767px) {
      .box__ptn4_belong {
        font-size: 1.2rem; } }
  .box__ptn4_num {
    position: absolute;
    top: -5.6rem;
    left: -2.8rem; }
    @media only screen and (max-width: 767px) {
      .box__ptn4_num {
        top: -6.2rem;
        left: -2rem; } }
    .box__ptn4_num svg {
      width: 100%;
      height: auto;
      overflow: visible; }
      .box__ptn4_num svg text {
        fill: rgba(255, 255, 255, 0);
        stroke: #FFF;
        stroke-width: .1rem;
        stroke-linejoin: unset;
        font-size: 6rem; }
        @media only screen and (max-width: 767px) {
          .box__ptn4_num svg text {
            font-size: 4.4rem; } }

.box__ptn5 {
  display: flex;
  justify-content: space-between;
  text-decoration: none; }
  @media only screen and (max-width: 767px) {
    .box__ptn5 {
      flex-direction: column;
      width: 100%; } }
  .box__ptn5_img {
    display: block;
    width: 80.5rem;
    position: relative;
    overflow: hidden; }
    @media only screen and (max-width: 767px) {
      .box__ptn5_img {
        width: 100%; } }
    .box__ptn5_img img {
      transition: .3s; }
      .box__ptn5_img img:hover {
        -webkit-transform: scale(1.2);
        transform: scale(1.2); }
  .box__ptn5_cont {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: calc(100% - 80.5rem);
    position: relative;
    text-align: left;
    z-index: 1; }
    @media only screen and (max-width: 767px) {
      .box__ptn5_cont {
        display: block;
        width: 100%;
        padding: 2rem 2rem 6rem;
        box-sizing: border-box; } }
    .box__ptn5_cont::before {
      content: "";
      width: 20.5rem;
      height: 100%;
      position: absolute;
      top: 0;
      left: -10rem;
      -webkit-transform: skewX(-25deg);
              transform: skewX(-25deg);
      z-index: -1; }
      @media only screen and (max-width: 767px) {
        .box__ptn5_cont::before {
          width: 100%;
          height: 8rem;
          top: -4rem;
          left: 0;
          -webkit-transform: skewY(-8deg);
                  transform: skewY(-8deg); } }
    .box__ptn5_cont::after {
      content: "";
      width: calc((100vw - 140rem) / 2);
      height: 100%;
      position: absolute;
      top: 0;
      right: calc((140rem - 100vw) / 2);
      z-index: -1; }
      @media only screen and (max-width: 767px) {
        .box__ptn5_cont::after {
          display: none; } }
  .box__ptn5_head {
    display: block;
    max-width: 49.5rem;
    width: 100%;
    margin: 0 0 2rem; }
  .box__ptn5_name {
    display: block;
    margin: 0 0 .9rem;
    line-height: 1.0769;
    font-size: 2.6rem;
    font-weight: bold; }
    .box__ptn5_name-sub {
      font-size: 1.6rem;
      font-weight: normal; }
  .box__ptn5_data {
    display: block;
    margin: 0;
    line-height: 1.75;
    font-size: 1.6rem; }
    @media only screen and (max-width: 767px) {
      .box__ptn5_data {
        font-size: 1.4rem; } }
    .box__ptn5_data + .box__ptn5_data {
      margin-top: .8rem; }
  .box__ptn5_copy {
    display: block;
    max-width: 49.5rem;
    width: 100%;
    line-height: 1.8333;
    font-size: 2.4rem;
    font-weight: bold; }
    @media only screen and (max-width: 767px) {
      .box__ptn5_copy {
        font-size: 2rem; } }
  .box__ptn5_ruby {
    position: absolute;
    right: 3.5rem;
    bottom: -1.5rem;
    z-index: 2;
    line-height: 1;
    font-size: 8rem;
    color: #FFF; }
    @media only screen and (max-width: 767px) {
      .box__ptn5_ruby {
        top: .5rem;
        right: .2rem;
        bottom: auto;
        text-align: right;
        font-size: 5rem; } }
  .box__ptn5_typ1 {
    color: #111111; }
    .box__ptn5_typ1 .box__ptn5_cont {
      background: #a7b713; }
      .box__ptn5_typ1 .box__ptn5_cont::before, .box__ptn5_typ1 .box__ptn5_cont::after {
        background: #a7b713; }
  .box__ptn5_typ2 {
    color: #FFF; }
    .box__ptn5_typ2 .box__ptn5_cont {
      background: #111111; }
      .box__ptn5_typ2 .box__ptn5_cont::before, .box__ptn5_typ2 .box__ptn5_cont::after {
        background: #111111; }

.box__ptn6 {
  margin-left: 2rem;
  border: 0.2rem solid #111111;
  box-sizing: border-box;
  position: relative;
  background: #111111; }
  .box__ptn6_media {
    width: 100%;
    position: relative; }
    .box__ptn6_media::before {
      content: "";
      display: block;
      padding-top: 56.3%; }
    .box__ptn6_media iframe,
    .box__ptn6_media img,
    .box__ptn6_media video {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0; }
  .box__ptn6_caption {
    display: block;
    padding: 1rem 1.5rem;
    box-sizing: border-box;
    background: #111111;
    line-height: 1.666;
    text-align: left;
    font-size: 1.8rem;
    font-weight: bold;
    color: #FFF; }
  .box__ptn6_tag {
    display: inline-block;
    width: 2rem;
    padding: .7rem .2rem .7rem 0;
    box-sizing: border-box;
    background: #111111;
    position: absolute;
    top: -.2rem;
    left: -2.1rem;
    line-height: 1;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    white-space: nowrap;
    font-size: 1.4rem;
    color: #a7b713; }

.box--en__ptn1_ttl {
  display: inline-block;
  width: 100%;
  padding: 1rem 1.5rem;
  box-sizing: border-box;
  background: #A7B713;
  position: absolute;
  left: 0;
  bottom: 0;
  line-height: 1;
  letter-spacing: 0.05em;
  font-size: 2.7rem;
  font-weight: 500;
  text-align: left; }

.box--en__ptn1_sub {
  display: block;
  font-size: 2rem;
  font-weight: normal; }

.box--en__ptn1_dt {
  padding: .2rem .9rem .3rem;
  border: .1rem solid #E6E6E6;
  box-sizing: border-box;
  line-height: 1.3;
  letter-spacing: 0.05em;
  white-space: nowrap;
  font-size: 1.4rem;
  color: #FFF; }

.box--en__ptn1_dd {
  width: 100%;
  line-height: 2;
  letter-spacing: 0.05em;
  font-size: 1.4rem;
  color: #FFF; }

.box--en__ptn1_img {
  flex-grow: 0;
  display: block;
  margin: 0 0 2rem;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  color: #111111; }
  .box--en__ptn1_img img {
    pointer-events: none; }

.btn {
  display: block;
  text-decoration: none;
  box-sizing: border-box; }
  .btn__ptn1 {
    width: 32.5rem;
    padding: .8rem 2rem;
    border: 0.2rem solid #a7b713;
    box-sizing: border-box;
    position: relative;
    line-height: 1.75;
    text-align: left;
    font-size: 1.6rem;
    font-weight: bold;
    color: #a7b713; }
    .btn__ptn1::after {
      content: "→";
      position: absolute;
      top: 50%;
      right: 1rem;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
  .btn__learnmore {
    border-bottom: 0.2rem solid #111111;
    text-align: left;
    color: #111111; }
    .btn__learnmore_ptn1 {
      width: 21.48vw;
      line-height: 1.65;
      font-size: 1.428vw;
      -webkit-clip-path: inset(0% 0% 0% 0%);
              clip-path: inset(0% 0% 0% 0%); }
      @media only screen and (max-width: 767px) {
        .btn__learnmore_ptn1 {
          position: relative;
          width: 100%;
          font-size: 2rem; }
          .btn__learnmore_ptn1::after {
            content: "";
            position: absolute;
            top: 2.7rem;
            right: -0.1rem;
            width: 2rem;
            height: 0.1rem;
            background: #111111;
            rotate: 35deg; } }
    .btn__learnmore_ptn2 {
      width: 21.48vw;
      border-bottom: .2rem solid #FFF;
      line-height: 1.65;
      font-size: 1.428vw;
      color: #FFF; }
      @media only screen and (max-width: 767px) {
        .btn__learnmore_ptn2 {
          width: 100%;
          font-size: 2rem; } }
    .btn__learnmore_ptn3 {
      width: 100%;
      border-bottom: .2rem solid #FFF;
      line-height: 2;
      font-size: 2rem;
      color: #FFF; }
    .btn__learnmore_anime {
      -webkit-animation: learnmore_hoverout .4s ease-in-out;
              animation: learnmore_hoverout .4s ease-in-out; }
      .btn__learnmore_anime:hover {
        -webkit-animation: learnmore_hover .4s ease-in-out;
                animation: learnmore_hover .4s ease-in-out;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards; }
      @media only screen and (max-width: 767px) {
        .btn__learnmore_anime {
          -webkit-animation: none;
                  animation: none; }
          .btn__learnmore_anime:hover {
            -webkit-animation: none;
                    animation: none; } }

@-webkit-keyframes learnmore_hover {
  0% {
    -webkit-clip-path: inset(0% 0% 0% 0%);
            clip-path: inset(0% 0% 0% 0%);
    -webkit-transform: translateX(0px);
            transform: translateX(0px); }
  50% {
    -webkit-clip-path: inset(0% 0% 0% 100%);
            clip-path: inset(0% 0% 0% 100%); }
  51% {
    -webkit-clip-path: inset(0% 0% 100% 0%);
            clip-path: inset(0% 0% 100% 0%); }
  52% {
    -webkit-clip-path: inset(0% 100% 0% 0%);
            clip-path: inset(0% 100% 0% 0%); }
  100% {
    -webkit-clip-path: inset(0% 0% 0% 0%);
            clip-path: inset(0% 0% 0% 0%); } }

@keyframes learnmore_hover {
  0% {
    -webkit-clip-path: inset(0% 0% 0% 0%);
            clip-path: inset(0% 0% 0% 0%);
    -webkit-transform: translateX(0px);
            transform: translateX(0px); }
  50% {
    -webkit-clip-path: inset(0% 0% 0% 100%);
            clip-path: inset(0% 0% 0% 100%); }
  51% {
    -webkit-clip-path: inset(0% 0% 100% 0%);
            clip-path: inset(0% 0% 100% 0%); }
  52% {
    -webkit-clip-path: inset(0% 100% 0% 0%);
            clip-path: inset(0% 100% 0% 0%); }
  100% {
    -webkit-clip-path: inset(0% 0% 0% 0%);
            clip-path: inset(0% 0% 0% 0%); } }

.ttl__ptn1 {
  margin: 0 0 3rem;
  position: relative;
  text-align: left; }
  .ttl__ptn1_copy {
    display: inline-block;
    padding: .4rem 2.7rem 0 0;
    border-left: .6rem solid #FFF;
    border-bottom: .6rem solid #FFF;
    box-sizing: border-box;
    background: #111111;
    line-height: 1;
    letter-spacing: 0.05em;
    font-size: 3.2rem;
    font-weight: bold;
    color: #FFF; }
    @media only screen and (max-width: 767px) {
      .ttl__ptn1_copy {
        padding-right: 0;
        border-left-width: .4rem;
        border-bottom-width: .4rem;
        -webkit-font-feature-settings: 'palt';
                font-feature-settings: 'palt';
        font-size: 1.8rem; } }
    .ttl__ptn1_copy-sub {
      font-size: 2.8rem;
      font-weight: normal; }
      @media only screen and (max-width: 767px) {
        .ttl__ptn1_copy-sub {
          -webkit-font-feature-settings: 'palt';
                  font-feature-settings: 'palt';
          font-size: 1.4rem; } }
  .ttl__ptn1_main {
    display: block;
    position: relative;
    line-height: .6;
    font-size: 12rem;
    color: #a7b713; }
    @media only screen and (max-width: 767px) {
      .ttl__ptn1_main {
        font-size: 6rem; } }
    .ttl__ptn1_main::after {
      content: "";
      width: 100%;
      height: .2rem;
      background: #a7b713;
      position: absolute;
      top: 39%;
      left: 0;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
      @media only screen and (max-width: 767px) {
        .ttl__ptn1_main::after {
          display: none; } }
    .ttl__ptn1_main-text {
      display: inline-block;
      padding: 0 2rem 0 0;
      background: #FFF;
      position: relative;
      z-index: 1; }
      @media only screen and (max-width: 767px) {
        .ttl__ptn1_main-text {
          padding: 0; } }
  .ttl__ptn1_sub {
    line-height: 1.45;
    letter-spacing: 0.05em;
    position: absolute;
    left: 0;
    bottom: 2rem;
    z-index: 1;
    font-size: 2rem; }
    @media only screen and (max-width: 767px) {
      .ttl__ptn1_sub {
        position: static;
        font-size: 1.6rem; } }
  .ttl__ptn1_typ1 .ttl__ptn1_main::after {
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 50%, #a7b713 50%); }
  .ttl__ptn1_typ1 .ttl__ptn1_main-text {
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 80%, #FFF 80%, #FFF); }
  .ttl__ptn1_typ2 .ttl__ptn1_main::after {
    background: #FFF; }
  .ttl__ptn1_typ2 .ttl__ptn1_main-text {
    background: #a7b713;
    color: #FFF; }

.ttl__ptn2 {
  margin: 0 0 3rem;
  position: relative;
  text-align: left; }
  .ttl__ptn2::before {
    content: "";
    width: 100%;
    height: .2rem;
    background: #111111;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
  .ttl__ptn2_text {
    display: inline-block;
    padding: 0 1rem 0 0;
    box-sizing: border-box;
    background: #FFF;
    position: relative;
    z-index: 1;
    line-height: 2.2;
    letter-spacing: 0.05em;
    font-size: 2rem;
    font-weight: bold; }

.ttl__ptn3 {
  display: block;
  margin: 0 0 1.25rem;
  background: linear-gradient(to bottom, #111111 58%, rgba(255, 255, 255, 0) 58%);
  line-height: 1.64;
  text-align: left;
  font-size: 5rem;
  color: #FFF; }
  @media only screen and (max-width: 767px) {
    .ttl__ptn3 {
      width: calc(100% + 4rem);
      margin: 0 -2rem 1.25rem;
      padding: 0 2rem;
      box-sizing: border-box;
      font-size: 3rem; } }

.ttl__ptn4 {
  display: block;
  margin: 0 1rem 1.25rem;
  line-height: 1.64;
  text-align: left;
  font-size: 5rem;
  color: #FFF; }
  .ttl__ptn4_main {
    display: block;
    position: relative;
    line-height: .6;
    font-size: 12rem;
    color: #a7b713; }
    @media only screen and (max-width: 767px) {
      .ttl__ptn4_main {
        font-size: 6rem; } }
    .ttl__ptn4_main::after {
      content: ""; }
    .ttl__ptn4_main-text {
      display: inline-block;
      padding: 0 2rem 0 0;
      background: #FFF;
      position: relative;
      z-index: 1; }
      @media only screen and (max-width: 767px) {
        .ttl__ptn4_main-text {
          padding: 0; } }

.ttl__ptn5 {
  margin: 14rem 0 8rem;
  position: relative;
  text-align: left; }
  @media only screen and (max-width: 767px) {
    .ttl__ptn5 {
      margin: 12rem 0 6rem; } }
  .ttl__ptn5_main {
    display: block;
    position: relative;
    line-height: .6;
    font-size: 6.4rem;
    color: #a7b713; }
    @media only screen and (max-width: 767px) {
      .ttl__ptn5_main {
        font-size: 4rem; } }
    .ttl__ptn5_main::after {
      content: "";
      width: 100%;
      height: .2rem;
      background: #a7b713;
      position: absolute;
      top: 39%;
      left: 0;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
      @media only screen and (max-width: 767px) {
        .ttl__ptn5_main::after {
          display: none; } }
    .ttl__ptn5_main-text {
      display: inline-block;
      padding: 0 2rem 0 0;
      background: #FFF;
      position: relative;
      z-index: 1; }
      @media only screen and (max-width: 767px) {
        .ttl__ptn5_main-text {
          padding: 0; } }
  .ttl__ptn5_sub {
    line-height: 1.45;
    letter-spacing: 0.05em;
    font-size: 3rem; }
    @media only screen and (max-width: 767px) {
      .ttl__ptn5_sub {
        font-size: 2.4rem; } }

.ttl__ptn6 {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: left;
  padding-bottom: 1.6rem;
  border-bottom: 1px solid #111111;
  margin: 8rem 0 3rem; }
  @media only screen and (max-width: 767px) {
    .ttl__ptn6 {
      font-size: 2.2rem;
      margin: 6rem 0 3rem; } }

.ttl__ptn7 {
  font-size: 2.0rem;
  color: #FFF;
  background: #111111;
  padding: 0.4rem 0.8rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 4rem 0 2rem; }
  @media only screen and (max-width: 767px) {
    .ttl__ptn7 {
      font-size: 1.8rem;
      margin: 3rem 0 2rem; } }

.ttl__ptn8 {
  font-size: 2.8rem;
  font-weight: bold;
  text-align: left;
  margin-bottom: 40px; }
  .ttl__ptn8_copy {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    color: #FFF;
    background: #111111;
    padding: 4px 8px; }
    .ttl__ptn8_copy:nth-child(2) {
      margin-left: 6.4rem; }
  @media only screen and (max-width: 767px) {
    .ttl__ptn8 {
      font-size: 2.2rem; }
      .ttl__ptn8_copy:nth-child(2) {
        margin-left: 2.4rem; }
      .ttl__ptn8_copy:nth-child(3) {
        margin-left: 4.8rem; } }

.g-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 90;
  width: 100%;
  background: #fff; }
  .g-header .g-header-contents {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%; }
    @media screen and (min-width: 768px) {
      .g-header .g-header-contents {
        max-width: 1400px;
        height: 100px;
        margin-inline: auto;
        padding-inline: 30px; } }
    @media screen and (max-width: 767px) {
      .g-header .g-header-contents {
        height: 50px;
        padding-left: 20px; } }
    .g-header .g-header-contents .g-header__brand {
      width: 161px; }
      @media screen and (min-width: 768px) {
        .g-header .g-header-contents .g-header__brand {
          width: 259px; } }
      .g-header .g-header-contents .g-header__brand .link {
        display: block; }
        .g-header .g-header-contents .g-header__brand .link picture {
          display: table; }
          .g-header .g-header-contents .g-header__brand .link picture img {
            display: table-cell; }
    .g-header .g-header-contents .g-header__toggle {
      display: flex;
      flex-direction: column;
      justify-content: center;
      row-gap: 0.6em;
      padding-top: 4px;
      width: 50px;
      padding-inline: 6px;
      border: none;
      outline: none;
      color: #fff;
      background: #111;
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      aspect-ratio: 1; }
      @media screen and (min-width: 768px) {
        .g-header .g-header-contents .g-header__toggle {
          row-gap: 0.8em;
          width: 60px;
          padding-inline: 8px; } }
      .g-header .g-header-contents .g-header__toggle .toggle__bar {
        display: block;
        height: 2px;
        background: currentColor; }
        .g-header .g-header-contents .g-header__toggle .toggle__bar:nth-child(2) {
          margin-left: 9px; }
          @media screen and (min-width: 768px) {
            .g-header .g-header-contents .g-header__toggle .toggle__bar:nth-child(2) {
              margin-left: 10px; } }
        .g-header .g-header-contents .g-header__toggle .toggle__bar:nth-child(3) {
          margin-left: 19px; }
          @media screen and (min-width: 768px) {
            .g-header .g-header-contents .g-header__toggle .toggle__bar:nth-child(3) {
              margin-left: 22px; } }
        .g-header .g-header-contents .g-header__toggle .toggle__bar:nth-child(n + 2) {
          margin-top: 6px; }
      .g-header .g-header-contents .g-header__toggle .toggle__txt {
        font-family: "Timmana", sans-serif;
        font-weight: 400;
        line-height: 0.8;
        letter-spacing: 0.1em; }
        @media screen and (min-width: 768px) {
          .g-header .g-header-contents .g-header__toggle .toggle__txt {
            font-size: 1.3rem; } }
        @media screen and (max-width: 767px) {
          .g-header .g-header-contents .g-header__toggle .toggle__txt {
            font-size: 12px; } }
  @media screen and (min-width: 768px) {
    .g-header .header-element {
      display: flex;
      align-items: center; } }
  .g-header .header-link {
    display: flex;
    -webkit-column-gap: 12px;
       -moz-column-gap: 12px;
            column-gap: 12px; }
    .g-header .header-link .link {
      display: block;
      padding-block: 0.3125em;
      padding-inline: 0.3125em;
      text-decoration: none; }
      .g-header .header-link .link[target="_blank"]::after {
        content: none; }
    @media screen and (max-width: 767px) {
      .g-header .header-link {
        display: none; } }
  .g-header .lang-list {
    display: flex;
    margin-left: 24px;
    margin-right: 40px; }
    .g-header .lang-list__item.off .lang_btn {
      color: #fff;
      background: #111;
      pointer-events: none; }
    .g-header .lang-list__item .lang_btn {
      display: flex;
      align-items: center;
      justify-content: center;
      padding-top: 0.3em;
      font-family: "Timmana", sans-serif;
      line-height: 0.8;
      text-decoration: none;
      background: #a7b713;
      width: 30px;
      aspect-ratio: 1; }
    @media screen and (max-width: 767px) {
      .g-header .lang-list {
        display: none; } }
  .g-header .gnav {
    position: fixed;
    top: 0;
    right: -120%;
    width: 100%;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    background: #a7b713;
    pointer-events: none;
    transition: ease-in-out 0.6s; }
    @supports (height: 100dvh) {
      .g-header .gnav {
        height: 100dvh; } }
    .g-header .gnav .gnav-header {
      width: 100%;
      height: 50px; }
      @media screen and (min-width: 768px) {
        .g-header .gnav .gnav-header {
          height: 100px; } }
      @media screen and (max-width: 767px) {
        .g-header .gnav .gnav-header {
          padding-left: 20px; } }
      .g-header .gnav .gnav-header_inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 100%; }
        @media screen and (min-width: 768px) {
          .g-header .gnav .gnav-header_inner {
            max-width: 1400px;
            margin-inline: auto;
            padding-inline: 30px; } }
    .g-header .gnav .gnav__brand .link {
      display: block; }
      .g-header .gnav .gnav__brand .link picture {
        display: block; }
    @media screen and (min-width: 768px) {
      .g-header .gnav .gnav-element {
        display: flex;
        align-items: center; } }
    .g-header .gnav .gnav-element .lang-list__item:not(.off) .lang_btn {
      background: #fff; }
    @media screen and (max-width: 767px) {
      .g-header .gnav .gnav-element .lang-list {
        display: none; } }
    .g-header .gnav .gnav__toggle {
      display: flex;
      flex-direction: column;
      justify-content: center;
      row-gap: 0.6em;
      padding-top: 4px;
      width: 50px;
      padding-inline: 6px;
      border: none;
      outline: none;
      color: #fff;
      background: #111;
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      aspect-ratio: 1; }
      @media screen and (min-width: 768px) {
        .g-header .gnav .gnav__toggle {
          row-gap: 0.8em;
          width: 60px;
          padding-inline: 8px; } }
      @media screen and (max-width: 767px) {
        .g-header .gnav .gnav__toggle.fixed {
          position: fixed;
          top: 0;
          right: 0;
          z-index: 10; } }
      .g-header .gnav .gnav__toggle .bar_wrap {
        position: relative;
        display: block;
        width: 100%;
        height: 16px; }
      .g-header .gnav .gnav__toggle .toggle__bar {
        position: absolute;
        top: 50%;
        display: block;
        width: 100%;
        height: 2px;
        background: currentColor;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%); }
        .g-header .gnav .gnav__toggle .toggle__bar:first-of-type {
          -webkit-transform: rotate(-25deg);
                  transform: rotate(-25deg); }
        .g-header .gnav .gnav__toggle .toggle__bar:last-of-type {
          -webkit-transform: rotate(25deg);
                  transform: rotate(25deg); }
      .g-header .gnav .gnav__toggle .toggle__txt {
        font-family: "Timmana", sans-serif;
        font-weight: 400;
        line-height: 0.8;
        letter-spacing: 0.1em; }
        @media screen and (min-width: 768px) {
          .g-header .gnav .gnav__toggle .toggle__txt {
            font-size: 1.3rem; } }
        @media screen and (max-width: 767px) {
          .g-header .gnav .gnav__toggle .toggle__txt {
            font-size: 12px; } }
  .g-header .pmenu {
    width: 100%; }
    @media (min-width: 769px) and (max-width: 1200px) {
      .g-header .pmenu {
        padding-inline: 15px; } }
    @media screen and (min-width: 768px) {
      .g-header .pmenu {
        padding-top: 37px; } }
    @media screen and (max-width: 767px) {
      .g-header .pmenu {
        padding-top: 14px;
        padding-left: 20px;
        padding-bottom: 40px; } }
    .g-header .pmenu .pmenu-wrap {
      position: relative; }
      @media screen and (min-width: 768px) {
        .g-header .pmenu .pmenu-wrap {
          max-width: 1200px;
          margin-inline: auto; } }
    @media screen and (min-width: 768px) {
      .g-header .pmenu .pmenu-contents {
        position: relative;
        display: flex;
        justify-content: space-between; } }
    @media screen and (max-width: 767px) {
      .g-header .pmenu .pmenu-contents {
        padding-right: 55px; } }
    @media screen and (min-width: 768px) {
      .g-header .pmenu .pmenu-contents .toggle-list {
        flex: 0 0 31.66666666666667%; } }
    .g-header .pmenu .pmenu-contents .toggle-list__item {
      border-bottom: 2px solid currentColor; }
      @media screen and (min-width: 768px) {
        .g-header .pmenu .pmenu-contents .toggle-list__item.active .toggle-head {
          pointer-events: none; } }
      .g-header .pmenu .pmenu-contents .toggle-list__item.active .toggle-head::after {
        display: none; }
      .g-header .pmenu .pmenu-contents .toggle-list__item > .link {
        position: relative;
        padding-block: 0.8228125em;
        padding-right: 1.3em;
        font-size: 1.6rem;
        font-weight: 700; }
        @media screen and (min-width: 768px) {
          .g-header .pmenu .pmenu-contents .toggle-list__item > .link {
            font-size: 1.8rem; } }
        .g-header .pmenu .pmenu-contents .toggle-list__item > .link:not([target="_blank"])::before {
          position: absolute;
          top: 50%;
          right: 8px;
          width: 15px;
          height: 1px;
          content: "";
          background: currentColor;
          -webkit-transform: translateY(-50%);
                  transform: translateY(-50%); }
        .g-header .pmenu .pmenu-contents .toggle-list__item > .link:not([target="_blank"])::after {
          position: absolute;
          top: 50%;
          right: 8px;
          display: inline-block;
          font-family: "FontAwesome";
          line-height: 1;
          content: "\f105";
          -webkit-transform: translateY(-50%);
                  transform: translateY(-50%); }
    .g-header .pmenu .pmenu-contents .toggle-list .toggle-head {
      position: relative;
      padding-block: 0.8228125em;
      font-size: 1.6rem;
      font-weight: 700;
      cursor: pointer; }
      @media screen and (min-width: 768px) {
        .g-header .pmenu .pmenu-contents .toggle-list .toggle-head {
          font-size: 1.8rem; } }
      .g-header .pmenu .pmenu-contents .toggle-list .toggle-head::before, .g-header .pmenu .pmenu-contents .toggle-list .toggle-head::after {
        position: absolute;
        top: 50%;
        content: "";
        background: currentColor;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%); }
      .g-header .pmenu .pmenu-contents .toggle-list .toggle-head::before {
        right: 8px;
        width: 15px;
        height: 1px; }
      .g-header .pmenu .pmenu-contents .toggle-list .toggle-head::after {
        right: 15px;
        width: 1px;
        height: 15px; }
    @media screen and (min-width: 768px) {
      .g-header .pmenu .pmenu-contents .child-list {
        position: absolute;
        inset: 0 0 0 calc(31.66666666666667% + 20px);
        width: 31.66666666666667%;
        opacity: 0;
        pointer-events: none; } }
    @media screen and (max-width: 767px) {
      .g-header .pmenu .pmenu-contents .child-list {
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows 0.4s ease;
        transition: grid-template-rows 0.4s ease, -ms-grid-rows 0.4s ease; } }
    .g-header .pmenu .pmenu-contents .child-list_inner {
      background: rgba(255, 255, 255, 0.5); }
      @media screen and (min-width: 768px) {
        .g-header .pmenu .pmenu-contents .child-list_inner {
          padding-block: 8px 24px;
          padding-inline: 24px; } }
      @media screen and (max-width: 767px) {
        .g-header .pmenu .pmenu-contents .child-list_inner {
          padding-inline: 8px;
          overflow: hidden; } }
    .g-header .pmenu .pmenu-contents .child-list__item[data-item-link="index"] .link {
      border-bottom: 1px solid currentColor;
      font-weight: 700; }
      @media screen and (min-width: 768px) {
        .g-header .pmenu .pmenu-contents .child-list__item[data-item-link="index"] .link {
          font-size: 1.6rem; } }
    .g-header .pmenu .pmenu-contents .child-list__item .link {
      position: relative;
      font-size: 1.4rem;
      padding-block: 1.01em;
      padding-right: 1.3em;
      border-bottom: 2px dotted currentColor; }
      .g-header .pmenu .pmenu-contents .child-list__item .link:not([target="_blank"])::before {
        position: absolute;
        top: 50%;
        right: 2px;
        width: 1em;
        height: 1px;
        margin-top: 1px;
        content: "";
        background: currentColor;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%); }
      .g-header .pmenu .pmenu-contents .child-list__item .link:not([target="_blank"])::after {
        position: absolute;
        top: 50%;
        right: 0;
        display: inline-block;
        font-family: "FontAwesome";
        line-height: 1;
        content: "\f105";
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%); }
    @media screen and (min-width: 768px) {
      .g-header .pmenu .pmenu-contents .child-list.active {
        opacity: 1;
        pointer-events: all; } }
    @media screen and (max-width: 767px) {
      .g-header .pmenu .pmenu-contents .child-list.active {
        grid-template-rows: 1fr; } }
    @media screen and (max-width: 767px) {
      .g-header .pmenu .pmenu-contents .child-list.active .child-list_inner {
        padding-block: 8px 24px; } }
    .g-header .pmenu .pmenu-contents .link {
      display: block;
      text-decoration: none; }
    @media screen and (min-width: 768px) {
      .g-header .pmenu .pmenu-contents .links-block {
        flex: 0 0 31.66666666666667%;
        margin-top: 13px; } }
    @media screen and (max-width: 767px) {
      .g-header .pmenu .pmenu-contents .links-block {
        margin-top: 4rem; } }
    .g-header .pmenu .pmenu-contents .links-block .sp-block__head {
      margin-bottom: 0;
      padding-left: 15px;
      font-family: "Timmana", sans-serif;
      font-size: 3.2rem;
      font-weight: 400;
      line-height: 0.5; }
      @media screen and (min-width: 768px) {
        .g-header .pmenu .pmenu-contents .links-block .sp-block__head {
          font-size: 4.8rem; } }
    .g-header .pmenu .pmenu-contents .links-block .sp-block__list {
      border-top: 2px solid #111;
      padding-left: 16px;
      padding-block: 16px;
      background: #fff; }
      @media screen and (min-width: 768px) {
        .g-header .pmenu .pmenu-contents .links-block .sp-block__list {
          padding-left: 24px;
          padding-block: 24px; } }
      @media screen and (max-width: 767px) {
        .g-header .pmenu .pmenu-contents .links-block .sp-block__list {
          margin-right: -55px; } }
      .g-header .pmenu .pmenu-contents .links-block .sp-block__list .list__item:nth-child(n + 2) {
        margin-top: 24px; }
      .g-header .pmenu .pmenu-contents .links-block .sp-block__list .list__item .link {
        padding-block: 0.0605em;
        font-size: 2rem;
        font-weight: 700; }
    .g-header .pmenu .pmenu-contents .links-block .menu-foot {
      margin-top: 20px; }
      @media screen and (min-width: 768px) {
        .g-header .pmenu .pmenu-contents .links-block .menu-foot {
          padding-left: 16px; } }
      .g-header .pmenu .pmenu-contents .links-block .menu-foot__item:nth-child(n + 2) {
        margin-top: 8px; }
        @media screen and (min-width: 768px) {
          .g-header .pmenu .pmenu-contents .links-block .menu-foot__item:nth-child(n + 2) {
            margin-top: 10px; } }
      .g-header .pmenu .pmenu-contents .links-block .menu-foot__item .link {
        position: relative;
        padding-left: 24px;
        font-size: 1.4rem; }
        @media screen and (min-width: 768px) {
          .g-header .pmenu .pmenu-contents .links-block .menu-foot__item .link {
            font-size: 1.6rem; } }
        .g-header .pmenu .pmenu-contents .links-block .menu-foot__item .link::before {
          position: absolute;
          top: 50%;
          left: 8px;
          width: 8px;
          height: 1px;
          content: "";
          background: #fff;
          -webkit-transform: translateY(-50%);
                  transform: translateY(-50%); }
    .g-header .pmenu .pmenu-typo {
      position: absolute;
      z-index: 5;
      font-family: "Timmana", sans-serif;
      font-size: 3.2rem;
      font-weight: 400;
      -webkit-writing-mode: vertical-rl;
          -ms-writing-mode: tb-rl;
              writing-mode: vertical-rl;
      white-space: nowrap;
      color: #fff;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none; }
      @media screen and (min-width: 768px) {
        .g-header .pmenu .pmenu-typo {
          top: -10px;
          right: -79px;
          font-size: 4.8rem; } }
      @media screen and (max-width: 767px) {
        .g-header .pmenu .pmenu-typo {
          top: 0;
          right: 0; } }

.menu_active .g-header .gnav {
  display: block;
  right: 0;
  pointer-events: auto; }

@media screen and (min-width: 768px) {
  body.home .g-header:not(.fixed) {
    position: absolute;
    z-index: 50;
    background: rgba(255, 255, 255, 0.3); } }

html[lang="en"] .g-header-contents .g-header__brand {
  width: 12.53rem; }
  @media screen and (min-width: 768px) {
    html[lang="en"] .g-header-contents .g-header__brand {
      width: 307px; } }
  html[lang="en"] .g-header-contents .g-header__brand .link img {
    display: block; }

@media screen and (min-width: 768px) {
  html[lang="en"] .g-header .gnav .gnav__brand {
    width: 307px; } }

html[lang="en"] .g-header .gnav .pmenu {
  height: calc(100% - 50px); }
  @media screen and (min-width: 768px) {
    html[lang="en"] .g-header .gnav .pmenu {
      height: calc(100% - 100px); } }
  html[lang="en"] .g-header .gnav .pmenu .pmenu-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%; }
    @media screen and (max-width: 767px) {
      html[lang="en"] .g-header .gnav .pmenu .pmenu-wrap {
        padding-right: 55px; } }
  @media (min-width: 769px) and (max-width: 1420px) {
    html[lang="en"] .g-header .gnav .pmenu .pmenu-typo {
      right: 0; } }
  html[lang="en"] .g-header .gnav .pmenu .menu-list {
    display: flex;
    flex-direction: column;
    row-gap: 2em; }
    @media screen and (max-width: 767px) {
      html[lang="en"] .g-header .gnav .pmenu .menu-list {
        row-gap: 3em; } }
    html[lang="en"] .g-header .gnav .pmenu .menu-list__item .link {
      font-weight: 700;
      text-decoration: none; }
      @media screen and (min-width: 768px) {
        html[lang="en"] .g-header .gnav .pmenu .menu-list__item .link {
          font-size: 3rem; } }

.footer {
  background: #e6e6e6; }
  .footer__content {
    max-width: 106.4rem;
    width: 100%;
    margin: 0 auto;
    padding: 0 2rem;
    box-sizing: border-box;
    text-align: right; }
  .footer__totop {
    display: inline-block;
    margin: 1.1rem 0 0 auto;
    line-height: 1;
    text-decoration: underline;
    font-size: 2rem;
    color: #111111; }
    @media only screen and (max-width: 767px) {
      .footer__totop {
        display: none; } }
  .footer__block {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 0 0 3.8rem;
    text-align: left; }
    @media only screen and (max-width: 767px) {
      .footer__block {
        flex-direction: column;
        align-items: unset;
        padding: 3rem 0; } }
    .footer__block_left {
      display: flex;
      align-items: flex-end; }
      @media only screen and (max-width: 767px) {
        .footer__block_left {
          width: 100%;
          flex-direction: column;
          align-items: flex-start; } }
    @media only screen and (max-width: 767px) {
      .footer__block_right {
        width: 100%;
        margin-top: 3rem;
        text-align: right; } }
  .footer__logo {
    width: 8.5rem;
    margin-right: 5rem; }
    @media only screen and (max-width: 767px) {
      .footer__logo {
        width: 6.467rem;
        margin: 0 0 3rem; } }
    .footer__logo_link {
      display: block; }
  .footer__nav {
    text-align: left;
    margin-left: 24px; }
    .footer__nav:first-of-type {
      margin-left: 0px; }
    @media only screen and (max-width: 767px) {
      .footer__nav {
        margin-left: 0px; } }
    .footer__nav_item {
      line-height: 2.14;
      font-size: 1.4rem; }
    .footer__nav_link {
      text-decoration: none;
      color: #111111; }
    .footer__nav_wrap {
      display: flex;
      align-items: flex-start; }
      @media only screen and (max-width: 767px) {
        .footer__nav_wrap {
          width: 100%;
          flex-direction: column; } }
  .footer__10th {
    width: 7.505rem; }
    @media only screen and (max-width: 767px) {
      .footer__10th {
        margin: 0 0 0 auto; } }
  .footer__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    height: 6.4rem;
    background: #111111; }
    @media only screen and (max-width: 767px) {
      .footer__copy {
        align-items: center;
        height: 6rem; } }
    .footer__copy_text {
      line-height: 1;
      font-size: 1.4rem;
      color: #FFF; }
      @media only screen and (max-width: 767px) {
        .footer__copy_text {
          margin: 0 auto;
          text-align: center; } }

.breadcrumbs {
  padding: 0 0 4rem; }
  @media only screen and (max-width: 767px) {
    .breadcrumbs {
      display: none; } }
  .breadcrumbs__list {
    display: flex;
    justify-content: flex-end;
    align-items: center; }
    .breadcrumbs__list_item {
      line-height: 1;
      font-size: 1.4rem; }
      .breadcrumbs__list_item + .breadcrumbs__list_item {
        margin-left: .5rem;
        padding-left: 1em;
        position: relative; }
        .breadcrumbs__list_item + .breadcrumbs__list_item::before {
          content: "\f105";
          position: absolute;
          top: 50%;
          left: 0;
          -webkit-transform: translateY(-50%);
                  transform: translateY(-50%);
          font-family: 'FontAwesome';
          font-weight: 900;
          color: #a7b713; }
    .breadcrumbs__list_link {
      text-decoration: none;
      color: #111111; }

.parts-ttl__1 {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 2rem;
  font-size: 3rem; }
  .parts-ttl__1::before {
    display: block;
    width: 0.5em;
    margin-right: 10px;
    border-radius: 50px;
    content: "";
    background: #a7b713;
    aspect-ratio: 1; }
  @media screen and (min-width: 768px) {
    .parts-ttl__1 {
      font-size: 4rem; } }

.parts__nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: 0;
  padding: 0.5em 1em;
  background: rgba(204, 204, 204, 0.8); }
  .parts__nav li {
    list-style-position: inside;
    padding-right: 1em; }
    .parts__nav li a {
      color: #111; }

.parts__box {
  margin-bottom: 30px; }
  .parts__box:last-of-type {
    margin-bottom: 0; }

.parts__block {
  border: 1px solid #ee2a7b;
  padding: 10px; }
  .parts__block + .parts__block {
    margin-top: 10px; }
  @media screen and (min-width: 768px) {
    .parts__block {
      padding: 20px; } }

.parts__title {
  color: #ee2a7b; }
  .parts__title ~ .parts__title {
    margin-top: 10px; }

.parts__note {
  color: #298d79; }

@media screen and (min-width: 768px) {
  .parts__code {
    border: 1px solid #ee2a7b;
    border-bottom: none;
    padding: 20px; }
    .parts__code + .parts__code {
      margin-top: 10px; } }

@media screen and (max-width: 767px) {
  .parts__code {
    border: 1px solid rgba(238, 42, 123, 0.2);
    padding: 10px; }
    .parts__code + .parts__code {
      margin-top: 10px; } }

.parts__textarea {
  width: 100%;
  font-size: 12px;
  line-height: 1.2;
  color: #666;
  background: #ffc;
  word-break: break-all;
  overflow: auto;
  resize: vertical; }

.pblock, .pblock-full {
  position: relative;
  max-width: 1400px;
  margin-inline: auto;
  padding-bottom: 90px; }
  @media screen and (min-width: 768px) {
    .pblock, .pblock-full {
      padding-bottom: 120px; } }
  .pblock:last-child, .pblock-full:last-child {
    padding-bottom: 0; }
  .pblock-full {
    width: auto;
    max-width: none;
    padding: 0; }
  .pblock-kuzu .breadcrumb {
    margin-bottom: 40px; }
    @media screen and (max-width: 767px) {
      .pblock-kuzu .breadcrumb {
        display: none; } }
    .pblock-kuzu .breadcrumb-list {
      display: flex;
      justify-content: flex-end;
      flex-wrap: wrap;
      list-style: none;
      padding-left: 0; }
      .pblock-kuzu .breadcrumb-list__item {
        font-size: 1.4rem; }
        .pblock-kuzu .breadcrumb-list__item > a {
          text-decoration: none;
          color: #111111; }
        .pblock-kuzu .breadcrumb-list__item + .breadcrumb-list__item {
          position: relative;
          padding-left: 1.5em; }
          .pblock-kuzu .breadcrumb-list__item + .breadcrumb-list__item::before {
            position: absolute;
            top: 0.3em;
            left: 0.5em;
            content: "\f105";
            font-family: "FontAwesome";
            line-height: 1;
            color: #a7b713; }
      .pblock-kuzu .breadcrumb-list[data-item="news"] .breadcrumb-list__item:nth-child(3) {
        width: 515px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-text-overflow: ellipsis;
        -o-text-overflow: ellipsis; }

.inner {
  width: 100%;
  max-width: 1024px;
  margin-inline: auto; }
  @media (min-width: 768px) and (max-width: 1050px) {
    .inner {
      padding-inline: 15px; } }
  @media screen and (max-width: 767px) {
    .inner {
      padding-inline: 20px; } }

@media screen and (max-width: 767px) {
  .title-block:has(.ttl__ptn1_copy) {
    padding-top: 4rem; } }

.title-block:has(.title-block__copy) .page-title:has(.title-sub) {
  margin-bottom: 3rem; }

.title-block__copy {
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: left; }
  @media screen and (max-width: 767px) {
    .title-block__copy {
      margin-bottom: 4rem;
      font-size: 1.4rem;
      line-height: 1.71428; } }

.page-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-block: 40px 16px;
  padding-top: 0.5em;
  font-weight: 400; }
  @media screen and (max-width: 767px) {
    .page-title {
      margin-block: 80px 10px; } }
  .page-title .title-main {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    font-family: "Timmana", sans-serif;
    font-size: 6.4rem;
    line-height: 1;
    color: #a7b713; }
    @media screen and (max-width: 767px) {
      .page-title .title-main {
        font-size: 4rem; } }
    .page-title .title-main::after {
      flex: 1;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      height: 1px;
      content: "";
      background: #a7b713; }
      @media screen and (max-width: 767px) {
        .page-title .title-main::after {
          content: none; } }
  .page-title .title-sub {
    font-size: 2rem; }
  .page-title:has(.title-sub) {
    margin-bottom: 80px;
    padding-top: 1em; }
    @media screen and (max-width: 767px) {
      .page-title:has(.title-sub) {
        margin-bottom: 60px; } }
    .page-title:has(.title-sub) .title-main {
      font-size: 12rem; }
      @media screen and (max-width: 767px) {
        .page-title:has(.title-sub) .title-main {
          font-size: 6rem; } }

.ptitle.ptitle_t1 {
  margin-bottom: 80px;
  font-size: 3rem;
  font-weight: 700; }
  @media screen and (max-width: 767px) {
    .ptitle.ptitle_t1 {
      margin-bottom: 60px;
      font-size: 2.4rem; } }

.ptitle.ptitle_t2 {
  margin-block: 80px 30px;
  padding-bottom: 0.35em;
  border-bottom: 1px solid currentColor;
  font-size: 2.4rem;
  font-weight: 700; }
  @media screen and (max-width: 767px) {
    .ptitle.ptitle_t2 {
      margin-bottom: 60px;
      font-size: 2.2rem; } }

.ptitle.ptitle_t3 {
  margin-block: 30px 20px; }
  .ptitle.ptitle_t3 .text {
    display: inline;
    padding-block: 4px;
    padding-inline: 8px;
    font-size: 1.8rem;
    line-height: 2.2;
    color: #fff;
    background: #111;
    -webkit-box-decoration-break: clone;
            box-decoration-break: clone; }
    @media screen and (min-width: 768px) {
      .ptitle.ptitle_t3 .text {
        margin-top: 40px;
        font-size: 2rem; } }

.ptitle.ptitle_t4 {
  margin-block: 24px 16px;
  font-size: 1.6rem; }
  @media screen and (min-width: 768px) {
    .ptitle.ptitle_t4 {
      margin-block: 30px 16px;
      font-size: 1.8rem; } }

.ptitle + [class*="ptitle_"] {
  margin-top: 0; }

.ptitle:first-child {
  margin-top: 0; }

.pbox.pbox_clr_main {
  background: #a7b713; }

.pbox.pbox_clr_gray {
  background: #ccc; }

.pbox.pbox_clr_gray-light {
  background: #e6e6e6; }

.pbox.pbox_clr_gray-light2 {
  background: #f0f0f0; }

.pbox.pbox_clr_gray-dark {
  background: #666; }

.pbox.pbox_clr_red {
  background: red; }

.pbox.pbox_clr_blue {
  background: blue; }

.pbox.pbox_clr_green {
  background: green; }

.pbox.pbox_bdr_main {
  border: 1px solid #a7b713; }

.pbox.pbox_bdr_gray {
  border: 1px solid #ccc; }

.pbox.pbox_bdr_gray-light {
  border: 1px solid #e6e6e6; }

.pbox.pbox_bdr_gray-light2 {
  border: 1px solid #f0f0f0; }

.pbox.pbox_bdr_gray-dark {
  border: 1px solid #666; }

.pbox.pbox_bdr_red {
  border: 1px solid red; }

.pbox.pbox_bdr_blue {
  border: 1px solid blue; }

.pbox.pbox_bdr_green {
  border: 1px solid green; }

.plist {
  margin-block: 20px 1.5rem;
  padding-left: 0;
  list-style: none; }
  .plist.plist_type_dot > .plist__item {
    position: relative;
    padding-left: 0.8em; }
    .plist.plist_type_dot > .plist__item:not(:first-child) {
      margin-top: 10px; }
    .plist.plist_type_dot > .plist__item::before {
      position: absolute;
      top: 0.55em;
      left: 0;
      width: 6px;
      height: 6px;
      border-radius: 50px;
      content: "";
      background: #666; }
  .plist.plist_type_order_box {
    padding-left: 0;
    counter-reset: list-cnt; }
    .plist.plist_type_order_box > .plist__item {
      position: relative;
      padding-top: 0.15em;
      padding-left: 2.375em;
      counter-increment: list-cnt; }
      .plist.plist_type_order_box > .plist__item:not(:last-child) {
        margin-bottom: 15px; }
      .plist.plist_type_order_box > .plist__item::before {
        position: absolute;
        top: 0;
        left: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2.14285em;
        height: 2.14285em;
        font-size: 1.4rem;
        content: counter(list-cnt);
        background: #a7b713; }

.plink {
  position: relative;
  text-decoration: underline;
  text-underline-offset: 0.2em; }
  @media screen and (min-width: 768px) {
    .plink:hover {
      text-decoration: none; } }
  .plink:not([class*="color__"]) {
    color: #111; }
  .plink.plink_type_block {
    display: block; }
  .plink.plink_type_no-underline {
    text-decoration: none; }
  .plink.plink_type_nolink {
    pointer-events: none; }
  .plink::before {
    display: inline-block;
    padding-right: 0.5em;
    font-family: "FontAwesome";
    line-height: 1;
    content: "\f105"; }
  .plink[target="_blank"]::after, .plink[href*=".pdf"]::after, .plink[href*="/file.jsp?id"]::after, .plink[href*=".doc"]::after, .plink[href*=".docx"]::after, .plink[href*=".xls"]::after, .plink[href*=".xlsx"]::after {
    content: none;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    padding-left: 0.2em; }
  .plink[target="_blank"]::after {
    font-family: "FontAwesome";
    line-height: 1;
    content: "\f24d"; }
  .plink[target="_blank"]:not([href*=".pdf"]):not([href*="/file.jsp?id"]):not([href*=".doc"]):not(
  [href*=".docx"]):not([href*=".xls"]):not([href*=".xlsx"])::after {
    display: inline-block; }

.pbtn {
  position: relative;
  display: flex;
  align-items: center;
  padding-block: 1em;
  padding-right: 1.7em;
  border-bottom: 2px solid #000;
  text-decoration: none;
  color: #000; }
  .pbtn::after {
    position: absolute;
    top: 50%;
    right: 4px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
  .pbtn:not([target="_blank"])::before {
    position: absolute;
    top: 50%;
    right: 4px;
    width: 1em;
    height: 1px;
    margin-top: 1px;
    content: "";
    background: currentColor;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
  .pbtn:not([target="_blank"])::after {
    display: inline-block;
    font-family: "FontAwesome";
    line-height: 1;
    content: "\f105"; }

.ptable {
  width: 100%;
  margin-bottom: 1rem;
  border-collapse: collapse;
  background: #fff; }
  @media screen and (max-width: 767px) {
    .ptable.ptable_w600 {
      min-width: 600px; }
    .ptable.ptable_w800 {
      min-width: 800px; } }
  .ptable th,
  .ptable td {
    border: 1px solid #ccc; }
  .ptable > thead > tr > th {
    padding-block: 0.71875em;
    color: #fff;
    background: #111; }
  .ptable > tbody > tr > th {
    padding-block: 0.5625em;
    font-weight: 700;
    background: #e6e6e6; }
  .ptable > tbody > tr > td {
    padding: 0.75em; }
  .ptable .v-rl {
    width: 1em;
    min-width: 1em;
    padding-inline: 0.5em;
    text-align: center;
    white-space: nowrap; }
    .ptable .v-rl_inner {
      display: inline-block;
      min-height: 4em;
      -webkit-writing-mode: vertical-rl;
          -ms-writing-mode: tb-rl;
              writing-mode: vertical-rl;
      text-orientation: mixed;
      letter-spacing: 0.3em; }
  .ptable .tcy {
    display: inline-block;
    margin-bottom: 0.3em;
    text-combine-upright: all; }
  .ptable + .ptable {
    margin-top: 20px; }
    @media screen and (min-width: 768px) {
      .ptable + .ptable {
        margin-top: 40px; } }
  .ptable .bdr-bold__top {
    border-top-width: 2px; }
  .ptable .bdr-bold__right {
    border-right-width: 2px; }
  .ptable .bdr-bold__left {
    border-left-width: 2px; }
  .ptable .bdr-bold__bottom {
    border-bottom-width: 2px; }

.js-scrollable .scroll-hint-icon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: rgba(167, 183, 19, 0.6); }
  .js-scrollable .scroll-hint-icon::before {
    width: 19px;
    height: 24px; }
  .js-scrollable .scroll-hint-icon::after {
    margin-left: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%); }

.archive-box {
  padding-inline: 16px;
  background: #111; }
  @media screen and (min-width: 768px) {
    .archive-box {
      display: grid;
      grid-template-columns: auto 1fr;
      align-items: center;
      -webkit-column-gap: 12px;
         -moz-column-gap: 12px;
              column-gap: 12px;
      padding-block: 1.21875em; } }
  @media screen and (max-width: 767px) {
    .archive-box {
      padding-block: 16px; } }
  .archive-box__title {
    margin-bottom: 0;
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff; }
  .archive-box:has(~ .cms-list) {
    margin-bottom: 40px; }

.archive-list {
  gap: 8px; }
  @media screen and (min-width: 768px) {
    .archive-list {
      display: flex;
      flex-wrap: wrap; } }
  @media screen and (max-width: 767px) {
    .archive-list {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      margin-top: 12px; } }
  .archive-list .link {
    display: block;
    padding-block: 0.21875em;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    background: #fff; }
    @media screen and (min-width: 768px) {
      .archive-list .link {
        width: 80px; } }
    .archive-list .link.active {
      color: #111;
      background: #a7b713; }

.cms-list__item .link {
  display: block;
  padding-block: 1.125em;
  border-bottom: 2px dotted currentColor;
  text-decoration: none; }
  @media screen and (min-width: 768px) {
    .cms-list__item .link {
      display: flex;
      -webkit-column-gap: 40px;
         -moz-column-gap: 40px;
              column-gap: 40px; }
      .cms-list__item .link:hover .title {
        color: #a7b713; } }
  .cms-list__item .link::after {
    content: none; }
  .cms-list__item .link[href$=".pdf"] .title::after, .cms-list__item .link[href*="/file.jsp?id"] .title::after {
    display: inline-block;
    padding-left: 0.2em;
    font-family: "FontAwesome";
    line-height: 1;
    content: "\f1c1";
    color: #B30B00; }

.cms-list__item .date {
  font-family: "Timmana", sans-serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 0.8; }
  @media screen and (min-width: 768px) {
    .cms-list__item .date {
      min-width: 100px;
      padding-top: 0.5em; } }

@media screen and (min-width: 768px) {
  .cms-list__item .title {
    transition: color 0.3s ease; } }

@media screen and (max-width: 767px) {
  .cms-list__item .title {
    margin-top: 8px; } }

.cms-article .release-date {
  padding-top: 0.5em;
  font-family: "Timmana", sans-serif;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 0.8;
  color: #666; }
  .cms-article .release-date:has(~ .article__body) {
    margin-bottom: 20px; }

.cms-article .article__body img[width],
.cms-article .article__body img[height] {
  width: auto !important;
  height: auto !important; }

.cms-article .article__text > p {
  margin-block: 1.25em 0; }

.cms-article .article__text > div:not([class]):not([id]) {
  margin-top: 1.25em; }

.cms-article .article__img {
  margin-block: 1.375em 1.9375em;
  text-align: center; }
  .cms-article .article__img img {
    max-width: 100%; }
    @media screen and (min-width: 768px) {
      .cms-article .article__img img {
        width: auto; } }

.cms-article .btn_wap {
  margin-top: 40px; }
  @media screen and (min-width: 768px) {
    .cms-article .btn_wap .pbtn {
      width: 300px;
      margin-inline: auto; } }

.qa-list {
  margin-block: 0; }
  .qa-list .list__box:nth-child(n + 2) {
    margin-top: 40px; }
    @media screen and (min-width: 768px) {
      .qa-list .list__box:nth-child(n + 2) {
        margin-top: calc(40px + 0.1em); } }
  .qa-list__head {
    display: grid;
    grid-template-columns: auto 1fr;
    -webkit-column-gap: 10px;
       -moz-column-gap: 10px;
            column-gap: 10px; }
    @media screen and (min-width: 768px) {
      .qa-list__head {
        -webkit-column-gap: 30px;
           -moz-column-gap: 30px;
                column-gap: 30px; } }
    .qa-list__head::before {
      display: inline-block;
      content: "Q";
      font-family: "Timmana", sans-serif;
      font-size: 6rem;
      line-height: 0.8;
      color: #a7b713; }
      @media screen and (min-width: 768px) {
        .qa-list__head::before {
          font-size: 9rem; } }
    .qa-list__head .head__text {
      margin-bottom: 0;
      font-weight: 700; }
      @media screen and (min-width: 768px) {
        .qa-list__head .head__text {
          margin-top: 0.5em;
          font-size: 1.8rem; } }
  .qa-list__body {
    display: grid;
    grid-template-columns: auto 1fr;
    -webkit-column-gap: 10px;
       -moz-column-gap: 10px;
            column-gap: 10px;
    margin-top: 2em; }
    @media screen and (min-width: 768px) {
      .qa-list__body {
        -webkit-column-gap: 30px;
           -moz-column-gap: 30px;
                column-gap: 30px;
        margin-top: 1.5em; } }
    .qa-list__body::before {
      display: inline-block;
      content: "A";
      font-family: "Timmana", sans-serif;
      font-size: 6rem;
      font-weight: 400;
      line-height: 0.8;
      color: #ccc; }
      @media screen and (min-width: 768px) {
        .qa-list__body::before {
          font-size: 9rem; } }
    .qa-list__body .body__text {
      margin-bottom: 0;
      line-height: 1.8; }

.btn-grid {
  padding-block: 40px; }
  @media screen and (min-width: 768px) {
    .btn-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
      padding-block: 60px; } }
  .btn-grid__item {
    display: block;
    padding: 1em;
    border-bottom: 2px solid #111;
    font-size: 1.8rem;
    font-weight: 700;
    text-decoration: none;
    background: #fff;
    aspect-ratio: 13 / 3;
    -webkit-clip-path: polygon(95% 0, 100% 20%, 100% 100%, 0 100%, 0 0);
            clip-path: polygon(95% 0, 100% 20%, 100% 100%, 0 100%, 0 0); }
    @media screen and (min-width: 768px) {
      .btn-grid__item {
        font-size: 2.4rem; } }
    @media screen and (max-width: 767px) {
      .btn-grid__item:nth-child(n + 2) {
        margin-top: 20px; } }

.relation-link {
  margin-top: 60px; }
  @media screen and (min-width: 768px) {
    .relation-link {
      margin-top: 80px; } }
  .relation-link__head {
    position: relative;
    z-index: 1;
    display: inline-block;
    padding-block: 4px;
    padding-inline: 24px 16px;
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
    background: #111; }
    @media screen and (min-width: 768px) {
      .relation-link__head {
        font-size: 2rem; } }
    .relation-link__head::after {
      position: absolute;
      right: -44px;
      bottom: 0;
      z-index: -1;
      display: inline-block;
      width: 45px;
      height: 100%;
      border-bottom: 1px solid #111;
      content: "";
      background: #111;
      -webkit-clip-path: polygon(14% 0, 100% 100%, 0 99%, 0 0);
              clip-path: polygon(14% 0, 100% 100%, 0 99%, 0 0); }
  .relation-link .link-list {
    position: relative;
    padding-block: 20px 6rem;
    padding-inline: 20px;
    border: 1px solid #ccc; }
    @media screen and (min-width: 768px) {
      .relation-link .link-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        -webkit-column-gap: 40px;
           -moz-column-gap: 40px;
                column-gap: 40px;
        padding-inline: 40px; } }
    .relation-link .link-list::after {
      position: absolute;
      right: 0.1em;
      bottom: -0.13em;
      content: "Related Pages";
      font-family: "Timmana", sans-serif;
      font-size: 4rem;
      font-style: italic;
      line-height: 0.8;
      color: rgba(167, 183, 19, 0.4);
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none; }
      @media screen and (min-width: 768px) {
        .relation-link .link-list::after {
          font-size: 6.4rem; } }

.point-block {
  counter-reset: box-cnt; }
  .point-block .sub-block {
    padding: 20px;
    border-bottom: 4px solid #111;
    background: rgba(167, 183, 19, 0.3);
    counter-increment: box-cnt; }
    @media screen and (min-width: 768px) {
      .point-block .sub-block {
        padding: 30px; } }
    .point-block .sub-block:nth-child(n + 2) {
      margin-top: 40px; }
    .point-block .sub-block__head {
      margin-bottom: 30px;
      font-size: 2.2rem; }
      @media screen and (min-width: 768px) {
        .point-block .sub-block__head {
          display: grid;
          grid-template-columns: auto 1fr;
          align-items: center; } }
      @media screen and (max-width: 767px) {
        .point-block .sub-block__head {
          display: flex;
          flex-direction: column; } }
      .point-block .sub-block__head .num {
        display: inline-flex;
        align-items: anchor-center;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        padding-top: 0.8em;
        padding-inline: 8px;
        font-family: "Timmana", sans-serif;
        font-weight: 400;
        line-height: 0.8;
        background: #a7b713; }
        @media screen and (min-width: 768px) {
          .point-block .sub-block__head .num {
            font-size: 2.4rem; } }
        @media screen and (max-width: 767px) {
          .point-block .sub-block__head .num {
            margin-bottom: 18px; } }
        .point-block .sub-block__head .num::after {
          margin-left: 8px;
          font-size: 4.6rem;
          content: counter(box-cnt, decimal-leading-zero); }
          @media screen and (min-width: 768px) {
            .point-block .sub-block__head .num::after {
              font-size: 4.8rem; } }
        @media screen and (min-width: 768px) {
          .point-block .sub-block__head .num {
            margin-right: 18px; } }
    @media screen and (min-width: 768px) {
      .point-block .sub-block__row {
        display: grid;
        grid-template-columns: 35.2697% 1fr;
        -webkit-column-gap: 40px;
           -moz-column-gap: 40px;
                column-gap: 40px; } }
    @media screen and (max-width: 767px) {
      .point-block .sub-block__row .desc {
        margin-top: 20px; } }
    .point-block .sub-block__row .desc > p {
      margin-bottom: 0;
      line-height: 180%; }

.ppager_wrap {
  margin-top: 40px;
  margin-right: auto;
  margin-left: auto;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .ppager_wrap {
      max-width: 800px;
      margin-top: 60px; } }
  .ppager_wrap div.WCMpager:not(:has(ol)) {
    display: inline-flex; }
  .ppager_wrap div.WCMpager > a:first-child, .ppager_wrap div.WCMpager > a:last-child {
    position: relative;
    width: 38px;
    height: 38px;
    margin-top: 8px;
    border: 1px solid currentColor;
    border-radius: 50px;
    font-size: 0; }
    @media screen and (min-width: 768px) {
      .ppager_wrap div.WCMpager > a:first-child, .ppager_wrap div.WCMpager > a:last-child {
        margin-top: 12px; } }
    .ppager_wrap div.WCMpager > a:first-child::after, .ppager_wrap div.WCMpager > a:last-child::after {
      position: absolute;
      top: 50%;
      left: 50%;
      display: inline-block;
      font-size: 1.6rem;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
  .ppager_wrap div.WCMpager > a:first-child {
    margin-right: 5px; }
    @media screen and (min-width: 768px) {
      .ppager_wrap div.WCMpager > a:first-child {
        margin-right: 10px; } }
    .ppager_wrap div.WCMpager > a:first-child::after {
      font-family: "FontAwesome";
      line-height: 1;
      content: "\f104"; }
  .ppager_wrap div.WCMpager > a:last-child {
    margin-left: 5px; }
    @media screen and (min-width: 768px) {
      .ppager_wrap div.WCMpager > a:last-child {
        margin-left: 10px; } }
    .ppager_wrap div.WCMpager > a:last-child::after {
      font-family: "FontAwesome";
      line-height: 1;
      content: "\f105"; }
  .ppager_wrap div.WCMpager span.WCMpaged {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    flex: 1; }
    .ppager_wrap div.WCMpager span.WCMpaged a {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      width: 40px;
      height: 40px;
      margin-top: 8px;
      margin-right: 0.3125em;
      margin-left: 0.3125em;
      padding-top: 0.5em;
      border-radius: 50px;
      font-family: "Timmana", sans-serif;
      font-size: 1.4rem;
      line-height: 1;
      letter-spacing: normal;
      text-decoration: none;
      color: currentColor; }
      .ppager_wrap div.WCMpager span.WCMpaged a:hover {
        opacity: 1;
        color: currentColor; }
      @media screen and (min-width: 768px) {
        .ppager_wrap div.WCMpager span.WCMpaged a {
          margin-top: 12px;
          margin-right: 0.3571em;
          margin-left: 0.3571em;
          font-size: 1.6rem; } }
      .ppager_wrap div.WCMpager span.WCMpaged a.WCMselected {
        background: #a7b713;
        pointer-events: none; }
  .ppager_wrap div.WCMpager ol {
    display: inline-flex;
    align-items: center;
    padding-left: 0;
    list-style: none; }
    .ppager_wrap div.WCMpager ol li {
      display: inline-block; }
      .ppager_wrap div.WCMpager ol li > a {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        width: 40px;
        height: 40px;
        margin-right: 0.3125em;
        margin-left: 0.3125em;
        padding-top: 0.5em;
        border-radius: 50px;
        font-family: "Timmana", sans-serif;
        font-size: 1.4rem;
        line-height: 1;
        letter-spacing: normal;
        text-decoration: none;
        color: currentColor; }
        .ppager_wrap div.WCMpager ol li > a:hover {
          opacity: 1;
          color: currentColor; }
        @media screen and (min-width: 768px) {
          .ppager_wrap div.WCMpager ol li > a {
            margin-right: 0.3571em;
            margin-left: 0.3571em;
            font-size: 1.6rem; } }
      .ppager_wrap div.WCMpager ol li.WCMselected > a {
        background: #a7b713;
        pointer-events: none; }
      .ppager_wrap div.WCMpager ol li.prev > a, .ppager_wrap div.WCMpager ol li.next > a {
        position: relative;
        width: 38px;
        height: 38px;
        border: 1px solid currentColor;
        border-radius: 50px;
        font-size: 0; }
        .ppager_wrap div.WCMpager ol li.prev > a::after, .ppager_wrap div.WCMpager ol li.next > a::after {
          position: absolute;
          top: 50%;
          left: 50%;
          display: inline-block;
          font-size: 1.6rem;
          -webkit-transform: translate(-50%, -50%);
                  transform: translate(-50%, -50%); }
      .ppager_wrap div.WCMpager ol li.prev > a {
        margin-right: 5px; }
        @media screen and (min-width: 768px) {
          .ppager_wrap div.WCMpager ol li.prev > a {
            margin-right: 10px; } }
        .ppager_wrap div.WCMpager ol li.prev > a::after {
          font-family: "FontAwesome";
          line-height: 1;
          content: "\f104"; }
      .ppager_wrap div.WCMpager ol li.next > a {
        margin-left: 5px; }
        @media screen and (min-width: 768px) {
          .ppager_wrap div.WCMpager ol li.next > a {
            margin-left: 10px; } }
        .ppager_wrap div.WCMpager ol li.next > a::after {
          font-family: "FontAwesome";
          line-height: 1;
          content: "\f105"; }
      .ppager_wrap div.WCMpager ol li.none {
        display: none !important; }

.subject-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25em;
  margin-right: 5px;
  padding-inline: 2px;
  padding-bottom: 3px;
  line-height: 1;
  aspect-ratio: 1; }
  .subject-icon[data-icon="1"] {
    color: #fff;
    background: #111; }
  .subject-icon[data-icon="2"] {
    background: #a7b713; }
  .subject-icon[data-icon="3"] {
    border: 1px solid #111; }

@media screen and (min-width: 768px) {
  .repletion-list:has(.plist) .plist {
    display: flex;
    justify-content: flex-end;
    -webkit-column-gap: 0.8em;
       -moz-column-gap: 0.8em;
            column-gap: 0.8em; } }

.image-grid {
  display: flex;
  margin-top: 40px; }
  @media screen and (min-width: 768px) {
    .image-grid {
      flex-wrap: nowrap; } }
  @media screen and (max-width: 767px) {
    .image-grid {
      flex-direction: column;
      gap: 20px; } }
  .image-grid > div {
    text-align: center; }
  @media screen and (min-width: 768px) {
    .image-grid.cols-2 {
      -webkit-column-gap: 40px;
         -moz-column-gap: 40px;
              column-gap: 40px; } }
  @media screen and (min-width: 768px) {
    .image-grid.cols-2 > div {
      width: calc(50% - 20px); } }
  @media screen and (min-width: 768px) {
    .image-grid.cols-3 {
      -webkit-column-gap: 20px;
         -moz-column-gap: 20px;
              column-gap: 20px; } }
  @media screen and (min-width: 768px) {
    .image-grid.cols-3 > div {
      width: calc(33.33333% - 10px); } }

.ol-list {
  margin: 3.2rem 0;
  padding: 0;
  list-style: none;
  counter-reset: li; }
  .ol-list li {
    position: relative;
    font-size: 1.6rem;
    padding-left: 2.4em;
    line-height: 1.8; }
  .ol-list li:not(:first-child) {
    margin-top: 0.6em; }
  .ol-list li::before {
    counter-increment: li;
    content: counter(li);
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 24px;
    height: 24px;
    background-color: #a7b713;
    font-size: 1.4rem;
    line-height: 2;
    text-align: center; }

.link-arrow {
  position: relative;
  padding-left: 1em;
  font-size: 1.6rem;
  line-height: 1.6;
  text-decoration: underline;
  color: #111111; }
  .link-arrow::before {
    content: "\f105";
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    font-family: "FontAwesome";
    font-weight: 900;
    color: #111111; }
    @media only screen and (max-width: 767px) {
      .link-arrow::before {
        top: 25%; } }

body .main.campuslife-detail__main .title-block {
  margin-top: 40px; }
  body .main.campuslife-detail__main .title-block .page-title {
    margin-top: 0; }
    body .main.campuslife-detail__main .title-block .page-title .title-main {
      color: #fff; }
      body .main.campuslife-detail__main .title-block .page-title .title-main::after {
        background: #fff; }

body .main.campuslife-detail__main .pblock-kuzu .breadcrumb-list__item + .breadcrumb-list__item::before {
  color: #fff; }

.home-mv {
  position: relative; }
  .home-mv__copy {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
    .home-mv__copy_ttl {
      position: absolute;
      bottom: -3vh;
      right: -1.43vw;
      width: 60.955vw; }
      @media only screen and (max-width: 767px) {
        .home-mv__copy_ttl {
          width: 100vw;
          bottom: 32vw;
          right: -10vw; } }
      .home-mv__copy_ttl img {
        width: 100%;
        height: auto; }
    .home-mv__copy_sub {
      width: 29.955vw;
      position: absolute;
      left: 3.57vw;
      bottom: 3.207vw; }
      @media only screen and (max-width: 767px) {
        .home-mv__copy_sub {
          width: 22.017rem;
          left: 2rem;
          bottom: 2.56rem; } }
  .home-mv--en__copy {
    overflow: hidden; }
    .home-mv--en__copy_ttl {
      position: absolute;
      bottom: 0vh;
      right: 0vw;
      width: 60.955vw; }
      @media only screen and (max-width: 767px) {
        .home-mv--en__copy_ttl {
          width: 100vw;
          bottom: 32vw;
          right: 0vw;
          max-width: 100%; } }
      .home-mv--en__copy_ttl img {
        width: 100%;
        height: auto; }

.home-professors {
  position: relative;
  background: #F3F8CA;
  overflow: hidden; }
  .home-professors__link {
    display: block; }
  .home-professors__copy {
    width: calc(100% - 13.428vw);
    position: absolute;
    left: 13.428vw;
    bottom: 11vw;
    text-align: left; }
    @media only screen and (max-width: 767px) {
      .home-professors__copy {
        display: flex;
        flex-direction: row-reverse;
        align-items: flex-start;
        width: 100%;
        height: 100%;
        padding: 7.8rem 2rem 0;
        box-sizing: border-box;
        top: 0;
        left: 0;
        bottom: auto; } }
    .home-professors__copy_sub {
      display: block;
      margin: 0 auto 40px;
      width: 570px; }
      @media only screen and (max-width: 767px) {
        .home-professors__copy_sub {
          width: 86vw;
          margin: 0 auto 20px; } }
    .home-professors__copy_ttl {
      display: block;
      height: 100%;
      position: relative;
      padding-top: 90px;
      line-height: 1;
      font-size: 11.2vw;
      color: #a7b713;
      font-weight: 100;
      text-align: center; }
      @media only screen and (max-width: 767px) {
        .home-professors__copy_ttl {
          font-size: 8.5rem;
          line-height: 1.4em; } }
  .home-professors__slide {
    width: 98%;
    margin: 0 auto;
    text-align: center; }
    .home-professors__slide_item img {
      -webkit-transform: scale(0.75);
              transform: scale(0.75);
      transition: -webkit-transform .3s;
      transition: transform .3s;
      transition: transform .3s, -webkit-transform .3s;
      width: 100%; }
    .home-professors__slide .slick-center img {
      -webkit-transform: scale(1);
              transform: scale(1); }
    .home-professors__slide .slick-center .home-professors__slide_namecnt {
      display: block; }
    .home-professors__slide .slick-arrow {
      z-index: 9;
      width: 3vw;
      height: 3vw;
      border-radius: 50%;
      font-size: 24px;
      line-height: 2.5vw;
      color: #A7B713;
      background: #111;
      cursor: pointer;
      transition: .2s; }
      .home-professors__slide .slick-arrow:hover {
        background: #A7B713;
        color: #111; }
    .home-professors__slide .slick-next {
      position: absolute;
      left: 62.5%;
      bottom: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
    .home-professors__slide .slick-prev {
      position: absolute;
      right: 59.5%;
      bottom: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
    .home-professors__slide_name {
      width: 100%;
      padding: 1vw 0 0.5vw;
      text-align: left;
      border-bottom: 1px dotted #111;
      font-size: 1.1em;
      line-height: 1.1;
      color: #111; }
      @media only screen and (max-width: 767px) {
        .home-professors__slide_name {
          padding: 4vw 0 2.5vw; } }
    .home-professors__slide_position {
      font-size: 1.5em;
      margin-bottom: -2rem;
      color: #fff;
      text-align: left; }
      @media only screen and (max-width: 767px) {
        .home-professors__slide_position {
          margin-bottom: inherit; } }
    .home-professors__slide_major {
      width: 100%;
      text-align: left;
      font-size: 1.1em;
      line-height: 1.1;
      color: #666; }
    .home-professors__slide_namecnt {
      display: none; }
  .home-professors__btn {
    display: block;
    width: 90px;
    height: 90px;
    margin: 30px auto 30px;
    border: 1px solid #111;
    border-radius: 50%;
    font-size: 0.7em;
    font-weight: bold;
    color: #111;
    background-color: transparent;
    text-decoration: none;
    line-height: 89px;
    transition: .3s;
    text-align: center; }
    .home-professors__btn:hover {
      -webkit-transform: scale(1.2);
              transform: scale(1.2); }

.home-campuslife {
  background: #a7b713; }
  .home-campuslife__link {
    display: flex;
    flex-wrap: wrap;
    text-decoration: none;
    color: inherit; }
    @media only screen and (max-width: 767px) {
      .home-campuslife__link {
        flex-direction: column-reverse; } }
  .home-campuslife__cont {
    width: calc(100% - 56.285%);
    padding: 27.8vw 6.64vw 5.25vw 12.4vw;
    box-sizing: border-box;
    position: relative;
    text-align: left; }
    @media only screen and (max-width: 767px) {
      .home-campuslife__cont {
        width: 100%;
        padding: 30.5rem 2rem 6.05rem; } }
  .home-campuslife__copy {
    width: 17.65vw;
    position: absolute;
    top: 0;
    right: 0; }
    @media only screen and (max-width: 767px) {
      .home-campuslife__copy {
        width: 17rem; } }
  .home-campuslife__ttl {
    line-height: 1.1428;
    word-break: keep-all;
    white-space: nowrap;
    font-size: 5vw; }
    @media only screen and (max-width: 767px) {
      .home-campuslife__ttl {
        margin: 4.8rem 0 2.4rem 1.7rem;
        position: relative;
        z-index: 1;
        font-size: 6rem; } }
  .home-campuslife__img {
    width: 56.285%; }
    @media only screen and (max-width: 767px) {
      .home-campuslife__img {
        width: 100%; } }

.home-careerstory {
  padding: 4.6428vw 0 6.4285vw;
  box-sizing: border-box;
  text-align: right; }
  @media only screen and (max-width: 767px) {
    .home-careerstory {
      padding: 6rem 2rem; } }
  .home-careerstory__link {
    display: block;
    text-decoration: none;
    color: inherit; }
  .home-careerstory__ttl {
    display: inline-block;
    margin: 0 0 3.2857vw auto;
    padding-right: 13.42857vw;
    box-sizing: border-box;
    position: relative;
    line-height: 1.6222;
    font-size: 6.4285vw; }
    @media only screen and (max-width: 767px) {
      .home-careerstory__ttl {
        margin: 0 -2rem 2.4rem 0;
        padding-right: 4.2rem;
        line-height: 1.63157;
        font-size: 5.7rem; } }
    .home-careerstory__ttl::after {
      content: "";
      width: 12.8vw;
      height: .4rem;
      background: #111111;
      position: absolute;
      top: 37%;
      right: 0;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
      @media only screen and (max-width: 767px) {
        .home-careerstory__ttl::after {
          width: 2.9rem;
          height: .3rem; } }
  .home-careerstory__block {
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 767px) {
      .home-careerstory__block {
        flex-direction: column; } }
    .home-careerstory__block_img {
      width: 55.7148vw; }
      @media only screen and (max-width: 767px) {
        .home-careerstory__block_img {
          width: calc(100% + 4rem);
          margin: 0 -2rem 18.6rem; } }
    .home-careerstory__block_cont {
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      width: 34.6785vw;
      padding-right: 13.25vw;
      box-sizing: border-box;
      position: relative; }
      @media only screen and (max-width: 767px) {
        .home-careerstory__block_cont {
          width: 100%;
          padding: 0; } }
    .home-careerstory__block_copy {
      width: 32.59vw;
      position: absolute;
      top: -2.07vw;
      left: -12vw; }
      @media only screen and (max-width: 767px) {
        .home-careerstory__block_copy {
          width: 34.679rem;
          top: -13rem;
          left: auto;
          right: -1.8rem; } }

.home-cuttingedge__link {
  display: block;
  text-decoration: none;
  color: inherit; }

.home-cuttingedge__head {
  position: relative; }
  .home-cuttingedge__head_ttl {
    position: absolute;
    right: 7.1485vw;
    bottom: -2.2vw;
    line-height: 1;
    font-size: 10.214vw;
    color: #a7b713; }
    @media only screen and (max-width: 767px) {
      .home-cuttingedge__head_ttl {
        left: 50%;
        right: auto;
        bottom: -1.2rem;
        -webkit-transform: translateX(-50%);
                transform: translateX(-50%);
        white-space: nowrap;
        font-size: 6.2rem; } }
  .home-cuttingedge__head_copy {
    width: 14.28vw;
    position: absolute;
    top: 0;
    left: 7.1485vw; }
    @media only screen and (max-width: 767px) {
      .home-cuttingedge__head_copy {
        width: 11.342rem;
        left: auto;
        right: 6.38rem; } }

.home-cuttingedge__bottom {
  padding: 0.64vw 7.1485vw 2.3928vw;
  box-sizing: border-box;
  background: #a7b713;
  position: relative;
  z-index: 1; }
  @media only screen and (max-width: 767px) {
    .home-cuttingedge__bottom {
      padding: 4.05rem 2rem 6rem;
      position: relative; } }
  .home-cuttingedge__bottom_att {
    line-height: 2;
    text-align: left;
    font-size: 0.857vw;
    color: #FFF; }
    @media only screen and (max-width: 767px) {
      .home-cuttingedge__bottom_att {
        position: absolute;
        top: .6rem;
        left: 2rem; } }
  .home-cuttingedge__bottom_btn {
    margin: 0.5vw 0 0 auto;
    text-align: right; }
  .home-cuttingedge__bottom_link {
    margin: 0 0 0 auto; }

.home-bnr {
  display: flex; }
  @media only screen and (max-width: 767px) {
    .home-bnr {
      flex-direction: column; } }
  .home-bnr__item {
    width: 50%;
    height: 39.357vw;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .home-bnr__item {
        width: 100%;
        height: auto; } }
  .home-bnr__doctor {
    background: url(/gs_shs/assets/img/home-doctorpower_img_01_img.png) 50% 50% no-repeat;
    background-size: cover; }
    .home-bnr__doctor__link {
      padding: 3.75vw 0 13.535vw;
      display: block;
      text-decoration: none;
      color: inherit; }
    @media only screen and (max-width: 767px) {
      .home-bnr__doctor {
        background-image: url(/gs_shs/assets/img/home-doctorpower_img_01_img.png); }
        .home-bnr__doctor__link {
          padding: 6rem 2rem 20.13rem; } }
    .home-bnr__doctor_ttl {
      width: 30.253vw;
      margin: 0 auto 2.1571vw; }
      @media only screen and (max-width: 767px) {
        .home-bnr__doctor_ttl {
          width: 100%;
          margin-bottom: 3.03rem; } }
    .home-bnr__doctor_cont {
      width: 38.785vw;
      margin: 0 auto; }
      @media only screen and (max-width: 767px) {
        .home-bnr__doctor_cont {
          width: 100%; } }
    .home-bnr__doctor_copy {
      line-height: 1.875;
      text-align: left;
      font-size: 1.14vw; }
      @media only screen and (max-width: 767px) {
        .home-bnr__doctor_copy {
          line-height: 2;
          font-size: 1.2rem; } }
    .home-bnr__doctor_btn {
      margin: 2.1285vw auto 0;
      text-align: center; }
      @media only screen and (max-width: 767px) {
        .home-bnr__doctor_btn {
          margin-top: 2.23rem; } }
  .home-bnr__data {
    background: url(/gs_shs/assets/img/home-data_img_01_img.png) 50% 50% no-repeat;
    background-size: cover; }
    .home-bnr__data__link {
      padding: 3.75vw 0 7.9vw;
      display: block;
      text-decoration: none;
      color: inherit; }
    @media only screen and (max-width: 767px) {
      .home-bnr__data {
        box-sizing: border-box;
        background-image: url(/gs_shs/assets/img/home-data_img_01_sp_img.png); }
        .home-bnr__data__link {
          padding: 6.57rem 2rem 6.03rem; } }
    .home-bnr__data_ttl {
      margin: 0 auto 3.5vw; }
      @media only screen and (max-width: 767px) {
        .home-bnr__data_ttl {
          margin-bottom: 2rem; } }
    .home-bnr__data_sub {
      display: block;
      width: 3.5vw;
      margin: 0 auto 1.3714vw; }
      @media only screen and (max-width: 767px) {
        .home-bnr__data_sub {
          width: 14rem;
          margin-bottom: 2.14rem; } }
    .home-bnr__data_main {
      display: block;
      width: 23vw;
      margin: 0 auto; }
      @media only screen and (max-width: 767px) {
        .home-bnr__data_main {
          width: 30rem; } }
    .home-bnr__data_txt {
      margin: 0 160px 40px; }
      @media only screen and (max-width: 767px) {
        .home-bnr__data_txt {
          margin: 0 20px 30px; } }
  .home-bnr__btn_link {
    margin: 0 auto; }

.home-result {
  padding: 6.407vw 0 5.15vw;
  box-sizing: border-box;
  background: #a7b713;
  text-align: right; }
  @media only screen and (max-width: 767px) {
    .home-result {
      padding: 6.1rem 2rem 5.55rem; } }
  .home-result__block {
    width: 50%;
    margin: 0 0 0 auto;
    padding: 7.6vw 13.42857vw 4.02857vw;
    box-sizing: border-box;
    position: relative; }
    @media only screen and (max-width: 767px) {
      .home-result__block {
        width: 100%;
        padding: 29.4rem 0 0; } }
    .home-result__block::before {
      content: "";
      width: 95.714%;
      height: .3rem;
      background: #FFF;
      position: absolute;
      top: 0;
      left: -100%; }
      @media only screen and (max-width: 767px) {
        .home-result__block::before {
          width: calc(43.2% + 2rem);
          left: -2rem; } }
  .home-result__ttl {
    width: 16.2528vw;
    position: absolute;
    top: 0;
    left: 0; }
    @media only screen and (max-width: 767px) {
      .home-result__ttl {
        width: 17.065rem;
        left: auto;
        right: 1.42rem; } }
  .home-result__cont {
    width: 21.4285vw;
    margin: 0 0 0 auto;
    text-align: left; }
    @media only screen and (max-width: 767px) {
      .home-result__cont {
        width: 100%; } }
    .home-result__cont_text {
      margin: 0 0 2vw;
      line-height: 1.875;
      font-size: 1.14285vw; }
      @media only screen and (max-width: 767px) {
        .home-result__cont_text {
          margin: 0 0 3rem;
          font-size: 1.2rem; } }

.home-nav {
  padding: 6.407vw 0 6.4285vw;
  background: #a7b713;
  text-align: right; }
  @media only screen and (max-width: 767px) {
    .home-nav {
      padding: 6.1rem 2rem 13.8rem;
      box-sizing: border-box; } }
  .home-nav__block {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 0 auto; }
    @media only screen and (max-width: 767px) {
      .home-nav__block {
        width: calc(100% + 2rem);
        margin-right: -2rem; } }
    .home-nav__block_ttl {
      margin-right: 7.285vw;
      line-height: 1.10344;
      -webkit-writing-mode: vertical-rl;
          -ms-writing-mode: tb-rl;
              writing-mode: vertical-rl;
      text-align: left;
      font-size: 4.1428vw;
      color: #FFF; }
      @media only screen and (max-width: 767px) {
        .home-nav__block_ttl {
          display: none; } }
    .home-nav__block_cont {
      width: 70.857vw;
      padding: 1.5vw 13.4285vw 4.57142vw 1.7142vw;
      box-sizing: border-box;
      background: rgba(255, 255, 255, 0.3); }
      @media only screen and (max-width: 767px) {
        .home-nav__block_cont {
          width: 100%;
          padding: 1.5rem 2rem 6rem 1.5rem; } }
  .home-nav__list {
    display: grid;
    -webkit-column-gap: 1.0714vw;
       -moz-column-gap: 1.0714vw;
            column-gap: 1.0714vw;
    row-gap: 1.0714vw;
    text-align: left; }
    @media only screen and (max-width: 767px) {
      .home-nav__list {
        -webkit-column-gap: 1rem;
           -moz-column-gap: 1rem;
                column-gap: 1rem;
        row-gap: 1rem; } }
    .home-nav__list_item {
      height: 10.14285vw;
      padding: 0.71428vw;
      border-bottom: 0.2rem solid #111111;
      box-sizing: border-box;
      background: #FFF; }
      @media only screen and (max-width: 767px) {
        .home-nav__list_item {
          min-height: 6.2rem;
          height: auto;
          padding: .3rem .6rem;
          border-bottom-width: .3rem; } }
    .home-nav__list_item_02 {
      width: 320px; }
    .home-nav__list_flex {
      display: flex;
      gap: 16px; }
      @media only screen and (max-width: 767px) {
        .home-nav__list_flex {
          flex-direction: column; } }
    .home-nav__list_01 {
      grid-column: 1 / 3;
      grid-row: 1 / 2; }
      @media only screen and (max-width: 767px) {
        .home-nav__list_01 {
          grid-column: 1 / 2; } }
    .home-nav__list_02 {
      grid-column: 3 / 5;
      grid-row: 1 / 2; }
      @media only screen and (max-width: 767px) {
        .home-nav__list_02 {
          grid-column: 2 / 3; } }
    .home-nav__list_03 {
      grid-column: 5 / 7;
      grid-row: 1 / 2; }
      @media only screen and (max-width: 767px) {
        .home-nav__list_03 {
          grid-column: 1 / 2;
          grid-row: 2 / 3; } }
    .home-nav__list_04 {
      grid-column: 1 / 4;
      grid-row: 2 / 3; }
      .home-nav__list_04 .home-nav__list_link {
        font-size: 3.2rem; }
      @media only screen and (max-width: 767px) {
        .home-nav__list_04 {
          grid-column: 1 / 3;
          grid-row: 3 / 4; }
          .home-nav__list_04 .home-nav__list_link {
            font-size: 2.0rem; } }
    .home-nav__list_05 {
      grid-column: 4 / 7;
      grid-row: 2 / 3; }
      .home-nav__list_05 .home-nav__list_link {
        font-size: 2.6rem; }
      @media only screen and (max-width: 767px) {
        .home-nav__list_05 {
          grid-column: 1 / 3;
          grid-row: 4 / 5; }
          .home-nav__list_05 .home-nav__list_link {
            font-size: 2.0rem; } }
    .home-nav__list_link {
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      height: 100%;
      line-height: 1.5;
      text-decoration: none;
      font-size: 1.7142vw;
      font-weight: bold;
      color: #111111; }
      @media only screen and (max-width: 767px) {
        .home-nav__list_link {
          font-size: 1.5rem; } }
    .home-nav__list_sub {
      line-height: 1.5;
      font-size: 1.14285vw;
      font-weight: normal; }
      @media only screen and (max-width: 767px) {
        .home-nav__list_sub {
          font-size: 1.3rem; } }
    .home-nav__list_num {
      font-size: 1.42857vw; }
      @media only screen and (max-width: 767px) {
        .home-nav__list_num {
          font-size: 1.6rem; } }

.home-innovator {
  background: url(/gs_shs/assets/img/home-innovator_img_01_img.png) no-repeat;
  background-size: cover; }
  @media only screen and (max-width: 767px) {
    .home-innovator {
      background: url(/gs_shs/assets/img/home-innovator_img_01_sp.png) no-repeat;
      background-size: cover; } }
  .home-innovator__link {
    text-decoration: none; }
  .home-innovator__cont {
    padding: 75px 0;
    border-bottom: #000 solid 20px; }
  .home-innovator__btn {
    text-align: center;
    display: inline-block; }
    @media only screen and (max-width: 767px) {
      .home-innovator__btn {
        display: block;
        margin: 0 30px; } }
  .home-innovator__sub1 {
    margin: 0 auto 25px;
    width: 25%; }
    @media only screen and (max-width: 767px) {
      .home-innovator__sub1 {
        width: 70%; } }
  .home-innovator__sub2 {
    margin: 0 auto 45px;
    width: 35.7%; }
    @media only screen and (max-width: 767px) {
      .home-innovator__sub2 {
        width: 70%; } }
  .home-innovator__main {
    background: rgba(0, 0, 0, 0.8);
    height: 13rem;
    margin-bottom: 25px; }
    .home-innovator__main br {
      display: none; }
    @media only screen and (max-width: 767px) {
      .home-innovator__main {
        height: 178px;
        padding: 0 30px; } }
  .home-innovator__main_ttl {
    font-size: 12rem;
    color: #fff;
    font-weight: normal; }
    @media only screen and (max-width: 767px) {
      .home-innovator__main_ttl {
        font-size: 8rem;
        text-align: left; } }
  @media only screen and (max-width: 767px) {
    .home-innovator__position {
      position: absolute;
      top: 200px;
      left: 30px; } }

.home-approach {
  background: #a7b713;
  padding: 5vh 0; }
  .home-approach__container {
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    grid-template-rows: repeat(14, 1fr);
    grid-column-gap: 14px;
    grid-row-gap: 10px;
    margin: 0 50px; }
    @media only screen and (max-width: 1400px) {
      .home-approach__container {
        margin: 0; } }
  .home-approach__photo1 {
    grid-area: 2 / 1 / 8 / 9; }
  .home-approach__photo2 {
    grid-area: 1 / 9 / 7 / 17; }
  .home-approach__photo3 {
    grid-area: 7 / 12 / 11 / 17; }
  .home-approach__ttlblock {
    grid-area: 9 / 2 / 15 / 9; }
  .home-approach__ttl {
    word-break: keep-all;
    white-space: nowrap;
    font-size: 9vw;
    line-height: 1;
    text-align: left;
    margin-top: 40px;
    font-weight: 500;
    margin-top: 40px; }
  .home-approach__btn a {
    text-decoration: none;
    display: block;
    width: 100%; }
  @media only screen and (max-width: 767px) {
    .home-approach__container {
      grid-template-columns: repeat(8, 1fr);
      grid-template-rows: repeat(5, 1fr);
      grid-column-gap: 11px;
      grid-row-gap: 10px;
      width: calc(100% + 15vw); }
    .home-approach__photo1 {
      grid-area: 1/1/4/7; }
    .home-approach__photo2 {
      grid-area: 3 / 2 / 8 / 9; }
    .home-approach__photo3 {
      grid-area: 2 / 7 / 3 / 19; }
    .home-approach__ttlblock {
      grid-area: 4 / 2 / 6 / 10; }
    .home-approach__ttl {
      font-size: 16vw;
      margin-top: 12vh; } }

.home-facilities {
  padding: 0 0 5vh; }
  .home-facilities__imgblock {
    background: #111111;
    padding: 0 0 5vh; }
    .home-facilities__imgblock picture {
      position: relative;
      display: block;
      overflow: clip; }
      .home-facilities__imgblock picture::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        color: #fff;
        width: 100%;
        height: 100%;
        background: #000;
        opacity: 0;
        font-size: 10rem;
        align-content: center;
        font-family: "Timmana", sans-serif;
        transition: opacity .5s ease-in-out; }
    .home-facilities__imgblock img {
      transition: scale .5s ease-in-out; }
    .home-facilities__imgblock:hover picture::after {
      opacity: .4; }
    .home-facilities__imgblock:hover img {
      scale: 1.05; }
  .home-facilities__ttlblock {
    max-width: 1100px;
    margin: 5vh auto 0 29vw; }
    @media only screen and (max-width: 767px) {
      .home-facilities__ttlblock {
        margin: 5vh auto 0; } }
  .home-facilities__ttl {
    width: 50%;
    margin: auto 0 40px auto;
    word-break: keep-all;
    white-space: nowrap;
    font-size: 9vw;
    line-height: 1.2;
    text-align: right;
    font-weight: 500; }
  .home-facilities__btn {
    width: 50%;
    margin: auto 0 auto auto; }
    .home-facilities__btn a {
      text-decoration: none; }
  @media only screen and (max-width: 767px) {
    .home-facilities__ttlblock {
      margin: 2vw; }
    .home-facilities__ttl {
      width: 100%;
      margin: 5vh 0 auto auto;
      word-break: keep-all;
      font-size: 20vw;
      text-align: left; }
    .home-facilities__btn {
      width: 100%;
      margin: auto 0 auto auto; }
      .home-facilities__btn a {
        text-decoration: none; } }

.home-news {
  max-width: 1024px;
  margin: 80px auto; }
  @media only screen and (max-width: 767px) {
    .home-news {
      max-width: 100%;
      margin: 106px 20px 60px; } }
  .home-news__ttl {
    line-height: 1.1428;
    word-break: keep-all;
    white-space: nowrap;
    font-size: 6.8vw;
    text-align: left;
    position: relative; }
    .home-news__ttl span {
      color: #A7B713; }
    @media only screen and (max-width: 767px) {
      .home-news__ttl {
        margin: 0;
        position: relative;
        z-index: 1;
        font-size: 5.7rem; } }
    .home-news__ttl::before {
      position: absolute;
      content: url(/gs_shs/assets/img/home-news_txt.svg);
      top: -80px;
      left: -70px; }
      @media only screen and (max-width: 767px) {
        .home-news__ttl::before {
          content: url(/gs_shs/assets/img/home-news_txt_sp.svg);
          top: -52px;
          left: -2rem; } }
  .home-news__btn {
    margin-top: 52px;
    display: flex;
    justify-content: end;
    text-decoration: none; }
    @media only screen and (max-width: 767px) {
      .home-news__btn {
        margin-top: 32px; } }

.home-openlaboratory {
  background: #A7B713;
  display: flex;
  justify-content: end; }
  @media only screen and (max-width: 767px) {
    .home-openlaboratory {
      flex-direction: column;
      justify-content: center; } }
  .home-openlaboratory__contents {
    flex-direction: column;
    min-width: 860px;
    padding: 60px 0;
    text-decoration: none; }
    @media only screen and (max-width: 767px) {
      .home-openlaboratory__contents {
        min-width: auto;
        padding: 40px 0 0; } }
  .home-openlaboratory__ttl {
    line-height: 1.1428;
    word-break: keep-all;
    white-space: nowrap;
    font-size: 5vw;
    text-align: left;
    margin-left: 12%; }
    .home-openlaboratory__ttl span {
      color: #fff; }
    @media only screen and (max-width: 767px) {
      .home-openlaboratory__ttl {
        margin: 0 0 0rem 2rem;
        position: relative;
        z-index: 1;
        font-size: 5rem; } }
  .home-openlaboratory__txt {
    background: #111111;
    padding: 16px;
    width: 100%;
    text-align: left; }
    .home-openlaboratory__txt img {
      width: 80%;
      margin-left: 12%; }
      @media only screen and (max-width: 767px) {
        .home-openlaboratory__txt img {
          width: 220px;
          margin-left: 20px; } }
    @media only screen and (max-width: 767px) {
      .home-openlaboratory__txt {
        padding: 10px 0px; }
        .home-openlaboratory__txt img {
          width: 90%;
          margin: 0 0 0rem 2rem; } }
  .home-openlaboratory__caption {
    margin-left: 12%;
    margin-right: 16%;
    margin-top: 30px; }
    .home-openlaboratory__caption_ttl {
      font-size: 1.8rem;
      font-weight: bold; }
    @media only screen and (max-width: 767px) {
      .home-openlaboratory__caption {
        margin: 40px 20px; } }
  .home-openlaboratory__btn {
    margin-left: 12%;
    margin-top: 10px;
    text-decoration: none;
    display: block;
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
    .home-openlaboratory__btn span {
      font-size: 1.7rem !important;
      padding: 16px 0px; }
    .home-openlaboratory__btn::after {
      content: "\f178";
      font-family: "FontAwesome";
      font-weight: 100;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      right: 0; }
    @media only screen and (max-width: 767px) {
      .home-openlaboratory__btn {
        margin: 20px 20px 20px;
        width: 88%; }
        .home-openlaboratory__btn span::after {
          display: none; } }
  .home-openlaboratory__img {
    background: url(/gs_shs/assets/img/home-openlaboratory_img_01_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: right;
    padding: 2.0rem 8.0rem 8.0rem 4.0rem; }
    @media only screen and (max-width: 767px) {
      .home-openlaboratory__img {
        display: none; } }
    .home-openlaboratory__img_sp {
      display: none; }
      @media only screen and (max-width: 767px) {
        .home-openlaboratory__img_sp {
          display: block; } }

.pages-mv__copy {
  max-width: 66.4rem;
  width: 100%;
  margin: 0;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: left;
  font-size: 1.8rem; }
  @media only screen and (max-width: 767px) {
    .pages-mv__copy {
      line-height: 1.71428;
      font-size: 1.4rem; } }

.professors-list__wrap {
  padding: 28rem 0 13.9rem;
  box-sizing: border-box;
  background: linear-gradient(to bottom, #7E7E7E 47.1428vw, #7E7E7E 47.1428vw, #000000);
  position: relative; }
  @media only screen and (max-width: 767px) {
    .professors-list__wrap {
      background: linear-gradient(to bottom, #7E7E7E 133vw, #7E7E7E 133vw, #000000); } }
  .professors-list__wrap::before {
    content: "";
    width: 100%;
    height: 47.1428vw;
    background: #FFF url(/gs_shs/assets/img/professors_bg_img.png) 50% 0 no-repeat;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0; }
    @media only screen and (max-width: 767px) {
      .professors-list__wrap::before {
        height: 133vw;
        background-image: url(/gs_shs/assets/img/professors_bg_sp_img.png); } }

.professors-detail__main {
  background: linear-gradient(to right, #F3F8CA calc(((100vw - 102.4rem) / 2) + 32.4rem), #FFF calc(((100vw - 102.4rem) / 2) + 32.4rem), #FFF); }
  @media only screen and (max-width: 767px) {
    .professors-detail__main {
      background: linear-gradient(to right, #F3F8CA 1.5rem, #FFF 1.5rem, #FFF); } }

.professors-detail__head_block {
  position: relative;
  text-align: left; }
  @media only screen and (max-width: 767px) {
    .professors-detail__head_block {
      flex-direction: column; } }

.professors-detail__head_img {
  max-width: 51.2rem;
  width: 100%;
  margin: 0 auto 0 0; }
  @media only screen and (max-width: 767px) {
    .professors-detail__head_img {
      width: calc(100% + 2.5rem);
      margin: 0 -2rem 0 -.5rem; } }

.professors-detail__head_cont {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0; }
  @media only screen and (max-width: 767px) {
    .professors-detail__head_cont {
      padding: 0 0 0 1.5rem;
      box-sizing: border-box;
      position: static; } }

.professors-detail__head_copy {
  display: block;
  margin: 0 0 8.8rem;
  padding: 0 2.56rem 0 0;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-size: 3.8rem;
  font-weight: bold;
  order: 1;
  width: 43%; }
  @media only screen and (max-width: 767px) {
    .professors-detail__head_copy {
      align-self: flex-start;
      padding: 0;
      font-size: 2.6rem;
      width: 100%; } }

.professors-detail__head_cap {
  display: block;
  opacity: .3;
  line-height: 1.63;
  font-size: 10rem;
  color: #cec8c8;
  order: 3; }
  @media only screen and (max-width: 767px) {
    .professors-detail__head_cap {
      line-height: 1;
      font-size: 8rem; } }

.professors-detail__sign {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin: 0 0 3rem;
  order: 2; }
  .professors-detail__sign_ttl {
    margin: 0 0 2rem;
    line-height: 1;
    font-size: 3.6rem;
    font-weight: bold; }
    @media only screen and (max-width: 767px) {
      .professors-detail__sign_ttl {
        font-size: 2rem; } }
  .professors-detail__sign_sub {
    font-size: 2.4rem;
    font-weight: normal; }
    @media only screen and (max-width: 767px) {
      .professors-detail__sign_sub {
        font-size: 1.3rem; } }

.professors-detail__content {
  padding: 9rem 0 6rem; }

.professors-detail__block {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 0;
  text-align: left; }
  @media only screen and (max-width: 767px) {
    .professors-detail__block {
      flex-direction: column;
      padding: 0 0 0 1.5rem;
      box-sizing: border-box; } }
  .professors-detail__block + .professors-detail__block {
    margin-top: 6rem; }
    @media only screen and (max-width: 767px) {
      .professors-detail__block + .professors-detail__block {
        margin-top: 4rem; } }
  .professors-detail__block_ttl {
    width: 33.2rem;
    position: relative;
    line-height: 1.5714;
    letter-spacing: 0.05em;
    font-size: 2.8rem;
    font-weight: bold;
    color: #a7b713;
    padding: 0 0 .55rem;
    border-bottom: 0.2rem solid #a7b713;
    /*
            &::before {
                content: "";
                width: 100%;
                height: .2rem;
                background: $green1;
                position: absolute;
                top: 50%;
                right: 0;
                transform: translateY(-50%);

                @include media(sp) {
                    display: none;
                }
            }
            */ }
    @media only screen and (max-width: 767px) {
      .professors-detail__block_ttl {
        width: 100%;
        margin: 0 0 2rem;
        line-height: 2.2;
        font-size: 2.2rem; } }
    .professors-detail__block_ttl-cont {
      display: inline-block;
      padding: 0 1rem 0 0;
      box-sizing: border-box;
      position: relative;
      z-index: 1; }
      @media only screen and (max-width: 767px) {
        .professors-detail__block_ttl-cont {
          display: inline;
          padding: 0;
          background: none; } }
  .professors-detail__block_cont {
    width: calc(100% - 33.2rem);
    padding-left: 3.6rem;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .professors-detail__block_cont {
        width: 100%;
        padding: 0; } }
  .professors-detail__block_img {
    margin: 3rem 0 0; }
    @media only screen and (max-width: 767px) {
      .professors-detail__block_img {
        margin: 2rem 0 0; } }

.professors-detail__field {
  display: flex;
  justify-content: space-between; }
  .professors-detail__field_img {
    width: 22.8rem;
    margin: 0; }
    @media only screen and (max-width: 767px) {
      .professors-detail__field_img {
        width: 100%; } }

.professors-detail__text {
  line-height: 1.777;
  letter-spacing: 0.05em;
  font-size: 1.8rem; }
  .professors-detail__text.font_big {
    font-size: 2.8rem; }
  @media only screen and (max-width: 767px) {
    .professors-detail__text {
      line-height: 2;
      font-size: 1.4rem; }
      .professors-detail__text.font_big {
        font-size: 2rem; } }

.professors-detail__related {
  padding: 0 0 12rem; }
  @media only screen and (max-width: 767px) {
    .professors-detail__related {
      padding-bottom: 9rem; } }
  .professors-detail__related_block {
    padding: 4rem;
    box-sizing: border-box;
    background: #FFF; }
    @media only screen and (max-width: 767px) {
      .professors-detail__related_block {
        padding: 0 0 0 1.5rem; } }

.campuslife-list {
  padding: 9rem 0 16.5rem;
  background: #a7b713; }
  @media only screen and (max-width: 767px) {
    .campuslife-list {
      overflow: hidden; } }

.campuslife-note {
  font-size: 1.6rem;
  width: 100rem;
  margin: 0 auto;
  text-align: left;
  margin-bottom: 50px;
  margin-top: -65px; }
  @media only screen and (max-width: 767px) {
    .campuslife-note {
      margin-left: 2rem; } }

.campuslife-detail__main {
  background: #a7b713; }

.campuslife-detail__head_block {
  display: flex;
  justify-content: space-between;
  position: relative; }
  @media only screen and (max-width: 767px) {
    .campuslife-detail__head_block {
      flex-direction: column; } }

.campuslife-detail__head_img {
  width: 48rem;
  position: relative; }
  @media only screen and (max-width: 767px) {
    .campuslife-detail__head_img {
      width: 100%;
      margin: 0 0 2rem; } }

.campuslife-detail__head_tag {
  display: inline-block;
  padding: 0.5rem 1rem;
  box-sizing: border-box;
  background: #a7b713;
  position: absolute;
  top: 0;
  left: 0;
  line-height: 1.6363;
  font-size: 2.2rem;
  font-weight: bold;
  color: #fff; }

.campuslife-detail__head_cont {
  width: 48rem;
  text-align: left;
  position: relative;
  z-index: 1; }
  @media only screen and (max-width: 767px) {
    .campuslife-detail__head_cont {
      width: 100%; } }

.campuslife-detail__head_sign {
  margin: 0 0 3rem;
  position: relative; }

.campuslife-detail__head_name {
  margin: 0 0 2rem;
  padding: 0 0 1.1rem;
  border-bottom: 0.2rem solid #fff;
  box-sizing: border-box;
  line-height: 1.2857;
  font-size: 2.8rem;
  font-weight: bold; }
  @media only screen and (max-width: 767px) {
    .campuslife-detail__head_name {
      font-size: 2.2rem; } }
  .campuslife-detail__head_name-sub {
    font-size: 1.8rem;
    font-weight: normal; }
    @media only screen and (max-width: 767px) {
      .campuslife-detail__head_name-sub {
        font-size: 1.4rem; } }

.campuslife-detail__head_belong {
  display: inline-block;
  padding: 0.5rem 1rem;
  box-sizing: border-box;
  background: #111111;
  line-height: 2.25;
  font-size: 1.6rem;
  color: #fff; }
  @media only screen and (max-width: 767px) {
    .campuslife-detail__head_belong {
      font-size: 1.4rem; } }

.campuslife-detail__head_num {
  position: absolute;
  right: 0;
  bottom: -1.5rem; }
  @media only screen and (max-width: 767px) {
    .campuslife-detail__head_num {
      bottom: 0; } }
  .campuslife-detail__head_num svg {
    height: auto;
    overflow: visible; }
    .campuslife-detail__head_num svg text {
      fill: rgba(255, 255, 255, 0);
      stroke: #fff;
      stroke-width: 0.1rem;
      stroke-linejoin: unset;
      font-size: 16.5rem; }
      @media only screen and (max-width: 767px) {
        .campuslife-detail__head_num svg text {
          font-size: 13rem; } }

.campuslife-detail__data {
  margin: 0 0 1rem; }
  .campuslife-detail__data_item {
    line-height: 1.8;
    font-size: 2rem; }
    @media only screen and (max-width: 767px) {
      .campuslife-detail__data_item {
        font-size: 1.4rem; } }
    .campuslife-detail__data_item + .campuslife-detail__data_item {
      margin-top: 1rem; }

.campuslife-detail__copy {
  display: block;
  padding: 6rem 1rem;
  box-sizing: border-box;
  position: relative;
  line-height: 1.733;
  font-size: 3rem;
  font-weight: bold;
  z-index: 1; }
  @media only screen and (max-width: 767px) {
    .campuslife-detail__copy {
      padding: 5rem 2rem;
      font-size: 2.2rem; } }
  .campuslife-detail__copy::before, .campuslife-detail__copy::after {
    position: absolute;
    line-height: 1;
    font-size: 9.8rem;
    font-weight: bold;
    color: rgba(255, 255, 255, 0.6);
    z-index: -1; }
    @media only screen and (max-width: 767px) {
      .campuslife-detail__copy::before, .campuslife-detail__copy::after {
        font-size: 6.7rem; } }
  .campuslife-detail__copy::before {
    content: "“";
    top: 0;
    left: 0; }
  .campuslife-detail__copy::after {
    content: "”";
    right: 0;
    bottom: -3rem; }

.campuslife-detail__ruby {
  display: block;
  position: absolute;
  right: 0;
  bottom: -13rem;
  line-height: 1;
  font-size: 12rem;
  color: rgba(255, 255, 255, 0.6); }
  @media only screen and (max-width: 767px) {
    .campuslife-detail__ruby {
      position: static;
      font-size: 8rem; } }

.campuslife-detail__content {
  padding-top: 6rem;
  border-bottom: 0.2rem solid #fff; }
  @media screen and (min-width: 768px) {
    .campuslife-detail__content {
      padding-top: 15rem; } }

.campuslife-detail__tabs {
  display: flex;
  justify-content: center;
  border-bottom: 0.2rem solid #fff;
  position: relative; }
  @media only screen and (max-width: 767px) {
    .campuslife-detail__tabs {
      justify-content: space-between; } }
  .campuslife-detail__tabs::before, .campuslife-detail__tabs::after {
    content: "";
    width: calc((100vw - 102.4rem) / 2);
    height: 0.2rem;
    background: #fff;
    position: absolute;
    bottom: -0.2rem; }
    @media only screen and (max-width: 767px) {
      .campuslife-detail__tabs::before, .campuslife-detail__tabs::after {
        width: 2rem; } }
  .campuslife-detail__tabs::before {
    left: calc((102.4rem - 100vw) / 2); }
    @media only screen and (max-width: 767px) {
      .campuslife-detail__tabs::before {
        left: -2rem; } }
  .campuslife-detail__tabs::after {
    right: calc((102.4rem - 100vw) / 2); }
    @media only screen and (max-width: 767px) {
      .campuslife-detail__tabs::after {
        right: -2rem; } }
  .campuslife-detail__tabs_item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 48rem;
    height: 7rem;
    margin: 0 1rem;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.6);
    position: relative;
    bottom: -0.2rem;
    z-index: 1;
    line-height: 2.3636;
    font-size: 2.2rem;
    color: #fff;
    cursor: pointer; }
    @media only screen and (max-width: 767px) {
      .campuslife-detail__tabs_item {
        width: calc((100% / 2) - 0.45rem);
        margin: 0;
        line-height: 1.375;
        font-size: 1.6rem;
        font-weight: bold; } }
    .campuslife-detail__tabs_item.current {
      border-top: 0.2rem solid #fff;
      border-left: 0.2rem solid #fff;
      border-right: 0.2rem solid #fff;
      border-bottom: 0.2rem solid #a7b713;
      background: #a7b713; }

.campuslife-detail__pages {
  padding: 6.3rem 0 8.6rem; }
  .campuslife-detail__pages_item.tabs-page {
    display: none; }
    .campuslife-detail__pages_item.tabs-page.show {
      display: block; }

.campuslife-detail__box {
  display: flex;
  justify-content: space-between;
  margin: 0;
  text-align: left; }
  @media only screen and (max-width: 767px) {
    .campuslife-detail__box {
      flex-direction: column;
      padding-left: 3rem;
      position: relative; }
      .campuslife-detail__box::before {
        content: "";
        width: 0.1rem;
        height: 100%;
        border-left: 0.2rem dashed #fff;
        position: absolute;
        top: 0;
        left: 1.4rem; } }
  @media only screen and (max-width: 767px) {
    .campuslife-detail__box + .campuslife-detail__box {
      padding-top: 3rem; } }
  .campuslife-detail__box + .campuslife-detail__box .campuslife-detail__box_time, .campuslife-detail__box + .campuslife-detail__box .campuslife-detail__box_cont, .campuslife-detail__box + .campuslife-detail__box .campuslife-detail__box_tags {
    padding-top: 3rem; }
    @media only screen and (max-width: 767px) {
      .campuslife-detail__box + .campuslife-detail__box .campuslife-detail__box_time, .campuslife-detail__box + .campuslife-detail__box .campuslife-detail__box_cont, .campuslife-detail__box + .campuslife-detail__box .campuslife-detail__box_tags {
        padding-top: 0; } }
  .campuslife-detail__box + .campuslife-detail__box .campuslife-detail__box_time::after {
    top: 3.85rem; }
    @media only screen and (max-width: 767px) {
      .campuslife-detail__box + .campuslife-detail__box .campuslife-detail__box_time::after {
        top: 0.35rem; } }
  .campuslife-detail__box_time {
    width: 11.8rem;
    padding: 0 3.5rem 0 0;
    box-sizing: border-box;
    position: relative;
    line-height: 1.2;
    text-align: right;
    font-size: 4rem;
    color: #fff; }
    @media only screen and (max-width: 767px) {
      .campuslife-detail__box_time {
        width: 100%;
        padding: 0;
        line-height: 1;
        text-align: left; } }
    .campuslife-detail__box_time::after {
      content: "";
      width: 1.4rem;
      height: 1.4rem;
      border-radius: 100px;
      background: #fff;
      position: absolute;
      top: 0.85rem;
      right: -0.7rem; }
      @media only screen and (max-width: 767px) {
        .campuslife-detail__box_time::after {
          top: 0.35rem;
          right: auto;
          left: -2.1rem; } }
  .campuslife-detail__box_cont {
    width: 74.6rem;
    padding: 0 3.6rem;
    border-left: 0.1rem dashed #fff;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .campuslife-detail__box_cont {
        width: 100%;
        padding: 0;
        border-left: 0; } }
    .campuslife-detail__box_cont_flex {
      width: 74.6rem;
      padding: 3rem 3.6rem 0;
      border-left: 0.1rem dashed #fff;
      box-sizing: border-box;
      display: flex; }
      @media only screen and (max-width: 767px) {
        .campuslife-detail__box_cont_flex {
          width: 100%;
          padding: 0;
          border-left: 0;
          flex-wrap: wrap; } }
  .campuslife-detail__box_ttl {
    margin: 0 0 0.5rem;
    line-height: 1.4;
    font-size: 2rem;
    font-weight: bold; }
    @media only screen and (max-width: 767px) {
      .campuslife-detail__box_ttl {
        font-size: 1.6rem; } }
  .campuslife-detail__box_desc {
    line-height: 1.75;
    font-size: 1.6rem; }
    @media only screen and (max-width: 767px) {
      .campuslife-detail__box_desc {
        font-size: 1.4rem; } }
    .campuslife-detail__box_desc_commt {
      background-color: #fff;
      padding: 7px 15px;
      position: relative;
      line-height: 1.75;
      font-size: 1.6rem;
      margin-left: 2rem; }
      .campuslife-detail__box_desc_commt::before {
        border: solid rgba(255, 255, 255, 0);
        content: "";
        height: 0;
        width: 0;
        position: absolute;
        border-top-width: 5px;
        border-bottom-width: 5px;
        border-left-width: 10px;
        border-right-width: 10px;
        margin-top: -10px;
        border-right-color: #fff;
        right: 100%;
        top: 20px; }
      @media only screen and (max-width: 767px) {
        .campuslife-detail__box_desc_commt {
          font-size: 1.4rem;
          margin-left: 0;
          margin-top: 1rem; }
          .campuslife-detail__box_desc_commt::before {
            border-top-width: 11px;
            border-bottom-width: 11px;
            border-left-width: 10px;
            border-right-width: 10px;
            margin-left: -10px;
            top: -10px;
            left: 20px;
            -webkit-transform: rotate(90deg);
                    transform: rotate(90deg); } }
  .campuslife-detail__box_table {
    margin: 2rem 0; }
  .campuslife-detail__box_caption {
    display: block;
    font-size: 1.6rem;
    margin-top: 1rem; }
  .campuslife-detail__box_flex {
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 767px) {
      .campuslife-detail__box_flex {
        flex-direction: column; } }
    .campuslife-detail__box_flex-cont {
      width: 36.3rem; }
      @media only screen and (max-width: 767px) {
        .campuslife-detail__box_flex-cont {
          width: 100%;
          margin: 0 0 1rem; } }
    .campuslife-detail__box_flex-img {
      width: 28rem; }
      @media only screen and (max-width: 767px) {
        .campuslife-detail__box_flex-img {
          width: 100%; } }
  .campuslife-detail__box_tags {
    width: 16rem;
    position: relative; }
    @media only screen and (max-width: 767px) {
      .campuslife-detail__box_tags {
        width: 100%;
        margin: 1rem 0 0; } }
    .campuslife-detail__box_tags::before {
      content: "";
      width: 1rem;
      height: 100%;
      background: rgba(255, 255, 255, 0.5);
      position: absolute;
      top: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%); }
      @media only screen and (max-width: 767px) {
        .campuslife-detail__box_tags::before {
          display: none; } }
  .campuslife-detail__box_tag {
    width: 100%;
    padding: 1.4rem;
    border: 0.1rem solid #fff;
    box-sizing: border-box;
    background: #a7b713;
    position: relative;
    z-index: 1;
    line-height: 1.5;
    text-align: center;
    font-size: 1.6rem;
    color: #fff; }

.campuslife-detail__future {
  padding: 9rem 0 0; }
  .campuslife-detail__future_block {
    padding: 3.8rem 6rem 11rem;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.5);
    position: relative;
    overflow: hidden; }
    @media only screen and (max-width: 767px) {
      .campuslife-detail__future_block {
        width: calc(100% + 4rem);
        margin: 0 -2rem;
        padding: 3rem 2rem 11rem; } }
  .campuslife-detail__future_ttl {
    width: 100%;
    margin: 0 auto -1.8rem;
    line-height: 1;
    letter-spacing: 0.05em;
    font-size: 2.8rem;
    font-weight: bold; }
    @media only screen and (max-width: 767px) {
      .campuslife-detail__future_ttl {
        font-size: 2.1rem;
        order: 2; } }
  .campuslife-detail__future_strong {
    display: inline-block;
    width: 14.688rem;
    position: relative;
    top: -3.8rem; }
  .campuslife-detail__future_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media only screen and (max-width: 767px) {
      .campuslife-detail__future_box {
        flex-direction: column; } }
    .campuslife-detail__future_box-img {
      width: 42rem; }
      @media only screen and (max-width: 767px) {
        .campuslife-detail__future_box-img {
          width: 100%;
          margin: 0 0 4.5rem;
          order: 1; } }
    .campuslife-detail__future_box-cont {
      width: 42rem;
      text-align: left; }
      @media only screen and (max-width: 767px) {
        .campuslife-detail__future_box-cont {
          width: 100%;
          order: 3; } }
    .campuslife-detail__future_box-text {
      line-height: 1.75;
      letter-spacing: 0.05em;
      font-size: 1.6rem; }
      @media only screen and (max-width: 767px) {
        .campuslife-detail__future_box-text {
          font-size: 1.4rem; } }
  .campuslife-detail__future_cap {
    position: absolute;
    right: 0.3rem;
    bottom: -2.3rem;
    font-family: "Timmana", sans-serif;
    font-size: 9.7rem;
    line-height: 0.8;
    color: transparent;
    -webkit-text-stroke: 1px #a7b713; }
    @media screen and (min-width: 768px) {
      .campuslife-detail__future_cap {
        right: 1.5rem;
        bottom: -3.7rem;
        font-size: 14.9rem; } }

.campuslife-detail__related {
  padding: 9.2rem 0 12rem; }
  .campuslife-detail__related .box__ptn4_num {
    top: -1.6rem;
    font-family: "Timmana", sans-serif;
    font-size: 5rem;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1px #fff; }
    @media screen and (min-width: 768px) {
      .campuslife-detail__related .box__ptn4_num {
        font-size: 6rem; } }

.campuslife-detail__btn {
  margin-top: 1rem;
  position: relative;
  z-index: 1;
  max-width: 200px; }
  .campuslife-detail__btn a {
    text-decoration: none;
    display: block;
    padding: 1rem 3rem 1rem 1.5rem;
    box-sizing: border-box;
    background-color: #fff;
    font-size: 1.6rem;
    color: #111;
    border-radius: 20rem;
    line-height: 1; }
    .campuslife-detail__btn a::before {
      font-family: "FontAwesome";
      content: "\f0a9";
      font-weight: 900;
      position: absolute;
      right: 10px;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      color: #a7b713; }
  @media only screen and (max-width: 767px) {
    .campuslife-detail__btn {
      max-width: inherit;
      width: 100%; } }

.approach-list__container {
  display: flex;
  align-items: stretch;
  flex-direction: row;
  overflow: hidden; }
  @media only screen and (max-width: 767px) {
    .approach-list__container {
      flex-direction: column-reverse;
      flex: 1 auto;
      margin-top: -4rem; } }
  .approach-list__container:nth-of-type(even) .approach-list__profile {
    background: #111111; }
    .approach-list__container:nth-of-type(even) .approach-list__profile::after {
      background: #111111; }
  .approach-list__container:nth-of-type(even) .approach-list__profile_name {
    color: #a7b713; }
  .approach-list__container:nth-of-type(even) .approach-list__profile_position {
    color: #fff; }
  .approach-list__container:nth-of-type(even) .approach-list__profile_desc {
    color: #fff;
    -webkit-text-decoration: underline #a7b713 6px;
            text-decoration: underline #a7b713 6px; }
  .approach-list__container:nth-of-type(even) .approach-list__profile_keywords-ttl {
    color: #a7b713; }
    .approach-list__container:nth-of-type(even) .approach-list__profile_keywords-ttl::after {
      border-bottom: 2px dotted #a7b713; }
  .approach-list__container:nth-of-type(even) .approach-list__profile_keywords-detail {
    color: #fff; }
  .approach-list__container:nth-of-type(even) .approach-list__btncnt::after {
    background: #a7b713;
    color: #fff; }
  .approach-list__container:nth-of-type(even) .approach-list__btn {
    background: #a7b713;
    color: #fff; }

.approach-list__profile {
  position: relative;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  flex: 1;
  padding: 30px 40px 20px 0;
  background: #a7b713; }
  @media only screen and (max-width: 1025px) {
    .approach-list__profile {
      padding: 30px 10px; } }
  @media only screen and (max-width: 767px) {
    .approach-list__profile {
      padding: 30px 15px 30px; } }
  .approach-list__profile_block {
    width: 80%;
    min-width: 470px;
    margin: 0 0 0 auto;
    text-align: left; }
    @media only screen and (max-width: 767px) {
      .approach-list__profile_block {
        width: 100%;
        min-width: inherit; } }
  .approach-list__profile_name {
    color: #000;
    font-size: 7.5rem;
    font-weight: 500;
    line-height: 1; }
    @media only screen and (max-width: 767px) {
      .approach-list__profile_name {
        font-size: 5rem; } }
  .approach-list__profile_position {
    font-size: 2.5rem;
    font-weight: 500;
    line-height: 1; }
  .approach-list__profile_desc {
    margin: 30px 0;
    font-size: 3.5rem;
    -webkit-text-decoration: underline  #fff;
            text-decoration: underline  #fff;
    text-underline-offset: 10px;
    text-decoration-thickness: 6px;
    max-width: 550px; }
    @media only screen and (max-width: 767px) {
      .approach-list__profile_desc {
        line-height: 1.2; } }
  .approach-list__profile_keywords-ttl {
    font-size: 2.5rem;
    font-weight: 500;
    color: #fff;
    line-height: 1;
    max-width: 550px;
    margin-bottom: 15px; }
    .approach-list__profile_keywords-ttl::after {
      content: "";
      display: inline-block;
      width: 62%;
      height: 2rem;
      border-bottom: 2px dotted #fff;
      margin-left: 3px; }
      @media only screen and (max-width: 767px) {
        .approach-list__profile_keywords-ttl::after {
          width: 40%; } }
  .approach-list__profile_keywords-detail {
    font-size: 2rem; }
  .approach-list__profile::after {
    content: "";
    position: absolute;
    right: -30px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    background: #a7b713;
    -webkit-clip-path: polygon(0 0, 0% 100%, 50% 50%);
            clip-path: polygon(0 0, 0% 100%, 50% 50%);
    width: 30px;
    height: 30px;
    z-index: 2; }
    @media only screen and (max-width: 767px) {
      .approach-list__profile::after {
        right: inherit;
        left: 50%;
        top: -39px;
        width: 40px;
        height: 40px;
        -webkit-transform: translateX(-50%);
                transform: translateX(-50%);
        -webkit-clip-path: polygon(50% 50%, 100% 100%, 0 100%);
                clip-path: polygon(50% 50%, 100% 100%, 0 100%); } }

.approach-list__img {
  display: block;
  box-sizing: border-box;
  flex: 1;
  overflow-x: clip; }
  @media only screen and (max-width: 767px) {
    .approach-list__img {
      overflow: clip; } }
  .approach-list__img img {
    scale: 1;
    transition: scale .3s; }
    @media only screen and (max-width: 1400px) {
      .approach-list__img img {
        scale: 1.3; } }
    @media only screen and (max-width: 1025px) {
      .approach-list__img img {
        position: relative;
        scale: 1.5;
        top: 40px; } }
    @media only screen and (max-width: 767px) {
      .approach-list__img img {
        scale: 1; } }
  .approach-list__img img:hover {
    scale: 1.05; }
    @media only screen and (max-width: 1400px) {
      .approach-list__img img:hover {
        scale: 1.35; } }
    @media only screen and (max-width: 1025px) {
      .approach-list__img img:hover {
        scale: 1.55; } }
    @media only screen and (max-width: 767px) {
      .approach-list__img img:hover {
        scale: 1.05; } }

.approach-list__btncnt {
  display: block;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 0 0 auto;
  overflow: hidden;
  text-decoration: none; }
  .approach-list__btncnt::after {
    content: "learn more";
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 15rem;
    padding: 10px 10px 0;
    margin: 0 0 0 auto;
    font-size: 2.5rem;
    font-weight: 500;
    line-height: 1.2;
    -webkit-clip-path: polygon(0 0, 100% 0, 83% 100%, 0% 100%);
            clip-path: polygon(0 0, 100% 0, 83% 100%, 0% 100%);
    text-decoration: none;
    background: #111111;
    color: #a7b713;
    z-index: 3;
    font-family: "Timmana", sans-serif;
    cursor: pointer; }
  .approach-list__btncnt:hover::after {
    -webkit-animation: anime_slideout 1s ease-out;
            animation: anime_slideout 1s ease-out; }
  .approach-list__btncnt:hover .approach-list__btn {
    -webkit-animation: anime_slidein 0.4s ease-in-out;
            animation: anime_slidein 0.4s ease-in-out;
    -webkit-transform: translateX(0px);
            transform: translateX(0px); }
  @media only screen and (max-width: 767px) {
    .approach-list__btncnt::after {
      content: none; }
    .approach-list__btncnt:hover .approach-list__btn {
      -webkit-animation: none;
              animation: none; } }

.approach-list__btn {
  position: relative;
  display: block;
  width: 15rem;
  padding: 10px 10px 0;
  margin: 0 0 0 auto;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.2;
  -webkit-clip-path: polygon(0 0, 100% 0, 83% 100%, 0% 100%);
          clip-path: polygon(0 0, 100% 0, 83% 100%, 0% 100%);
  text-decoration: none;
  background: #111111;
  color: #a7b713;
  -webkit-transform: translateX(-200px);
          transform: translateX(-200px);
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards; }
  @media only screen and (max-width: 767px) {
    .approach-list__btn {
      font-size: 2.1rem;
      margin: 30px 0 30px auto;
      -webkit-transform: translateX(0px);
              transform: translateX(0px); } }

@-webkit-keyframes anime_slideout {
  0% {
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(400px);
            transform: translateX(400px);
    opacity: 0; } }

@keyframes anime_slideout {
  0% {
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(400px);
            transform: translateX(400px);
    opacity: 0; } }

@-webkit-keyframes anime_slidein {
  0% {
    -webkit-transform: translateX(-185px);
            transform: translateX(-185px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
    opacity: 1; } }

@keyframes anime_slidein {
  0% {
    -webkit-transform: translateX(-185px);
            transform: translateX(-185px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
    opacity: 1; } }

.approach-detail p {
  text-align: left; }

.approach-detail__heading {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  font-size: 3rem;
  text-align: left;
  padding: 0 10px;
  line-height: 1.2; }
  @media only screen and (max-width: 767px) {
    .approach-detail__heading {
      flex-direction: column;
      font-size: 2.5rem; } }
  .approach-detail__heading h2 {
    position: relative;
    top: 10px;
    flex: 1;
    font-weight: 500;
    line-height: 1.2; }
    @media only screen and (max-width: 767px) {
      .approach-detail__heading h2 {
        top: 0px;
        line-height: 1.5; } }
  .approach-detail__heading h3 {
    display: flex;
    align-items: center;
    color: #111111;
    font-size: 2.4rem;
    margin: 20px 0; }
    .approach-detail__heading h3::before {
      content: "";
      display: block;
      margin-right: 15px;
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: #a7b713; }
    @media only screen and (max-width: 767px) {
      .approach-detail__heading h3 {
        margin: 20px auto 20px 0; } }
  .approach-detail__heading span {
    display: block;
    font-size: 1.6rem; }
    @media only screen and (max-width: 767px) {
      .approach-detail__heading span {
        font-size: 1.4rem;
        margin-top: -1.8rem; } }
  .approach-detail__heading.heading-black {
    line-height: 1.2;
    background: linear-gradient(0deg, white 0%, white 25%, #111111 25%, #111111 100%);
    color: #fff; }
    @media only screen and (max-width: 767px) {
      .approach-detail__heading.heading-black:has(> :nth-child(2)) {
        background: #111111; } }
  .approach-detail__heading.heading-green {
    line-height: 1.2;
    background: linear-gradient(0deg, white 0%, white 25%, #a7b713 25%, #a7b713 100%);
    color: #111111; }
    @media only screen and (max-width: 767px) {
      .approach-detail__heading.heading-green:has(> :nth-child(2)) {
        background: #a7b713; } }

.approach-detail__intro {
  margin: 0px 0 50px; }
  .approach-detail__intro_container {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: start; }
    @media only screen and (max-width: 767px) {
      .approach-detail__intro_container {
        flex-direction: column-reverse; } }
  .approach-detail__intro_profile {
    flex: 1;
    margin-top: 4rem;
    padding-right: 20px; }
    @media only screen and (max-width: 767px) {
      .approach-detail__intro_profile {
        padding-right: 0; } }
  .approach-detail__intro_name {
    min-height: 90px; }
    .approach-detail__intro_name h2 {
      position: absolute;
      top: 4rem;
      left: 0;
      z-index: 2;
      font-size: 9rem;
      color: #111111;
      line-height: 1.2;
      font-weight: 500; }
    @media only screen and (max-width: 767px) {
      .approach-detail__intro_name {
        min-height: inherit; }
        .approach-detail__intro_name h2 {
          position: static;
          font-size: 4.5rem;
          line-height: 1;
          text-align: left; } }
  .approach-detail__intro_position {
    margin-top: 20px;
    font-size: 2rem;
    line-height: 1;
    color: #949494;
    -moz-text-align-last: left;
         text-align-last: left; }
  .approach-detail__intro_desc {
    margin-top: 50px;
    text-align: left; }
    .approach-detail__intro_desc p {
      display: inline;
      background: linear-gradient(0deg, white 0%, white 20%, #111111 20%, #111111 100%);
      color: #fff;
      font-size: 4.5rem;
      line-height: 1.6;
      font-weight: 500; }
    @media only screen and (max-width: 767px) {
      .approach-detail__intro_desc {
        margin-top: 30px; }
        .approach-detail__intro_desc p {
          font-size: 3rem;
          line-height: 1.5; } }
  .approach-detail__intro_detail {
    margin-top: 25px;
    padding: 5px 10px 0;
    -moz-text-align-last: left;
         text-align-last: left;
    border-left: 5px solid; }
    .approach-detail__intro_detail dt {
      font-size: 2.5rem;
      line-height: 1; }
    .approach-detail__intro_detail dd {
      color: #111111;
      line-height: 1.5;
      font-size: 1.6rem;
      text-align: left; }
    .approach-detail__intro_detail.subject {
      border-color: #a7b713; }
      .approach-detail__intro_detail.subject dt {
        color: #a7b713; }
    .approach-detail__intro_detail.keywords {
      border-color: #949494; }
      .approach-detail__intro_detail.keywords dt {
        color: #949494; }
  .approach-detail__intro_img {
    flex: 1; }

.approach-detail__article {
  margin: 90px 0; }
  .approach-detail__article_ttl {
    font-size: 3.5rem;
    font-weight: 500;
    text-align: left; }
  .approach-detail__article_paragraph {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: start;
    row-gap: 40px;
    -webkit-column-gap: 20px;
       -moz-column-gap: 20px;
            column-gap: 20px; }
    @media only screen and (max-width: 1025px) {
      .approach-detail__article_paragraph {
        flex-direction: column; } }
  .approach-detail__article p {
    font-size: 1.6rem;
    text-align: left;
    margin-bottom: 25px; }
    @media only screen and (max-width: 1025px) {
      .approach-detail__article p {
        order: 2; } }
  .approach-detail__article img {
    width: auto; }
    @media only screen and (max-width: 1400px) {
      .approach-detail__article img {
        width: 100%; } }
    @media only screen and (max-width: 1025px) {
      .approach-detail__article img {
        width: 100%;
        order: 1; } }

.approach-detail__topics {
  padding-bottom: 90px; }
  .approach-detail__topics_container {
    display: flex;
    justify-content: space-between;
    align-items: start;
    row-gap: 25px;
    -webkit-column-gap: 30px;
       -moz-column-gap: 30px;
            column-gap: 30px;
    flex-wrap: wrap; }
  .approach-detail__topics_item {
    box-sizing: border-box;
    width: calc(100% / 3 - 25px);
    text-align: left; }
    @media only screen and (max-width: 767px) {
      .approach-detail__topics_item {
        width: 100%; } }
    .approach-detail__topics_item--label {
      display: inline-block;
      margin-bottom: 10px;
      padding: 10px 10px 0;
      font-size: 2.2rem;
      line-height: 1;
      font-weight: 500;
      background: #111111;
      color: #a7b713; }
    .approach-detail__topics_item--middle {
      font-size: 1.6em;
      font-weight: bold; }
  .approach-detail__topics p {
    font-size: 1.6rem; }

.approach-detail__others {
  padding-bottom: 90px; }
  .approach-detail__others_container {
    display: flex;
    justify-content: space-between;
    row-gap: 30px;
    flex-wrap: wrap; }
    @media only screen and (max-width: 767px) {
      .approach-detail__others_container {
        row-gap: 60px; } }
  .approach-detail__others_item {
    display: block;
    box-sizing: border-box;
    padding-bottom: 15px;
    width: calc(100% / 3 - 30px);
    border-bottom: 2px solid #a7b713;
    text-decoration: none;
    color: inherit;
    transition: border-bottom .3s; }
    @media only screen and (max-width: 767px) {
      .approach-detail__others_item {
        width: 100%; } }
    .approach-detail__others_item:hover {
      border-bottom: 2px solid #111111; }
    .approach-detail__others_item:hover .approach-detail__others_img img {
      scale: 1.15; }
  .approach-detail__others_img {
    position: relative;
    overflow: clip; }
    .approach-detail__others_img img {
      transition: scale .3s; }
    .approach-detail__others_img figcaption {
      position: absolute;
      bottom: 0;
      left: 0;
      padding: 10px 5px 0;
      background: #a7b713;
      line-height: 1;
      font-size: 3rem;
      font-weight: 500; }
  .approach-detail__others_position {
    font-size: 1.6rem;
    margin: 15px 0;
    padding-bottom: 5px;
    border-bottom: 2px dotted #cec8c8; }
  .approach-detail__others_desc {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 2.3rem;
    line-height: 1;
    font-weight: 500; }
    @media only screen and (max-width: 767px) {
      .approach-detail__others_desc::after {
        content: "";
        display: block;
        min-width: 3rem;
        min-height: 3rem;
        border-radius: 50%;
        background: #A7B713;
        background-image: url(/gs_shs/assets/img/arrow_icon_1.svg);
        background-repeat: no-repeat;
        background-size: 2rem;
        background-position: center; } }

.careerstory-list {
  padding: 0 0 12rem; }

.careerstory-note {
  font-size: 1.6rem;
  width: 100rem;
  max-width: 100%;
  margin: 0 auto;
  text-align: left;
  margin-bottom: 30px; }
  @media only screen and (max-width: 767px) {
    .careerstory-note {
      margin-left: 2rem; } }

.careerstory-detail__head_block {
  display: flex;
  justify-content: space-between;
  position: relative; }
  @media only screen and (max-width: 767px) {
    .careerstory-detail__head_block {
      flex-direction: column;
      padding-top: 9.5rem; } }

.careerstory-detail__head_cont {
  width: 50%;
  padding: 5rem 0 3rem;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  text-align: left; }
  @media only screen and (max-width: 767px) {
    .careerstory-detail__head_cont {
      width: 100%;
      padding: 5.5rem 0 0;
      order: 2; } }

.careerstory-detail__head_ttl {
  margin: 0 0 1.5rem;
  padding: 0 0 .5rem;
  border-bottom: 0.2rem solid #a7b713;
  line-height: .93333;
  font-size: 3rem;
  font-weight: bold; }
  @media only screen and (max-width: 767px) {
    .careerstory-detail__head_ttl {
      font-size: 2.4rem; } }
  .careerstory-detail__head_ttl-sub {
    font-size: 1.6rem;
    font-weight: normal; }

.careerstory-detail__head_data {
  line-height: 1.555;
  font-size: 1.8rem; }
  @media only screen and (max-width: 767px) {
    .careerstory-detail__head_data {
      font-size: 1.4rem; } }
  .careerstory-detail__head_data + .careerstory-detail__head_data {
    margin-top: 1rem; }

.careerstory-detail__head_copy {
  display: flex;
  flex-direction: column;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }
  @media only screen and (max-width: 767px) {
    .careerstory-detail__head_copy {
      top: -4.5rem;
      -webkit-transform: translateY(0);
              transform: translateY(0); } }
  .careerstory-detail__head_copy-cont {
    display: inline-block;
    padding: .9rem 2.7rem .7rem 1.6rem;
    box-sizing: border-box;
    background: #111111;
    line-height: 1.8666;
    font-size: 3rem;
    font-weight: bold;
    color: #FFF; }
    @media only screen and (max-width: 767px) {
      .careerstory-detail__head_copy-cont {
        padding: .5rem 1.8rem .5rem 1rem;
        font-size: 1.8rem; } }
    .careerstory-detail__head_copy-cont:first-child {
      align-self: flex-start; }
    .careerstory-detail__head_copy-cont:last-child {
      align-self: flex-end;
      -webkit-transform: translateX(4.2rem);
              transform: translateX(4.2rem); }
      @media only screen and (max-width: 767px) {
        .careerstory-detail__head_copy-cont:last-child {
          -webkit-transform: translateX(0);
                  transform: translateX(0); } }

.careerstory-detail__head_ruby {
  position: absolute;
  left: 0;
  bottom: 3rem;
  line-height: 1;
  text-align: left;
  font-size: 9rem;
  color: rgba(167, 183, 19, 0.4); }
  @media only screen and (max-width: 767px) {
    .careerstory-detail__head_ruby {
      top: 0rem;
      bottom: auto;
      font-size: 7rem; } }

.careerstory-detail__head_img {
  width: 50%;
  position: relative; }
  .careerstory-detail__head_img::before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 60px 60px 0 0;
    border-color: #fff transparent transparent transparent;
    position: absolute;
    left: 0;
    top: 0; }
  .careerstory-detail__head_img::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 60px 60px;
    border-color: transparent transparent #ffffff transparent;
    position: absolute;
    right: 0;
    bottom: 0; }
  @media only screen and (max-width: 767px) {
    .careerstory-detail__head_img {
      width: 100%;
      order: 1; } }

.careerstory-detail__content {
  padding: 6rem 0 9.6rem; }
  .careerstory-detail__content_block {
    margin: 0;
    position: relative;
    text-align: left; }
    .careerstory-detail__content_block::before {
      content: "";
      width: .1rem;
      height: 100%;
      border-left: 0.2rem dashed #111111;
      box-sizing: border-box;
      position: absolute;
      top: 0;
      left: 6.1rem; }
      @media only screen and (max-width: 767px) {
        .careerstory-detail__content_block::before {
          display: none; } }
    .careerstory-detail__content_block + .careerstory-detail__content_block {
      padding-top: 6rem; }
    .careerstory-detail__content_block-ttl {
      display: inline-block;
      margin: 0 0 6rem;
      padding: 1rem 1.5rem;
      border: 0.2rem solid #111111;
      box-sizing: border-box;
      background: #FFF;
      position: relative;
      z-index: 1;
      line-height: 1.86666;
      font-size: 3rem;
      font-weight: bold; }
      @media only screen and (max-width: 767px) {
        .careerstory-detail__content_block-ttl {
          margin: 0 0 2.2rem;
          font-size: 1.6rem; } }
    .careerstory-detail__content_block-cont {
      margin: 0;
      padding: 0 0 0 10.5rem;
      box-sizing: border-box; }
      @media only screen and (max-width: 767px) {
        .careerstory-detail__content_block-cont {
          padding: 0; } }
      .careerstory-detail__content_block-cont + .careerstory-detail__content_block-cont {
        padding-top: 7.9rem; }
        @media only screen and (max-width: 767px) {
          .careerstory-detail__content_block-cont + .careerstory-detail__content_block-cont {
            padding-top: 5.23rem; } }
  .careerstory-detail__content_faq {
    margin: 0; }
    .careerstory-detail__content_faq-ttl {
      margin: 0 0 4rem;
      padding-left: 7.6rem;
      position: relative;
      line-height: 2.8;
      letter-spacing: 0.05em;
      font-size: 2rem;
      font-weight: bold;
      color: #a7b713; }
      @media only screen and (max-width: 767px) {
        .careerstory-detail__content_faq-ttl {
          margin-bottom: 3rem;
          padding-left: 3.7rem;
          line-height: 1.714;
          font-size: 1.4rem; } }
      .careerstory-detail__content_faq-ttl::before {
        content: "Q";
        position: absolute;
        top: -.3rem;
        left: 0;
        line-height: 1;
        letter-spacing: auto;
        font-size: 9rem;
        font-family: 'Timmana', sans-serif; }
        @media only screen and (max-width: 767px) {
          .careerstory-detail__content_faq-ttl::before {
            font-size: 5rem; } }
    .careerstory-detail__content_faq-cont {
      margin: 0; }
  .careerstory-detail__content_box {
    display: flex;
    justify-content: space-between;
    margin: 0; }
    @media only screen and (max-width: 767px) {
      .careerstory-detail__content_box {
        flex-direction: column; } }
    .careerstory-detail__content_box-cont {
      width: 58.5rem;
      padding: 0 0 0 7.6rem;
      box-sizing: border-box;
      position: relative;
      line-height: 1.875;
      font-size: 1.6rem; }
      @media only screen and (max-width: 767px) {
        .careerstory-detail__content_box-cont {
          width: 100%;
          padding-left: 3.7rem;
          line-height: 1.6666;
          letter-spacing: 0.05em;
          font-size: 1.2rem; } }
      .careerstory-detail__content_box-cont::before {
        content: "A";
        position: absolute;
        top: -.3rem;
        left: 0;
        line-height: 1;
        letter-spacing: auto;
        font-size: 9rem;
        font-family: 'Timmana', sans-serif;
        color: #e6e6e6; }
        @media only screen and (max-width: 767px) {
          .careerstory-detail__content_box-cont::before {
            font-size: 5rem; } }
    .careerstory-detail__content_box-img {
      width: 30rem; }
      @media only screen and (max-width: 767px) {
        .careerstory-detail__content_box-img {
          width: 100%;
          margin-top: 2rem;
          padding-left: 3.7rem;
          box-sizing: border-box; } }
    .careerstory-detail__content_box-ptn1 {
      flex-direction: row; }
      @media only screen and (max-width: 767px) {
        .careerstory-detail__content_box-ptn1 {
          flex-direction: column; } }
    .careerstory-detail__content_box-ptn1:not(:has(> .careerstory-detail__content_box-img)) .careerstory-detail__content_box-cont {
      width: 100%; }
    .careerstory-detail__content_box-ptn2 {
      flex-direction: row-reverse; }
      @media only screen and (max-width: 767px) {
        .careerstory-detail__content_box-ptn2 {
          flex-direction: column; } }

.careerstory-detail__related {
  padding: 0 0 12rem; }
  .careerstory-detail__related_content {
    padding: 0 0 4.6rem;
    background: #e6e6e6; }
    @media only screen and (max-width: 767px) {
      .careerstory-detail__related_content {
        width: calc(100% + 4rem);
        margin: 0 -2rem;
        padding: 0 2rem 4rem;
        box-sizing: border-box; } }
  .careerstory-detail__related_carousel {
    max-width: 94rem;
    width: 100%;
    margin: 0 auto; }
    @media only screen and (max-width: 767px) {
      .careerstory-detail__related_carousel {
        padding: 0 2rem;
        box-sizing: border-box; } }
    .careerstory-detail__related_carousel .slick-arrow {
      width: 6rem;
      height: 6rem;
      border-radius: 100px;
      background: #a7b713;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      z-index: 1; }
      .careerstory-detail__related_carousel .slick-arrow::before {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        font-size: 2rem;
        font-family: 'FontAwesome';
        font-weight: 900;
        color: #FFF; }
    .careerstory-detail__related_carousel .slick-prev {
      left: -3rem; }
      @media only screen and (max-width: 767px) {
        .careerstory-detail__related_carousel .slick-prev {
          left: -1rem; } }
      .careerstory-detail__related_carousel .slick-prev::before {
        content: "\f104"; }
    .careerstory-detail__related_carousel .slick-next {
      right: -3rem; }
      @media only screen and (max-width: 767px) {
        .careerstory-detail__related_carousel .slick-next {
          right: -1rem; } }
      .careerstory-detail__related_carousel .slick-next::before {
        content: "\f105"; }
  .careerstory-detail__related_item {
    display: block;
    padding: 0 1rem;
    box-sizing: border-box;
    position: relative; }
    @media only screen and (max-width: 767px) {
      .careerstory-detail__related_item {
        padding: 0; } }
  .careerstory-detail__related_img {
    display: block;
    position: relative; }
    .careerstory-detail__related_img::before {
      content: "";
      width: 100%;
      height: 100%;
      background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0), #000);
      position: absolute;
      top: 0;
      left: 0; }
  .careerstory-detail__related_cap {
    display: block;
    position: absolute;
    left: 50%;
    bottom: 1rem;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 1;
    line-height: 1.4;
    font-size: 2rem;
    font-weight: bold;
    color: #FFF; }
    .careerstory-detail__related_cap-sub {
      font-size: 1.6rem;
      font-weight: normal; }

.facilities-list__container {
  display: flex;
  align-items: start;
  padding-bottom: 90px;
  flex-wrap: wrap;
  gap: 20px 30px; }
  @media only screen and (max-width: 767px) {
    .facilities-list__container {
      margin-top: -4rem; } }

.facilities-list__box {
  width: calc(100%/2 - 20px); }
  @media only screen and (max-width: 767px) {
    .facilities-list__box {
      width: 100%; } }

.facilities-list__figure {
  position: relative;
  overflow: clip; }
  .facilities-list__figure::after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 10px;
    border-top: 5px solid #111111;
    z-index: 3; }

.facilities-list__name {
  margin-top: 20px;
  font-size: 2.4rem;
  line-height: 1.2;
  font-weight: 500;
  text-align: left; }
  .facilities-list__name span {
    font-size: 1.6rem; }

.facilities-list__modal_size {
  width: 95%;
  max-width: 1100px; }

.facilities-list__modal_img {
  flex: 1; }

.facilities-list__modal_detail {
  flex: 1; }

.facilities-list__modal_head {
  border-bottom: 3px dotted #949494;
  font-size: 3rem;
  line-height: 1.2;
  font-weight: 500;
  padding-bottom: 5px; }
  @media only screen and (max-width: 767px) {
    .facilities-list__modal_head {
      margin-top: 2rem; } }

.facilities-list__modal p {
  font-size: 1.6rem; }

.facilities-list__modal .modal_flex:not(:has(.facilities-list__modal_img)) .facilities-list__modal_detail {
  margin-bottom: -60px; }

.introduce-detail p {
  font-size: 1.6rem;
  line-height: 1.8; }

.introduce-detail__message-name {
  text-align: center;
  width: 340px;
  margin: 4rem auto 0; }
  @media only screen and (max-width: 767px) {
    .introduce-detail__message-name {
      margin: 3rem auto 0;
      width: 80%; } }
  .introduce-detail__message-name .img_img {
    width: 100%; }
  .introduce-detail__message-name p {
    margin-top: 16px; }
  .introduce-detail__message-name .img_name {
    width: 152px; }

.introduce-detail__about-table {
  text-align: left;
  font-size: 1.6rem;
  line-height: 1.6;
  width: 100%;
  border-spacing: 0px; }
  .introduce-detail__about-table tr th {
    background: #e6e6e6;
    border: 1px solid #CCCCCC;
    padding: 6px 10px; }
  .introduce-detail__about-table tr td {
    border: 1px solid #CCCCCC;
    padding: 6px 10px; }

.introduce-detail__about-img__01 {
  margin: 40px auto 0;
  width: 60%;
  display: block; }
  @media only screen and (max-width: 767px) {
    .introduce-detail__about-img__01 {
      width: 100%; } }

.introduce-detail__qa_faq {
  margin: 0 0 8rem; }
  .introduce-detail__qa_faq-ttl {
    margin: 0 0 4rem;
    padding-left: 7.6rem;
    position: relative;
    line-height: 2.8;
    letter-spacing: 0.05em;
    font-size: 2rem;
    font-weight: bold;
    color: #a7b713; }
    @media only screen and (max-width: 767px) {
      .introduce-detail__qa_faq-ttl {
        margin-bottom: 3rem;
        padding-left: 3.7rem;
        line-height: 1.714;
        font-size: 1.4rem; } }
    .introduce-detail__qa_faq-ttl::before {
      content: "Q";
      position: absolute;
      top: -.3rem;
      left: 0;
      line-height: 1;
      letter-spacing: auto;
      font-size: 9rem;
      font-family: 'Timmana', sans-serif; }
      @media only screen and (max-width: 767px) {
        .introduce-detail__qa_faq-ttl::before {
          font-size: 5rem; } }
  .introduce-detail__qa_faq-cont {
    padding: 0 0 0 7.6rem;
    box-sizing: border-box;
    position: relative;
    line-height: 1.875;
    font-size: 1.6rem; }
    @media only screen and (max-width: 767px) {
      .introduce-detail__qa_faq-cont {
        width: 100%;
        padding-left: 3.7rem;
        line-height: 1.6666;
        letter-spacing: 0.05em;
        font-size: 1.2rem; } }
    .introduce-detail__qa_faq-cont::before {
      content: "A";
      position: absolute;
      top: -.3rem;
      left: 0;
      line-height: 1;
      letter-spacing: auto;
      font-size: 9rem;
      font-family: 'Timmana', sans-serif;
      color: #e6e6e6; }
      @media only screen and (max-width: 767px) {
        .introduce-detail__qa_faq-cont::before {
          font-size: 5rem; } }

.introduce-detail__assessment p {
  margin-bottom: 2.0rem; }

.introduce-detail__facilities_row {
  row-gap: 4.0rem; }
  @media only screen and (max-width: 767px) {
    .introduce-detail__facilities_row {
      row-gap: 1.2rem; } }

.introduce-detail__facilities_box {
  background: #f0f0f0;
  padding: 20px 20px 30px;
  min-height: 166px; }
  @media only screen and (max-width: 767px) {
    .introduce-detail__facilities_box {
      padding: 10px 10px 20px;
      min-height: auto; } }

.introduce-detail__facilities-img__01 {
  margin: 40px auto 0;
  width: 80%;
  display: block; }
  @media only screen and (max-width: 767px) {
    .introduce-detail__facilities-img__01 {
      width: 100%; } }

.cuttingedge-content {
  padding: 9rem 0 37.857vw;
  box-sizing: border-box; }
  @media only screen and (max-width: 767px) {
    .cuttingedge-content {
      padding: 4rem 0 97.866vw;
      background-image: url(/gs_shs/assets/img/cuttingedge_bg_sp_img.png); } }
  .cuttingedge-content__copy {
    margin: 0 0 9.7rem;
    line-height: 1.875;
    text-align: left;
    font-size: 2rem; }
    @media only screen and (max-width: 767px) {
      .cuttingedge-content__copy {
        margin-bottom: 4rem;
        line-height: 1.714;
        letter-spacing: 0.05em;
        font-size: 1.4rem; } }
  .cuttingedge-content__year {
    display: flex;
    justify-content: flex-end; }

.year2022 {
  background: #e6e6e6 url(/gs_shs/assets/img/cuttingedge_bg_2022_img.png) 50% 100% no-repeat;
  background-size: 100%; }
  @media only screen and (max-width: 767px) {
    .year2022 {
      background-image: url(/gs_shs/assets/img/cuttingedge_bg_2022_sp_img.png);
      background-position-y: 120em; } }

.year2021 {
  background: #e6e6e6 url(/gs_shs/assets/img/cuttingedge_bg_2021_img.png) 50% 100% no-repeat;
  background-size: 100%; }
  @media only screen and (max-width: 767px) {
    .year2021 {
      background-image: url(/gs_shs/assets/img/cuttingedge_bg_2021_sp_img.png); } }

select {
  width: 150px;
  margin-bottom: 30px;
  padding: 5px; }
  @media only screen and (max-width: 767px) {
    select {
      width: 30em;
      padding: 1em 0.5em;
      margin: 0 auto 2em; } }

.spoken-pages-mv {
  background: url(/gs_shs/assets/img/spoken_bg.svg) no-repeat;
  background-size: cover; }
  @media only screen and (max-width: 767px) {
    .spoken-pages-mv {
      background: url(/gs_shs/assets/img/spoken_bg_sp.svg) no-repeat;
      padding: 2rem; } }

.spoken-main {
  margin: auto; }

.spoken-sub__group:not(:last-of-type) {
  margin-bottom: 12rem; }
  @media only screen and (max-width: 767px) {
    .spoken-sub__group:not(:last-of-type) {
      margin-bottom: 5rem; } }

.spoken-ttl {
  width: 80%;
  margin: auto;
  text-align: center; }

.spoken-sub__tit {
  margin-bottom: 4rem; }
  @media only screen and (max-width: 767px) {
    .spoken-sub__tit {
      margin-bottom: 2rem; } }

.spoken-block__img.flex_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .spoken-block__img.flex_area + span {
    margin-top: 3rem;
    text-align: left;
    font-size: 1.6rem;
    display: block; }
    @media only screen and (max-width: 767px) {
      .spoken-block__img.flex_area + span {
        font-size: 1rem; } }

.spoken-block__img .flex_area_list {
  width: 48%; }
  @media only screen and (max-width: 767px) {
    .spoken-block__img .flex_area_list {
      width: 100%; }
      .spoken-block__img .flex_area_list:not(:last-of-type) {
        margin-bottom: 2rem; } }

.spoken-jisseki__area {
  display: flex;
  flex-wrap: wrap; }
  .spoken-jisseki__area span {
    font-size: 1.6rem;
    padding-top: 1.3rem; }
    @media only screen and (max-width: 767px) {
      .spoken-jisseki__area span {
        font-size: 1rem;
        padding-top: .25rem; } }
    .spoken-jisseki__area span.ken {
      font-size: 1.6rem;
      display: block;
      width: 70%;
      text-align: right; }
      @media only screen and (max-width: 767px) {
        .spoken-jisseki__area span.ken {
          width: 87%;
          font-size: 1rem; } }

.spoken-jisseki__box_tit {
  max-width: 70%;
  margin-bottom: 1.8rem; }
  @media only screen and (max-width: 767px) {
    .spoken-jisseki__box_tit {
      max-width: 100%; } }

.spoken-jisseki__table {
  width: 70%;
  font-size: 1.9rem;
  border-collapse: collapse; }
  @media only screen and (max-width: 767px) {
    .spoken-jisseki__table {
      width: 87%;
      font-size: 1rem; } }
  .spoken-jisseki__table td {
    border: 1px solid #80a523;
    padding: 1rem; }
    .spoken-jisseki__table td.tal {
      text-align: left; }
    @media only screen and (max-width: 767px) {
      .spoken-jisseki__table td {
        padding: .25rem; } }
  .spoken-jisseki__table th {
    border: 1px solid #80a523;
    padding: 1rem; }
    .spoken-jisseki__table th.hd {
      background: rgba(174, 190, 28, 0.3); }
    @media only screen and (max-width: 767px) {
      .spoken-jisseki__table th {
        padding: .25rem; } }

.spoken-jisseki__other {
  margin-top: 40px; }

.spoken-jisseki__other_tit {
  width: 100%;
  max-width: 270px;
  margin-bottom: 3rem; }
  @media only screen and (max-width: 767px) {
    .spoken-jisseki__other_tit {
      max-width: 250px; } }

.spoken-jisseki__group_tit {
  text-align: left;
  border-left: 1px #000 solid;
  border-bottom: 1px #000 solid;
  font-size: 2.2rem;
  padding-left: 1.5rem;
  padding-bottom: 0.8rem;
  color: #80a523;
  font-weight: bold; }
  @media only screen and (max-width: 767px) {
    .spoken-jisseki__group_tit {
      font-size: 1.6rem; } }

.spoken-jisseki__group {
  margin: 0; }
  .spoken-jisseki__group:not(:last-of-type) {
    margin-bottom: 3rem; }
  .spoken-jisseki__group + span {
    text-align: left;
    font-size: 1.6rem;
    display: block; }
    @media only screen and (max-width: 767px) {
      .spoken-jisseki__group + span {
        font-size: 1rem; } }

.spoken-jisseki__group_list {
  text-align: left;
  font-size: 1.6rem; }
  .spoken-jisseki__group_list ol {
    padding-left: 2rem;
    text-indent: 0; }
    .spoken-jisseki__group_list ol li:not(:last-of-type) {
      margin-bottom: 1rem; }
  @media only screen and (max-width: 767px) {
    .spoken-jisseki__group_list {
      font-size: 1.2rem; } }

.spoken-jyusho__group.jyusho__flex {
  width: 70%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media only screen and (max-width: 767px) {
    .spoken-jyusho__group.jyusho__flex {
      margin: auto; } }
  .spoken-jyusho__group.jyusho__flex .spoken-jyusho__box {
    width: 48%; }
    @media only screen and (max-width: 767px) {
      .spoken-jyusho__group.jyusho__flex .spoken-jyusho__box {
        width: 100%; } }

.spoken-jyusho__box:not(:last-of-type) {
  margin-bottom: 3rem; }

.spoken-jyusho__box_tit {
  text-align: left;
  font-weight: 500;
  font-size: 2.7rem;
  margin-bottom: 1rem; }
  @media only screen and (max-width: 767px) {
    .spoken-jyusho__box_tit {
      font-size: 1.8rem; } }

.spoken-jyusho__table {
  width: 100%;
  font-size: 1.7rem;
  border-collapse: collapse;
  margin-bottom: 1rem; }
  @media only screen and (max-width: 767px) {
    .spoken-jyusho__table {
      font-size: 1.2rem; } }
  .spoken-jyusho__table tbody tr:nth-of-type(even) {
    background: #e1eaf7; }
  .spoken-jyusho__table tbody tr:last-of-type {
    border-bottom: 1px solid #000; }
  .spoken-jyusho__table td {
    padding: .5rem 1rem;
    border-left: 1px solid #333; }
    .spoken-jyusho__table td:first-of-type {
      border-left: none; }
    .spoken-jyusho__table td.tal {
      text-align: left;
      width: 80%; }
      @media only screen and (max-width: 767px) {
        .spoken-jyusho__table td.tal {
          width: 65%; } }
    @media only screen and (max-width: 767px) {
      .spoken-jyusho__table td {
        padding: .25rem .5rem; } }
  .spoken-jyusho__table th {
    padding: .5rem 1rem;
    border-left: 1px solid #333; }
    .spoken-jyusho__table th:first-of-type {
      border-left: none; }
    .spoken-jyusho__table th.hd {
      background: #aebe1c; }
    @media only screen and (max-width: 767px) {
      .spoken-jyusho__table th {
        padding: .25rem .5rem; } }
  .spoken-jyusho__table + span {
    text-align: left;
    font-size: 1.6rem;
    display: block; }
    @media only screen and (max-width: 767px) {
      .spoken-jyusho__table + span {
        font-size: 1rem; } }

.spoken-kenkyu__group {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.spoken-kenkyu__box {
  width: 48%; }
  .spoken-kenkyu__box:not(:last-of-type) {
    margin-bottom: 1rem; }
  @media only screen and (max-width: 767px) {
    .spoken-kenkyu__box {
      width: 100%; } }
  .spoken-kenkyu__box + span {
    text-align: left;
    font-size: 1.6rem;
    display: block; }
    @media only screen and (max-width: 767px) {
      .spoken-kenkyu__box + span {
        font-size: 1rem; } }

.spoken-kenkyu__area_subtit {
  color: #80a523;
  font-size: 2.8rem;
  margin-bottom: 1rem; }
  @media only screen and (max-width: 767px) {
    .spoken-kenkyu__area_subtit {
      font-size: 2.0rem; } }
  .spoken-kenkyu__area_subtit span {
    color: #000;
    font-size: 2.4rem; }
    @media only screen and (max-width: 767px) {
      .spoken-kenkyu__area_subtit span {
        font-size: 1.8rem; } }
  @media only screen and (max-width: 767px) {
    .spoken-kenkyu__area_subtit {
      width: 100%; } }

.spoken-kenkyu__area_list {
  padding: 1rem;
  font-size: 2.5rem; }
  .spoken-kenkyu__area_list:not(:last-of-type) {
    margin-bottom: .5rem; }
  @media only screen and (max-width: 767px) {
    .spoken-kenkyu__area_list {
      font-size: 1.8rem; } }
  .spoken-kenkyu__area_list.list1 {
    background: rgba(174, 190, 28, 0.15); }
  .spoken-kenkyu__area_list.list2 {
    background: rgba(174, 190, 28, 0.3); }
  .spoken-kenkyu__area_list.list3 {
    background: rgba(174, 190, 28, 0.45); }

.spoken-content {
  padding: 9rem 0;
  box-sizing: border-box;
  background-size: 100%; }
  @media only screen and (max-width: 767px) {
    .spoken-content {
      padding: 4rem 0; } }

.innovator .box__ptn1_img {
  margin: 0;
  aspect-ratio: 1; }

.innovator .box__ptn1_btn {
  width: 350px; }
  @media only screen and (max-width: 767px) {
    .innovator .box__ptn1_btn {
      width: 100%; } }

.innovator .box__ptn1 {
  width: 50%; }
  @media only screen and (max-width: 767px) {
    .innovator .box__ptn1 {
      width: 100%; } }

.innovator .professors-list__wrap {
  border-left: #A7B713 solid 50px;
  padding: 0; }
  @media only screen and (max-width: 767px) {
    .innovator .professors-list__wrap {
      border-left: #A7B713 solid 10px; } }

.innovator .pages-mv__copy {
  max-width: 100%;
  padding: 90px 0 120px;
  color: #fff; }
  @media only screen and (max-width: 767px) {
    .innovator .pages-mv__copy {
      padding: 40px 0 72px; } }

.innovator .large_ttl {
  font-size: 20rem;
  color: rgba(255, 255, 255, 0.3);
  text-align: top;
  margin-right: 10px;
  line-height: 1.1;
  font-family: "Timmana", sans-serif; }
  @media only screen and (max-width: 767px) {
    .innovator .large_ttl {
      font-size: 15rem;
      text-align: left;
      font-weight: normal; } }

.innovator .small_ttl {
  display: inline-block;
  padding: 5px 20px;
  background-color: #A7B713;
  font-size: 2rem;
  font-weight: bold;
  position: absolute;
  top: 0;
  left: 10%; }
  @media only screen and (max-width: 767px) {
    .innovator .small_ttl {
      font-size: 2rem;
      left: 3.57%; } }

.innovator .flex_box {
  position: relative;
  display: flex;
  justify-content: space-around;
  padding: 0 3.57%; }
  @media only screen and (max-width: 767px) {
    .innovator .flex_box {
      display: block; } }

.innovator .flex_box::before {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: #A7B713;
  position: absolute;
  top: 0;
  left: 0; }

.innovator .contents_font {
  font-size: 1.6rem;
  text-align: left;
  color: #fff;
  line-height: 2;
  width: 100%;
  max-width: 900px;
  margin-bottom: 30px; }

.innovator .flex_box_right {
  padding: 40px 0 220px; }
  @media only screen and (max-width: 767px) {
    .innovator .flex_box_right {
      padding: 0 0 120px; } }

.innovator .btn_right {
  display: flex;
  justify-content: flex-end; }

.innovator .ttl_wrap {
  position: relative;
  padding-bottom: 90px; }
  @media only screen and (max-width: 767px) {
    .innovator .ttl_wrap {
      margin-top: 100px; } }

.innovator .main_content_ttl {
  position: absolute;
  top: -3.3%;
  left: 0; }
  @media only screen and (max-width: 767px) {
    .innovator .main_content_ttl {
      top: -2%; } }

.innovator .main_flex_box {
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (max-width: 767px) {
    .innovator .main_flex_box {
      display: block; } }

.innovator .main_content_ttl {
  font-size: 11rem;
  color: #fff;
  font-family: "Timmana", sans-serif; }
  @media only screen and (max-width: 767px) {
    .innovator .main_content_ttl {
      font-size: 8rem; } }

.innovator .note_under-ttl {
  font-size: 1.6rem;
  color: #fff;
  padding: 30px 0;
  text-align: left;
  width: 100%; }

.innovator .main_caption {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: left;
  font-size: 2rem;
  color: #fff;
  padding: 0 80px 0 20px;
  background: linear-gradient(rgba(0, 0, 0, 0), black); }

.innovator .box_green {
  display: inline-block;
  padding-top: 20px;
  font-family: "Timmana", sans-serif;
  background: #A7B713;
  position: absolute;
  left: 0;
  top: 0;
  line-height: 1;
  letter-spacing: 0.05em;
  font-size: 4rem;
  width: 111px; }
  @media only screen and (max-width: 767px) {
    .innovator .box_green {
      width: 72px;
      font-size: 2.1rem;
      padding-top: 13px; } }

.innovator .caption_year {
  font-size: 1.4rem; }
  @media only screen and (max-width: 767px) {
    .innovator .caption_year {
      font-size: 0.9rem; } }

.innovator .caption_name {
  font-size: 2rem; }
  @media only screen and (max-width: 767px) {
    .innovator .caption_name {
      font-size: 1.3rem; } }

.innovator .caption_txt {
  font-weight: bold;
  line-height: 1.8; }
  @media only screen and (max-width: 767px) {
    .innovator .caption_txt {
      font-size: 1.6rem; } }

.innovator .careerstory-detail__content_faq-ttl {
  color: #000; }

.innovator .careerstory-detail__content_faq-ttl::before {
  color: #fff; }

.innovator .careerstory-detail__content_box-cont::before {
  color: #C2CE52; }

.innovator .professors-list__wrap::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.4), black), url(/gs_shs/assets/img/innovator_bg_img.png) 50% 0 no-repeat;
  background-size: cover;
  height: 86.1428vw; }
  @media only screen and (max-width: 767px) {
    .innovator .professors-list__wrap::before {
      height: 363vw;
      background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.4), black), url(/gs_shs/assets/img/innovator_bg_sp_img.jpg); } }

.innovator .professors-list__wrap {
  background: #000; }

.innovator .careerstory-detail__content_faq-cont {
  margin-bottom: 50px; }
  .innovator .careerstory-detail__content_faq-cont .careerstory-detail__content_box-img {
    margin-left: 15px; }
    @media only screen and (max-width: 767px) {
      .innovator .careerstory-detail__content_faq-cont .careerstory-detail__content_box-img {
        margin-left: 0; } }

.modal {
  display: none;
  height: calc(100vh - 10rem);
  position: fixed;
  top: 10rem;
  width: 100%;
  overflow-y: scroll;
  background: rgba(0, 0, 0, 0.8);
  z-index: 3; }
  @media only screen and (max-width: 767px) {
    .modal {
      top: 5rem;
      height: calc(100vh - 5rem); } }
  .modal__bg {
    position: absolute;
    height: 200vh;
    width: 100%; }
  .modal__content {
    position: absolute;
    background: #fff;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    margin: 10vh 0;
    text-align: left; }
    @media only screen and (max-width: 767px) {
      .modal__content {
        width: 95%;
        margin: 5vh 0; } }
  .modal_flex {
    display: flex;
    gap: 0 5%;
    padding: 60px; }
    @media only screen and (max-width: 767px) {
      .modal_flex {
        display: block;
        padding: 60px 20px; } }
  .modal_ttl_box {
    display: flex;
    font-size: 1.6rem;
    margin-bottom: 30px; }
    @media only screen and (max-width: 767px) {
      .modal_ttl_box {
        padding-top: 45px; } }
  .modal_ttl_left {
    font-family: "Timmana", sans-serif;
    font-size: 2.7rem;
    line-height: 0.5;
    background: #A7B713;
    padding: 15px 10px 5px;
    border: solid 1px #A7B713; }
    @media only screen and (max-width: 767px) {
      .modal_ttl_left {
        padding: 20px 10px 5px; } }
  .modal_ttl_right {
    background: #fff;
    padding: 5px 10px;
    border: solid 1px #A7B713;
    font-weight: bold; }
  .modal_year {
    margin-bottom: 10px; }
  .modal_caption {
    font-size: 1.6rem; }
    @media only screen and (max-width: 767px) {
      .modal_caption {
        padding-bottom: 20px; } }
  .modal_name {
    font-size: 2.4rem;
    font-weight: bold; }
    @media only screen and (max-width: 767px) {
      .modal_name {
        font-size: 2rem; } }
  .modal_name_en {
    font-size: 2rem;
    font-family: "Timmana", sans-serif;
    color: #A7B713; }
  .modal_content_right {
    width: 35%; }
    @media only screen and (max-width: 767px) {
      .modal_content_right {
        width: 100%; } }
  .modal_content_left {
    width: 60%; }
    @media only screen and (max-width: 767px) {
      .modal_content_left {
        width: 100%; } }
  .modal_content_text {
    border-top: #000 1px solid;
    padding-top: 20px;
    font-size: 2.8rem;
    font-weight: bold; }
    @media only screen and (max-width: 767px) {
      .modal_content_text {
        font-size: 2.2rem; } }
  .modal_bg_green {
    background-color: #A7B713;
    padding: 100px 60px 60px;
    margin: -100px 0 0; }
    @media only screen and (max-width: 767px) {
      .modal_bg_green {
        margin: 0;
        padding: 40px 20px 60px; } }
  .modal_close {
    display: inline-block;
    text-align: center;
    height: 50px;
    line-height: 60px;
    background: #fff;
    text-decoration: none;
    color: #A7B713;
    align-items: center;
    font-size: 2.4rem;
    font-family: "Timmana", sans-serif;
    position: relative;
    font-weight: bold;
    padding: 0 47px 0 77px;
    margin: auto; }
  .modal_close::before, .modal_close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 30%;
    width: 3px;
    height: 20px;
    background: #A7B713; }
  .modal_close::before {
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg); }
  .modal_close::after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg); }
  .modal_close_center {
    display: flex;
    justify-content: center;
    margin-top: 60px; }

.dli-close {
  display: block;
  position: relative;
  width: 60px;
  height: 60px; }
  @media only screen and (max-width: 767px) {
    .dli-close {
      width: 45px;
      height: 45px; } }
  .dli-close::before, .dli-close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1px;
    height: 35px;
    background: #333; }
  .dli-close::before {
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg); }
  .dli-close::after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg); }

.close_box_green {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #A7B713;
  width: 60px;
  height: 60px; }
  @media only screen and (max-width: 767px) {
    .close_box_green {
      width: 45px;
      height: 45px; } }

.box_white {
  position: absolute;
  bottom: 0;
  right: 0;
  background-color: #fff;
  width: 60px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media only screen and (max-width: 767px) {
    .box_white {
      width: 39px;
      height: 39px; } }

.dli-plus {
  display: inline-block;
  color: #333;
  line-height: 1;
  width: 20px;
  height: 0.1em;
  background: currentColor;
  position: relative; }
  @media only screen and (max-width: 767px) {
    .dli-plus {
      width: 14px;
      top: 0; } }

.dli-plus::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg); }
