@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500&Noto+Sans+JP:wght@400;500;700;900&display=swap");
.bg-gray {
  background-color: #eaeaea; }

.font-serif {
  font-family: 'Noto Serif JP', serif;
  font-weight: 500; }

/* for bootstrap */
@media print {
  a[href]:after {
    content: ""; }

  abbr[title]:after {
    content: ""; } }
/* for IE scrollbar */
@-ms-viewport {
  width: auto;
  initial-scale: 1; }
/* rem control */
html {
  font-size: 16px;
  background-color: #fff;
  font-feature-settings: "palt", "kern";
  word-wrap: break-word;
  overflow-wrap: break-word; }
  @media screen and (max-width: 767px) {
    html {
      font-size: 15px; } }

body {
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: none;
  font-feature-settings: "palt";
  color: #231815;
  font-size: 1.0rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.02em; }

img {
  max-width: 100%; }

ul, li, dl, dt, dd {
  list-style-type: none;
  margin: 0px;
  padding: 0px;
  display: block; }

h1, h2, h3, h4, h5, h6 {
  font-weight: bold; }

a {
  outline: 0px none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  transition: opacity 0.3s; }

a:not(.btn) {
  outline: 0px none;
  font-weight: 700;
  text-decoration: none;
  -webkit-touch-callout: none;
  color: #000; }
  a:not(.btn):visited, a:not(.btn):active {
    color: #000; }
  a:not(.btn) img {
    transition: opacity 0.3s; }
  a:not(.btn):hover {
    color: #000; }

a.btn-link {
  text-decoration: underline; }

.icon-arrow:after {
  content: '';
  display: inline-block;
  width: 0.6em;
  height: 0.6em;
  border-top: 2px solid;
  border-right: 2px solid;
  margin-left: 0.15em;
  position: relative;
  top: -0.05em;
  transform: rotate(45deg); }

.icon-tri {
  position: relative; }
  .icon-tri:after {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-width: 0.33em;
    border-style: solid;
    border-top-color: transparent;
    border-right-color: transparent;
    border-bottom-color: transparent;
    position: relative;
    top: 50%;
    left: .5em; }

.icon-down {
  position: relative; }
  .icon-down:after {
    content: '';
    display: inline-block;
    width: 0.6em;
    height: 0.6em;
    border-right: 2px solid;
    border-bottom: 2px solid;
    margin-left: 0.5em;
    position: relative;
    top: -0.1em;
    transform: rotate(45deg); }

.icon-exlink:after {
  content: "❐";
  display: inline-block;
  margin-left: 0.3em;
  font-size: 113%; }

.btn {
  position: relative;
  letter-spacing: 0.3em;
  font-weight: 500;
  border-radius: 0;
  padding: 1em 1em;
  font-family: 'Noto Serif JP', serif;
  font-weight: 500;
  min-width: 230px; }
  @media (max-width: 767px) {
    .btn {
      padding: 0.7em 1em;
      min-width: 160px; } }
  .btn.btn-black {
    border: 1px solid #231815;
    background-color: #231815;
    color: #fff;
    font-size: 18px; }
    .btn.btn-black:hover {
      background-color: transparent;
      color: #231815; }
    @media (max-width: 767px) {
      .btn.btn-black {
        font-size: 14px; } }
  .btn.btn-outline-black {
    border: 1px solid #231815;
    background-color: #fff;
    color: #231815;
    font-size: 18px; }
    .btn.btn-outline-black:hover {
      background-color: #231815;
      color: #fff; }
    @media (max-width: 767px) {
      .btn.btn-outline-black {
        border-width: 1px;
        font-size: 14px; } }
  .btn.icon-arrow {
    padding-right: 2em; }
    .btn.icon-arrow:after {
      position: absolute;
      right: 6%;
      top: 50%;
      transform: translateY(-50%) rotate(45deg); }
  .btn.icon-exlink {
    padding-right: 2em; }
    .btn.icon-exlink:after {
      position: absolute;
      right: 3%;
      top: 50%;
      transform: translateY(-50%); }

.icon-toggle {
  display: block;
  position: relative; }
  .icon-toggle:after {
    content: "\0203a";
    position: absolute;
    right: 10px;
    top: 0; }
  .icon-toggle.open:after {
    transform: rotate(90deg); }

.btn-pill {
  border-radius: 200em; }

.strong {
  font-weight: 700; }

.text-large {
  font-size: 116%; }

.break {
  display: inline-block;
  white-space: normal;
  word-break: break-all;
  hyphens: auto;
  overflow-wrap: break-word;
  word-wrap: break-word; }

.nowrap {
  white-space: nowrap; }

.ellipsis {
  width: auto;
  white-space: nowrap;
  overflow: hidden;
  -ms-text-overflow: ellipsis;
  /* Required for IE8 */
  -o-text-overflow: ellipsis;
  /* Required for Opera */
  text-overflow: ellipsis; }

@media (max-width: 767px) {
  .sp-small {
    font-size: 80%; } }

.indent {
  text-indent: -1em;
  padding-left: 1em; }
  .indent.i5 {
    text-indent: -0.5em;
    padding-left: 0.5em; }
  .indent.i11 {
    text-indent: -1.1em;
    padding-left: 1.1em; }
  .indent.i13 {
    text-indent: -1.3em;
    padding-left: 1.3em; }
  .indent.i15 {
    text-indent: -1.5em;
    padding-left: 1.5em; }

.indent-childs > * {
  text-indent: -1em;
  padding-left: 1em; }
.indent-childs.i5 > * {
  text-indent: -0.5em;
  padding-left: 0.5em; }
.indent-childs.i11 > * {
  text-indent: -1.1em;
  padding-left: 1.1em; }
.indent-childs.i13 > * {
  text-indent: -1.3em;
  padding-left: 1.3em; }
.indent-childs.i15 > * {
  text-indent: -1.5em;
  padding-left: 1.5em; }

.w100 {
  width: 100%; }

.mt5 {
  margin-top: 5px; }

.mt15 {
  margin-top: 15px; }

.mt25 {
  margin-top: 25px; }

.ml5 {
  margin-left: 5px; }

.ml10 {
  margin-left: 10px; }

.mr10 {
  margin-right: 10px; }

.mr15 {
  margin-right: 15px; }

.mb5 {
  margin-bottom: 5px; }

.mt10 {
  margin-top: 10px; }

.mb10 {
  margin-bottom: 10px; }

.my10 {
  margin-top: 10px;
  margin-bottom: 10px; }

.pt10 {
  padding-top: 10px; }

.pb10 {
  padding-bottom: 10px; }

.py10 {
  padding-top: 10px;
  padding-bottom: 10px; }

.mt20 {
  margin-top: 20px; }

.mb20 {
  margin-bottom: 20px; }

.my20 {
  margin-top: 20px;
  margin-bottom: 20px; }

.pt20 {
  padding-top: 20px; }

.pb20 {
  padding-bottom: 20px; }

.py20 {
  padding-top: 20px;
  padding-bottom: 20px; }

.mt30 {
  margin-top: 30px; }

.mb30 {
  margin-bottom: 30px; }

.my30 {
  margin-top: 30px;
  margin-bottom: 30px; }

.pt30 {
  padding-top: 30px; }

.pb30 {
  padding-bottom: 30px; }

.py30 {
  padding-top: 30px;
  padding-bottom: 30px; }

.mt40 {
  margin-top: 40px; }

.mb40 {
  margin-bottom: 40px; }

.my40 {
  margin-top: 40px;
  margin-bottom: 40px; }

.pt40 {
  padding-top: 40px; }

.pb40 {
  padding-bottom: 40px; }

.py40 {
  padding-top: 40px;
  padding-bottom: 40px; }

.mt50 {
  margin-top: 50px; }

.mb50 {
  margin-bottom: 50px; }

.my50 {
  margin-top: 50px;
  margin-bottom: 50px; }

.pt50 {
  padding-top: 50px; }

.pb50 {
  padding-bottom: 50px; }

.py50 {
  padding-top: 50px;
  padding-bottom: 50px; }

.mt60 {
  margin-top: 60px; }

.mb60 {
  margin-bottom: 60px; }

.my60 {
  margin-top: 60px;
  margin-bottom: 60px; }

.pt60 {
  padding-top: 60px; }

.pb60 {
  padding-bottom: 60px; }

.py60 {
  padding-top: 60px;
  padding-bottom: 60px; }

.mt70 {
  margin-top: 70px; }

.mb70 {
  margin-bottom: 70px; }

.my70 {
  margin-top: 70px;
  margin-bottom: 70px; }

.pt70 {
  padding-top: 70px; }

.pb70 {
  padding-bottom: 70px; }

.py70 {
  padding-top: 70px;
  padding-bottom: 70px; }

.mt80 {
  margin-top: 80px; }

.mb80 {
  margin-bottom: 80px; }

.my80 {
  margin-top: 80px;
  margin-bottom: 80px; }

.pt80 {
  padding-top: 80px; }

.pb80 {
  padding-bottom: 80px; }

.py80 {
  padding-top: 80px;
  padding-bottom: 80px; }

.mt90 {
  margin-top: 90px; }

.mb90 {
  margin-bottom: 90px; }

.my90 {
  margin-top: 90px;
  margin-bottom: 90px; }

.pt90 {
  padding-top: 90px; }

.pb90 {
  padding-bottom: 90px; }

.py90 {
  padding-top: 90px;
  padding-bottom: 90px; }

.mt100 {
  margin-top: 100px; }

.mb100 {
  margin-bottom: 100px; }

.my100 {
  margin-top: 100px;
  margin-bottom: 100px; }

.pt100 {
  padding-top: 100px; }

.pb100 {
  padding-bottom: 100px; }

.py100 {
  padding-top: 100px;
  padding-bottom: 100px; }

.mt110 {
  margin-top: 110px; }

.mb110 {
  margin-bottom: 110px; }

.my110 {
  margin-top: 110px;
  margin-bottom: 110px; }

.pt110 {
  padding-top: 110px; }

.pb110 {
  padding-bottom: 110px; }

.py110 {
  padding-top: 110px;
  padding-bottom: 110px; }

.mt120 {
  margin-top: 120px; }

.mb120 {
  margin-bottom: 120px; }

.my120 {
  margin-top: 120px;
  margin-bottom: 120px; }

.pt120 {
  padding-top: 120px; }

.pb120 {
  padding-bottom: 120px; }

.py120 {
  padding-top: 120px;
  padding-bottom: 120px; }

.mt130 {
  margin-top: 130px; }

.mb130 {
  margin-bottom: 130px; }

.my130 {
  margin-top: 130px;
  margin-bottom: 130px; }

.pt130 {
  padding-top: 130px; }

.pb130 {
  padding-bottom: 130px; }

.py130 {
  padding-top: 130px;
  padding-bottom: 130px; }

.mt140 {
  margin-top: 140px; }

.mb140 {
  margin-bottom: 140px; }

.my140 {
  margin-top: 140px;
  margin-bottom: 140px; }

.pt140 {
  padding-top: 140px; }

.pb140 {
  padding-bottom: 140px; }

.py140 {
  padding-top: 140px;
  padding-bottom: 140px; }

.mt150 {
  margin-top: 150px; }

.mb150 {
  margin-bottom: 150px; }

.my150 {
  margin-top: 150px;
  margin-bottom: 150px; }

.pt150 {
  padding-top: 150px; }

.pb150 {
  padding-bottom: 150px; }

.py150 {
  padding-top: 150px;
  padding-bottom: 150px; }

.mt160 {
  margin-top: 160px; }

.mb160 {
  margin-bottom: 160px; }

.my160 {
  margin-top: 160px;
  margin-bottom: 160px; }

.pt160 {
  padding-top: 160px; }

.pb160 {
  padding-bottom: 160px; }

.py160 {
  padding-top: 160px;
  padding-bottom: 160px; }

.mt170 {
  margin-top: 170px; }

.mb170 {
  margin-bottom: 170px; }

.my170 {
  margin-top: 170px;
  margin-bottom: 170px; }

.pt170 {
  padding-top: 170px; }

.pb170 {
  padding-bottom: 170px; }

.py170 {
  padding-top: 170px;
  padding-bottom: 170px; }

.mt180 {
  margin-top: 180px; }

.mb180 {
  margin-bottom: 180px; }

.my180 {
  margin-top: 180px;
  margin-bottom: 180px; }

.pt180 {
  padding-top: 180px; }

.pb180 {
  padding-bottom: 180px; }

.py180 {
  padding-top: 180px;
  padding-bottom: 180px; }

.mt190 {
  margin-top: 190px; }

.mb190 {
  margin-bottom: 190px; }

.my190 {
  margin-top: 190px;
  margin-bottom: 190px; }

.pt190 {
  padding-top: 190px; }

.pb190 {
  padding-bottom: 190px; }

.py190 {
  padding-top: 190px;
  padding-bottom: 190px; }

.mt200 {
  margin-top: 200px; }

.mb200 {
  margin-bottom: 200px; }

.my200 {
  margin-top: 200px;
  margin-bottom: 200px; }

.pt200 {
  padding-top: 200px; }

.pb200 {
  padding-bottom: 200px; }

.py200 {
  padding-top: 200px;
  padding-bottom: 200px; }

.mlr5 {
  margin-right: 5px;
  margin-left: 5px; }

.mlr10 {
  margin-right: 10px;
  margin-left: 10px; }

.mlr15 {
  margin-right: 15px;
  margin-left: 15px; }

.mlr20 {
  margin-right: 20px;
  margin-left: 20px; }

.mlr25 {
  margin-right: 25px;
  margin-left: 25px; }

.mlr30 {
  margin-right: 30px;
  margin-left: 30px; }

.mlr35 {
  margin-right: 35px;
  margin-left: 35px; }

.mlr40 {
  margin-right: 40px;
  margin-left: 40px; }

.mlr45 {
  margin-right: 45px;
  margin-left: 45px; }

.mlr50 {
  margin-right: 50px;
  margin-left: 50px; }

.form-control.inline {
  display: inline-block;
  width: auto; }
  .form-control.inline[type=text], .form-control.inline[type=tel] {
    width: 200px; }
  .form-control.inline[type=number] {
    width: 90px; }
.form-control.inline-s {
  width: 90px; }
@media screen and (max-width: 767px) {
  .form-control.inline[type=text] {
    width: 80px; }
  .form-control.inline[type=tel], .form-control.inline[type=number] {
    width: 80px; }
  .form-control.inline-s {
    width: 80px; } }

label {
  font-weight: normal;
  margin-right: 20px;
  cursor: pointer; }

.row.row-narrow {
  margin-left: -5px;
  margin-right: -5px; }
  .row.row-narrow > * {
    padding-left: 5px;
    padding-right: 5px; }
.row.row-collapse {
  margin-left: 0;
  margin-right: 0; }
  .row.row-collapse > * {
    padding-left: 0;
    padding-right: 0; }

.inner {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  padding: 0 15px;
  max-width: 1300px; }
  .inner .inner {
    position: relative;
    margin-left: 60px;
    margin-right: 60px;
    max-width: initial;
    min-width: initial; }
  @media screen and (max-width: 1300px) {
    .inner .inner {
      margin-left: 30px;
      margin-right: 30px; } }
  @media screen and (max-width: 767px) {
    .inner .inner {
      margin-left: 15px;
      margin-right: 15px; } }

.bg-gray {
  background-color: #eaeaea; }

.font-serif {
  font-family: 'Noto Serif JP', serif;
  font-weight: 500; }

header {
  position: fixed;
  z-index: 999;
  background-color: #fff;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100px; }
  @media screen and (max-width: 767px) {
    header {
      height: 50px; } }
  header #header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    padding-left: 13px;
    padding-right: 13px; }
    header #header img[src$="logo.svg"],
    header #header img[src$="logo-symbol.png"] {
      width: auto;
      height: 42px;
      margin-right: 10px; }
      @media (max-width: 767px) {
        header #header img[src$="logo.svg"],
        header #header img[src$="logo-symbol.png"] {
          height: 30px; } }
    header #header a.logo {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate3d(-50%, -50%, 0);
      display: block;
      width: 256px; }
      @media (max-width: 767px) {
        header #header a.logo {
          width: 160px; } }
      header #header a.logo img {
        width: 100%; }
    header #header > div {
      display: inline-flex;
      align-items: center; }
      header #header > div a[href^="https"] {
        display: inline-block;
        margin-right: 1.4em; }
        header #header > div a[href^="https"] img {
          width: 24px; }
      header #header > div .menu-trigger {
        flex-shrink: 0;
        position: relative;
        width: 40px;
        height: 40px;
        right: 5px;
        top: 5px;
        z-index: 999;
        font-size: 10px;
        font-weight: 300;
        display: inline-block;
        text-align: center; }
        @media (max-width: 767px) {
          header #header > div .menu-trigger {
            right: 0;
            top: 0; } }
        header #header > div .menu-trigger span {
          display: inline-block;
          transition: all .4s;
          box-sizing: border-box;
          position: absolute;
          left: 25%;
          width: 50%;
          height: 2px;
          background-color: #000; }
          header #header > div .menu-trigger span:nth-of-type(1) {
            top: 20%; }
          header #header > div .menu-trigger span:nth-of-type(2) {
            top: 40%; }
        header #header > div .menu-trigger:after {
          font-family: 'Noto Serif JP', serif;
          font-weight: 500;
          content: 'topics';
          position: absolute;
          left: 0;
          bottom: 0;
          font-size: 10px;
          display: block;
          width: 100%;
          text-align: center;
          transition: all .4s; }
        header #header > div .menu-trigger.open span:nth-of-type(1) {
          top: 30%;
          transform: rotate(-45deg); }
        header #header > div .menu-trigger.open span:nth-of-type(2) {
          top: 30%;
          transform: rotate(45deg); }
        header #header > div .menu-trigger.open:after {
          content: "閉じる"; }
    header #header .spMenuBox {
      display: none;
      overflow-y: scroll;
      position: fixed;
      width: 100vw;
      /*
      height: calc( 100vh - 50px );
      top: $header_height;
      */
      height: 100vh;
      top: 0;
      left: 0;
      padding: 0;
      background-color: rgba(35, 24, 21, 0.3); }
      @media screen and (max-width: 767px) {
        header #header .spMenuBox {
          top: 50px; } }
      header #header .spMenuBox section {
        display: flex;
        justify-content: flex-end;
        align-items: flex-start; }
        header #header .spMenuBox section > div {
          width: 360px;
          max-width: 100%;
          background-color: #fff;
          padding: 10px 10px 50px;
          overflow-y: auto; }
          header #header .spMenuBox section > div .head {
            font-family: 'Noto Serif JP', serif;
            font-weight: 500;
            font-size: 18px;
            margin-bottom: 30px; }

