@charset "utf-8";
/*
Theme Name: 友愛サポート
Description: 
Author: Sonicgrow×COSMICGEAR
Version: 1.0
*/
/*-root*/ :root {
  --base-fnt: YakuHanMPs,'Noto Sans JP', sans-serif;
  --fnt-spmc: YakuHanMPs,'Shippori Mincho', serif;
  --fnt-mar: 'Marcellus', var(--fnt-spmc);
  --head2_wid:clamp(3.75rem, 2.546rem + 4.94vw, 6.25rem);/*60-100*/
  --head2_main:clamp(1.5rem, -0.5rem + 4.17vw, 2.625rem); /*24-42*/
  --head2_title:min(26px,calc(100vw/19.5));/*22-26*/
  --head3_min:min(18px,4.6vw);
  --clr-blk: #1a1a1a;
  --clr-gry: #8a8a8a;
  --clr-right-gry: #d2d2d2;
  --gra-blk: linear-gradient(-25deg, #999, #1a1a1a);
  --wall-base: #F0F0F0;
  --easing: cubic-bezier(0.45, 0.05, 0.55, 0.95);
  --transit: .3s var(--easing);
}
/*base=====*/
html{
  scroll-behavior: auto;
}
html,body{
  overscroll-behavior: none;
}
body {
   width: 100%;
  height: 100%;
  overflow-x: hidden;
  font-family: var(--base-fnt);
  font-size: min(3.6vw, 16px);
  color: var(--clr-blk);
  overflow-wrap: anywhere;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-weight: 400;
  transition:opacity .6s var(--easing);
  background-color: var(--wall-base);
  opacity: 0;
}
body.is-load{
  opacity: 1;
}
.fnt-spmc {
  font-family: var(--fnt-spmc);
}
.fnt-mar {
  font-family: var(--fnt-mar);
}
.fl {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.fl.jc_c {
  justify-content: center;
}
.fl_c {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
}
.fl_c.ai_c {
  -ms-align-items: center;
  align-items: center;
}
figure {
  margin-bottom: 0 !important;
}
/*container
========================================================*/
#container {
  width: 100%;
  min-height: 100dvh;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
}
#container.home{
  overflow-x: hidden;
}
a.cvr {
  position: absolute;
  inset:0;
  z-index: 1;
}
/*button setting*/
.button-wrap{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
}
.rect-button {
  width: min(160px, 100vw);
}
.rect-button > * {
  --btn-wall:rgba(255,255,255,.2);
  --btn-txt:var(--clr-blk);
  --line-clr:var(--clr-blk);
  display: grid;
  place-content: center;
  width: 100%;
  height: min(42px, 12vw);
  border: 1px solid;
  border-color: var(--line-clr);
  color: var(--btn-txt);
  background-color:var(--btn-wall);
  border-radius: 5px;
  overflow: hidden;
  isolation: isolate;
  cursor: pointer;
  font-weight: 500;
}
.rect-button > * span {
  white-space: nowrap;
}
.blk-button > * {
  --line-clr: var(--clr-blk);
  --btn-wall: var(--clr-blk);
  --btn-txt: #fff;
}
.rect-button.l-wht > *{
  --btn-wall:transparent;
  --line-clr:#fff;
  --btn-txt: #fff;
}
.arrow-button{
  width: min(200px,100%);
  height: min(40px,10vw);
}
.arrow-button.w-wid{
  width: min(255px,100%);
}
.arrow-button a{
  border: 1px solid var(--clr-gry);
  border-radius: 100vmax;
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 1fr;
  place-content:center;
  font-family: var(--fnt-mar);
  padding-left: 2em;
  padding-right: 2em;
}
.arrow-button a .txt{
  background: var(--gra-blk);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.arrow-button a .arrow{
  width: 1.1em;
  position: absolute;
  right: 2em;
  top: 50%;
  translate:50% -50%;
  transition:translate var(--transit);
}
@media(hover){
  .arrow-button a:hover .arrow{
    translate:100% -50%;
  }
}
/*fix wall*/
#fix-wall{
  background: url("images/wall/fix.png") repeat-x top center/cover;
  position: fixed;
  inset:0;
}
.image-area{
  width: 100%;
  height: clamp(25rem, 6.944rem + 74.07vw, 62.5rem);/*400-1000*/
}
.wall-wrapper::before{
  content: "";
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  translate:-50% 0;
  background-color: var(--wall-base);
  background-image: url("images/wall/noise.png");
  background-size: min(1440px, 100vw);
  background-repeat: repeat;
  background-position: center;
}
/*hum
=====================================*/
#hum-button {
  position: fixed;
  top: 0;
  right: 0;
  width: min(65px, 15vw);
  aspect-ratio: 1/1;
  z-index: 100;
  cursor: pointer;
  display: none;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
}
#hum-button button {
  width: 67%;
  height: 1px;
  background-color: var(--clr-blk);
  position: relative;
  transition: transform var(--transit);
}
#hum-button button::before, #hum-button button::after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  background-color: var(--clr-blk);
  transition: transform var(--transit);
  transform-origin: center;
}
#hum-button button::before {
  top: -6px;
}
#hum-button button::after {
  bottom: -6px;
}
#hum-button.open {
  background-color: var(--clr-blk);
  top: 0;
  right: 0;
}
#hum-button.open button {
  transform: rotate(20deg);
  background-color: #fff;
}
#hum-button.open button::before, #hum-button.open button::after {
  top: 0;
  bottom: auto;
  background-color: #fff;

}
#hum-button.open button::before
,#hum-button.open button::after {
  transform: rotate(140deg);
}
#l-nav {
  position: fixed;
  width: 100vw;
  height: 100dvh;
  top: 0;
  left: 0;
  z-index: 99;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all var(--transit);
  -o-transition: all var(--transit);
  transition: all var(--transit);
  overflow-y: scroll;
  background-color: var(--wall-base);
  background-image: url(images/wall/noise.png);
  background-size: min(1440px, 100vw);
  background-repeat: repeat;
  background-position: center;
}
#l-nav.is-view {
  opacity: 1;
  visibility: visible;
}
.l-nav_inner {
  width: 100%;
  min-height: 100%;
  padding: min(100px,20vw) min(35px,8vw) calc(env(safe-area-inset-bottom) + min(30px,10vw));
  display: grid;
  grid-template-columns: min(700px,100%);
  justify-content: center;
  align-content: flex-start;
  gap:min(20px,5vw);
}
.l-nav__menu > li{
  border-bottom: 2px solid var(--clr-right-gry);
}
.l-nav__menu > li > a
,.l-nav__menu > li > p{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: baseline;
  align-items: baseline;
  gap:10px;
  padding: min(20px,4vw) 10px;
}
.l-nav__menu > li > a{
  padding-right: 25px;
}
.l-nav__menu > li > p{
  
}
.l-nav__menu li a::after{
  content: "";
  width: 12px;
  aspect-ratio:1/0.6667;
  position: absolute;
  right: 10px;
  top: 50%;
  translate:0 -50%;
  background-image: url("images/icon/arrow-min.svg");
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-position: right center;
}

