@charset "UTF-8";

/*全体の設定
-----------------------------------------------------------------------------------------*/
* {
  margin: 0;
  padding: 0;
  list-style-type: none;
  font-weight: normal;
  box-sizing: border-box;
}
img {
  border-width: 0;
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  width: auto;
}
* html img {
  border-width: 0;
  vertical-align: top;
}
*:first-child + html img {
  border-width: 0;
  vertical-align: middle;
}
html {
  height: 100%;
}
body {
  text-align: center;
  height: 100%;
  min-width: 75rem;
}
p,
li,
dt,
dd,
input,
table,
figure {
  font-size: 1rem;
  line-height: 2rem;
}
strong {
  font-weight: bold;
}
span {
  font-weight: inherit;
}
table {
  empty-cells: show;
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  background: var(--wp--preset--color--white-color-100);
}
table th,
table td {
  line-height: 1.25rem;
  padding: 1.25rem;
  border: 1px solid var(--wp--preset--color--gray-color-lighter);
  text-align: left;
}
table th {
  padding: 0.625rem;
  background: var(--wp--preset--color--main-color-10);
  text-align: center;
}
/* 左右分けレイアウト*/
.clearfix::after {
  display: block;
  clear: both;
  content: '';
}

/*標準のリンク*/
a {
  outline: none;
  transition: all 0.3s ease;
}
a:hover {
  outline: none;
}
a:link,
a:visited,
a:active {
  outline: none;
}
a[href$='.pdf']:after {
  content: url(images/icon_pdf.png);
  vertical-align: middle;
  margin-left: 0.25rem;
}
a[href$='.xlsx']:after,
a[href$='.xls']:after {
  content: url(images/icon_excel.png);
  vertical-align: middle;
  margin-left: 0.25rem;
}
a[href$='.doc']:after {
  content: url(images/icon_word.png);
  vertical-align: middle;
  margin-left: 0.25rem;
}
/*表示の切り替え*/
.sp {
  display: none;
}
/*-------------------------accessbtn*/
.accessbtn a {
  padding: 0;
  font-size: 0.875rem;
  display: block;
  width: 15rem;
  background: var(--wp--preset--color--accent-color) url(images/ya_w.svg) right
    0.5rem center no-repeat;
  background-size: 0.875rem;
  color: var(--wp--preset--color--white-color-100);
  border-radius: 0.875rem;
  margin: 0.625rem auto;
  position: relative;
  z-index: 1;
  text-align: center;
}
.accessbtn .wp-block-button__link:hover {
  opacity: 0.6;
}
/*-------------------------wrapper*/
#wrapper {
  width: 100%;
  overflow: hidden;
}