.bg-gray {
  background-color: #eaeaea; }

.font-serif {
  font-family: 'Noto Serif JP', serif;
  font-weight: 500; }

#contents {
  margin-top: 100px; }
  @media screen and (max-width: 767px) {
    #contents {
      margin-top: 50px; } }

.section-title {
  font-family: 'Noto Serif JP', serif;
  font-weight: 500;
  font-size: 32px;
  text-align: center;
  margin: 0 0 1em; }
  @media screen and (max-width: 767px) {
    .section-title {
      font-size: 26px;
      margin: 0 0 40px; } }
  .section-title.ls300 {
    letter-spacing: 0.3em; }

.thumbs-slide a {
  display: block;
  width: 190px;
  font-weight: 500;
  font-size: 12px;
  margin: 0;
  padding: 0 10px; }
  @media screen and (max-width: 767px) {
    .thumbs-slide a {
      width: 50vw;
      margin: 0 2px;
      font-size: 11px; } }
  .thumbs-slide a time {
    display: block;
    text-align: center;
    font-weight: 700;
    font-size: 16px; }
    @media screen and (max-width: 767px) {
      .thumbs-slide a time {
        font-size: 14px; } }
  .thumbs-slide a .img {
    width: 100%;
    aspect-ratio: 1;
    overflow: hidden; }
    .thumbs-slide a .img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      transition: all 0.3s; }
  .thumbs-slide a .title {
    font-weight: 700;
    text-align: center;
    font-size: 16px;
    line-height: 1.66;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    box-orient: vertical;
    line-clamp: 2; }
    @media screen and (max-width: 767px) {
      .thumbs-slide a .title {
        font-size: 14px;
        margin-bottom: 0.66em; } }
  .thumbs-slide a .leads {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    box-orient: vertical;
    line-clamp: 2; }
  @media screen and (max-width: 767px) {
    .thumbs-slide a > div {
      margin: 0 5px; } }