.l-nav__menu > li .ja{
  font-size: min(24px,calc(100vw/16.25));
  font-family: var(--fnt-spmc);
}
.l-nav__menu > li .en{
  font-family: var(--fnt-mar);
  color: var(--clr-gry);
  font-size: min(12px,3.2vw);
}
.l-nav__menu .child{
  padding-left: min(20px,4vw);
  padding-bottom: min(20px,4vw);
  margin-top: min(10px, 2vw);
}
.l-nav__menu .child > li a{
  display: block;
  padding-right: 25px;
  line-height: calc(24/14);
}
.l-nav__menu .child > li:nth-child(n+2){
  margin-top: 10px;
}
.l-nav__button{
  display: grid;
  gap: min(20px,4vw);
  grid-template-columns: repeat(auto-fit, minmax(min(320px,100%), calc(50% - min(10px,2vw))));
  justify-content: center;
}
.l-nav__button .rect-button{
  width: inherit;
  height: min(44px,12vw);
}
.l-nav__button .rect-button a{
  font-size: min(16px,4vw);
}
.l-nav__other a{
  color: var(--clr-gry);
}
/*header
=====================================*/
header {
  width: 100%;
  overflow: hidden;
  z-index: 10;
  position: fixed;
  top: 0;
  left: 0;
  height: clamp(3.75rem, -10.795rem + 22.73vw, 6.25rem);
  transition:translate var(--transit);
}
header.is-scl{
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
header.hide{
  translate:0 -100%;
}
.head-inner {
  width: 100%;
  height: 100%;
  padding: min(10px, 1.5vw) min(40px, 3vw) min(10px, 1.5vw);
  font-size: min(14px, 3.6vw);
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
}
.h-logo a {
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  line-height: calc(30/24);
}
.h-logo a .sub {
  font-size: min(12px, 3vw);
}
.h-logo a .main {
  font-size: clamp(1rem, 0.818rem + 0.91vw, 1.5rem); /*16-24*/
  font-family: var(--fnt-spmc);
}
.header-nav {
  gap: min(40px, 8vw);
  -ms-align-items: center;
  align-items: center;
  justify-content: flex-end;
}
.g-nav {
  gap: 10px min(20px, 5vw);
}
.g-nav a {
  font-weight: 500;
}
.head-button-set
,.foot-button-set{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  font-size: min(16px, 3.6vw);
  -ms-align-items: center;
  align-items: center;
  gap: min(10px, 2vw);
}
.head-button-set .rect-button
,.foot-button-set .rect-button{
  width: min(160px, 20vw);
}
/*main
=====================================*/
main {
  flex: 1;
}
.inner {
  width: min(1300px, 100%);
  margin-left: auto;
  margin-right: auto;
  padding-left: min(50px, 4vw);
  padding-right: min(50px, 4vw);
}
.inner.w-mid{
  width: min(1380px,100%);
}

/*#hero
============================*/
#hero{
  background-color: var(--wall-base);
  background-image: url("images/wall/noise.png");
  background-size: min(1440px, 100vw);
  background-repeat: repeat;
  background-position: center;
  padding-top: min(100px,15vw);
}
.hero-main{
/*  overflow-x: hidden;*/
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.hero-main::-webkit-scrollbar{
  display: none;
}
.line-anime {
  width: 100%;
  position: absolute;
  aspect-ratio: 1442 / 139;
  overflow: hidden;
  pointer-events: none;
}
.line-anime > svg {
  width: 100%;
  height: 100%;
  display: block;
}
.line-anime .line {
  stroke-dasharray: 800;
  -webkit-animation: svg-wave 10s linear infinite;
  animation: svg-wave 10s linear infinite;
  -webkit-animation-fill-mode: backwards;
  animation-fill-mode: backwards;
  fill: none;
  stroke: #fff;
  stroke-width: 5;
  stroke-miterlimit: 8;
  -webkit-transition: stroke 6s ease;
  transition: stroke 6s ease;
  stroke-linecap: round;
}
.line-anime .line:nth-child(1) {
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}
.line-anime .line:nth-child(2) {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-delay: 4s;
  animation-delay: 4s;
}
.line-anime .line:nth-child(3) {
  -webkit-animation-duration: 4s;
  animation-duration: 4s;
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
}
@keyframes svg-wave {
  0% {
    stroke-dashoffset: 1800;
    stroke-width: 5;
    stroke-opacity: 0;
  }
  50% {
    stroke-width: 2.5;
    stroke-opacity: 0.7;
  }
  100% {
    stroke-dashoffset: 800;
    stroke-width: 0;
    stroke-opacity: 0;
  }
}
.hero-main .line-anime{
  left: 50%;
  top: 70%;
  translate: -50% -50%;
}
.hero-main_inner {
  padding-top: min(50px, 12vw);
}
#hero-slider {
  width: min(700px, 70vw);
  color: #fff;
  margin-left: auto;
  margin-right: auto;
}
#hero-slider.swiper-3d .swiper-slide-shadow {
  background: none;
}
.hero-slide-item {
  aspect-ratio: 1/1.0586;
  overflow: hidden;
}
.hero-slide-item::after {
  content: "";
  width: 100%;
  height: 100%;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity .3s var(--easing);
}
.hero-slide-item img {
  object-fit: cover;
  height: 100%;
  object-position: center;
  transition: all var(--transit);
}
.hero-slide-item.swiper-slide-active::after {
  opacity: 0;
  transition-delay: .5s;
}
.hero-catch_main
,.hero-catch_text{
  position: absolute;
  writing-mode: vertical-rl;
}
.hero-catch_main{
  z-index: 2;
  top: min(60px, 14vw);
  right: max(calc((100% - 1100px) / 2), 4vw);
  font-family: var(--fnt-spmc);
  font-size: clamp(1.5rem, -0.5rem + 4.17vw, 2.625rem); /*24-42*/
  letter-spacing: .1em;
  line-height: calc(52/42);
  white-space: nowrap;
}
.hero-catch_text{
  bottom: min(40px,5vw);
  left: max(calc((100% - 1100px) / 2), 4vw);
  
}
.hero-catch_text p{
  line-height: calc(26/16);
  letter-spacing: .1em;
}
.hero-catch {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 50%;
  translate: -50% 0;
  writing-mode: vertical-rl;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  justify-content: space-between;
  -ms-align-items: flex-start;
  align-items: flex-start;
  padding-top: min(50px, 12vw);
  padding-bottom: min(50px, 12vw);
}

