@charset "UTF-8";

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}
@media screen and (min-width:769px){
  /* PC 769px以上 */
  html{
    font-size: 16px;
  }
}
@media screen and (max-width:768px){
  /* タブレット 768px以下 */
  html{
    font-size: 2vw;
  }
}
@media screen and  (max-width:480px){
  /* スマートフォン 480px以下 */
  html{
    font-size: 14px;
  }
}

html,
body {
    margin: 0;
    padding: 0;
}

body {
    font-family: YakuHanJP_Narrow, 'M PLUS Rounded 1c',"Yu Gothic Medium", "Yu Gothic", YuGothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: 1rem;
    font-weight: 500;
    color: #000;
    line-height: 1.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-wrap: break-word;
}


article,
aside,
footer,
header,
nav,
section,
main {
    display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.2;
    font-weight: normal;
}

h1,
h2,
h3,
h4,
h5,
h6,
a,
p,
span,
em,
small,
strong,
sub,
sup,
mark,
del,
ins,
strike,
abbr,
dfn,
blockquote,
q,
cite,
code,
pre,
ol,
ul,
li,
dl,
dt,
dd,
div,
section,
article,
main,
aside,
nav,
header,
hgroup,
footer,
img,
figure,
figcaption,
address,
time,
audio,
video,
canvas,
iframe,
details,
summary,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
    margin: 0;
    padding: 0;
    border: 0;
}

a,
a::after,
a::before {
    color: inherit;
    outline: none;
    text-decoration: none;
    position: relative;
    display: inline-block;
    transition: all .3s;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    -moz-transition: all .3s
}

img {
    max-width: 100%;
    height: auto;
    border: none;
    vertical-align: top;
}

video {
    max-width: 100%;
    height: auto;
}

code,
kbd,
pre,
samp {
    font-family: monospace, sans-serif;
    font-size: inherit;
}

ul,
ol {
    list-style: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}

th,
td {
    text-align: left;
    vertical-align: top;
}


blockquote,
q {
    quotes: none;
}

blockquote::after,
blockquote::before,
q::after,
q::before {
    content: "";
    content: none;
}

address {
    font-style: normal;
}

input,
textarea,
select {
    max-width: 100%;
}

/*-----------------------
/*clearfix
---------------------------------*/
/* For modern browsers */
.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

