@charset "UTF-8";
/*+ front-page +*/
:root {
  --header-height: 80px;
}
@media print, screen and (min-width:1024px) {
  :root {
    --header-height: 96px;
  }
}

body, html {
  color: #616161;
  background: #F6F4F4;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "YuMincho", "Yu Mincho", serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.75;
}

html {
  scroll-behavior: smooth;
  scroll-padding-block-start: var(--header-height);
}
html:has(body.admin-bar) {
  scroll-padding-block-start: calc(var(--header-height) + var(--wp-admin--admin-bar--height));
}
@media screen and (max-width:600px) {
  html:has(body.admin-bar.is-scroll) {
    scroll-padding-block-start: var(--header-height);
  }
}
html:has(body.gnav-open) {
  overscroll-behavior: none;
  scrollbar-gutter: stable;
  overflow: clip;
}

body {
  -webkit-text-size-adjust: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

a {
  color: #11605b;
  transition-property: color, background;
  transition-duration: 0.3s;
}
a img {
  transition-property: opacity;
  transition-duration: 0.3s;
}
@media (hover: hover) {
  a:where(:-moz-any-link, :enabled, summary):hover {
    color: #19918a;
  }
  a:where(:any-link, :enabled, summary):hover {
    color: #19918a;
  }
  a:where(:-moz-any-link, :enabled, summary):hover img {
    opacity: 0.8;
  }
  a:where(:any-link, :enabled, summary):hover img {
    opacity: 0.8;
  }
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

em {
  color: #7f161d;
  font-style: normal;
}

strong {
  font-weight: 700;
}

input:not([type=submit], [type=button], [type=radio], [type=checkbox], [type=file], [type=search]),
textarea {
  color: #616161;
  background: #fff;
  padding: 0.5rem;
  width: 100%;
  max-width: 100%;
  border: 1px solid #CFCAC3;
  border-radius: 0.125rem;
}

label {
  cursor: pointer;
}

input[type=radio], input[type=checkbox] {
  width: 1rem;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
input[type=radio] {
  background-image: url("../img/icon/icon_radio.svg");
}
input[type=radio]:checked {
  background-image: url("../img/icon/icon_radio-checked.svg");
}
input[type=checkbox] {
  background-image: url("../img/icon/icon_checkbox.svg");
}
input[type=checkbox]:checked {
  background-image: url("../img/icon/icon_checkbox-checked.svg");
}
input[type=submit] {
  color: #fff;
  background: #A71D26;
  text-align: center;
  width: min(100%, 25rem);
  height: 3rem;
  transition: background 0.3s;
}
@media (hover: hover) {
  input[type=submit]:where(:-moz-any-link, :enabled, summary):hover {
    background: #c16167;
  }
  input[type=submit]:where(:any-link, :enabled, summary):hover {
    background: #c16167;
  }
}
input.your-name, input.your-tel {
  width: max(20em, 50%);
}

:where(:focus-visible) {
  outline: #19918a auto 2px;
  box-shadow: none;
}

:where(h1, h2, h3) {
  line-height: 1.4;
  text-wrap: wrap;
}

:where(iframe) {
  border: none;
}

:where(:target) {
  scroll-margin-block: 0;
}

.inner {
  margin-inline: auto;
  padding-inline: min(0.03125 * (100vw - var(--scrollbar-size)), 40px);
  width: 100%;
  max-width: 1280px;
}

.inblock {
  display: inline-block;
}

.screen-reader-text {
  border: 0;
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.logo a {
  color: currentColor;
  display: inline-flex;
  flex-direction: column;
  row-gap: 0.25rem;
}
.logo-jp {
  font-size: clamp(1rem, 0.78vw + 0.5rem, 1.125rem);
}
.logo-en {
  font-family: "Ovo", "Noto Serif JP", serif;
  font-weight: 400;
  font-size: clamp(1.125rem, 2.34vw + -0.375rem, 1.5rem);
  text-transform: uppercase;
}

.form-list dt {
  color: #111A12;
  font-size: clamp(1.125rem, 0.66vw + 0.9696rem, 1.5rem);
  margin-block-end: clamp(1.75rem, 0.44vw + 1.6464rem, 2rem);
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.form-list dt::before {
  content: "";
  background-color: #CFCAC3;
  width: 0.5rem;
  height: 2px;
  flex-shrink: 0;
}
.form-list dt {
  margin-block-end: 0;
}
.form-list dt em {
  color: #fff;
  background: #b94a51;
  font-size: 0.875rem;
  line-height: 1;
  padding: 0.25rem 1rem 0.375rem;
  display: inline-block;
  position: relative;
  top: -0.125rem;
  left: 0.75rem;
}
.form-list dd + dt {
  margin-block-start: clamp(2rem, 2.65vw + 1.3785rem, 3.5rem);
}
.form-list dd .wpcf7-not-valid-tip {
  color: #7f161d;
  font-weight: 600;
}

.wpcf7-turnstile,
.form-button {
  text-align: center;
  margin-block-start: clamp(2rem, 2.65vw + 1.3785rem, 3.5rem);
}

.form-button p:has(.wpcf7-spinner) {
  margin: 1rem 0 0;
  position: relative;
}
.form-button .wpcf7-spinner {
  background: #11605b;
  margin: 0;
  position: absolute;
  right: 1.5rem;
  top: calc(50% - 0.75rem);
}
@media screen and (min-width:600px) {
  .form-button .wpcf7-spinner {
    right: calc((100% - 25rem) / 2 - 1.5rem - 1rem);
  }
}

/*+++ header +++*/
#header {
  color: #111A12;
  background: #F6F4F4;
  padding-inline-start: min(0.03125 * (100vw - var(--scrollbar-size)), 40px);
  width: 100%;
  height: var(--header-height);
  display: flex;
  justify-content: space-between;
  position: fixed;
  z-index: 10;
  transition: height 0.3s;
}
@media print, screen and (min-width:1024px) {
  body.is-scroll #header {
    --header-height: 72px;
  }
}
@media screen and (max-width:600px) {
  body.admin-bar #header {
    inset-block-start: var(--wp-admin--admin-bar--height);
    transition: inset-block-start 0.3s;
  }
  body.admin-bar.is-scroll #header {
    inset-block-start: 0;
  }
}
@media print {
  #header {
    position: absolute;
  }
}

