html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

main {
  display: block;
}

h1, h2, h3, h4, h5, h6, p, ul, ol {
  margin: 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
  resize: vertical;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

@media screen and (min-width: 768px) {
  .sp {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

body {
  width: 100%;
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  color: #333;
  min-width: 1220px;
  overflow-x: auto;
}
@media screen and (max-width: 767px) {
  body {
    min-width: 100%;
    overflow-x: hidden;
  }
}
body.hamburger-open {
  overflow-y: hidden;
}
body main:not(.index, .support, .recruit) {
  border-bottom: 1px solid #d9d9d9;
  padding-bottom: 128px;
}

* {
  box-sizing: border-box;
}

ul, ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

table {
  border-spacing: 0;
}
table tr:nth-child(even) {
  background: #F1F3F4;
}
table th {
  text-align: left;
  vertical-align: top;
  font-weight: 700;
  padding: 24px;
}
table td {
  font-size: 14px;
  font-weight: 400;
  padding: 24px;
}

.table-heading {
  background: #FDFBEF;
  color: #E1A325;
  font-size: 18px;
  font-weight: 700;
  padding: 16px 24px;
  border-top: 1px solid #E1A325;
  border-bottom: 1px solid #E1A325;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .table-heading {
    padding: 16px;
  }
}

img {
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
  word-break: break-word;
  transition: 0.3s;
}
a:hover {
  opacity: 0.7;
  transition: 0.3s;
}
a.link {
  text-decoration: underline;
}
a.text-link {
  position: relative;
  font-size: 16px;
  font-weight: 400;
  color: #333;
  padding-right: 20px;
}
a.text-link::after {
  content: "";
  width: 13px;
  height: 13px;
  background: url(../img/common/arrow_right.svg) no-repeat;
  background-size: contain;
  position: absolute;
  right: 0;
  top: 4px;
}
a.link-window {
  position: relative;
  display: inline-block;
  padding-left: 22px;
}
a.link-window::after {
  content: "";
  width: 20px;
  height: 20px;
  background: url(../img/common/icon_window.svg) no-repeat;
  background-size: contain;
  border: none;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
a.link-map {
  position: relative;
  display: inline-block;
  padding-left: 30px;
}
a.link-map::after {
  content: "";
  width: 24px;
  height: 24px;
  background: url(../img/common/icon_map.svg) no-repeat;
  background-size: contain;
  border: none;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
a.link-pdf {
  position: relative;
  display: inline-block;
  text-decoration: underline;
  padding-left: 22px;
}
a.link-pdf::after {
  content: "";
  width: 20px;
  height: 20px;
  background: url(../img/common/icon_pdf.svg) no-repeat;
  background-size: contain;
  border: none;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
a.link-arrow-round {
  position: relative;
  display: inline-block;
  font-size: 18px;
  font-weight: 700;
  padding-right: 64px;
}
a.link-arrow-round::after {
  content: "";
  width: 48px;
  height: 32px;
  background: url(../img/common/arrow_right_round.svg) no-repeat;
  background-size: contain;
  position: absolute;
  right: 0;
  top: 0;
}

input,
select,
textarea {
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.34);
  background: #FAFAFA;
  border-radius: 4px;
  padding: 10px;
}

.common-container {
  width: 1220px;
  padding-left: 30px;
  padding-right: 30px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .common-container {
    width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }
}
.common-container--m {
  width: 812px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .common-container--m {
    width: 100%;
  }
}
.common-container--s {
  width: 618px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .common-container--s {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .sp-scroll {
    overflow-x: scroll;
  }
}
.sp-scroll > * {
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .sp-scroll > table {
    width: 752px;
  }
}

.text-left {
  text-align: left !important;
}

.text-center {
  text-align: center !important;
}

.text-right {
  text-align: right !important;
}

.justify-left {
  justify-content: flex-start !important;
}

.justify-center {
  justify-content: center !important;
}

.justify-right {
  justify-content: flex-end !important;
}

.note {
  font-size: 90%;
  color: rgba(0, 0, 0, 0.54);
}

.mt10 {
  margin-top: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mt30 {
  margin-top: 30px;
}

.mt40 {
  margin-top: 40px;
}

.mt50 {
  margin-top: 50px;
}

.mt60 {
  margin-top: 60px;
}

.mt70 {
  margin-top: 70px;
}

.mt80 {
  margin-top: 80px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb80 {
  margin-bottom: 80px;
}

.bg {
  background: #FDFBEF;
}

.accordion-trigger {
  position: relative;
  cursor: pointer;
}
.accordion-trigger::before {
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid #E1A325;
  border-bottom: 2px solid #E1A325;
  position: absolute;
  right: 16px;
  top: 24px;
  transform: rotate(45deg);
}
.accordion-trigger.is-active::before {
  content: "";
  top: 28px;
  transform: rotate(-135deg);
}

.accordion-content {
  display: none;
}

.btn-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-top: 48px;
}
.btn-wrap--center {
  justify-content: center;
}

.btn {
  display: inline-block;
  min-width: 130px;
  text-align: center;
  padding: 8px 16px;
  border-radius: 32px;
}
.btn--wide {
  width: 100%;
  min-width: auto;
}
.btn--l {
  min-width: 240px;
}
.btn--simple {
  font-size: 13px;
  font-weight: 700;
  color: #333;
  background: #FFF;
  border: 1px solid #979797;
}
.btn--default {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background: #E1A325;
}
.btn--job {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background: #2699FB;
}
.btn--contact {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background: rgba(0, 0, 0, 0.57);
}
.btn--search {
  position: relative;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  background: #fff;
  border: 1px solid #979797;
  padding: 14px 48px 14px 68px;
}
.btn--search::before {
  content: "";
  width: 60px;
  height: 32px;
  background: url(../img/common/icon_search.svg) right center no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 4px;
}
.btn--down {
  position: relative;
  padding-right: 40px;
}
.btn--down::before {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid #E1A325;
  border-bottom: 2px solid #E1A325;
  position: absolute;
  right: 20px;
  top: 11px;
  transform: rotate(45deg);
}
.btn--up {
  position: relative;
  padding-right: 32px;
}
.btn--up::before {
  content: "";
  width: 8px;
  height: 8px;
  border-left: 2px solid #E1A325;
  border-top: 2px solid #E1A325;
  position: absolute;
  right: 20px;
  top: 16px;
  transform: rotate(45deg);
}

ul.list {
  list-style: disc;
  padding-left: 1.5em;
  margin: 24px 0;
}
@media screen and (max-width: 767px) {
  ul.list {
    margin: 16px 0;
  }
}
ul.list li {
  margin-bottom: 4px;
}

ol.list {
  list-style: decimal;
  padding-left: 1.2em;
  margin: 24px 0;
}
@media screen and (max-width: 767px) {
  ol.list {
    margin: 16px 0;
  }
}
ol.list li {
  margin-bottom: 4px;
}

.movie, .map {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.movie iframe, .map iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  border-radius: 8px;
}

.highlight {
  background: #FFFF00;
}

.fixed-btn {
  position: fixed;
  bottom: 40px;
  right: 40px;
  display: flex;
  align-items: center;
  gap: 24px;
  z-index: 5;
}
@media screen and (max-width: 767px) {
  .fixed-btn {
    width: 100%;
    bottom: 0;
    right: 0;
    gap: 8px;
    padding: 0 4px 8px;
  }
}
.fixed-btn .btn {
  width: 256px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid #fff;
}
@media screen and (max-width: 767px) {
  .fixed-btn .btn {
    flex: 1;
    padding: 8px;
    gap: 1.0178117048vw;
  }
}
.fixed-btn .btn img {
  width: 32px;
}
@media screen and (max-width: 767px) {
  .fixed-btn .btn img {
    width: 6.106870229vw;
  }
}
@media screen and (max-width: 767px) {
  .fixed-btn .btn span {
    font-size: min(3.4vw, 16px);
  }
}

.heading {
  text-align: center;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .heading {
    margin-bottom: 64px;
  }
}
.heading--en {
  display: block;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #E1A325;
  margin-bottom: 18px;
}
@media screen and (max-width: 767px) {
  .heading--en {
    margin-bottom: 10px;
  }
}
.heading--jp {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #333;
}
.heading--left {
  text-align: left;
}

.sub-heading {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  color: #E1A325;
  border-bottom: 1px solid rgba(0, 0, 0, 0.87);
  padding-bottom: 16px;
  margin: 80px 0 24px;
}
@media screen and (max-width: 767px) {
  .sub-heading {
    margin-top: 64px;
  }
}
.sub-heading--has-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.bg-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 400px;
  border-radius: 24px;
  margin-bottom: 80px;
}
.bg-heading .heading {
  margin-bottom: 0;
}
.bg-heading .heading span {
  color: #fff;
}

.breadcrumb {
  font-size: 14px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.54);
  padding-left: 40px;
  padding-right: 40px;
  padding-top: 16px;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .breadcrumb {
    padding-left: 16px;
    padding-right: 16px;
    margin-bottom: 56px;
  }
}
.breadcrumb__inner > span {
  display: flex;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .breadcrumb__inner > span {
    padding-bottom: 4px;
    overflow-x: auto;
  }
}
.breadcrumb__inner > span > * {
  white-space: nowrap;
}
.breadcrumb a {
  position: relative;
  display: inline-block;
  white-space: nowrap;
  padding-right: 16px;
}
.breadcrumb a::after {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #E1A325;
  border-right: 2px solid #E1A325;
  position: absolute;
  right: 0;
  top: 7px;
  transform: rotate(45deg);
}

.pagination {
  margin-top: 40px;
}
.pagination .wp-pagenavi {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .pagination .wp-pagenavi {
    flex-wrap: wrap;
    gap: 12px;
  }
}
.pagination .wp-pagenavi .page {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid #d9d9d9;
}
.pagination .wp-pagenavi .current {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #E1A325;
  color: #fff;
}
.pagination .wp-pagenavi .previouspostslink {
  position: relative;
  width: 32px;
  height: 32px;
  font-size: 0;
}
.pagination .wp-pagenavi .previouspostslink::before {
  content: "";
  width: 8px;
  height: 8px;
  border-bottom: 2px solid #E1A325;
  border-left: 2px solid #E1A325;
  position: absolute;
  left: 12px;
  top: 10px;
  transform: rotate(45deg);
}
.pagination .wp-pagenavi .nextpostslink {
  position: relative;
  width: 32px;
  height: 32px;
  font-size: 0;
}
.pagination .wp-pagenavi .nextpostslink::before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #E1A325;
  border-right: 2px solid #E1A325;
  position: absolute;
  right: 12px;
  top: 10px;
  transform: rotate(45deg);
}

.line {
  width: 100%;
  height: 1px;
  background: rgba(0, 0, 0, 0.34);
  margin: 40px 0;
}

.grid {
  display: grid;
}
.grid--col2 {
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .grid--col2 {
    grid-template-columns: 1fr;
  }
}
.grid p {
  font-size: 14px;
  margin-top: 1em;
}

.box {
  font-size: 14px;
  background: #FDFBEF;
  border-radius: 8px;
  padding: 32px;
  margin: 40px 0;
}
@media screen and (max-width: 767px) {
  .box {
    padding: 24px;
  }
}
.box__title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 1em;
}
.box .line {
  margin: 24px 0;
}
.box .list:first-child {
  margin: 0;
}

figure {
  text-align: center;
  margin: 40px 0;
}
figure figcaption {
  font-size: 12px;
  color: #666;
  text-align: left;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0 24px;
  background: #fff;
  padding: 13px 40px;
  z-index: 9;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .header {
    justify-content: space-between;
    padding: 12px 16px;
  }
}
.header.hide {
  top: -100%;
  transition: 1s;
}
.header__menu {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0 24px;
}
@media screen and (max-width: 767px) {
  .header__menu {
    display: none;
  }
}

.search__inner {
  position: relative;
}
.search__input {
  width: 100%;
  background: #FBF7E0;
  padding: 14px 16px 15px 56px;
  border: none;
  border-radius: 24px;
}
.search__submit {
  width: 32px;
  height: 32px;
  position: absolute;
  left: 16px;
  top: 50%;
  background: url(../img/common/icon_search.svg) center center no-repeat;
  border: none;
  transform: translateY(-50%);
  cursor: pointer;
}

.header-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 0 24px;
  font-size: 15px;
  font-weight: 700;
}
.header-nav__item {
  position: relative;
  padding: 8px 0;
}
.header-nav__item.open .header-nav__link.has-child::after {
  content: "";
  position: absolute;
  right: 0;
  top: 8px;
  transform: rotate(-135deg);
}
.header-nav__child {
  display: none;
  position: absolute;
  top: 100%;
  left: -8px;
  background: #fff;
  border-radius: 8px;
  padding: 24px;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.08);
  z-index: 2;
}
.header-nav__child a {
  display: block;
}
.header-nav__link.has-child {
  position: relative;
  padding-right: 16px;
}
.header-nav__link.has-child::after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid #E1A325;
  border-bottom: 2px solid #E1A325;
  position: absolute;
  right: 0;
  top: 4px;
  transform: rotate(45deg);
}
.header-nav__link.btn {
  min-width: 130px;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  background: #E1A325;
  border-radius: 24px;
}
.header-nav__child li:not(:last-child) {
  margin-bottom: 16px;
}
.header-nav__child a {
  white-space: nowrap;
}

