@charset "utf-8";
*, *::before, *::after {
  box-sizing: border-box;
  user-select: none;
}

html, body, h1, h2, h3, h4, h5, h6, p,
ul, ol, li, figure, blockquote, dl, dd {
  margin: 0;
  padding: 0;
}

ul, ol {
  list-style: none;
}

input, button, textarea, select {
  font: inherit;
  color: inherit;
  border: none;
  background: none;
}

table {
  border-collapse: collapse;
}

table th{
  vertical-align:top;
}


img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}


a{
	text-decoration:underline;
	color:#ff0000;
}

a {
    -webkit-tap-highlight-color:transparent;
}

a:hover{
	color: #fff;
}

.clearfix:after {
	content: ".";
	display: block;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0; 
	clear: both;
	visibility: hidden; 
	overflow: hidden;
}

a img {
    border-style:none;
}

html {
    -webkit-text-size-adjust: 100%;
}



body {
	min-height: 100vh;
    margin:0;
	width:100%; 
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: clamp(14px, 3.5vw, 18px); 
	line-height: 1.6;
	-webkit-text-size-adjust: 100%; 
	background: #171223;
	color: #fff;
}


.center{
	text-align:center;
	margin:0 auto;
}

.right{
	text-align:right;
}

img{
	height: auto;
	max-width: 100%;
	vertical-align: bottom;
}


.clearfix:after {
	content: ".";
	display: block;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0; 
	clear: both;
	visibility: hidden; 
}

#main{
	margin: 0 auto;
	overflow:hidden;
	max-width: 768px;
}

.action-hero{
  width: 100%;
  padding: 2%;
}

.action-hero__wrap{
  position: relative;
  max-width: 768px;
  margin: 0 auto;
}