.slide-arrow {
  display: inline-block;
  position: absolute;
  top: 28%;
  width: 30px;
  height: 30px;
  border-top: 2px solid #000;
  border-left: 2px solid #000;
  transform-origin: center center; }
  .slide-arrow.slide-arrow-prev {
    transform: rotate(-45deg);
    left: 40px; }
    @media (max-width: 768px) {
      .slide-arrow.slide-arrow-prev {
        left: 20px; } }
  .slide-arrow.slide-arrow-next {
    transform: rotate(135deg);
    right: 40px; }
    @media (max-width: 768px) {
      .slide-arrow.slide-arrow-next {
        right: 20px; } }

.article-list {
  border-top: 1px solid #4b4948;
  padding-top: 6px; }
  .article-list a {
    display: flex;
    align-items: center;
    font-weight: 500;
    font-size: 12px;
    margin: 0 10px;
    border-bottom: 1px solid #4b4948;
    padding: 0 10px 6px 10px;
    margin-bottom: 6px; }
    .article-list a .img {
      width: 75px;
      aspect-ratio: 1;
      flex-shrink: 0;
      overflow: hidden;
      margin: 0 18px 0 0; }
      .article-list a .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        transition: all 0.3s; }
    .article-list a > div {
      white-space: nowrap;
      overflow: hidden;
      -ms-text-overflow: ellipsis;
      /* Required for IE8 */
      -o-text-overflow: ellipsis;
      /* Required for Opera */
      text-overflow: ellipsis; }
      .article-list a > div .title {
        font-weight: 700;
        margin: 0; }