.header-search {
  position: relative;
}
.header-search__btn {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header-search__inner {
  display: none;
  position: absolute;
  top: 100%;
  right: -24px;
}

.hamburger {
  position: relative;
  width: 32px;
  height: 32px;
  cursor: pointer;
}
.hamburger > span {
  width: 24px;
  height: 1px;
  background: #333;
  position: absolute;
}
.hamburger > span:first-child {
  top: 7px;
  left: 50%;
  transform: translateX(-50%);
}
.hamburger > span:nth-child(2) {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.hamburger > span:last-child {
  bottom: 7px;
  left: 50%;
  transform: translateX(-50%);
}
.hamburger__inner {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  background: #fff;
  padding: 80px 0;
  z-index: 10;
  overflow-y: auto;
}
@media screen and (max-width: 767px) {
  .hamburger__inner {
    padding: 64px 0 40px;
  }
}
.hamburger__inner .hamburger-nav {
  display: flex;
  gap: 40px 24px;
}
@media screen and (max-width: 767px) {
  .hamburger__inner .hamburger-nav {
    flex-direction: column;
    gap: 0;
  }
}
.hamburger__inner .hamburger-nav__wrap {
  width: calc((100% - 72px) / 4);
}
@media screen and (max-width: 767px) {
  .hamburger__inner .hamburger-nav__wrap {
    width: 100%;
  }
}
.hamburger__inner .hamburger-nav__wrap:first-child {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .hamburger__inner .hamburger-nav__wrap:first-child {
    margin-top: 8px;
  }
}
.hamburger__inner .hamburger-nav__wrap:first-child .hamburger-nav__item {
  margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .hamburger__inner .hamburger-nav__wrap:first-child .hamburger-nav__item {
    margin-bottom: 0;
  }
}
.hamburger__inner .hamburger-nav__item {
  font-size: 16px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .hamburger__inner .hamburger-nav__item {
    font-size: 18px;
    font-weight: 400;
    border-bottom: 1px solid #d9d9d9;
  }
}
.hamburger__inner .hamburger-nav__link {
  display: block;
}
@media screen and (max-width: 767px) {
  .hamburger__inner .hamburger-nav__link {
    padding: 12px 0;
  }
}
.hamburger__inner .hamburger-nav__link.has-child {
  padding-bottom: 8px;
}
@media screen and (min-width: 768px) {
  .hamburger__inner .hamburger-nav__link.has-child {
    border-bottom: 1px solid #d9d9d9;
    margin-bottom: 12px;
    margin-top: 40px;
    pointer-events: none;
  }
}
@media screen and (max-width: 767px) {
  .hamburger__inner .hamburger-nav__link.has-child {
    position: relative;
    padding-bottom: 12px;
  }
  .hamburger__inner .hamburger-nav__link.has-child::after {
    content: "";
    width: 9px;
    height: 9px;
    border-right: 2px solid #e1a325;
    border-bottom: 2px solid #e1a325;
    position: absolute;
    top: 18px;
    right: 8px;
    transform: rotate(45deg);
  }
  .hamburger__inner .hamburger-nav__link.has-child.is-active::after {
    top: 24px;
    transform: rotate(-135deg);
  }
}
.hamburger__inner .hamburger-nav__child {
  font-size: 14px;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .hamburger__inner .hamburger-nav__child {
    display: none;
    font-size: 16px;
    border-top: 1px solid #d9d9d9;
    padding: 16px 0 8px;
  }
}
.hamburger__inner .hamburger-nav__child li {
  margin-bottom: 8px;
}
.hamburger__inner .hamburger-nav__child a {
  display: block;
}
.hamburger__btns {
  display: flex;
  align-items: center;
  justify-content: center;
  border-top: 1px solid #d9d9d9;
  padding-top: 40px;
  margin-top: 40px;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .hamburger__btns {
    border-top: none;
    gap: 10px;
    padding-top: 0;
    margin-top: 16px;
  }
}
.hamburger__btns .btn {
  width: 267px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .hamburger__btns .btn {
    flex-direction: column;
    gap: 4px;
    min-width: auto;
    flex: 1;
    border-radius: 8px;
    font-size: 11px;
    line-height: 1.2;
    padding: 4px;
  }
}
@media screen and (max-width: 767px) {
  .hamburger__btns .btn span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 27px;
  }
}
.hamburger__btns img {
  width: 32px;
}
.hamburger__close {
  display: inline-block;
  position: absolute;
  top: 40px;
  right: 40px;
  width: 24px;
  height: 24px;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .hamburger__close {
    top: 20px;
    right: 20px;
  }
}
.hamburger__close::before {
  content: "";
  width: 24px;
  height: 1px;
  background: #333;
  position: absolute;
  left: 0;
  top: 12px;
  transform: rotate(45deg);
}
.hamburger__close::after {
  content: "";
  width: 24px;
  height: 1px;
  background: #333;
  position: absolute;
  left: 0;
  top: 12px;
  transform: rotate(-45deg);
}

.hamburger-search__input {
  background: #f5f5f5;
}

.footer {
  background: #fff;
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .footer {
    padding-bottom: 40px;
  }
}
.footer__sns {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 0 40px;
  padding: 80px 40px;
  border-bottom: 1px solid #d9d9d9;
}
.footer__menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px 24px;
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  .footer__menu {
    flex-direction: column;
    align-items: center;
  }
}
.footer__menu a {
  display: inline-block;
  font-size: 14px;
  color: #666;
}
.footer__logos {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  margin: 40px 0;
}
@media screen and (max-width: 767px) {
  .footer__logos {
    margin-top: 96px;
  }
}
.footer__copy {
  font-size: 12px;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.05em;
}

