@charset "UTF-8";
* {
  position: relative;
  box-sizing: border-box;
  z-index: auto; }

html {
  width: 100%;
  height: 100%;
  font-size: 100%;
  font-feature-settings: "palt";
  overflow-x: hidden;
  position: relative;
  /* Safari対策として必須 */ }
  @media screen and (max-width: 719px) {
    html {
      font-size: 3.5vmin; } }
  @media (min-width: 720px) {
    html {
      /* clamp( 最小値px, 中間値{ 最小値 + 拡大幅 }, 最大値px )*/
      /*font-size: clamp( 14px, 10px + 0.67vw, 18px );*/
      font-size: clamp( 14px, 10px + 0.67vw, 18px ); } }
  @media print {
    html {
      font-size: 9pt; } }
  @media screen and (max-width: 600px) {
    html:has(body.admin-bar) #wpadminbar {
      position: fixed;
      margin-top: 46px; } }
  @media screen and (max-width: 782px) {
    html:has(body.admin-bar) {
      height: calc(100% - 46px); } }
  @media (min-width: 783px) {
    html:has(body.admin-bar) {
      height: calc(100% - 32px); } }

body {
  display: flex;
  flex-direction: column;
  max-width: 100%;
  min-height: 100%;
  overflow-x: hidden; }

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

svg {
  fill: currentColor; }

input,
textarea,
button {
  -webkit-appearance: none;
  color: inherit;
  background-color: inherit;
  border-color: inherit; }

.-sp,
.-tb,
.-pc {
  display: none; }

@media screen and (max-width: 719px) {
  .-sp {
    display: inherit; } }
@media (min-width: 720px) and (max-width: 1199px) {
  .-tb {
    display: inherit; } }
@media (min-width: 1200px) {
  .-pc {
    display: inherit; } }
input.switch {
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  position: absolute; }

.icn {
  width: 1em;
  height: 1em; }

.site_logo {
  display: block;
  line-height: 1; }
  .site_logo img {
    vertical-align: bottom; }
  .site_logo.mahoroba_logo01 img {
    aspect-ratio: 468 / 188; }

.site_header {
  z-index: 2000;
  flex-wrap: nowrap;
  box-shadow: 0 0 0.8rem 0 rgba(0, 0, 0, 0.16); }
  .site_header a {
    color: inherit;
    text-decoration: none; }
  .site_header .site_logo {
    position: relative;
    margin-right: auto;
    width: 7.25em;
    filter: invert(19%) sepia(0%) saturate(48%) hue-rotate(222deg) brightness(96%) contrast(94%); }
    .site_header .site_logo + * {
      margin-left: auto; }
  .site_header.-fixed {
    position: fixed;
    top: 0;
    right: 0;
    left: 0; }
    @media screen and (max-width: 782px) {
      body.admin-bar .site_header.-fixed {
        margin-top: 46px; } }
    @media (min-width: 783px) {
      body.admin-bar .site_header.-fixed {
        margin-top: 32px; } }
  @media screen and (max-width: 719px) {
    .site_header {
      height: 6rem; }
      .site_header .site_logo {
        z-index: 4100; }
      .site_header:has(#gnav_switch:checked) .site_logo {
        filter: invert(100%) sepia(0%) saturate(2%) hue-rotate(322deg) brightness(105%) contrast(100%); }
      .site_header.-fixed + .site_content {
        padding-top: 6rem; } }
  @media (min-width: 720px) {
    .site_header {
      height: 5rem; }
      .site_header.-fixed + .site_content {
        padding-top: 5rem; } }

#gnav_switch + #gnav_button {
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  margin: auto 5%;
  width: 3rem;
  height: 3rem;
  text-align: center;
  line-height: 1;
  overflow: hidden;
  z-index: 4800;
  translate: 0 -50%;
  background-color: var(--wp--preset--color--theme-maincolor); }
  #gnav_switch + #gnav_button::before, #gnav_switch + #gnav_button::after {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    left: 0;
    margin: auto;
    width: 60%;
    height: 22.5%;
    border-style: solid;
    border-width: 1px 0;
    transition: height 0.2s 0.2s, transform 0.2s 0s; }
  #gnav_switch + #gnav_button::before {
    bottom: 50%; }
  #gnav_switch + #gnav_button::after {
    margin-top: -1px;
    top: 50%; }
  #gnav_switch + #gnav_button .menu_txt {
    display: none;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    font-family: var(--wp--preset--font-family--theme-gothic-text);
    font-size: var(--wp--preset--font-size--smallest);
    text-transform: uppercase;
    scale: 0.8;
    transform-origin: center bottom; }
  @media (min-width: 720px) {
    #gnav_switch + #gnav_button {
      display: none; } }