.pagination {
  display: block;
  text-align: center;
  margin: 20px; }
  .pagination a {
    display: flex;
    justify-content: center;
    align-items: center;
    display: inline-flex;
    width: 40px;
    height: 40px;
    border: 1px solid #231815;
    color: #fff;
    margin: 0 5px;
    padding: 0;
    text-align: center;
    line-height: 1;
    font-weight: 400;
    text-decoration: none;
    overflow: hidden; }
    .pagination a.active, .pagination a:hover, .pagination a.nav:hover {
      color: #231815;
      background-color: transparent; }
  @media screen and (max-width: 767px) {
    .pagination {
      margin: 20px 10px; }
      .pagination a {
        width: 30px;
        height: 30px; } }

@media screen and (max-width: 767px) {
  .table.tbl-responsive thead,
  .table.tbl-responsive tbody,
  .table.tbl-responsive tr {
    display: block; }
  .table.tbl-responsive th, .table.tbl-responsive td {
    display: block;
    width: auto;
    text-align: left; }
  .table.tbl-responsive td {
    border: none;
    padding-top: 0; } }
.bg-gray {
  background-color: #eaeaea; }

.font-serif {
  font-family: 'Noto Serif JP', serif;
  font-weight: 500; }

.box-branch {
  margin-bottom: 100px; }
  @media (max-width: 767px) {
    .box-branch {
      margin-bottom: 100px; }
      .box-branch a:has(img[src*="common/img/branch.jpg"]) {
        display: block;
        aspect-ratio: 414/550; }
        .box-branch a:has(img[src*="common/img/branch.jpg"]) img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center; } }