.hero {
  position: relative;
  height: calc(100vh - 80px);
  min-height: 700px;
}
@media screen and (max-width: 767px) {
  .hero {
    height: calc(100vh - 56px);
    min-height: 140vw;
  }
}
.hero__img {
  width: 100%;
  height: 100%;
}
.hero__img .slick-list,
.hero__img .slick-track {
  width: 100%;
  height: 100%;
}
.hero__img .slick-slide picture {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .hero__img .slick-slide picture:first-child {
    display: none;
  }
}
.hero__img .slick-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .hero__img .slick-slide img.pc {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .hero__img .slick-slide img.sp {
    display: none;
  }
}
.hero__img-item {
  width: 100%;
  height: 100%;
}
.hero__text {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.hero__text-en {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.3;
  color: #fff;
  position: absolute;
  left: 90px;
  bottom: 90px;
}
@media screen and (max-width: 767px) {
  .hero__text-en {
    font-size: 20px;
    left: 40px;
    bottom: 60px;
  }
}
.hero__text-jp {
  position: absolute;
  right: 150px;
  bottom: 160px;
}
@media screen and (max-width: 767px) {
  .hero__text-jp {
    width: 85%;
    left: 50%;
    bottom: 140px;
    right: auto;
    transform: translateX(-50%);
  }
}

.index-philosophy {
  background: url(../img/top/philosophy_bg.jpg) #FBF7E0 bottom center no-repeat;
  background-size: 2560px;
  padding: 128px 0 400px;
}
@media screen and (max-width: 767px) {
  .index-philosophy {
    background-size: 1500px;
    padding: 96px 0 220px;
  }
}
.index-philosophy__lead {
  font-size: 40px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-align: center;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .index-philosophy__lead {
    font-size: min(28px, 7.1246819338vw);
    margin-bottom: 64px;
  }
}
.index-philosophy__text {
  line-height: 2.2;
}

.index-recruit {
  padding: 128px 0;
}
@media screen and (max-width: 767px) {
  .index-recruit {
    padding: 96px 0;
  }
}
@media screen and (min-width: 768px) {
  .index-recruit__content {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
.index-recruit__item {
  padding-top: 8px;
  padding-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .index-recruit__item:not(:last-child) {
    margin-bottom: 80px;
  }
}
.index-recruit__item:first-child {
  border-right: 1px solid #ddd;
  padding-right: 70px;
}
@media screen and (max-width: 767px) {
  .index-recruit__item:first-child {
    padding-right: 0;
    border-right: none;
  }
}
.index-recruit__item:last-child {
  padding-left: 70px;
}
@media screen and (max-width: 767px) {
  .index-recruit__item:last-child {
    padding-left: 0;
  }
}
.index-recruit__title {
  font-size: 20px;
  font-weight: 700;
  color: #E1A325;
  margin-bottom: 20px;
}
.index-recruit__img {
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .index-recruit__img {
    width: 100vw;
    margin-left: -16px;
    margin-right: -16px;
    margin-bottom: 16px;
  }
}
.index-recruit__img img {
  border-radius: 16px;
}
@media screen and (max-width: 767px) {
  .index-recruit__img img {
    border-radius: 8px;
  }
}
.index-recruit__lead {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .index-recruit__lead {
    margin-bottom: 12px;
  }
}
.index-recruit__text {
  font-size: 14px;
  color: #666;
}
.index-recruit .btn-wrap {
  margin-top: 24px;
}

.index-news {
  background: #FDFBEF;
  padding: 128px 0;
}
@media screen and (max-width: 767px) {
  .index-news {
    padding: 96px 0;
  }
}

.list-news__item {
  border-bottom: 1px solid #ddd;
}
.list-news__item:first-child .list-news__link {
  padding-top: 0;
}
.list-news__link {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  padding: 24px 0;
}
.list-news__img {
  position: relative;
  width: 73px;
  height: 73px;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.08);
  overflow: hidden;
}
.list-news__img img {
  width: auto;
  max-width: none;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.list-news__text {
  flex: 1;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .list-news__text {
    line-height: 1.4;
    -webkit-line-clamp: 3;
  }
}
.list-news__info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.list-news__date {
  font-size: 14px;
  color: #666;
}
.list-news__category {
  display: flex;
  gap: 4px;
}
.list-news__category span {
  min-width: 56px;
  font-size: 12px;
  text-align: center;
  color: #666;
  background: #fff;
  padding: 1px 8px;
  border: 1px solid #666;
  border-radius: 24px;
}

.index-service {
  padding: 128px 0;
}
@media screen and (max-width: 767px) {
  .index-service {
    padding: 96px 0;
  }
}

.list-service {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px 24px;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .list-service {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    width: 100vw;
    margin-left: -16px;
    margin-right: -16px;
    margin-top: 64px;
  }
}
.list-service__item {
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.08);
}
.list-service__img {
  border-top-right-radius: 12px;
  border-top-left-radius: 12px;
}
.list-service__img img {
  border-top-right-radius: 12px;
  border-top-left-radius: 12px;
}
.list-service__title {
  font-size: 16px;
  font-weight: 700;
  padding: 0 16px;
  margin: 8px 0 6px;
}
.list-service__text {
  font-size: 13px;
  color: #666;
  padding: 0 16px 16px;
}

.index-facility {
  background: url(../img/top/facility_bg.jpg) center center no-repeat;
  background-size: cover;
  padding: 128px 0;
}
@media screen and (max-width: 767px) {
  .index-facility {
    padding: 96px 0;
  }
}
.index-facility * {
  color: #fff;
}
.index-facility .sub-heading {
  border-color: #fff;
  margin-bottom: 0;
}
.index-facility .btn {
  width: 200px;
  background: none;
  border-color: #fff;
}

.list-vacant__item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
.list-vacant__link {
  display: flex;
  align-items: flex-start;
  gap: 0 16px;
  padding: 16px 0;
}
.list-vacant__icon {
  min-width: 70px;
  text-align: center;
  font-size: 12px;
  color: #666;
  background: #fff;
  line-height: 2;
  padding: 1px 8px;
  border-radius: 24px;
}
.list-vacant__name {
  flex: 1;
}

.index-insta {
  display: none;
  padding: 128px 0;
}
@media screen and (max-width: 767px) {
  .index-insta {
    padding: 96px 0;
  }
}
.index-insta .heading {
  font-size: 20px;
  color: #E1A325;
}
.index-insta .heading span {
  background: url(../img/common/icon_insta_orange.svg) left center no-repeat;
  background-size: 40px;
  padding: 0 24px 0 48px;
}
.index-insta .heading--sns {
  font-size: 16px;
  font-weight: 400;
  text-align: center;
  margin: 80px 0 24px;
}
@media screen and (max-width: 767px) {
  .index-insta .heading--sns {
    font-size: min(16px, 3.7vw);
  }
}
.index-insta .heading--sns span {
  position: relative;
  padding: 0 24px;
}
.index-insta .heading--sns span::before {
  content: "";
  width: 15px;
  height: 20px;
  background: url(../img/common/black_deco_left.svg) no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.index-insta .heading--sns span::after {
  content: "";
  width: 15px;
  height: 20px;
  background: url(../img/common/black_deco_right.svg) no-repeat;
  background-size: contain;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.index-insta__sns {
  display: flex;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .index-insta__sns {
    flex-direction: column;
  }
}
.index-insta__sns a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 16px;
  flex: 1;
  background: #FFF;
  border-radius: 16px;
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.08);
  padding: 28px 0;
}

.index-contact {
  background: #FDFBEF;
  padding: 128px 0;
}
@media screen and (max-width: 767px) {
  .index-contact {
    padding: 96px 0;
  }
}
@media screen and (min-width: 768px) {
  .index-contact__heading {
    display: flex;
  }
}
@media screen and (min-width: 768px) {
  .index-contact__heading .heading {
    width: 388px;
    text-align: left;
  }
}
.index-contact__heading .index-lead {
  flex: 1;
}
.index-contact__content {
  border-top: 1px solid #666;
  border-bottom: 1px solid #666;
  padding: 80px 0;
}
@media screen and (max-width: 767px) {
  .index-contact__content {
    padding: 0;
    margin-top: 64px;
  }
}
.index-contact__inner {
  display: flex;
}
@media screen and (max-width: 767px) {
  .index-contact__inner {
    flex-direction: column;
  }
}
.index-contact__item {
  flex: 1;
  text-align: center;
  border-right: 1px solid #ddd;
  padding-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .index-contact__item {
    border-right: none;
    border-bottom: 1px solid #ddd;
    padding: 40px 0;
  }
}
.index-contact__item:last-child {
  border-right: none;
}
@media screen and (max-width: 767px) {
  .index-contact__item:last-child {
    border-bottom: none;
  }
}
.index-contact__title {
  font-size: 16px;
  font-weight: 700;
  margin: 24px 0;
}
.index-contact .btn {
  width: 173px;
}

.category-filter {
  display: flex;
  justify-content: center;
  gap: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #333;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .category-filter {
    gap: 5.0890585242vw;
    font-size: min(16px, 3.5623409669vw);
  }
}
.category-filter a {
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .category-filter a {
    white-space: nowrap;
  }
}
.category-filter a.active {
  color: #E1A325;
  pointer-events: none;
}
.category-filter--sp-scroll {
  display: block;
}
@media screen and (max-width: 767px) {
  .category-filter--sp-scroll {
    overflow-x: auto;
  }
}
.category-filter--sp-scroll .category-filter__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px 40px;
}
@media screen and (max-width: 767px) {
  .category-filter--sp-scroll .category-filter__inner {
    gap: 24px;
    flex-wrap: nowrap;
    width: fit-content;
  }
}
@media screen and (max-width: 767px) {
  .category-filter--sp-scroll a {
    font-size: 14px;
  }
}

.article-detail p {
  line-height: 2;
  margin: 1em 0;
}
.article-detail p + p {
  word-wrap: break-word;
  margin-top: 1.5em;
}
.article-detail img {
  border-radius: 8px;
  height: auto;
}
.article-detail .box p {
  margin: 0;
}
.article-detail .box p + p {
  margin-top: 1.5em;
}
.article-detail a:not(.btn) {
  text-decoration: underline;
}
.article-detail table {
  min-width: 400px;
  margin-bottom: 40px;
}
.article-detail .btn-wrap {
  margin: 40px 0;
}
.article-detail__img {
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .article-detail__img {
    margin-bottom: 24px;
  }
}
.article-detail__info {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .article-detail__info {
    flex-wrap: wrap;
  }
}
.article-detail__category-wrap {
  flex: 1;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.article-detail__category {
  color: #666;
  border: 1px solid #666;
  border-radius: 24px;
  padding: 2px 16px;
}
@media screen and (max-width: 767px) {
  .article-detail__category {
    font-size: 14px;
  }
}
.article-detail__date {
  font-size: 20px;
  font-weight: 500;
  padding-left: 8px;
  margin: 0 !important;
}
@media screen and (max-width: 767px) {
  .article-detail__date {
    font-size: 16px;
  }
}
.article-detail__place {
  font-size: 20px;
  font-weight: 700;
  border-right: 1px solid #d9d9d9;
  padding-right: 24px;
  margin-right: 8px;
}
@media screen and (max-width: 767px) {
  .article-detail__place {
    width: 100%;
    border-right: none;
  }
}
.article-detail__h1 {
  position: relative;
  font-size: 32px;
  font-weight: 700;
  padding-bottom: 40px;
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .article-detail__h1 {
    font-size: 24px;
    padding-bottom: 32px;
    margin-bottom: 24px;
  }
}
.article-detail__h1::after {
  content: "";
  width: 50px;
  height: 1px;
  background: #333;
  position: absolute;
  left: 0;
  bottom: 0;
}
.article-detail__h2 {
  font-size: 24px;
  font-weight: 700;
  color: #E1A325;
  margin-bottom: 1em;
}
.article-detail__h3 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 1em;
}
.article-detail__sub-heading {
  display: flex;
  align-items: center;
  gap: 24px;
  border-bottom: none;
  margin-bottom: 40px;
}
.article-detail__sub-heading .jp {
  font-size: 14px;
  font-weight: 700;
  color: #333;
}
.article-detail .box p {
  margin: 0;
}
.article-detail .grid {
  margin: 40px 0;
}
.article-detail .grid .cap {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.57);
}
.article-detail .grid p {
  font-size: 14px;
  line-height: 1.7;
  color: #333;
  margin: 8px 0 0;
}

.article-link {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  gap: 24px;
  padding: 40px 0;
  margin: 40px 0 80px;
}
@media screen and (max-width: 767px) {
  .article-link {
    gap: 16px;
  }
}
.article-link > a {
  width: 130px;
}
@media screen and (max-width: 767px) {
  .article-link > a {
    width: 100%;
    min-width: auto;
  }
}
.article-link > a span {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .article-link > a span {
    min-width: auto;
  }
}
.article-link > a:nth-child(1) {
  margin-right: auto;
}
.article-link > a:nth-child(2) {
  margin: 0 auto;
}
.article-link > a:nth-child(3) {
  margin-left: auto;
}
.article-link > a.empty {
  border: none;
  pointer-events: none;
}