/*header
-----------------------------------------------------------------------------------------*/
header {
  background: var(--wp--preset--color--white-color-100);
  width: 100%;
  position: relative;
  min-width: 75rem;
  padding-bottom: 1.875rem;
}
/*-------------------------ロゴ*/
header .logo {
  padding: 1.875rem 1.25rem;
  margin: 0 auto;
  text-align: center;
}
header .logo img {
  object-fit: fill;
  max-width: 75rem;
  max-height: 6rem;
}
header .logo h1 {
  display: block;
  font-size: 0.875rem;
  line-height: 1.625rem;
  color: var(--wp--preset--color--gray-color);
}
header .logo a {
  display: inline-block;
}
header .logo a:hover {
  background: var(--wp--preset--color--white-color-30);
}
header .logo a:hover img {
  opacity: 0.5;
}
header .wp-block-site-logo img:not([width]) {
  /* wordpressのsvgバグが直るまでの措置 */
  max-width: 36rem;
  height: 8rem;
  object-fit: contain;
}
/*-------------------------グローバルメニュー*/
.globalnav.wp-block-buttons {
  display: none;
}
.globalmenu {
  position: static !important; /* ブロックエディター用 */
}
.globalmenu .wp-block-navigation__container {
  background: url(images/header_line.png) right no-repeat;
  justify-content: center;
  width: 75rem;
}
.globalmenu .wp-block-navigation-item {
  line-height: 1.625rem;
  border-left: 0.125rem dotted var(--wp--preset--color--main-color-50);
  width: 12%;
}
.globalmenu .wp-block-navigation-item:first-child {
  border-left: none;
}
.globalmenu .wp-block-navigation-item a {
  display: block;
  width: 100%;
  padding: 0.25rem;
  color: var(--wp--preset--color--gray-color-darker);
  display: block;
  margin: 0 auto;
}
.globalmenu .wp-block-navigation-item a.current,
.globalmenu .wp-block-navigation-item a:hover {
  background: var(--wp--preset--color--brown-color-lighter);
  border-radius: 2.5rem;
}
.globalmenu .wp-block-navigation-item img {
  display: block;
  margin: 0 auto;
  max-width: 3rem;
}
/*-------------------------headerinfo*/
.headerinfo {
  position: absolute !important; /*ブロックエディタ対策*/
  top: 0;
  right: 0;
  padding: 0.5rem;
  background-color: var(--wp--preset--color--main-color-100);
}
.headerinfo .tel {
  align-items: center;
  padding: 0.25rem;
}
.headerinfo .tel figure {
  width: 1.75rem;
  line-height: 2rem;
  margin-right: 0.25rem;
}
.headerinfo .tel a {
  display: block;
  font-size: 2rem;
  font-family: sans-serif;
  color: var(--wp--preset--color--white-color-100);
  white-space: nowrap;
}
.headerinfo .hours {
  align-items: center;
  padding: 0.25rem 1.25rem;
  background-color: var(--wp--preset--color--white-color-100);
}
.headerinfo .hours p {
  line-height: 1; /* 行の高さを1にすることで行間を狭くする */
}
.headerinfo .hours .notice {
  font-size: 0.875rem;
  color: red; /* 赤色にする */
}
/*-------------------------scroll*/
.scroll {
  padding-top: 16.25rem;
}
.scroll header {
  position: fixed;
  top: -3.75rem;
  background: var(--wp--preset--color--white-color-100);
  box-shadow: 0 0 0.25rem var(--wp--preset--color--black-color-50);
  max-width: 100%;
  z-index: 1000;
  border: none;
  padding: 0;
  transition: 0.5s ease;
  transform: translateY(3.75rem);
}
.scroll header .globalmenu .wp-block-navigation-item img {
  max-width: 1.625rem;
  margin-top: 0.25rem;
}
.scroll header .logo,
.scroll header .headerinfo {
  display: none;
}
/*footer
-----------------------------------------------------------------------------------------*/
footer {
  position: relative;
  background: var(--wp--preset--color--white-color-100);
  padding-bottom: 1.25rem;
}
/*-------------------------pagetop*/
#pagetop {
  visibility: hidden;
  opacity: 0;
  transition: 0.5s ease;
}
#pagetop.fadein {
  visibility: visible;
  opacity: 1;
  transition: 0.5s ease;
}
#pagetop a {
  position: fixed;
  bottom: 0.625rem;
  right: 0.625rem;
  width: 5rem;
  height: 5rem;
  background: var(--wp--preset--color--main-color-50);
  z-index: 20;
  border-radius: 5rem;
  display: flex; /* 追加 */
  align-items: center; /* 追加 */
  justify-content: center; /* 追加 */
}
#pagetop img {
  width: 3rem;
  height: 3rem;
}
#pagetop a:hover {
  background: var(--wp--preset--color--main-color-100);
}
#pagetop.bottom a {
  position: absolute;
  bottom: 3rem;
}
/*-------------------------フッターナビ*/
footer nav ul {
  background: var(--wp--preset--color--main-color-100);
}
footer nav ul.wp-block-navigation {
  padding: 0;
}
footer nav li {
  margin-left: 0.625rem;
}
footer nav .wp-block-navigation-item__content {
  padding: 0.625rem 0.625rem 0.625rem 1.875rem;
  background: url(images/maruya_w.svg) left 0.25rem center no-repeat;
  background-size: 1.25rem;
  display: block;
  color: var(--wp--preset--color--white-color-100);
  font-size: 0.875rem;
}
footer nav .wp-block-navigation-item__content:hover {
  background-color: var(--wp--preset--color--black-color-20);
}
/*-------------------------frame*/
footer .frame {
  padding: 1.875rem 6.25rem;
  margin: 0 auto;
}
footer .frame p:not(:last-child) {
  line-height: 1.6;
  margin-bottom: 0.25rem;
}
footer .frame.left {
  text-align: left;
  padding: 1.25rem 1.25rem 1.875rem 1.25rem;
  max-width: 75rem;
}
/*-------------------------footerinfo*/
footer .footerinfo {
  font-size: 0;
}
footer .footerinfo figure,
footer .footerinfo iframe {
  display: inline-block;
  margin: 0.25rem;
  max-width: 16.875rem;
  aspect-ratio: 4/3;
}
footer .left .footerinfo {
  margin-right: 1rem;
}
footer .footerinfo iframe {
  border: 1px solid var(--wp--preset--color--main-color-100); /* 黒の1pxの枠線を追加 */
}
/*-------------------------logo*/
footer .logo {
  font-size: 0.875rem;
  padding-top: 0.125rem;
}
footer .logo img {
  max-width: 15.625rem;
  margin-bottom: 0.25rem;
}
footer .wp-block-site-logo img:not([width]) {
  /* wordpressのsvgバグが直るまでの措置 */
  max-width: 25rem;
  height: 4rem;
  object-fit: contain;
}
/*-------------------------address*/
footer .address {
  font-size: 0.875rem;
}
footer .address span {
  margin-right: 0.625rem;
  white-space: nowrap;
}
footer .address a {
  color: inherit;
}
/*-------------------------copyright*/
footer .copyright {
  position: absolute;
  width: 100%;
  bottom: 0;
  font-family: arial;
  padding: 0.625rem 1rem;
  color: var(--wp--preset--color--gray-color);
}
footer .copyright a {
  color: var(--wp--preset--color--gray-color);
}
footer .copyright a:hover {
  text-decoration: underline;
}
footer .copyright small {
  font-size: 0.75rem;
}
/*-------------------------font*/
.mincho {
  font-family: serif;
  transform: rotate(0.03deg);
}