footer #footer {
  padding: 120px 0;
        /*
        // katati
        .bg-gray {
            padding: 130px 0;
            margin-bottom: 90px;
            @media (max-width:767px){
                padding: 30px 0 0;
            }

            .inner {
                display: flex;
                .calligraphy {
                    width: percentage(100/138);
                    display: flex;
                    gap: 20px;
                    a:hover {
                        img {
                            opacity: 0.8;
                        }
                    }
                    @media (min-width:768px) and (max-width:870px){
                        flex-wrap: wrap;
                        a {
                            width: calc(50% - 10px);
                        }
                    }
                }
                .title {
                    flex-grow: 1;
                    padding: 0 20px;

                    @include font-serif;
                    @include flex-center;
                    flex-direction: column;
                    text-align: center;
                    font-size: 15px;
                    white-space: nowrap;
                    small {
                        font-size: 12px;
                        display: inline-block;
                        margin-bottom: 1.3em;
                    }
                    img {
                        width: 159px;
                        margin-bottom: 30px;
                    }
                }

                @media (max-width:767px){
                    flex-direction: column;
                    padding: 0;
                    .calligraphy {
                        order: 2;
                        width: auto;
                        padding: 0;
                        margin-top: 30px;
                        // css slide
                        @include slides-center;
                        >a {
                            width: 50vw;
                            margin: 0 5px;
                        }
                    }
                    .title {
                        order: 1;
                        h1 {
                            display: none;
                        }
                    }
                }
            }
        }
        */ }
  @media (max-width: 767px) {
    footer #footer {
      padding: 50px 0; } }
  footer #footer .buttons {
    text-align: center; }
    @media (max-width: 767px) {
      footer #footer .buttons {
        display: flex;
        gap: 10px;
        margin: 0 10px; } }
    footer #footer .buttons .btn {
      margin: 0 15px; }
      @media (max-width: 767px) {
        footer #footer .buttons .btn {
          margin: 0;
          font-size: 13px;
          min-width: initial;
          width: 50%; } }
  @media (min-width: 768px) {
    footer #footer .sns-links {
      display: none; } }
  @media (max-width: 767px) {
    footer #footer .sns-links {
      margin-top: 50px;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 1.5em; }
      footer #footer .sns-links img {
        width: 32px; } }
