@media screen and (max-width: 767px) {
/*クリックで青くなるケア*/
button,
button *,
button::before,
button::after,
button *::before,
button *::after,
a,
a *,
a::before,
a::after,
a *::before,
a *::after {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  outline: none;
  background-color: transparent;
  box-shadow: none;
  border: none;
}

  .hl h2 {
    margin: 0 auto min(12vw, 100px);
    padding: 20px 14px;
  }
  h3 {
    padding: 20px 14px 10px 14px;
  }
  .text01{line-height: 2.2;}


  .popup-card {
    width: min(40vw, 200px);
    background-color: #ffffff;
    border-radius: 20px;
    padding: 10px;
    position: fixed;
    right: 2vw;
    bottom: 3vw;
    z-index: 100;
    text-align: center;
    box-sizing: border-box;
    border: 3px solid #b0c4de; /* 外側の薄い青枠 */
    transition: all 0.3s;
    will-change: transform;
  }
  
  .popup-card:hover {
    transform: scale(1.02) translateZ(0);
    backface-visibility: hidden;
  }
  
  /* 閉じるボタン */
  .close-btn {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 22px;
    height: 22px;
    background-color: #d9d9d9;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 1000;
    pointer-events: auto;
  }
  
  .close-btn::before,
  .close-btn::after {
    content: "";
    position: absolute;
    width: 14px;
    height: 2px;
    background-color: #ffffff;
  }
  
  .close-btn::before {
    transform: rotate(45deg);
  }
  .close-btn::after {
    transform: rotate(-45deg);
  }
  
  /* ロゴエリア */
  .logo-container {
    margin-bottom: 10px;
  }
  
  .akisapo-logo {
    width: 60%;
    height: auto;
    display: block;
    margin: 0 auto;
    transform: translateX(-2px);
  }
  .text-content {
    line-height: 1.3;
}

  #sec01 {
    height: 100vw;
  }
  #sec01 h2 {
    margin: -10vw 0 0 0;
  }
  #sec01 .bg_slider img {
    height: 100vw;
  }
  .hl.v02 h2 {
    margin: 0 auto min(10vw, 70px);
  }
  .hl h2 {
    letter-spacing: 0.3rem;
    padding: 10px 20px;
  }
  .hl h2::before,
  .hl h2::after {
    width: 3px;
  }
  .marquee-container.s01::before {
    top: -2.5vw;
    height: 6vw;
    background: url(../img/bg-wave01.svg) center bottom no-repeat;
    background-size: 190%;
    z-index: 1;
  }
  .marquee-container.s01::after {
    position: absolute;
    bottom: -2.5vw;
    content: "";
    width: 100vw;
    height: 6vw;
    background: url(../img/bg-wave02.svg) center top no-repeat;
    background-size: 190%;
    z-index: 1;
  }
  #w-t {
    position: relative;
    margin: 15vw auto;
    overflow-x: clip;
  }
  #w-t .wrap{
    width: 100%;
    padding: 0;
  }
  #w-t .img {
    position: absolute;
  }
  #w-t .img.v01 {
    top: -4vw;
    right: -20vw;
    opacity: 0.2;
    width: 50vw;
  }
  #w-t .img.v02 {
    top: 20vw;
    left: -40vw;
    width: 60vw;
    transform-origin: center center; /* 中心軸 */
    animation: rotateLoop 30s linear infinite;
  }
  #w-t .img.v03 {
    left: auto;
    right: -5vw;
    bottom: 220vw;
    width: 70vw;
    opacity: 0.45;
  }
  #w-t .img.v04 {
    right: -20vw;
    bottom: -10vw;
    width: 80vw;
    transform-origin: center center; /* 中心軸 */
    animation: rotateLoop 26s linear infinite;
    animation-direction: reverse;
  }
  #w-t li {
    position: relative;
    padding: 1.2vw 0 12% 12vw;
    margin: 0;
}
  #w-t li span {
    position: absolute;
    left: 2vw;
    top: 0;
    width: 7vw;
    height: 7vw;
    background: #eeeeee;
    border-radius: 7vw;
  }
  #w-t li p {
  padding: 7vw 3vw 10vw 3vw;
  border-radius: 20px;
}
  #w-t li:nth-child(2) span {
    background: #d9d9d9;
  }
  #w-t li:nth-child(3) span {
    background: #b0c4de;
  }
  #w-t li:nth-child(4) span {
    background: #4c678d;
    overflow: visible;
    width: 6.4vw;
    height: 6.4vw;
    left: 2.2vw;
    top: 0.2vw;
  }
  #w-t li:nth-child(4) p {
    width: 95vw;
    margin: 0 0 0 -10vw;
    padding: 5vw;
}
  #w-t li .nth4 {
    position: absolute;
    width: 10vw;
    height: 10vw;
    left: 0.5vw;
    top: -1.5vw;
    background: url(../img/cl03.svg) center center no-repeat;
    background-size: contain;
    animation: rotateLoop 26s linear infinite;
  }
  
  #w-t li::after {
    content: "";
    position: absolute;
    left: calc(5.5vw - 1px);
    top: 6.5vw;
    width: 2px;
    height: 100%;
    background: linear-gradient(to bottom, #eeeeee 0%, #d9d9d9 100%);
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 0.8s ease;
  }
  #cta::before {
  left: 0;
  position: absolute;
  top: -1vw;
  content: "";
  width: 100vw;
  height: 9vw;
  background: url(../img/bg-wave03.svg) center bottom no-repeat;
  background-size: 190%;
  z-index: 1;
}
.marquee-container.s02::before {
  left: 0;
  position: absolute;
  top: -3vw;
  content: "";
  width: 100vw;
  height: 7vw;
  background: url(../img/bg-wave04.svg) center bottom no-repeat;
  background-size: 190%;
  z-index: 1;
}
.marquee-container.s02::after {
  left: 0;
  position: absolute;
  bottom: -2.8vw;
  content: "";
  width: 100vw;
  height: 7vw;
  background: url(../img/bg-wave05.svg) center top no-repeat;
  background-size: 190%;
  z-index: 1;
}
  #cta ul {padding: 0 2%;}
  #cta ul li{width: 32%;}
  #cta ul li a{border-radius: 12px;}
  .cta-btn {
    border-radius: 12px;
}
  #sec02 .text01 p{text-align: center;
    font-size: min(5vw, 28px);line-height: 1.8;}
    #jigyou .inner{padding: 7vw 5vw 5vw 5vw;}
    #jigyou .flex{flex-direction: column;}
    #jigyou .flex .card{width: 100%;}
    #jigyou .flex .card .inner{padding: 5vw;}
    #jigyou .flex .card .inner .tag{margin-bottom: 10px;}
    #jigyou .flex .card .inner .h3{font-size: min(5vw, 28px);}
    #jigyou .flex .card .inner .h4{font-size: min(5vw, 28px);}
    #jigyou .flex .card .inner .p{font-size: min(5vw, 28px);}
    #jigyou .flex .card .inner .p{font-size: min(5vw, 28px);}
  #sec04 .img01 {
    background: #e9edf1;
    height: auto;
    position: relative;w
    z-index: -1;
    margin: -30vw 0 0 0;
    padding: 30vw 0 0 0;
  }
  #sec04 .img01 .wrap {
    padding: 0;
  }
  #sec04 .img01 p {
    position: static;
    transform: translateX(0) translateY(0);
    width: 130%;
    margin: 0 0 0 -19vw;
  }
  #sec04 .text01 {
    padding: min(10vw, 80px) 0 min(10vw, 100px);
    width: 86.6%;margin: 0 auto;}
    #sec04 .box01 h4{line-height: 1.5;}
  #sec04 .box01{width: 86.6%;margin: 0 auto;}
  #sec04 .v03.second {
    margin: -300px 0 0 0;
  }
  #sec04 .text02 {
    position: static;
    width: 100%;
    padding: 0 3vw;
    top: 10%;
    left: 0;
    transform: translateX(0%) translateY(0%);
    line-height: 2;
    font-size: min(3.6vw, 16px);
  }
  #sec04 .v03.second {
    margin: -26vw 0 0 0;
  }
  #sec04 table th {
    display: block;
    width: 100%;
    padding: 10px 10px 0 10px;
    font-weight: bold;
  }
  #sec04 table td {
    display: block;
    width: 100%;
    padding: 0 10px 10px 10px;
    line-height: 1.6;
  }
  #sec04 .box01 h4{
    flex-direction: column;
  }
  #message{padding: 0 0 10vw 0;}
  #message .btn_wrap a{width: 70%;}
  #sec04 .box01 a span{gap: 0;}
  #sec04 .box01 a img{width: 50%;}
  #sec05{
    padding: 0 0 35vw 0;
  }
  #sec06 .hl h2{
    margin: -12vw auto 24vw;
  }
  #sec06 .btn_wrap{display: block;}
  #sec06 .btn_wrap input + span{display: block;}
  footer small {
    font-size: 12px;
  }

  .blog_cont ul.cont li {
    width: 100%;
    margin: 0 0 30px 0;
  }
  .blog_cont ul.cont li:nth-child(3n) {
    margin: 0 0 30px 0;
  }
  .news_cont .wrap{
    padding: 0;
  }
  .news_cont ul.cont{padding: 0 0 20px 0;}
   .news_cont ul.cont + .t_a_c{padding: 0 0 60px 0;} 
  .news_cont ul.cont li {
    flex-direction: column;
  }
  
  .news_cont ul.cont li .img {
    width: 60%;
    height: auto;
    float:none;
    margin: 0 auto;
    aspect-ratio: 1 / 1; 
  }
  .news_cont ul.cont li .box00 {
    width: 100%;
    float: none;
  }
  html {
    overflow-x: hidden;
  }
  body {
    overflow-x: hidden;
    width: 100vw;
  }
  body.open {
    width: 100%;
    　height: 100%;
    　position: fixed;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none !important;
  }

  img {
    width: 100%;
  }
  .wrap {
    width: 86.6%;
    margin: 0 auto;
    padding: 0;
  }