#gnav_switch:checked + #gnav_button,
#gnav_switch:checked ~ #language_menu {
  color: var(--wp--preset--color--theme-white); }
#gnav_switch:checked + #gnav_button::before, #gnav_switch:checked + #gnav_button::after {
  height: 0;
  transition: height 0.2s 0s, transform 0.2s 0.2s; }
#gnav_switch:checked + #gnav_button::before {
  transform: rotate(45deg); }
#gnav_switch:checked + #gnav_button::after {
  transform: rotate(-45deg); }
@media screen and (max-width: 719px) {
  #gnav_switch ~ .widget_nav_menu {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 4000;
    padding: 0;
    height: 100%;
    max-height: 0;
    background-color: var(--wp--preset--color--theme-maincolor);
    color: var(--wp--preset--color--theme-white);
    opacity: 0;
    transition: all 0.2s;
    overflow: hidden; } }
  @media screen and (max-width: 719px) and (max-width: 782px) {
    body.admin-bar #gnav_switch ~ .widget_nav_menu {
      margin-top: 46px; } }
  @media screen and (max-width: 719px) and (min-width: 783px) {
    body.admin-bar #gnav_switch ~ .widget_nav_menu {
      margin-top: 32px; } }
@media screen and (max-width: 719px) {
    #gnav_switch ~ .widget_nav_menu::before {
      content: '';
      display: block;
      position: relative;
      height: 6rem;
      z-index: -10; }
    #gnav_switch ~ .widget_nav_menu .menu-main_menu-container {
      padding: var(--wp--preset--spacing--40);
      max-height: 100vh;
      overflow-y: auto; }
  #gnav_switch:checked ~ .widget_nav_menu {
    max-height: 100%;
    opacity: 1; } }

#menu-main_menu {
  list-style: none;
  margin: 0;
  padding: 0;
  line-height: 1; }
  #menu-main_menu .menu-item a {
    display: inline-block;
    padding: 0.25em;
    line-height: 1.25; }
  @media screen and (max-width: 719px) {
    #menu-main_menu {
      font-size: var(--wp--preset--font-size--xx-large); }
      #menu-main_menu .menu-item {
        padding: 0.5em 0; }
        #menu-main_menu .menu-item:not(:last-of-type) {
          border-bottom: solid 1px; }
        #menu-main_menu .menu-item.button {
          margin-top: var(--wp--preset--spacing--30);
          text-align: center; }
          #menu-main_menu .menu-item.button a {
            background-color: var(--wp--preset--color--theme-emcolor);
            color: var(--wp--preset--color--theme-white);
            padding: 0.5em;
            min-width: 7em; } }
  @media (min-width: 720px) {
    #menu-main_menu {
      display: flex;
      align-items: center;
      gap: min(1.5vw, 1rem);
      font-size: var(--wp--preset--font-size--small); }
      #menu-main_menu .menu-item.button a {
        background-color: var(--wp--preset--color--theme-maincolor);
        color: var(--wp--preset--color--theme-white);
        padding: 0.5em;
        min-width: 7em;
        text-align: center;
        border-radius: 25em;
        border: solid 1px #FFF; } }

#language_menu {
  width: 2.5rem;
  height: 2.5rem;
  line-height: 1;
  z-index: 4900; }
  #language_menu .menu_list {
    list-style: none;
    position: absolute;
    top: 0;
    left: 50%;
    margin: 0;
    padding: 0;
    background-color: rgba(0, 0, 0, 0.6);
    color: var(--wp--preset--color--theme-white);
    font-size: var(--wp--preset--font-size--small);
    white-space: nowrap;
    word-break: keep-all;
    text-align: center;
    overflow: hidden;
    transition: all 0.2s;
    translate: -50% 0;
    z-index: 0; }
    #language_menu .menu_list::before {
      content: '';
      display: block;
      height: 1.75rem; }
    #language_menu .menu_list > li {
      padding: 0.25em 0.75em; }
    #language_menu .menu_list::before,
    #language_menu .menu_list > li {
      float: left;
      margin-top: -100%;
      opacity: 0;
      width: 100%;
      transition: all 0.4s; }
  #language_menu #language_btn {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 1em;
    height: 1em;
    font-size: 1.75rem;
    line-height: 1;
    transition: all 0.2s;
    z-index: 10; }
    #language_menu #language_btn .icn {
      vertical-align: bottom; }
  #language_menu:hover #language_btn {
    color: var(--wp--preset--color--theme-white); }
  #language_menu:hover .menu_list::before,
  #language_menu:hover .menu_list > li {
    margin-top: 0.5em;
    opacity: 1; }
  @media screen and (max-width: 719px) {
    #language_menu {
      margin-right: 4.5rem; } }