.header-logo {
  align-self: center;
}
@media print, screen and (min-width:1024px) {
  .header-logo {
    transition: transform 0.3s;
  }
  body.is-scroll .header-logo {
    transform: scale(0.9);
  }
}
@media (hover: hover) {
  .header-logo a:where(:-moz-any-link, :enabled, summary):hover {
    color: #A71D26;
  }
  .header-logo a:where(:any-link, :enabled, summary):hover {
    color: #A71D26;
  }
}

.spmenu {
  aspect-ratio: 1/1;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
}
body.gnav-open .spmenu path:nth-child(2) {
  opacity: 0;
}
@media print, screen and (min-width:1024px) {
  .spmenu {
    display: none;
  }
}

/*+++ gnav +++*/
.gnav {
  background: #F6F4F4;
  font-size: clamp(1rem, 1.56vw + 0rem, 1.25rem);
  margin-inline: calc(min(0.03125 * (100vw - var(--scrollbar-size)), 40px) * -1);
  width: 100%;
  height: calc(100% - var(--header-height));
  position: fixed;
  inset-block-start: var(--header-height);
  opacity: 0;
  transition: opacity 0.6s;
  overflow: auto;
  overscroll-behavior-y: contain;
  font-family: "Ovo", "Noto Serif JP", serif;
  font-weight: 400;
}
body.gnav-open .gnav {
  opacity: 1;
}
body.admin-bar .gnav {
  height: calc(100% - (var(--header-height) + var(--wp-admin--admin-bar--height)));
  inset-block-start: calc(var(--header-height) + var(--wp-admin--admin-bar--height));
}
@media print, screen and (min-width:1024px) {
  body.admin-bar .gnav {
    height: auto;
  }
}
@media screen and (max-width:600px) {
  body.admin-bar.is-scroll .gnav {
    height: calc(100% - var(--header-height));
    inset-block-start: var(--header-height);
  }
}
@media print, screen and (min-width:1024px) {
  .gnav {
    margin-inline: 0;
    width: auto;
    height: auto;
    display: flex;
    -moz-column-gap: clamp(1.125rem, 2.34vw + -0.375rem, 1.5rem);
         column-gap: clamp(1.125rem, 2.34vw + -0.375rem, 1.5rem);
    position: static;
    opacity: 1;
  }
}
@media screen and (min-width:1280px) {
  .gnav {
    -moz-column-gap: clamp(1.5rem, 10vw + -6.5rem, 2.5rem);
         column-gap: clamp(1.5rem, 10vw + -6.5rem, 2.5rem);
  }
}

.gnav-list {
  display: flex;
  flex-direction: column;
  border-block-start: 1px solid #CFCAC3;
}
@media print, screen and (min-width:1024px) {
  .gnav-list {
    flex-direction: row;
    -moz-column-gap: clamp(0.875rem, 0.78vw + 0.375rem, 1rem);
         column-gap: clamp(0.875rem, 0.78vw + 0.375rem, 1rem);
    align-items: center;
    border-block-start: none;
  }
}
@media screen and (min-width:1280px) {
  .gnav-list {
    -moz-column-gap: clamp(1rem, 10vw + -7rem, 2rem);
         column-gap: clamp(1rem, 10vw + -7rem, 2rem);
  }
}
.gnav-list_item a {
  color: currentColor;
  padding: 1rem 1.5rem;
  display: block;
}
@media (hover: hover) {
  .gnav-list_item a:where(:-moz-any-link, :enabled, summary):hover {
    color: #A71D26;
  }
  .gnav-list_item a:where(:any-link, :enabled, summary):hover {
    color: #A71D26;
  }
}
@media print, screen and (min-width:1024px) {
  .gnav-list_item a {
    padding: 0;
    display: inline-block;
  }
}
.gnav-list_item + .gnav-list_item {
  border-block-start: 1px dashed #CFCAC3;
}
@media print, screen and (min-width:1024px) {
  .gnav-list_item + .gnav-list_item {
    border-block-start: none;
  }
}
@media print, screen and (min-width:1024px) {
  .gnav-list .gnav-list_item.privacy {
    display: none;
  }
}

.gnav-button {
  display: flex;
  padding: 0.5rem;
  margin-block-start: 1rem;
  width: 100%;
}
@media print, screen and (min-width:1024px) {
  .gnav-button {
    padding: 0;
    margin-block-start: 0;
    height: 100%;
    width: clamp(18rem, 37.5vw + -6rem, 24rem);
  }
}
.gnav-button_item {
  flex: 1;
}
.gnav-button_item a {
  padding: 1.5rem 0.5rem;
  width: 100%;
  height: 100%;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
}
@media print, screen and (min-width:1024px) {
  .gnav-button_item a {
    padding: 0.25rem;
  }
}
.gnav-button_item.internship a {
  color: #11605b;
  background: #fff;
}
@media (hover: hover) {
  .gnav-button_item.internship a:where(:-moz-any-link, :enabled, summary):hover {
    background: #efebeb;
  }
  .gnav-button_item.internship a:where(:any-link, :enabled, summary):hover {
    background: #efebeb;
  }
}
.gnav-button_item.orientation a {
  color: #fff;
  background: #111A12;
}
@media (hover: hover) {
  .gnav-button_item.orientation a:where(:-moz-any-link, :enabled, summary):hover {
    background: #616161;
  }
  .gnav-button_item.orientation a:where(:any-link, :enabled, summary):hover {
    background: #616161;
  }
}
.gnav-button_item.entry a {
  color: #fff;
  background: #A71D26;
}
@media (hover: hover) {
  .gnav-button_item.entry a:where(:-moz-any-link, :enabled, summary):hover {
    background: #c16167;
  }
  .gnav-button_item.entry a:where(:any-link, :enabled, summary):hover {
    background: #c16167;
  }
}

/*+++ main +++*/
#main {
  padding-block: var(--header-height) clamp(2.5rem, 6.19vw + 1.0497rem, 6rem);
}