/*humberger*/
.hamburger-morph {
  position: fixed;
  top: 10px;
  right: 10px;
  z-index: 1000;
  width: 32px;
  height: 32px;
}


#nav-toggle {
  position: fixed;
  top: 20px;
  right: 10px;
  height: 16px;
  cursor: pointer;
  z-index: 1000;
}
.open #nav-toggle {
}
#nav-toggle > div {
  position: relative;
  width: 36px;
}
#nav-toggle span {
  width: 30px;
  height: 1px;
  display: block;
  background: #404040;
  position: absolute;
  transition: top 0.5s ease, -webkit-transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out, top 0.5s ease;
  transition: transform 0.6s ease-in-out, top 0.5s ease,
    -webkit-transform 0.6s ease-in-out;
}
#nav-toggle span:nth-child(1) {
  top: 0;
}
#nav-toggle span:nth-child(2) {
  top: 7px;
}
#nav-toggle span:nth-child(3) {
  top: 14px;
}

.open #nav-toggle span {
  width: 30px;
}
.open #nav-toggle span:nth-child(1) {
  top: 8px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.open #nav-toggle span:nth-child(2) {
  width: 0;
}
.open #nav-toggle span:nth-child(3) {
  top: 8px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#container {
  z-index: 900;
}

#gloval-nav {
  padding: 20% 0 0 12%;
  background: #d7ecf2;
  position: fixed;
  color: #000;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 990;
  display: flex;
  visibility: hidden;
  flex-direction: column;
  /*justify-content: center;*/
  /*align-items: center;*/
  opacity: 0;
  transition: opacity 0.6s ease, visibility 0.6s ease;
  width: 60vw;
}

#gloval-nav a {
  font-size: 4.5vw;
}
#gloval-nav ul {
  list-style: none;
}
#gloval-nav li.insta {
  width: 8vw;
}

/* open */
.open {
  overflow: hidden;
}
.open #gloval-nav {
  visibility: visible;
  opacity: 1;
  overflow-y: scroll;
}

#gloval-nav li {
  opacity: 1;
  padding: 6% 0;
}
.open #gloval-nav .box03 li.arrow {
  position: relative;
}
.open #gloval-nav .box03 li.arrow:before {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  right: 10px;
  top: calc(50% - 6px);
  border: 1px solid;
  border-color: #626262 #626262 transparent transparent;
  transform: rotate(45deg);
}

/* ========================================
   プライバシーポリシー（SP）
   ======================================== */
#privacy .wrap {
  padding: 10vw 4vw;
}

#privacy .wrap p {
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 1.2em;
}

#privacy .wrap h2 {
  font-size: 18px;
  margin: 2em 0 0.8em 0;
  padding-bottom: 0.4em;
}

#privacy .wrap ul {
  margin: 0.8em 0 1.2em 0;
  padding-left: 1.2em;
}

#privacy .wrap ul li {
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 0.4em;
}
}