html {
  /* font-feature-settings: 'palt'; */
  font-size: 62.5%;
  scroll-behavior: smooth;
}
@media screen and (max-width:1300px) {
  html {
    font-size: calc(100vw / 1300 * 10);
  }
}

@media screen and (max-width:768px) {
  html {
    font-size: calc(100vw / 390 * 10);
  }
}
body {
  background: #f1f0e6;
  color: #000;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: normal;
}
.serif {
  font-family: 'Noto Serif JP', sans-serif;
}
.kiwi-maru {
  font-family: 'Kiwi Maru', serif;
}
.jost {
  font-family: 'Jost', sans-serif;
}
.handrawn {
  font-family: 'Delicious Handrawn', cursive;
}
.body_container {
  opacity: 0;
  overflow: hidden;
  transition: .6s ease;
}
.lazy .body_container {
  opacity: 1;
}
.max1200 {
  margin: 0 auto;
  max-width: 120rem;
}
.max1000 {
  margin: 0 auto;
  max-width: 100rem;
}
img {
  height: auto;
  max-width: 100%;
  width: 100%;
}
a {
  transition: .3s;
}
.anchor {
  display: flex;
  margin-top: -8rem;
  padding-top: 8rem;
}
@media screen and (max-width: 768px) {
  .anchor {
    margin-top: -4.7rem;
    padding-top: 4.7rem;
  }
}
strong {
  font-weight: inherit;
}
@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: scale(.3);
  }
  50% {
    opacity: 1;
    transform: scale(1.1);
  }
  70% {
    transform: scale(.9);
  }
  100% {
    transform: scale(1);
  }
}
/* 初期状態 */
.effect02 {
  opacity: 0;
  transform: scale(.8);
}

/* 画面内に入ったら付与されるクラス */
.effect02.is-visible {
  animation: bounceIn .8s ease both;  /* fill-mode: both を指定 */
  /* アニメーション後もこの状態を保持 */
  opacity: 1;
  transform: scale(1);
}

/* 1. 回転アニメーションを定義 */
@keyframes pulse-spin {
  0%, 80% {
    transform: rotate(0deg);   /* 0～90% は静止 */
  }
  100% {
    transform: rotate(360deg); /* 90～100% の間で1回転 */
  }
}

/* 2. クラスにアニメーションを適用 */
.rotate-every-3s {
  animation: pulse-spin 3s linear infinite;
  display: inline-block;             /* transform を効かせるため */
  transform-origin: center center;   /* 回転の中心（必要に応じて調整） */
}

.top_bg {
  background-image: url(../img/top/05_bg.jpg);
  background-position: right center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
   height: 100svh;
  position: fixed;
  width: 100vw;
  z-index: -1;
}

/* キーフレーム：ちょんちょん跳ねる */
@keyframes bird-hop {
  0% {
    transform: translateY(0) rotate(0deg);
  }
  15% {
    transform: translateY(-6px) rotate(-5deg);
  }
  30% {
    transform: translateY(0) rotate(0deg);
  }
  45% {
    transform: translateY(-4px) rotate(5deg);
  }
  60% {
    transform: translateY(0) rotate(0deg);
  }
  100% {
    transform: translateY(0) rotate(0deg);
  }
}

/* アイコンにアニメーションを適用 */
.bird-icon {
  animation: bird-hop 1.2s ease-in-out infinite;
  display: inline-block;                   /* transform を有効化 */
  transform-origin: bottom center;         /* くるっと回る軸を足元に */
}
/* ① 揺れのキーフレーム定義 */
@keyframes tree-sway {
  0% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(8deg);
  }
  50% {
    transform: rotate(0deg);
  }
  75% {
    transform: rotate(-5deg);
  }
  100% {
    transform: rotate(0deg);
  }
}

/* ① ふわふわ上下アニメーション定義 */
@keyframes float {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }  /* 上に8px浮かせる */
  100% {
    transform: translateY(0);
  }
}

@keyframes zoomInOut {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1); /* 拡大具合：調整可能 */
  }
}


:root {
  --animate-delay: .5s;
}
/* ---------------------------------------------------------------------------
//  top_fv
--------------------------------------------------------------------------- */
.top_fv .container {
  background: #f1f0e6;
 
  height: calc(var(--vh, 1vh) * 100);
   height: 100svh;
  min-height: 60rem;
}
.top_fv .container .wrap01 {
  height: 23.4rem;
  position: relative;
  z-index: 2;
}
.top_fv .container .wrap01 .logo {
  left: 7.2rem;
  position: absolute;
  top: 5.9rem;
  width: 26rem;
}
.top_fv .container .wrap01 .h1.effects01 {
  align-items: flex-start;
  display: flex;
  flex-direction: row-reverse;
  gap: 1rem;
  justify-content: center;
  padding-top: 5rem;
}
.top_fv .container .wrap01 .h1.effects01 span {
  font-size: 4.1rem;
  font-weight: 500;
  line-height: 1;
  overflow: hidden;
  padding: 1rem;
  position: relative;
  text-orientation: upright;
  writing-mode: vertical-rl;
  white-space: nowrap;
}
.top_fv .container .wrap01 .h1.effects01 span > strong:nth-child(1) {
  margin-top: -2.5rem;
}
.top_fv .container .wrap01 .h1.effects01 span > strong:nth-child(2) {
  margin-top: -2.5rem;
}
.top_fv .container .wrap01 .h1.effects01 span > strong:nth-child(3) {
  margin-top: -1.8rem;
}
.top_fv .container .wrap01 .h1.effects01 span strong > strong {
  font-weight: 700;
}
.top_fv .container .wrap01 .h1.effects01 span b {
  display: inline-block;
  height: 1.5rem;
}
.top_fv .container .wrap01 .h1.effects01 span .bg {
  background: #fff;
  bottom: 0;
  height: 0;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 1;
}
.top_fv .container .wrap01 .h1.effects01 .text {
  position: relative;
  z-index: 2;
}
.top_fv .container .wrap01 .hukidashi {
  align-items: center;
  background-image: url(../img/top/hukidashi01.png);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: contain;
  color: #205b36;
  display: flex;
  flex-direction: column;
  height: 9.3rem;
  position: absolute;
  right: calc((100vw - 120rem) / 2 + 2rem);
  top: 11.6rem;
  width: 31.6rem;
}
.top_fv .container .wrap01 .hukidashi .p2 {
  font-size: 2.4rem;
  margin-top: .3rem;
}
.top_fv .container .wrap02 {
  height: calc(100% - 23.4rem - 6.3rem);
  max-width: calc(100vw - 12rem);
  position: relative;
  width: calc(120rem + ((100vw - 120rem) / 2));
  z-index: 1;
}
.top_fv .container .wrap02 .slider {
  height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.top_fv .container .wrap02 .slider .img {
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}
.top_fv .container .wrap02 .slider .img.active {
  opacity: 1;
  z-index: 2;
}
.top_fv .container .wrap02 .slider .caption {
  bottom: 1rem;
  color: #060606;
  font-size: 1.2rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  paint-order: stroke;
  position: absolute;
  right: 1rem;
  text-shadow: 0 0 .4rem #fff,0 0 .4rem #fff,0 0 .4rem #fff;
  -webkit-text-stroke: .1rem #fff;
  z-index: 3;
}
.top_fv .container .wrap02 .slider .img img {
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 8s ease-out;
  width: 100%;
}
.top_fv .container .wrap02 .slider .overlay {
  background: #fff;
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  transform: translateX(-100%);
  transition: transform .6s ease;
  width: 100%;
  z-index: 4;
}

.top_fv .container .wrap03 {
  align-items: center;
  background: #fff;
  display: flex;
  height: 6.3rem;
  justify-content: center;
}
.top_fv .container .wrap03 .news {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.top_fv .container .wrap03 .news a:hover {
  opacity: .7;
}
@media screen and (max-width: 1440px) {
  .top_fv .container .wrap01 .logo {
    left: 4rem;
  }
}
@media screen and (min-width:1440px) {
  .top_fv .container .wrap02 {
    width: calc(100vw - 12rem);
  }
}
@media screen and (max-width: 768px) {
  .top_fv .container {
   
    height: calc(var(--vh, 1vh) * 100);
     height: 100svh;
    min-height: 60rem;
  }
  .top_fv .container .wrap01 {
    /* height: 43.2rem; */
    height: 45rem;
  }
  .top_fv .container .wrap01 .logo {
    left: 2.2rem;
    top: 1.6rem;
    width: 9.6rem;
  }
  .top_fv .container .wrap01 .h1.effects01 {
    gap: .9rem;
    /* padding-top: 26rem; */
    padding-top: 9rem;
  }
  .top_fv .container .wrap01 .h1.effects01 span {
    font-size: 3.2rem;
    padding: .5rem;
  }
  .top_fv .container .wrap01 .h1.effects01 span > strong:nth-child(1) {
    margin-top: -1.8rem;
  }
  .top_fv .container .wrap01 .h1.effects01 span > strong:nth-child(2) {
    margin-top: -1.8rem;
  }
  .top_fv .container .wrap01 .h1.effects01 span > strong:nth-child(3) {
    margin-top: -1.7rem;
  }
  .top_fv .container .wrap01 .hukidashi {
    height: 9.3rem;
    left: 0;
    margin: auto;
    right: 0;
    /* top: 13.7rem; */
    top: 34rem;
    width: 31.6rem;
  }
  .top_fv .container .wrap02 {
    height: calc(100% - 45rem - 3.7rem);
    max-width: 100%;
    width: 100%;
  }
  .top_fv .container .wrap02 .slider {
    height: 100%;
    overflow: hidden;
    position: relative;
    width: 100%;
  }
  .top_fv .container .wrap02 .slider .caption {
    font-size: 1rem;
  }
  .top_fv .container .wrap03 {
    align-items: center;
    background: #fff;
    display: flex;
    height: 3.7rem;
    justify-content: center;
    padding: 0 3rem;
  }
  .top_fv .container .wrap03 .news {
    font-size: 1.4rem;
  }
}
/* ---------------------------------------------------------------------------
//  top01
--------------------------------------------------------------------------- */
.top01 .container {
  background: #f1f0e6;
}
.top01 .container .wrap01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 6rem 0 14rem;
}
.top01 .container .wrap01 .items01 {
  position: relative;
  width: 50%;
}
.top01 .container .wrap01 .items01 .h2.effects01 {
  align-items: flex-start;
  display: flex;
  flex-direction: row-reverse;
  gap: 1rem;
  justify-content: center;
}
.top01 .container .wrap01 .items01 .h2.effects01 span {
  font-size: 4.1rem;
  font-weight: 500;
  line-height: 1;
  overflow: hidden;
  padding: 1rem;
  position: relative;
  text-orientation: upright;
  writing-mode: vertical-rl;
  white-space: nowrap;
}
.top01 .container .wrap01 .items01 .h2.effects01 span b {
  display: inline-block;
  height: 1.5rem;
}
.top01 .container .wrap01 .items01 .h2.effects01 span .bg {
  background: #fff;
  bottom: 0;
  height: 0;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 1;
}
.top01 .container .wrap01 .items01 .h2.effects01 span .text {
  position: relative;
  z-index: 2;
}
.top01 .container .wrap01 .items01 .hukidashi {
  align-items: center;
  background-image: url(../img/top/hukidashi02.png);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: contain;
  color: #205b36;
  display: flex;
  flex-direction: column;
  font-size: 3.2rem;
  height: 13.92rem;
  left: 0;
  margin: auto;
  padding-top: 2rem;
  position: absolute;
  right: 8rem;
  top: 35rem;
  width: 36.96rem;
}
.top01 .container .wrap01 .illusts .illust {
  mix-blend-mode: multiply;
  position: absolute;
}
.top01 .container .wrap01 .illusts .illust01 {
  animation: float 3s ease-in-out infinite;
  right: 0;
  top: 23rem;
  width: 18.2rem;
}
.top01 .container .wrap01 .illusts .illust02 {
  animation: float 2s ease-in-out infinite;
  left: -1.6rem;
  top: 46rem;
  width: 20.5rem;
}
.top01 .container .wrap01 .illusts .illust03 {
  animation: float 2.5s ease-in-out infinite;
  right: 4.96rem;
  top: 50rem;
  width: 22.3rem;
}
.top01 .container .wrap01 .desc {
  margin-top: 41.3rem;
}
.top01 .container .wrap01 .desc .p {
  font-size: 1.8rem;
  line-height: 2.11;
  white-space: nowrap;
}
.top01 .container .wrap01 .items02 {
  width: 38rem;
}
.top01 .container .wrap01 .items02 .item {
  text-align: center;
}
.top01 .container .wrap01 .items02 .item + .item {
  margin-top: 5.4rem;
}
.top01 .container .wrap01 .items02 .item .img {
  aspect-ratio: 380/264;
  border-radius: 1.2rem;
  margin-bottom: .9rem;
  overflow: hidden;
}
.top01 .container .wrap01 .items02 .item .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}
.top01 .container .wrap01 .items02 .item .h3 {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.44;
}
.top01 .container .wrap01 .items02 .item p {
  font-size: 1.5rem;
  line-height: calc(26/15);
}
.top01 .container .wrap01 .items03 {
  margin-top: 10rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .top01 .container .wrap01 {
    display: block;
    padding: 4rem 3rem 10rem;
  }
  .top01 .container .wrap01 .items01 {
    width: 100%;
  }
  .top01 .container .wrap01 .items01 .h2.effects01.effects01 {
    gap: .9rem;
  }
  .top01 .container .wrap01 .items01 .h2.effects01 span {
    font-size: 3.2rem;
    padding: .5rem;
  }
  .top01 .container .wrap01 .items01 .hukidashi {
    font-size: 2.4rem;
    height: 10.35rem;
    left: 0;
    padding-top: 1.5rem;
    right: 0;
    top: 22rem;
    width: 27.5rem;
  }
  .top01 .container .wrap01 .illusts .illust01 {
    right: 1rem;
    top: 13rem;
    width: 11.3rem;
  }
  .top01 .container .wrap01 .illusts .illust02 {
    left: -1rem;
    top: 29rem;
    width: 12.76rem;
  }
  .top01 .container .wrap01 .illusts .illust03 {
    right: 1rem;
    top: 33.5rem;
    width: 13.85rem;
  }
  .top01 .container .wrap01 .desc {
    margin-top: 23.6rem;
  }
  .top01 .container .wrap01 .desc .p {
    font-size: 1.4rem;
    line-height: 1.9;
    white-space: normal;
  }
  .top01 .container .wrap01 .items02 {
    margin-top: 4rem;
    width: 100%;
  }
  .top01 .container .wrap01 .items02 .item + .item {
    margin-top: 3rem;
  }
  .top01 .container .wrap01 .items02 .item .img img {
    height: 100%;
    max-width: inherit;
    object-fit: cover;
    width: 100%;
  }
  .top01 .container .wrap01 .items02 .item .h3 {
    font-size: 1.6rem;
  }
  .top01 .container .wrap01 .items02 .item p {
    font-size: 1.4rem;
  }
  .top01 .container .wrap01 .items03 {
    left: -3rem;
    margin-top: 4rem;
    position: relative;
    width: 100vw;
  }
  .top01 .container .wrap01 .items03 > * {
    border-radius: 0!important;
  }
}
/* ---------------------------------------------------------------------------
//  top02
--------------------------------------------------------------------------- */
.top02 .container {
  background: #fff;
}
.top02 .container .illust01 {

  position: relative;
}
.top02 .container .illust01 img {
  position: absolute;
  right: 5.7rem;
  top: -2.5rem;
  width: 15.4rem;
    animation: float 3s ease-in-out infinite;
}
.top02 .container .wrap01 {
  padding: 7rem 0 14rem;
  position: relative;
}
.top02 .container .wrap01 .h2 {
  font-size: 3.2rem;
  font-weight: 500;
  text-align: center;
}
.top02 .container .wrap01 .h2 + .eng {
  background-image: url(../img/top/hukidashi03.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  color: #205b36;
  display: flex;
  font-size: 3.2rem;
  font-weight: 400;
  height: 7.6rem;
  justify-content: center;
  margin: 2rem auto 0;
  padding-left: 2rem;
  width: 20.6rem;
}
.top02 .container .wrap01 .items {
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  margin: 3.4rem auto 0;
  max-width: 138.2rem;
  padding: 0 2rem;
}
.top02 .container .wrap01 .items .item {
  width: calc((100% - 2rem) / 2);
}
.top02 .container .wrap01 .items .item .content01 {
  height: 86.8rem;
  height: 75rem;
}
.top02 .container .wrap01 .items .item .content01 .head {
  position: relative;
}
.top02 .container .wrap01 .items .item .content01 .head .img {
  aspect-ratio: 660/436;
  border-radius: .8rem;
  overflow: hidden;
}
.top02 .container .wrap01 .items .item .content01 .head .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}
.top02 .container .wrap01 .items .item .content01 .head .cap {
  bottom: 0;
  color: #fff;
  font-size: 3.2rem;
  left: 0;
  letter-spacing: .48rem;
  margin: auto;
  position: absolute;
  right: 0;
  text-align: center;
  text-transform: uppercase;
  width: 100%;
}
.top02 .container .wrap01 .items .item02 .content01 .head .cap {
  padding-right: 8.9rem;
}
.top02 .container .wrap01 .items .item .content01 .head .circle {
  background: #fff;
  border: solid 1px;
  border-radius: 100%;
  bottom: -4.8rem;
  height: 9.6rem;
  padding: .4rem;
  position: absolute;
  right: 3rem;
  width: 9.6rem;
}
@media screen and (max-width: 1382px) {
  .top02 .container .wrap01 .items .item .content01 .head .circle {
    right: 1.3rem;
  }
}
.top02 .container .wrap01 .items .item .content01 .circle strong {
  align-items: center;
  border: solid 1px;
  border-radius: 100%;
  display: flex;
  font-weight: 500;
  height: 100%;
  justify-content: center;
  text-align: center;
  width: 100%;
}
.top02 .container .wrap01 .items .item .content01 .txts {
  align-items: center;
  display: flex;
  flex-direction: column;
  text-align: center;
}
.top02 .container .wrap01 .items .item .content01 .txts .h3 {
  font-weight: 500;
  margin-top: 3.4rem;
}
.top02 .container .wrap01 .items .item .content01 .txts .p1 {
  border-bottom: solid 1px;
  margin-top: 1.5rem;
  padding-right: 1rem;
}
.top02 .container .wrap01 .items .item .content01 .txts .p2 {
  line-height: 1.87;
  margin-top: 1.3rem;
}
.top02 .container .wrap01 .items .item .content01 .icons {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  justify-content: center;
  margin-top: 2.3rem;
}
.top02 .container .wrap01 .items .item .content01 .icons .icon {
  width: 4rem;
}

