@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&family=Noto+Serif+JP:wght@200;300;400;500;600;700&family=Urbanist:wght@300;400;500&display=swap');

:root {
  --color01: #635e57;
  --color02: #d5d1cc;
  --color03: #7c736b;
  --color04: #91908e;
  --color05: #cdc9c0;
  --color06: #4c4c4c;
  --color07: #f4f4f4;
  --colorff: #fff;
  --ff01: 'Noto Serif JP', serif;
  --ff02: 'Cormorant Garamond', serif;
  --ff03: 'Urbanist', sans-serif;
  --ff99: "font awesome 5 free";
  /* --shadow01: 0 0 20px #e3e3e3; */
}

html {
  font-family: var(--ff01);
  color: var(--color01);
  line-height: 1.8;
  letter-spacing: 2px;
  /* background: #dcdad7; */
  background: #fff;
  font-size: 15px;
}

.txt {
  line-height: 2;
}

.date {
  font-family: var(--ff03);
  color: var(--color04);
}

time {
  font-family: var(--ff03);
}

a[href*=atel], button[href*=atel] {
    pointer-events: auto !important;
}

/*===================================
  基本設定
===================================*/
/* text-color */
.color-cmn-gray {
  color: var(--color01);
}

.color-cmn-gray02 {
  color: var(--color03);
}

.color-cmn-gray03 {
  color: var(--color04);
}

.color-cmn-gray04 {
  color: var(--color05);
}

.color-cmn-gray05 {
  color: var(--color06);
}

.color-cmn-gray06 {
  color: var(--color07);
}

/* bg-color */
.bgc-cmn-lightgray {
  background: var(--color02);
}

.bgc-cmn-gray {
  background: var(--color07);
}

/* bg-image */
.bgi-cmn-00 {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.bgi-cmn-00-p {
  position: relative;
}

.bgi-cmn-00-p a>*:not(.bgi-cmn-00) {
  color: #fff;
  position: relative;
  z-index: 2;
}

.bgi-cmn-00 img {
  -webkit-filter: brightness(0.6);
  filter: brightness(0.6);
}

/* font-family */
.font-cmn-01 {
  font-family: var(--ff01);
}

.font-cmn-02 {
  font-family: var(--ff02);
}

.font-cmn-03 {
  font-family: var(--ff03);
}

/* line-cmn */
.line-cmn-01 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;

  -webkit-line-clamp: 1;
}

.line-cmn-02 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 2;
}

.line-cmn-03 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 3;
}

/* indent-cmn */
.indent-cmn-01 {
  padding-left: 1em;
  text-indent: -1em;
}

/* border */
.link-border a{
  border-bottom: 1px solid;
}