.office-search {
  border-radius: 16px;
}
@media screen and (max-width: 767px) {
  .office-search {
    padding: 24px 16px;
  }
}
.office-search__title {
  font-size: 20px;
  font-weight: 700;
  color: #E1A325;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .office-search__title {
    font-size: 18px;
  }
}
.office-search__list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .office-search__list {
    gap: 8px;
    margin-bottom: 32px;
  }
}
.office-search__item {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.office-search__item input[type=checkbox] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.office-search__item span {
  display: inline-block;
  padding: 6px 16px;
  color: rgba(0, 0, 0, 0.57);
  border: 1px solid rgba(0, 0, 0, 0.34);
  border-radius: 32px;
  background-color: #fff;
  font-size: 15px;
  font-weight: bold;
  transition: all 0.2s ease;
}
.office-search__item span:hover {
  opacity: 0.7;
}
.office-search__item input[type=checkbox]:checked + span {
  background-color: #E1A325;
  border-color: #E1A325;
  color: #fff;
}
.office-search .btn-wrap {
  border-top: 1px solid rgba(0, 0, 0, 0.34);
  padding-top: 24px;
  margin-top: 0;
}
.office-search .btn-wrap .btn[type=submit] {
  cursor: pointer;
}
.office-search .btn-wrap .btn[type=submit]:hover {
  opacity: 0.7;
}

.search__total {
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 40px 0;
}
.search__total span {
  font-size: 30px;
  color: #E1A325;
  margin: 0 4px;
}

.list-office {
  margin-top: 16px;
}
.list-office__item {
  border-bottom: 1px solid #ddd;
}
.list-office__item:first-child {
  border-top: 1px solid #ddd;
}
.list-office__link {
  display: block;
  padding: 24px 72px 24px 0;
  background: url(../img/common/arrow_right_round.svg) right center no-repeat;
  background-size: 48px;
}
@media screen and (max-width: 767px) {
  .list-office__link {
    background-size: 40px;
    padding-right: 44px;
  }
}
.list-office__name {
  font-size: 18px;
  font-weight: 700;
  color: #E1A325;
  margin-bottom: 8px;
}
.list-office__category {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.list-office__category span {
  font-size: 12px;
  color: #666;
  border: 1px solid #666;
  padding: 2px 8px;
  border-radius: 24px;
}
.list-office__address {
  width: 100%;
  overflow-x: hidden;
}

.office-detail__h1 {
  color: #E1A325;
}
.office-detail__address p + p {
  margin-top: 4px !important;
}
.office-detail__address strong {
  margin-right: 8px;
}

.detail-return {
  border-top: 1px solid #ddd;
  padding-top: 40px;
  margin-top: 40px;
}

.office-detail-service {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px 24px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .office-detail-service {
    grid-template-columns: 1fr;
  }
}
.office-detail-service__item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.34);
}
.office-detail-service a {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-bottom: 16px;
}
.office-detail-service__img {
  position: relative;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  overflow: hidden;
}
.office-detail-service__img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: none;
  height: 100%;
}
.office-detail-service p {
  flex: 1;
  font-size: 14px;
  font-weight: 700;
}

.office-detail-message {
  display: flex;
  align-items: center;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .office-detail-message {
    flex-direction: column;
  }
}
.office-detail-message figure {
  width: 170px;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .office-detail-message figure {
    width: 50%;
    max-width: 300px;
  }
}
.office-detail-message__text {
  flex: 1;
}
@media screen and (min-width: 768px) {
  .office-detail-message__text {
    padding-bottom: 24px;
  }
}

.detail-links {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .detail-links {
    flex-wrap: wrap;
    gap: 24px 0;
  }
}
.detail-links a {
  width: 188px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .detail-links a {
    width: 50%;
  }
}
.detail-links p {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
  margin: 8px 0 0;
}
@media screen and (min-width: 768px) {
  .detail-links p {
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.detail-links img {
  width: 56px;
}

.staff-interview__item {
  display: flex;
  gap: 40px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.34);
  padding: 80px 0;
}
@media screen and (max-width: 767px) {
  .staff-interview__item {
    flex-direction: column;
    padding: 56px 0;
  }
}
@media screen and (min-width: 768px) {
  .staff-interview__item:nth-child(even) {
    flex-direction: row-reverse;
  }
}
.staff-interview__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.staff-interview__img {
  width: 558px;
}
@media screen and (max-width: 767px) {
  .staff-interview__img {
    width: 100%;
  }
}
.staff-interview__img img {
  border-radius: 8px;
}
.staff-interview__prof-title {
  font-size: 18px;
  font-weight: 700;
  color: #E1A325;
  margin: 40px 0 24px;
}
@media screen and (max-width: 767px) {
  .staff-interview__prof-title {
    margin: 24px 0;
  }
}
.staff-interview__prof {
  color: rgba(0, 0, 0, 0.57);
}
.staff-interview__text {
  flex: 1;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .staff-interview__text {
    margin-top: 0;
  }
}
.staff-interview__category {
  font-size: 20px;
  font-weight: 700;
  color: #E1A325;
}
.staff-interview__name {
  font-size: 24px;
  font-weight: 700;
  color: #333;
  letter-spacing: 0.05em;
  margin-left: 16px;
}
.staff-interview__name sub {
  font-size: 14px;
  font-weight: 400;
  bottom: 0;
  margin-left: 8px;
}
.staff-interview__title {
  font-size: 18px;
  font-weight: 700;
  margin: 32px 0 16px;
}
.staff-interview__desc {
  color: rgba(0, 0, 0, 0.57);
}

.support-about__main {
  background: url(../img/recruit/support_main.jpg) center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .support-about__main {
    background: url(../img/recruit/support_main_sp.jpg) center center no-repeat;
    background-size: cover;
  }
}
.support-about__heading {
  margin-top: 96px;
  margin-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .support-about__heading {
    margin-top: 80px;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .support-about__heading .heading--en {
    font-size: min(32px, 7.6335877863vw);
  }
}
.support-about__desc {
  line-height: 2.2;
  margin-bottom: 1.5em;
}
.support-about .note {
  color: rgba(0, 0, 0, 0.54);
  font-size: 14px;
}

.support-point {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 64px 24px;
  margin: 80px 0 24px;
}
@media screen and (max-width: 767px) {
  .support-point {
    grid-template-columns: 1fr;
    margin-bottom: 40px;
  }
}
.support-point__item {
  position: relative;
  border: 1px solid #E1A325;
  border-radius: 16px;
  padding: 24px;
}
@media screen and (max-width: 767px) {
  .support-point__item {
    padding: 24px 16px;
  }
}
.support-point__num {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  border: 1px solid #E1A325;
  background: #fff;
  color: #E1A325;
  position: absolute;
  top: -48px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
}
.support-point__num span {
  font-size: 12px;
}
.support-point__title {
  background: #FBF7E0;
  font-weight: 700;
  text-align: center;
  padding: 4px;
  margin-top: 16px;
}
.support-point__title--deco {
  position: relative;
}
.support-point__title--deco::before {
  content: "";
  width: 56px;
  height: 1px;
  background: #333;
  position: absolute;
  left: 26px;
  top: 0;
  transform: rotate(6deg);
}
.support-point__title--deco::after {
  content: "";
  width: 56px;
  height: 1px;
  background: #333;
  position: absolute;
  left: 26px;
  bottom: 3px;
  transform: rotate(-4deg);
}
.support-point__desc {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.57);
  margin-top: 24px;
}

.support-helper {
  display: flex;
  gap: 40px 56px;
  border: 1px solid #E1A325;
  border-radius: 16px;
  padding: 40px;
}
@media screen and (max-width: 767px) {
  .support-helper {
    flex-direction: column;
    padding: 24px;
  }
}
.support-helper__text {
  flex: 1;
}
.support-helper__text h3 {
  font-size: 24px;
  font-weight: 700;
  color: #E1A325;
  margin-bottom: 24px;
}
.support-helper__desc {
  color: rgba(0, 0, 0, 0.57);
  margin-top: 24px;
}
.support-helper__img {
  position: relative;
  text-align: center;
}
.support-helper__img::after {
  content: "";
  width: 258px;
  height: 258px;
  background: #FBF7E0;
  border-radius: 50%;
  position: absolute;
  left: -134px;
  top: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .support-helper__img::after {
    width: 254px;
    height: 254px;
    left: -100px;
  }
}
.support-helper__img img {
  width: 258px;
}
@media screen and (max-width: 767px) {
  .support-helper__img img {
    width: 254px;
  }
}

.support-interview {
  background: #FDFBEF;
  padding: 128px 0;
  margin: 128px 0;
}
@media screen and (max-width: 767px) {
  .support-interview {
    padding: 96px 0;
    margin: 96px 0;
  }
}
.support-interview__main {
  background: url(../img/recruit/support_interview_main.jpg) center center no-repeat;
  background-size: cover;
  padding: 72px 80px 64px;
  border-radius: 24px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .support-interview__main {
    background: url(../img/recruit/support_interview_main_sp.jpg) center center no-repeat;
    background-size: cover;
    padding: 24px;
  }
}
.support-interview__lead {
  font-size: 40px;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .support-interview__lead {
    font-size: 32px;
    margin-bottom: 200px;
  }
}
.support-interview__name {
  font-weight: 700;
  margin-top: 32px;
}
.support-interview__name span {
  font-size: 24px;
}
.support-interview__item {
  display: flex;
  align-items: center;
  gap: 24px 97px;
  margin: 80px 0;
}
@media screen and (max-width: 767px) {
  .support-interview__item {
    flex-direction: column;
  }
}
.support-interview__item:nth-child(even) {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .support-interview__item:nth-child(even) {
    flex-direction: column;
  }
}
.support-interview__item:last-child {
  margin-bottom: 0;
}
.support-interview__img {
  width: 558px;
}
@media screen and (max-width: 767px) {
  .support-interview__img {
    width: 100%;
  }
}
.support-interview__img img {
  border-radius: 16px;
}
.support-interview__text {
  flex: 1;
}
.support-interview__title {
  display: flex;
  align-items: center;
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 32px;
}
.support-interview__title span {
  position: relative;
  font-size: 32px;
  color: #E1A325;
  margin: 0 32px 0 16px;
}
.support-interview__title span::before {
  content: "";
  width: 70px;
  height: 32px;
  background: url(../img/recruit/interview_num_deco.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: -18px;
  left: 50%;
  transform: translateX(-50%);
}
.support-interview__desc {
  line-height: 2.2;
}

.support-timetable {
  margin: 128px 0;
}
@media screen and (max-width: 767px) {
  .support-timetable {
    margin: 96px 0;
  }
}
.support-timetable__content {
  position: relative;
  margin-left: 100px;
}
@media screen and (max-width: 767px) {
  .support-timetable__content {
    margin-left: 40px;
  }
}
.support-timetable__content::before {
  content: "";
  width: 1px;
  height: calc(100% - 180px);
  background: #E1A325;
  position: absolute;
  left: -33px;
  top: 60px;
}
@media screen and (max-width: 767px) {
  .support-timetable__content::before {
    height: 100%;
    top: 0;
  }
}
.support-timetable__item {
  display: flex;
  gap: 0 24px;
}
@media screen and (max-width: 767px) {
  .support-timetable__item {
    flex-direction: column;
    border-top: 1px solid #E1A325;
    padding: 40px 0;
  }
}
.support-timetable__inner {
  flex: 1;
  display: flex;
  gap: 24px 72px;
  border-top: 1px solid #E1A325;
  padding: 40px 80px 40px 0;
}
@media screen and (max-width: 767px) {
  .support-timetable__inner {
    flex-direction: column;
    padding: 0;
    border-top: none;
  }
}
.support-timetable__time {
  position: relative;
  font-size: 40px;
  font-weight: 700;
  color: #E1A325;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .support-timetable__time {
    font-size: 32px;
  }
}
.support-timetable__time::before {
  content: "";
  width: 8px;
  height: 8px;
  background: #E1A325;
  border: 4px solid #fff;
  border-radius: 50%;
  position: absolute;
  left: -40px;
  top: 12px;
}
.support-timetable__text {
  flex: 1;
}
.support-timetable__title {
  font-size: 24px;
  font-weight: 700;
  color: #E1A325;
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .support-timetable__title {
    font-size: 20px;
  }
}
.support-timetable__img {
  width: 240px;
  margin: -24px 0;
}
@media screen and (max-width: 767px) {
  .support-timetable__img {
    width: 180px;
    margin: 24px auto 0;
  }
}
.support-timetable__img:empty {
  margin: 0;
}

.support-entry {
  background: #FDFBEF;
  padding: 128px 0;
}
@media screen and (max-width: 767px) {
  .support-entry {
    padding: 96px 0;
  }
}
.support-entry__wrap {
  display: flex;
  gap: 56px 24px;
}
@media screen and (max-width: 767px) {
  .support-entry__wrap {
    flex-direction: column;
  }
}
.support-entry__img {
  width: 460px;
}
@media screen and (max-width: 767px) {
  .support-entry__img {
    width: 100%;
  }
}
.support-entry__img img {
  border-radius: 24px;
}
.support-entry__text {
  flex: 1;
}
.support-entry__lead {
  font-size: 24px;
  font-weight: 700;
  line-height: 2.2;
  color: #E1A325;
  margin-bottom: 1em;
}
.support-entry__desc {
  line-height: 2.2;
  padding-right: 100px;
}
@media screen and (max-width: 767px) {
  .support-entry__desc {
    padding-right: 0;
  }
}
.support-entry__link {
  margin-top: 40px;
}

.philosophy {
  position: relative;
  background: url(../img/top/philosophy_bg.jpg) bottom center #fcf7e1 no-repeat;
  background-size: 2560px;
  padding-bottom: 400px !important;
}
@media screen and (max-width: 767px) {
  .philosophy {
    background: url(../img/top/philosophy_bg_sp.jpg) bottom center no-repeat;
    background-size: 100%;
    height: auto;
    padding-bottom: 160vw !important;
  }
}
.philosophy .breadcrumb {
  background: #fcf7e1;
  margin-bottom: 0;
  padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .philosophy .breadcrumb {
    padding-bottom: 24px;
  }
}
.philosophy .heading {
  text-align: left;
  margin-top: 40px;
}
.philosophy__container {
  width: 100%;
}
.philosophy__inner {
  width: 550px;
}
@media screen and (max-width: 767px) {
  .philosophy__inner {
    width: 100%;
  }
}
.philosophy__lead {
  font-size: 40px;
  font-weight: 500;
  letter-spacing: 0.2em;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .philosophy__lead {
    font-size: min(32px, 8.1424936387vw);
    margin-bottom: 56px;
  }
}
.philosophy__desc {
  line-height: 2.2;
}
.philosophy__slider {
  position: absolute;
  right: 0;
  top: 140px;
  width: 48%;
  margin-left: auto;
  max-width: 800px;
}
@media screen and (max-width: 767px) {
  .philosophy__slider {
    width: 90%;
    top: auto;
    bottom: 80vw;
  }
}
.philosophy__slider img {
  width: 100%;
  border-top-left-radius: 24px;
  border-bottom-left-radius: 24px;
}

.slick-num {
  position: absolute;
  right: 40px;
  top: calc(100% + 40px);
  z-index: 1;
  font-size: 14px;
}

.slide-arrow {
  position: absolute;
  top: calc(100% + 36px);
  width: 32px;
  height: 32px;
  background: #E1A325;
  border-radius: 50%;
  z-index: 2;
  cursor: pointer;
}
.slide-arrow.prev-arrow {
  right: 152px;
}
.slide-arrow.prev-arrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  position: absolute;
  left: 13px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.slide-arrow.next-arrow {
  right: 96px;
}
.slide-arrow.next-arrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

.precious {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px 24px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .precious {
    grid-template-columns: 1fr;
  }
}
.precious__item {
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.08);
  border-radius: 16px;
  padding: 40px;
}
@media screen and (max-width: 767px) {
  .precious__item {
    padding: 40px 24px;
  }
}
.precious__item a {
  display: block;
}
.precious__sub-title {
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 4px;
}
.precious__title {
  font-size: 32px;
  font-weight: 700;
  line-height: 2;
  text-align: center;
  color: #E1A325;
  margin-bottom: 24px;
}