.top02 .container .wrap01 .items .item01 .content02 {
  padding-left: 6.3rem;
  padding-right: 14.8rem;
}
.top02 .container .wrap01 .items .item02 .content02 {
  padding-left: 14.8rem;
  padding-right: 6.3rem;
}
.top02 .container .wrap01 .items .item .content02 .box {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  width: 32rem;
}
.top02 .container .wrap01 .items .item .content02 .h3 {
  border-bottom: solid 1px;
  font-size: 2rem;
  text-align: center;
  width: 100%;
}
.top02 .container .wrap01 .items .item .content02 .p1 {
  align-items: center;
  display: flex;
  gap: .9rem;
  justify-content: center;
  margin-top: .8rem;
}
.top02 .container .wrap01 .items .item .content02 .p1 span {
  align-items: center;
  color: #fff;
  display: flex;
  height: 2.6rem;
  justify-content: center;
  width: 6.8rem;
}
.top02 .container .wrap01 .items .item .content02 .p1 span.case01 {
  background: #ee7f34;
}
.top02 .container .wrap01 .items .item .content02 .p1 span.case02 {
  background: #99c7aa;
}
.top02 .container .wrap01 .items .item .content02 .map {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  height: 38.4rem;
  justify-content: center;
}
.top02 .container .wrap01 .items .item .content02 .map .img {
  position: relative;
  width: 100%;
}
.top02 .container .wrap01 .items .item .content02 .map .img span {
  align-items: center;
  color: #fff;
  display: flex;
  font-size: .83rem;
  font-weight: 500;
  height: 1.55rem;
  justify-content: center;
  position: absolute;
  width: 1.43rem;
}
.top02 .container .wrap01 .items .item .content02 .map .img span.case01 {
  background: #ee7f34;
}
.top02 .container .wrap01 .items .item .content02 .map .img span.case02 {
  background: #99c7aa;
}
.top02 .container .wrap01 .items .item01 .content02 .map .img span.e3-1 {
  right: 2.98rem;
  top: 5.4rem;
}
.top02 .container .wrap01 .items .item01 .content02 .map .img span.e3-2 {
  right: 2.98rem;
  top: 9.89rem;
}
.top02 .container .wrap01 .items .item01 .content02 .map .img span.e3-3 {
  right: 2.98rem;
  top: 14.5rem;
}
.top02 .container .wrap01 .items .item01 .content02 .map .img span.e3-4 {
  right: 2.98rem;
  top: 21.16rem;
}
.top02 .container .wrap01 .items .item02 .content02 .map .img span.c3-1 {
  left: 5.89rem;
  top: 5.98rem;
}
.top02 .container .wrap01 .items .item02 .content02 .map .img span.c3-2 {
  left: 5.89rem;
  top: 9.5rem;
}
.top02 .container .wrap01 .items .item02 .content02 .map .img span.c3-3 {
  left: 13.55rem;
  top: 4rem;
}
.top02 .container .wrap01 .items .item02 .content02 .map .img span.c3-4 {
  left: 17.1rem;
  top: 4rem;
}
.top02 .container .wrap01 .items .item02 .content02 .map .img span.c3-5 {
  left: 15.56rem;
  top: 10.2rem;
}
.top02 .container .wrap01 .items .item02 .content02 .map .img span.c3-6 {
  left: 5.89rem;
  top: 15.5rem;
}
.top02 .container .wrap01 .items .item02 .content02 .map .img span.c3-7 {
  left: 14.4rem;
  top: 16.4rem;
}
.top02 .container .wrap01 .items .item01 .content02 .map .sup {
  display: flex;
  flex-shrink: 0;
  font-size: 1.4rem;
  gap: .3rem;
  line-height: 1.78;
}
.top02 .container .wrap01 .items .item .content02 .map .sup span {
  flex-shrink: 0;
}
.top02 .container .wrap01 .items .item .content02 .btn {
  align-items: center;
  background-color: #becf98;
  border: solid  1px #000;
  border-radius: .8rem;
  color: #4a413b;
  display: flex;
  font-size: 1.4rem;
  font-weight: 500;
  height: 5rem;
  justify-content: center;
  position: relative;
  width: 100%;
}
.top02 .container .wrap01 .items .item .content02 .btn:hover {
  background-color: #000;
  color: #fff;
}