/*+++ blog +++*/
.blog-content_head, .blog-content_body, .blog-content_foot {
  margin-inline: auto;
  width: min(100%, 960px);
}
.blog-content_head {
  color: #36090C;
  background: rgba(207, 202, 195, 0.24);
  text-align: end;
  padding: 0.5rem 1rem;
}
.blog-content_head time {
  font-size: 0.875rem;
  display: inline-flex;
  align-items: center;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
}
.blog-content_head time svg {
  vertical-align: middle;
}
.blog-content_body {
  padding: clamp(1.5rem, 0.88vw + 1.2928rem, 2rem) min(0.03125 * (100vw - var(--scrollbar-size)), 40px);
  border-block-end: 1px solid #CFCAC3;
}
.blog-content_body > *:not(.wp-block-heading) + * {
  margin-block-start: 1rem;
}
.blog-content_body a:not(.wp-element-button) {
  text-decoration: underline;
}
.blog-content_body a:not(.wp-element-button)[href$=".doc"]::after, .blog-content_body a:not(.wp-element-button)[href$=".docx"]::after, .blog-content_body a:not(.wp-element-button)[href$=".xls"]::after, .blog-content_body a:not(.wp-element-button)[href$=".xlsx"]::after, .blog-content_body a:not(.wp-element-button)[href$=".pdf"]::after {
  color: #111A12;
  background: rgba(207, 202, 195, 0.64);
  font-size: 0.75rem;
  vertical-align: middle;
  line-height: 1;
  padding: 0.25rem 0.5rem;
  margin-inline-start: 0.5rem;
  border: 1px solid #CFCAC3;
  display: inline-block;
  transition: background 0.3s;
}
@media (hover: hover) {
  .blog-content_body a:not(.wp-element-button)[href$=".doc"]:where(:-moz-any-link, :enabled, summary):hover::after, .blog-content_body a:not(.wp-element-button)[href$=".docx"]:where(:-moz-any-link, :enabled, summary):hover::after, .blog-content_body a:not(.wp-element-button)[href$=".xls"]:where(:-moz-any-link, :enabled, summary):hover::after, .blog-content_body a:not(.wp-element-button)[href$=".xlsx"]:where(:-moz-any-link, :enabled, summary):hover::after, .blog-content_body a:not(.wp-element-button)[href$=".pdf"]:where(:-moz-any-link, :enabled, summary):hover::after {
    background: #F6F4F4;
  }
  .blog-content_body a:not(.wp-element-button)[href$=".doc"]:where(:any-link, :enabled, summary):hover::after, .blog-content_body a:not(.wp-element-button)[href$=".docx"]:where(:any-link, :enabled, summary):hover::after, .blog-content_body a:not(.wp-element-button)[href$=".xls"]:where(:any-link, :enabled, summary):hover::after, .blog-content_body a:not(.wp-element-button)[href$=".xlsx"]:where(:any-link, :enabled, summary):hover::after, .blog-content_body a:not(.wp-element-button)[href$=".pdf"]:where(:any-link, :enabled, summary):hover::after {
    background: #F6F4F4;
  }
}
.blog-content_body a:not(.wp-element-button)[href$=".pdf"]::after {
  content: "PDF";
}
.blog-content_body a:not(.wp-element-button)[href$=".doc"]::after, .blog-content_body a:not(.wp-element-button)[href$=".docx"]::after {
  content: "Word";
}
.blog-content_body a:not(.wp-element-button)[href$=".xls"]::after, .blog-content_body a:not(.wp-element-button)[href$=".xlsx"]::after {
  content: "Excel";
}
.blog-content_body a:not(.wp-element-button)[href^="http://"]:not([href*="gphotel.jp"])::after, .blog-content_body a:not(.wp-element-button)[href^="https://"]:not([href*="gphotel.jp"])::after {
  content: "";
  background-image: url("../img/icon/external-link.svg");
  background-color: transparent;
  padding: 0;
  width: 0.875rem;
  border: none;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
@media (hover: hover) {
  .blog-content_body a:not(.wp-element-button)[href^="http://"]:not([href*="gphotel.jp"]):where(:-moz-any-link, :enabled, summary):hover::after, .blog-content_body a:not(.wp-element-button)[href^="https://"]:not([href*="gphotel.jp"]):where(:-moz-any-link, :enabled, summary):hover::after {
    background-image: url("../img/icon/external-link-hover.svg");
  }
  .blog-content_body a:not(.wp-element-button)[href^="http://"]:not([href*="gphotel.jp"]):where(:any-link, :enabled, summary):hover::after, .blog-content_body a:not(.wp-element-button)[href^="https://"]:not([href*="gphotel.jp"]):where(:any-link, :enabled, summary):hover::after {
    background-image: url("../img/icon/external-link-hover.svg");
  }
}
.blog-content .information_headline a {
  color: currentColor;
}
@media (hover: hover) {
  .blog-content .information_headline a:where(:-moz-any-link, :enabled, summary):hover {
    color: #616161;
  }
  .blog-content .information_headline a:where(:any-link, :enabled, summary):hover {
    color: #616161;
  }
}
.blog-content .information_headline-text {
  display: inline-block;
}
.blog-content .information_headline-text::first-letter {
  color: #A71D26;
}
.blog-content .information_headline::after {
  min-width: 2rem;
  flex-shrink: 0;
}
.blog-content_foot {
  padding-block-start: clamp(1.5rem, 0.88vw + 1.2928rem, 2rem);
}
.blog-content_pagination {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  -moz-column-gap: clamp(1rem, 0.88vw + 0.7928rem, 1.5rem);
       column-gap: clamp(1rem, 0.88vw + 0.7928rem, 1.5rem);
}
.blog-content_pagination .pagination_item a {
  display: inline-flex;
  align-items: center;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
  font-family: "Ovo", "Noto Serif JP", serif;
  font-weight: 400;
}
.blog-content_pagination .pagination_item a svg {
  flex-shrink: 0;
}
.blog-content_pagination .pagination_item a .title {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "YuMincho", "Yu Mincho", serif;
  font-weight: 500;
}
@media screen and (max-width:767.99px) {
  .blog-content_pagination .pagination_item a .title {
    border: 0;
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
  }
}
@media print, screen and (min-width:768px) {
  .blog-content_pagination .pagination_item a .position {
    border: 0;
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
  }
}
.blog-content_pagination .pagination_item.item-prev, .blog-content_pagination .pagination_item.item-next {
  line-height: 1.75;
}
@media screen and (max-width:767.99px) {
  .blog-content_pagination .pagination_item.item-prev, .blog-content_pagination .pagination_item.item-next {
    line-height: 1;
  }
}
.blog-content_pagination .pagination_item.item-prev a, .blog-content_pagination .pagination_item.item-next a {
  text-decoration: underline;
}
.blog-content_pagination .pagination_item.item-prev {
  text-align: start;
}
.blog-content_pagination .pagination_item.item-next {
  text-align: end;
}
.blog-content_pagination .pagination_item.item-all a {
  color: #fff;
  background: #111A12;
  font-size: 1.25rem;
  padding: 0.25rem 1rem;
  border: 1px solid #111A12;
}
@media (hover: hover) {
  .blog-content_pagination .pagination_item.item-all a:where(:-moz-any-link, :enabled, summary):hover {
    color: #111A12;
    background: #fff;
  }
  .blog-content_pagination .pagination_item.item-all a:where(:any-link, :enabled, summary):hover {
    color: #111A12;
    background: #fff;
  }
}

/*archive-pagination*/
.archive-pagination-sp {
  display: none;
}
@media screen and (max-width:500px) {
  .archive-pagination-sp {
    display: block;
  }
  .archive-pagination-sp-list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
  }
  .archive-pagination-sp-list_item.item-prev, .archive-pagination-sp-list_item.item-next {
    height: 3rem;
  }
  .archive-pagination-sp-list_item.item-prev a, .archive-pagination-sp-list_item.item-next a {
    font-size: 1.125rem;
    text-decoration: underline;
    width: 100%;
    height: 100%;
    font-family: "Ovo", "Noto Serif JP", serif;
    font-weight: 400;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
  }
}