.precious-sub .heading--jp {
  margin-bottom: 16px;
}
.precious-sub .heading--en {
  margin-bottom: 0;
}
.precious-sub__container {
  position: relative;
}
.precious-sub__container::after {
  content: "";
  width: 873px;
  height: 873px;
  background: #FBF7E0;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .precious-sub__container::after {
    content: none;
  }
}
.precious-sub__item {
  display: flex;
  gap: 40px 80px;
}
@media screen and (max-width: 767px) {
  .precious-sub__item {
    flex-direction: column-reverse;
  }
}
.precious-sub__item:nth-child(odd) .precious-sub__text {
  min-height: 540px;
  margin-top: 64px;
}
@media screen and (max-width: 767px) {
  .precious-sub__item:nth-child(odd) .precious-sub__text {
    min-height: auto;
    margin-top: 0;
  }
}
.precious-sub__item:nth-child(even) {
  flex-direction: row-reverse;
  margin-top: -120px;
}
@media screen and (max-width: 767px) {
  .precious-sub__item:nth-child(even) {
    flex-direction: column-reverse;
    margin-top: 0;
  }
}
.precious-sub__item:nth-child(even) .precious-sub__img {
  margin-top: 280px;
}
@media screen and (max-width: 767px) {
  .precious-sub__item:nth-child(even) .precious-sub__img {
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .precious-sub__item:not(:last-child) {
    margin-bottom: 80px;
  }
}
.precious-sub__img {
  width: 560px;
}
@media screen and (max-width: 767px) {
  .precious-sub__img {
    width: 100%;
  }
}
.precious-sub__img img {
  border-radius: 24px;
}
.precious-sub__text {
  flex: 1;
}
.precious-sub__title {
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .precious-sub__title {
    font-size: 30px;
    margin-bottom: 24px;
  }
}
.precious-sub__desc {
  line-height: 2.2;
}

.service-top {
  position: relative;
  margin-bottom: 128px;
  overflow-x: hidden;
  overflow-y: clip;
}
@media screen and (max-width: 767px) {
  .service-top {
    margin-bottom: 80px;
  }
}
.service-top .heading {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .service-top .heading {
    margin-bottom: 24px;
  }
}
@media screen and (max-width: 767px) {
  .service-top .heading--en {
    font-size: 24px;
  }
}
.service-top__text {
  width: 460px;
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  .service-top__text {
    width: 100%;
    padding-top: 0;
  }
}
.service-top__catch {
  font-size: 40px;
  font-weight: 700;
  line-height: 2;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .service-top__catch {
    font-size: min(32px, 8.1424936387vw);
    margin-bottom: 32px;
  }
}
.service-top__desc {
  line-height: 2.2;
}
.service-top__img {
  width: 62%;
  max-width: 940px;
  position: absolute;
  top: 0;
  left: 47%;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .service-top__img {
    position: static;
    width: 100%;
    max-width: none;
    margin-top: 64px;
  }
}
.service-top__img img {
  border-radius: 24px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .service-top__img img {
    border-radius: 8px;
  }
}

.service-box {
  display: flex;
  background-color: #FBF7E0;
  margin-bottom: 96px;
}
@media screen and (max-width: 767px) {
  .service-box {
    flex-direction: column;
    gap: 32px;
    margin-bottom: 64px;
  }
}
.service-box__title {
  flex: 1;
}
.service-box__title--en {
  display: block;
  font-size: 24px;
  font-weight: 700;
  color: #E1A325;
}
.service-box__title--jp {
  display: block;
  font-size: 14px;
  font-weight: 700;
}
.service-box__container {
  flex: 2;
  display: flex;
  gap: 32px 40px;
}
@media screen and (max-width: 767px) {
  .service-box__container {
    flex-direction: column;
    align-items: center;
  }
}
.service-box__img {
  width: 128px;
}
@media screen and (max-width: 767px) {
  .service-box__img {
    width: 100%;
    text-align: center;
  }
}
.service-box__img img {
  border-radius: 8px;
}
@media screen and (max-width: 767px) {
  .service-box__img img {
    width: 140px;
  }
}
.service-box__img span {
  display: block;
  font-size: 12px;
  line-height: 1.4;
  color: rgba(0, 0, 0, 0.57);
  margin-top: 4px;
}
@media screen and (max-width: 767px) {
  .service-box__img span {
    text-align: center;
  }
}
.service-box__text {
  flex: 1;
}
.service-box__comment-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 2.2;
  margin-bottom: 24px;
}
.service-box__comment {
  line-height: 2.2;
}

.contact-links {
  display: flex;
  margin-bottom: 48px;
}
.contact-links a {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px 24px;
}
@media screen and (max-width: 767px) {
  .contact-links a {
    flex-direction: column;
    padding: 0 2.0356234097vw;
  }
}
.contact-links a:not(:last-child) {
  border-right: 1px solid rgba(0, 0, 0, 0.34);
}
.contact-links a img {
  width: 72px;
}
.contact-links a span {
  font-size: 14px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .contact-links a span {
    text-align: center;
    font-size: min(14px, 3.5623409669vw);
  }
}

.contact-form {
  position: relative;
}
.contact-form dl {
  margin-top: 24px;
}
.contact-form dt > p {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 8px;
}
.contact-form dd {
  margin-left: 0;
}
.contact-form .required {
  font-size: 11px;
  font-weight: 400;
  background: #FF6058;
  color: #fff;
  padding: 1px 10px;
  border-radius: 24px;
}
.contact-form .note {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.54);
  margin-top: 8px;
}
.contact-form .wpcf7-not-valid-tip {
  display: block;
  font-size: 14px;
  color: #E14942;
  margin-top: 8px;
}
.contact-form textarea {
  min-height: 100px;
  height: 240px;
}
.contact-form .btn {
  min-width: 160px;
  padding: 16px;
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
}
.contact-form .btn--default {
  width: 160px;
  border: none;
}
.contact-form__confirm dl {
  border-bottom: 1px solid rgba(0, 0, 0, 0.34);
  padding-bottom: 16px;
  margin-top: 16px;
}
.contact-form .wpcf7-spinner {
  position: absolute;
  left: 50%;
  bottom: -40px;
  transform: translateX(-50%);
  margin: 0;
}

.box__contact-complete {
  padding: 80px 96px;
}
@media screen and (max-width: 767px) {
  .box__contact-complete {
    padding: 40px 24px;
  }
}
.box__contact-complete h2 {
  font-size: 24px;
  font-weight: 700;
  color: #E1A325;
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .box__contact-complete h2 {
    font-size: min(24px, 5.0890585242vw);
    margin-bottom: 24px;
  }
}