/*#index content 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.index-contents {
}
.lead-text{
  font-kerning: none;
  line-height: calc(32/16);
}
.in-text{
  font-kerning: none;
  line-height: calc(28/16);
}
.lead-text.cnt
,.in-text.cnt{
  text-align: center;
}
/*title settings*/
.sec-title{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  gap:min(10px,2vw);
}
.sec-title.ai_c{
  -ms-align-items: center;
  align-items: center;
}
.sec-title .en{
  font-family: var(--fnt-mar);
  font-size: min(18px,4vw);
  letter-spacing: .2em;
  color: var(--clr-gry);
}
.sec-title .main{
  font-family: var(--fnt-spmc);
  font-size: var(--head2_main);
  letter-spacing: .05em;
  line-height: calc(52/42);
}
.sec-title .main.cnt{
  text-align: center;
}

.sec-title.wid_en .main{
  font-family: var(--fnt-mar);
  font-size: var(--head2_wid);
}

/*index intro ++++++++++++++++++++++*/
.index-intro-blc{
  display: grid;
  grid-template-columns: auto;
  gap:min(40px,5vw);
  text-align: center;
  padding-top: min(80px, 15vw);
  padding-bottom: min(120px,15vw);
}

/*contents navigation　++++++++++++++++++++++*/
.sec-contents-nav{
  display: grid;
  grid-template-columns: repeat(4,1fr);
}
.nav-items{
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
  width: 100%;
}
.nav-items .wall{
  width: 100%;
  aspect-ratio:1/1.6639;
}
.nav-items .wall img{
  object-fit: cover;
  height: 100%;
  object-position: center;
}
.nav-items .wall::after{
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-image: url("images/wall/tile.svg");
  background-repeat: repeat;
  background-position: center;
  background-size: 5px;
  opacity: .8;
}
.nav-items .detail-area{
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: min(30px,5vw);
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr auto;
}
.nav-items ul.link-list{
  display: grid;
  grid-template-columns: 1fr;
  -ms-align-items: flex-end;
  align-items: flex-end;
  font-size: min(18px,4vw);
  font-weight: 500;
}
.nav-items ul.link-list li{
  border-bottom: 1px solid;
}
.nav-items ul.link-list li a{
  display: block;
  padding: min(12px,2vw) 2em min(12px,2vw) 0;
}
.nav-items ul.link-list li a .arrow{
  position: absolute;
  right: 0;
  top: 50%;
  translate:0 -50%;
  width: 1em;
  fill:#fff;
  transition:translate var(--transit);
}
.nav-items .in-title{
  writing-mode: vertical-rl;
  font-size: clamp(1.25rem, 0.667rem + 1.94vw, 2.125rem);/*20-34*/
  font-family: var(--fnt-spmc);
  letter-spacing: .1em;
}
@media(hover){
  .nav-items ul.link-list li a:hover .arrow{
    translate:50% -50%;
  }
}