/* deco-cmn */
.deco-cmn-01::before {
  content: "";
  background: var(--color02);
  width: 45%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

.deco-cmn-02::before {
  content: "";
  background: var(--color02);
  width: 35%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 0;
}

.deco-cmn-03::before {
  content: "";
  background: var(--color02);
  width: 90%;
  height: 40%;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
}

@media(max-width:599px) {
  .deco-cmn-02::before {
    width: 80%;
  }
}

/* hover */
/* zoom-img */
.hover-zoom {
  overflow: hidden;
}

.hover-zoom a img {
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.hover-zoom a:hover {
  opacity: 1;
}

.hover-zoom a:hover img {
  scale: 1.2;
}

/* 共通コンテンツ間隔 */
[class*="section-m"],
[class*="section-p"] {
  --section-xlarge: 160px;
  --section-large: 140px;
  --section-medium: 120px;
  --section-small: 100px;
  --section-xsmall: 80px;
}

.section-my-xlarge {
  margin-top: var(--section-xlarge);
  margin-bottom: var(--section-xlarge);
}

.section-mt-xlarge {
  margin-top: var(--section-xlarge);
}

.section-mb-xlarge {
  margin-bottom: var(--section-xlarge);
}

.section-my-large {
  margin-top: var(--section-large);
  margin-bottom: var(--section-large);
}

.section-mt-large {
  margin-top: var(--section-large);
}

.section-mb-large {
  margin-bottom: var(--section-large);
}

.section-my-medium {
  margin-top: var(--section-medium);
  margin-bottom: var(--section-medium);
}

.section-mt-medium {
  margin-top: var(--section-medium);
}

.section-mb-medium {
  margin-bottom: var(--section-medium);
}

.section-my-small {
  margin-top: var(--section-small);
  margin-bottom: var(--section-small);
}

.section-mt-small {
  margin-top: var(--section-small);
}

.section-mb-small {
  margin-bottom: var(--section-small);
}

.section-my-xsmall {
  margin-top: var(--section-xsmall);
  margin-bottom: var(--section-xsmall);
}

.section-mt-xsmall {
  margin-top: var(--section-xsmall);
}

.section-mb-xsmall {
  margin-bottom: var(--section-xsmall);
}

@media (max-width: 1024px) {
  .section-my-xlarge {
    margin-top: calc(var(--section-xlarge) * 0.8);
    margin-bottom: calc(var(--section-xlarge) * 0.8);
  }

  .section-mt-xlarge {
    margin-top: calc(var(--section-xlarge) * 0.8);
  }

  .section-mb-xlarge {
    margin-bottom: calc(var(--section-xlarge) * 0.8);
  }

  .section-my-large {
    margin-top: calc(var(--section-large) * 0.8);
    margin-bottom: calc(var(--section-large) * 0.8);
  }

  .section-mt-large {
    margin-top: calc(var(--section-large) * 0.8);
  }

  .section-mb-large {
    margin-bottom: calc(var(--section-large) * 0.8);
  }

  .section-my-medium {
    margin-top: calc(var(--section-medium) * 0.8);
    margin-bottom: calc(var(--section-medium) * 0.8);
  }

  .section-mt-medium {
    margin-top: calc(var(--section-medium) * 0.8);
  }

  .section-mb-medium {
    margin-bottom: calc(var(--section-medium) * 0.8);
  }

  .section-my-small {
    margin-top: calc(var(--section-small) * 0.8);
    margin-bottom: calc(var(--section-small) * 0.8);
  }

  .section-mt-small {
    margin-top: calc(var(--section-small) * 0.8);
  }

  .section-mb-small {
    margin-bottom: calc(var(--section-small) * 0.8);
  }

  .section-my-xsmall {
    margin-top: calc(var(--section-xsmall) * 0.8);
    margin-bottom: calc(var(--section-xsmall) * 0.8);
  }

  .section-mt-xsmall {
    margin-top: calc(var(--section-xsmall) * 0.8);
  }

  .section-mb-xsmall {
    margin-bottom: calc(var(--section-xsmall) * 0.8);
  }
}

@media (max-width: 599px) {
  .section-my-xlarge {
    margin-top: calc(var(--section-xlarge) * 0.6);
    margin-bottom: calc(var(--section-xlarge) * 0.6);
  }

  .section-mt-xlarge {
    margin-top: calc(var(--section-xlarge) * 0.6);
  }

  .section-mb-xlarge {
    margin-bottom: calc(var(--section-xlarge) * 0.6);
  }

  .section-my-large {
    margin-top: calc(var(--section-large) * 0.6);
    margin-bottom: calc(var(--section-large) * 0.6);
  }

  .section-mt-large {
    margin-top: calc(var(--section-large) * 0.6);
  }

  .section-mb-large {
    margin-bottom: calc(var(--section-large) * 0.6);
  }

  .section-my-medium {
    margin-top: calc(var(--section-medium) * 0.6);
    margin-bottom: calc(var(--section-medium) * 0.6);
  }

  .section-mt-medium {
    margin-top: calc(var(--section-medium) * 0.6);
  }

  .section-mb-medium {
    margin-bottom: calc(var(--section-medium) * 0.6);
  }

  .section-my-small {
    margin-top: calc(var(--section-small) * 0.6);
    margin-bottom: calc(var(--section-small) * 0.6);
  }

  .section-mt-small {
    margin-top: calc(var(--section-small) * 0.6);
  }

  .section-mb-small {
    margin-bottom: calc(var(--section-small) * 0.6);
  }

  .section-my-xsmall {
    margin-top: calc(var(--section-xsmall) * 0.6);
    margin-bottom: calc(var(--section-xsmall) * 0.6);
  }

  .section-mt-xsmall {
    margin-top: calc(var(--section-xsmall) * 0.6);
  }

  .section-mb-xsmall {
    margin-bottom: calc(var(--section-xsmall) * 0.6);
  }
}

.section-py-xlarge {
  padding-top: var(--section-xlarge);
  padding-bottom: var(--section-xlarge);
}

.section-pt-xlarge {
  padding-top: var(--section-xlarge);
}

.section-pb-xlarge {
  padding-bottom: var(--section-xlarge);
}

.section-py-large {
  padding-top: var(--section-large);
  padding-bottom: var(--section-large);
}

.section-pt-large {
  padding-top: var(--section-large);
}

.section-pb-large {
  padding-bottom: var(--section-large);
}

.section-py-medium {
  padding-top: var(--section-medium);
  padding-bottom: var(--section-medium);
}

.section-pt-medium {
  padding-top: var(--section-medium);
}

.section-pb-medium {
  padding-bottom: var(--section-medium);
}

.section-py-small {
  padding-top: var(--section-small);
  padding-bottom: var(--section-small);
}

.section-pt-small {
  padding-top: var(--section-small);
}

.section-pb-small {
  padding-bottom: var(--section-small);
}

.section-py-xsmall {
  padding-top: var(--section-xsmall);
  padding-bottom: var(--section-xsmall);
}

.section-pt-xsmall {
  padding-top: var(--section-xsmall);
}

.section-pb-xsmall {
  padding-bottom: var(--section-xsmall);
}

@media (max-width: 1024px) {
  .section-py-xlarge {
    padding-top: calc(var(--section-xlarge) * 0.8);
    padding-bottom: calc(var(--section-xlarge) * 0.8);
  }

  .section-pt-xlarge {
    padding-top: calc(var(--section-xlarge) * 0.8);
  }

  .section-pb-xlarge {
    padding-bottom: calc(var(--section-xlarge) * 0.8);
  }

  .section-py-large {
    padding-top: calc(var(--section-large) * 0.8);
    padding-bottom: calc(var(--section-large) * 0.8);
  }

  .section-pt-large {
    padding-top: calc(var(--section-large) * 0.8);
  }

  .section-pb-large {
    padding-bottom: calc(var(--section-large) * 0.8);
  }

  .section-py-medium {
    padding-top: calc(var(--section-medium) * 0.8);
    padding-bottom: calc(var(--section-medium) * 0.8);
  }

  .section-pt-medium {
    padding-top: calc(var(--section-medium) * 0.8);
  }

  .section-pb-medium {
    padding-bottom: calc(var(--section-medium) * 0.8);
  }

  .section-py-small {
    padding-top: calc(var(--section-small) * 0.8);
    padding-bottom: calc(var(--section-small) * 0.8);
  }

  .section-pt-small {
    padding-top: calc(var(--section-small) * 0.8);
  }

  .section-pb-small {
    padding-bottom: calc(var(--section-small) * 0.8);
  }

  .section-py-xsmall {
    padding-top: calc(var(--section-xsmall) * 0.8);
    padding-bottom: calc(var(--section-xsmall) * 0.8);
  }

  .section-pt-xsmall {
    padding-top: calc(var(--section-xsmall) * 0.8);
  }

  .section-pb-xsmall {
    padding-bottom: calc(var(--section-xsmall) * 0.8);
  }
}

@media (max-width: 599px) {
  .section-py-xlarge {
    padding-top: calc(var(--section-xlarge) * 0.6);
    padding-bottom: calc(var(--section-xlarge) * 0.6);
  }

  .section-pt-xlarge {
    padding-top: calc(var(--section-xlarge) * 0.6);
  }

  .section-pb-xlarge {
    padding-bottom: calc(var(--section-xlarge) * 0.6);
  }

  .section-py-large {
    padding-top: calc(var(--section-large) * 0.6);
    padding-bottom: calc(var(--section-large) * 0.6);
  }

  .section-pt-large {
    padding-top: calc(var(--section-large) * 0.6);
  }

  .section-pb-large {
    padding-bottom: calc(var(--section-large) * 0.6);
  }

  .section-py-medium {
    padding-top: calc(var(--section-medium) * 0.6);
    padding-bottom: calc(var(--section-medium) * 0.6);
  }

  .section-pt-medium {
    padding-top: calc(var(--section-medium) * 0.6);
  }

  .section-pb-medium {
    padding-bottom: calc(var(--section-medium) * 0.6);
  }

  .section-py-small {
    padding-top: calc(var(--section-small) * 0.6);
    padding-bottom: calc(var(--section-small) * 0.6);
  }

  .section-pt-small {
    padding-top: calc(var(--section-small) * 0.6);
  }

  .section-pb-small {
    padding-bottom: calc(var(--section-small) * 0.6);
  }

  .section-py-xsmall {
    padding-top: calc(var(--section-xsmall) * 0.6);
    padding-bottom: calc(var(--section-xsmall) * 0.6);
  }

  .section-pt-xsmall {
    padding-top: calc(var(--section-xsmall) * 0.6);
  }

  .section-pb-xsmall {
    padding-bottom: calc(var(--section-xsmall) * 0.6);
  }
}

/* fead */
.fead-blur {
  -webkit-filter: blur(5px);
  filter: blur(5px);
  -webkit-transition: .5s;
  transition: .5s;
}

[data-element-id] .fead-blur{
  -webkit-filter: blur(0);
    filter: blur(0);
}
.fead-blur.mv {
  -webkit-filter: blur(0);
  filter: blur(0);
}

.fead-mv.mv {
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.fead-up.mv {
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.fead-order>* {
  opacity: 0;
}

.fead-order>.mv {
  opacity: 1;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.fead-text {
  opacity: 1;
}

.fead-text .str {
  opacity: 0;
}

.fead-text .str.mv {
  opacity: 1;
  -webkit-transition: 1s;
  transition: 1s;
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

/* show hide */
.show\@pc {
    display: block;
}

.hide\@pc {
    display: none;
}

[data-element-id] .show\@tb {
    max-width: 599px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    border: solid 4px green;
    position: relative;
}

[data-element-id] .show\@tb:after {
    content: "モバイル用";
    display: block;
    padding: 5px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    text-shadow: none;
    background: green;
}

[data-element-id] .show\@tb.indention:after {
    content: "モバイル用はここで改行";
}

[data-element-id] .show\@pc.indention:after {
    content: "PC用はここで改行";
    display: block;
    padding: 5px;
    font-weight: 700;
    font-size: 12px;
    color: #fff;
    text-align: center;
    text-shadow: none;
    background: blue;
}

[data-element-id] .show\@sp {
    max-width: 375px;
    display: block;
    margin: 0 auto;
    padding: 0;
    border: solid 4px green;
    position: relative;
}

[data-element-id] .show\@sp:after {
    content: "モバイル用";
    width: 100%;
    display: block;
    padding: 5px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    text-shadow: none;
    background: green;
    position: relative;
    bottom: auto;
    left: auto;
}

[data-element-id] .show\@sp.indention{
  display:inline;
}

[data-element-id] .show\@sp.indention:after {
    content: "モバイル用はここで改行";
    display:inline;
}

@media (max-width: 1024px) {
    .show\@tb {
        display: block;
    }

    .hide\@tb {
        display: none;
    }
}

@media (max-width: 599px) {
    .show\@sp {
        display: block;
    }

    .hide\@sp {
        display: none;
    }
}

/* ##### フロート float ##### */
.up-fl-left {
  float: left;
}

.up-fl-right {
  float: right;
}

.up-fl-none {
  float: none;
}

.up-flc-left {
  clear: left;
}

.up-flc-rigjt {
  clear: right;
}

.up-flc-both {
  clear: both;
}

.float-box {
  display: block;
}

.float-box-img {
  float: right;
}

.float-box-title {
  float: left;
}

.float-box-content {
  float: left;
}

.float-box-wrap.-noinner .float-box:nth-child(odd) .noinner {
  margin-left: auto;
}

.float-box-wrap.-noinner .float-box:nth-child(odd) [class*=btn] {
  margin-right: 0;
}

.float-box-wrap.-noinner .float-box:nth-child(even) .noinner {
  margin-right: auto;
}

.float-box-wrap.-noinner .float-box:nth-child(even) [class*=btn] {
  margin-left: 0;
}

.float-box-wrap.-rowr .float-box:nth-of-type(odd) .float-box-img {
  float: left;
}

.float-box-wrap.-rowr .float-box:nth-of-type(odd) .float-box-title {
  float: right;
}

.float-box-wrap.-rowr .float-box:nth-of-type(odd) .float-box-content {
  float: right;
}

.float-box-wrap.-rowr .float-box:nth-of-type(even) .float-box-img {
  float: left;
}

.float-box-wrap.-rowr .float-box:nth-of-type(even) .float-box-title {
  float: right;
}

.float-box-wrap.-rowr .float-box:nth-of-type(even) .float-box-content {
  float: right;
}

.float-box-wrap.-rowr.-noinner .float-box:nth-child(odd) .noinner {
  margin-left: 0;
  margin-right: auto;
}

.float-box-wrap.-rowr.-noinner .float-box:nth-child(odd) [class*=btn] {
  margin-left: 0;
  margin-right: 0;
}

.float-box-wrap.-rowr.-noinner .float-box:nth-child(even) .noinner {
  margin-left: auto;
  margin-right: 0;
}

.float-box-wrap.-rowr.-noinner .float-box:nth-child(even) [class*=btn] {
  margin-left: 0;
  margin-right: 0;
}

.float-box-wrap.-alternate .float-box:nth-of-type(odd) .float-box-img {
  float: right;
}

.float-box-wrap.-alternate .float-box:nth-of-type(odd) .float-box-title {
  float: left;
}

.float-box-wrap.-alternate .float-box:nth-of-type(odd) .float-box-content {
  float: left;
}

.float-box-wrap.-alternate .float-box:nth-of-type(even) .float-box-img {
  float: left;
}

.float-box-wrap.-alternate .float-box:nth-of-type(even) .float-box-title {
  float: right;
}

.float-box-wrap.-alternate .float-box:nth-of-type(even) .float-box-content {
  float: right;
}

.float-box-wrap.-alternate.-rowr .float-box:nth-of-type(odd) .float-box-img {
  float: left;
}

.float-box-wrap.-alternate.-rowr .float-box:nth-of-type(odd) .float-box-title {
  float: right;
}

.float-box-wrap.-alternate.-rowr .float-box:nth-of-type(odd) .float-box-content {
  float: right;
}

.float-box-wrap.-alternate.-rowr .float-box:nth-of-type(even) .float-box-img {
  float: right;
}

.float-box-wrap.-alternate.-rowr .float-box:nth-of-type(even) .float-box-title {
  float: left;
}

.float-box-wrap.-alternate.-rowr .float-box:nth-of-type(even) .float-box-content {
  float: left;
}

@media (max-width: 1024px) {
  .up-fl-left\@tb {
    float: left;
  }

  .up-fl-right\@tb {
    float: right;
  }

  .up-fl-none\@tb {
    float: none;
  }

  .up-flc-left\@tb {
    clear: left;
  }

  .up-flc-rigjt\@tb {
    clear: right;
  }

  .up-flc-both\@tb {
    clear: both;
  }
}

@media (max-width: 599px) {
  .up-fl-left\@sp {
    float: left;
  }

  .up-fl-right\@sp {
    float: right;
  }

  .up-fl-none\@sp {
    float: none;
  }

  .up-flc-left\@sp {
    clear: left;
  }

  .up-flc-rigjt\@sp {
    clear: right;
  }

  .up-flc-both\@sp {
    clear: both;
  }

  .float-box-wrap.-alternate.-rowr .float-box:nth-of-type(odd) .float-box-title {
    width: 100%;
    float: right;
  }
}

/*===================================
  共通ブロック　block-cmn
==================================*/
/* 共通ブロック１ */
/*===================================
  共通タイトル　ttl-cmn
===================================*/
/* ttl-cmn-01 */
.ttl-cmn-01 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 40px;
  line-height: 1.2;
  letter-spacing: 3px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  font-family: var(--ff02);
  font-weight: 500;
}

.ttl-cmn-01 .small {
  font-size: 65%;
}

.ttl-cmn-01 .small02 {
  font-size: 45%;
}

@media (max-width: 1024px) {
  .ttl-cmn-01 {
    font-size: 38px;
  }
}

@media(max-width:599px) {
  .ttl-cmn-01 {
    font-size: 34px;
    letter-spacing: 1px;
  }
}

[data-element-id] .show\@sp .ttl-cmn-01 {
    font-size: 34px;
    letter-spacing: 1px;
}

.ttl-cmn-02 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 3px;
  font-family: var(--ff01);
  font-weight: 500;
  border-left: 5px solid var(--color01);
  padding: 5px 0px 10px 20px;
}

@media(max-width:1024px) {
  .ttl-cmn-02 {
    font-size: 26px;
  }
}

@media(max-width:1024px) {
  .ttl-cmn-02 {
    font-size: 22px;
  }
}

[data-element-id] .show\@sp .ttl-cmn-02 {
    font-size: 22px;
  }

.ttl-cmn-03,
.ttl-cmn-04 {
  font-size: 18px;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.ttl-cmn-04 {
  border-bottom: 1px solid;
  padding-bottom: 10px;
}

@media(max-width:1024px) {

  .ttl-cmn-03,
  .ttl-cmn-04 {
    font-size: 18px;
    letter-spacing: 0;
  }
}

[data-element-id] .show\@sp .ttl-cmn-03,
  [data-element-id] .show\@sp .ttl-cmn-04 {
    font-size: 18px;
    letter-spacing: 0;
  }

/* 
@media (max-width: 599px) {} */

/*===================================
  共通リスト　list-cmn
==================================*/
/* 共通リスト１ */
/*===================================
  共通ボタン btn-cmn
===================================*/
.btn-item {
  position: relative;
  width: 60px;
  height: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

/* .btn-item::before {
  content: "";
  width: 40px;
  height: 40px;
  background: #fff;
  display: block;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.btn-item img {
  position: relative;
  z-index: 2;
  width: 15px;
} */

/* btn-type-01 */
.btn-type-01 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-right: 20px;
}

.btn-type-01 a,
.btn-type-01 button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  padding: 15px 20px 15px 0;
  min-width: 110px;
  justify-content: flex-end;
}

.btn-type-01 a:hover {
  opacity: 1;
}

.btn-type-01 a::before {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background-image: url(/upload/tenant_1/dotted00.webp);
    background-size: contain;
    background-repeat: no-repeat;
    width: 16px;
    aspect-ratio: 30/7;
    z-index: 1;
    -webkit-transition: .8s;
    transition: .8s;
}

.btn-type-01.type02 a::before {
    right: 36px;
    z-index: 3;
}

.btn-type-01 a span{
  z-index: 1;
  position: relative;
}

.btn-type-01 a::after {
    content: "";
    background: #f3f3f3;
    aspect-ratio: 1/1;
    width: 60px;
    border-radius: 50%;
    display: block;
    position: absolute;
    top: 2px;
    right: -22px;
    z-index: 0;
    transition: .5s;
}

.btn-type-01.type02 a::after{
      width: 50px;
    top: 13px;
    right: 20px;
    background: #fff;
    z-index: 2;
}

.btn-type-01 a:hover::after {
    scale: 1.3;
}

.btn-type-01.type02 a:hover::after {
    scale: 1.2;
}

.btn-type-01 a .txt {
  position: relative;
  z-index: 1;
}

.btn-type-01 button {
  background: transparent;
}

@media(max-width:599px) {

  .btn-type-01 a,
  .btn-type-01 button {
    font-size: 14px;
    letter-spacing: 3px;
  }
  
  .btn-type-01 a::after {
    width: 50px;
    top: 3px;
    right: -17px;
}
}

/* btn-type-02 */
.btn-type-02 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.btn-type-02 a,
.btn-type-02 button {
  min-width: 240px;
  padding: 15px 20px;
  font-size: 15px;
  letter-spacing: 3px;
  border: 1px solid var(--colorff);
  color: var(--colorff);
  display: block;
  text-align: center;
  transition: .5s;
}

.btn-type-02 a:hover{
  opacity: 1;
  background: #ffffff5c;
}

.btn-type-02.type02 a {
  background: var(--color02);
  color: var(--color01);
}

.btn-type-02.black a,
.btn-type-02.black button {
  border: 1px solid var(--color01);
  color: var(--color01);
}

.btn-type-02.black a:hover{
    background: var(--color01);
    color: #fff !important;
}

.btn-type-02 a span {
    display: flex;
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    align-items: center;
    gap: 5px;
}

.btn-type-02 a span::after, .btn-type-02 button span::after {
    content: "";
    background-image: url(/upload/tenant_1/dotted00.webp);
    background-repeat: no-repeat;
    background-size: contain;
    aspect-ratio: 30/7;
    width: 17px;
    display: block;
    filter: brightness(10);
}

.btn-type-02.dot-none a span::after{
  content: none;
}

.btn-type-02.black a span::after, .btn-type-02.black button span::after{
    filter: brightness(0.8);
    transition: .5s;
}

.btn-type-02.black a:hover span::after, .btn-type-02.black button:hover span::after{
    filter: brightness(10);
}

@media(max-width:1024px) {
  .btn-type-02 a {
    min-width: 220px;
    padding: 10px 20px;
    font-size: 14px;
  }
}

@media(max-width:599px) {
  .btn-type-02.min a {
    min-width: 110px;
    padding: 10px 10px;
    font-size: 12px;
    letter-spacing: 0;
}

.btn-type-02.min a span::after{
  width: 12px;
}
}


/*===================================
  他共通エレメント -cmn
===================================*/
/*===================================
  共通要素
===================================*/
/*h1ページタイトル */
.pagettl {
  margin-top: 10px;
  font-size: 10px;
  font-family: var(--ff03);
  letter-spacing: 2px;
}

/**
ヘッダー
header
*/
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 251;
 mix-blend-mode: difference;
}

.toggle-white .header{
  mix-blend-mode: normal;
}

[data-element-id] .header {
    position: relative;
    top: auto;
    left: auto;
}

.header .contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

[data-element-id] .header .contents{
  flex-direction: column;
}

.header .contents .logo {
  margin-top: 20px;
    padding-left: 20px;
}

.header .logo img {
  max-height: 30px;
}

.header .right {
  width: 100%;
}

.header .right .txt {
  margin-right: 10px;
  line-height: 120%;
}

.header .right .txtin {
  display: block;
}

.header .right .tel a {
  font-weight: bold;
  font-size: 30px;
}

.header .right .tel a:before {
  content: "\f879";
  margin-right: 5px;
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  font-size: 24px;
}

@media (max-width: 1024px) {
  .header {
    padding: 5px 0;
    z-index: 3;
  }

  .header .logo img {
    max-height: 25px;
  }

  .header .right {
    width: 100%;
  }
}

@media(max-width:599px) {
  .header .contents .logo {
    margin-top: 0px;
    padding-left: 5px;
}

  .header .logo img {
    max-height: 22px;
  }
}

/* 下部固定コンテンツ */
.fix-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  align-items: flex-end;
  -ms-flex-align: end;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  position: fixed;
  bottom: 15%;
  right: 0;
  z-index: 250;
  z-index: 3;

  row-gap: 10px;
}

[data-element-id] .fix-bottom {
    flex-direction: row;
    -webkit-column-gap: 5px;
    -moz-column-gap: 5px;
    position: relative;
    bottom: auto;
    right: auto;
    width: 375px;
    margin: 0 auto 30px;
}

.fix-bottom .item {
  display: none;
}

[data-element-id] .fix-bottom .item{
  display: block;
}

.fix-bottom .item a {
  min-width: 200px;
  display: block;
  padding: 15px;
  font-weight: 300;
  letter-spacing: 3px;
  text-align: center;
  border-radius: 10px 0 0 10px;
  background: rgb(255 255 255 / 100%);
}

[data-element-id] .fix-bottom .item a{
  border-radius: 0;
}

.fix-bottom .item .abtest-b a{
  background: #635e57;
    color: #fff;
}

@media (max-width: 1024px) {
  .fix-bottom {
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    bottom: 0;
    gap: 1px;
  }

  .fix-bottom .item {
    width: calc((100% - 52px) / 2);
    height: 50px;
    display: block;
  }

  .fix-bottom .item a {
    min-width: auto;
    height: 100%;
    padding: 10px;
    border-radius: 5px 5px 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    box-shadow: 0px -1px 5px #c9c9c975;
  }
}

@media (max-width: 599px) {
  .fix-bottom .item a {
    font-size: 12px;
    letter-spacing: 1px;
    min-height: 50px;
  }
}

/**
グローバルナビ
gnav
*/
body.overlay {
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
}

.gnav {
  width: 100%;
  max-width: 100%;
  height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 50px;
  background: #fff;
  -webkit-transition: .8s;
  transition: .8s;
  position: fixed;
  top: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  z-index: -1;
}

[data-element-id] .gnav {
    opacity: 1;
    visibility: visible;
    position: relative;
    top: auto;
    left: auto;
    z-index: 250;
    margin-top: 30px;
    margin-bottom: 30px;
    border: 5px solid #393939;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

[data-element-id] .gnav::before {
    content: "ハンバーガーメニューをクリックすると表示されます。";
    background: #393939;
    color: #fff;
    margin: -50px -50px 50px -50px;
    width: calc(100% + 100px);
    text-align: center;
    font-size: 14px;
    font-family: var(--ff03);
    padding: 0 0 3px;
}

.gnav.action {
  opacity: 1;
  visibility: visible;
  z-index: 250;
}

.gnav .navlogo {
  width: 100px;
  display: block;
}

.gnav .item01>a,
.gnav .item01 .itemin {
  color: var(--color01);
  position: relative;
}

.gnav .item01 a {
  visibility: hidden;
}

[data-element-id] .gnav .item01 a {
    visibility: visible;
}

.gnav.action .item01 a {
  visibility: visible;
}

.gnav .item01 .itemin {
  padding-left: 1.5em;
  margin-bottom: 10px;
  display: block;
}

.gnav .item01 .itemin:before {
  content: "■";
  font-weight: bold;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  font-size: 24px;
}

.gnav .item01 {
  margin: 0 0 20px 0;
  font-size: 18px;
  text-align: left;
  font-family: var(--ff03);
  font-weight: 500;
  letter-spacing: 2px;
}

.gnav .list02 {
  visibility: visible;
  padding-top: 0;
  padding-left: 20px;
  background: none;
  opacity: 1;
  -webkit-transform: none;
  transform: none;
  position: relative;
  top: 0;
  left: 0;
}

.gnav .list02 a {
  padding: 2px 0 2px 20px;
  color: var(--color01);
  position: relative;
  display: block;
  margin-bottom: 6px;
}

.gnav .list02 a::before {
  content: "";
  background: var(--color04);
  width: 5px;
  height: 1px;
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -0.5px;
}

.gnav .nav-box .imgbox {
  position: relative;
  margin-left: -50px;
}

.gnav .nav-box .add-txt {
  position: absolute;
  top: -70px;
  right: 20px;
  -webkit-writing-mode: tb;
  -ms-writing-mode: tb;
  writing-mode: tb;
  font-size: 30px;
  color: #635e57;
  letter-spacing: 8px;
}

.gnav .infobox .address {
  font-family: var(--ff03);
  letter-spacing: 2px;
  font-size: 12px;
  line-height: 3;
}

.gnav .infobox .box.sns i {
  font-size: 20px;
}

/* .gnav .infobox .box.sns .fa-instagram:before {
  background: linear-gradient(120deg, rgba(247, 207, 0), rgba(246, 37, 2) 45%, rgba(182, 47, 82) 75%, rgba(113, 58, 166));
  -webkit-background-clip: text;
  color: transparent;
}

.gnav .box.sns .fab.fa-facebook {
  color: #2f6db6;
}

.gnav .box.sns .fab.fa-youtube {
  color: #fe0000;
} */

.gnav .box.sns .list02{
  padding-left: 0;
}

.gnav .box.sns .list02 a{
  padding: 0;
}

.gnav .box.sns .list02 .item{
  margin-right: 15px;
}

.gnav .box.sns .list02 .item img{
      filter: sepia(0.6) saturate(0) brightness(0.9) contrast(0.8);
}

.gnav .telbox {
  font-family: var(--ff03);
  font-size: 12px;
}

.gnav .telbox .tel a {
  font-weight: 500;
}

.gnav .telbox .tel a:before {
  content: none;
}

@media (max-width: 1024px) {
  .gnav {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 30px 30px 80px;
  }

  .gnav .navlogo {
    position: relative;
    top: auto;
    left: auto;
    margin-bottom: 50px;
  }

  .gnav .nav-box .add-txt {
    top: 50px;
    right: -30%;
    font-size: 24px;
  }
}

@media(max-width:599px) {
  .gnav-banner a {
    min-height: 130px;
  }

  .gnav-banner .tit {
    font-size: 18px;
  }

  .gnav .nav-box .add-txt {
    font-size: 20px;
    white-space: nowrap;
    letter-spacing: 5px;
  }
}

[data-element-id] .gnav.fixed {
  position: relative;
}

/* ハンバーガーメニュー  */
.toggle {
  width: 60px;
  height: 60px;
  border-radius: 0 0 0 5px;
  cursor: pointer;
  position: fixed !important;
  top: 0px;
  right: 0px;
  z-index: 251;
}

header .toggle{
    display: block;
  }

footer .toggle{
  display: none;
}

.toggle .bar {
  width: 28px;
  height: 1px;
  display: block;
  margin-top: -1px;
  padding: 0;
  text-indent: 9999px;
  background: #fff;
  -webkit-transition: ease 0.4s;
  transition: ease 0.4s;
  position: absolute;
  top: 50%;
  right: 10px;
  transition: .5s
}

.toggle-white .toggle .bar {
  background: #fff;
  height: 1px;
}

.toggle .bar:nth-of-type(1) {
  top: 40%;
}

.toggle .bar:nth-of-type(2) {
  top: 60%;
  width: 38px;
}

.toggle.active .bar:nth-of-type(1) {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  top: 50%;
  width: 30px;
  background: var(--color01);
}

.toggle.active .bar:nth-of-type(2) {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 50%;
  width: 30px;
  background: var(--color01);
}

.toggle.active .bar:after,
.toggle.active .bar:before {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  top: 0;
  left: 0;
}

@media (max-width: 1024px) {
  .toggle {
    width: 50px;
    height: 50px;
    border-radius: 5px 5px 0 0;
    cursor: pointer;
    position: relative !important;
    top: auto;
    right: auto;
    background: rgb(255 255 255 / 100%);
    box-shadow: 0px -1px 5px #c9c9c975;
  }
  
  header .toggle{
    display: none;
  }
  
  footer .toggle{
    display: block;
  }

  .toggle.active {
    background: rgb(179 179 179 / 60%);
  }
  
  .toggle-white .toggle .bar{
    background: var(--color01);
    height: 1px;
  }

  .toggle .bar {
    width: 20px;
    height: 1px;
    background: var(--color01);
  }

  .toggle .bar:nth-of-type(2) {
    width: 30px;
  }
}

.overlay:after {
  content: "";
  width: 100%;
  height: 100vh;
  background: #000;
  opacity: 0.3;
  -webkit-transform: translate3d(0, 0, 0) !important;
  transform: translate3d(0, 0, 0) !important;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
}

/*トップへ戻る*/
.totop {
  width: 40px;
  height: 40px;
  font-size: 10px;
  color: #fff;
  line-height: 38px;
  letter-spacing: 0;
  text-align: center;
  background: rgb(99 94 87 / 80%);
  cursor: pointer;
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 880;
  border-radius: 50%;
}

.totop:before {
  content: "\f077";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
}

@media (max-width: 1024px) {
  .totop {
    bottom: 60px;
    right: 10px;
  }
}

/**
フッター
footer
*/
footer{
  background: #fff;
}

.footer .map {
  padding-top: 350px;
}

.footer .logo img {
  max-height: 80px;
}

.footer .footer-info .tel .icon {
  width: 45px;
  height: 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 22px;
  color: #fff;
  border-radius: 50%;
  background: var(--color01);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.fnav .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.fnav .box .ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  margin-bottom: 30px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--color03);
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  column-gap: 20px;
}

.fnav .box .ttl .tit {
  font-size: 22px;
  letter-spacing: 5px;
}

.fnav .box .ttl img {
  max-height: 40px;
}

.fnav .box .list01 .item {
  margin-bottom: 35px;
  padding: 0 10px;
  position: relative;
  text-align: center;
}

.fnav .box .list01 .item::before {
  content: "";
  background: var(--color04);
  width: 1px;
  height: 0.8em;
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 0;
}

.fnav .box .list01 .item:nth-child(5n + 1) {
  padding-left: 0;
}

.fnav .box .list01 .item:nth-child(5n + 5) {
  padding-right: 0;
}

.fnav .box .list01 .item:nth-child(5n + 5)::before {
  content: none;
}

.fnav .box .item a {
    display: flex;
    position: relative;
    font-size: 14px;
    letter-spacing: 0px;
    align-items: center;
    justify-content: center;
}

.fnav .box .item a i, .fnav .box .item a .icon {
    margin-right: 5px;
    display: flex;
}

.fnav .box .item a .icon img {
    width: 15px;
        filter: sepia(0.6) saturate(0) brightness(0.9) contrast(0.8);
}

.copy {
  padding: 60px 20px 20px;
  text-align: center;
  font-size: 14px;
  font-family: var(--ff02);
  font-weight: 800;
  color: #4c4c4c;
}

@media (max-width: 1024px) {
  .fix-bottom{
    z-index: 251;
  }
  
  .footer .map {
    padding-top: 250px;
  }

  .fnav .wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .fnav .list01 {
    width: 100%;
    margin-bottom: 10px;
  }

  .fnav .list02 {
    width: 100%;
  }

  .fnav .box .list01 .item {
    margin-bottom: 15px;
    padding: 0 10px;
  }

  .fnav .box .list01 .item:nth-child(5n + 1) {
    padding-left: 10px;
  }

  .fnav .box .list01 .item:nth-child(5n + 5) {
    padding-right: 10px;
  }

  .fnav .box .list01 .item:nth-child(5n + 5)::before {
    content: "";
  }

  .fnav .box .list01 .item:nth-child(3n + 1) {
    padding-left: 0;
  }

  .fnav .box .list01 .item:nth-child(3n + 3) {
    padding-right: 0;
  }

  .fnav .box .list01 .item:nth-child(3n + 3)::before {
    content: none;
  }
}

@media (max-width: 599px) {
  .fnav .box .list01 {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
  }

  .footer .footer-info .time .open,
  .footer .footer-info .time .open {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  
    .fnav .box .list01 .item:nth-child(3n + 1) {
    padding-left: 10px;
  }

  .fnav .box .list01 .item:nth-child(3n + 3) {
    padding-right: 10px;
  }

  .fnav .box .list01 .item:nth-child(3n + 3)::before {
    content: "";
  }

  .fnav .box .list01 .item:nth-child(2n + 1) {
    padding-left: 0;
  }

  .fnav .box .list01 .item:nth-child(2n + 2) {
    padding-right: 0;
  }

  .fnav .box .list01 .item:nth-child(2n + 2)::before {
    content: none;
  }
}

/**
2カラムページ
*/
.column2 .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.column2 .side {
  width: 200px;
}

.column2.wide .side {
  width: 150px;
}

.column2 .mainwrap {
  width: calc(100% - 250px);
}

.column2.wide .mainwrap{
  width: calc(100% - 200px);
}

@media (max-width: 1024px) {
  .column2 .inner {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .column2 .side,.column2.wide .side {
    width: 100%;
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    margin-bottom: 50px;
  }

  .column2 .mainwrap,.column2.wide .mainwrap {
    width: 100%;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin-bottom: 50px;
  }
}

/* サイドメニュー */
.side .list {
  margin-bottom: 40px;
}

@media (max-width: 1024px) {
  .side {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .side .list {
    width: 48%;
  }

  .side .list.type02 {
    width: 100%;
  }

  .list-side.type02 .datawrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .list-side.type02 .datawrap .data {
    width: 31%;
  }
}

@media (max-width: 599px) {
  .side .list {
    width: 100%;
  }

  .list-side.type02 .datawrap .data {
    width: 48%;
  }
}

.list-side .datattl {
  margin-bottom: 10px;
  font-size: 26px;
  color: var(--color03);
  line-height: 1;
  letter-spacing: 3px;
  position: relative;
  font-family: var(--ff02);
  font-weight: bold;
}

.list-side a {
  width: 100%;
  display: inline-block;
  padding: 15px 0;
  border-bottom: 1px solid;
  position: relative;
  font-size: 13px;
  letter-spacing: 0;
}

.list-side a:before {
  content: "\f054";
  font-family: var(--ff99);
  font-weight: bold;
  font-size: 12px;
  color: var(--color01);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  right: 0;
}

@media (max-width: 1024px) {
  .list-side.type-archive .datawrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .list-side.type-archive .datawrap .datattl {
    width: 100%;
  }

  .list-side.type-archive .datawrap .data {
    width: 48%;
  }
  
  .list-side a {
  font-size: 13px;
}
}

/*===================================
  各個別コンテンツ
===================================*/
/**
トップ
*/
/*ホームビジュアル（トップ）*/
.homevisual {
  position: relative;
}

.homevisual .img {
  height: 100vh;
  min-height: 300px;
  position: relative;
}

/* .homevisual .img:before {
  content: "";
  display: block;
  padding-top: 50%;
  position: relative;
  z-index: -1;
}
 */
/* .homevisual .img .abtest {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 50% 50%;
  object-position: 50% 50%;
  IE対策
  font-family: "object-fit: cover; object-position: 50% 50%;";
  position: absolute;
  top: 0;
  left: 0;
}

.homevisual .img .abtest img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 50% 50%;
  object-position: 50% 50%;
} */

.homevisual .uk-flex,.homevisual .uk-slidenav-position,.homevisual .uk-slideshow,.homevisual .uk-slideshow li{
  height: 100% !important;
}

.homevisual .uk-flex img{
  height: 100% !important;
  object-fit: cover;filter: brightness(0.9);
}

/*IE対策*/
.homevisual .head {
    font-weight: 300;
    font-size: 35px;
    color: #fff;
    text-shadow: 0 0 20px rgb(0 0 0 / 30%), 0 0 20px rgb(0 0 0 / 30%), 0 0 20px rgb(0 0 0 / 30%);
    position: absolute !important;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

@media (max-width: 1024px) {
  .homevisual .head {
    font-size: 30px;
  }
}

@media(max-width:599px) {
  .homevisual .head {
    font-size: 14px;
    writing-mode: tb;
    height: fit-content;
    white-space: nowrap;
    width: fit-content;
    text-align: center;
  }
  .homevisual .img{
    height: 100dvh;
    min-height: 500px;
    max-height: 550px;
  }
}

[data-element-id] .homevisual .head .show\@sp{
  font-size: 20px;
}

/* A-BiSUスライダー用 */
.mainimg {
  overflow: hidden;
  position: relative;
}

.mainimg img {
  width: 100%;
}

.mainimg .uk-slidenav-position {
  min-height: 300px;
  overflow: hidden;
  position: relative;
}

.mainimg .uk-slidenav-position:after {
  content: "";
  display: block;
  padding-top: 50%;
}

.mainimg .uk-slideshow {
  height: 100% !important;
  position: absolute;
  top: 0;
}

.mainimg .uk-slideshow li {
  height: 100% !important;
}

.mainimg .uk-slideshow .uk-flex {
  height: 100%;
}

.mainimg .uk-slideshow img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 50% 50%;
  object-position: 50% 50%;
  /*IE対策*/
  font-family: "object-fit: cover; object-position: 50% 50%;";
}

/*IE対策*/
/* スリックスライダー（トップ） */
.index-slick .slick-dots {
  position: absolute;
  bottom: 130px;
  left: 80px;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.slick-dots li,
.slick-dots li button {
  height: 50px;
  width: 5px;
}

.slick-dots li button:before {
  content: "";
  height: 50px;
  width: 5px;
  background: #fff;
  opacity: 1;
}

.slick-dots li.slick-active button:before {
  background: var(--color01);
}

@media(max-width:599px) {

  .slick-dots li,
  .slick-dots li button,
  .slick-dots li button:before {
    height: 30px;
    width: 3px;
  }
}

/* slick-btn(共通) */
.btn-slick {
  width: 40px;
  height: 40px;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-family: "Noto Serif JP";
  font-weight: bold;
  font-size: 10px;
  color: var(--color03);
  line-height: 1;
  letter-spacing: 0;
  background: var(--colorff);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  z-index: 5;
  border-radius: 50%;
}

.btn-slick:hover {
  opacity: 0.5;
}

.btn-slick.btn-next:before {
  content: "\f054";
  font-family: var(--ff99);
  font-weight: bold;
}

.btn-slick.btn-back:before {
  content: "\f053";
  font-family: var(--ff99);
  font-weight: bold;
}

.btn-slick.btn-next {
  position: absolute;
  top: 40%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: -20px;
}

.btn-slick.btn-back {
  position: absolute;
  top: 40%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: -20px;
}

.service-slick01 .btn-slick.btn-next,.service-slick01 .btn-slick.btn-back,.service-slick02 .btn-slick.btn-next,.service-slick02 .btn-slick.btn-back{
  display: none !important;
}

.space-area .slick-prev {
  z-index: 2;
}

@media(max-width:599px) {
  .space-area .slick-next {
    right: -5px;
  }

  .space-area .slick-prev {
    right: auto;
    left: -5px;
  }
  
  .service-slick01 .btn-slick.btn-next,.service-slick01 .btn-slick.btn-back,.service-slick02 .btn-slick.btn-next,.service-slick02 .btn-slick.btn-back{
    display: flex !important;;
    top: 50% !important
  }  
}

/* index-lead-area */
.index-lead-area .lead-list .head {
    border-right: 1px solid #b9b9b9;
    padding-right: 30px;
    margin-right: 30px;
    width: 15%;
    min-width: 150px;
    max-width: 150px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    align-self: center;
}

@media(max-width:1024px){
  .index-lead-area{
    margin-bottom: -10vh;
  }
}

@media(max-width:599px) {
  .index-lead-area .lead-list .head {
    border-right: none;
    border-bottom: 1px solid #b9b9b9;
    padding-bottom: 10px;
    padding-right: 0;
    margin-right: 0;
    margin-bottom: 20px;
    min-width: 120px;
    max-width: 180px;
  }
}

/* index-works-architectural-area */
.index-works-architectural-area .works-list {
  margin-left: calc(50% - 500px);
}

.index-works-architectural-area .works-list .slick-content {
  padding-left: 10%;
  margin-top: 30px;
}

.index-works-architectural-area .works-list .slick-content .item .infobox .numbox {
  font-family: var(--ff03);
  font-weight: 600;
  font-size: 20px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding-right: 20px;
  position: relative;
}

.index-works-architectural-area .works-list .slick-content .item .infobox .numbox::before {
  content: "";
  background: var(--color01);
  width: 1px;
  height: 0.8em;
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.index-works-architectural-area .works-list .slick-content .item .infobox .numbox .works {
  font-size: 75%;
}

@media(max-width:1024px) {
  .index-works-architectural-area .works-list {
    margin-left: 5%;
  }

  .index-slick .slick-dots {
    left: 30px;
  }
}

@media(max-width:599px) {

  .index-slick .slick-dots {
    left: 10px;
    bottom: 125px;
  }
}

/* index-works-space-area */
.index-works-space-area .space-list .item a {
  position: relative;
}

.index-works-space-area .space-list .item a .name {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: var(--colorff);
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: .5s;
  transition: .5s;
}

.index-works-space-area .space-list .item a .name>span{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}

.index-works-space-area .space-list .item a:hover {
  opacity: 1;
}

.index-works-space-area .space-list .item a:hover .name {
  opacity: 1;
  visibility: visible;
}

.index-works-space-area .space-list .item a img {
  -webkit-transition: .5s;
  transition: .5s;
}

.index-works-space-area .space-list .item a:hover img {
  -webkit-filter: brightness(.5);
  filter: brightness(.5);
}

@media(max-width:1024px){
  .index-works-space-area{
    margin-top: -20vh;
  }
}

@media(max-width:599px) {
  .index-works-space-area{
    margin-top: -10vh;
  }
  
  .index-works-space-area .space-list .item:nth-of-type(10) {
    display: none;
  }
}


/* index-blog-list */
.index-blog-list .blog-list .item a .date {
  font-family: var(--ff03);
  margin-top: 10px;
  font-weight: 500;
  color: var(--color04);
}

.index-blog-list .blog-list .item a .date.white{
  color: #fff;
}

.index-blog-list .blog-list .item a .more {
  margin-left: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.index-blog-list .blog-list .item a .more>* {
  font-size: 90%;
  letter-spacing: 0;
  color: var(--color04);
  /* border-bottom: 1px solid; */
}

.index-blog-list .blog-list .item a .more .txt {
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
}

.index-blog-list .blog-list .item a .more .txt::before {
    content: "";
    position: absolute;
    top: -5px;
    right: -13px;
    width: 40px;
    height: 40px;
    background: #bebebea6;
    border-radius: 50%;
    display: block;
    transition: .5s;
}

.index-blog-list .blog-list .item a:hover .more .txt::before{
  scale: 1.2;
}

.index-blog-list .blog-list .item a .more .txt::after {
    content: "";
    background-image: url(/upload/tenant_1/dotted00.webp);
    background-repeat: no-repeat;
    background-size: contain;
    aspect-ratio: 30/7;
    width: 14px;
    display: block;
}

.index-blog-list .blog-list .item a .more .txt.up-c-white::after{
  filter: brightness(10);
}

.index-blog-list .blog-list .item a:hover{
  opacity: 1;
}

.index-blog-list .blog-list .item a .img{
  overflow: hidden;
}

.index-blog-list .blog-list .item a .img img{
 transition: .8s
}

.index-blog-list .blog-list .item a:hover .img img {
    scale: 1.1;
    filter: brightness(1.1) contrast(1.1);
}

.index-blog-list .blog-list .item a .date,.index-blog-list .blog-list .item a .tit,.index-blog-list .blog-list .item a .more{
  transition: .8s;
}

.index-blog-list .blog-list .item a:hover .date,.index-blog-list .blog-list .item a:hover .tit,.index-blog-list .blog-list .item a:hover .more{
  opacity: .5;
}

@media(max-width:599px){
  .index-blog-list .blog-list .item a .more{
        padding-bottom: 20px;
    padding-right: 10px;
  }
}

/* index-concept-area */
/* .index-concept-area.about .concept-list .item-list .item:nth-child(n + 4) {
  width: 50%;
} */
.index-concept-area {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.index-concept-area.about .concept-wrap {
    margin: 0 auto;
    width: fit-content;
}

.index-concept-area.about .concept-list{
    overflow-x: scroll;
    width: 100%;
    max-width: 1200px;
}

.index-concept-area.about .concept-list .item-list{
  margin-right: 0;
}

@media(min-width:1300px){
  .index-concept-area.about .concept-list{
    max-width: 1500px;
  }
}

.index-concept-area.about .concept-list::-webkit-scrollbar{
   height: 5px;
}
.index-concept-area.about .concept-list::-webkit-scrollbar-track{
   background-color: #ccc;
}
.index-concept-area.about .concept-list::-webkit-scrollbar-thumb{
   background-color: var(--color01);
}

.index-concept-area.about .concept-list .item-list{
    width: 1400px;
    /* padding-right: calc(50vw - 600px); */
}
  
.index-concept-area .concept-list .item-list .item .item-inner {
  background: rgb(255 255 255 / 85%);
  padding: 30px 20px;
  border-radius: 50%;
  aspect-ratio: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  justify-content: flex-start;
}

.index-concept-area.about .concept-list .item-list .item .item-inner {
  border-radius: 0;
  aspect-ratio: unset;
  height: 100%;
  padding: 20px;
}

.index-concept-area .concept-list .item-list .item .item-inner .num {
  font-family: var(--ff03);
  font-size: 26px;
  color: var(--color03);
  line-height: 1;
}

.index-concept-area .concept-list .item-list .item .item-inner .tit {
  font-family: var(--ff03);
  letter-spacing: 1px;
  font-weight: 500;
  color: var(--color03);
}

.index-concept-area .concept-list .item-list .item .item-inner .text {
  font-size: 26px;
  font-weight: 500;
}

.index-concept-area.about .concept-list .item-list .item .item-inner .txt {
  line-height: 2;
  font-size: 15px;
  letter-spacing: 0;
}

@media(max-width:1024px) {
  /*   .index-concept-area.about .concept-wrap{
    margin-left: 5%;
  }
  .index-concept-area.about .concept-list .item-list{
    padding-right: 5%;
  } */

  .index-concept-area.about .concept-list{
      width: 90vw;
      max-width:100%;
  }

  .index-concept-area .concept-list .item-list .item .item-inner {
      padding: 26px 10px 20px 10px;
  }
  .index-concept-area .concept-list .item-list .item .item-inner .num {
    font-size: 24px;
  }

  .index-concept-area .concept-list .item-list .item .item-inner .tit {
    letter-spacing: 0px;
    font-size: 90%;
  }

  .index-concept-area .concept-list .item-list .item .item-inner .text {
    font-size: 24px;
    line-height: 1.5;
  }
}

@media(max-width:599px) {
  .index-concept-area .concept-list .item-list .item .item-inner .tit {
    font-size: 80%;
  }

  .index-concept-area .concept-list .item-list .item .item-inner .text {
    font-size: 20px;
    line-height: 1;
  }

  .index-concept-area.about .concept-list .item-list .item .item-inner .text {
    margin-bottom: 10px;
  }
}

/* index-article-area */
.article-list::before {
  content: "";
  background: var(--color04);
  width: 2px;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -1px;
}

.index-article-area .item-list .item a {
  position: relative;
  display: block;
}

.index-article-area .item-list .item a:hover{
  opacity: 1;
}

.index-article-area .item-list .item{
  padding-right: 50px;
}

.index-article-area .item-list .item a::before {
    content: "";
    position: absolute;
    right: -30px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background-image: url(/upload/tenant_1/dotted00.webp);
    background-size: contain;
    background-repeat: no-repeat;
    width: 13px;
    aspect-ratio: 30/7;
    z-index: 0;
}

.index-article-area .item-list .item a::after {
    content: "";
    background: #f1f1f1;
    aspect-ratio: 1/1;
    width: 40px;
    border-radius: 50%;
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -43px;
    z-index: -1;
    transition: .5s;
}

.index-article-area .item-list .item a:hover::after {
    scale: 1.3;
    top: calc(50% + 6px);
}

.index-article-area .newsbox .item-list .item,
.index-article-area .blogbox .item-list .item {
  border-bottom: 1px solid var(--color05);
}

.index-article-area .newsbox .item-list .item {
  padding-bottom: 20px;
  margin-bottom: 20px;
  height: calc(100% / 5);
}

.index-article-area .blogbox .item-list .item {
  padding-bottom: 30px;
  margin-bottom: 30px;
  height: calc(100% / 3);
}

.index-article-area .blogbox .item-list .item:last-child,
.index-article-area .newsbox .item-list .item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.index-article-area .blogbox .item-list .item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.index-article-area .blogbox .item-list .item a .img {
  width: 30%;
}

.index-article-area .blogbox .item-list .item a .txtbox {
  width: 65%;
}

@media(max-width:1024px) {
  .article-list::before {
    width: 1px;
  }

  .index-article-area .newsbox .item-list .item {
    padding-bottom: 10px;
    margin-bottom: 10px;
  }

  .index-article-area .blogbox .item-list .item {
    padding-bottom: 20px;
    margin-bottom: 20px;
  }

  .index-article-area .blogbox .item-list .item a .txtbox {
    padding-right: 35px;
    font-size: 15px;
  }
}

@media(max-width:599px) {
  .article-list::before {
    content: none;
  }

  .index-article-area .newsbox .item-list .item:nth-child(n + 4) {
    display: none;
  }
}

/* index-banner-area */
.index-banner-area .banner-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2px;
}

.index-banner-area .banner-list .item {
  width: calc((100% - 4px) / 3);
}

.index-banner-area .banner-list a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-height: 300px;
}

.index-banner-area .banner-list a:hover{
  opacity: 1;
}

.index-banner-area .banner-list a .tit {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: 400;
  color: var(--colorff);
}

.index-banner-area .banner-list a .tit .en {
  font-size: 280%;
  font-family: var(--ff02);
  line-height: 1.2;
}

.index-banner-area .banner-list a .bgi {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-filter: brightness(0.7);
  filter: brightness(0.7);
  overflow: hidden;
}

.index-banner-area .banner-list a .bgi img{
  transition: .8s;
}

.index-banner-area .banner-list a:hover .bgi img{
  scale: 1.1;
}

@media(max-width:1024px) {
  .index-banner-area .banner-list a .tit .en {
    font-size: 250%;
  }
}

@media(max-width:599px) {
  .index-banner-area .banner-list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .index-banner-area .banner-list .item {
    width: 100%;
  }

  .index-banner-area .banner-list a {
    min-height: 160px;
  }
}

/* index-contact-area */
.index-contact-area.hight-100vh{
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.index-contact-area .contact-list {
  background: rgb(255 255 255 / 80%);
  padding: 50px;
}

.index-contact-area .contact-list .item .tit {
  font-size: 20px;
}

.index-contact-area .item ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  align-items: baseline;
  -ms-flex-align: baseline;
  -webkit-column-gap: 5px;
  -moz-column-gap: 5px;
  column-gap: 5px;
}

.index-contact-area .item ul li::before {
  content: "■";
  color: var(--color01);
}

.index-contact-area .item ol li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  align-items: baseline;
  -ms-flex-align: baseline;
  list-style-type: none;
  counter-increment: cnt;
}

.index-contact-area .item ol li::before {
  content: ""counter(cnt)".";
  margin-right: 10px;
  font-weight: bold;
  font-size: 120%;
  color: var(--color01);
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

@media(max-width:1024px){
  .index-contact-area.hight-100vh{
    min-height: none;
  }
}

@media(max-width:599px) {
  .index-contact-area .contact-list {
    padding: 30px 20px;
  }

  .index-contact-area .item li {
    font-size: 15px;
  }
  
  .index-contact-area .contact-list .item .tit{
    font-size: 18px;
  }
}

[data-element-id].index-contact-area .contact-list .item .show\@sp .tit{
    font-size: 18px;
  }

/**
下層共通
*/
/* トップビジュアル（下層共通） */
.topvisual {
  position: relative;
}

.topvisual .img {
  min-height: 150px;
  max-height: 300px;
  position: relative;
}

.topvisual .img:before {
  content: "";
  display: block;
  padding-top: 30%;
  position: relative;
  z-index: -1;
}

.topvisual .img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
    font-family: "object-fit: cover; object-position: 50% 50%;";
    position: absolute;
    top: 0;
    left: 0;
    filter: brightness(0.5);
}

.topvisual .head {
  width: 96%;
  max-width: 1000px;
  font-size: 40px;
  line-height: 1.2;
  text-align: center;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  position: absolute !important;
  top: 50%;
  left: 50%;
  font-family: var(--ff02);
  font-weight: 500;
  color: var(--colorff);
}

@media (max-width: 599px) {
  .topvisual .head {
    font-size: 32px;
    letter-spacing: 2px;
    top: 60%;
  }
}

[data-element-id] .topvisual .head .show\@sp{
  font-size: 32px;
}

/* ##### パンくずリスト breadcrumbs ##### */
.breadcrumbs {
  padding: 30px 0;
}

.breadcrumbs.type02{
  padding:0 0 30px;
}

.breadcrumbs-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
}

.breadcrumbs-list li {
  display: inline;
  font-size: 14px;
  letter-spacing: 1px;
}

.breadcrumbs.type02 .breadcrumbs-list li {
    font-size: 12px;
}

.breadcrumbs-list li.breadcrumbs-home,
.breadcrumbs-list li.breadcrumbs-prevpage {
  font-weight: bold;
  color: var(--color01);
}

.breadcrumbs-list.white,.breadcrumbs-list.white li.breadcrumbs-home, .breadcrumbs-list.white li.breadcrumbs-prevpage{
  color: #fff;
}

.breadcrumbs-list li+li::before {
  content: "";
  width: 8px;
  height: 8px;
  display: inline-block;
  margin: 0 10px 0 0px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.breadcrumbs-list.white li+li::before {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

@media (max-width: 1024px) {
  .breadcrumbs {
    padding: 20px 0;
    font-size: 14px;
  }

  .breadcrumbs-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
  }

  .breadcrumbs-list {
    width: 100%;
    margin-top: 1em;
  }

  .breadcrumbs li {
    font-size: 12px;
  }

  .breadcrumbs li+li::before {
    width: 8px;
    height: 8px;
    margin: 0 5px 1px;
  }
}

@media (max-width: 599px) {
  .breadcrumbs {
    padding: 15px 0;
    font-size: 12px;
  }

  .breadcrumbs li+li::before {
    width: 6px;
    height: 6px;
  }
}

/* ##### パンくずリスト breadcrumbs ここまで ##### */

/* ページネーション */
.pagenation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.pagenation .item {
  margin: 0 10px;
}

.pagenation .prev {
/*   margin-right: 20px; */
  position: relative;
}

.pagenation .prev a:before {
  content: "\f053";
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
}

.pagenation .next {
/*   margin-left: 20px; */
  position: relative;
}

.pagenation .next a:before {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
}

.pagenation a,
.pagenation .now {
  font-weight: bold;
}

.pagenation a,
.pagenation .now {
  width: 40px;
  height: 40px;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 2px 8px;
  font-size: 20px;
  color: var(--color01);
  line-height: 28px;
  letter-spacing: 0;
  text-align: center;
  border-radius: 50%;
}

.pagenation a:hover,
.pagenation .now {
  color: #fff;
  background: var(--color01);
  opacity: 1;
}

.pagenation .next a,
.pagenation .prev a {
  font-size: 14px;
}

@media (max-width: 599px) {
  .pagenation .item {
    margin: 0 5px;
  }

  .pagenation .prev {
    margin-right: 10px;
  }

  .pagenation .next {
    margin-left: 10px;
  }

  .pagenation a,
  .pagenation .now {
    width: 30px;
    height: 30px;
    padding: 2px;
    font-size: 13px;
    line-height: 1;
  }
}

/**
各下層ページ
*/
/* 02about */
.about-philosophy-area .philosophy-list .item.archinature .imgbox {
  margin-top: 10%;
}

.about-philosophy-area .philosophy-list .item.memory .subitem {
  background: rgb(255 255 255 / 80%);
  padding: 20px;
  margin-bottom: 30px;
}

.about-philosophy-area .philosophy-list .item.memory .subitem .tit {
  margin-bottom: 10px;
  font-size: 110%;
  font-weight: 600;
  border-bottom: 1px solid var(--color02);
  padding-bottom: 10px;
}

@media(max-width:599px) {
  .about-philosophy-area .philosophy-list .item.memory .subitem .txt {
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: 1px;
  }
}

[data-element-id] .about-philosophy-area .philosophy-list .item.memory .subitem .show\@sp .tit{
  font-size: 17.5px;
}

.about-reason-area .reason-list .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 50px;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.about-reason-area.pattern2 .reason-list .item:nth-of-type(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.about-reason-area .reason-list .item .imgbox {
  width: 48%;
}

.about-reason-area .reason-list .item .imgbox .img {
  max-height: 400px;
  overflow: hidden;
}

.about-reason-area .reason-list .item .txtbox {
  width: 48%;
  padding-right: calc(50% - 500px);
}

.about-reason-area.pattern2 .reason-list .item:nth-of-type(even) .txtbox {
  padding-left: calc(50% - 500px);
  padding-right: 0;
}

.about-reason-area .reason-list .item .txtbox .tit {
  font-size: 22px;
  margin-bottom: 20px;
}

@media(max-width:599px) {
  .about-reason-area .reason-list .item {
    width: 96%;
    margin: 0 auto 50px;
  }

  .about-reason-area .reason-list .item:last-child {
    margin-bottom: 0;
  }

  .about-reason-area .reason-list .item .imgbox {
    width: 100%;
  }

  .about-reason-area .reason-list .item .txtbox {
    width: 100%;
  }

  .about-reason-area .reason-list .item .txtbox .tit {
    font-size: 18px;
    margin-bottom: 10px;
  }

  .about-reason-area .reason-list .item .txtbox .txt {
    font-size: 15px;
  }
}

[data-element-id] .about-reason-area .reason-list .item .txtbox .show\@sp .tit {
    font-size: 18px;
    margin-bottom: 10px;
  }
  
.about-staff-area .staff-list .name {
    font-size: 22px;
    line-height: 1.2;
}

.about-staff-area .staff-list .name .en {
    font-size: 200%;
    font-family: var(--ff02);
}

.about-staff-area .staff-list .item {
    border-bottom: 1px solid var(--color02);
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.about-staff-area .staff-list .item dt {
    font-size: 26px;
    font-family: var(--ff02);
    font-weight: 600;
    color: var(--color02);
    line-height: 1;
}

@media(max-width:599px){
  .about-staff-area .staff-list .name{
    font-size: 15px;
  }
  
  .about-staff-area .staff-list .item dt {
    font-size: 22px;
  }
  
  .about-staff-area .staff-list .item dt dd {
    font-size: 14px;
  }
  
  .about-staff-area .staff-list .item {
      margin-bottom: 15px;
  }
}

.about-media-area .media-list .item .item-inner {
    background: #eceae8;
    padding: 20px 10px;
    height: 100%;
}

.about-media-area .media-list .item .item-inner .date {
    text-align: center;
    color: var(--color01);
}

.about-media-area .media-list .item .item-inner .title {
    text-align: center;
    color: var(--color01);
    font-size: 15px;
    letter-spacing: 1px;
}

.about-media-area .media-list .item .item-inner .imgbox{
    margin-top: 10px;
}

.about-media-area .media-list .item .item-inner .text {
    font-size: 13px;
    letter-spacing: 1px;
    line-height: 1.6;
    margin-top: 10px;
}

/* 03office */
.office-info-area .info-list {
  background: #fff;
  padding: 30px;
}

.office-info-area .info-list .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 20px;
  border-bottom: 1px solid var(--color03);
}

.office-info-area .info-list .box:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.office-info-area .info-list .box dt {
  width: 20%;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

@media(max-width:1024px) {
  .office-info-area .info-list .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 15px 10px;
    border-bottom: 1px solid var(--color03);
  }

  .office-info-area .info-list .box dt {
    width: 35%;
  }

  .office-info-area .info-list .box dd {
    font-size: 14px;
  }
}

@media(max-width:599px) {
  .office-info-area .info-list {
    padding: 15px;
  }

  .googlemap .map {
    padding-top: 70%;
  }
}

/* 04flow */
.flow-area .flow-list .item {
  position: relative;
  padding-left: 50px;
}

.flow-area .flow-list .item::before {
  content: "";
  width: 20px;
  height: 20px;
  background: var(--color03);
  display: block;
  border-radius: 50%;
  position: absolute;
  top: 8px;
  left: 0px;
}

.flow-area .flow-list .item::after {
  content: "";
  display: block;
  width: 2px;
  height: 0;
  position: absolute;
  top: 20px;
  left: 9px;
  background: var(--color03);
  -webkit-transition: 1.8s;
  transition: 1.8s;
  -webkit-transition-delay: .8s;
  transition-delay: .8s;
}

.flow-area .flow-list .item.mv::after {
  height: 100%;
}

.flow-area .flow-list .item:last-child::after {
  content: none;
}

.flow-area .flow-list .item .tit {
  font-size: 20px;
  font-weight: 600;
}

.flow-area .flow-list .item .txt {
  padding-bottom: 30px;
}

@media(max-width:599px) {
  .flow-area .flow-list .item {
    padding-left: 40px;
  }

  .flow-area .flow-list .item .tit {
    font-size: 18px;
  }

  .flow-area .flow-list .item .txt {
    font-size: 15px;
  }
}

[data-element-id].flow-area .flow-list .item .show\@sp .tit{
  font-size: 18px;
}

.flow-price-area .item.supervision .subbox .subitem {
  margin-bottom: 20px;
}

.flow-price-area .item.supervision .subbox .subitem:last-child {
  margin-bottom: 0;
}

.flow-price-area .item.supervision .subbox .subitem .title {
  font-size: 110%;
  font-weight: 600;
}

.flow-price-area .item.supervision .subbox .subitem .title::before {
  content: "\f0c8";
  font-family: var(--ff99);
  font-weight: bold;
  margin-right: 5px;
  color: var(--color04);
}

.flow-price-area.long-img-box .item.supervision .subbox .subitem .title::before{
  color: #fff;
}

@media(max-width:599px) {
  .flow-price-area .item.supervision .subbox .subitem .title {
    font-size: 100%;
  }
}

.flow-price-area .item.fee .subbox .subitem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 30px;
}

.flow-price-area .item.fee .subbox .subitem .title {
  width: 100px;
  height: 100px;
  background: #fff;
  color: var(--color01);
  border-radius: 50%;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  margin-right: 20px;
  line-height: 1.5;
  letter-spacing: 1px;
  font-weight: 500;
}

@media(max-width:599px) {
  .flow-price-area .item.fee .subbox .subitem {
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
  }
}

.flow-price-area .item.term .box-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 50px;
  margin-top: 30px;
}

.flow-price-area .item.term .box-list dl {
    background: rgb(255 255 255 / 90%);
    color: var(--color01);
    padding: 20px 10px;
    width: calc((100% - 200px) / 5);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: 200px;
    position: relative;
}

.flow-price-area .item.term .box-list dl::before {
  content: "\f0da";
  font-family: var(--ff99);
  font-size: 20px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: -32px;
  font-weight: bold;
}

.flow-price-area .item.term .box-list dl:last-child:before {
  content: none;
}

.flow-price-area .item.term .box-list dl .title {
  font-weight: 600;
  font-size: 120%;
}

@media(max-width:1024px) {
  .flow-price-area .item.term .box-list {
    gap: 20px;
  }

  .flow-price-area .item.term .box-list dl {
    width: calc((100% - 80px) / 5);
    letter-spacing: 0;
  }

  .flow-price-area .item.term .box-list dl::before {
    right: -15px;
  }

  .flow-price-area .item.term .box-list dl .text {
    font-size: 14px;
  }
}

@media(max-width:599px) {
  .flow-price-area .item.term .box-list {
    gap: 40px;
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
  }

  .flow-price-area .item.term .box-list dl {
    width: 100%;
    letter-spacing: 1px;
    min-height: unset;
  }

  .flow-price-area .item.term .box-list dl::before {
    right: auto;
    left: 50%;
    -webkit-transform: translate(-50%, 0) rotate(90deg);
    transform: translate(-50%, 0) rotate(90deg);
    top: auto;
    bottom: -40px;
  }
}

/* 05service */
.service-hearing-area .hearing-list .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #fff;
  padding: 10px;
  margin-bottom: 30px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.service-hearing-area .hearing-list .item .tit {
  background: #ebebeb;
  padding: 10px;
  width: 20%;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-right: 20px;
  min-height: 150px;
}

.service-hearing-area .hearing-list .item .txt {
  line-height: 1.7;
  font-size: 15px;
  letter-spacing: 1px;
}

.service-content-area .sp-img-box .img.img01 {
  width: 40%;
  margin-right: -10%;
  z-index: 2;
  position: relative;
}

.service-content-area .sp-img-box .img.img02 {
  width: 80%;
  margin-left: auto;
  margin-top: 130px;
}

.service-content-area .txt {
  line-height: 1.8;
  font-size: 15px;
  letter-spacing: 1px;
}

@media(max-width:599px) {
  .service-hearing-area .hearing-list .item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 15px;
  }

  .service-hearing-area .hearing-list .item .tit {
    width: 100%;
    margin-right: 0;
    min-height: unset;
    margin-bottom: 10px;
  }
}

/* 06topics */
.topic-content-area .second-list .content .imgbox {
  margin-right: -80%;
}

.topic-content-area .second-list .content .item-wrap {
  z-index: 2;
  position: relative;
  margin-top: 450px;
}

.topic-content-area .second-list .content .item {
  padding: 20px;
  background: #f8f8f8;
  margin-right: 1px;
  width: calc(33.333% - 1px);
}

.topic-content-area .second-list .content .item .tit {
  margin-bottom: 20px;
}

@media(max-width:599px) {
  .topic-content-area .second-list .content .item-wrap {
    margin-top: 160px;
  }

  .topic-content-area .second-list .content .item {
    width: 100%;
    margin-bottom: 5px;
  }
}

.topic-content-area .content .table {
  border: 1px solid;
}

.topic-content-area .content .table dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid;
}

.topic-content-area .content .table dl:last-child {
  border-bottom: none;
}

.topic-content-area .content .table dl>* {
  width: 50%;
  padding: 10px;
  text-align: center;
}

.topic-content-area .content .table dt {
  border-right: 1px solid;
}

.topic-content-area .feature-list .content .item:nth-of-type(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.topic-content-area .feature-list .content .item .imgbox {
  width: 50%;
  position: relative;
}

.topic-content-area .feature-list .content .item .imgbox .tit {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 2;
  color: #fff;
  width: 100%;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 150%;
  letter-spacing: 5px;
  text-align: center;
}

[data-element-id] .topic-content-area .feature-list .content .item .imgbox .tit {
    display: flex;
    flex-direction: column;
    align-items: center;
}

[data-element-id] .topic-content-area .feature-list .content .item .imgbox .tit .show\@sp{
  font-size: 20px;
}

.topic-content-area .feature-list .content .item .imgbox img {
  -webkit-filter: brightness(.5);
  filter: brightness(.5);
}

.topic-content-area .feature-list .content .item .txtbox {
  width: 50%;
  padding: 30px;
}

.topic-content-area .feature-list .content .item .table dl>* {
  width: 25%;
}

.topic-content-area .feature-list .content .item .table dl dd {
  border-right: 1px solid;
}

.topic-content-area .feature-list .content .item .table dl dd:last-child {
  border-right: none;
  width: 30%;
}

.topic-content-area .feature-list .content .item .table dl:not(:first-child) dd:last-child {
  text-align: left;
}

@media(max-width:599px) {
  .topic-content-area .feature-list .content .item .imgbox {
    width: 100%;
  }

  .topic-content-area .feature-list .content .item .txtbox {
    width: 100%;
    padding: 0;
    margin-top: 20px;
  }

  .topic-content-area .feature-list .content .item {
    margin-bottom: 50px;
  }

  .topic-content-area .feature-list .content .item:last-child {
    margin-bottom: 0;
  }
  
  .topic-content-area .feature-list .content .item .imgbox .tit{
    font-size: 20px;
  }
}

.topic-content-area .point-list .content .item {
  background: #f6f6f6;
  padding: 20px;
}

.topic-content-area .point-list .content .item {
  width: calc((100% - 20px) / 3);
}

.topic-content-area .point-list .content .item:nth-of-type(4),
.topic-content-area .point-list .content .item:nth-of-type(5) {
  width: calc((100% - 10px) / 2);
  margin-top: 10px;
}

@media(max-width:599px) {

  .topic-content-area .point-list .content .item,
  .topic-content-area .point-list .content .item:nth-of-type(4),
  .topic-content-area .point-list .content .item:nth-of-type(5) {
    width: 100%;
    margin-bottom: 10px;
    margin-top: 0;
  }
}

.topic-content-area .rule-list .content .item .sub-item-list .sub-item {
  background: #f6f6f6;
  padding: 20px;
  margin-bottom: 20px;
}

.topic-content-area .rule-list .content .item .sub-item-list .sub-item .sub-tit {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
}

.topics-area .topicslist .item {
  margin-bottom: 20px;
  width: 100%;
}

.topics-area .topicslist .item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    position: relative;
    background: #f4f4f4;
    padding: 20px 60px 20px 20px;
    width: 100%;
    justify-content: flex-start;
}

.topics-area .topicslist .item .numbox {
  font-family: var(--ff03);
  font-size: 20px;
  font-weight: 600;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-right: 20px;
}

.topics-area .topicslist .item .btn-item {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media(max-width:599px) {
  .topics-area .topicslist .item a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* 07architectural-area */
[data-element-id] .service-works-area .architectural-area .architectural-list>* {
    display: flex;
    justify-content: space-between;
}

[data-element-id] .service-works-area .architectural-area .architectural-list .item{
  width: calc(100% / 3);
}

[data-element-id] .service-works-area .architectural-area .architectural-list .item:nth-child(n + 4) {
  display: none;
}

.architectural-area.recommend .architectural-list .item:nth-of-type(4) {
  display: none;
}

.architectural-area .architectural-list .item a,
.architectural-area .architectural-list .item .a{
  position: relative;
  display: block;
}

.architectural-area .architectural-list .item a:hover,
.architectural-area .architectural-list .item .a:hover{
  opacity: 1;
}

.service-works-area .architectural-area .architectural-list .item a,
.service-works-area .architectural-area .architectural-list .item .a{
  margin: 0 10px;
}

.service-works-area .architectural-area .architectural-list .item a:hover,
.service-works-area .architectural-area .architectural-list .item .a:hover{
  opacity: 1;
}

.architectural-area .architectural-list .item a .imgbox,
.architectural-area .architectural-list .item .a .imgbox{
  -webkit-transition: .5s;
  transition: .5s;
}

.architectural-area .architectural-list .item a:hover .imgbox,
.architectural-area .architectural-list .item .a:hover .imgbox{
  -webkit-filter: brightness(.5);
  filter: brightness(.5);
}

.architectural-area .architectural-list .item a .txtbox,
.architectural-area .architectural-list .item .a .txtbox{
  position: absolute;
  top: 10px;
  left: 10px;
  color: #fff;
  opacity: 0;
  -webkit-transition: .5s;
  transition: .5s;
}

.architectural-area .architectural-list .item a:hover .txtbox,
.architectural-area .architectural-list .item .a:hover .txtbox{
  opacity: 1;
}

.architectural-area .architectural-list .item a .txtbox .num,
.architectural-area .architectural-list .item .a .txtbox .num{
  font-size: 40px;
  font-family: var(--ff03);
}

.architectural-area .architectural-list .item a .txtbox .cate,
.architectural-area .architectural-list .item .a .txtbox .cate{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.architectural-area .architectural-list .item a .txtbox .cate span,
.architectural-area .architectural-list .item .a .txtbox .cate span{
    border: 1px solid #fff;
    padding: 5px 5px 2px 5px;
    margin: 0 4px 7px;
    font-family: var(--ff03);
    font-size: 12px;
}

@media(max-width:599px) {
  .architectural-area.recommend .architectural-list .item:nth-of-type(4) {
    display: block;
  }
}

/* 99architectural-dtl-area */
.architectural-dtl-area .architectural-dtl-list .main-img,.space-area .space-list .main-img  {
    display: flex;
    justify-content: center;
}

.architectural-dtl-area .architectural-dtl-list .main-img img{
      max-height: 665px;
}

.space-area .space-list .main-img img{
      /* max-height: 730px; */
      max-height: 665px;
}

/* .space-area .space-list .main-img{
  width: fit-content;
    margin: 0 auto;
    position: relative;
}

.space-area .space-list .main-img img{
  max-height: 740px;
} */

@media(max-width:1024px){
  .space-area .space-list .main-img img{
     max-height: 430px;
  }
}

.architectural-dtl-area .architectural-dtl-list .img-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 2px;
}

.architectural-dtl-area .architectural-dtl-list .img-list .item {
  width: calc((100% - 14px) / 8);
}

.architectural-dtl-area .architectural-dtl-list .info-box .box-wrap {
  border-bottom: 1px solid;
}

.architectural-dtl-area .architectural-dtl-list .info-box .box-wrap .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 20px;
  border-bottom: 1px solid var(--color05);
}

.architectural-dtl-area .architectural-dtl-list .info-box .box-wrap .box .tit {
  width: 30%;
  font-weight: 600;
}

@media(max-width:599px) {
  .architectural-dtl-area .architectural-dtl-list .img-list .item {
    width: calc((100% - 10px) / 5);
  }
}

/* 08space-design */
.space-area .space-list .slick-num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.space-area .space-list .middle-line {
  width: 1em;
  height: 1px;
  display: block;
  background: var(--color01);
  -webkit-transform: rotate(-55deg);
  transform: rotate(-55deg);
  content: "";
}
/* 
.space-area .space-list .main-img .img{
  margin: 0 auto;
}

.space-area .space-list .main-img img{
  max-height: 1000px;
}
 */
 
 @media(max-width:599px){
   .space-area .space-list .main-img img{
  max-height: 220px;
}
 }
 
/* 13links */
.link-area .link-list .item a {
  padding: 20px 30px 20px 20px;
  background: #f7f7f7;
  display: block;
  position: relative;
  letter-spacing: 0;
  font-family: var(--ff03);
}

.link-area .link-list .item a[href*=tel]{
      pointer-events: auto;
}

.link-area .link-list .item a::before {
  content: "\f35d";
  font-family: var(--ff99);
  color: var(--color01);
  font-weight: bold;
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 12px;
}

@media(max-width:599px) {
  .link-area .link-list .item a {
    padding: 20px 30px 20px 10px;
    font-size: 14px;
  }
}

/* 12voice */
.voice-area .voice-list .item {
margin-top: 30px;
}

.voice-area .voice-list.type02 .item {
margin-top: 0px;
}

.voice-area.recommend .voice-list .item:nth-of-type(4) {
  display: none;
}

.voice-area .voice-list .item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #fff;
  position: relative;
  padding-right: 50px;
  height: 100%;
}

.voice-area .voice-list .item a::before {
  content: "";
  background: url('/import/tenant_1/160.16.220.105/html/images/common/dotted00.png');
  background-repeat: no-repeat;
  background-size: contain;
  width: 20px;
  aspect-ratio: 30/7;
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  display: block;
}

.voice-area.type02 .voice-list .item a {
  display: block;
  padding-right: 0px;
}

.voice-area .voice-list .item a .imgbox {
  width: 30%;
}

.voice-area.type02 .voice-list .item a .imgbox {
  width: 100%;
}

.voice-area .voice-list .item a .txtbox {
  width: 65%;
/*   height: 100%; */
}

.voice-area.type02 .voice-list .item a .txtbox {
  width: 100%;
  padding: 20px;
}

.voice-area .voice-list .item a .txtbox .name {
  font-size: 20px;
}

.voice-area.type02 .voice-list .item a .txtbox .name {
  font-size: 16px;
}

@media(max-width:599px) {
  .voice-area .voice-list .item:first-child {
    margin-top: 0;
  }

  .voice-area.recommend .voice-list .item:nth-of-type(4) {
    display: block;
  }

  .voice-area .voice-list .item a .imgbox {
    width: 40%;
  }

  .voice-area .voice-list .item a .txtbox {
    width: 55%;
    height: 100%;
  }

  .voice-area .voice-list .item a {
    padding-right: 40px;
  }

  .voice-area .voice-list .item a::before {
    width: 15px;
    right: 10px;
  }

  .voice-area .voice-list .item a .txtbox .name {
    font-size: 16px;
  }
}

/* article-common */
.list-article .cate span {
  display: inline-block;
  margin: 0 5px 2px 0px;
  padding: 0 5px;
  color: #fff;
  background: var(--color01);
}

/* 16blog */
.blog-area .bloglist .item a:hover {
  opacity: 1;
}

.blog-area .bloglist .item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 20px;
  background: #f4f4f4;
}

.blog-area .bloglist .item a .imgbox {
  width: 40%;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  overflow: hidden;
}

.blog-area .bloglist .item a .imgbox img {
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.blog-area .bloglist .item a:hover .imgbox img {
  scale: 1.2;
}

.blog-area .bloglist .blocktxt {
  list-style: 1.5;
  margin-top: 10px;
  width: 55%;
}

.blog-area .bloglist.topics .blocktxt{
  width: 100%;
}

.blog-area .bloglist time {
  text-align: right;
  font-size: 12px;
  font-family: var(--ff03);
  letter-spacing: 0;
  font-weight: 500;
}

.blog-area .bloglist .cate {
  text-align: right;
  line-height: 1.2;
  font-family: var(--ff03);
  font-weight: 500;
}

.blog-area .bloglist .cate span {
  display: inline-block;
  margin: 0;
  padding: 0;
  font-size: 14px;
  color: var(--color01);
  background: no-repeat;
}

.blog-area .bloglist .cate span::after {
  content: ",";
}

.blog-area .bloglist .cate span:last-child:after {
  content: none;
}

.blog-area .bloglist a .blocktxt .head {
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.blog-area .bloglist .item a:hover .blocktxt .head {
  opacity: 0.5;
}

@media(max-width:599px) {
  .blog-area .bloglist .cate {
    padding: 0;
    font-size: 12px;
    border: none;
  }

  .blog-area .bloglist a .blocktxt .head {
    font-size: 15px;
  }
}

/* 17faq */
.flow-faq-area.h100vh{
  min-height: 100vh;
}

.faqlist .subbox .tit {
  font-size: 26px;
  text-align: center;
  margin-bottom: 20px;
}

.faqlist .item>* {
  background: #fff;
}

.faqlist .item .datattl {
  padding: 30px 50px 30px 30px;
  position: relative;
  background: #fafafa;
}

.faqlist .item .datattl::after {
  content: "\f077";
  font-family: var(--ff99);
  font-weight: bold;
  font-size: 12px;
  color: var(--color01);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  -webkit-transform: translate(-50%, 0px);
  transform: translate(-50%, 0px);
  position: absolute;
  top: 40%;
  right: 20px;
}

.faqlist .item .datattl.is-parent::before {
  opacity: 1;
}

.faqlist .item .datattl.is-parent::after {
  -webkit-transform: scale(1, -1) translate(-50%, 0px);
  transform: scale(1, -1) translate(-50%, 0px);
}

.faqlist .item .data {
  padding: 30px;
  background: #efefef;
}

.faqlist .item .data .a,
.faqlist .item .datattl .q {
  margin-right: 10px;
  font-size: 30px;
  line-height: 1;
}

.faqlist .item .txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  align-items: baseline;
  -ms-flex-align: baseline;
}

@media(max-width:599px) {
  .flow-faq-area.h100vh{
  min-height: auto;
}

  .faqlist .item .datattl {
    padding: 20px 40px 20px 20px;
  }

  .faqlist .item .datattl::after {
    right: 10px;
  }

  .faqlist .item .data .a,
  .faqlist .item .datattl .q {
    font-size: 26px;
  }
  
  .faqlist .subbox .tit{
    font-size: 22px;
  }
}

[data-element-id] .faqlist .subbox .show\@sp .tit{
    font-size: 22px;
  }

/* 99article_detail*/
.articledtl01 {
  border-bottom: 2px solid;
  padding-bottom: 10px;
}

.articledtl01 .cate span {
  display: inline-block;
  margin: 0 5px 2px 0px;
  padding: 0 10px;
  color: var(--color01);
  font-family: var(--ff03);
  border: 1px solid var(--color01);
}

.articledtl01 .head {
  padding-bottom: 5px;
  border-bottom: 1px solid;
}

.articledtl01 .txt h2 {
  margin: 1em 0;
  padding: 0.5em 1em;
  font-weight: 500;
  font-size: 22px;
  color: #fff;
  line-height: 1;
  background: var(--color01);
}

.articledtl01 .txt h3 {
  margin: 1em 0;
  padding: 0.5em;
  font-weight: 500;
  font-size: 20px;
  line-height: 1;
  border-left: solid 10px var(--color01);
}

.articledtl01 .txt h4 {
  margin: 1em 0;
  padding-bottom: 0.5em;
  font-weight: 500;
  font-size: 18px;
  border-bottom: dotted 2px var(--color01);
}

.articledtl01 .txt ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  align-items: baseline;
  -ms-flex-align: baseline;
  -webkit-column-gap: 5px;
  -moz-column-gap: 5px;
  column-gap: 5px;
}

.articledtl01 .txt ul li::before {
  content: "■";
  color: var(--color01);
}

.articledtl01 .txt ol li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  align-items: baseline;
  -ms-flex-align: baseline;
  list-style-type: none;
  counter-increment: cnt;
}

.articledtl01 .txt ol li::before {
  content: ""counter(cnt)".";
  margin-right: 10px;
  font-weight: bold;
  font-size: 120%;
  color: var(--color01);
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.articledtl01 .comment-box{
  margin-top: 30px;
  border: 1px solid var(--color01);
}

.articledtl01 .comment-box .tit {
    border-bottom: 1px solid var(--color02);
    padding-bottom: 5px;
    margin-bottom: 10px;
}

.articledtl01 iframe[src*="youtube"] {
  margin-top: 1em;
  margin-bottom: 1em;

  aspect-ratio: 16 / 9;
}

.sns-share-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  margin-top: 50px;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.sns-share-btn .item a {
  width: 100px;
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 3px;
  font-size: 14px;
}

.sns-share-btn .item.b-hatena a {
  background: #00a4de;
}

.sns-share-btn .item.x a {
  background: #000000;
  color: #fff;
}

.sns-share-btn .item.fb a {
  background: #1877f2;
  color: #fff;
}

.sns-share-btn .item.b-hatena img {
  max-height: 25px;
}

/* 14contact */
.entry-area .lead-box .infobox {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 50px auto 80px;
  padding: 30px;
  text-align: center;
  background: var(--color03);
}

.form .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  padding: 20px 0;
  border-bottom: 1px solid var(--color03);
}

.form .datattl {
  width: 250px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  align-items: baseline;
  -ms-flex-align: start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 15px;
  letter-spacing: 0;
  font-weight: 500;
  color: var(--color01);
}

.form .require {
  display: inline-block;
  margin-left: 10px;
  padding: 5px 10px;
  font-size: 12px;
  color: #fff;
  line-height: 1;
  background: var(--color01);
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.form .data {
  width: 100%;
  padding-left: 50px;
}

.form .data input {
  width: 100%;
  margin-top: 5px;
  margin-bottom: 5px;
  padding: 5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid var(--color04);
}

.form .data.file input {
  padding: 20px;
  font-size: 14px;
}

.form .data input[type="radio"] {
  display: none;
}

.form .data input[type="radio"]+label {
  margin-right: 20px;
  padding-left: 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 200%;
  position: relative;
}

.form .data input[type="radio"]+label::before {
  content: "";
  width: 16px;
  height: 16px;
  display: block;
  border: 1px solid var(--color01);
  border-radius: 50%;
  background: #fff;
  position: absolute;
  top: 4px;
  left: 0;
}

.form .data input[type="radio"]:checked+label::after {
  content: "";
  width: 10px;
  height: 10px;
  display: block;
  border-radius: 50%;
  background: var(--color01);
  position: absolute;
  top: 7px;
  left: 3px;
}

.form .data input[type="radio"]:checked+label {
  -webkit-transition: 0.6s;
  transition: 0.6s;
}

.form .data input[type="number"] {
  width: 70px;
  margin-right: 10px;
}

.form .data select {
  padding: 5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: inherit;
  border: 1px solid var(--color04);
}

.form .data .sub-data {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

.form .data .sub-data.type02{
  flex-wrap: wrap;
}

.uk-text-danger {
    font-size: 14px;
    letter-spacing: 0px;
    font-weight: 600;
}

.form .data .sub-data .tit {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 180px;
  font-size: 80%;
}

.form .data .sub-data select {
  width: 100%;
}

.form .data textarea {
  width: 100%;
  height: 170px;
  padding: 5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  border: 1px solid var(--color04);
}

.form .data01 div {
  display: inline-block;
}

.form #js-button .form-submit-btn {
    pointer-events: none;
    opacity: .4;
    font-weight: 600;
}

.form #js-button.active .form-submit-btn {
    pointer-events: auto;
    opacity: 1;
    background: #fff;
    color: var(--color01);
    transition: .5s;
}

.form #js-button.active .form-submit-btn:hover{
  background: var(--color01);
    color: #fff;
}