.top02 .container .wrap01 .items .item .content02 .btn::before {
  animation: tree-sway 4s ease-in-out infinite;
  background-image: url(../img/common/arrow_tree.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 4rem;
  position: absolute;
  right: .8rem;
  transform-origin: bottom center;    /* 根元を支点に */
  width: 3.6rem;
}
.top02 .container .wrap01 .info {
  align-items: center;
  background: #f2ecae;
  border-radius: 15.4rem;
  bottom: 9.6rem;
  display: flex;
  flex-direction: column;
  height: 59.9rem;
  justify-content: center;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 29.6rem;
}
.top02 .container .wrap01 .info .eng {
  background-image: url(../img/top/hukidashi04.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  color: #205b36;
  display: flex;
  font-size: 3.2rem;
  height: 18rem;
  justify-content: center;
  padding-top: 3.6rem;
  text-align: center;
  width: 16.2rem;
}
.top02 .container .wrap01 .info .h3 {
  font-size: 2.5rem;
  font-weight: 500;
  margin-top: .7rem;
}
.top02 .container .wrap01 .info .btns {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}
.top02 .container .wrap01 .info .btns .btn {
  background: #fff;
  border-radius: 100%;
  height: 13rem;
  padding: .4rem;
  position: relative;
  width: 13rem;
}
.top02 .container .wrap01 .info .btns .btn span {
  align-items: center;
  border: solid 1px #000;
  border-radius: 100%;
  display: flex;
  font-size: 1.4rem;
  font-weight: 500;
  height: 100%;
  justify-content: center;
  padding-bottom: 2.8rem;
  text-align: center;
  transition: .3s;
  width: 100%;
}
.top02 .container .wrap01 .info .btns .btn02 span {
  background: #becf98;
}
.top02 .container .wrap01 .info .btns .btn:hover span {
  background: #000!important;
  color: #fff;
}
.top02 .container .wrap01 .info .btns .btn::before {
  animation: tree-sway 4s ease-in-out infinite;
  background-image: url(../img/common/arrow_bird.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 2.4rem;
  content: '';
  height: 2.9rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  transform-origin: bottom center;    /* 根元を支点に */
  width: 3.9rem;
}
@media screen and (max-width: 768px) {
  .top02 .container .illust01 img {
    right: 1rem;
    top: -6rem;
    width: calc(15.4rem * .7);
  }
  .top02 .container .wrap01 {
    padding: 10rem 3rem;
    position: relative;
  }
  .top02 .container .wrap01 .h2 {
    font-size: 2.5rem;
    white-space: nowrap;
  }
  .top02 .container .wrap01 .items {
    flex-wrap: wrap;
    gap: 8rem;
    margin-top: 4rem;
    padding: 0;
  }
  .top02 .container .wrap01 .items .item {
    width: 100%;
  }
  .top02 .container .wrap01 .items .item .content01 {
    height: auto;
  }
  .top02 .container .wrap01 .items .item .content01 .head .cap {
    font-size: 2.3rem;
    letter-spacing: .2rem;
  }
  .top02 .container .wrap01 .items .item02 .content01 .head .cap {
    padding-right: 0;
  }
  .top02 .container .wrap01 .items .item .content01 .head .circle {
    font-size: 1.4rem;
    height: 8rem;
    right: 1.5rem;
    top: -4rem;
    width: 8rem;
  }
  .top02 .container .wrap01 .items .item .content01 .txts .h3 {
    font-weight: 500;
    margin-top: 2rem;
  }
  .top02 .container .wrap01 .items .item .content01 .txts .p1 {
    margin-top: 1rem;
  }
  .top02 .container .wrap01 .items .item .content01 .icons {
    gap: .2rem;
  }
  .top02 .container .wrap01 .items .item .content01 .icons .icon {
    width: calc((100% - 1rem) / 6);
  }
  .top02 .container .wrap01 .items .item .content02 {
    margin-top: 3rem;
  }
  .top02 .container .wrap01 .items .item01 .content02 {
    padding-left: 0;
    padding-right: 0;
  }
  .top02 .container .wrap01 .items .item02 .content02 {
    padding-left: 0;
    padding-right: 0;
  }
  .top02 .container .wrap01 .items .item .content02 .map {
    height: auto;
  }
  .top02 .container .wrap01 .items .item .content02 .btn {
    margin-top: 2rem;
  }
  .top02 .container .wrap01 .items .item .content02 .btn:hover {
    background-color: #000;
    color: #fff;
  }
  .top02 .container .wrap01 .info {
    border-radius: 15.4rem;
    height: auto;
    margin-top: 4rem;
    padding: 3rem 1.5rem 6rem;
    position: static;
    width: 100%;
  }
  .top02 .container .wrap01 .info .btns {
    flex-direction: row;
    margin-top: 2rem;
  }
}
/* ---------------------------------------------------------------------------
//  top03
--------------------------------------------------------------------------- */
.top03 .container {
  background: #f1f0e6;
}
.top03 .container .illust01 {
  animation: float 3s ease-in-out infinite;
  position: relative;
}
.top03 .container .illust01 img {
  left: -4.1rem;
  mix-blend-mode: multiply;
  position: absolute;
  top: 5rem;
  width: 23.4rem;
}
.top03 .container .wrap01 {
  align-items: center;
  color: #4a413b;
  display: flex;
  flex-direction: column;
  padding: 9rem 0 15rem;
  position: relative;
}
.top03 .container .wrap01 .ttls {
  margin-left: auto;
}
.top03 .container .wrap01 .h2 {
  font-size: 2.5rem;
  font-weight: 500;
  text-align: center;
}
.top03 .container .wrap01 .h2 + .eng {
  background-image: url(../img/top/hukidashi05.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  color: #205b36;
  display: flex;
  font-size: 3.2rem;
  font-weight: 400;
  height: 9.2rem;
  justify-content: center;
  margin: .4rem auto 0;
  padding-left: 2rem;
  width: 20.2rem;
}
.top03 .container .wrap01 .cards {
  display: flex;
  flex-wrap: wrap;
  gap: 2.7rem;
  margin-top: 3.8rem;
}
.top03 .container .wrap01 .cards .card {
  align-items: center;
  background: #fff;
  display: flex;
  flex-direction: column;
  padding: 0 .75rem;
  position: relative;
  width: calc((100% - 8.1rem) / 4);
}
.top03 .container .wrap01 .cards .card .tag {
  align-items: center;
  background: #4a413b;
  color: #fff;
  color: #fff;
  display: flex;
  font-size: 1rem;
  height: 2.39rem;
  justify-content: center;
  min-width: 8.8rem;
  padding: 0 .75rem;
  text-align: center;
}
.top03 .container .wrap01 .cards .card .img {
  aspect-ratio: 214.73/150.01;
  border: solid 1px #d0d0d0;
  margin-top: .38rem;
  overflow: hidden;
  width: 100%;
}
.top03 .container .wrap01 .cards .card .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  transition: .3s;
  width: 100%;
}
.top03 .container .wrap01 .cards .card:hover img {
  transform: scale(1.1);
}
.top03 .container .wrap01 .cards .card .txt {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  font-size: 1.5rem;
  -webkit-line-clamp: 3;
  line-height: 1.86;
  overflow: hidden;
  padding: .6rem 0 .75rem;
  transition: .3s;
  width: 100%;
}
.top03 .container .wrap01 .cards .card:hover .txt {
  opacity: .7;
}
.top03 .container .wrap01 .btn {
  align-items: center;
  background-color: #becf98;
  border: solid  1px #000;
  border-radius: .8rem;
  color: #4a413b;
  display: flex;
  font-size: 1.4rem;
  font-weight: 500;
  height: 5rem;
  justify-content: center;
  margin-top: 5rem;
  position: relative;
  width: 32rem;
}
.top03 .container .wrap01 .btn:hover {
  background-color: #000;
  color: #fff;
}
.top03 .container .wrap01 .btn::before {
  animation: tree-sway 4s ease-in-out infinite;
  background-image: url(../img/common/arrow_tree.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 4rem;
  position: absolute;
  right: .8rem;
  transform-origin: bottom center;    /* 根元を支点に */
  width: 3.6rem;
}
@media screen and (max-width: 768px) {
  .top03 .container .illust01 {
    position: relative;
  }
  .top03 .container .illust01 img {
    left: 1rem;
    top: -3rem;
    width: calc(23.4rem * .7);
  }
  .top03 .container .wrap01 {
    padding: 10rem 3rem;
  }
  .top03 .container .wrap01 .cards {
    gap: 1rem;
    margin-top: 3.8rem;
  }
  .top03 .container .wrap01 .cards .card {
    width: calc((100% - 1rem) / 2);
  }
  .top03 .container .wrap01 .cards .card .txt {
    font-size: 1.4rem;
  }
  .top03 .container .wrap01 .btn {
    width: 100%;
  }
}
/* ---------------------------------------------------------------------------
//  top04
--------------------------------------------------------------------------- */
.top04 {
  margin-top: -17.5rem;
}
.top04 .container {
  background: #f1f0e6;
}
.top04 .container .illust01 {
  animation: float 5s ease-in-out infinite;
  height: 21.2rem;
  margin: 0 auto;
  max-width: 144rem;
  pointer-events: none;
  position: relative;
  width: 100%;
}
.top04 .container .illust01::before, .top04 .container .illust01::after {
  background-image: url(../img/top/line01.svg);
  background-position: center bottom 3.6rem;
  background-repeat: repeat-x;
  background-size: 21rem;
  bottom: 0;
  content: '';
  height: 21.2rem;
  position: absolute;
  width: calc((100vw - 144rem) / 2);
}
.top04 .container .illust01::before {
  right: 100%;
}
.top04 .container .illust01::after {
  left: 100%;
}
.top04 .container .illust01 img {
  height: 21.2rem;
  mix-blend-mode: multiply;
  object-fit: cover;
  width: 144rem;
}
.top04 .container .wrap01 {
  align-items: center;
  display: flex;
  gap: 10rem;
  justify-content: space-between;
  padding: 1.3rem 0 7rem;
}
.top04 .container .wrap01 .h2 {
  font-size: 2.5rem;
  font-weight: 500;
  white-space: nowrap;
}
.top04 .container .wrap01 .members {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem 6rem;
}
.top04 .container .wrap01 .members .member {
  mix-blend-mode: multiply;
  width: 22rem;
}
.top04 .container .wrap01 .members .member:hover {
  opacity: .7;
}
@media screen and (max-width: 768px) {
  .top04 {
    margin-top: 0;
  }
  .top04 .container .illust01 {
    height: calc(21.2rem * .7);
  }
  .top04 .container .illust01::before, .top04 .container .illust01::after {
    display: none;
  }
  .top04 .container .illust01 img {
    height: calc(21.2rem * .7);
    object-position: 85% 100% ;
    width: calc(144rem * .7);;
  }
  .top04 .container .wrap01 {
    flex-direction: column;
    gap: 5rem;
    padding: 3rem 3rem 8rem;
  }
  .top04 .container .wrap01 .members {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem 0;
  }
  .top04 .container .wrap01 .members .member {
    width: 50%;
  }
}
/* ---------------------------------------------------------------------------
//  top05
--------------------------------------------------------------------------- */
.top05 .container {
  background-attachment: fixed;
  background-image: url(../img/top/05_bg.jpg);
  background-position: center right;
  background-repeat: no-repeat;
  background-size: cover;
}
.top05 .container .wrap01 .txt {
  align-items: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  height: 60rem;
  justify-content: center;
  padding: 5.2rem 3.7rem 3.5rem;
  position: relative;
  width: 52rem;
}
.top05 .container .wrap01 .txt::before {
  background: #afafaf;
  bottom: 0;
  content: '';
  height: 100%;
  mix-blend-mode: multiply;
  position: absolute;
  top: 0;
  width: 100%;
}
.top05 .container .wrap01 .txt .h2 {
  position: relative;
  width: 22.8rem;
}
.top05 .container .wrap01 .txt .p1 {
  font-size: 1.8rem;
  line-height: 2.1;
  margin-top: 2rem;
  position: relative;
  text-align: justify;
}
@media screen and (max-width: 768px) {
  .top05 .container {
    background-attachment: inherit;
    background-position: center right 20%;
  }
  .top05 .container .wrap01 .txt {
    height: auto;
    padding: 8rem 3rem;
    width: 100%;
  }
}
/* ---------------------------------------------------------------------------
//  top06
--------------------------------------------------------------------------- */
.top06 .container {
  background: #f1f0e6;
}
.top06 .container .wrap01 {
  display: flex;
  flex-wrap: wrap;
  padding: 6rem 0 9rem;
}
.top06 .container .wrap01 .map {
  order: -1;
  position: relative;
  width: 50%;
}
.top06 .container .wrap01 .map .link {
  border-radius: 10rem;
  display: block;
  height: 2.7rem;
  position: absolute;
  z-index: 2;
}
.top06 .container .wrap01 .map .link01 {
/*  right: 23.5rem;
  top: .9rem;*/
  width: 21rem;
}
.top06 .container .wrap01 .map .link02 {
/*  right: 19.5rem;
  top: 4.2rem;*/
  width: 12.5rem;
}
.top06 .container .wrap01 .head {
  color: #4a413b;
  font-size: 1.8rem;
  line-height: 2.1;
  padding-top: 14.7rem;
  position: relative;
  text-align: center;
  width: 50%;
}
.top06 .container .wrap01 .head .illusts .illust {
  position: absolute;
}
.top06 .container .wrap01 .head .illusts .illust01 {
  left: 2.3rem;
  top: 4.2rem;
  width: 17.8rem;
}
.top06 .container .wrap01 .head .illusts .illust02 {
  bottom: -5rem;
  right: -3.8rem;
  width: 22.4rem;
}
.top06 .container .wrap01 .head .h2.effects01 {
  align-items: flex-start;
  display: flex;
  flex-direction: row-reverse;
  gap: 1rem;
  justify-content: center;
  position: absolute;
  right: 1rem;
  top: -20rem;
}
.top06 .container .wrap01 .head .h2.effects01 span {
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1;
  overflow: hidden;
  padding: .7rem;
  position: relative;
  text-orientation: upright;
  writing-mode: vertical-rl;
  white-space: nowrap;
}
.top06 .container .wrap01 .head .h2.effects01 span b {
  display: inline-block;
  height: 1.5rem;
}
.top06 .container .wrap01 .head .h2.effects01 span .bg {
  background: #fff;
  bottom: 0;
  height: 0;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 1;
}
.top06 .container .wrap01 .head .h2.effects01 span .text {
  position: relative;
  z-index: 2;
}
.top06 .container .wrap01 .head .p {
  color: #4a413b;
  font-size: 1.8rem;
  line-height: 2.1;
}
.top06 .container .wrap01 .cards {
  display: flex;
  flex-wrap: wrap;
  gap: 1.7rem 4rem;
  margin-top: 6rem;
}
.top06 .container .wrap01 .cards .card {
  width: calc((100% - 16rem) / 5);
}
.top06 .container .wrap01 .cards .card.is-comingsoon {
  pointer-events: none;
}
.top06 .container .wrap01 .cards .card .img {
  aspect-ratio: 209/184;
  overflow: hidden;
  position: relative;
}
.top06 .container .wrap01 .cards .card .img::before {
  background-image: url(../img/common/icon_blank.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 1.2rem;
  content: '';
  height: 1.2rem;
  position: absolute;
  right: 1.2rem;
  width: 1.2rem;
  z-index: 2;
}
.top06 .container .wrap01 .cards .card .img::after {
  background: #787878;
  border-radius: 100%;
  bottom: .5rem;
  content: '';
  height: 2.6rem;
  mix-blend-mode: multiply;
  position: absolute;
  right: .5rem;
  width: 2.6rem;
  z-index: 1;
}
.top06 .container .wrap01 .cards .card .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  transition: .3s;
  width: 100%;
}
.top06 .container .wrap01 .cards .card:hover .img img {
  transform: scale(1.1);
}
.top06 .container .wrap01 .cards .card .txt {
  display: flex;
  font-size: 1.4rem;
  line-height: 1.4;
  margin-top: .5rem;
  transition: .3s;
}
.top06 .container .wrap01 .cards .card:hover .txt {
  opacity: .7;
}
.top06 .container .wrap01 .cards .card .txt > * {
  flex-shrink: 0;
}
/* リンク無し（ACF未入力 or coming soon）時の無効化 */
.top06 .container .wrap01 .cards .card.is-nolink {
  pointer-events: none; /* クリック不可 */
}

/* リンクアイコンを隠す */
.top06 .container .wrap01 .cards .card.is-nolink .img::before,
.top06 .container .wrap01 .cards .card.is-nolink .img::after {
  content: none !important;
  display: none !important;
}

/* ホバー演出を無効化 */
.top06 .container .wrap01 .cards .card.is-nolink:hover .img img {
  transform: none !important;
}
.top06 .container .wrap01 .cards .card.is-nolink:hover .txt {
  opacity: 1 !important;
}
@media screen and (max-width: 768px) {
  .top06 .container .wrap01 {
    display: flex;
    flex-wrap: wrap;
    padding: 0 0 8rem;
  }
  .top06 .container .wrap01 .map {
    order: 0;
    padding: 0 1.5rem;
    width: 100%;
  }
  .top06 .container .wrap01 .map .link {
    height: 1.6rem;
  }
  .top06 .container .wrap01 .map .link01 {
/*    right: 15.5rem;
    top: .6rem;*/
    width: 12.8rem;
  }
  .top06 .container .wrap01 .map .link02 {
/*    right: 13.3rem;
    top: 2.6rem;*/
    width: 7.5rem;
  }
  .top06 .container .wrap01 .head {
    padding-bottom: 21rem;
    padding-top: 24rem;
    width: 100%;
  }
  .top06 .container .wrap01 .head .illusts .illust01 {
    top: 3rem;
  }
  .top06 .container .wrap01 .head .illusts .illust02 {
    bottom: 4rem;
    right: 1rem;
    width: 22.4rem;
  }
  .top06 .container .wrap01 .head .h2.effects01 {
    right: 3rem;
    top: -5rem;
  }
  .top06 .container .wrap01 .head .h2.effects01 span {
    font-size: 2.5rem;
    padding: .5rem;
  }
  .top06 .container .wrap01 .cards {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem 1rem;
    margin-top: 3rem;
    padding: 0 3rem;
  }
  .top06 .container .wrap01 .cards .card {
    width: calc((100% - 1rem) / 2);
  }
  .top06 .container .wrap01 .cards .card .txt {
    font-size: 1.2rem;
  }
}
/* ---------------------------------------------------------------------------
//  .side_fix
--------------------------------------------------------------------------- */
.side_fix {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  height: 100vh;
    height: 100svh;
  justify-content: center;
  position: fixed;
  right: 0;
  z-index: 100;
}
.side_fix .btn {
  align-items: flex-end;
  background: #fff;
  border: solid 1px;
  border-radius: 1rem 0 0 1rem;
  display: flex;
  font-weight: 500;
  height: 21.7rem;
  justify-content: center;
  padding-left: 1.1rem;
  text-orientation: upright;
  transform: translateX(1.3rem);
  width: 6rem;
  writing-mode: vertical-rl;
  white-space: nowrap;
}
.side_fix .btn:hover {
  transform: translateX(0);
}
@media screen and (max-width: 768px) {
  .side_fix .btn {
    align-items: center;
    font-size: 1.4rem;
    height: 12rem;
    padding-left: 0;
    text-orientation: upright;
    transform: translateX(0);
    width: 2.5rem;
    writing-mode: vertical-rl;
    white-space: nowrap;
  }
}
/* ---------------------------------------------------------------------------
//  to_top
--------------------------------------------------------------------------- */
.to_top {
  bottom: 2.5rem;
  display: block;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  right: 2.5rem;
  width: 8rem;
  z-index: 10;
}
.to_top.active {
  opacity: 1;
  pointer-events: all;
}
@media screen and (max-width: 768px) {
  .to_top {
    bottom: 1.8rem;
    right: 1.5rem;
    width: 5rem;
  }
}
/* ---------------------------------------------------------------------------
//  header
--------------------------------------------------------------------------- */
.header .h_btn {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 14.2rem;
  justify-content: center;
  position: fixed;
  right: 0;
  top: 0;
  width: 14.2rem;
  z-index: 1000;
}
.header .h_btn .img {
  display: inline-block;                 /* transform のために必要 */
  transform-origin: center center;
  transition: .3s;
  width: 7.1rem;
}
.header.open .h_btn .img {
  transform: scaleX(-1);
}
/* ③ 飛び出して戻るキーフレーム定義 */
@keyframes fly-off-return {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  40% {
    /* 左上に飛び出す */
    transform: translate(-150%, -150%) rotate(-45deg);
  }
  41% {
    /* すぐに右上外側にワープ */
    transform: translate(150%, -150%) rotate(-45deg);
  }
  100% {
    /* 元位置に戻る */
    transform: translate(0, 0) rotate(0deg);
  }
}
@keyframes fly-off-return-open {
  0% {
    transform: translate(0, 0) rotate(0deg) scaleX(-1);
  }
  40% {
    /* 右上へ飛ぶ */
    transform: translate(150%, -150%) rotate(45deg) scaleX(-1);
  }
  41% {
    /* 左上外側へワープ */
    transform: translate(-150%, -150%) rotate(45deg) scaleX(-1);
  }
  100% {
    transform: translate(0, 0) rotate(0deg) scaleX(-1);
  }
}
.header .h_btn:hover .img {
  /* transform: translateY(-.5rem);
    transform: rotate(360deg) translateY(-.8rem); */
  animation: fly-off-return 1s ease-in-out forwards;
}
.header.open .h_btn:hover .img {
  animation: fly-off-return-open 1s ease-in-out forwards;
  transform: scaleX(-1);
}
.header .h_btn:hover .img {
  background-image: url(../img/common/bird02.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  mix-blend-mode: multiply;
}
.header .h_btn:hover .img img {
  opacity: 0!important;
}

.header .h_btn .eng {
  position: relative;
  text-align: center;
  width: 100%;
}
.header .h_btn .eng::before, .header .h_btn .eng::after {
  content: '';
  font-size: 1.2rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  transition: .3s;
}
.header .h_btn .eng::before {
  content: 'menu';
}
.header .h_btn .eng::after {
  content: 'close';
  opacity: 0;
}
.header.open .h_btn .eng::before {
  opacity: 0;
}
.header.open .h_btn .eng::after {
  opacity: 1;
}
.header .menu {
  background: #fff;

  height: 100vh;
    height: 100svh;
  overflow: auto;
  position: fixed;
  right: 0;
  top: 0;
  transform: translateX(100%);
  transition: .3s;
  width: 44.8rem;
  z-index: 999;
}
.header.open .menu {
  transform: translateX(0);
}
.header .menu .wrap01 {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;

  min-height: 100vh;
    height: 100svh;
  padding: 14.2rem 3rem;
  text-align: center;
}
.header .menu .logo {
  width: 14.9rem;
}
.header .menu .logo:hover {
  opacity: .7;
}
.header .menu .links {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  margin-top: 4rem;
}
.header .menu .links .link {
  align-items: center;
  color: #4a413b;
  display: flex;
  flex-direction: column;
  font-weight: 500;
  text-transform: uppercase;
}
.header .menu .links .link:hover {
  opacity: .7;
}
.header .menu .links .link .jp {
  font-size: 1rem;
}
.header .menu .btns {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 5rem;
  margin-top: 5rem;
}
.header .menu .btns .btn {
  align-items: center;
  border-radius: 10rem;
  display: flex;
  font-size: 1.8rem;
  font-weight: 500;
  height: 4.2rem;
  justify-content: center;
  width: 15.8rem;
}
.header .menu .btns .btn01 {
  background: #205b36;
  border: solid 1px #205b36;
  color: #fff;
}
.header .menu .btns .btn02 {
  background: #fff;
  border: solid 1px #4a413b;
  color: #4a413b;
}
.header .menu .btns .btn:hover {
  background: #4a413b!important;
  border: solid 1px #4a413b!important;
  color: #fff!important;
}
@media screen and (max-width: 768px) {
  .header .h_btn {
    height: 8.6rem;
    width: 8.6rem;
  }
  .header .h_btn .img {
    transition: .3s;
    width: 5.6rem;
  }
  .header .h_btn .eng {
    display: none;
  }
  .header .menu {
    width: 70%;
  }
  .header .menu .wrap01 {
    padding: 8.6rem 3rem;
  }
  .header .menu .logo {
    width: 14.9rem;
  }
  .header .menu .links {
    gap: 3rem;
    margin-top: 4rem;
  }
  .header .menu .btns {
    gap: 3rem;
    margin-top: 4rem;
  }
}
/* ---------------------------------------------------------------------------
//  footer
--------------------------------------------------------------------------- */
.footer .container {
  background: #becf98;
  padding: 5.5rem 0;
}
.footer .container .snss {
  align-items: center;
  display: flex;
  gap: 4rem;
  justify-content: center;
}
.footer .container .snss .sns img {
  height: 2.4rem;
  mix-blend-mode: multiply;
  transition: .3s;
  width: auto;
}
.footer .container .snss .sns:hover img {
  opacity: .7;
}
.footer .container .snss .sns:nth-of-type(2) img {
  height: 2.6rem;
}
.footer .container .wrap01 {
  background: #f1f0e6;
  border: solid 1px #000;
  border-radius: 2rem;
  display: flex;
  gap: 7rem;
  line-height: 1.5;
  margin-top: 2rem;
  padding: 4rem 5rem 2.9rem;
}
.footer .container .wrap01 .logo {
  margin-right: auto;
  width: 19rem;
}
.footer .container .wrap01 .links_area {
  display: flex;
  gap: 7rem;
}
.footer .container .wrap01 .links_area .links {
  display: flex;
  flex-direction: column;
}
.footer .container .wrap01 .links_area .links .link:hover {
  opacity: .7;
}
.footer .container .wrap01 .links_area .links .link {
  align-items: center;
  display: flex;
  gap: .3rem;
}
.footer .container .wrap01 .links_area .links .link.pdf::after {
  background-image: url(../img/common/icon_pdf.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 1.6rem;
  width: 1.5rem;
}
.footer .container .copyright {
  font-size: 1.2rem;
  margin-top: 2rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .footer .container {
    padding: 8rem 3rem;
  }
  .footer .container .wrap01 {
    align-items: center;
    flex-direction: column;
    gap: 3rem;
    padding: 4rem 1.5rem;
  }
  .footer .container .wrap01 .logo {
    margin: auto;
  }
  .footer .container .wrap01 .links_area {
    display: flex;
    font-size: 1.4rem;
    gap: 1.4rem;
  }
}
/* ---------------------------------------------------------------------------
//  service_fv
--------------------------------------------------------------------------- */
.service_fv .container {
  background: #f1f0e6;
  padding-bottom: 12.6rem;
  padding-top: 23.4rem;
  position: relative;
}
.service_fv .container .logo {
  left: 7.2rem;
  position: absolute;
  top: 4.4rem;
  width: 15.2rem;
}
.service_fv .container .inner {
  display: flex;
  flex-direction: row-reverse;
}
.service_fv .container .inner .wrap01 {
  align-items: center;
  background: #f1f0e6;
  display: flex;
  flex-direction: column;

  height: calc(100vh - 23.4rem - 6.3rem);
    height: calc(100svh - 23.4rem - 6.3rem);
  max-height: 90rem;
  min-height: 60rem;
  position: relative;
  width: 41.6rem;
  z-index: 2;
}
.service_fv .container .inner .wrap01 .eng {
  font-size: 3.6rem;
  letter-spacing: 1rem;
  text-align: center;
  text-transform: uppercase;
}
.service_fv .container .inner .wrap01 .h1.effects01 {
  align-items: flex-start;
  display: flex;
  flex-direction: row-reverse;
  gap: .5rem;
  justify-content: center;
  padding-top: 3.7rem;
}
.service_fv .container .inner .wrap01 .h1.effects01 span {
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1;
  overflow: hidden;
  padding: .51rem;
  position: relative;
  text-orientation: upright;
  writing-mode: vertical-rl;
  white-space: nowrap;
}
.service_fv .container .inner .wrap01 .h1.effects01 span b {
  display: inline-block;
  height: 1rem;
}
.service_fv .container .inner .wrap01 .h1.effects01 span .bg {
  background: #fff;
  bottom: 0;
  height: 0;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 1;
}
.service_fv .container .inner .wrap01 .h1.effects01 .text {
  position: relative;
  z-index: 2;
}
.service_fv .container .inner .wrap01 .illust {
  animation: float 3s ease-in-out infinite;
  mix-blend-mode: multiply;
  position: absolute;
}
.coworking .service_fv .container .inner .wrap01 .illust {
  bottom: 24.9rem;
  right: 2.6rem;
  width: 18.2rem;
}
.shareoffice .service_fv .container .inner .wrap01 .illust {
  bottom: 28rem;
  left: 0;
  width: 20.5rem;
}
.service_fv .container .inner .wrap01 .p {
  font-weight: 500;
  line-height: 2.37;
  margin-top: auto;
}
.service_fv .container .inner .wrap02 {
  left: 0;
  position: absolute;
  top: 23.4rem;
  width: calc(50vw + 4.3rem);
  z-index: 1;
}
.service_fv .container .inner  .wrap02 .slider {

  height: calc(100vh - 23.4rem - 6.3rem);
    height: calc(100svh - 23.4rem - 6.3rem);
  max-height: 90rem;
  min-height: 60rem;
  overflow: hidden;
  position: relative;
  width: calc(50vw + 4.3rem);
}
.service_fv .container .inner .wrap02 .slider .img {
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}
.service_fv .container .inner  .wrap02 .slider .img.active {
  opacity: 1;
  z-index: 2;
}
.service_fv .container .inner  .wrap02 .slider .caption {
  bottom: 1rem;
  color: #060606;
  font-size: 1.2rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  paint-order: stroke;
  position: absolute;
  right: 1rem;
  text-shadow: 0 0 .4rem #fff,0 0 .4rem #fff,0 0 .4rem #fff;
  -webkit-text-stroke: .1rem #fff;
  z-index: 3;
}
.service_fv .container .inner  .wrap02 .slider .img img {
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 8s ease-out;
  width: 100%;
}
/* .service_fv .container .inner  .wrap02 .slider .overlay {
  background: #fff;
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  transform: translateX(-100%);
  transition: transform .6s ease;
  width: 100%;
  z-index: 4;
} */
@media screen and (max-width: 1440px) {
  .service_fv .container .logo {
    left: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .service_fv .container {
    padding-bottom: 0;
    padding-top: 14rem;
  }
  .service_fv .container .logo {
    left: 2.2rem;
    top: 1.6rem;
    width: 9.6rem;
  }
  .service_fv .container .inner {
    flex-direction: column-reverse;
  }
  .service_fv .container .inner .wrap01 {
    height: auto;
    max-height: inherit;
    min-height: inherit;
    padding: 14rem 3rem 6rem;
    position: relative;
    width: 100%;
    z-index: 2;
  }
  .service_fv .container .inner .wrap01 .eng {
    margin-bottom: 0;
    position: absolute;
    top: -31rem;
    width: 100%;
    z-index: 3;
  }
  .coworking .service_fv .container .inner .wrap01 .illust {
    bottom: inherit;
    right: 4rem;
    top: 2rem;
    width: calc(18.2rem * .8);
  }
  .shareoffice .service_fv .container .inner .wrap01 .illust {
    bottom: inherit;
    left: inherit;
    right: 4rem;
    top: 1rem;
    width: calc(20.5rem * .8);
  }
  .service_fv .container .inner .wrap01 .h1.effects01 {
    left: 3rem;
    margin-right: auto;
    padding-top: 0;
    position: absolute;
    top: -12rem;
    width: 10.5rem;
  }
  .service_fv .container .inner .wrap01 .h1.effects01 span {
    font-size: 2rem;
    padding: .5rem;
  }
  .service_fv .container .inner .wrap01 .p {
    font-size: 1.5rem;
    width: 100%;
  }
  .service_fv .container .inner .wrap02 {
    height: 25rem;
    position: static;
    width: 100%;
  }
  .service_fv .container .inner  .wrap02 .slider {
    height: 100%;
    max-height: inherit;
    min-height: inherit;
    width: 100%;
  }
  .service_fv .container .inner  .wrap02 .slider .caption {
    right: 3rem;
  }
}
/* ---------------------------------------------------------------------------
//  service01
--------------------------------------------------------------------------- */
.service01 .container {
  background: #fff;
  color: #000;
  padding: 9rem 0 8rem;
}
.service01 .container .wrap01 {
  /* margin: 0 auto;
  max-width: 155rem; */
  overflow: hidden;
  position: relative;
  /* width: 100%; */
}
.service01 .container .wrap01 .service_slider .img {
  aspect-ratio: 503/346;
  border-radius: .8rem;
  margin: 0 1rem;
  overflow: hidden;
  position: relative;
  width: 50rem;
}
.service01 .container .wrap01 .service_slider .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}
.service01 .container .wrap01 .service_slider .img .caption {
  bottom: 1rem;
  color: #060606;
  font-size: 1.2rem;
  font-style: normal;
  font-weight: 400;
  left: 0;
  line-height: normal;
  margin: auto;
  paint-order: stroke;
  position: absolute;
  right: 0;
  text-align: center;
  text-shadow: 0 0 .4rem #fff,0 0 .4rem #fff,0 0 .4rem #fff;
  -webkit-text-stroke: .1rem #fff;
  width: 100%;
  z-index: 3;
}
.service01 .container .wrap02 .points {
  display: flex;
  gap: 0 6.7rem;
}
.service01 .container .wrap02 .points .point {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.73;
  text-align: justify;
  width: calc((100% - 13.4rem) / 3);
}
.service01 .container .wrap02 .points .point .h3 {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.44;
  padding: 9rem 0 3rem;
  position: relative;
  text-align: center;
}

.service01 .container .wrap02 .points .point .h3::before {
  animation: zoomInOut 2s ease-in-out infinite;
  background-image: url(../img/coworking/tree01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 4rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 4.6rem;
  width: 3.6rem;
}
.service01 .container .wrap02 .service {
  display: flex;
  margin-top: 8rem;
}
.service01 .container .wrap02 .service .ttl {
  position: relative;
  width: 19.9rem;
}
.service01 .container .wrap02 .service .ttl .h3 {
  background-image: url(../img/coworking/hukidashi01.png);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 100%;
  color: #205b36;
  font-size: 2.2rem;
  font-weight: 400;
  margin: 1rem auto 0;
  padding-bottom: 3rem;
  position: relative;
  text-align: center;
  width: 10.7rem;
}
.service01 .container .wrap02 .service .ttl .bird-icon {
  margin-left: 2.2rem;
  width: 6.4rem;
}
.service01 .container .wrap02 .service .ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem 0;
  width: calc(100% - 19.9rem);
}
.service01 .container .wrap02 .service .ul li {
  align-items: center;
  display: flex;
  gap: .6rem;
  width: calc(100% / 4);
}
.service01 .container .wrap02 .service .ul li .icon {
  width: 4.1rem;
}
.service01 .container .wrap02 .service .ul li span {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.2;
  width: calc(100% - 4.7rem);
}
.service01 .container .wrap02 .bottom {
  margin-top: 4rem;
}
.service01 .container .wrap02 .bottom .h3 {
  border-bottom: solid 1px;
  border-top: solid 1px;
  color: #4a413b;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  padding: .6rem 0 .8rem;
  text-align: center;
  text-align: center;
}
.service01 .container .wrap02 .bottom .ul {
  margin-top: 2rem;
}
.service01 .container .wrap02 .bottom .ul li {
  display: flex;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.7;
}
.service01 .container .wrap02 .bottom .ul li::before {
  content: '\30FB';
}
@media screen and (max-width:768px) {
  .service01 .container {
    padding: 6rem 0;
  }
  .service01 .container .wrap02 {
    padding: 0 3rem;
  }
  .service01 .container .wrap02 .points {
    flex-direction: column;
    gap: 0;
  }
  .service01 .container .wrap02 .points .point {
    width: 100%;
  }
  .service01 .container .wrap02 .points .point .h3 {
    font-size: 1.8rem;
    padding: 8rem 0 1rem;
  }
  .service01 .container .wrap02 .points .point .h3::before {
    top: 3.5rem;
  }
  .service01 .container .wrap02 .service {
    align-items: center;
    flex-direction: column;
    margin-top: 4rem;
  }
  .service01 .container .wrap02 .service .ul {
    gap: 1rem 0;
    margin-top: 2rem;
    width: 100%;
  }
  .service01 .container .wrap02 .service .ul li {
    width: calc(100% / 2);
  }
  .service01 .container .wrap02 .service .ul li .icon {
    width: 3.5rem;
  }
  .service01 .container .wrap02 .service .ul li span {
    font-size: 1.3rem;
    width: calc(100% - 3.6rem);
  }
  .service01 .container .wrap02 .bottom {
    margin-top: 4rem;
  }
  .service01 .container .wrap02 .bottom .h3 {
    font-size: 1.6rem;
  }
  .service01 .container .wrap02 .bottom .ul {
    margin-top: 1rem;
  }
  .service01 .container .wrap02 .bottom .ul li {
    font-size: 1.4rem;
  }
}
/* ---------------------------------------------------------------------------
//  service02
--------------------------------------------------------------------------- */
.service02 .container {
  padding: 13rem 0 17rem;
}
.service02 .container .wrap01 {
  align-items: center;
  display: flex;
  flex-direction: column;
}
.service02 .container .wrap01 .ttls {
  margin-bottom: 4.7rem;
  position: relative;
}
.service02 .container .wrap01 .ttls .h2 {
  color: #4a413b;
  font-size: 2.5rem;
  font-weight: 500;
}
.service02 .container .wrap01 .ttls .eng {
  background-image: url(../img/coworking/hukidashi02.png);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 100%;
  color: #205b36;
  font-size: 3.2rem;
  font-weight: 400;
  height: 7.1rem;
  position: absolute;
  right: -20.4rem;
  text-align: center;
  top: 0;
  width: 17.8rem;
}
.service02 .container .wrap01 .group + .group {
  margin-top: 6.4rem;
}
.service02 .container .wrap01 .group {
  width: 100%;
}
.service02 .container .wrap01 .group .h3 {
  align-items: center;
  background: #000;
  color: #fff;
  display: flex;
  font-size: 2rem;
  font-weight: 500;
  height: 4.1rem;
  justify-content: center;
  text-align: center;
}
.service02 .container .wrap01 .group .cards {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2.8rem;
}
.service02 .container .wrap01 .group .cards:has(.min) {
  margin-top: 6.7rem;
}
.service02 .container .wrap01 .group .cards .card {
  background: #fff;
  border-radius: .8rem;
  display: flex;
  flex-direction: column;
  padding: 2.4rem 2rem;
  position: relative;
  width: calc((100% - 1rem) / 2);
}
.service02 .container .wrap01 .group .cards .card.min {
  padding: 1.6rem 1.9rem 2rem;
  width: calc((100% - 2rem) / 3);
}
.service02 .container .wrap01 .group .cards .card .h4 {
  align-items: center;
  background: #ebf1e0;
  color: #000;
  display: flex;
  font-size: 2.4rem;
  font-weight: 500;
  height: 4.9rem;
  justify-content: center;
  margin-bottom: 1.7rem;
  position: relative;
  text-align: center;
}
.service02 .container .wrap01 .group .cards .card.min:nth-of-type(1) .h4 {
  background: rgba(190, 207, 152, 1);
}
.service02 .container .wrap01 .group .cards .card.min:nth-of-type(2) .h4 {
  background: rgba(190, 207, 152, .59);
}
.service02 .container .wrap01 .group .cards .card.min:nth-of-type(3) .h4 {
  background: rgba(190, 207, 152, .59);
}
.service02 .container .wrap01 .group .cards .card .h4 .txt00 {
  display: flex;
  font-size: 1.5rem;
  font-weight: 500;
  gap: .3rem;
  justify-content: center;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: -5rem;
}
.service02 .container .wrap01 .group .cards .card .h4 .txt00::before, .service02 .container .wrap01 .group .cards .card .h4 .txt00::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  width: 2.2rem;
}
.service02 .container .wrap01 .group .cards .card .h4 .txt00::before {
  background-image: url(../img/coworking/line_left.svg);
}
.service02 .container .wrap01 .group .cards .card .h4 .txt00::after {
  background-image: url(../img/coworking/line_right.svg);
}
.service02 .container .wrap01 .group .cards .card .dls {
  display: flex;
  flex-direction: column;
  flex-grow: 2;
}
.service02 .container .wrap01 .group .cards .card .dls dl {
  align-items: center;
  border-bottom: solid 1px #cdcdcd;
  color: #000;
  display: flex;
  flex-grow: 2;
  font-size: 1.8rem;
  gap: 2rem;
  padding: .5rem 0;
  width: 100%;
}
.service02 .container .wrap01 .group .cards .card.min .dls dl {
  gap: 3rem;
}
.service02 .container .wrap01 .group .cards .card .dls dl small {
  font-size: 1.4rem;
}
.service02 .container .wrap01 .group .cards .card .dls dl dt {
  font-weight: 500;
  width: 18rem;
}
.service02 .container .wrap01 .group .cards .card.min .dls dl dt {
  white-space: nowrap;
  width: 8rem;
}
.service02 .container .wrap01 .group .cards .card .dls dl dd {
  flex-grow: 2;
  font-weight: 400;
  /*white-space: nowrap;*/
}



.service02 .container .wrap01 .group .cards .card .dls dl:first-of-type {
  border-top: solid 1px #cdcdcd;
}
.service02 .container .wrap01 .group .cards .card .ul {
  color: #000;
  line-height: 1.75;
  margin-top: .8rem;
}
.service02 .container .wrap01 .group .cards .card .ul li {
  display: flex;
  font-size: 1.5rem;
  font-weight: 400;
}
.service02 .container .wrap01 .group .cards .card .ul li::before {
  content: '\30FB';
}
.service02 .container .wrap01 .group .cards .card .btn {
  align-items: center;
  color: #000;
  display: flex;
  font-size: 2rem;
  height: 8rem;
  justify-content: center;
  margin-top: 2.4rem;
  position: relative;
}
.service02 .container .wrap01 .group .cards .card .btn.case01 {
  background: rgba(201, 220, 168, 1);
}
.service02 .container .wrap01 .group .cards .card .btn.case02 {
  background: #205b36;
  color: #fff;
}
.service02 .container .wrap01 .group .cards .card .btn:hover {
  background: #000!important;
  color: #fff!important;
}
.service02 .container .wrap01 .group .cards .card .btn::before, .service02 .container .wrap01 .group .cards .card .btn::after {
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 1.6rem;
  margin: auto;
  position: absolute;
  right: 2rem;
  top: 0;
  transition: .3s;
  width: 1rem;
}
.service02 .container .wrap01 .group .cards .card .btn::before {
  background-image: url(../img/common/arrow01.svg);
}
.service02 .container .wrap01 .group .cards .card .btn.case02::before {
  background-image: url(../img/common/arrow02.svg);
}
.service02 .container .wrap01 .group .cards .card .btn::after {
  background-image: url(../img/common/arrow02.svg);
  opacity: 0;
}
.service02 .container .wrap01 .group .cards .card .btn:hover:after {
  opacity: 1;
}
.service02 .container .wrap01 .group > .btn {
  align-items: center;
  background-color: #becf98;
  border: solid  1px #000;
  border-radius: .8rem;
  color: #4a413b;
  display: flex;
  font-size: 1.4rem;
  font-weight: 500;
  height: 5rem;
  justify-content: center;
  margin: 5rem auto 0;
  position: relative;
  width: 32rem;
}
.service02 .container .wrap01 .group > .btn:hover {
  background-color: #000;
  color: #fff;
}

.service02 .container .wrap01 .group > .btn::before {
  animation: tree-sway 4s ease-in-out infinite;
  background-image: url(../img/common/arrow_tree.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 4rem;
  position: absolute;
  right: .8rem;
  transform-origin: bottom center;    /* 根元を支点に */
  width: 3.6rem;
}
.service02 .container .wrap01 .group .cards .card .flex {
  align-items: center;
  color: #000;
  display: flex;
  font-size: 1.8rem;
  font-weight: 500;
  gap: 1rem;
  text-align: center;
  white-space: nowrap;
}
.service02 .container .wrap01 .group .cards .card.small01 .flex * {
  font-size: 1.5rem;
}
.service02 .container .wrap01 .group .cards .card .flex dt {
  align-items: center;
  background: rgba(190, 207, 152, .3);
  display: flex;
  font-weight: 500;
  height: 3.2rem;
  justify-content: center;
  width: 24rem;
}
.service02 .container .wrap01 .group .cards .card .flex dd {
  width: calc(100% - 25rem);
}
/* .service02 .container .wrap01 .group .cards .card .sup {
  bottom: -3rem;
  color: #000;
  font-size: 1.4rem;
  position: absolute;
  right: 0;
} */

.service02 .container .wrap01 .group .sup {
  color: #000;
  font-size: 1.4rem;
  margin-top: 1rem;
}

/* キャッチコピーがあるカードだけ上部に余白を足す */
.service02 .container .wrap01 .group .cards .card {
  position: relative; /* 念のため */
}
.service02 .container .wrap01 .group .cards .card:has(.h4 .txt00:not(:empty)) {
  padding-top: 5.6rem; /* top:-5rem のぶん + 余白 */
}

/* .txt00 が空なら非表示（空文字でDOMだけあるケース対策） */
.service02 .container .wrap01 .group .cards .card .h4 .txt00:empty {
  display: none;
}


@media screen and (max-width:768px) {
  .service02 .container {
    padding: 12rem 0 6rem;
  }
  .service02 .container .wrap01 {
    padding: 0 3rem;
  }
  .service02 .container .wrap01 .ttls .eng {
    left: 0;
    margin: auto;
    right: 0;
    top: -8rem;
  }
  .service02 .container .wrap01 .group + .group {
    margin-top: 6rem;
  }
  .service02 .container .wrap01 .group .cards {
    flex-direction: column;
    gap: 3rem;
  }
  .service02 .container .wrap01 .group .cards:has(.min) {
    gap: 6rem;
  }
  .service02 .container .wrap01 .group .cards .card {
    padding: 2.4rem 1.5rem!important;
    width: 100%!important;;
  }
  .service02 .container .wrap01 .group .cards .card .h4 .txt00 {
    top: -5.5rem;
  }
  .service02 .container .wrap01 .group .cards .card .dls dl {
    font-size: 1.6rem;
    gap: 2rem!important;
  }
  .service02 .container .wrap01 .group .cards .card .dls dl small {
    font-size: 1.2rem;
  }
  .service02 .container .wrap01 .group .cards .card .dls dl dt {
    font-weight: 500;
    white-space: nowrap;
    width: 13rem;
  }
  .service02 .container .wrap01 .group .cards .card.min .dls dl dt {
    width: 8rem;
  }
  .service02 .container .wrap01 .group .cards .card .ul li {
    font-size: 1.4rem;
  }
  .service02 .container .wrap01 .group .cards .card .btn {
    height: 6rem;
  }
  .service02 .container .wrap01 .group > .btn {
    margin-top: 3rem;
    width: 100%;
  }
  .service02 .container .wrap01 .group .cards .card .flex {
    align-items: center;
    flex-direction: column;
    font-size: 1.6rem;
  }
  .service02 .container .wrap01 .group .cards .card.small01 .flex * {
    font-size: 1.6rem;
  }
  .service02 .container .wrap01 .group .cards .card .flex dt {
    width: 100%;
  }
  .service02 .container .wrap01 .group .cards .card .flex dd {
    width: 100%;
  }
  /* .service02 .container .wrap01 .group .cards .card .sup {
    font-size: 1.2rem;
    margin-top: 1rem;
    position: static;
    text-align: center;
  } */
  .service02 .container .wrap01 .group .sup {
    color: #000;
    font-size: 1.2rem;
  }
	/* スマホ調整：.txt00 が -5.5rem なので少し多めに確保 */
	.service02 .container .wrap01 .group .cards .card:has(.h4 .txt00:not(:empty)) {
    padding-top: 6rem;
  }
}
/* ---------------------------------------------------------------------------
//  service03
--------------------------------------------------------------------------- */
.service03 .container {
  background: #fff;
  padding: 7rem 0;
}
.service03 .container .wrap01 .head {
  display: flex;
  justify-content: center;
}
/* .coworking .service03 .container .wrap01 {
  border: solid 1px #ccc;
} */
.coworking .service03 .container .wrap01 .head {
  align-items: center;
  gap: 7rem;
}
.coworking .service03 .container .wrap01 .head  .ttl {
  order: 2;
}
.coworking .service03 .container .wrap01 .head  .btn01 {
  order: 1;
}
.coworking .service03 .container .wrap01 .head  .btn02 {
  order: 3;
}
.shareoffice .service03 .container .wrap01 .head {
  align-items: flex-end;
  gap: 1.3rem;
}
.shareoffice .service03 .container .wrap01 .head  .ttl {
  order: 1;
}
.shareoffice .service03 .container .wrap01 .head  .btn01 {
  order: 2;
}
.shareoffice .service03 .container .wrap01 .head  .btn02 {
  order: 3;
}
.shareoffice .service03 .container .wrap01 .head  .btn03 {
  order: 4;
}
.service03 .container .wrap01 .head .ttl {
  text-align: center;
}
.service03 .container .wrap01 .head .ttl .eng {
  background-image: url(../img/top/hukidashi04.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  color: #205b36;
  display: flex;
  font-size: 3.2rem;
  height: 18rem;
  justify-content: center;
  padding-top: 3.6rem;
  text-align: center;
  width: 16.2rem;
}
.service03 .container .wrap01 .head .ttl .h3 {
  font-size: 2.5rem;
  font-weight: 500;
  margin-top: .7rem;
}
.service03 .container .wrap01 .head .btn {
  background: #fff;
  border-radius: 100%;
  height: 13rem;
  padding: .4rem;
  position: relative;
  width: 13rem;
}
.service03 .container .wrap01 .head .btn span {
  align-items: center;
  border: solid 1px #000;
  border-radius: 100%;
  display: flex;
  font-size: 1.4rem;
  font-weight: 500;
  height: 100%;
  justify-content: center;
  padding-bottom: 2.8rem;
  text-align: center;
  transition: .3s;
  width: 100%;
}
.service03 .container .wrap01 .head .btn01 span {
  background: #eab365;
}
.service03 .container .wrap01 .head .btn02 span {
  background: #becf98;
}
.service03 .container .wrap01 .head .btn03 span {
  background: #b2ddce;
}
.service03 .container .wrap01 .head .btn:hover span {
  background: #000!important;
  color: #fff;
}
.service03 .container .wrap01 .head .btn::before {
  animation: tree-sway 4s ease-in-out infinite;
  background-image: url(../img/common/arrow_bird.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 2.4rem;
  content: '';
  height: 2.9rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  transform-origin: bottom center;    /* 根元を支点に */
  width: 3.9rem;
}
.service03 .container .wrap01 .map_area {
  align-items: baseline;
  aspect-ratio: 538.54/441.98;
  /* border: solid; */
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto;
  margin-top: 3.4rem;
  position: relative;
  width: 53.8rem;
}
.service03 .container .wrap01 .map_area .map {
  width: 100%;
}
.service03 .container .wrap01 .map_area .map span {
  align-items: center;
  color: #fff;
  display: flex;
  font-size: 1.4rem;
  font-weight: 500;
  height: 2.6rem;
  justify-content: center;
  position: absolute;
  width: 2.4rem;
  z-index: 2;
}
.service03 .container .wrap01 .map_area .map span.case01 {
  background: #ee7f34;
}
.service03 .container .wrap01 .map_area .map span.case02 {
  background: #99c7aa;
}
.coworking .service03 .container .wrap01 .map_area .map span.e3-1 {
  right: 5.1rem;
  top: 9rem;
}
.coworking .service03 .container .wrap01 .map_area .map span.e3-2 {
  right: 5.1rem;
  top: 16.3rem;
}
.coworking .service03 .container .wrap01 .map_area .map span.e3-3 {
  right: 5.1rem;
  top: 24.1rem;
}
.coworking .service03 .container .wrap01 .map_area .map span.e3-4 {
  right: 5.1rem;
  top: 35.3rem;
}
.shareoffice .service03 .container .wrap01 .map_area .map span.c3-1 {
  left: 9.9rem;
  top: 15.4rem;
}
.shareoffice .service03 .container .wrap01 .map_area .map span.c3-2 {
  left: 9.9rem;
  top: 21.4rem;
}
.shareoffice .service03 .container .wrap01 .map_area .map span.c3-3 {
  left: 22.7rem;
  top: 12.3rem;
}
.shareoffice .service03 .container .wrap01 .map_area .map span.c3-4 {
  left: 28.7rem;
  top: 12.3rem;
}
.shareoffice .service03 .container .wrap01 .map_area .map span.c3-5 {
  left: 26.1rem;
  top: 22.7rem;
}
.shareoffice .service03 .container .wrap01 .map_area .map span.c3-6 {
  left: 9.9rem;
  top: 31.4rem;
}
.shareoffice .service03 .container .wrap01 .map_area .map span.c3-7 {
  left: 24.1rem;
  top: 33.2rem;
}
.service03 .container .wrap01 .map_area .views .view {
  position: absolute;
}
.service03 .container .wrap01 .map_area .views .view::before {
  background: #000;
  content: '';
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}
.service03 .container .wrap01 .map_area .views .view .camera {
  animation: swing 1s infinite ease-in-out;
  cursor: pointer;
  position: absolute;
  width: 5.088rem;
  width: 2.9rem;
}
.service03 .container .wrap01 .map_area .views .view .camera img {
  position: relative;
  z-index: 2;
}
@keyframes swing {
  0% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(8deg);
  }
  50% {
    transform: rotate(0deg);
  }
  75% {
    transform: rotate(-8deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
.service03 .container .wrap01 .map_area .views .view .camera::before {
  animation: flashBlink 1s infinite;
  background-image: url(../img/common/camera02.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 4.2rem;
  margin: auto;
  position: absolute;
  right: 1.69rem;
  top: 0;
  transition: .2s;
  width: 3.5rem;
}
.service03 .container .wrap01 .map_area .views .view .camera.re::before {
  left: 1.69rem;
  right: inherit;
  transform: rotate(180deg);
}
@keyframes flashBlink {
  0%, 40% {
    opacity: .5;
  }
  50% {
    opacity: 0;
  }
  60%, 100% {
    opacity: 1;
  }
}
.service03 .container .wrap01 .map_area .views .view .pic {
  position: absolute;
}
.service03 .container .wrap01 .map_area .views .view .pic .thumb {
  aspect-ratio: 201/172;
  border-radius: 1rem;
  cursor: pointer;
  overflow: hidden;
  width: 20.1rem;
}
.service03 .container .wrap01 .map_area .views .view .pic .thumb img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  transition: .3s;
  width: 100%;
}
.service03 .container .wrap01 .map_area .views .view .pic .thumb:hover img {
  transform: scale(1.1);
}
.service03 .container .wrap01 .map_area .views .view .pic .thumb::before {
  background: #787878;
  border-radius: 100%;
  bottom: .4rem;
  content: '';
  height: 2.6rem;
  mix-blend-mode: multiply;
  position: absolute;
  right: .4rem;
  width: 2.6rem;
  z-index: 2;
}
.service03 .container .wrap01 .map_area .views .view .pic .thumb::after {
  background-image: url(../img/common/lens.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: .4rem;
  content: '';
  height: 2.6rem;
  position: absolute;
  right: .4rem;
  width: 2.6rem;
  z-index: 3;
}
.coworking .service03 .container .wrap01 .map_area .views .view01 {
  right: 10.754rem;
  top: 5.4rem;
  width: 66.2rem;
}
.coworking .service03 .container .wrap01 .map_area .views .view01::before {
  top: 1.3rem;
}
.coworking .service03 .container .wrap01 .map_area .views .view01 .camera {
  right: 0;
}
.coworking .service03 .container .wrap01 .map_area .views .view01 .pic {
  left: 0;
  top: -4.9rem;
}
.coworking .service03 .container .wrap01 .map_area .views .view02 {
  left: 40.2rem;
  top: 9.9rem;
  width: 36.7rem;
}
.coworking .service03 .container .wrap01 .map_area .views .view02::before {
  top: 1.3rem;
}
.coworking .service03 .container .wrap01 .map_area .views .view02 .camera {
  left: 0;
}
.coworking .service03 .container .wrap01 .map_area .views .view02 .pic {
  right: 0;
  top: -9.4rem;
}
.coworking .service03 .container .wrap01 .map_area .views .view03 {
  right: 39.454rem;
  top: 22rem;
  width: 37.5rem;
}
.coworking .service03 .container .wrap01 .map_area .views .view03::before {
  top: 1.3rem;
}
.coworking .service03 .container .wrap01 .map_area .views .view03 .camera {
  right: 0;
}
.coworking .service03 .container .wrap01 .map_area .views .view03 .pic {
  left: 0;
  top: -2.4rem;
}
.coworking .service03 .container .wrap01 .map_area .views .view04 {
  left: 39.788rem;
  top: 37.6rem;
  width: 37.112rem;
}
.coworking .service03 .container .wrap01 .map_area .views .view04::before {
  top: 1.3rem;
}
.coworking .service03 .container .wrap01 .map_area .views .view04 .camera {
  left: 0;
}
.coworking .service03 .container .wrap01 .map_area .views .view04 .pic {
  right: 0;
  top: -10.7rem;
}
.shareoffice .service03 .container .wrap01 .map_area .views .view01 {
  right: 14.7rem;
  top: 1rem;
  width: 62rem;
}
.shareoffice .service03 .container .wrap01 .map_area .views .view01::before {
  background: transparent;
  border-right: solid 1px;
  border-top: 1px solid;
  height: 4.4rem;
  top: 1.3rem;
}
.shareoffice .service03 .container .wrap01 .map_area .views .view01 .camera {
  right: -1.5rem;
  top: 5.5rem;
}
.shareoffice .service03 .container .wrap01 .map_area .views .view01 .pic {
  left: 0;
  top: -1rem;
}
.shareoffice .service03 .container .wrap01 .map_area .views .view02 {
  background-image: url(../img/shareoffice/line_view01.svg);
  background-position: center right;
  background-repeat: no-repeat;
  background-size: 16.4rem;
  height: 17.2rem;
  right: 44.2rem;
  top: 21rem;
  width: 32.7rem;
}
.shareoffice .service03 .container .wrap01 .map_area .views .view02::before {
  display: none;
}
.shareoffice .service03 .container .wrap01 .map_area .views .view02 .camera {
  right: -6.8rem;
  top: 5.8rem;
}
.shareoffice .service03 .container .wrap01 .map_area .views .view02 .camera::before {
  left: -9rem;
  right: inherit;
  top: 3rem;
  transform: rotate(-45deg);
}
.shareoffice .service03 .container .wrap01 .map_area .views .view02 .pic {
  left: 0;
  top: 0;
}
.shareoffice .service03 .container .wrap01 .map_area .views .view03 {
  left: 35.5rem;
  top: 34.8rem;
  width: 41.2rem;
}
.shareoffice .service03 .container .wrap01 .map_area .views .view03::before {
  left: 2rem;
  top: 1.3rem;
  width: calc(100% - 2rem);
}
.shareoffice .service03 .container .wrap01 .map_area .views .view03 .camera {
  left: 0;
  top: -1rem;
}
.shareoffice .service03 .container .wrap01 .map_area .views .view03 .camera::before {
  left: 1rem;
  right: inherit;
  top: -4rem;
  transform: rotate(-225deg);
}
.shareoffice .service03 .container .wrap01 .map_area .views .view03 .pic {
  right: 0;
  top: -11rem;
}
.shareoffice .service03 .container .wrap01 .map_area .views .view04 {
  left: 35.5rem;
  top: 16rem;
  width: 41.2rem;
}
.shareoffice .service03 .container .wrap01 .map_area .views .view04::before {
  background: #5b9972;
}
.shareoffice .service03 .container .wrap01 .map_area .views .view04 .camera {
  left: 0;
  top: -1.3rem;
}
.shareoffice .service03 .container .wrap01 .map_area .views .view04 .camera::before {
  display: none;
}
.shareoffice .service03 .container .wrap01 .map_area .views .view04 .pic {
  background: #fff;
  right: 0;
  top: -20.1rem;
}
.shareoffice .service03 .container .wrap01 .map_area .views .view04 .pic .thumb {
  overflow: visible;
}
.shareoffice .service03 .container .wrap01 .map_area .views .view04 .pic .thumb img {
  height: auto;
  object-fit: inherit;
  transform: inherit;
}
.shareoffice .service03 .container .wrap01 .map_area .views .view04 .pic .thumb::before, .shareoffice .service03 .container .wrap01 .map_area .views .view04 .pic .thumb::after {
  display: none;
}
.service03 .container .wrap01 .map_area .views .view .modal {
  align-items: center;
  align-items: center;
  background: rgba(0,0,0,.7); /* 黒い背景オーバーレイ */
  display: flex;
  height: 100vh;
   height: 100svh;
  justify-content: center;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  transition: .3s;
  width: 100vw;
  z-index: 9999;
}
.service03 .container .wrap01 .map_area .views .view .modal.is-active {
  opacity: 1;
  pointer-events: all;
}

.service03 .container .wrap01 .map_area .views .view .modal-content {
  background: #fff;
  border-radius: 1rem;
  border-radius: 1rem;
  box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.3);
  overflow: hidden;
  position: relative;
  width: 100rem;
}

@media screen and (min-width: 768.1px) {
  .shareoffice .service03 .container .wrap01 .map_area .views .view04 .modal-content img {
    display: block;
    margin: auto;
    padding: 4rem;
    width: 40rem;
  }
}

.service03 .container .wrap01 .map_area .views .view .modal-close {
  align-items: center;
  border-radius: 100%;
  box-shadow: 0 .2rem .6rem rgba(0,0,0,.2);
  cursor: pointer;
  display: flex;
  height: 3.6rem;
  justify-content: center;
  line-height: 1;
  position: absolute;
  right: 1rem;
  text-align: center;
  top: 1rem;
  width: 3.6rem;
}
.service03 .container .wrap01 .map_area .views .view .modal-close span {
  color: #fff;
  font-size: 2.4rem;
  position: relative;
  top: -.1rem;
  z-index: 2;
}
.service03 .container .wrap01 .map_area .views .view .modal-close::before {
  background: rgba(0,0,0,.6);
  border-radius: 100%;
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}
.service03 .container .wrap01 .big_img {
  display: none;
}
.service03 .container .wrap01 .bottom_area {
  margin-top: 4.3rem;
}
.service03 .container .wrap01 .bottom_area .p1 {
  align-items: center;
  border-bottom: solid 1px;
  display: flex;
  gap: .9rem;
  justify-content: center;
  margin-bottom: 1.3rem;
  margin-top: .8rem;
  padding-bottom: 1.3rem;
}
.service03 .container .wrap01 .bottom_area .p1 span {
  align-items: center;
  color: #fff;
  display: flex;
  font-size: 1.4rem;
  height: 2.6rem;
  justify-content: center;
  width: 6.8rem;
}
.service03 .container .wrap01 .bottom_area .p1 span.case01 {
  background: #ee7f34;
}
.service03 .container .wrap01 .bottom_area .p1 span.case02 {
  background: #99c7aa;
}
.service03 .container .wrap01 .bottom_area .sup {
  display: flex;
  flex-shrink: 0;
  font-size: 1.5rem;
  gap: .3rem;
  line-height: 1.78;
}
.service03 .container .wrap01 .bottom_area .sup span {
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .service03 .container .wrap01 {
    padding: 0 3rem;
  }
  .service03 .container .wrap01 .head {
    flex-wrap: wrap;
  }
  .coworking .service03 .container .wrap01 .head {
    gap: 2rem 3rem;
  }
  .service03 .container .wrap01 .head  .ttl {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    order: 1;
    width: 100%;
  }
  .coworking .service03 .container .wrap01 .head  .btn01 {
    order: 2;
  }
  .coworking .service03 .container .wrap01 .head  .btn02 {
    order: 3;
  }
  .service03 .container .wrap01 .map_area {
    width: 100%;
  }
  .service03 .container .wrap01 .map_area .map {
    width: 100%;
  }
  .service03 .container .wrap01 .map_area .map span {
    font-size: .857rem;
    height: 1.591rem;
    width: 1.469rem;
  }
  .coworking .service03 .container .wrap01 .map_area .map span.e3-1 {
    right: 3.2rem;
    top: 5.5rem;
  }
  .coworking .service03 .container .wrap01 .map_area .map span.e3-2 {
    right: 3.2rem;
    top: 10.1rem;
  }
  .coworking .service03 .container .wrap01 .map_area .map span.e3-3 {
    right: 3.2rem;
    top: 14.9rem;
  }
  .coworking .service03 .container .wrap01 .map_area .map span.e3-4 {
    right: 3.2rem;
    top: 21.7rem;
  }
  .shareoffice .service03 .container .wrap01 .map_area .map span.c3-1 {
    left: 6rem;
    top: 9.5rem;
  }
  .shareoffice .service03 .container .wrap01 .map_area .map span.c3-2 {
    left: 6rem;
    top: 13.1rem;
  }
  .shareoffice .service03 .container .wrap01 .map_area .map span.c3-3 {
    left: 14rem;
    top: 7.5rem;
  }
  .shareoffice .service03 .container .wrap01 .map_area .map span.c3-4 {
    left: 17.7rem;
    top: 7.5rem;
  }
  .shareoffice .service03 .container .wrap01 .map_area .map span.c3-5 {
    left: 16.1rem;
    top: 14rem;
  }
  .shareoffice .service03 .container .wrap01 .map_area .map span.c3-6 {
    left: 6rem;
    top: 19.2rem;
  }
  .shareoffice .service03 .container .wrap01 .map_area .map span.c3-7 {
    left: 14.8rem;
    top: 20.4rem;
  }
  .service03 .container .wrap01 .map_area .views .view {
    width: 2.2rem!important;
  }
  .service03 .container .wrap01 .map_area .views .view::before {
    display: none;
  }
  .service03 .container .wrap01 .map_area .views .view .camera {
    width: 2.2rem;
  }
  .service03 .container .wrap01 .map_area .views .view .camera.re::before {
    left: 1.69rem;
    right: inherit;
    transform: rotate(180deg);
  }
  .service03 .container .wrap01 .map_area .views .view .pic {
    display: none;
  }
  .coworking .service03 .container .wrap01 .map_area .views .view01 {
    right: 6rem;
    top: 3rem;
  }
  .coworking .service03 .container .wrap01 .map_area .views .view01::before {
    top: 1.3rem;
  }
  .coworking .service03 .container .wrap01 .map_area .views .view02 {
    left: inherit;
    right: 6rem;
    top: 5.7rem;
  }
  .coworking .service03 .container .wrap01 .map_area .views .view03 {
    left: 6.8rem;
    right: inherit;
    top: 13.2rem;
  }
  .coworking .service03 .container .wrap01 .map_area .views .view04 {
    left: inherit;
    right: 6rem;
    top: 22.5rem;
  }
  .shareoffice .service03 .container .wrap01 .map_area .views .view01 {
    right: 8rem;
    top: 3.7rem;
  }
  .shareoffice .service03 .container .wrap01 .map_area .views .view01 .camera {
    right: 0;
    top: 0;
  }
  .shareoffice .service03 .container .wrap01 .map_area .views .view02 {
    background: none;
    height: auto;
    left: 8rem;
    right: inherit;
    top: 16.5rem;
  }
  .shareoffice .service03 .container .wrap01 .map_area .views .view02::before {
    display: none;
  }
  .shareoffice .service03 .container .wrap01 .map_area .views .view02 .camera {
    right: 0;
    top: 0;
  }
  .shareoffice .service03 .container .wrap01 .map_area .views .view02 .camera::before {
    left: -3.5rem;
    right: inherit;
    top: 2.5rem;
  }
  .shareoffice .service03 .container .wrap01 .map_area .views .view03 {
    left: inherit;
    right: 9rem;
    top: 20.3rem;
  }
  .shareoffice .service03 .container .wrap01 .map_area .views .view03 .camera {
    top: 0;
  }
  .shareoffice .service03 .container .wrap01 .map_area .views .view03 .camera::before {
    left: .5rem;
    right: inherit;
    top: -3.5rem;
  }
  .shareoffice .service03 .container .wrap01 .map_area .views .view04 {
    left: inherit;
    right: 9rem;
    top: 10rem;
  }
  .shareoffice .service03 .container .wrap01 .map_area .views .view04 .camera::before {
    display: none;
  }
  .shareoffice .service03 .container .wrap01 .map_area .views .view04 .pic .thumb {
    overflow: visible;
  }
  .shareoffice .service03 .container .wrap01 .map_area .views .view04 .pic .thumb img {
    height: auto;
    object-fit: inherit;
  }
  .shareoffice .service03 .container .wrap01 .map_area .views .view04 .pic .thumb::before, .shareoffice .service03 .container .wrap01 .map_area .views .view03 .pic .thumb::after {
    display: none;
  }
  .service03 .container .wrap01 .map_area .views .view .modal {
    display: none;
  }
  .service03 .container .wrap01 .map_area + .p1 {
    align-items: center;
    display: flex;
    font-size: 1.2rem;
    font-weight: 400;
    gap: .3rem;
    justify-content: center;
    margin-top: 1.5rem;
  }
  .service03 .container .wrap01 .map_area + .p1 span {
    width: 2.2rem;
  }
  .service03 .container .wrap01 .big_img {
    border-radius: 1rem;
    display: block;
    margin: 1.5rem auto 0;
    overflow: hidden;
    width: 24rem;
  }
  .service03 .container .wrap01 .big_img img {
    height: 100%;
    max-width: inherit;
    object-fit: cover;
    width: 100%;
  }
  .service03 .container .wrap01 .bottom_area {
    margin-top: 3rem;
  }
  .service03 .container .wrap01 .bottom_area .p1 {
    font-size: 1.4rem;
    margin-bottom: 1.1rem;
    margin-top: 0;
    padding-bottom: 1.1rem;
  }
}
/* ---------------------------------------------------------------------------
//  service04
--------------------------------------------------------------------------- */
.service04 .container {
  padding: 13rem 2rem 10rem;
}
.service04 .container .ttl {
  align-items: center;
  display: flex;
  gap: 1.85rem;
  justify-content: center;
  margin-bottom: 6rem;
}
.service04 .container .ttl .eng {
  align-items: center;
  background-image: url(../img/coworking/hukidashi03.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  color: #205b36;
  display: flex;
  font-size: 3.2rem;
  height: 5.1rem;
  justify-content: center;
  width: 16rem;
}
.service04 .container .ttl .h2 {
  color: #4a413b;
  font-size: 2.5rem;
  font-weight: 500;
}
.service04 .container .wrap01 {
  margin: 0 auto;
  max-width: 132.7rem;
}
.service04 .container .wrap01 .voices {
  display: flex;
  gap: 1rem;
}
.service04 .container .wrap01 .voices .group {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: calc(((100% - 4rem) / 5) * 2 + 1rem);
}
.service04 .container .wrap01 .voices .group02 {
  width: calc(((100% - 4rem) / 5));
}
.service04 .container .wrap01 .voices .group .voice {
  display: flex;
  gap: 1rem;
}
.service04 .container .wrap01 .voices .group02 .voice {
  flex-direction: column;
}
.service04 .container .wrap01 .voices .group .voice02, .service04 .container .wrap01 .voices .group .voice05 {
  flex-direction: row-reverse;
}
.service04 .container .wrap01 .voices .group .voice .txt {
  align-items: center;
  aspect-ratio: 258/254;
  background: #fff;
  border-radius: .8rem;
  display: flex;
  flex-direction: column;
  gap: .4rem;
  justify-content: center;
  padding: 2rem;
}
.service04 .container .wrap01 .voices .group .voice:not(.voice03) .txt {
  width: calc((100% - 1rem) / 2);
}
.service04 .container .wrap01 .voices .group .voice .txt .h3 {
  align-items: center;
  background-image: url(../img/coworking/hukidashi_voice01.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: flex;
  font-size: 1.7rem;
  font-weight: 500;
  height: 10.2rem;
  justify-content: center;
  line-height: 1.35;
  padding-bottom: 3rem;
  text-align: center;
  width: 19.7rem;
}
.service04 .container .wrap01 .voices .group .voice02 .txt .h3, .service04 .container .wrap01 .voices .group .voice05 .txt .h3 {
  background-image: url(../img/coworking/hukidashi_voice02.png);
}
.service04 .container .wrap01 .voices .group .voice .txt .p1 {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.6;
  text-align: justify;
}
.service04 .container .wrap01 .voices .group .voice .img {
  aspect-ratio: 258/254;
  border-radius: .8rem;
  overflow: hidden;
}
.service04 .container .wrap01 .voices .group .voice .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}
.service04 .container .wrap01 .voices .group .voice:not(.voice03) .img {
  width: calc((100% - 1rem) / 2);
}
.service04 .container .wrap01 .pic {
  aspect-ratio: 1327/436;
  background-attachment: fixed;
  background-image: url(../img/coworking/room01.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: .8rem;
  margin-top: 3.6rem;
  overflow: hidden;
  position: relative;
}
.coworking .service04 .container .wrap01 .pic {
  background-image: url(../img/coworking/room01.jpg);
}
.shareoffice .service04 .container .wrap01 .pic {
  background-image: url(../img/shareoffice/room.jpg);
}
.service04 .container .wrap01 .pic::before {
  background: rgba(116, 116, 116, .22);
  content: '';
  height: 100%;
  mix-blend-mode: multiply;
  position: absolute;
  width: 100%;
  z-index: 2;
}
.service04 .container .wrap01 .pic img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}
.service04 .container .wrap01 .pic .caption {
  bottom: 1rem;
  color: #060606;
  font-size: 1.2rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  paint-order: stroke;
  position: absolute;
  right: 1rem;
  text-shadow: 0 0 .4rem #fff,0 0 .4rem #fff,0 0 .4rem #fff;
  -webkit-text-stroke: .1rem #fff;
  z-index: 3;
}
@media screen and (max-width:768px) {
  .service04 .container {
    padding: 8rem 3rem;
  }
  .service04 .container .ttl {
    flex-direction: column;
    gap: 1rem;
  }
  .service04 .container .ttl .eng:last-of-type {
    display: none;
  }
  /* .service04 .container .wrap01{
  display: flex;
  flex-direction: column-reverse;
} */
  .service04 .container .wrap01 .voices {
    flex-direction: column;
  }
  .service04 .container .wrap01 .voices .group {
    width: 100%!important;
  }
  .service04 .container .wrap01 .voices .group .voice {
    background: #fff;
    border-radius: .8rem;
    flex-direction: column;
    padding: 2rem 1.5rem;
  }
  .service04 .container .wrap01 .voices .group .voice02, .service04 .container .wrap01 .voices .group .voice05 {
    flex-direction: column-reverse;
  }
  .service04 .container .wrap01 .voices .group .voice .txt {
    aspect-ratio: inherit;
    padding: 1rem 0;
    width: 100%!important;
  }
  .service04 .container .wrap01 .voices .group .voice .img {
    width: 100%!important;
  }
  .service04 .container .wrap01 .pic {
    aspect-ratio: 3/2;
    background-attachment: inherit;
  }
  .service04 .container .wrap01 .pic .caption {
    font-size: 1rem;
  }
}
/* ---------------------------------------------------------------------------
//  sec_qa
--------------------------------------------------------------------------- */
.sec_qa .container {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding: 12rem 0 13rem;
}
.sec_qa .container .ttl {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-bottom: 6rem;
  position: relative;
}
.sec_qa .container .ttl .h2 {
  color: #4a413b;
  font-size: 1.9rem;
  font-weight: 500;
  text-align: center;
}
.sec_qa .container .ttl .eng {
  background-image: url(../img/coworking/hukidashi04.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 5rem;
  color: #205b36;
  display: flex;
  font-size: 3.2rem;
  height: 11rem;
  justify-content: center;
  position: absolute;
  right: -5rem  ;
  width: 17rem;
}
.sec_qa .container .ttl .bird {
  bottom: -2rem;
  mix-blend-mode: multiply;
  position: absolute;
  right: -71rem;
  width: 65.75rem;
}
.sec_qa .container .wrap01 .qas .qa {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.75;
}
.sec_qa .container .wrap01 .qas .qa dt {
  background: #fff;
  display: flex;
  font-weight: 500;
  gap: 1.1rem;
  padding: 1.2rem 1.5rem;
}
.sec_qa .container .wrap01 .qas .qa dd {
  display: flex;
  gap: 1.1rem;
  padding: 2.9rem 1.5rem;
}
.sec_qa .container .wrap01 .qas .qa .icon {
  align-items: center;
  border-radius: 100%;
  color: #fff;
  display: flex;
  height: 3.3rem;
  justify-content: center;
  width: 3.3rem;
  width: 3.3rem;
}
.sec_qa .container .wrap01 .qas .qa dt .icon {
  background: #000;
}
.sec_qa .container .wrap01 .qas .qa dt .icon {
  padding-bottom: .4rem;
}
.sec_qa .container .wrap01 .qas .qa dd .icon {
  background: #becf98;
}
.sec_qa .container .wrap01 .qas .qa dd .icon {
  padding-bottom: .2rem;
}
.sec_qa .container .wrap01 .qas .qa .txt {
  padding-top: .3rem;
  width: calc(100% - 4.4rem);
}
@media screen and (max-width:768px) {
  .sec_qa .container {
    padding: 8rem 3rem;
  }
  .sec_qa .container .ttl {
    width: 100%;
  }
  .sec_qa .container .ttl .eng {
    right: 0;
  }
  .sec_qa .container .ttl .bird {
    right: -61rem;
  }
  .sec_qa .container .wrap01 .qas .qa dt {
    gap: .7rem;
    padding: 1.2rem 1rem;
  }
  .sec_qa .container .wrap01 .qas .qa dd {
    gap: .7rem;
    padding: 2.5rem 1rem;
  }
  .sec_qa .container .wrap01 .qas .qa .txt {
    padding-top: .3rem;
    width: calc(100% - 4rem);
  }
}
/* ---------------------------------------------------------------------------
//  page_fv
--------------------------------------------------------------------------- */
.page_fv .container {
  padding-top: 16.7rem;
  position: relative;
}
.page_fv .container .logo {
  left: 7.2rem;
  position: absolute;
  top: 4.4rem;
  width: 15.2rem;
}
.page_fv .container .fv {
  aspect-ratio: 2596/808;
  background-repeat: no-repeat;
  background-size: cover;
  min-width: calc(((100vw - 100rem) / 2) + 100rem);
  width: 90%;
}
.flow .page_fv .container .fv {
  background-image: url(../img/flow/fv_pc.jpg);
  background-position: center left;
}
.access .page_fv .container .fv {
  background-image: url(../img/access/fv_pc.jpg);
  background-position: center;
}
.contact .page_fv .container .fv {
  background-image: url(../img/contact/fv.jpg);
  background-position: center;
}
@media screen and (max-width: 768px) {
  .page_fv .container {
    padding-bottom: 0;
    padding-top: 8.5rem;
  }
  .page_fv .container .logo {
    left: 2.2rem;
    top: 1.6rem;
    width: 9.6rem;
  }
  .page_fv .container .fv {
    aspect-ratio: 2/1;
    min-width: inherit;
    width: calc(100% - 3rem);
  }
  .flow .page_fv .container .fv {
    background-image: url(../img/flow/fv.jpg);
    background-position: center left;
  }
  .access .page_fv .container .fv {
    background-image: url(../img/access/fv.jpg);
    background-position: center;
  }
}
/* ---------------------------------------------------------------------------
//  page_ttl
--------------------------------------------------------------------------- */
.page_ttl {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  text-align: center;
}
.page_ttl .eng {
  font-size: 3.6rem;
  font-weight: 400;
  letter-spacing: 1.08rem;
}
.page_ttl .jp {
  color: #4a413b;
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width:768px) {
  .page_ttl {
    gap: 1rem;
  }
  .page_ttl .eng {
    font-size: 2.6rem;
    letter-spacing: .5rem;
  }
}
/* ---------------------------------------------------------------------------
//  flow
--------------------------------------------------------------------------- */
.flow {
  background: linear-gradient(transparent,#f1f0e6);
  position: relative;
}
.flow::before {
  background-image: url(../img/flow/leggs.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
   height: 100svh;
  position: fixed;
  width: 100%;
  z-index: -1;
}
/* ---------------------------------------------------------------------------
//  flow01
--------------------------------------------------------------------------- */
.flow01 .container {
  padding: 2.4rem 0 12rem;
  position: relative;
}
.flow01 .container .wrap01 .steps {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  margin-top: 7.2rem;
}
.flow01 .container .wrap01 .steps .step {
  background: #fff;
  padding: 1.2rem 0;
  position: relative;
}
.flow01 .container .wrap01 .steps .step dl {
  align-items: center;
  display: flex;
}
.flow01 .container .wrap01 .steps .step dl dt {
  align-items: center;
  border-right: solid 1px #000;
  display: flex;
  flex-direction: column;
  font-weight: 400;
  gap: .6rem;
  justify-content: center;
  padding: 1.4rem 2rem;
  position: relative;
  text-align: center;
  width: 25.3rem;
}
.flow01 .container .wrap01 .steps .step dl dt::after {
  background-image: url(../img/flow/tri.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 2.9rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: -8rem;
  width: 3.4rem;
}
.flow01 .container .wrap01 .steps .step:first-of-type dl dt:after {
  display: none;
}
.flow01 .container .wrap01 .steps .step dl dt .eng {
  color: #205b36;
  font-size: 2rem;
  letter-spacing: .6rem;
}
.flow01 .container .wrap01 .steps .step dl dt .jp {
  color: #4a413b;
  font-size: 1.8rem;
  line-height: 1.1;
}
.flow01 .container .wrap01 .steps .step dl dd {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.75;
  padding: 2.2rem 4rem;
}
.flow01 .container .wrap01 .sup {
  display: flex;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.75;
  margin-top: 2.4rem;
}
.flow01 .container .wrap01 .btns {
  display: flex;
  gap: 1.6rem;
  margin-top: 6.6rem;
}
.flow01 .container .wrap01 .btns .btn {
  align-items: center;
  background-color: #becf98;
  border: solid  1px #000;
  border-radius: .8rem;
  color: #4a413b;
  display: flex;
  font-size: 1.4rem;
  font-weight: 500;
  height: 5rem;
  justify-content: center;
  position: relative;
  width: calc((100% - 3.2rem) / 3);
}
.flow01 .container .wrap01 .btns .btn01 {
  background-image: url(../img/flow/icon01.svg);
  background-position: center left 2.4rem;
  background-repeat: no-repeat;
  background-size: 2.9rem;
}
.flow01 .container .wrap01 .btns .btn02 {
  background-image: url(../img/flow/icon02.svg);
  background-position: center left 1.4rem;
  background-repeat: no-repeat;
  background-size: 3rem;
}
.flow01 .container .wrap01 .btns .btn03 {
  background-color: #eab365;
  background-image: url(../img/flow/icon03.svg);
  background-position: center left 1.7rem;
  background-repeat: no-repeat;
  background-size: 3.8rem;
}
.flow01 .container .wrap01 .btns .btn:hover {
  background-color: #000;
  color: #fff;
}
.flow01 .container .wrap01 .btns .btn::before {
  animation: tree-sway 4s ease-in-out infinite;
  background-image: url(../img/common/arrow_tree.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 4rem;
  position: absolute;
  right: .8rem;
  transform-origin: bottom center;    /* 根元を支点に */
  width: 3.6rem;
}
@media screen and (max-width:768px) {
  .flow01 .container {
    padding: 2rem 3rem 8rem;
  }
  .flow01 .container .wrap01 .steps {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    margin-top: 6rem;
  }
  .flow01 .container .wrap01 .steps .step {
    padding: 0 1.5rem;
  }
  .flow01 .container .wrap01 .steps .step dl {
    flex-direction: column;
  }
  .flow01 .container .wrap01 .steps .step dl dt {
    border-bottom: solid 1px #000;
    border-right: none;
    padding: 2rem 0;
    width: 100%;
  }
  .flow01 .container .wrap01 .steps .step dl dt::after {
    top: -4.5rem;
  }
  .flow01 .container .wrap01 .steps .step dl dd {
    font-size: 1.4rem;
    padding: 2rem 0 3rem;
    text-align: justify;
  }
  .flow01 .container .wrap01 .steps .step dl dd span {
    font-size: 1.2rem;
  }
  .flow01 .container .wrap01 .btns {
    flex-direction: column;
    gap: 2rem;
    margin-top: 6rem;
  }
  .flow01 .container .wrap01 .btns .btn {
    width: 100%;
  }
}
/* ---------------------------------------------------------------------------
//  flow02
--------------------------------------------------------------------------- */
.flow02 .container {
  border-bottom: solid 1px #000;
  margin-bottom: 10rem;
  padding: 0 0 12rem;
  position: relative;
}
.flow02 .container .wrap01 .tab_contents .tabs {
  border-bottom: 2px solid #000;
  display: flex;
  gap: 3.6rem;
  justify-content: center;
}
.flow02 .container .wrap01 .tab_contents .tabs .tab {
  align-items: center;
  background: #eaeaea;
  border: 1px solid #000;
  border-bottom: none;
  border-radius: .5rem .5rem 0 0;
  color: #2a2a2a;
  display: flex;
  font-size: 2rem;
  font-weight: 500;
  height: 4.9rem;
  justify-content: center;
  text-align: center;
  transition: .3s;
  width: calc((100% - 7.2rem) / 2);
}
.flow02 .container .wrap01 .tab_contents .tabs .tab.active {
  background: #000;
  color: #fff;
}
.flow02 .container .wrap01 .tab_contents .contents {
  display: none;
  font-size: 1.5rem;
  margin-top: 5rem;
}
.flow02 .container .wrap01 .tab_contents .contents.active {
  display: block;
}
.flow02 .container .wrap01 .tab_contents .contents .hide {
  display: none;
}
.flow02 .container .wrap01 .tab_contents .contents .content .h3 {
  border-bottom: 1px solid #9c9c9c;
  border-top: 1px solid #9c9c9c;
  font-weight: 500;
  padding: .8rem 1.5rem;
}
.flow02 .container .wrap01 .tab_contents .contents .content .box {
  padding: 1.2rem 0 2.4rem;
}
.flow02 .container .wrap01 .tab_contents .contents .content .box.flex {
  display: flex;
  gap: 3.6rem;
}
.flow02 .container .wrap01 .tab_contents .contents .content .box.flex > div {
  width: calc((100% - 3.6rem) / 2);
}
.flow02 .container .wrap01 .tab_contents .contents .content .box .h4 {
  display: flex;
  font-weight: 500;
  gap: .75rem;
  line-height: 1.75;
}
.flow02 .container .wrap01 .tab_contents .contents .content .box ul li {
  display: flex;
  line-height: 1.75;
}
.flow02 .container .wrap01 .tab_contents .contents .content .box ul li::before {
  content: '・';
  flex-shrink: 0;
  text-align: center;
  width: 2.3rem;
}
@media screen and (max-width:768px) {
  .flow02 .container {
    margin-bottom: 8rem;
    padding: 0 3rem 8rem;
  }
  .flow02 .container .wrap01 .tab_contents .tabs {
    gap: 1.5rem;
  }
  .flow02 .container .wrap01 .tab_contents .tabs .tab {
    font-size: 1.6rem;
    height: 6rem;
    width: calc((100% - 1.5rem) / 2);
  }
  .flow02 .container .wrap01 .tab_contents .contents {
    margin-top: 3rem;
  }
  .flow02 .container .wrap01 .tab_contents .contents .content .box {
    font-size: 1.4rem;
  }
  .flow02 .container .wrap01 .tab_contents .contents .content .box.flex {
    display: block;
  }
  .flow02 .container .wrap01 .tab_contents .contents .content .box.flex > div {
    width: 100%;
  }
  .flow02 .container .wrap01 .tab_contents .contents .content .box .h4 {
    gap: .3rem;
  }
  .flow02 .container .wrap01 .tab_contents .contents .content .box ul li::before {
    width: 1.7rem;
  }
}
/* ---------------------------------------------------------------------------
//  access01
--------------------------------------------------------------------------- */
.access01 .container {
  padding: 2.4rem 0 12rem;
  position: relative;
}
.access01 .container .wrap01 .access_contents {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 5.4rem;
}
.access01 .container .wrap01 .access_contents .content01 {
  width: 36.4rem;
}
.access01 .container .wrap01 .access_contents .content01 .h2 {
  color: #205b36;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2;
  margin-bottom: 3.2rem;
}
.access01 .container .wrap01 .access_contents .content01 .p1 {
  border-top: solid 1px #b8b8b8;
  font-weight: 400;
  line-height: 1.56;
  padding: 1.4rem 0;
}
.access01 .container .wrap01 .access_contents .content01 .p1 dt {
  font-weight: 400;
}
.access01 .container .wrap01 .access_contents .content01 .p1 dd {
  display: flex;
  gap: 1.6rem;
  padding-left: 1.6rem;
}
.access01 .container .wrap01 .access_contents .content01 .p1 dd span:first-of-type {
  width: 16rem;
}
.access01 .container .wrap01 .access_contents .content01 .p1:last-of-type {
  border-bottom: solid 1px #b8b8b8;
}
.access01 .container .wrap01 .access_contents .content02 {
  width: 56.76rem;
}
.access01 .container .wrap01 .access_contents .content03 {
  height: 52.7rem;
  margin-top: 9rem;
  width: 100%;
}
.access01 .container .wrap01 .access_contents .content03 iframe {
  height: 100%;
  width: 100%;
}
.access01 .container .bg {
  aspect-ratio: 1440/602;
  background-attachment: fixed;
  background-image: url(../img/access/bg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: 12rem;
}
@media screen and (max-width:768px) {
  .access01 .container {
    padding: 2rem 0 8rem;
  }
  .access01 .container .wrap01 .access_contents {
    align-items: center;
    flex-direction: column;
    margin-top: 4rem;
  }
  .access01 .container .wrap01 .access_contents .content01 {
    padding: 0 3rem;
    width: 100%;
  }
  .access01 .container .wrap01 .access_contents .content01 .h2 {
    text-align: center;
  }
  .access01 .container .wrap01 .access_contents .content02 {
    margin-top: 3rem;
    width: calc(100% - 3rem);
  }
  .access01 .container .wrap01 .access_contents .content03 {
    height: 34rem;
    margin-top: 3rem;
    width: 100vw;
  }
  .access01 .container .wrap01 .access_contents .content03 iframe {
    height: 100%;
    width: 100%;
  }
  .access01 .container .bg {
    aspect-ratio: 3/2;
    background-attachment: inherit;
    margin-top: 4rem;
  }
}
/* ---------------------------------------------------------------------------
//  information01
--------------------------------------------------------------------------- */
.information01 .container {
  padding: 0 0 12rem;
}
.information01 .wrap01 .archive {
  margin-top: 6.6rem;
}
.information01 .wrap01 .archive .btns {
  display: flex;
  gap: .6rem;
}
.information01 .wrap01 .archive .btns .btn {
  align-items: center;
  background: #fff;
  border: solid 1px #4a413b;
  border-radius: .5rem;
  color: #4a413b;
  display: flex;
  height: 4.3rem;
  justify-content: center;
  width: calc((100% - 2.4rem) / 4);
}
.information01 .wrap01 .archive .btns .btn.active {
  background: #4a413b;
  color: #fff;
  pointer-events: none;
}
.information01 .wrap01 .archive .btns .btn:hover {
  background: #4a413b;
  color: #fff;
}
.information01 .wrap01 .archive .cards {
  display: flex;
  flex-wrap: wrap;
  gap: 2.7rem;
  margin-top: 3.8rem;
}
.information01 .wrap01 .archive .cards .card {
  align-items: center;
  background: #fff;
  display: flex;
  flex-direction: column;
  padding: 0 .75rem;
  position: relative;
  width: calc((100% - 8.1rem) / 4);
}
.information01 .wrap01 .archive .cards .card .tag {
  align-items: center;
  background: #4a413b;
  color: #fff;
  color: #fff;
  display: flex;
  font-size: 1rem;
  height: 2.39rem;
  justify-content: center;
  min-width: 8.8rem;
  padding: 0 .75rem;
  text-align: center;
}
.information01 .wrap01 .archive .cards .card .img {
  aspect-ratio: 214.73/150.01;
  border: solid 1px #d0d0d0;
  margin-top: .38rem;
  overflow: hidden;
  width: 100%;
}
.information01 .wrap01 .archive .cards .card .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  transition: .3s;
  width: 100%;
}
.information01 .wrap01 .archive .cards .card:hover img {
  transform: scale(1.1);
}
.information01 .wrap01 .archive .cards .card .txt {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  font-size: 1.5rem;
  -webkit-line-clamp: 3;
  line-height: 1.86;
  overflow: hidden;
  padding: .6rem 0 .75rem;
  transition: .3s;
  width: 100%;
}
.information01 .wrap01 .archive .cards .card:hover .txt {
  opacity: .7;
}
.pagination01 {
  align-items: center;
  display: flex;
  gap: .5rem;
  justify-content: center;
  margin-top: 6rem;
}
.pagination01 .item .link {
  align-items: center;
  border: solid 1px transparent;
  border-radius: 100%;
  color: #4a413b;
  display: flex;
  font-weight: 500;
  height: 2.6rem;
  justify-content: center;
  width: 2.6rem;
}
.pagination01 .item .link.dots {
  pointer-events: none;
}
.pagination01 .item.prev .link, .pagination01 .item.next .link {
  background-image: url(../img/common/arrow03.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1.8rem;
  font-size: 0;
}
.pagination01 .item.prev .link {
  margin-right: 1.6rem;
  transform: rotate(180deg);
}
.pagination01 .item.next .link {
  margin-left: 1.6rem;
}
.pagination01 .item.disabled .link {
  cursor: default;
  opacity: .3;
  pointer-events: none;
}
.pagination01 .item.prev .link:hover, .pagination01 .item.next .link:hover {
  opacity: .8;
}
.pagination01 .item .link:hover {
  background-color: #fff;
  border: solid 1px #4a413b;
}
.pagination01 .item.prev .link:hover, .pagination01 .item.next .link:hover {
  background-color: transparent;
  border: solid 1px transparent;
  opacity: .3;
}
.pagination01 .item.active .link {
  background-color: #fff;
  border: solid 1px #4a413b;
  cursor: default;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .information01 .container {
    padding: 0 3rem 8rem;
  }
  .information01 .wrap01 .archive {
    margin-top: 4rem;
  }
  .information01 .wrap01 .archive .btns {
    flex-wrap: wrap;
  }
  .information01 .wrap01 .archive .btns .btn:first-of-type {
    width: 100%;
  }
  .information01 .wrap01 .archive .btns .btn {
    height: 3.5rem;
    width: calc((100% - 1.8rem) / 4);
  }
  .information01 .wrap01 .archive .cards {
    gap: 1rem;
    margin-top: 3.8rem;
  }
  .information01 .wrap01 .archive .cards .card {
    width: calc((100% - 1rem) / 2);
  }
  .information01 .wrap01 .archive .cards .card .txt {
    font-size: 1.4rem;
  }
  .pagination01 {
    margin-top: 4rem;
  }
}
/* ---------------------------------------------------------------------------
//  single01
--------------------------------------------------------------------------- */
.single01 .container {
  padding: 0 0 12rem;
}
.single01 .container .wrap01 .article {
  margin-top: 6rem;
}
.single01 .container .wrap01 .article .head {
  align-items: center;
  border-bottom: solid 1px #000;
  display: flex;
  gap: .9rem;
  margin-bottom: 1rem;
  padding: 1.6rem 0;
}
.single01 .container .wrap01 .article .head .tag {
  align-items: center;
  background: #4a413b;
  color: #fff;
  display: flex;
  font-size: 1rem;
  font-weight: 400;
  height: 2.4rem;
  justify-content: center;
  width: 8.8rem;
}
.single01 .container .wrap01 .article .head .date {
  color: #4a413b;
  font-weight: 400;
}
.single01 .container .wrap01 .article .wp_edit {
  background: #fff;
  font-size: 1.6rem;
  line-height: 2;
  padding: 2rem 5rem 8rem;
}
.single01 .container .wrap01 .article .wp_edit .h2 {
  color: #4a413b;
  font-size: 2.8rem;
  font-weight: 500;
  margin-bottom: 3rem;
}
.single01 .container .wrap01 .article .wp_edit .thumb {
  margin: 3rem auto 4rem;
  max-width: 80rem;
}
.single01 .container .wrap01 .article .wp_edit > p {
  margin: 4rem 0;
}
.single01 .container .wrap01 .article .wp_edit > p img {
  display: block;
  margin: 0 auto;
  max-width: 80rem;
}
.single01 .container .wrap01 .article .wp_edit .cp01 {
  margin-top: 4rem;
}
.single01 .container .wrap01 .article .wp_edit .cp01 .dl01 {
  display: flex;
}
.single01 .container .wrap01 .article .wp_edit .cp01 .dl01 dt {
  font-weight: 400;
  white-space: nowrap;
  width: 8rem;
}
.single01 .container .wrap01 .article .wp_edit .cp02 {
  border-top: 1px dashed #000;
  margin-top: 3rem;
  padding-top: 3rem;
}
.single01 .container .wrap01 .article .wp_edit .cp02 .dl01 {
  display: flex;
}
.single01 .container .wrap01 .article .wp_edit .cp02 .dl01 dt {
  font-weight: 400;
  width: 19rem;
}
.single01 .container .wrap01 .pagination02 {
  border-top: solid 2px #000;
  display: flex;
  justify-content: space-between;
  margin-top: 1.6rem;
  overflow: hidden;
  padding-top: 7rem;
}
.single01 .container .wrap01 .pagination02 .item {
  transition: .3s;
  width: 50%;
}
.single01 .container .wrap01 .pagination02 .item.next {
  margin-left: auto;
}
.single01 .container .wrap01 .pagination02 .item.prev .link:hover {
  padding-left: 0;
}
.single01 .container .wrap01 .pagination02 .item.next .link:hover {
  padding-right: 0;
}
.single01 .container .wrap01 .pagination02 .item .link {
  display: block;
  overflow: hidden;
  padding: 0 4.4rem;
  position: relative;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}
.single01 .container .wrap01 .pagination02 .item .link::before {
  background-image: url(../img/common/arrow03.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 1.6rem;
  margin: auto;
  position: absolute;
  top: 0;
  transition: .2s;
  width: 1.8rem;
}
.single01 .container .wrap01 .pagination02 .item .link:hover:before {
  opacity: 0;
}
.single01 .container .wrap01 .pagination02 .item.prev .link::before {
  left: 0;
  transform: rotate(180deg);
}
.single01 .container .wrap01 .pagination02 .item.next .link::before {
  right: 0;
}
@media screen and (max-width:768px) {
  .single01 .container {
    padding: 0 1.5rem 8rem;
  }
  .single01 .container .wrap01 .article {
    margin-top: 3rem;
  }
  .single01 .container .wrap01 .article .wp_edit {
    font-size: 1.4rem;
    line-height: 1.75;
    padding: 2rem 1.5rem 4rem;
  }
  .single01 .container .wrap01 .article .wp_edit .h2 {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }
  .single01 .container .wrap01 .article .wp_edit .thumb {
    margin: 2rem auto;
  }
  .single01 .container .wrap01 .article .wp_edit > p {
    margin: 2rem 0;
  }
  .single01 .container .wrap01 .article .wp_edit .cp01 {
    margin-top: 2rem;
  }
  .single01 .container .wrap01 .article .wp_edit .cp01 .dl01 dt {
    width: 7rem;
  }
  .single01 .container .wrap01 .article .wp_edit .cp02 {
    margin-top: 2rem;
    padding-top: 2rem;
  }
  .single01 .container .wrap01 .article .wp_edit .cp02 .dl01 dt {
    width: 16.5rem;
  }
  .single01 .container .wrap01 .pagination02 {
    padding: 4rem 1.5rem 0;
  }
  .single01 .container .wrap01 .pagination02 .item .link {
    font-size: 1.2rem;
    padding: 0 2.5rem;
  }
}
/* ---------------------------------------------------------------------------
//  contact01
--------------------------------------------------------------------------- */
.contact01 .container {
  padding: 2.4rem 0 12rem;
  position: relative;
}
.contact01 .form_area {
  margin-top: 8.7rem;
}
.contact01 .form_area .form_wrap + .form_wrap {
  padding-top: 7rem;
}
.contact01 .form_area .form_wrap .h2 {
  align-items: center;
  display: flex;
  gap: 1.4rem;
  justify-content: center;
  margin-bottom: 2.5rem;
}
/* .contact01 .form_area .form_wrap01 .h2 .icon {
  width: 3rem;
}
.contact01 .form_area .form_wrap02 .h2 .icon {
  width: 3rem;
} */
.contact01 .form_area .form_wrap .h2 .txt {
  color: #4a413b;
  font-size: 2.5rem;
  font-weight: 500;
}
.contact01 .form_area .form_wrap .box {
  background: #fff;
}
.contact01 .form_area .form_wrap01 .box {
  padding: 2rem 3rem 4.5rem;
}
.contact01 .form_area .form_wrap01 .box dl {
  align-items: flex-start;
  color: #4a413b;
  display: flex;
  gap: 1rem;
  padding: 2.6rem 0;
}
.contact01 .form_area .form_wrap01 .box dl + dl {
  border-top: solid 1px #e8e8e8;
}
.contact01 .form_area .form_wrap01 .box dl dt {
  align-items: center;
  display: flex;
  font-weight: 500;
  justify-content: space-between;
  padding: calc(1rem + 1px) 0;
  width: 22.5rem;
}
.contact01 .form_area .form_wrap01 .box dl dt span {
  align-items: center;
  color: #fff;
  display: flex;
  font-size: 1.2rem;
  height: 2.1rem;
  justify-content: center;
  width: 3.8rem;
}
.contact01 .form_area .form_wrap01 .box dl dt span.red {
  background: #d10606;
}
.contact01 .form_area .form_wrap01 .box dl dt span.green {
  background: #205b36;
}
.contact01 .form_area .form_wrap01 .box dl dd {
  font-weight: 500;
  width: calc(100% - 23.5rem);
}
::placeholder {
  color: #b2b2b2;
}
.contact01 .form_area .form_wrap01 .box dl dd input[type=text] {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: .5rem;
  padding: 1rem .8rem;
  width: 100%;
}
.contact01 .form_area .form_wrap01 .box dl dd input[type=email] {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: .5rem;
  padding: 1rem .8rem;
  width: 100%;
}
.contact01 .form_area .form_wrap01 .box dl dd textarea {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: .5rem;
  height: 36.9rem;
  padding: 1rem .8rem;
  resize: none;
  width: 100%;
}
.wpcf7-radio {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 1rem;
  padding: calc(1rem + 1px) 0;
}
.design input {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px!important;
}
.design input + span {
  cursor: pointer;
  display: inline-block;
  font-weight: 500;
  padding: 0 0 0 2rem;
  position: relative;
}
.design input:checked + span::after {
  opacity: 1!important;
}
/* ラジオボタン */
.design input[type=radio] + span::before {
  border: 1px solid #4a413b;
  border-radius: 50%;
  content: '';
  display: block;
  height: 1.7rem;
  left: 0;
  position: absolute;
  top: calc(1px + .3rem);
  width: 1.7rem;
}
.design input[type=radio] + span::after {
  background-color: #4a413b;
  border-radius: 50%;
  content: '';
  display: block;
  height: 1rem;
  left: calc(1px + .26rem);
  opacity: 0;
  position: absolute;
  top: calc(1px + .62rem);
  width: 1rem;;
}
.submit {
  align-items: center;
  background: #205b36;
  border: solid 1px #000;
  border-radius: .8rem;
  color: #fff;
  display: flex;
  font-size: 1.4rem;
  font-weight: 500;
  gap: 1.4rem;
  height: 5rem;
  justify-content: center;
  margin: 0 auto;
  margin-top: 1.5rem;
  max-width: 32.3rem;
  overflow: hidden;
  position: relative;
  transition: .3s;
}
.submit input {
  height: 100%;
  left: 0;
  position: absolute;
  text-align: center;
  top: 0;
  width: 100%;
}
.submit::after {
  background-image: url(../img/common/arrow02.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 1.6rem;
  position: absolute;
  right: 1.6rem;
  transition: .3s;
  width: 1rem;
}
.submit:hover {
  background: #000;
}
.contact01 .form_area .form_wrap02 .box {
  padding: 5rem 0;
}
.contact01 .form_area .form_wrap02 .box .contact_wrap {
  display: flex;
}
.contact01 .form_area .form_wrap02 .box .contact_wrap .btns {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  justify-content: space-between;
  width: 50%;
}

.contact01 .form_area .form_wrap02 .box .contact_wrap .btns .btn {
  align-items: center;
  background: #e9f3d2;
  border: solid 1px #000;
  border-radius: .5rem;
  display: flex;
  font-weight: 500;
  height: 7.7rem;
  justify-content: center;
  position: relative;
  text-align: center;
  transition: .3s;
  width: 46.2rem;
}
.contact01 .form_area .form_wrap02 .box .contact_wrap .btns .btn .txt {
  align-items: center;
  display: flex;
  flex-direction: column;
}
.contact01 .form_area .form_wrap02 .box .contact_wrap .btns .btn .txt strong {
  font-size: 2rem;
}
.contact01 .form_area .form_wrap02 .box .contact_wrap .btns .btn:hover {
  background: #000!important;
  color: #fff;
}
.contact01 .form_area .form_wrap02 .box .contact_wrap .btns .btn::before {
  animation: tree-sway 4s ease-in-out infinite;
  background-image: url(../img/common/arrow_bird.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 2.9rem;
  margin: auto;
  position: absolute;
  right: 2rem;
  top: 0;
  transform-origin: bottom center;    /* 根元を支点に */
  width: 3.9rem;
}
.contact01 .form_area .form_wrap02 .box .contact_wrap .company {
  align-items: center;
  display: flex;
  flex-direction: column;
  width: 50%;
}
.contact01 .form_area .form_wrap02 .box .contact_wrap .company .txt {
  line-height: 1.75;
  margin-bottom: 2.4rem;
  width: 32.3rem;
}
.contact01 .form_area .form_wrap02 .box .contact_wrap .company .txt .h3 {
  color: #205b36;
  font-weight: 500;
}
.contact01 .form_area .form_wrap02 .box .contact_wrap .company .txt dl {
  display: flex;
}
.contact01 .form_area .form_wrap02 .box .contact_wrap .company .txt dl dt {
  font-weight: 400;
}
.contact01 .form_area .form_wrap02 .box .contact_wrap .company .btn {
  align-items: center;
  background-color: #becf98;
  border: solid  1px #000;
  border-radius: .8rem;
  color: #4a413b;
  display: flex;
  font-size: 1.4rem;
  font-weight: 500;
  height: 5rem;
  justify-content: center;
  margin-top: auto;
  position: relative;
  width: 32.3rem;
}
.contact01 .form_area .form_wrap02 .box .contact_wrap .company .btn:hover {
  background-color: #000;
  color: #fff;
}

.contact01 .form_area .form_wrap02 .box .contact_wrap .company .btn::before {
  animation: tree-sway 4s ease-in-out infinite;
  background-image: url(../img/common/arrow_tree.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 4rem;
  position: absolute;
  right: .8rem;
  transform-origin: bottom center;    /* 根元を支点に */
  width: 3.6rem;
}
@media screen and (max-width:768px) {
  .contact01 .container {
    padding: 2em 1.5rem 8rem;
  }
  .contact01 .container .page_ttl .jp {
    font-size: 1.8rem;
  }
  .contact01 .form_area {
    margin-top: 6rem;
  }
  .contact01 .form_area .form_wrap + .form_wrap {
    padding-top: 6rem;
  }
  .contact01 .form_area .form_wrap .h2 {
    gap: 1rem;
  }
  .contact01 .form_area .form_wrap .h2 .txt {
    font-size: 2rem;
  }
  .contact01 .form_area .form_wrap01 .box {
    padding: 2rem 1.5rem 4rem;
  }
  .contact01 .form_area .form_wrap01 .box dl {
    display: block;
    padding: 2rem 0;
  }
  .contact01 .form_area .form_wrap01 .box dl dt {
    gap: 1.6rem;
    justify-content: flex-start;
    margin-bottom: 1.6rem;
    padding: 0;
    width: 100%;
  }
  .contact01 .form_area .form_wrap01 .box dl dd {
    width: 100%;
  }
  .contact01 .form_area .form_wrap01 .box dl dd textarea {
    height: 25rem;
  }
  .wpcf7-radio {
    padding: 0;
  }
  .contact01 .form_area .form_wrap02 .box {
    padding: 5rem 1.5rem;
  }
  .contact01 .form_area .form_wrap02 .box .contact_wrap {
    display: block;
  }
  .contact01 .form_area .form_wrap02 .box .contact_wrap .btns {
    align-items: center;
    gap: 3rem;
    width: 100%;
  }
  .contact01 .form_area .form_wrap02 .box .contact_wrap .btns .btn {
    width: 100%;
  }
  .contact01 .form_area .form_wrap02 .box .contact_wrap .btns .btn::before {
    right: 1rem;
  }
  .contact01 .form_area .form_wrap02 .box .contact_wrap .company {
    margin-top: 3rem;
    width: 100%;
  }
  .contact01 .form_area .form_wrap02 .box .contact_wrap .company .txt {
    width: 100%;
  }
  .contact01 .form_area .form_wrap02 .box .contact_wrap .company .btn {
    width: 100%;
  }
}
/* ---------------------------------------------------------------------------
//  base
--------------------------------------------------------------------------- */
.base .container {
  padding: 6rem 0 12rem;
}
.base .container .wrap01 {
  margin-top: 6rem;
}
.base .container .wrap01 .p {
  font-size: 1.8rem;
  line-height: 2.1;
  text-align: center;
}
.base .container .wrap01 .btn {
  align-items: center;
  background-color: #becf98;
  border: solid  1px #000;
  border-radius: .8rem;
  color: #4a413b;
  display: flex;
  font-size: 1.4rem;
  font-weight: 500;
  height: 5rem;
  justify-content: center;
  margin: 5rem auto 0;
  position: relative;
  width: 32rem;
}
.base .container .wrap01 .btn:hover {
  background-color: #000;
  color: #fff;
}
.base .container .wrap01 .btn::before {
  animation: tree-sway 4s ease-in-out infinite;
  background-image: url(../img/common/arrow_tree.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 4rem;
  position: absolute;
  right: .8rem;
  transform-origin: bottom center;    /* 根元を支点に */
  width: 3.6rem;
}
@media screen and (max-width:768px) {
  .base .container {
    padding: 4rem 3rem 8rem;
  }
  .base .container .wrap01 {
    margin-top: 6rem;
  }
  .base .container .wrap01 .p {
    font-size: 1.6rem;
  }
  .base .container .wrap01 .btn {
    width: 100%;
  }
}
/* ---------------------------------------------------------------------------
//  PC/SP
--------------------------------------------------------------------------- */
.forSP {
  display: none;
}
@media screen and (max-width:768px) {
  .forSP {
    display: block;
  }
  .forPC {
    display: none;
  }
}

/* ---------------------------------------------------------------------------
//  TOP MAP更新
/* MAPコンテナ：余白を完全に無効化し、画像サイズを基準化 */
.home .map{
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 100%;
  padding: 0 !important;            /* ← これが肝。SPで入る左右パディングを殺す */
  border: 0 !important;
  box-sizing: content-box !important;
  line-height: 0;                    /* 画像下の隙間対策 */
}
.home .map > img{
  display:block;
  width:100%;
  height:auto;
}

/* 既存リンクボタン（変更禁止） */
.home .map .link{
  position:absolute !important;
  display:block;
  width:220px;
  height:80px;
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center;
  z-index:10;
  transform:translate(-50%,-50%);
}
.home .map .link01{ left:47%; top:8%; background-image:url(../img/top/sol-butt.png); }
.home .map .link02{ left:56%; top:20%; background-image:url(../img/top/cowork-butt.png); }

/* 囲み数字（ピン） */
.home .map .tenant-no{
  position:absolute;
  left:0; top:0;
  transform:translate(-50%,-50%);
  transform-origin:50% 50%;
  z-index:6;
  display:flex;
  align-items:center;
  justify-content:center;

  background:#726d6b;
  color:#fff;
  border:1px solid #fff;
  border-radius:100%;

  font-size:1.3rem;   /* ← 以前1.6rem → 少し小さめ */
  font-weight:400;
  width:2.1rem;       /* ← 以前2.5rem → 少し小さめ */
  height:2.1rem;

  pointer-events:none;
  transition:none;
}

/* SP：丸数字だけ縮小（位置は中心のまま） */
@media (max-width: 850px){
  .home .map .tenant-no{
    font-size:1.0rem;
    width:1.6rem;
    height:1.6rem;
    border-width:1px;
  }
}