/*movie +++++++++++++++++++++++++*/

.index-movie-blc{
  display: grid;
  grid-template-columns: auto 1fr;
  margin-top: min(120px,15vw);
  gap:min(50px,4vw);
}
.index-movie-blc .title-area{
  writing-mode: vertical-rl;
  font-size: var(--head2_main);
  font-family: var(--fnt-spmc);
  letter-spacing: .1em;
  padding-left: 1em;
  padding-right: 1em;
  line-height: calc(36 / 24);
  font-weight: 300;
}
.index-movie-blc .title-area span{
  display: block;
  letter-spacing: .2em;
}
.movie-area .player{
  background: #ddd;
  aspect-ratio:1/0.5625;
  width: 100%;
}
.movie-area .player .thumb{
  width: 100%;
  height: 100%;
}
.movie-area .player .thumb img{
  object-fit: cover;
  height: 100%;
  object-position: center;
}
.movie-area .player::after{
  content: "View";
  z-index: 3;
  pointer-events: none;
  width: min(86px,15vw);
  aspect-ratio:1;
  display: grid;
  place-content:center;
  color: #fff;
  background-color: rgba(25,25,25,.7);
  font-family: var(--fnt-mar);
  border-radius: 100vmax;
  position: absolute;
  top: 50%;
  left: 50%;
  translate:-50% -50%;
  transition:width var(--transit);
}
.movie-area .player:hover::after{
  width: min(100px,18vw);
}
.movie-area .comment{
  margin-top: min(40px,6vw);
}
.movie-area .comment > * + *{
    margin-top: min(10px,2vw);
}
.movie-area .comment .in-title{
    font-size: var(--head3_min);
    font-weight: 600;
    padding-left: 1em;
    line-height: calc(24 / 18);
}
.movie-area .comment .in-title::before{
    content: "";
    width: 10px;
    aspect-ratio: 1;
    position: absolute;
    left: 0;
    top: .45em;
    translate: 0 0;
    background: var(--gra-blk);
    border-radius: 100vmax;
}
.movie-area .comment li{
    font-kerning: none;
    line-height: calc(28 / 16);
}