/*
739px以下
*/
@media screen and (max-width: 739px) {
  /*全体の設定
-----------------------------------------------------------------------------------------*/
  * {
    margin: 0;
    padding: 0;
    list-style-type: none;
    font-weight: normal;
    box-sizing: border-box;
  }
  img {
    border-width: 0;
    vertical-align: bottom;
    max-width: 100%;
    height: auto;
    width: auto;
  }
  * html img {
    border-width: 0;
    vertical-align: top;
  }
  *:first-child + html img {
    border-width: 0;
    vertical-align: middle;
  }
  html {
    height: 100%;
  }
  body {
    text-align: center;
    height: 100%;
    min-width: 20rem;
  }
  p,
  li,
  dt,
  dd,
  input,
  table,
  figure {
    line-height: 1.875rem;
  }
  strong {
    font-weight: bold;
  }
  span {
    font-weight: inherit;
  }
  table {
    empty-cells: show;
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    background: var(--wp--preset--color--white-color-100);
  }
  table th,
  table td {
    font-size: 0.875rem;
    line-height: 1.25rem;
    padding: 0.75rem 0.5rem;
    border: 1px solid var(--wp--preset--color--gray-color-lighter);
    text-align: left;
  }
  table th {
    background: var(--wp--preset--color--main-color-10);
    text-align: center;
  }
  /* 左右分けレイアウト*/
  .clearfix:after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
  .clearfix {
    min-height: 0.125rem;
  }
  * html .clearfix {
    height: 0.125rem;
    /*\*/ /*/
	height: auto;
	overflow: hidden;
	/**/
  }

  /*標準のリンク*/
  a {
    outline: none;
  }
  a:hover {
    outline: none;
  }
  a:link,
  a:visited,
  a:active {
    outline: none;
  }
  a[href$='.pdf']:after {
    content: url(images/icon_pdf.png);
    vertical-align: middle;
    margin-left: 0.25rem;
  }
  a[href$='.xlsx']:after,
  a[href$='.xls']:after {
    content: url(images/icon_excel.png);
    vertical-align: middle;
    margin-left: 0.25rem;
  }
  a[href$='.doc']:after {
    content: url(images/icon_word.png);
    vertical-align: middle;
    margin-left: 0.25rem;
  }
  /*表示の切り替え*/
  .pc {
    display: none;
  }
  /*-------------------------accessbtn*/
  .accessbtn a {
    padding: 0;
    font-size: 0.875rem;
    font-weight: bold;
    display: block;
    width: 15rem;
    background: var(--wp--preset--color--accent-color) url(images/ya_w.svg)
      right no-repeat;
    background-size: 0.875rem;
    color: var(--wp--preset--color--white-color-100);
    border-radius: 1rem;
    margin: 0.625rem auto;
    position: relative;
    z-index: 1;
  }
  .accessbtn .wp-block-button__link:hover {
    opacity: 0.6;
  }
  /*-------------------------フッター固定（フッター高280px）*/
  #wrapper {
    width: 100%;
    padding-top: 3rem;
  }

  /*header
-----------------------------------------------------------------------------------------*/
  header {
    width: 100%;
    min-width: 20rem;
    position: fixed;
    background: var(--wp--preset--color--white-color-100);
    top: 0;
    left: 0;
    z-index: 1000;
    padding-bottom: 0;
  }
  /*-------------------------ロゴ*/
  header .logo {
    padding: 0.5rem 0.625rem;
    height: 3rem;
    text-align: left;
  }
  header .logo h1 {
    display: none;
    font-size: 0.5rem;
    line-height: 0.625rem;
    color: var(--wp--preset--color--gray-color);
    margin-bottom: 0.125rem;
  }
  header .logo a {
    display: block;
  }
  header .logo a img {
    max-height: 2rem;
  }
  header .wp-block-site-logo img:not([width]) {
    /* wordpressのsvgバグが直るまでの措置 */
    max-height: 2rem;
    max-width: 18rem;
    object-fit: contain;
  }
  /*-------------------------globalnav*/
  .globalnav.wp-block-buttons {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1000;
  }
  .globalnav svg {
    display: block;
    width: 3rem;
  }
  .globalnav rect {
    transition: all 0.3s;
    transform: rotate(0deg);
    fill: var(--wp--preset--color--main-color-100);
    transform-box: fill-box;
    transform-origin: center;
  }
  .globalnav.open rect:nth-of-type(1) {
    transform: translateY(8px) rotate(-45deg);
  }
  .globalnav.open rect:nth-of-type(2) {
    opacity: 0;
  }
  .globalnav.open rect:nth-of-type(3) {
    transform: translateY(-8px) rotate(45deg);
  }
  .globalnav button {
    outline: none;
    width: 3rem;
    height: 3rem;
    padding: 0;
  }
  /*-------------------------グローバルメニュー*/
  .globalmenu {
    visibility: hidden; /* 初期状態では非表示 */
    opacity: 0; /* 完全に透明 */
    max-height: 0; /* 高さを0に */
    overflow: hidden; /* 子要素がはみ出さないように */
    position: absolute; /* またはfixed, 位置の調整による */
    top: 0; /* 開始位置 */
    left: 0; /* 左端から */
    right: 0; /* 右端まで */
    transition: opacity 0.2s ease-out, max-height 0.2s ease-out,
      visibility 0s linear 0.2s; /* 閉じる時の遅延を追加 */
  }

  .globalmenu.open {
    visibility: visible; /* 表示 */
    opacity: 1; /* 不透明 */
    max-height: 30rem; /* 適切な最大高さに設定 */
    transition: opacity 0.2s ease-out, max-height 0.2s ease-out,
      visibility 0s 0s; /* 開く時は遅延無し */
  }
  .globalmenu .layer {
    content: '';
    display: block;
    position: fixed;
    top: 3.75rem;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background: var(--wp--preset--color--black-color-80);
    z-index: -1;
  }
  .globalmenu {
    position: static !important; /* ブロックエディター用 */
  }
  .globalmenu .wp-block-navigation-item a.current,
  .globalmenu .wp-block-navigation-item a:hover {
    background: none;
  }
  .globalmenu .wp-block-navigation-item {
    display: list-item;
    width: 50%;
    border-top: 1px solid var(--wp--preset--color--gray-color-lighter);
    border-left: none;
    font-size: 0.875rem;
    line-height: 1.625rem;
    background-color: var(--wp--preset--color--white-color-100);
  }
  .globalmenu .wp-block-navigation-item:first-child {
    display: none;
  }
  .globalmenu .wp-block-navigation-item:nth-child(odd) {
    border-left: 1px solid var(--wp--preset--color--gray-color-lighter);
  }
  .globalmenu .wp-block-navigation-item a {
    display: block;
    color: var(--wp--preset--color--brown-color-dark);
    padding: 0.625rem 0 0.25rem 0;
  }
  .globalmenu .wp-block-navigation-item img {
    display: block;
    margin: 0 auto;
    width: 1.625rem;
    height: 1.625rem;
  }
  .globalmenu .wp-block-navigation-item a.current {
    background: var(--wp--preset--color--gray-color-lightest);
  }
  /*-------------------------headerinfo*/
  .headerinfo {
    position: relative !important; /*ブロックエディタ対策*/
    top: auto;
    right: auto;
    justify-content: center;
    padding: 0.5rem;
    background: var(--wp--preset--color--main-color-100);
  }
  .headerinfo .tel {
    align-items: center;
    padding: 0.25rem;
  }
  .headerinfo .tel figure {
    width: 1.75rem;
  }
  .headerinfo .tel a {
    display: block;
    font-size: 2rem;
    font-family: sans-serif;
    color: var(--wp--preset--color--white-color-100);
    white-space: nowrap;
  }
  .headerinfo .hours {
    align-items: center;
    padding: 0.25rem 1.25rem;
    background-color: var(--wp--preset--color--white-color-100);
  }
  .headerinfo .hours p {
    line-height: 1; /* 行の高さを1にすることで行間を狭くする */
  }
  .headerinfo .hours .notice {
    font-size: 0.875rem;
    color: red; /* 赤色にする */
  }
  /*-------------------------scroll*/
  .scroll {
    padding-top: 0;
  }
  .scroll header {
    box-shadow: 0 0 0.25rem var(--wp--preset--color--black-color-50);
  }
  .scroll header .logo,
  .scroll header .headerinfo {
    display: block;
  }
  /*footer-----------------------------------------------------------------------------------------*/
  footer {
    position: relative;
    overflow: hidden;
    background: var(--wp--preset--color--white-color-100);
    padding-bottom: 3rem;
  }
  /*-------------------------pagetop*/
  #pagetop a {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 3rem;
    height: 3rem;
    background: var(--wp--preset--color--main-color-50);
    z-index: 20;
    border-radius: 3rem;
  }
  #pagetop img {
    width: 1.5rem;
    height: 1.5rem;
  }
  #pagetop a:hover {
    background: var(--wp--preset--color--main-color-100);
  }
  /*-------------------------フッターナビ*/
  footer nav ul.wp-block-navigation {
    background: var(--wp--preset--color--main-color-100);
    width: 100%;
    justify-content: center;
    padding: 0;
  }
  footer nav li {
    display: inline-block;
  }
  footer nav .wp-block-navigation-item__content {
    padding: 0.25rem 0.625rem 0.25rem 1.625rem;
    background: url(images/maruya_w.svg) left 0.25rem center no-repeat;
    background-size: 1.25rem;
    display: block;
    color: var(--wp--preset--color--white-color-100);
    font-weight: bold;
    font-size: 0.75rem;
  }
  footer nav .wp-block-navigation-item__content:hover {
    background-color: var(--wp--preset--color--black-color-20);
  }
  /*-------------------------frame*/
  footer .frame {
    flex-flow: column;
  }
  footer .frame.left {
    padding: 0;
  }
  footer .wp-block-group.footeraddress {
    margin: auto;
    align-items: center;
  }
  /*-------------------------footerinfo*/
  footer .left .footerinfo {
    margin-right: auto;
  }
  footer .footerinfo {
    max-width: 42.5rem;
    padding: 1.25rem 1.25rem 0 1.25rem;
    margin: 0 auto;
    position: relative;
    font-size: 0;
  }
  footer .footerinfo figure,
  footer .footerinfo iframe {
    display: inline-block;
    margin: 0;
    max-width: 50%;
    aspect-ratio: 4/3;
  }
  footer .footerinfo iframe {
    border: 1px solid var(--wp--preset--color--black-color-100); /* 黒の1pxの枠線を追加 */
  }
  /*-------------------------logo*/
  footer p {
    text-align: center;
  }
  footer .logo {
    font-size: 0.75rem;
    line-height: 1.5rem;
    margin: 1rem 0.625rem 0.25rem 0.625rem;
  }
  footer .logo img {
    max-width: 15rem;
    margin-bottom: 0.25rem;
  }
  footer .wp-block-site-logo img:not([width]) {
    /* wordpressのsvgバグが直るまでの措置 */
    max-height: 4rem;
    max-width: 18rem;
    object-fit: contain;
  }
  /*-------------------------address*/
  footer .address {
    font-size: 0.875rem;
    line-height: 1.625rem;
  }
  footer .address span {
    white-space: nowrap;
    display: inline-block;
    margin: 0 0.25rem;
  }
  footer .address span a {
    text-decoration: underline;
  }
  /*-------------------------copyright*/
  footer .copyright {
    position: absolute;
    bottom: 0.25rem;
    font-family: arial;
    color: var(--wp--preset--color--gray-color);
    text-align: left;
    width: 100%;
  }
  footer .copyright a {
    color: var(--wp--preset--color--gray-color);
  }
  footer .copyright small {
    font-size: 0.625rem;
    line-height: 2;
    display: block;
  }
  /*-------------------------font*/
  .mincho {
    font-family: serif;
    transform: rotate(0.03deg);
  }
}