/* For IE 6/7 only */
.cf {
    *zoom: 1;
}
a:hover{
	opacity: .7
}
.sp{
display: none}
/*-----------------------
/*MV
---------------------------------*/
.mv{
	background: url(../images/bg-01.jpg)no-repeat;
	background-size: 100%;
	position: relative;
	text-align: center;
}
.mv-top{
	position: relative
}
.mv-txt{
	width: min(1184px,70%);
	margin: 0 auto
}
.mv .inner{
	width: min(1680px,100%);
	position: absolute;
	top: 0;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.mv-img1{
	position: absolute;
	left: 0;
	width: min(408px,24%);
}
.mv-img2{
	position: absolute;
	right: 0;
	top: 0;
	width: min(603px,35.89%);
}
.cta-btn{
	width: min(636px,37.8%);
	position: absolute;
	bottom: 2vw;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.mv-bottom{
	background: #eb2479;
	position: relative;
	padding-bottom: 1px;
	    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.22);
}
.mv-bottom .inner{
	width: min(1680px,100%);
	position: absolute;
	top: 0;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.img-01{
	text-align: center;
	width: min(846px,65.35%);
	margin: 0 auto
}
.mv-bottom .ill-img1{
	position: absolute;
	left: 5%;
	top: -60px;
	width: min(200px,11.9%);
}
.mySwiper{
	margin-top: -4vw;
	margin-bottom: 2vw
}
.mv .swiper {
  width: 100%;
  padding: 20px 0;
}

.mv .swiper-slide {
  width: auto; /* スライドの幅を画像に合わせる */
  display: flex;
  justify-content: center;
  align-items: center;
}

.swiper-slide._01,
.swiper-slide._03,
.swiper-slide._05,
.swiper-slide._07,
.swiper-slide._09,
.swiper-slide._11,
.swiper-slide._13{
  margin-top: 30px;
}
.mv .swiper-slide img {
  border-radius: 10px;
  display: block;
  max-height: 200px; /* 高さを揃える場合 */
}
.mv .swiper-wrapper {
  transition-timing-function: linear !important;
}
/*-----------------------
/*benefit
---------------------------------*/
.benefit{
	background: #fff5e9;
	padding-top: 80px;
	text-align: center;
}
.benefit .inner{
	width: min(1280px,100%);
	margin: 0 auto;
	padding-bottom: 250px;
}
.img-02{
	width: min(890px,69.531%);
	margin: 0 auto 40px;
}
.img-03{
	width: min(1000px,78.125%);
	margin: 0 auto;
	    position: relative;
    z-index: 2;
}
/*-----------------------
/*structure
---------------------------------*/
.structure{
	    background: url(../images/bg-circle.png),#ffe1ee;
	background-position: bottom center;
	background-repeat: no-repeat;
    position: relative;
    padding: 0 16px 0;
    margin-top: -190px;
    z-index: 1;
}
.structure:after{
	content: '';
    clip-path: ellipse(55% 100% at 50% 100%);

    background: #ffe1ee;
    position: absolute;
    top: -130px;
    z-index: 3;
    height: 130px;
    left: 0;
    width: 100%;
}
.structure .inner{
	width: min(1390px,100%);
	margin: 0 auto
}
.img-04{
	width: min(1017px,73.1654%);
	margin: 0 auto
}
 .readtxt{
	line-height: 1.83;
	text-align: center;
	font-size: clamp(14px, 11.126px + 0.766vw, 24px);
	font-weight: 500
}
.structure .readtxt{
	margin-bottom: 54px
}
.readtxt strong{
	color: #eb2479
}
.img-05{
	width: 90%;
	margin: 0 auto
}
/*-----------------------
/*case-section
---------------------------------*/
.case-section{
	background: #fff0f6;
	padding: 120px 0 100px
}
.img-27{
	text-align: center;
	 width: min(793px, 75%);
    margin: 0 auto;
}

.outer-swiper >.swiper-wrapper{
	padding: 30px 0 70px
}

.case-card {
  background: #e91e63;
  border-radius: 10px;
display: flex;
	column-gap: 48px;
	padding: 75px 60px;
	    border: 10px solid #fff;
    box-shadow: 0 0 11px 8px #e91d6326;
}
.case-card__left{
	flex: 0 0 50%; /* 左のテキスト部分は40%固定 */
}
.case-card__right{
flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
	    text-align: center;
}
.case-card__right .swiper-wrapper{
	height: auto
}
.inner-thumbs {
  margin-top: 10px;
	 flex-shrink: 0; /* 縮まない */
}
.inner-thumbs img {
  border-radius: 4px;
  cursor: pointer;
}
.outer-swiper .swiper-slide {
  width: 80%; /* カードの横幅を親幅の80%に */
  max-width: 1280px; /* 必要なら上限も */
  box-sizing: border-box;
}
.inner-swiper .swiper-slide img{
	aspect-ratio: 543 / 426;
    object-fit: cover;
}
.inner-swiper .inner-thumbs .swiper-slide img{
	aspect-ratio: 1 / 1;
    object-fit: cover;
	border-radius: 0
}
.inner-thumbs .swiper-slide{
	width: 100px;
}
.case-card .label{
	background: #fff;
	color: #eb2479;
	    font-size: clamp(14px, 11.126px + 0.766vw, 24px);
	font-weight: 600;
	border-radius: 0 3em 3em 0;
	position: absolute;
	top: 75px;
	left: 0;
	padding: 0 20px 0 10px
}
.case-card .ttlwrap{
	padding-left: 60px;
	color: #fff;
	margin-bottom: clamp(1rem, 0.677rem + 1.379vw, 2.125rem);
}
.case-card .ttl{
	    font-size: clamp(1rem, 0.677rem + 1.379vw, 2.125rem);
	font-weight: 700;
	margin-bottom: 10px
}
.case-card .client{
	font-size: clamp(14px, 11.126px + 0.766vw, 24px);
}
.case-card .emblemarea{
	display: flex;
	justify-content: center;
	margin-bottom: 20px;
	gap:10px
}
.case-card .emblemarea .parts{
	width: min(280px,48%);
}
.case-card .txtarea{
	border-top: 1px dotted #fff;
	border-bottom: 1px dotted #fff;
	padding: 1em 0;
	font-size: clamp(14px, 12.592px + 0.376vw, 18px);
	color: #fff;
	font-weight: 600
}
.case-card .txtarea a{
	padding: 5px 30px 5px 10px;
    border: 1px solid #fff;
    position: relative;
}
.case-card .txtarea a:after{
	content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0;
  margin: auto;
}
.inner-swiper .swiper-wrapper.inner-swiper-person img{
	border: 5px solid #fff;
	border-radius: 5px
}
.inner-swiper .swiper-button-next, .inner-swiper .swiper-button-prev{
	color: #e91d63;
	    border-radius: 50%;
	width: 20px;
	height: 20px;
	background: #fff
}
.inner-swiper .swiper-button-next:after, .inner-swiper .swiper-button-prev:after{
	font-size: 11px;
	font-weight: bold
}
.swiper-buttonwrap >.swiper-button-next, .swiper-buttonwrap > .swiper-button-prev{
	color: #fff;
	    border-radius: 50%;
	width: 86px;
	height: 86px;
	background: #e91d63;
	border: 5px solid #fff;
}
.outer-swiper > .swiper-button-next:after, .outer-swiper >.swiper-button-prev:after{
	font-size: 30px;
	font-weight: bold
}
.outer-swiper .outer-prev {
  left: -48px;

}
.outer-swiper .outer-next {
  right: -48px;

}
.swiper-buttonwrap {
   width: 80%;
    max-width: 1280px;
    margin: 0 auto;
    position: absolute;
    top: calc(50% - 43px);
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 9;
}
.outer-swiper .swiper-pagination-bullet {
    width: 16px;
    height: 16px;
	border: 1px solid #eb2479;
    background: #fff;
    opacity: 1;
}
.outer-swiper .swiper-pagination-bullet-active{
	background: #eb2479
}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{
margin: 0 10px}
.case-card__right .swiper-button-next,
.case-card__right .swiper-button-prev{
	top: 42%
}
.thumbs-area {
  position: relative;
  margin-top: 10px;
}

.inner-thumbs {
  overflow: hidden;
}

.inner-thumbs .swiper-slide {
  width: 100px;
  height: auto;
  flex-shrink: 0;
}

.inner-thumbs-prev,
.inner-thumbs-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background: #fff;
  color: #e91e63;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  z-index: 5;
  cursor: pointer;
}

.inner-thumbs-prev::after,
.inner-thumbs-next::after {
  font-size: 14px;
}

.case-card__right .inner-thumbs-prev {
  left: 0;
	top: 73%;
}

.case-card__right .inner-thumbs-next {
  right: 0;
	top: 73%;
}
.point-list{
	margin-bottom: 10px
}
.point-list li{
	padding-left: clamp(20px, 17.183px + 0.751vw, 28px);
	position: relative;
	color: #fff;
	font-size: clamp(16px, 14.592px + 0.376vw, 20px);
	font-weight: 600;
	margin-bottom: 5px;
}
.point-list li:before{
	content: '';
	background: url(../images/ico-check.png)no-repeat;
	width:  clamp(16px, 14.592px + 0.376vw, 20px);
	height:  clamp(16px, 14.592px + 0.376vw, 20px);
	position: absolute;
	top: 9px;
	left: 0;
	background-size: cover;
}

.outer-swiper .swiper-slide {
    height: auto;
}

.outer-swiper .case-card {
    height: 100%;
}
.case-section > .ttlwrap{
	position: relative;
    width: 80%;
    max-width: 1280px;
    margin: 0 auto 60px;
}
.case-ill-img2{
	position: absolute;
    bottom: -94px;
    right: 0;
    width: 20%;
}
/*-----------------------
/*quiz
---------------------------------*/
.quizsection{
	background: #fff5e9;
	padding: 80px 16px;
	background-size: 100%;
}
.quizsection .inner{
	width: min(1030px,100%);
	margin: 0 auto;
}
.img-06{
	width: min(1000px,75%);
	margin: 0 auto;
}
.quiz-total{
	font-size: clamp(18px, 13.402px + 1.226vw, 34px);
}
.quiz {
  box-shadow: 0 0 10px 4px rgb(0 0 0 / 10%);
  border-radius: 30px;
  margin: 20px 0;
  background: #fff;
	position: relative
}
.numicon{
	width: 110px;
	height: 110px;
	background: #eb2479;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: -20px;
	left: -20px;
	border-radius: 50%;
	letter-spacing: 0.12em;
	font-size: clamp(0.875rem, 0.624rem + 1.073vw, 1.75rem);
	font-weight: 700
}

.quiz__question {
  font-weight: bold;
  margin-bottom: 12px;
	text-align: center;
	font-size: clamp(14px, 11.126px + 0.766vw, 24px);
	letter-spacing: 0.1em;
	padding: 34px 5% 0;
}

.quiz__buttons {
  display: flex;
  gap: 38px;
  margin-bottom: 48px;
padding: 0 5%;
	justify-content: center
}

.quiz__btn {
  padding: 12px;
  font-size: 18px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  transition: transform 0.2s, background 0.3s;
	width: min(325px,48%);
	    box-shadow: 2px 3px 0 2px;
}
/* 正解アニメーション（ジャンプ） */
.quiz__btn.correct-anim {
  animation: jump 0.6s ease;
}
@keyframes jump {
  0%   { transform: translateY(0); }
  30%  { transform: translateY(-15px); }
  60%  { transform: translateY(0); }
  80%  { transform: translateY(-8px); }
  100% { transform: translateY(0); }
}

/* 不正解アニメーション（ブルブル） */
.quiz__btn.wrong-anim {
  animation: shake 0.4s ease;
}
@keyframes shake {
  0% { transform: translateX(0); }
  20% { transform: translateX(-6px); }
  40% { transform: translateX(6px); }
  60% { transform: translateX(-4px); }
  80% { transform: translateX(4px); }
  100% { transform: translateX(0); }
}

.quiz__btn.true {
  background: #bddff7;
	color: #4da9e8
}
.maru{
	border: 8px solid #4da9e8;
	border-radius: 50%;
	width: 42px;
	height: 42px;
	display: block;
    margin: 0 auto;
}
.batsu {
  position: relative;
  width: 42px;
  height: 42px;
  margin: 0 auto;
}

.batsu::before,
.batsu::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 42px;
  height: 8px;
  background: #e75f5f;
  transform-origin: center;
	    border-radius: 10px;
}