/*access　++++++++++++++++++++++*/
.index-access-blc{
  margin-top: min(120px,15vw);
  padding-bottom:  min(80px,12vw);
}
/*
.index-access_map{
  width: 100%;
  aspect-ratio:1/0.32;
}
*/
.index-access_map iframe {
  -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
    -webkit-transition: all 0.7s ease;
    -moz-transition: all 0.7s ease;
    -o-transition: all 0.7s ease;
    transition: all 0.7s ease;
    width: 100%;
    height: auto;
    aspect-ratio:1/0.32;
}
.index-access_map iframe:hover,
.index-access_map object:hover,
.index-access_map embed:hover {
    -webkit-filter: grayscale(0%);
    -moz-filter: grayscale(0%);
    -ms-filter: grayscale(0%);
    -o-filter: grayscale(0%);
    filter: grayscale(0%);
}
.index-access_map img {
object-fit: cover;
  height: 100%;
  width: 100%;
  object-position: center;
  filter: grayscale(1);
}
.index-access-box{
  margin-top: max(-60px, -8.5vw); 
}
.index-access-box .sec-title{
   pointer-events: none;
}
.index-access-box .access-data-list{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  line-height: calc(32/16);
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}
.index-access-box .access-data-list dd span{
  display: inline-block;
}
.access-facility-list{
  margin-top: min(80px, 12vw);
  display: grid;
  grid-template-columns:1fr 1fr;
  gap:min(20px,5vw) min(100vw,5vw);
}
.facility-item{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  gap:min(20px,5vw);
  -ms-align-items: flex-start;
  align-items: flex-start;
}
.facility-item .arrow-button{
  margin-left: auto;
}
.facility_data dt h3{
  font-size: var(--head3_min);
  padding-left: 1em;
}
.facility_data dt h3::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  translate:0 -50%;
  border-radius: 100vmax;
  width: 10px;
  aspect-ratio:1;
  background: var(--gra-blk);
}
.facility_data dd{
  line-height: calc(32/16);
}
/*news +++++++++++*/
.index-info-blc {
  padding-top: min(80px,12vw);
  width: min(1200px,100%);
  display: grid;
  grid-template-columns: auto min(760px,60vw);
  grid-template-rows: auto 1fr;
  gap:min(40px,4vw) min(50px,4vw);
  padding-bottom: min(150px, 20vw);
}
.index-info-blc .acv-news-list{
  grid-area: span 2;
}
.acv-post-item{
  border-bottom: 1px solid var(--clr-right-gry);
  display: grid;
  grid-template-columns: 6em auto;
  padding: min(20px,3vw) min(50px,8vw) min(20px,3vw) min(20px,3vw);
  -ms-align-items: center;
  align-items: center;
}
.acv-post-item .post-date p{
  font-family: var(--fnt-spmc);
  color: var(--clr-gry);
  font-size: min(14px,3.4vw);
}
.acv-post-item .post-title{
  line-height: calc(30/16);
  overflow: hidden; 
  text-overflow: ellipsis; 
  white-space: nowrap;     
}
.acv-post-item::after{
  content: "";
  width: .8em;
  aspect-ratio:1;
  border-radius: 100vmax;
  background: var(--gra-blk);
  position: absolute;
  right: min(20px,3vw);
  top: 50%;
  translate:0 -50%;
  scale:1;
  rotate:0deg;
  transition:scale var(--transit),rotate var(--transit);
}
@media(hover){
  .acv-post-item:hover::after{
    scale:1.25;
    rotate:90deg;
  }
}