.about__container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px 24px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .about__container {
    grid-template-columns: 1fr;
  }
}
.about__item {
  text-align: center;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.08);
  border-radius: 16px;
  padding: 40px;
}
@media screen and (max-width: 767px) {
  .about__item {
    padding: 40px 24px;
  }
}
.about__item a {
  display: block;
}
.about__title {
  font-size: 24px;
  font-weight: 700;
  color: #E1A325;
}
@media screen and (max-width: 767px) {
  .about__title {
    font-size: min(24px, 6.106870229vw);
  }
}
.about__img {
  margin: 40px 0;
}
@media screen and (max-width: 767px) {
  .about__img {
    margin: 24px 0;
  }
}
@media screen and (max-width: 767px) {
  .about__img img {
    width: 64px;
  }
}
.about__text {
  font-size: min(16px, 4.0712468193vw);
}

.company-table {
  margin-bottom: 80px;
}
.company-table tr:nth-child(even) {
  background: inherit;
}
.company-table th, .company-table td {
  border-bottom: 1px solid rgba(0, 0, 0, 0.34);
  padding: 16px 0;
}
@media screen and (max-width: 767px) {
  .company-table th, .company-table td {
    display: block;
    border-bottom: none;
  }
}
.company-table th {
  width: 200px;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .company-table th {
    width: 100%;
    background: rgba(0, 0, 0, 0.08);
    padding: 4px 8px;
  }
}
.company-table td {
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .company-table td {
    padding-bottom: 32px;
  }
}
.company-table td ul {
  margin: 0;
}
.company-table td li:not(:last-child) {
  margin-bottom: 16px;
}
.company-table td dl {
  display: flex;
  align-items: center;
}
.company-table td dt {
  width: 112px;
  font-size: 14px;
  font-weight: 700;
}

.company-box {
  display: flex;
  padding: 32px;
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .company-box {
    flex-direction: column;
    padding: 32px 16px;
  }
}
.company-box__title {
  width: 258px;
}
@media screen and (max-width: 767px) {
  .company-box__title {
    width: 100%;
    margin-bottom: 40px;
  }
}
.company-box__title .heading--en {
  font-size: 24px;
  margin-bottom: 8px;
}
.company-box__address {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 24px;
}
.company-box__link {
  font-size: 14px;
  font-weight: 700;
  margin-top: 24px;
}

.message {
  position: relative;
  display: flex;
  gap: 40px 80px;
}
@media screen and (max-width: 767px) {
  .message {
    flex-direction: column;
  }
}
.message::after {
  content: "";
  width: 873px;
  height: 873px;
  background: #FBF7E0;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  top: 140px;
  transform: translateX(-50%);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .message::after {
    width: 90vw;
    height: 90vw;
    top: 140vw;
  }
}
.message__img {
  width: 363px;
}
@media screen and (max-width: 767px) {
  .message__img {
    width: 100%;
  }
}
.message__name {
  margin: 24px 0 8px;
}
.message__name2 {
  text-align: right;
  margin-top: 80px;
}
.message__sign-wrap {
  text-align: right;
}
.message__sign {
  width: 173px;
  mix-blend-mode: multiply;
}
.message__text {
  flex: 1;
  line-height: 2.2;
  margin-top: 40px;
}
.message__title {
  font-size: 24px;
  font-weight: 700;
  color: #E1A325;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .message__title {
    font-size: min(24px, 5.5979643766vw);
  }
}
.message__desc {
  margin-bottom: 80px;
}

.office-detail-photo {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  overflow-y: hidden;
}
.office-detail-photo__item {
  width: calc((100% - 32px) / 3);
}
@media screen and (max-width: 767px) {
  .office-detail-photo__item {
    width: calc(50% - 8px);
  }
}
.office-detail-photo__item img {
  aspect-ratio: 4/3;
  object-fit: cover;
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.office-detail-photo__item figcaption {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.57);
  padding-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .office-detail-photo__item:first-child {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .office-detail-photo__item:first-child img {
    width: 100%;
  }
}
.office-detail-photo__btn {
  position: relative;
  text-align: center;
  margin: 16px 0;
}
.office-detail-photo__btn::after {
  content: "";
  width: 100%;
  height: 1px;
  background: rgba(0, 0, 0, 0.34);
  position: absolute;
  top: 50%;
  left: 0;
  z-index: -1;
}
.office-detail-photo__btn .btn:hover {
  opacity: 1;
}
.office-detail-photo.no-btn {
  border-bottom: 1px solid rgba(0, 0, 0, 0.34);
  padding-bottom: 40px;
  margin-bottom: 40px;
}

.office-detail-facility {
  background: #FDFBEF;
  border-radius: 8px;
  padding: 80px 40px 40px;
  margin: 24px 0;
}
@media screen and (max-width: 767px) {
  .office-detail-facility {
    padding: 56px 16px 40px;
  }
}
.office-detail-facility__heading {
  font-size: 24px;
  font-weight: bold;
  color: #E1A325;
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .office-detail-facility__heading {
    font-size: 20px;
    margin-bottom: 24px;
  }
}
.office-detail-facility__accordion {
  margin-bottom: 24px;
}
.office-detail-facility__trigger {
  font-size: 18px;
  font-weight: 700;
  background: #fff;
  border-radius: 8px;
  padding: 16px;
}
.office-detail-facility__content {
  background: #fff;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  padding: 0 16px 16px;
}
.office-detail-facility__content > p {
  margin: 0 0 1em;
}
.office-detail-facility__content > .office-detail-facility__title:first-of-type {
  margin-top: 0 !important;
}
.office-detail-facility__img img {
  border-radius: 8px;
}
.office-detail-facility__slider .caption {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.57);
  margin: 16px 0 0;
}
.office-detail-facility__slider .slick-list {
  margin-bottom: 56px;
}
.office-detail-facility__slider .slide-arrow {
  top: calc(100% + 24px);
  background: #333;
}
.office-detail-facility__slider .slide-arrow.next-arrow {
  right: 56px;
}
.office-detail-facility__slider .slide-arrow.prev-arrow {
  right: 112px;
}
.office-detail-facility__slider .slick-num {
  top: calc(100% + 28px);
  right: 0;
}
@media screen and (max-width: 767px) {
  .office-detail-facility .btn {
    width: 100%;
    max-width: 320px;
    border-radius: 40px;
  }
}
.office-detail-facility__table {
  border-top: 1px solid #E1A325;
  border-bottom: 1px solid rgba(0, 0, 0, 0.34);
  padding-top: 8px;
}
.office-detail-facility__table table {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .office-detail-facility__table table {
    width: 640px;
  }
}
.office-detail-facility__table tr:nth-child(even) {
  background: #FDFBEF;
}
.office-detail-facility__table th {
  font-size: 14px;
  font-weight: 700;
  padding: 8px;
  border-bottom: 1px solid #E1A325;
}
.office-detail-facility__table td {
  font-size: 16px;
  padding: 12px 8px;
}
.office-detail-facility__table .end-of-life {
  padding: 0;
}
.office-detail-facility__table .end-of-life .date {
  font-size: 14px;
  line-height: 1.2;
  justify-content: flex-start;
}
.office-detail-facility__table .end-of-life p {
  border-bottom: 1px solid rgba(0, 0, 0, 0.34);
  height: 47px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 12px 0 0;
  padding: 0 8px 12px;
}
.office-detail-facility__table .end-of-life p:last-child {
  border-bottom: none;
}
.office-detail-facility__title {
  font-size: 18px;
  font-weight: 700;
  color: #E1A325;
  margin: 40px 0 12px !important;
}
.office-detail-facility .note {
  font-size: 14px;
  line-height: 1.4;
  color: rgba(0, 0, 0, 0.57);
  margin-top: 16px;
}
.office-detail-facility__self-pay {
  display: flex;
  justify-content: flex-end;
  margin: 0 !important;
}
.office-detail-facility__self-pay span {
  display: inline-block;
  background: #FDFBEF;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  width: 196px;
}
.office-detail-facility__summary table {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .office-detail-facility__summary table {
    min-width: auto;
  }
}
.office-detail-facility__summary tr:nth-child(even) {
  background: #fff;
}
.office-detail-facility__summary th {
  font-size: 13px;
  font-weight: 700;
  padding: 12px 24px 12px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.34);
}
@media screen and (max-width: 767px) {
  .office-detail-facility__summary th {
    white-space: nowrap;
  }
}
.office-detail-facility__summary td {
  font-size: 14px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.34);
}
.office-detail-facility__summary tr:last-child th, .office-detail-facility__summary tr:last-child td {
  border-bottom: none;
}
.office-detail-facility__hospital td {
  font-size: 14px;
  vertical-align: top;
}

.recruit-top {
  margin-bottom: 200px;
}
@media screen and (max-width: 767px) {
  .recruit-top {
    margin-bottom: 160px;
  }
}
.recruit-top__main {
  background: url(../img/recruit/main.jpg) center center no-repeat;
  background-size: cover;
}
.recruit-top__text {
  width: 628px;
  line-height: 2.2;
}
@media screen and (min-width: 768px) {
  .recruit-top__text {
    margin-left: 96px;
  }
}
@media screen and (max-width: 767px) {
  .recruit-top__text {
    width: 100%;
  }
}
.recruit-top__title {
  font-size: 40px;
  font-weight: 700;
  color: #E1A325;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .recruit-top__title {
    font-size: min(28px, 7.1246819338vw);
    margin-bottom: 32px;
  }
}
.recruit-top__catch {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .recruit-top__catch {
    font-size: 20px;
  }
}

.job-intro {
  position: relative;
  background: #FDFBEF;
  padding: 160px 0 128px;
}
@media screen and (max-width: 767px) {
  .job-intro {
    padding: 128px 0 96px;
  }
}
.job-intro__illust {
  position: absolute;
  right: 100px;
  top: -150px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .job-intro__illust {
    width: 240px;
    right: 40px;
    top: -100px;
  }
}
.job-intro__lead {
  color: rgba(0, 0, 0, 0.57);
  line-height: 2.2;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .job-intro__lead {
    margin-bottom: 56px;
  }
}