.action-hero__base{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 18px;
  border: 2px solid #5d5a65;
  background-image: linear-gradient(90deg, #382749, #06070f);
}

.action-hero__layer{
  position: absolute;
  inset: 0;
  padding: 3% 5% 8%;
}

.action-hero__label{
  display: inline-block;
  padding: 2%;
  border-radius: 999px;
  background: #151428;
  border: 2px solid #5d5a65;
  font-weight: 800;
  font-size: clamp(12px, 3.8vw, 30px);
  margin-bottom: 45%;
  width: 100%;
  text-align: center;
}

.action-hero__copy-main{
  font-weight: 900;
  font-size: clamp(21px, 4.2vw, 46px);
  line-height: 1.35;
  margin-bottom: 4%;
  text-shadow: 0 2px 10px rgba(0,0,0,0.8);
}

.action-hero__copy-sub{
  font-weight: 700;
  font-size: clamp(14px, 3.8vw, 26px);
  line-height: 1.4;
  margin-bottom: 8%;
  text-shadow: 0 2px 10px rgba(0,0,0,0.8);
}

.action-hero__ctaSet{
  position: absolute;
  left: 50%;
  top: 74%;
  transform: translateX(-50%);
  width: 92%;
  text-align: center;
}

.action-hero__ctaTop{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 92%;
  padding: 2.2% 0;
  background: #151428;
  border: 2px solid #5d5a65;
  border-radius: 999px;
  font-weight: 900;
  font-size: clamp(13px, 3.8vw, 24px);
  letter-spacing: 0.02em;
  margin: 0 auto -3.2%;
  position: relative;
  z-index: 2;
}

.action-hero__ctaMain{
  display: block;
  width: 100%;
  padding: 5.2% 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #ff3fd8, #8f3bff);
  color: #fff;
  text-decoration: none;
  font-weight: 900;
  font-size: clamp(22px, 6.6vw, 40px);
  line-height: 1.2;
  box-shadow: 0 18px 40px rgba(0,0,0,0.45);
  position: relative;
  z-index: 1;
}

.action-hero__ctaMain:hover{
  filter: brightness(1.06);
}


.action-hero__note{
  position: absolute;
  bottom: 2%;
  text-align: center;
  font-size: clamp(12px, 3.2vw, 14px);
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}

.action-hero__ctaMain{
  animation: action-cta-heart 2.6s infinite;
  will-change: transform;
}

.action-hero__ctaMain{
  position: relative;
  overflow: hidden;
}

.action-hero__ctaMain::after{
  content:"";
  position:absolute;
  top:0;
  left:-120%;
  width:120%;
  height:100%;
  background: linear-gradient(
    120deg,
    transparent 30%,
    rgba(255,255,255,0.35) 50%,
    transparent 70%
  );
  animation: action-cta-shine 3.5s infinite;
}

@keyframes action-cta-shine{
  0%{ left:-120%; }
  55%{ left:-120%; }
  100%{ left:120%; }
}


@keyframes action-cta-heart{
  0%, 100%{
    transform: scale(1);
  }
  20%{
    transform: scale(1.06);
  }
  40%{
    transform: scale(1);
  }
}

.action-hero__ctaSet{
  animation: action-cta-rise 3.2s infinite;
  will-change: transform;
}

@keyframes action-cta-rise{
  0%, 75%, 100%{
    transform: translateX(-50%) translateY(0);
    opacity: 1;
  }
  82%{
    transform: translateX(-50%) translateY(-12%);
  }
}

.action-users{
  padding: 5% 0 12%;
  overflow: hidden;
}

.action-users__head{
  text-align: center;
  color: #fff;
  font-weight: 900;
  font-size: clamp(22px, 6.4vw, 32px);
  margin-bottom: 8%;
}

.action-users__slider{
  width: 100%;
  overflow: hidden;
}

.action-users__track{
  display: flex;
  width: max-content;
  will-change: transform;
  animation: users-scroll 22s linear infinite;
}

.action-users__item{
  flex: 0 0 auto;
  width: clamp(100px, 22vw, 180px);
  aspect-ratio: 1 / 1;
  margin-right: 1%;
  border-radius: 50%;
  overflow: hidden;
}

.action-users__item img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@keyframes users-scroll{
  0%{ transform: translateX(0); }
  100%{ transform: translateX(-50%); }
}	


.action-concept{
  width: 100%;
  padding: 0 2% 14%;
}

.action-concept__box{
  margin: 0 auto;
  padding: 8% 3% 9%;
  border-radius: 18px;
  border: 2px solid #5d5a65;
  background-image: linear-gradient(90deg, #382749, #06070f);
  color: #fff;
}


.action-concept__head{
  font-weight: 900;
  font-size: clamp(22px, 4.2vw, 38px);
  line-height: 1.45;
  margin-bottom: 6%;
  text-align: center;
}

.action-concept__text{
  font-weight: 600;
  font-size: clamp(15px, 4.2vw, 26px);
}

.action-em{
  color: #ffea00;
  font-weight: 900;
}

.action-reasons{
  width: 100%;
  color: #fff;
}

.action-reasons__inner{
  max-width: 768px;
  margin: 0 auto;
  padding: 0% 2% 14%;
}

.action-reasons__head{
  text-align: center;
  font-weight: 900;
  font-size: clamp(22px, 4.2vw, 40px);
  margin-bottom: 5%;
}

.action-reasons__lead{
  text-align: center;
  font-weight: 700;
  font-size: clamp(14px, 4.2vw, 26px);
  line-height: 1.9;
  opacity: 0.95;
  margin-bottom: 10%;
}

.action-reasons__card{
  border-radius: 18px;
  border: 2px solid #5d5a65;
  background-image: linear-gradient(90deg, #382749, #06070f);
  padding: 8% 4% 9%;
}

.action-reasons__card + .action-reasons__card{
  margin-top: 8%;
}

.action-reasons__tag{
  color: #ffea00;
  font-weight: 900;
  font-size: clamp(18px, 4.2vw, 30px);
  }

.action-reasons__title{
  color: #ffea00;
  font-weight: 900;
  font-size: clamp(18px, 4.2vw, 30px);
  line-height: 1.35;
  margin-bottom: 4%;
}

.action-reasons__text{
  font-weight: 600;
  font-size: clamp(14px, 4.2vw, 26px);
  line-height: 1.9;
  margin-bottom: 7%;
}

.action-reasons__grid{
  display: grid;
  gap: 4%;
}

.action-reasons__grid--2{
  grid-template-columns: 1fr 1fr;
}

.action-reasons__grid--1{
  grid-template-columns: 1fr;
}

.action-reasons__pic{
  margin: 0;
  overflow: hidden;
  border: 2px solid #fff;;
}

.action-reasons__pic img{
  width: 100%;
  height: auto;
  display: block;
}

.action-faq{
  width: 100%;
  color: #fff;
}

.action-faq__inner{
  max-width: 768px;
  margin: 0 auto;
  padding: 0% 2% 8%;
}

.action-faq__head{
  text-align: center;
  font-weight: 900;
  font-size: clamp(22px, 4.2vw, 38px);
  margin-bottom: 10%;
}

.action-faq__card{
  border-radius: 18px;
  border: 2px solid #5d5a65;
  background-image: linear-gradient(90deg, #382749, #06070f);
  padding: 7% 6% 8%;
}

.action-faq__card + .action-faq__card{
  margin-top: 7%;
}

.action-faq__q{
  font-weight: 900;
  font-size: clamp(16px, 4.2vw, 26px);
  margin-bottom: 4%;
}

.action-faq__a{
  font-weight: 600;
  font-size: clamp(14px, 4.2vw, 24px);
  line-height: 1.9;
}


footer{
	text-align: center;
	padding: 5%;
	font-size: 14px;
	color: #fff;
}



#popup_back01 {
position: fixed;
top: 0;
left: 0;
background: rgba(0, 0, 0, 0.8);
width: 100%;
height: 100%;
margin: 0;
padding: 0;
opacity: 0;
z-index: -1000;
/*初期状態*/
}

#popup_back01 .inner {
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
padding: 0;
width: 90%;
max-width: 600px;
}

#popup_back01 .inner dl,
#popup_back01 .inner ul,
#popup_back01 .inner div,
#popup_back01 .inner p {
margin: 0;
padding: 0;
}

#popup_back01 .inner dl.list_near dt {
position: relative;
background: #FF3399;
margin: 0;
padding: 0.3em 1em 0.3em 2.5em;
color: #fff;
border-radius: 0.5em 0.5em 0 0;
}