.site_footer a {
  color: inherit;
  text-decoration: none;
  padding: 0.5em 0.75em !important; }
  .site_footer a:hover {
    text-decoration: underline; }
  .site_footer a[target="_blank"]::after {
    content: '';
    display: inline-block;
    margin-left: 0.25em;
    margin-bottom: 0.25em;
    width: 1em;
    height: 1em;
    vertical-align: middle;
    background-image: url(../images/arr-link_blank-w.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 1em 1em; }
.site_footer .site_logo {
  width: 10.27em;
  filter: invert(100%) sepia(0%) saturate(2%) hue-rotate(322deg) brightness(105%) contrast(100%); }
.site_footer .footer_column {
  align-items: stretch !important;
  justify-content: space-between; }
  .site_footer .footer_column .wp-block-column:first-child {
    position: relative;
    padding: 4vw 0; }
  .site_footer .footer_column .wp-block-column:first-child::before {
    display: block;
    content: "";
    width: 1px;
    height: 100%;
    background: #FFF;
    position: absolute;
    top: 0;
    right: 0; }
  @media screen and (max-width: 719px) {
    .site_footer .footer_column .wp-block-column:first-child::before {
      display: none; } }
  .site_footer .footer_column .widget_nav_menu {
    margin-top: 3rem; }
.site_footer .group_list ul > li::before {
  content: '–';
  display: inline-block;
  width: 1em;
  height: 1em;
  text-align: center; }
.site_footer .inquiry_menu {
  gap: 1rem 5%; }
  .site_footer .inquiry_menu .wp-block-button {
    flex-grow: 1; }
    .site_footer .inquiry_menu .wp-block-button > .wp-block-button__link {
      display: block; }
      .site_footer .inquiry_menu .wp-block-button > .wp-block-button__link::after {
        display: none; }
  @media screen and (max-width: 719px) {
    .site_footer .inquiry_menu .wp-block-button {
      width: 42.5%; } }
  @media (min-width: 720px) {
    .site_footer .inquiry_menu .wp-block-button {
      width: 100%; } }

.menu-foot_menu-container {
  font-size: var(--wp--preset--font-size--small); }
  .menu-foot_menu-container a {
    color: inherit;
    text-decoration: none;
    line-height: 1.25; }
    .menu-foot_menu-container a:hover {
      text-decoration: underline; }
  .menu-foot_menu-container .menu {
    margin-bottom: -1em;
    line-height: 1; }
    .menu-foot_menu-container .menu, .menu-foot_menu-container .menu .sub-menu {
      list-style: none;
      padding: 0; }
    .menu-foot_menu-container .menu > li > a {
      display: none; }
    .menu-foot_menu-container .menu .sub-menu {
      display: flex;
      flex-wrap: wrap; }
      .menu-foot_menu-container .menu .sub-menu > li {
        margin-bottom: 1em;
        margin-left: -1px;
        padding: 0 0.5em;
        border-style: solid;
        border-width: 0 1px; }
  @media screen and (max-width: 719px) {
    .menu-foot_menu-container .sub-menu {
      justify-content: center; } }
  @media (min-width: 720px) {
    .menu-foot_menu-container .sub-menu > li:first-of-type {
      padding-left: 0;
      border-left: none; }
    .menu-foot_menu-container .sub-menu > li:last-of-type {
      padding-right: 0;
      border-right: none; } }

.main_block {
  padding: 5% 0; }
  .main_block .main_head {
    margin-bottom: var(--wp--preset--spacing--30); }
    .main_block .main_head .main_title {
      margin: 1.5em auto 1em;
      font-family: var(--wp--preset--font-family--theme-mincho-text);
      font-size: var(--wp--preset--font-size--xxxx-large);
      font-weight: 400;
      line-height: 1.5;
      text-transform: uppercase; }
  .main_block .main_foot {
    margin-top: var(--wp--preset--spacing--30); }

.post_list {
  list-style: none;
  padding: 0; }

/* Pager */
.pager {
  margin: var(--wp--preset--spacing--40);
  font-size: var(--wp--preset--font-size--medium);
  text-align: center;
  line-height: 1; }
  .pager a {
    color: inherit; }
  .pager .page_list,
  .pager .page-numbers {
    list-style: none;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0; }
  .pager.pager_single .page_list {
    display: flex; }
    .pager.pager_single .page_list > li {
      margin: 0;
      width: 12em; }
      .pager.pager_single .page_list > li.prev::before, .pager.pager_single .page_list > li.next::after {
        content: '';
        display: inline-block;
        width: 0.6em;
        height: 0.6em;
        border-style: solid;
        border-width: 1px 1px 0 0; }
      .pager.pager_single .page_list > li.prev {
        margin-right: auto; }
        .pager.pager_single .page_list > li.prev::before {
          transform: rotate(-135deg); }
      .pager.pager_single .page_list > li.next {
        margin-left: auto; }
        .pager.pager_single .page_list > li.next::after {
          transform: rotate(45deg); }
      .pager.pager_single .page_list > li.index {
        position: absolute;
        bottom: 0;
        right: 0;
        left: 0;
        margin-right: auto;
        margin-left: auto; }
  @media screen and (max-width: 719px) {
    .pager.pager_single .page_list {
      flex-wrap: wrap;
      justify-content: center;
      padding-bottom: 4.5rem; } }
  .pager:not(.pager_single) .page_list > li:not(:last-child),
  .pager:not(.pager_single) .page-numbers > li:not(:last-child) {
    margin-right: 0.5em; }
  .pager:not(.pager_single) .page_list a,
  .pager:not(.pager_single) .page_list span.current,
  .pager:not(.pager_single) .page-numbers a,
  .pager:not(.pager_single) .page-numbers span.current {
    display: block;
    padding: 0.5em;
    width: 2em;
    height: 2em;
    border: solid 1px var(--wp--preset--color--theme-emcolor);
    text-decoration: none; }
    .pager:not(.pager_single) .page_list a:hover,
    .pager:not(.pager_single) .page_list span.current:hover,
    .pager:not(.pager_single) .page-numbers a:hover,
    .pager:not(.pager_single) .page-numbers span.current:hover {
      background-color: var(--wp--preset--color--theme-emcolor); }
  .pager:not(.pager_single) .page_list span.current,
  .pager:not(.pager_single) .page-numbers span.current {
    background-color: var(--wp--preset--color--theme-emcolor);
    color: var(--wp--preset--color--theme-white);
    fill: var(--wp--preset--color--theme-white); }
  .pager:not(.pager_single) .page_list .prev,
  .pager:not(.pager_single) .page_list .next,
  .pager:not(.pager_single) .page-numbers .prev,
  .pager:not(.pager_single) .page-numbers .next {
    border: none; }

.map_box {
  aspect-ratio: 2.5; }
  .map_box > iframe {
    width: 100%;
    height: 100%;
    border-radius: 2em; }

#news .wp-block-post {
  margin-right: auto;
  margin-left: auto;
  width: 100%; }
  #news .wp-block-post a {
    color: inherit;
    text-decoration: none; }
  #news .wp-block-post .post_thumb {
    aspect-ratio: 1 / 1;
    background-color: var(--wp--preset--color--theme-white);
    overflow: hidden;
    border-radius: 50%; }
    #news .wp-block-post .post_thumb .wp-block-read-more {
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      left: 0;
      width: 100%;
      height: 100%;
      color: transparent;
      text-indent: -100%; }
  #news .wp-block-post .post_info {
    line-height: 1; }
  #news .wp-block-post .wp-block-post-terms a {
    pointer-events: none;
    display: block;
    padding: 0.25em 0.5em;
    background-color: var(--wp--preset--color--theme-emcolor);
    color: var(--wp--preset--color--theme-white); }
@media screen and (max-width: 719px) {
  #news .post_list {
    grid-template-columns: repeat(1, 1fr);
    gap: var(--wp--preset--spacing--40); }
  #news .wp-block-post {
    width: 90%; } }
@media (min-width: 720px) {
  #news .post_list {
    grid-template-columns: repeat(3, 1fr);
    gap: 5%; } }

[data-inview] {
  transition: all 1s .1s; }

[data-inview="true"] {
  opacity: 1;
  translate: 0 0; }

[data-inview="false"] {
  opacity: 0;
  translate: 0 var(--wp--preset--spacing--40); }

body .mfp-bg {
  z-index: 5042; }
body .mfp-wrap {
  z-index: 5043; }

.-hide {
  display: none !important; }

body.logged-in .-logged-in {
  opacity: .6; }
  body.logged-in .-logged-in:hover {
    opacity: 1; }
body:not(.logged-in) .-logged-in {
  display: none !important; }

/*# sourceMappingURL=layout.css.map */