.job-service__box {
  border: 1px solid #E1A325;
  border-radius: 16px;
  background: #fff;
  padding: 40px;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .job-service__box {
    padding: 24px 16px 40px;
  }
}
.job-service__box.job-service__item {
  padding: 24px 24px 40px;
}
@media screen and (max-width: 767px) {
  .job-service__box.job-service__item {
    padding: 24px 16px 40px;
  }
}
.job-service__box.job-service__item .job-service__heading {
  font-size: 18px;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .job-service__box.job-service__item .job-service__heading {
    font-size: min(20px, 4.9vw);
    margin-bottom: 16px;
  }
}
.job-service__box.job-service__item .job-service__title {
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .job-service__box.job-service__item .job-service__title {
    margin-bottom: 16px;
  }
}
.job-service__wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0 24px;
}
@media screen and (max-width: 767px) {
  .job-service__wrap {
    flex-direction: column;
  }
}
.job-service__wrap--house {
  gap: 0;
}
@media screen and (min-width: 768px) {
  .job-service__wrap--house .job-service__item:not(:last-child) {
    border-right: 1px solid #E1A325;
    padding-right: 40px;
    margin-right: 40px;
  }
}
@media screen and (max-width: 767px) {
  .job-service__wrap--house .job-service__item:not(:last-child) {
    border-bottom: 1px solid #E1A325;
    padding-bottom: 24px;
    margin-bottom: 24px;
  }
}
.job-service__item {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .job-service__item {
    margin-bottom: 24px;
  }
}
.job-service__heading {
  width: 100%;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  color: #E1A325;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .job-service__heading {
    font-size: min(20px, 4.9vw);
    margin-bottom: 24px;
  }
}
.job-service__title {
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  background: #FBF7E0;
  padding: 2px 8px;
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .job-service__title {
    margin-bottom: 16px;
  }
}
.job-service__desc {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.57);
  margin-bottom: 24px;
}
.job-service__img-wrap {
  display: flex;
  justify-content: center;
  gap: 24px;
  text-align: center;
}
.job-service__img-wrap--kango {
  gap: 0;
}
@media screen and (max-width: 767px) {
  .job-service__img-wrap--dayservice {
    gap: 0;
  }
}
@media screen and (max-width: 767px) {
  .job-service__img-wrap--life-kaigo {
    gap: 0;
  }
}
.job-service__img-wrap p {
  font-size: 12px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.57);
}
@media screen and (max-width: 767px) {
  .job-service__img-wrap p {
    font-size: 11px;
    line-height: 1.4;
  }
}
.job-service__img {
  flex: 1;
}
.job-service__links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 72px;
}
@media screen and (max-width: 767px) {
  .job-service__links {
    grid-template-columns: 1fr;
    margin-top: 56px;
  }
}
.job-service__links a {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.08);
  padding: 0 40px;
}
@media screen and (max-width: 767px) {
  .job-service__links a {
    border-radius: 8px;
  }
}
.job-service__links a::after {
  content: "";
  width: 48px;
  height: 32px;
  background: url(../img/common/arrow_right_round.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .job-service__links a::after {
    width: 32px;
    height: 22px;
    right: 8px;
  }
}
.job-service__links a img {
  width: 240px;
}
@media screen and (max-width: 767px) {
  .job-service__links a img {
    width: 50%;
  }
}
.job-service__links a p {
  font-size: 24px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .job-service__links a p {
    font-size: min(18px, 4.5801526718vw);
  }
}

.recruit-training {
  margin-top: 128px;
}
@media screen and (max-width: 767px) {
  .recruit-training {
    margin-top: 80px;
  }
}
.recruit-training .heading {
  margin-bottom: 40px;
}
.recruit-training__wrap {
  display: flex;
  gap: 40px 96px;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .recruit-training__wrap {
    flex-direction: column;
    margin-bottom: 56px;
  }
}
.recruit-training__img {
  width: 558px;
}
@media screen and (max-width: 767px) {
  .recruit-training__img {
    width: 100%;
  }
}
.recruit-training__img img {
  border-radius: 24px;
}
@media screen and (max-width: 767px) {
  .recruit-training__img img {
    border-radius: 16px;
  }
}
.recruit-training__sub-heading {
  font-size: 24px;
  font-weight: 700;
  color: #E1A325;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .recruit-training__sub-heading {
    font-size: 20px;
    margin-bottom: 16px;
  }
}
.recruit-training__text {
  flex: 1;
}
.recruit-training__desc {
  line-height: 2;
}

.other-traning {
  margin-bottom: 128px;
}
@media screen and (max-width: 767px) {
  .other-traning {
    margin-bottom: 80px;
  }
}
.other-traning__text {
  font-size: 16px;
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .other-traning__text {
    font-size: min(16px, 3.9vw);
    margin-bottom: 24px;
  }
}
.other-traning__text span {
  position: relative;
  padding: 0 24px;
}
@media screen and (max-width: 767px) {
  .other-traning__text span {
    display: inline-block;
  }
}
.other-traning__text span::before {
  content: "";
  width: 15px;
  height: 20px;
  background: url(../img/common/black_deco_left.svg) no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.other-traning__text span::after {
  content: "";
  width: 15px;
  height: 20px;
  background: url(../img/common/black_deco_right.svg) no-repeat;
  background-size: contain;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.other-traning__wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .other-traning__wrap {
    grid-template-columns: 1fr;
  }
}
.other-traning__item {
  border: 1px solid #E1A325;
  border-radius: 16px;
  padding: 24px;
}
.other-traning__item .list {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.57);
  margin: 0;
}
.other-traning__title {
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  background: #FBF7E0;
  padding: 2px 8px;
  margin-bottom: 24px;
}

.recruit-under-link {
  border-top: 1px solid #D9D9D9;
  border-bottom: 1px solid #D9D9D9;
}
.recruit-under-link__link {
  display: flex;
}
@media screen and (max-width: 767px) {
  .recruit-under-link__link {
    flex-direction: column;
  }
}
.recruit-under-link__img {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .recruit-under-link__img {
    width: 100%;
    height: 80vw;
  }
}
.recruit-under-link__img--support {
  background: url(../img/top/recruit_img02.png) top center no-repeat;
  background-size: cover;
}
.recruit-under-link__img--find-job {
  background: url(../img/recruit/find_job_img.jpg) center center no-repeat;
  background-size: cover;
}
.recruit-under-link__text {
  flex: 1;
  max-width: 800px;
  padding: 48px 96px 104px;
  background: url(../img/common/arrow_right_round.svg) bottom 48px left 96px no-repeat;
  background-size: 48px;
}
@media screen and (max-width: 767px) {
  .recruit-under-link__text {
    padding: 48px 24px 104px;
    background: url(../img/common/arrow_right_round.svg) bottom 48px left 24px no-repeat;
    background-size: 48px;
  }
}
.recruit-under-link__title {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 24px;
}
.recruit-under-link__desc {
  line-height: 2;
}

.recruit-career {
  background: #FDFBEF;
  padding: 128px 0;
}
@media screen and (max-width: 767px) {
  .recruit-career {
    padding: 96px 0 80px;
  }
}
.recruit-career__wrap {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .recruit-career__wrap {
    flex-direction: column-reverse;
    gap: 24px;
  }
}
.recruit-career__img {
  width: 722px;
}
@media screen and (max-width: 767px) {
  .recruit-career__img {
    width: 100%;
  }
}
.recruit-career__text {
  flex: 1;
}
.recruit-career__desc {
  line-height: 2;
  color: rgba(0, 0, 0, 0.57);
}
.recruit-career .heading {
  margin-bottom: 40px;
}

.benefit {
  padding: 128px 0;
}
@media screen and (max-width: 767px) {
  .benefit {
    padding: 96px 0;
  }
}
.benefit__lead {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .benefit__lead {
    margin-bottom: 56px;
  }
}
.benefit__wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 24px;
  margin: 0 -56px 80px;
}
@media screen and (max-width: 767px) {
  .benefit__wrap {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin: 0 0 56px;
  }
}
.benefit__item {
  border: 1px solid #E1A325;
  border-radius: 12px;
  padding: 64px 16px 16px;
}
@media screen and (max-width: 767px) {
  .benefit__item {
    border-radius: 8px;
    padding: 40px 16px 16px;
  }
}
.benefit__img {
  text-align: center;
  margin-bottom: 56px;
}
@media screen and (max-width: 767px) {
  .benefit__img {
    margin-bottom: 32px;
  }
}
.benefit__img img {
  width: 140px;
}
@media screen and (max-width: 767px) {
  .benefit__img img {
    width: 80px;
  }
}
.benefit__title {
  font-weight: 700;
  margin-bottom: 8px;
}
.benefit__text {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.57);
}
.benefit__last {
  font-size: 14px;
  font-weight: 700;
  color: #E1A325;
  text-align: center;
}
.benefit__last span {
  position: relative;
  padding: 0 24px;
}
.benefit__last span::before {
  content: "";
  width: 15px;
  height: 20px;
  background: url(../img/common/orange_deco_left.svg) no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.benefit__last span::after {
  content: "";
  width: 15px;
  height: 20px;
  background: url(../img/common/orange_deco_right.svg) no-repeat;
  background-size: contain;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.recruit-inquiry-tel {
  text-align: center;
}
.recruit-inquiry-tel a {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #E1A325;
}

.input-type-radio label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.input-type-radio label input {
  width: 16px;
}
.input-type-radio .wpcf7-list-item {
  display: block;
  margin: 0 0 4px 0;
}

.input-type-check label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.input-type-check label input {
  width: 16px;
}
.input-type-check .wpcf7-checkbox {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px 16px;
}
@media screen and (max-width: 767px) {
  .input-type-check .wpcf7-checkbox {
    grid-template-columns: repeat(2, 1fr);
  }
}
.input-type-check .wpcf7-list-item {
  display: block;
  margin: 0;
}

.learn-wp {
  position: relative;
  background: #FDFBEF;
  padding: 128px 0;
}
.learn-wp::after {
  content: "";
  width: 362px;
  height: 292px;
  background: url(../img/recruit/illust_learn.svg) no-repeat;
  background-size: contain;
  position: absolute;
  left: 70px;
  top: -140px;
}
@media screen and (max-width: 767px) {
  .learn-wp::after {
    width: 160px;
    height: 130px;
    left: 16px;
    top: -60px;
  }
}
@media screen and (max-width: 767px) {
  .learn-wp {
    padding: 96px 0;
  }
}
.learn-wp__lead {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .learn-wp__lead {
    margin-bottom: 56px;
  }
}
.learn-wp__wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin: 0 -56px;
}
@media screen and (max-width: 767px) {
  .learn-wp__wrap {
    flex-direction: column;
    gap: 16px;
    margin: 0;
  }
}
.learn-wp__item {
  border: 1px solid #E1A325;
  border-radius: 12px;
  background: #fff;
  padding: 16px;
  width: calc(50% - 12px);
}
@media screen and (max-width: 767px) {
  .learn-wp__item {
    width: 100%;
  }
}
.learn-wp__item:nth-child(1) {
  width: calc((100% - 48px) / 3);
}
@media screen and (max-width: 767px) {
  .learn-wp__item:nth-child(1) {
    width: 100%;
  }
}
.learn-wp__item:nth-child(2) {
  width: calc((100% - 48px) / 3);
}
@media screen and (max-width: 767px) {
  .learn-wp__item:nth-child(2) {
    width: 100%;
  }
}
.learn-wp__item:nth-child(3) {
  width: calc((100% - 48px) / 3);
}
@media screen and (max-width: 767px) {
  .learn-wp__item:nth-child(3) {
    width: 100%;
  }
}
.learn-wp__title {
  font-weight: 700;
  text-align: center;
  background: #FDFBEF;
  padding: 2px;
  margin-bottom: 24px;
}
.learn-wp__img {
  text-align: center;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .learn-wp__img img {
    width: 200px;
  }
}
@media screen and (max-width: 767px) {
  .learn-wp__img img.graph {
    width: 100%;
  }
}
.learn-wp__text {
  font-size: 14px;
}
.learn-wp__note {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.57);
}
.learn-wp__year {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px dotted rgba(0, 0, 0, 0.34);
  padding-bottom: 12px;
}
.learn-wp__year:last-child {
  border-bottom: none;
}
.learn-wp__year dt {
  font-size: 18px;
  font-weight: 700;
  background: linear-gradient(transparent 60%, #FFF200 60%);
}
@media screen and (max-width: 767px) {
  .learn-wp__year dt {
    font-size: 14px;
  }
}
.learn-wp__year dd {
  font-size: 16px;
  font-weight: 700;
}
.learn-wp__year dd img {
  margin-right: 8px;
}
@media screen and (max-width: 767px) {
  .learn-wp__year dd img {
    max-width: 78px;
  }
}
.learn-wp__reason {
  display: flex;
  align-items: center;
  border-bottom: 1px dotted rgba(0, 0, 0, 0.34);
  padding-bottom: 12px;
}
.learn-wp__reason dt {
  width: 64px;
  display: flex;
  align-items: center;
}
.learn-wp__reason dd {
  flex: 1;
  font-size: 20px;
  font-weight: 700;
  margin-left: 0;
}
@media screen and (max-width: 767px) {
  .learn-wp__reason dd {
    font-size: 16px;
  }
}

.mid-career {
  border: 1px solid #E1A325;
  border-radius: 12px;
  padding: 16px 24px 40px;
  margin: 80px 0;
}
@media screen and (max-width: 767px) {
  .mid-career {
    padding: 16px 16px 24px;
    margin: 56px 0;
  }
}
.mid-career__title {
  font-weight: 700;
  text-align: center;
  padding: 2px 8px;
  background: #FBF7E0;
  border-radius: 4px;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .mid-career__title {
    margin-bottom: 16px;
  }
}
.mid-career__table {
  width: 420px;
  margin: 0 auto 16px;
}
@media screen and (max-width: 767px) {
  .mid-career__table {
    width: 100%;
  }
}
.mid-career__table tr:nth-child(even) {
  background: #fff;
}
.mid-career__table th {
  font-size: 14px;
  padding: 8px;
  border-bottom: 1px solid #333;
}
@media screen and (max-width: 767px) {
  .mid-career__table th {
    font-size: 11px;
    padding: 8px 2px;
  }
}
.mid-career__table td {
  font-size: 18px;
  font-weight: 700;
  padding: 8px;
  border-bottom: 1px solid #333;
}
@media screen and (max-width: 767px) {
  .mid-career__table td {
    font-size: 14px;
    padding: 8px 2px;
  }
}
.mid-career__text {
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .mid-career__text {
    text-align: left;
  }
}

.service-relevant {
  margin: 80px 0;
}
@media screen and (max-width: 767px) {
  .service-relevant {
    margin: 64px 0;
  }
}
.service-relevant__heading {
  font-size: 24px;
  font-weight: 700;
  color: #E1A325;
  margin-bottom: 40px;
}
.service-relevant__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .service-relevant__list {
    grid-template-columns: 1fr;
  }
}
.service-relevant__link {
  display: flex;
  align-items: center;
  gap: 16px;
}
.service-relevant__img {
  line-height: 1;
}
.service-relevant__img img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 50%;
}
.service-relevant__name {
  font-size: 18px;
  font-weight: 700;
}
.service-relevant__address {
  font-size: 14px;
}