.batsu::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.batsu::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.quiz__btn.false {
  background: #f6c4c4;
	color: #e75f5f;
	display: flex;
}

.quiz__btn:active {
  transform: scale(0.95);
}

.quiz__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.6s ease, opacity 0.6s ease;
  opacity: 0;
	padding: 0 5%;
	border-radius: 0 0 30px 30px;
	position: relative
}
.quiz__answer .inner{
	padding: 24px 0
}

.quiz__answer.open {
  max-height: 500px; /* 中身の高さに合わせて十分大きめ */
  opacity: 1;
}
.quiz__answer.true{
	background: #dcf1ff;
}
.quiz__answer.false{
	background: #ffe6e6
}

.quiz__result {
  font-weight: bold;
  margin-bottom: 8px;
  color: #333;
text-align: center;
	position: relative;
} 
.quiz__result:before,
.quiz__result:after {
  position: relative;
  display: inline-block;
  content: "";
  background: #000;
  width: 2px;
  height: 1.2em;
  margin: 0 0.8em;
  margin-top: -.2em;
  vertical-align: middle;
}
 
.quiz__result:before {
  transform: rotate(-35deg);
}
 
.quiz__result:after {
  transform: rotate(35deg);
}

.quiz__result.correct {
  color: #1078bf;
}
.quiz__result.wrong {
  color: #e63946;
}
.quiz__text{
	display: flex;
	align-items: center;
	column-gap: 5%;
	
}
.quiz__text .txt{
	font-size: clamp(0.875rem, 0.695rem + 0.766vw, 1.5rem);
	flex: 1;
	font-weight: 700
}
.quiz__text .txt strong{
	background: #000;
	color: #fff;
	border-radius: 5px;
	padding: 0px 16px;
	margin-bottom: 8px;
	display: inline-block
}
.false .quiz__text .txt{
	color: #d91d1d
}
/*
.false .quiz__text .txt strong{
	background: #d91d1d;
	color: #fff
}
*/
.true .quiz__text .txt{
	color: #0b7fce
}
/*
.true .quiz__text .txt strong{
	background: #0b7fce;
	color: #fff
}
*/
.quiz__icon {
  flex: 0 1 clamp(150px, 20%, 235px);
}
.quiz.quiz--answered .quiz__btn[data-answer="false"] {
  background: #ddd !important;
  color: #666;
  opacity: 0.8;
}
.quiz.quiz--answered .quiz__btn[data-answer="false"] .maru{
	border: 5px solid #979797;
}
.quiz.quiz--answered .quiz__btn[data-answer="false"] .batsu::before, .quiz.quiz--answered .quiz__btn[data-answer="false"] .batsu::after{
	    background: #979797;
}
.ill-2 {
    position: absolute;
    top: -180px;
    right: 0;
	width: min(180px, 17%)
}
/*-----------------------
/*future
---------------------------------*/
.future{
	background: #eb2479;
	padding: 90px 16px 130px;
	position: relative;
}
.future-img2-wrap{
	position: relative;
	width: min(1680px,100%);
	margin: 0 auto;
}
.future .inner{
	position: relative;
	width: min(1180px,100%);
	margin: 0 auto;
}
.future-img2{
	position: absolute;
	top: -230px;
	    right: -16px;
	width: min(400px,40%);
}
.img-09{
	position: absolute;
	top: -150px;
	left: 0;
	width: min(297px,23.2%);
}
.img-10{
	width: min(900px,70.21%);
	margin: 20px auto 0;
}
.futurelist li:not(:first-child){
	margin-top: -5vw
}
.futurelist li:first-child{
	margin-bottom: 60px
}
/*-----------------------
/*point
---------------------------------*/
.point{
	position: relative;
	background: linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(255, 225, 238, 1) 100%);
	padding-bottom: 150px
}
.point:before {
    content: '';
    clip-path: ellipse(55% 100% at 50% 100%);
    background: #ffe1ee;
    position: absolute;
    top: -130px;
    z-index: 3;
    height: 130px;
    left: 0;
    width: 100%;
}
.point .inner{
	position: relative;
	width: min(1180px,100%);
	margin: 0 auto;
}
.img-14{
	width: min(1120px,87.5%);
	margin: 0 auto 80px;
}
.pointlist{
	display: flex;
	flex-wrap: wrap;
	gap: 40px
}
.pointlist li{
	    width: calc(100% / 2 - 20px);
}
.pointlist li img{
	width: 100%;
	height: auto;
}
/*-----------------------
/*step
---------------------------------*/
.step{
	padding-bottom: 80px
}
.step .inner{
	position: relative;
	width: min(1080px,100%);
	margin: 0 auto;
}
.img-19{
	width: 80%;
	margin: 0 auto 30px;
}
.step .readtxt{
	margin-bottom: 70px
}
.stepbox{
	background: #ffe1ee;
	padding: 45px 0;
	border-radius: 30px;
	display: flex;
	flex-wrap: wrap;
	column-gap: 4%;
	align-items: center;
	position: relative;
	margin-bottom: 45px
}
.stepbox:not(:last-child):after{
	content: '';
	background: url(../images/icon-arrow-next.png)no-repeat;
	background-size: cover;
	width: 50px;
	height: 50px;
	position: absolute;
	bottom: -23px;
	left: 50%;
	transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.stepbox .ttlwrap{
	font-size: clamp(1rem, 0.677rem + 1.379vw, 2.125rem);
	font-weight: 700;
	margin-bottom: 10px;
	letter-spacing: .012em;
	display: flex;
	align-items: center;
	column-gap: .5em
}
.stepbox .ttlwrap .num{
	color: #eb2479
}
.stepbox .txtarea p{
	font-size: clamp(1rem, 0.856rem + 0.613vw, 1.5rem);
}
.stepbox .img {
    flex: 0 1 clamp(150px, 24%, 266px);
}
.stepbox .txtarea{
	    flex: 1;
	padding-right: 5%
}
/*-----------------------
/*faq
---------------------------------*/
.faq{
	padding: 0 16px 150px
}
.faq .inner{
	position: relative;
	width: min(1080px,100%);
	margin: 0 auto;
}
.img-25{
	width: min(485px,37%);
	margin: 0 auto 50px;
}
.faqlist{
	border-top: 4px dotted #ffe1ee
}
.faqlist dt,.faqlist dd{
	padding-left: clamp(1.875rem, 0.977rem + 3.831vw, 5rem);
	position: relative;
	font-size: clamp(1rem, 0.856rem + 0.613vw, 1.5rem);
}
.faqlist dt{
	color: #eb2479;
	margin-bottom: clamp(0.625rem, 0.086rem + 2.299vw, 2.5rem);
	font-weight: 700
}
.faqlist dt:before{
	content: '';
	background: url(../images/icon-q.png)no-repeat;
	background-size: cover;
	width: clamp(1.25rem, 0.532rem + 3.065vw, 3.75rem);
	height: clamp(1.25rem, 0.532rem + 3.065vw, 3.75rem);
	position: absolute;
	top: clamp(0rem, 0.180rem + -0.766vw, -0.625rem);;
	left: 0;
}
.faqlist dd:before{
	content: '';
	background: url(../images/icon-a.png)no-repeat;
	background-size: cover;
	width: clamp(1.25rem, 0.532rem + 3.065vw, 3.75rem);
	height: clamp(1.25rem, 0.532rem + 3.065vw, 3.75rem);
	position: absolute;
	top: clamp(0rem, 0.180rem + -0.766vw, -0.625rem);;
	left: 0;
}
.faqlist dl{
	padding: clamp(1rem, 0.749rem + 1.073vw, 1.875rem) 0;
	border-bottom: 4px dotted #ffe1ee
}
/*-----------------------
/*contact
---------------------------------*/
.contact{
	background:#eb2479;
	padding: 150px 16px;
}
.contact .inner{
	width: min(1280px,100%);
	margin: 0 auto;
}
.img-26{
	width: min(472px,30.875%);
	margin: 0 auto 70px;
}
.banner{
	width: min(890px,69.53%);
	margin: 0 auto 50px;
}
.formarea{
	border-top: 4px dotted #ffe1ee;
	margin-top: 40px;
	padding-top: 50px
}
.form{
	background: #fff0f6;
	width: min(1280px, 100%);
	margin: 0 auto;
	border-radius: 100px;
	padding: 90px 5%
}
.formTable {
    width: min(950px, 90%);
    margin: 0 auto;
	border-spacing: 0 20px;
	border-collapse: separate;
}
.formTable th,
.formTable td{
	font-size: clamp(16px, 13.701px + 0.413vw, 24px);
}
.formTable th{
	text-align: right;
	padding-right: 40px;
	font-weight: 400;
	vertical-align: middle;
	width: 350px
}
.formTable input[type=text] , .formTable textarea{
	width: 100%;
	    padding: 1em;
    border: 1px solid #f2d1df;
    border-radius: 3px;
	font-size: clamp(16px, 13.701px + 0.613vw, 24px);
}
.required{
	background: #eb2479;
	color: #fff;
	font-size: 14px;
	padding: 2px 6px;
	line-height: 1;
	border-radius: 3em;
	margin-left: 1em
}
input[type=submit],
input[type=reset],
input[type=button]{
	font-size: clamp(16px, 13.701px + 0.613vw, 24px);
	color: #fff;
	font-weight: 700;
	border: none;
	padding: 1em 3em
}
input[type=submit]{
	background: #fa4f02
}
input[type=reset],input[type=button]{
	background: #838383
}

.c-checkbox,
[type=checkbox] {
    display: none
}

.c-checkbox + span,
[type=checkbox] + span {
    cursor: pointer;
    display: inline-block;
    margin: 0;
    padding: 0 1em 0 1.4em;
    position: relative
}

.c-checkbox + span::before,
[type=checkbox] + span::before {
    -webkit-transform: translateY(-50%);
    background: #fff;
    border: 1px solid #f2d1df;
    border-radius: 2px;
    content: "";
    display: block;
    height: 1em;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1em
}

.c-checkbox + span::after,
[type=checkbox] + span::after {
    -webkit-transform: translateY(-50%) rotate(-45deg);
    border-bottom: 3px solid #eb2479;
    border-left: 3px solid #eb2479;
    content: "";
    display: block;
    height: .6em;
    left: 0;
    margin-top: -.2em;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
    transition: all .3s ease 0s;
    width: 1em
}

.c-checkbox:checked + span::before,
:checked[type=checkbox] + span::before {
    border: 1px solid #f2d1df
}

.c-checkbox:checked + span::after,
:checked[type=checkbox] + span::after {
    opacity: 1
}
/*footer*/
footer{
	background: #fef0f6;
	padding: 90px 16px;
}
.footerlogo{
	text-align: center;
	margin-bottom: 30px
}
footer .copy{
	text-align: center;
	color: #eb2479;
	margin-bottom: 30px
}
footer .info{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center
}
small{
	padding: 24px;
	text-align: center;
	font-size: 12px;
	    display: block;
}
.btn-wrap {
    display: flex;
    justify-content: center;
    gap: 10px;
}
@media only screen and (max-width:950px) {
	.case-card{
		display: block
	}
	.case-card__left{
		margin-bottom: 30px
	}
}
@media only screen and (max-width:767px) {
	body{
		overflow-x: hidden
	}
	.sp{
display: block}
	.pc{
display: none}
	.mv-sp{
		position: relative;
	}
	.cta-btn{
		width: 85%;
    bottom: 6vw;
	}
	.img-01,.img-03,.img-04,.img-10{
		width: 100%
	}
	.mv-bottom .ill-img1{
		display: none
	}
	.swiper-slide img{
		max-height: 130px
	}
	.benefit{
		padding-top: 40px
	}
	.img-02 {
    width: min(340px, 89.531%);
    margin: 0 auto 20px;
}
	.structure:after{
		    top: -50px;
    z-index: 3;
    height: 50px;
	}
	.structure{
		margin-top: -190px;
		padding-bottom: 40px
	}
	.benefit .inner{
		    padding-bottom: 210px;
	}
	.readtxt{
		text-align: left;

	}
	.structure .readtxt{
		margin-bottom: 30px
	}
	.mySwiper{
		margin-top: -8vw;
	}
	.quizsection{
		    padding: 40px 16px;
	}
	.img-06{
		width: 90%;
		margin-bottom: 20px
	}
	.quizsection .readtxt{
		text-align: center
	}
	.numicon{
		width: 50px;
    height: 50px;
		top: -20px;
    left: 0px;
	}
	.quiz__question {
    text-align: left;
    padding: 34px 5% 0;
}
	.quiz__buttons{
		gap:10px;
		margin-bottom: 28px
	}
	.maru {
    border: 5px solid #4da9e8;
    width: 22px;
    height: 22px;
}
	.batsu::before, .batsu::after{
		    width: 28px;
    height: 5px;
	}
	.img-09 {
    top: -80px;
    width: min(297px, 35.2%);
}
	.future-img2 {
    top: -160px;
    width: min(523px, 60.1%);
}
	.future{
		padding: 90px 16px 90px;
	}
	.point:before{
		    top: -50px;
    height: 50px;
	}
	.img-14{
		    margin: 0 auto 30px;
	}
	.pointlist {
    gap: 20px;
    padding: 0 16px;
		margin-bottom: 40px
}
	.pointlist li {
    width: 80%;
    margin: 0 auto;
}
	.point{
		padding-bottom: 40px
	}
	.step .inner{
		padding: 0 16px;
	}
	.img-19{
		width: 100%
	}
	.step .readtxt {
    margin-bottom: 20px;
}
	.stepbox{
		flex-direction: column;
		    width: 80%;
    margin: 0 auto 25px;
	}
	.stepbox .img {
    flex: auto;
    width: 70%;
    margin: 0 auto 10px 0;
}
	.stepbox .txtarea {
    padding: 0 5%;
}
	.img-25 {
    width: min(485px, 50%);
    margin: 0 auto 30px;
}
	.faqlist dt{
		font-size: 16px
	}
	.faqlist dd{
		font-size: 14px
	}
	.faq {
    padding: 0 16px 40px;
}
	.contact {
    padding: 60px 16px;
}
	.img-26 {
    width: min(472px, 45.875%);
    margin: 0 auto 30px;
}
	.banner {
    width: 100%;
		margin: 0 auto 30px;}
	.formarea {
    border-top: 4px dotted #ffe1ee;
    margin-top: 20px;
    padding-top: 30px;
}
	.form {
    border-radius: 30px;
    padding: 30px 16px;
}
.formTable {
	width: 100%;
	}
	.formTable th, .formTable td{
		display: block;
		width: 100%
	}
	.formTable th{
		text-align: left;
		padding-right: 0;
		margin-bottom: 8px
	}
	.required{
		font-size: 12px
	}
	.btn-wrap input{
		width: 100%;
		margin-bottom: 8px
	}
	.footerlogo{
		width: 100px;
		margin: 0 auto 30px;
	}
	footer .info{
		font-size: 12px;
		display: block
	}
	footer{
		    padding: 60px 16px;
	}
	.futurelist li:first-child{
		margin-top: 40px
	}
	.futurelist li:not(:first-child){
		margin-top: 30px
	}
	.btn-wrap {
    display: block;
}
	.ill-2 {
		display: none
}
	.case-section{
		padding: 0 0 20px;
	}
	.case-card{
		padding: 35px 5% 20px;
		    border: 5px solid #fff;
	}
	.case-card .label{
		    top: -9px;
	}
	.case-card .ttlwrap {
		padding-left: 0;
	        margin-left: 0;
		margin-bottom: 10px
	}
	.case-card .ttl{
		font-size: 18px;
		margin-bottom: 5px
	}
	.case-card .txtarea{
		font-size: 13px
	}
	.swiper-buttonwrap >.swiper-button-next, .swiper-buttonwrap > .swiper-button-prev{
		width: 40px;
		height: 40px;
		border: 4px solid #fff
	}
	.swiper-button-next:after, .swiper-button-prev:after{
		font-size: 16px
	}
	.inner-swiper .swiper-wrapper.inner-swiper-person img{
		max-height: 100%
	}
	.outer-swiper > .swiper-wrapper >.swiper-slide{
		width: 90%
	}
	.outer-swiper .outer-next {
    right: -40px;
}
	.outer-swiper .outer-prev {
    left: -40px;
}
	.img-27{
		margin-bottom: 0;
		    width: min(793px, 90%);
	}
	.case-section > .ttlwrap{
		    margin: 0 auto 30px;
	}
	
	.case-ill-img2 {
    bottom: -60px;
    right: -30px;
    width: 30%;
}
	.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction{
		bottom: -5px
	}
	.outer-swiper .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
}
	.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 6px;
}
	.futurelist li:first-child{
		margin-bottom: 0
	}
}
.swiper-pagination.outer-pagination.swiper-pagination-fraction.swiper-pagination-horizontal {
    color: #e91e64;
    font-size: 20px;
    font-weight: 700;
}