footer .copyright {
  font-family: 'Noto Serif JP', serif;
  font-weight: 500;
  text-align: center;
  font-size: 12px;
  padding: 0 0 3em; }

a.pagetop {
  position: fixed;
  right: 40px;
  bottom: 40px;
  z-index: 99;
  opacity: 0;
  transition: opacity 0.7s;
  text-align: center;
  width: 60px;
  height: 60px;
  padding-top: 10px;
  background-color: #003366;
  color: #fff;
  font-size: 10px;
  border-radius: 50%; }
  a.pagetop:hover {
    opacity: 1;
    color: #fff; }
  a.pagetop.view {
    opacity: 1; }
  @media screen and (max-width: 767px) {
    a.pagetop {
      display: none; } }

.footer_contact {
  text-align: center;
  margin: 60px 0 0 0;
  font-family: 'Noto Serif JP', serif; }
  .footer_contact > div {
    display: inline-block;
    font-size: 19px; }
    .footer_contact > div strong {
      font-size: 21px; }
    .footer_contact > div a {
      font-weight: normal;
      text-decoration: underline; }
    .footer_contact > div span {
      display: inline-block;
      margin: 0 0 0 10px; }

@media screen and (max-width: 767px) {
  .footer_contact {
    text-align: center;
    margin: 50px 10px;
    font-family: 'Noto Serif JP', serif; }
    .footer_contact > div {
      display: inline-block;
      font-size: 15px; }
      .footer_contact > div strong {
        font-size: 18px; }
      .footer_contact > div a {
        font-weight: normal;
        text-decoration: underline; }
      .footer_contact > div span {
        display: block;
        margin: 0; }

  .spnone {
    display: none !important; } }