.service-flow {
  padding: 128px 0;
}
@media screen and (max-width: 767px) {
  .service-flow {
    padding: 96px 0;
  }
}
.service-flow__item {
  position: relative;
  background: #fff;
  border-radius: 8px;
  padding: 40px;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .service-flow__item {
    padding: 24px;
  }
}
.service-flow__item::after {
  content: "";
  width: 45px;
  height: 34px;
  background: url(../img/common/polygon_down.svg) no-repeat;
  background-size: contain;
  position: absolute;
  left: 50%;
  bottom: -28px;
  transform: translateX(-50%);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .service-flow__item::after {
    width: 38px;
    height: 30px;
  }
}
.service-flow__item--last {
  margin-bottom: 0;
}
.service-flow__item--last::after {
  content: none;
}
.service-flow__title {
  display: flex;
  align-items: center;
  gap: 24px;
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .service-flow__title {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .service-flow__title img {
    width: 32px;
  }
}
.service-flow__title--last {
  justify-content: center;
  font-size: 40px;
  font-weight: 700;
  text-align: center;
  color: #E1A325;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .service-flow__title--last {
    font-size: 32px;
  }
}
.service-flow__text {
  font-weight: 500;
}
.service-flow__contact {
  display: flex;
  border-top: 1px solid rgba(0, 0, 0, 0.57);
  padding-top: 24px;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .service-flow__contact {
    flex-direction: column;
    padding-top: 0;
  }
}
.service-flow__contact__item {
  flex: 1;
  text-align: center;
  padding: 16px 16px 8px;
}
@media screen and (max-width: 767px) {
  .service-flow__contact__item {
    padding: 16px 0 8px;
  }
}
.service-flow__contact__item:not(:last-child) {
  border-right: 1px solid rgba(0, 0, 0, 0.57);
}
@media screen and (max-width: 767px) {
  .service-flow__contact__item:not(:last-child) {
    border-right: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.57);
  }
}
.service-flow__contact__name {
  font-weight: 700;
}
.service-flow__contact__tel {
  font-size: 32px;
  font-weight: 700;
  color: #E1A325;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .service-flow__contact__tel {
    font-size: 28px;
  }
}

.service-detail-info {
  margin: 128px 0;
}
@media screen and (max-width: 767px) {
  .service-detail-info {
    margin: 96px 0;
  }
}
.service-detail-info__item {
  background: #FBF7E0;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 24px;
}
.service-detail-info__title {
  font-size: 18px;
  font-weight: 700;
  padding-right: 24px;
}
.service-detail-info__title span {
  color: #E1A325;
  margin-right: 16px;
}
.service-detail-info__title::before {
  top: 45%;
  transform: translateY(-50%) rotate(45deg);
  right: 2px;
}
.service-detail-info__title.is-active::before {
  top: 55%;
  transform: translateY(-50%) rotate(-135deg);
}
.service-detail-info__content {
  margin-top: 16px;
}
.service-detail-info__content .list {
  margin: 0 0 8px;
}
.service-detail-info__content .service-relevant__list {
  gap: 12px 24px;
  padding: 24px 0 40px;
}
@media screen and (max-width: 767px) {
  .service-detail-info__content .service-relevant__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.service-detail-info__content .service-relevant__item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.34);
  padding-bottom: 12px;
}
.service-detail-info__content .service-relevant__name {
  font-size: 16px;
  font-weight: 500;
}
.service-detail-info__content .service-relevant__address {
  font-size: 12px;
}
.service-detail-info__content .office-detail-facility__table {
  background: #fff;
  padding-top: 0;
  border-bottom: none;
  margin-bottom: 24px;
}
.service-detail-info__content .office-detail-facility__table th {
  font-size: 16px;
  padding: 8px 24px;
}
.service-detail-info__content .office-detail-facility__table td {
  padding: 8px 24px;
}
.service-detail-info__content .service-price-th {
  color: #E1A325;
  text-align: center;
}
.service-detail-info__content .service-price-th span {
  font-size: 13px;
}

.service-dayflow {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .service-dayflow {
    margin-top: 64px;
  }
}
.service-dayflow__heading {
  font-size: 24px;
  text-align: center;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  margin-top: 40px;
}
.service-dayflow__heading span {
  display: block;
  border-top: 3px solid #FFF;
  border-bottom: 3px solid #FFF;
  padding: 12px;
}
.service-dayflow__heading--am {
  color: #2699FB;
  border-color: #2699FB;
}
.service-dayflow__heading--am span {
  background: #E4F0FF;
}
.service-dayflow__heading--pm {
  color: #E1A325;
  border-color: #E1A325;
}
.service-dayflow__heading--pm span {
  background: #FBF7E0;
}
.service-dayflow__item {
  padding: 40px 0;
  border-bottom: 1px solid #000;
}
@media screen and (max-width: 767px) {
  .service-dayflow__item {
    padding: 24px 0;
  }
}
.service-dayflow__item--am {
  border-color: #2699FB;
}
.service-dayflow__item--pm {
  border-color: #E1A325;
}
.service-dayflow__title {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .service-dayflow__title {
    font-size: 20px;
    margin-bottom: 8px;
  }
}
.service-dayflow__title--am {
  color: #2699FB;
}
.service-dayflow__title--pm {
  color: #E1A325;
}
.service-dayflow__text {
  font-weight: 500;
}

.service-faq {
  padding: 128px 0;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .service-faq {
    padding: 96px 0;
  }
}
.service-faq__item {
  background: #FFF;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 24px;
}
.service-faq__title {
  display: flex;
  gap: 16px;
  font-size: 18px;
  font-weight: 700;
  padding-right: 24px;
}
.service-faq__title span {
  color: #E1A325;
}
.service-faq__title::before {
  top: 45%;
  transform: translateY(-50%) rotate(45deg);
  right: 2px;
}
.service-faq__title.is-active::before {
  top: 55%;
  transform: translateY(-50%) rotate(-135deg);
}
.service-faq__content {
  margin-top: 16px;
}

.service-sawayaka {
  border: 1px solid #E1A325;
  border-radius: 8px;
  padding: 48px 96px;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .service-sawayaka {
    padding: 40px 16px;
    margin-bottom: 56px;
  }
}
.service-sawayaka .heading {
  border-bottom: 1px solid #E1A325;
  padding-bottom: 8px;
  margin-bottom: 48px;
}
@media screen and (max-width: 767px) {
  .service-sawayaka .heading--en {
    font-size: 24px;
  }
}
.service-sawayaka__heading {
  font-size: 24px;
  font-weight: 700;
  color: #E1A325;
  margin-bottom: 24px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .service-sawayaka__heading {
    font-size: 20px;
  }
}

.dayservice-kind {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .dayservice-kind {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
}
.dayservice-kind span {
  font-weight: 700;
  text-align: center;
  color: #E1A325;
  background: #fff;
  border-radius: 4px;
  padding: 8px;
}

.dayservice-img {
  display: flex;
  gap: 24px;
  margin: 16px 0;
}
@media screen and (max-width: 767px) {
  .dayservice-img {
    flex-direction: column;
  }
}

.policy h2 {
  font-size: 20px;
  font-weight: 700;
  margin-top: 2em;
  margin-bottom: 0.5em;
}
.policy h3 {
  font-size: 16px;
  font-weight: 700;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
}
.policy ol.list {
  font-size: 20px;
  font-weight: 700;
}
.policy ol.list > li {
  margin: 40px 0;
}
.policy ol.list h2 {
  font-size: 20px;
  font-weight: 700;
}
.policy ol.list p {
  font-size: 16px;
  font-weight: 400;
}
.policy ol.list ul.list {
  font-size: 16px;
  font-weight: 400;
}
.policy .date {
  margin-top: 80px;
}