/*footer
=====================================*/
footer {
  background: var(--clr-blk);
  background-image: url("images/wall/noise.png");
  background-size: min(1440px, 100vw);
  background-repeat: repeat;
  background-position: center;
  color: #fff;
  padding-bottom: min(40px,5vw);
}
.box-footer_inquiry{
  display: grid;
  grid-template-columns: auto 1fr;
  padding-top: min(120px,10vw);
  padding-bottom: min(80px,10vw);
  border-bottom: 1px solid currentColor;
}
.foot-about_area .site-title .sub{
  font-size: min(14px,3.2vw);
}
.foot-about_area .site-title .main{
  font-size: min(24px,6vw);
  font-family: var(--fnt-spmc);
  margin-top: 5px;
}
.foot-about_area .address{
  margin-top: min(50px,6vw);
}
.foot-about_area .address p span{
  display: inline-block;
}
.foot-title-area .lead-text{
  margin-top: min(15px,2.5vw);
}

.foot-dial-area{
  margin-left: auto;
  padding-top: 1em;
}
.foot-dial-area .dial{
  display: grid;
  font-family: var(--fnt-spmc);
  font-size: clamp(1.125rem, 0.155rem + 4.138vw, 3rem);/*24-62*/
  grid-template-columns: .8em auto;
  -ms-align-items: baseline;
  align-items: baseline;
  gap:.25em;
  white-space: nowrap;
}
.foot-dial-area .dial .icn svg{
  fill:#fff;
}
.foot-dial-area .txt{
  text-align: right;
  margin-top: 10px;
}
.box-footer_nav{
  padding-top: min(80px,10vw);
  display: grid;
  grid-template-columns: auto auto;
  gap:min(50px,5vw);
  -ms-align-items: flex-start;
  align-items: flex-start;
}
.foot-link_area{
  display: grid;
  grid-template-columns: 1fr auto;
  -ms-align-items: center;
  align-items: center;
  justify-content: flex-end;
  gap:min(20px,3vw) min(40px,5vw);
}
.foot-nav{
  justify-content: flex-end;
  gap:1em;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}
footer p.copy {
  padding-top: min(20px,3vw);
  text-align: right;
  color: var(--clr-right-gry);
  font-size: min(16px,3.2vw);
}
.grecaptcha-badge { visibility: hidden; }