.form #js-button .att {
      transition: .5s;
}

.form #js-button.active .att {
      opacity: 0;
}

@media (max-width: 1024px) {
  .form .item {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .form .datattl {
    display: block;
    margin-bottom: 10px;
  }

  .form .data {
    padding-left: 0;
  }
}

@media(max-width:599px) {
  .form .box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .form .data.file input {
    margin-top: 20px;
  }

  .form .data .sub-data {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-bottom: 10px;
  }

  .form .data .sub-data:last-child {
    margin-bottom: 0;
  }

  .form .data .sub-data.num input,
  .form .data .sub-data.prefectures select {
    width: 50%;
  }

  .form .datattl {
    width: 100%;
  }

  .form .btnbox.confirm .btn button {
    min-width: 150px;
  }
}

.privacy-area .privacy-box {
  height: 200px;
  overflow-y: scroll;
  background: #f5f5f5;
  padding: 30px;
}

.privacy-area .privacy-box .tit {
  font-size: 22px;
  margin-top: 30px;
  border-bottom: 1px solid;
  margin-bottom: 20px;
}

[data-element-id] .slick-main01,[data-element-id] .slick-main01-thumbnail {
    display: flex;
}

[data-element-id] .slick-main01 .js-contp,[data-element-id] .slick-main01-thumbnail .js-contp{
  width: 100%;
}

[data-element-id] .slick-main01-thumbnail.s-box > div{
  display: flex;
      flex-wrap: wrap;
}

[data-element-id] .slick-main01-thumbnail.s-box .js-contp{
  width: 10%
}

[data-element-id] .slick-main01 .js-contp:not(:first-of-type){
  display: none;
}

[data-element-id] .abtest{
  border: 10px solid;overflow: hidden;
}

[data-element-id] .abtest-a {
    border-color: #ff84ce;
    display: flex;
    flex-direction: column;
    text-align: center;
}

[data-element-id] .abtest-b {
    border-color: #84d0ff;
    display: flex;
    flex-direction: column;
    text-align: center;
}

[data-element-id] .abtest::before {
    width: 100%;
    display: block;
    color: #fff;
    text-align: center;
    font-family: var(--ff03);
    padding: 0 0 5px;
    font-size: 14px;
    margin-top: -5px;
}

[data-element-id] .abtest-a::before {
    content: "Aパターン";
    background: #ff84ce;
    color: #fff;
}

[data-element-id] .abtest-b::before {
    content: "Bパターン";
    background: #84d0ff;
    color: #fff;
}

/* rellax */
.long-img-box {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    transform: none!important;
    background-color: transparent!important;
}

.long-img-box.short{
  height: 50vh;
}

.long-img-box.height-auto{
  height: auto;
}

.long-img-box .long-img img{
    filter: grayscale(1) contrast(1.1) brightness(0.5);  
}

/* .index-blog-list .blog-list .item a .img img,.philosophy-list .item .img img{
  filter: none;  
} */

.long-img{
  position:absolute;
  z-index:-2;
}

.motion .long-img{
  width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1!important;
}

[data-element-id].long-img{
  position:absolute;
  z-index:0;
   width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    z-index:0;
    transform:translate(-50% , -50%);
}

[data-element-id].long-img-box{
    position:relative;
}

.long-img>img {
     width: 100%;
      height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position:center;
    object-position: center;
    font-family: "object-fit: cover; object-position: 50% 50%;";
    max-width:none;
}

@media(max-width:1024px){
  .long-img-box.contents{
    height: auto;
    min-height: 100vh;
  }
}

@media(max-width:599px){
  /* .long-img-box.sp-short{
    height: 60vh;
    height: 60dvh;
  } */
  
  .long-img-box.sp-h-0{
    height: 0;
  }
}

/* scroll-hint */
.scroll-hint-text {
    font-size: 9px;
    letter-spacing: 0px;
    color: #FFF;
    margin-top: 3px;
}

.scroll-hint-icon {
    background: rgb(90 76 59);
}


/* 2024/01/26追記 */

.bg-box{
    position: relative;
    z-index: 1;
    background: #fff;
    transition: all 1s 0.1s ease-out;
    opacity: .5;
}

.bg-box.active{
   opacity: 1;
}

.bg-img{
    filter: grayscale(1) contrast(1.1) brightness(0.8);
    position: absolute;
    top: 0;
    height: 100%;
    left: 0;
    overflow: hidden;
}

[data-element-id] .bg-box{
  opacity: 1;
}

[data-element-id] .bg-img{
    border: solid 4px black;
    position: relative;
    width: 50%;
    margin: auto;
}

[data-element-id] .bg-img:after{
   content: "↑背景画像";
    display: block;
    padding: 5px;
    font-weight: 700;
    font-size: 12px;
    color: #fff;
    text-align: center;
    background: black;
    top: 0;
    left: 0;
    width: 100%;
    position: absolute;
}

/* .datawrap.new11 dd:nth-child(n+12){
  display: none;
} */

.b-category{
    background: #635e57;
    color: #fff;
    padding: 0 1.5em;
    line-height: 1.6;
}

.gallery-nav-list {
	margin: 0 auto 60px;
	padding: 15px 0;
	color: #444;
	border-top: 2px #e4e4e4 solid;
	border-bottom: 2px #e4e4e4 solid;
}

.gallery-nav-list ul{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

.gallery-nav-list li {
    width: fit-content;
    font-size: 13px;
    letter-spacing: 0;
}

.gallery-nav-list li a:before {
    content: '\f105';
    color: inherit;
    padding-right: 8px;
    margin-left: 0px;
    transform: scale(0.8);
    transform-origin: center;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
}

@media(max-width:1024px){
  .gallery-nav-list li {
    width: calc(100% / 5);
}
}

.modal-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(0,0,0,50%);
    padding: 20px 20px;
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    box-sizing: border-box;
    z-index: 999;
}

.modal-container:before{
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}

.modal-container.active{
  opacity: 1;
  visibility: visible;
}

.modal-close{
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: -40px;
  right: -40px;
  width: 40px;
  height: 40px;
  font-size: 40px;
  color: #fff;
  cursor: pointer;
  /* top: 20px;
    right: 20px;
    color: var(--color01); */
}

.modal-body {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 100%;
    width: 95%;
    height: 95%;
    /* height: 90vh;
    overflow-y: scroll;
    overflow-x: hidden; */
}

.modal-body .modal-content{
      width: 100%;
    height: 100%;
}

.modal-body .modal-content iframe{
      width: 100%;
    height: 100%;
}

@media(max-width:599px) {
  .gallery-nav-list ul {
    justify-content: flex-start;
}

  .gallery-nav-list li {
    width: calc(100% / 3);
}
.modal-close{
  right: -5px;
}
}

.section-my-medium.mt-30,
.section-my-small.mt-30{
  margin-top: 30px;
}

.section-py-small.mt-30{
  padding-top: 30px;
}

.category-accordion dt.title {
    content: "";
    margin-top: 10px;
    font-size: 14px;
    font-weight: 500;
    color: var(--color03);
    text-align: right;
    width: 100%;
}

.category-accordion dt.title::before {
    content: "＋続きを見る";
}

.category-accordion dt.title.is-parent {
    position: absolute;
    bottom: -35px;
    right: 0;
}

.category-accordion dt.title.is-parent::before {
    content: "－ 閉じる";
}

@media(max-width:1024px){
  .category-accordion .js-category-accordion{
    width: 100% !important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
}

/* 2024/11/05 追記 */

.bbi-none{
  border-bottom: none !important;
}


/* 2026.05.20 */
#header {
  overflow-anchor: none; /* スクロール位置の強制補正を無効化 */
}