#popup_back01 .inner dl.list_near dt::before {
position: absolute;
left: 1em;
top: 0.5em;
font-family: "Font Awesome 5 Free";
font-weight: 900;
content: "\f004";
}

#popup_back01 .inner dl.list_near dd {
background: #fff;
margin: 0;
padding: 0;
color: #333;
border-radius: 0 0 0.5em 0.5em;
}

#popup_back01 .inner dl.list_near dd ul li {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0;
padding: 3% 1em;
font-size: 0.9em;
border-top: dashed 2px #ebe5e5;
}

#popup_back01 .inner dl.list_near dd ul li:first-child {
border-top: none;
}

#popup_back01 .inner dl.list_near dd ul li img {
max-width: 100%;
}

#popup_back01 .inner dl.list_near dd ul li .image {
width: 35%;
text-align: center;
}

#popup_back01 .inner dl.list_near dd ul li .data {
width: 60%;
}

#popup_back01 .inner dl.list_near dd ul li .data p:not(.line) {
margin-bottom: 0.3em;
}

#popup_back01 .inner dl.list_near dd ul li .status {
display: inline-block;
background: #ff0;
color: #e01a63;
font-size: 0.8em;
line-height: 1;
}

#popup_back01 .inner dl.list_near dd ul li .name,
#popup_back01 .inner dl.list_near dd ul li .distance {
position: relative;
padding-left: 1.5em;
}

#popup_back01 .inner dl.list_near dd ul li .name::before,
#popup_back01 .inner dl.list_near dd ul li .distance::before {
position: absolute;
left: 0;
top: 0;
bottom: 0;
font-family: "Font Awesome 5 Free";
font-weight: 900;
color: #e01a63;
}

#popup_back01 .inner dl.list_near dd ul li .name::before {
content: "\f007";
}

#popup_back01 .inner dl.list_near dd ul li .distance::before {
content: "\f3c5";
}

#popup_back01 .inner dl.list_near dd ul li .line {
display: inline-block;
}

#popup_back01 .inner dl.list_near dd ul li .line a {
display: flex;
flex-wrap: wrap;
align-items: center;
background: #00B900;
padding: 2px 6px;
color: #fff;
border-radius: 0.5em;
}


#popup_back01 .inner a {
display: block;
text-decoration: none;
}

#popup_back01 .inner .close {
position: absolute;
top: -0.5em;
right: -0.5em;
color: #fff;
font-size: 1em;
cursor: pointer;
z-index: 0;
}

#popup_back01 .inner .close:after {
content: '';
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: #000;
margin: auto;
width: 45%;
height: 45%;
z-index: -1;
}