.archive-pagination-pc {
  display: block;
}
.archive-pagination-pc-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem 1rem;
}
@media screen and (max-width:767.99px) {
  .archive-pagination-pc-list:has(li:nth-child(8)) :is(.item-prev, .item-next) {
    font-size: 1rem;
  }
}
.archive-pagination-pc-list_item:not(:is(.item-prev, .item-next), :has(.dots)) {
  width: 3rem;
  aspect-ratio: 1/1;
}
.archive-pagination-pc-list_item:is(.item-prev, .item-next) {
  flex-shrink: 0;
}
.archive-pagination-pc-list_item.item-prev {
  margin-inline-end: auto;
}
.archive-pagination-pc-list_item.item-next {
  margin-inline-start: auto;
}
.archive-pagination-pc-list .page-numbers {
  width: 100%;
  height: 100%;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
}
.archive-pagination-pc-list .page-numbers.current {
  color: #36090C;
  background: #CFCAC3;
}
.archive-pagination-pc-list .page-numbers:not(.next, .prev, .dots, .current) {
  background: #fff;
}
@media (hover: hover) {
  .archive-pagination-pc-list .page-numbers:not(.next, .prev, .dots, .current):where(:-moz-any-link, :enabled, summary):hover {
    color: #fff;
    background: #19918a;
  }
  .archive-pagination-pc-list .page-numbers:not(.next, .prev, .dots, .current):where(:any-link, :enabled, summary):hover {
    color: #fff;
    background: #19918a;
  }
}
.archive-pagination-pc-list .page-numbers.next, .archive-pagination-pc-list .page-numbers.prev {
  font-size: 1.125rem;
  text-decoration: underline;
  height: 3rem;
  font-family: "Ovo", "Noto Serif JP", serif;
  font-weight: 400;
}
@media screen and (max-width:500px) {
  .archive-pagination-pc {
    display: none;
  }
}

/*+++ entry button +++*/
.entry-button {
  margin-inline: auto;
  padding-block-start: 2rem;
  width: min(100%, 40rem);
}
.entry-button a {
  color: #fff;
  background: #A71D26;
  font-size: clamp(2rem, 0.88vw + 1.7928rem, 2.5rem);
  line-height: 1;
  width: 100%;
  height: clamp(4rem, 3.54vw + 3.1713rem, 6rem);
  gap: 0.5rem;
  position: relative;
  font-family: "Ovo", "Noto Serif JP", serif;
  font-weight: 400;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
}
.entry-button a::before, .entry-button a::after {
  content: "";
  margin-inline: auto;
  width: 1px;
  display: block;
  position: absolute;
}
.entry-button a::before {
  background: #A71D26;
  height: 2rem;
  inset-block-start: -2rem;
}
.entry-button a::after {
  background: #fff;
  height: 1rem;
  inset-block-start: 0;
}
@media (hover: hover) {
  .entry-button a:where(:-moz-any-link, :enabled, summary):hover {
    background: #c16167;
  }
  .entry-button a:where(:any-link, :enabled, summary):hover {
    background: #c16167;
  }
}

/*+++ cta +++*/
.content-section.cta {
  display: grid;
  gap: 1.5rem;
}
@media print, screen and (min-width:768px) {
  .content-section.cta {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 0;
  }
  .content-section.cta .cta_headline,
  .content-section.cta .cta_contact {
    grid-column: 1/3;
  }
}
@media screen and (max-width:767.99px) {
  .content-section.cta .cta_headline {
    flex-wrap: wrap;
  }
  .content-section.cta .cta_headline > .content-section_headline-en {
    width: 100%;
  }
}
.content-section.cta .cta_contact {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 1rem 1.5rem;
  margin-block-start: -1.5rem;
}
@media print, screen and (min-width:768px) {
  .content-section.cta .cta_contact {
    grid-template-columns: 1fr 2fr;
    margin-block: 0 clamp(1.5rem, 6.25vw + -1.5rem, 3.5rem);
  }
}
@media screen and (max-width:500px) {
  .content-section.cta .cta_contact {
    grid-template-columns: 1fr;
  }
}
.content-section.cta .cta_contact-buttons {
  color: #A71D26;
  text-align: center;
  display: grid;
  gap: clamp(0.5rem, 0.88vw + 0.2928rem, 1rem) 1.5rem;
}
@media print, screen and (min-width:768px) {
  .content-section.cta .cta_contact-buttons {
    grid-template-columns: repeat(2, 1fr);
  }
}
.content-section.cta .cta_contact-buttons .tel a {
  font-size: clamp(1.125rem, 0.66vw + 0.9696rem, 1.5rem);
  font-family: "Ovo", "Noto Serif JP", serif;
  font-weight: 400;
}
.content-section.cta .cta_contact-buttons a {
  width: 100%;
  height: 4rem;
}
.content-section.cta .cta_contact-buttons a::after {
  content: none;
}
@media screen and (max-width:500px) {
  .content-section.cta .cta_contact-buttons a {
    width: 100%;
  }
}
.content-section.cta .cta_more-works,
.content-section.cta .cta_course {
  container-type: inline-size;
  container-name: cta-buttons-parent;
}
.content-section.cta .cta_more-works h3,
.content-section.cta .cta_course h3 {
  color: #111A12;
  font-size: 1.25rem;
  font-family: "Ovo", "Noto Serif JP", serif;
  font-weight: 400;
}
.content-section.cta .cta_more-works h3::before,
.content-section.cta .cta_course h3::before {
  content: "";
  background: #F4BEC2;
  margin-inline-end: 0.5rem;
  width: 0.5rem;
  aspect-ratio: 1/1;
  display: inline-block;
}
.content-section.cta .cta_more-works .cta_buttons,
.content-section.cta .cta_course .cta_buttons {
  display: flex;
  gap: 0.5rem 1.5rem;
}
@container cta-buttons-parent (max-width:420px) {
  .content-section.cta .cta_more-works .cta_buttons,
  .content-section.cta .cta_course .cta_buttons {
    flex-direction: column;
  }
}
.content-section.cta .cta_more-works .cta_buttons li,
.content-section.cta .cta_course .cta_buttons li {
  flex: 1;
  height: 4rem;
}
.content-section.cta .cta_more-works .cta_buttons li a,
.content-section.cta .cta_course .cta_buttons li a {
  color: #36090C;
  background: #fff;
  font-size: clamp(1rem, 0.78vw + 0.625rem, 1.25rem);
  padding: 0.5rem 1rem;
  width: 100%;
  height: 100%;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
}
.content-section.cta .cta_more-works .cta_buttons li a::after,
.content-section.cta .cta_course .cta_buttons li a::after {
  content: "";
  background-image: url("../img/icon/move-right_button-light.svg");
  width: clamp(1rem, 1.23vw + 0.7111rem, 1.5rem);
  aspect-ratio: 1/1;
  flex-shrink: 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
@media (hover: hover) {
  .content-section.cta .cta_more-works .cta_buttons li a:where(:-moz-any-link, :enabled, summary):hover, .content-section.cta .cta_course .cta_buttons li a:where(:-moz-any-link, :enabled, summary):hover {
    background: #efebeb;
  }
  .content-section.cta .cta_more-works .cta_buttons li a:where(:any-link, :enabled, summary):hover,
  .content-section.cta .cta_course .cta_buttons li a:where(:any-link, :enabled, summary):hover {
    background: #efebeb;
  }
}

/*+++ information +++*/
.information_headline {
  color: #111A12;
}

.wp-block-heading {
  color: #111A12;
  margin-block-end: 1.75rem;
}

.is-style-page-section + .is-style-page-section {
  margin-block-start: clamp(2.5rem, 3.54vw + 1.6713rem, 4.5rem);
}
.is-style-page-section_headline {
  color: #111A12;
  font-size: clamp(1.25rem, 1.33vw + 0.9392rem, 2rem);
  margin-block-end: clamp(1.75rem, 1.33vw + 1.4392rem, 2.5rem);
  padding: 0 0.5rem 1rem 1rem;
  border-block-end: 1px solid rgba(207, 202, 195, 0.64);
}
.is-style-page-section_headline:first-letter {
  color: #A71D26;
}

.is-style-page-subsection + .is-style-page-subsection {
  margin-block-start: clamp(2rem, 2.65vw + 1.3785rem, 3.5rem);
}
.is-style-page-subsection_headline {
  color: #111A12;
  font-size: clamp(1.125rem, 0.66vw + 0.9696rem, 1.5rem);
  margin-block-end: clamp(1.75rem, 0.44vw + 1.6464rem, 2rem);
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.is-style-page-subsection_headline::before {
  content: "";
  background-color: #CFCAC3;
  width: 0.5rem;
  height: 2px;
  flex-shrink: 0;
}

.is-style-inner-section {
  padding-inline: min(0.03125 * (100vw - var(--scrollbar-size)), 40px);
  margin-inline: auto;
  width: min(100%, 960px);
}
.is-style-inner-section + .is-style-inner-section {
  margin-block-start: clamp(1.5rem, 0.88vw + 1.2928rem, 2rem);
}
.is-style-inner-section_headline {
  color: #111A12;
  font-size: clamp(1rem, 0.44vw + 0.8964rem, 1.25rem);
  border-block-end: 1px solid #CFCAC3;
  padding-block-end: 0.5rem;
  position: relative;
}
.is-style-inner-section_headline::after {
  content: "";
  display: block;
  width: 4rem;
  height: 2px;
  background-color: #F4BEC2;
  position: absolute;
  inset-block-end: -1px;
  inset-inline-start: 0;
}
.is-style-inner-section > *:not(.wp-block-heading) + * {
  margin-block-start: 1rem;
}
.is-style-inner-section a:not(.wp-element-button) {
  text-decoration: underline;
}
.is-style-inner-section a:not(.wp-element-button)[href$=".doc"]::after, .is-style-inner-section a:not(.wp-element-button)[href$=".docx"]::after, .is-style-inner-section a:not(.wp-element-button)[href$=".xls"]::after, .is-style-inner-section a:not(.wp-element-button)[href$=".xlsx"]::after, .is-style-inner-section a:not(.wp-element-button)[href$=".pdf"]::after {
  color: #111A12;
  background: rgba(207, 202, 195, 0.64);
  font-size: 0.75rem;
  vertical-align: middle;
  line-height: 1;
  padding: 0.25rem 0.5rem;
  margin-inline-start: 0.5rem;
  border: 1px solid #CFCAC3;
  display: inline-block;
  transition: background 0.3s;
}
@media (hover: hover) {
  .is-style-inner-section a:not(.wp-element-button)[href$=".doc"]:where(:-moz-any-link, :enabled, summary):hover::after, .is-style-inner-section a:not(.wp-element-button)[href$=".docx"]:where(:-moz-any-link, :enabled, summary):hover::after, .is-style-inner-section a:not(.wp-element-button)[href$=".xls"]:where(:-moz-any-link, :enabled, summary):hover::after, .is-style-inner-section a:not(.wp-element-button)[href$=".xlsx"]:where(:-moz-any-link, :enabled, summary):hover::after, .is-style-inner-section a:not(.wp-element-button)[href$=".pdf"]:where(:-moz-any-link, :enabled, summary):hover::after {
    background: #F6F4F4;
  }
  .is-style-inner-section a:not(.wp-element-button)[href$=".doc"]:where(:any-link, :enabled, summary):hover::after, .is-style-inner-section a:not(.wp-element-button)[href$=".docx"]:where(:any-link, :enabled, summary):hover::after, .is-style-inner-section a:not(.wp-element-button)[href$=".xls"]:where(:any-link, :enabled, summary):hover::after, .is-style-inner-section a:not(.wp-element-button)[href$=".xlsx"]:where(:any-link, :enabled, summary):hover::after, .is-style-inner-section a:not(.wp-element-button)[href$=".pdf"]:where(:any-link, :enabled, summary):hover::after {
    background: #F6F4F4;
  }
}
.is-style-inner-section a:not(.wp-element-button)[href$=".pdf"]::after {
  content: "PDF";
}
.is-style-inner-section a:not(.wp-element-button)[href$=".doc"]::after, .is-style-inner-section a:not(.wp-element-button)[href$=".docx"]::after {
  content: "Word";
}
.is-style-inner-section a:not(.wp-element-button)[href$=".xls"]::after, .is-style-inner-section a:not(.wp-element-button)[href$=".xlsx"]::after {
  content: "Excel";
}
.is-style-inner-section a:not(.wp-element-button)[href^="http://"]:not([href*="gphotel.jp"])::after, .is-style-inner-section a:not(.wp-element-button)[href^="https://"]:not([href*="gphotel.jp"])::after {
  content: "";
  background-image: url("../img/icon/external-link.svg");
  background-color: transparent;
  padding: 0;
  width: 0.875rem;
  border: none;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
@media (hover: hover) {
  .is-style-inner-section a:not(.wp-element-button)[href^="http://"]:not([href*="gphotel.jp"]):where(:-moz-any-link, :enabled, summary):hover::after, .is-style-inner-section a:not(.wp-element-button)[href^="https://"]:not([href*="gphotel.jp"]):where(:-moz-any-link, :enabled, summary):hover::after {
    background-image: url("../img/icon/external-link-hover.svg");
  }
  .is-style-inner-section a:not(.wp-element-button)[href^="http://"]:not([href*="gphotel.jp"]):where(:any-link, :enabled, summary):hover::after, .is-style-inner-section a:not(.wp-element-button)[href^="https://"]:not([href*="gphotel.jp"]):where(:any-link, :enabled, summary):hover::after {
    background-image: url("../img/icon/external-link-hover.svg");
  }
}

.is-style-li-disc,
.is-style-li-decimal {
  padding-inline-start: 1.5rem;
}

.is-style-li-disc {
  list-style-type: disc;
}

.is-style-li-decimal {
  list-style-type: decimal;
}

.is-style-li-notice > li {
  position: relative;
  padding-left: 1.5em;
}
.is-style-li-notice > li::before {
  display: block;
  position: absolute;
  left: 0;
  content: "※";
  top: auto;
}

.is-style-li-circle > li {
  position: relative;
  padding-left: calc(1rem + 0.5em);
}
.is-style-li-circle > li::before {
  display: block;
  position: absolute;
  left: 0;
  content: "";
  background: #11605b;
  width: 1rem;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  top: calc((1.75em - 1rem) / 2);
}

.is-style-li-row {
  display: flex;
  flex-wrap: wrap;
}
.is-style-li-row.sep_gap1 {
  -moz-column-gap: 1em;
       column-gap: 1em;
}

.wp-block-button {
  width: min(100%, 25rem);
  min-height: 3rem;
}
.wp-block-button .wp-block-button__link {
  color: #fff;
  background-color: #A71D26;
  width: 100%;
  height: 100%;
  gap: 0.5rem;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
}
.wp-block-button .wp-block-button__link::after {
  content: "";
  background-image: url("../img/icon/move-right_button.svg");
  width: 1.5rem;
  aspect-ratio: 1/1;
  transition: transform 0.3s;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
@media (hover: hover) {
  .wp-block-button .wp-block-button__link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: #c16167;
  }
  .wp-block-button .wp-block-button__link:where(:any-link, :enabled, summary):hover {
    background-color: #c16167;
  }
  .wp-block-button .wp-block-button__link:where(:-moz-any-link, :enabled, summary):hover::after {
    transform: translateX(0.25rem);
  }
  .wp-block-button .wp-block-button__link:where(:any-link, :enabled, summary):hover::after {
    transform: translateX(0.25rem);
  }
}
.is-style-button-light .wp-block-button__link {
  color: #36090C;
  background-color: #CFCAC3;
  border: 1px solid #CFCAC3;
}
.is-style-button-light .wp-block-button__link::after {
  background-image: url("../img/icon/move-right_button-light.svg");
}
@media (hover: hover) {
  .is-style-button-light .wp-block-button__link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: #fff;
  }
  .is-style-button-light .wp-block-button__link:where(:any-link, :enabled, summary):hover {
    background-color: #fff;
  }
}
.is-style-outline .wp-block-button__link {
  color: #A71D26;
  background-color: #fff;
  border: 1px solid #F4BEC2;
}
.is-style-outline .wp-block-button__link::after {
  background-image: url("../img/icon/move-right_button-outline.svg");
}
@media (hover: hover) {
  .is-style-outline .wp-block-button__link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: #F4BEC2;
  }
  .is-style-outline .wp-block-button__link:where(:any-link, :enabled, summary):hover {
    background-color: #F4BEC2;
  }
}

/*+++ file +++*/
.wp-block-file:not(.wp-element-button) {
  font-size: 1em;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
.wp-block-file:not(.wp-element-button) .wp-element-button {
  font-size: 0.88em;
  line-height: 1;
  padding: 0.5em 1.5em 0.75em;
  margin-inline-start: 0;
}
@media (hover: hover) {
  .wp-block-file:not(.wp-element-button) .wp-element-button:where(:-moz-any-link, :enabled, summary):hover {
    color: #fff;
  }
  .wp-block-file:not(.wp-element-button) .wp-element-button:where(:any-link, :enabled, summary):hover {
    color: #fff;
  }
}

/*+++ table +++*/
.wp-block-table table,
.wp-block-table th,
.wp-block-table td {
  border-width: 0;
  border-color: #CFCAC3;
  border-style: solid;
}
.wp-block-table td,
.wp-block-table th {
  padding: clamp(0.5rem, 0.88vw + 0.2928rem, 1rem) clamp(0.5rem, 1.77vw + 0.0856rem, 1.5rem);
  border-block-width: 1px;
}
.wp-block-table tbody th, .wp-block-table:not(thead) td:first-child {
  color: #111A12;
  background-color: rgba(230, 227, 224, 0.64);
  font-weight: 700;
  text-align: start;
  white-space: nowrap;
}
.wp-block-table.is-style-td-center td {
  text-align: center;
}
.wp-block-table.is-style-td-right:has(thead) td, .wp-block-table.is-style-td-right:not(thead) td:not(:first-child) {
  text-align: end;
}
@media screen and (max-width:500px) {
  .wp-block-table table,
  .wp-block-table caption,
  .wp-block-table thead,
  .wp-block-table tbody,
  .wp-block-table tfoot,
  .wp-block-table tr,
  .wp-block-table th,
  .wp-block-table td {
    display: block;
  }
  .wp-block-table th,
  .wp-block-table td {
    border-block-width: 1px 0;
  }
  .wp-block-table:not(thead) td:first-child,
  .wp-block-table :is(thead, tbody) th {
    text-align: center;
  }
  .wp-block-table td {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: center;
  }
  .wp-block-table td:last-child {
    margin-block-end: 0.5rem;
  }
  .wp-block-table.is-style-sptable-td-center td {
    text-align: center;
  }
}

.page-header {
  margin-block-end: clamp(3rem, 2.65vw + 2.3785rem, 4.5rem);
  display: grid;
  gap: clamp(1rem, 4.69vw + -1.25rem, 2.5rem) clamp(1.5rem, 3.13vw + 0rem, 2.5rem);
  position: relative;
}
.page-header_main {
  color: #111A12;
  font-size: clamp(1.125rem, 0.66vw + 0.9696rem, 1.5rem);
  margin-block-end: 0;
}
@media screen and (max-width:767.99px) {
  body:not(.front-page) .page-header_main {
    padding-block-start: 1rem;
    border-block-start: 1px solid #CFCAC3;
  }
}
.page-header_img {
  margin-inline: 0 min(min(0.03125 * (100vw - var(--scrollbar-size)), 40px) * -1, (1200px - (100vw - var(--scrollbar-size))) / 2);
  max-height: 256px;
}
:has(.page-header_sub) .page-header_img {
  max-height: 448px;
}
.page-header_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width:2000px) {
  .page-header_img img {
    -o-object-position: 50% 35%;
       object-position: 50% 35%;
  }
}
.page-header[data-en]::after {
  content: attr(data-en);
  color: #F6F4F4;
  font-size: clamp(3rem, 5.3vw + 1.7569rem, 6rem);
  text-transform: capitalize;
  line-height: 1;
  position: absolute;
  inset-inline-start: -0.0416666667em;
  inset-block-end: -0.2083333333em;
  font-family: "Ovo", "Noto Serif JP", serif;
  font-weight: 400;
}
@media print, screen and (min-width:768px) {
  .page-header {
    grid-template-columns: 1fr 2fr;
    grid-template-rows: auto;
  }
  .page-header_main {
    grid-column: 1/2;
    grid-row: 1/2;
    align-self: center;
  }
  :has(.page-header_sub) .page-header_main {
    align-self: end;
  }
  .page-header_sub {
    grid-column: 1/2;
    grid-row: 2/3;
    align-self: start;
  }
  .page-header_img {
    grid-column: 2/3;
  }
  :has(.page-header_sub) .page-header_img {
    grid-row: 1/3;
  }
  .page-header[data-en]::after {
    grid-column: 2/3;
  }
  .page-header:has(.page-header_sub) {
    grid-template-rows: auto auto;
  }
  .page-header:has(.page-header_sub)[date-en] {
    grid-row: 2/3;
  }
}
.page-header.reverse[data-en]::after {
  inset-inline: auto -0.0416666667em;
}
@media print, screen and (min-width:768px) {
  .page-header.reverse {
    grid-template-columns: 2fr 1fr;
  }
}
.page-header.reverse .page-header_img {
  margin-inline: min(min(0.03125 * (100vw - var(--scrollbar-size)), 40px) * -1, (1200px - (100vw - var(--scrollbar-size))) / 2) 0;
}
@media print, screen and (min-width:768px) {
  .page-header.reverse .page-header_main, .page-header.reverse .page-header_sub {
    grid-column: 2/3;
  }
  .page-header.reverse .page-header_img, .page-header.reverse[data-en]::after {
    grid-column: 1/2;
  }
}

/*+++ content +++*/
.content-section + .content-section {
  margin-block-start: clamp(3.5rem, 4.42vw + 2.4641rem, 6rem);
}
.content-section_headline {
  margin-block-end: clamp(1.5rem, 2.65vw + 0.8785rem, 3rem);
  display: flex;
  align-items: center;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.content-section_headline-en {
  color: #111A12;
  font-size: clamp(1.125rem, 0.66vw + 0.9696rem, 1.5rem);
  text-transform: uppercase;
  display: inline-block;
  font-family: "Ovo", "Noto Serif JP", serif;
  font-weight: 400;
}
.content-section_headline-en::first-letter {
  color: #A71D26;
}
.content-section_headline::after {
  content: "";
  flex-grow: 1;
  height: 1px;
  background: #CFCAC3;
}
@media screen and (max-width:500px) {
  .content-section.support-culture .content-section_headline {
    flex-wrap: wrap;
  }
  .content-section.support-culture .content-section_headline > .content-section_headline-en {
    width: 100%;
  }
}

.content-subsection + .content-subsection {
  margin-block-start: clamp(3rem, 1.77vw + 2.5856rem, 4rem);
}
.content-subsection_headline {
  color: #111A12;
  font-size: clamp(1.25rem, 0.44vw + 1.1464rem, 1.5rem);
  margin-block-end: clamp(1.25rem, 1.33vw + 0.9392rem, 2rem);
}
.content-subsection_headline.text-en, .content-subsection_headline[data-en]::before {
  font-size: clamp(2rem, 1.77vw + 1.5856rem, 3rem);
  font-family: "Ovo", "Noto Serif JP", serif;
  font-weight: 400;
}
.content-subsection_headline.text-en {
  margin-block-end: 0.5rem;
}
.content-subsection_headline[data-en] {
  color: #616161;
  font-size: 1rem;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.content-subsection_headline[data-en]::before {
  content: attr(data-en);
  color: #111A12;
}

/*+++ card +++*/
.card-box {
  display: grid;
  -moz-column-gap: clamp(1.5rem, 1.77vw + 1.0856rem, 2.5rem);
       column-gap: clamp(1.5rem, 1.77vw + 1.0856rem, 2.5rem);
}
.card-box:has(> .is-style-page-section) {
  row-gap: clamp(2.5rem, 3.54vw + 1.6713rem, 4.5rem);
  margin-inline: auto;
  max-width: 960px;
}
.card-box:has(> .is-style-page-subsection) {
  row-gap: clamp(2rem, 2.65vw + 1.3785rem, 3.5rem);
}
.card-box:has(> .is-style-inner-section) {
  row-gap: clamp(1.5rem, 0.88vw + 1.2928rem, 2rem);
}
@media print, screen and (min-width:768px) {
  .card-box {
    grid-template-columns: repeat(2, 1fr);
  }
  .card-box > :is(.is-style-page-section, .is-style-page-subsection, .is-style-inner-section) {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    row-gap: 0;
  }
  .card-box > :is(.is-style-page-section, .is-style-page-subsection, .is-style-inner-section):has(figure) {
    grid-row: span 3;
  }
  .card-box > :is(.is-style-page-section, .is-style-page-subsection, .is-style-inner-section) > * {
    width: 100%;
  }
  .card-box > :is(.is-style-page-section, .is-style-page-subsection, .is-style-inner-section) figure:has(img) {
    margin-block-start: 1.75rem;
  }
  .card-box > :is(.is-style-page-section, .is-style-page-subsection, .is-style-inner-section) figure:has(img) img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .card-box > :is(.is-style-page-section, .is-style-page-subsection, .is-style-inner-section).wide {
    grid-template-columns: subgrid;
    grid-column: span 2;
  }
  .card-box > :is(.is-style-page-section, .is-style-page-subsection, .is-style-inner-section).wide > * {
    grid-column: 1/3;
  }
}
.card-box > * + :is(.is-style-page-section, .is-style-page-subsection, .is-style-inner-section) {
  margin-block-start: 0;
}

/*+++ course +++*/
@media screen and (max-width:767.99px) {
  .job-cat figure {
    margin-block-start: 1rem;
  }
}
.job-cat figure img {
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width:767.99px) {
  .job-cat figure img {
    max-height: 320px;
  }
}
@media print, screen and (min-width:768px) {
  .job-cat figure img {
    min-height: 300px;
  }
}
.job-cat figure.position-top img {
  -o-object-position: top center;
     object-position: top center;
}
@media print, screen and (min-width:768px) {
  .job-cat figure.yokonaga img {
    min-height: 240px;
  }
}
.job-cat > .is-style-page-section:has(img),
.job-cat > .is-style-page-subsection:has(img) {
  display: grid;
}
.job-cat > .is-style-page-section:has(img) > *,
.job-cat > .is-style-page-subsection:has(img) > * {
  width: 100%;
}
@media print, screen and (min-width:768px) {
  .job-cat > .is-style-page-section:has(img),
  .job-cat > .is-style-page-subsection:has(img) {
    grid-template-columns: 3fr 2fr;
    grid-template-rows: auto 1fr;
  }
  .job-cat > .is-style-page-section:has(img) figure,
  .job-cat > .is-style-page-subsection:has(img) figure {
    grid-column: 2/3;
    grid-row: 1/3;
    align-self: stretch;
  }
}

/*+++ internship +++*/
.intern-program > * {
  display: grid;
}
.intern-program > * > .wp-block-image {
  margin-block-start: min(0.03125 * (100vw - var(--scrollbar-size)), 40px);
}
@media print, screen and (min-width:500.01px) {
  .intern-program > * {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto 1fr;
  }
  .intern-program > * > .wp-block-image {
    grid-column: 2/3;
    grid-row: 1/3;
    margin: 0 0 0 min(0.03125 * (100vw - var(--scrollbar-size)), 40px);
  }
  .intern-program > * > .wp-block-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.intern-program_list dt {
  color: #111A12;
  background: #fff;
  padding: 0.25rem clamp(0.5rem, 0.88vw + 0.2928rem, 1rem);
}
.intern-program_list dd {
  padding: clamp(0.5rem, 0.88vw + 0.2928rem, 1rem) clamp(0.5rem, 1.77vw + 0.0856rem, 1.5rem);
}
.intern-program_list dd + dt {
  margin-block-start: 1rem;
}

/*+++ footer +++*/
#footer {
  color: #fff;
  background-color: #111A12;
  background-image: url("../img/footer_bg.webp");
  padding-block: clamp(2.5rem, 3.54vw + 1.6713rem, 4.5rem) clamp(1.5rem, 0.88vw + 1.2928rem, 2rem);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
@media screen and (max-width:767.99px) {
  #footer {
    background-image: linear-gradient(rgba(17, 26, 18, 0.32), rgba(17, 26, 18, 0.32)), url("../img/footer_bg.webp");
  }
}

.f-inner {
  display: grid;
  gap: clamp(1.5rem, 1.77vw + 1.0856rem, 2.5rem);
}
@media print, screen and (min-width:768px) {
  .f-inner {
    grid-template-columns: repeat(3, 1fr);
  }
}
.f-inner a {
  color: #fff;
}
@media (hover: hover) {
  .f-inner a:where(:-moz-any-link, :enabled, summary):hover {
    color: #11605b;
  }
  .f-inner a:where(:any-link, :enabled, summary):hover {
    color: #11605b;
  }
}

@media print, screen and (min-width:768px) {
  .footer-logo {
    grid-column: 1/4;
  }
}

.footer-company {
  margin-block-end: clamp(1.5rem, 0.88vw + 1.2928rem, 2rem);
}
.footer-company_outline {
  margin-block-start: 1.5rem;
  display: flex;
  flex-wrap: wrap;
}
.footer-company_outline dt {
  width: 5em;
}
.footer-company_outline dd {
  width: calc(100% - 5em);
}
@media print, screen and (min-width:768px) {
  .footer-company {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 3;
    grid-template-rows: 1.75em 1fr;
  }
  .footer-company_address {
    grid-column: 1/2;
  }
  .footer-company_outline {
    grid-column: 2/4;
    grid-row: 1/3;
    margin-block-start: 0;
  }
}

.fnav {
  font-size: 0.875rem;
  justify-self: center;
  align-self: center;
}
.fnav-list {
  display: flex;
}
.fnav-list_item + .fnav-list_item::before {
  content: "/";
  margin-inline: 1rem;
  display: inline-block;
}
@media print, screen and (min-width:768px) {
  .fnav {
    grid-column: 3/4;
    grid-row: 3/4;
    justify-self: end;
  }
}

.copyright {
  font-size: 0.875rem;
  justify-self: center;
  align-self: center;
  font-family: "Ovo", "Noto Serif JP", serif;
  font-weight: 400;
}
@media print, screen and (min-width:768px) {
  .copyright {
    grid-column: 2/3;
    grid-row: 3/4;
  }
}