@charset "utf-8";
* {
  box-sizing: border-box;
}
html {
	 overflow-x: hidden;
 overflow-y: scroll; -webkit-overflow-scrolling: touch;
}
img {
  max-width: 100%;
}
a {
  text-decoration: none;
  color: #000;
}
.tab {
  display: none;
}
.sp_cp {
  display: none;
}
.spcta {
  display: none;
}
#pardot-form {
  height: 100%;
}
iframe {
  overflow: hidden !important;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
iframe::-webkit-scrollbar {
  display: none;
}
.iframe-wrapper {
  width: 800%;
  height: auto;
}
#contact, #contact .inner {
  overflow: hidden !important;
}
body form.form p.col-left {
  width: auto !important;
}
body {
  background: #F5F5F5;
  overflow-y: hidden!important;
}
.mv {
  position: relative;
	border-radius: 30px 0px 30px 0px;
	background: #F5F5F5;
	margin: 60px 1% 0;
}
.mvtop{
	position: relative;
	display: flex;
	align-items: center;
	background: #00C1D2;
	border-radius: 45px 0 0 45px;
	padding: 90px 0;
	height: 780px;
	right: -1%;
}

.mvtop>p img{
	width: 100%;
}

.mv_right{
	width: 51%;
    position: absolute;
    right: -1%;
    top: 53%;
	transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	font-size: 1.5rem;
}

.mv_left {
    width: 36%;
    position: absolute;
    left: -3%;
    top: 53%;
	transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	font-size: 1.5rem;
}

.mvtoptext{
	overflow: hidden;
}

.maintext_cp{
	display: flex;
	align-items: center;
	position: absolute;
    top: 47%;
    left: -4%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	z-index: 99;
	width: 80%;
}

.maintext_cp>div{
	margin-left: 30rem;
}

.maintext_cp>div p{
	font-size: 2.9rem;
	font-weight: 800;
	color: #EEEEEE;
	margin-bottom: 1.4rem;
	border-bottom: 3px solid #EEEEEE;
    padding-bottom: 4px;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
	
}

h1{
	font-size: 7rem;
	color: #EEEEEE;
	font-weight: 900;
	line-height: 1.3;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.maintext_cp img{
	margin: 0;
	margin-left: 11%;
}

.subtext_cp {
    font-size: 3.9rem;
	background-image: radial-gradient(circle at center, #FCE86B 0%, #FCE86B 20%, transparent 25%); 
	background-position: top right; 
	background-repeat: repeat-x; 
	background-size: 1em 0.3em; 
	padding-top: .3em; 
}

.loop__box {
    display: flex;
    width: 45%;
	margin-top: 10%;
	margin-left: 46%;
	position: absolute;
	z-index: 1;
}


@keyframes loop {
    0% {
        transform: translateX(100%);
    }
    to {
        transform: translateX(-100%);
    }
}
@keyframes loop2 {
    0% {
        transform: translateX(0);
    }
    to {
        transform: translateX(-200%);
    }
}

main {
  position: relative;
}

.mvabout{
	
}
.mvabout_text{
	width: 80%;
	padding: 6% 6%;
	margin: auto;

}

.mvabout_text h2{
	
	text-align: center;
	font-size: 3.6rem;
	margin-bottom: 40px;
	font-weight: 800;
	background: linear-gradient(transparent 65%, #FCE86B 65%);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 73% 100%;
}

.mvabout_text h2 span{
	color: #00C1D2;
	margin-top: 3px;
	
}

.mvabout_text h2::before{
	content: '';
    display: inline-block;
	vertical-align: middle;
	background: url("../images/mark01.png");
	margin-right: 20px;
	width: 55px;
	height: 55px;
	background-size: 55px;
}

.mvabout_text p{
	font-size: 1.6rem;
	line-height: 1.8;
	margin-bottom: 30px;
	font-weight: 600;
}

.mvabout_text p a{
	color: #00429c;
	text-decoration: underline;
	font-weight: 700;
}

.mvabout_text_box{
	background: #C7EDEE;
	padding: 30px 0;
	box-shadow: 4px 4px 6px #E8E4E4;
	width: 80%;
    margin: 0 auto;
}

.mvabout_text_box h3{
	font-size: 2.1rem;
	color: #FFFFFF;
	background: #00C1D2;
	border-radius: 0 100px 100px 0;
	padding: 15px 30px;
	display: inline-block;
}



.mvabout_text_box ul{
	margin: 25px 50px 0 50px;
	font-size: 2rem;
	font-weight: 700;
}

.mvabout_text_box ul li{
	padding: 14px 0 14px 40px;
	position: relative;
}

.mvabout_text_box ul li::before {
  content: "";
    position: absolute;
    left: 0;
    width: 17px;
    height: 17px;
    background-color: #00C1D2;
    border-radius: 50%;
}

.mvabout_text_box ul li+li{
	border-top: 1px dashed #00C1D2;
	
}

.question{
	position: relative;
	color: #FFFFFF;
	background-color: #00C1D2;
	
}

.question:after {
  content: "";
  position: absolute;
  top: 100%;
  right: 50%;
  transform: translatex(50%);
  box-sizing: border-box;
  border-right: calc(50vw - 10px) solid transparent;
  border-left: calc(50vw - 10px) solid transparent;
  border-top: 100px solid #00C1D2;
}


.question .cp_inner h2 span{
	color: #fff100;
}

.questioninner{
	display: flex;
  align-items: flex-end;
  justify-content: flex-start; /* 左寄せに変更 */
  gap: 80px; /* ul と img の間隔を指定 */
	margin-top: 70px;
}

.questioninner img {
	width: 80%;
}

.questioninner p {
	font-weight: 700;
}

.questioninner ul{
	font-size: 2rem;
	font-weight: 900;
	text-align: left;
	width: 70%;
	color: #45494b;
}

.questioninner ul li{
	background: #FFFFFF;
	border-radius: 100px;
	padding: 12px 15px 32px 50px;
	box-shadow: 4px 4px 6px rgba(0, 0, 0, 0.2);
	
}

.questioninner ul li img{
	display: block;
    width: 1.7vw;
    position: relative;
    left: -24vw;
    top: -1.6vw;
}


.questioninner ul li+li{
	margin-top: 25px;
}

section{
	padding: 100px 0;
}

section .cp_inner{
	width: 1100px;
	margin: 0 auto;
	text-align: center;
	
}

section .cp_inner h2,.title-h2 h2 {
	font-size: 4.2rem;
	margin-top: 20px;
	font-weight: 800;
	color: #45494b;
}

.voice_cp ul li div{
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}



.point_cp{
	padding-top: 200px;
	background-color: #f5f5f5;
	background-image: radial-gradient(circle, #e8e4e4 3.5px, transparent 3.5px);
	background-position: 0 0;
	background-size: 51px 51px;
}

.point_cp h2{
	color: #00C1D2;
}

.point_cp ol>li{
	position: relative;
    padding: 5%;
	margin-top: 150px;
	font-size: 1.6rem;
	line-height: 1.8;
	list-style: none;
}

.pointleft{
	position: relative;
	z-index: 0;
	padding-left: 1em; /* テキストの位置調整 */
}

.pointleft::before {
	content: "";
	position: absolute;
	top: 0;
	right: -150px;            /* 左ではなく右基準に配置 */
	width: 100vw;        /* 右側の幅だけ */
	height: 100%;
	background-color: #FFFFFF;
	z-index: -1;
	border-radius: 0 1000px 1000px 0;
	box-shadow: 4px 4px 6px #E8E4E4;
	
}

.pointright{
	position: relative;
	z-index: 0;
	padding-right: 1em; /* テキストの位置調整 */
	
}

.pointright::before {
	content: "";
	position: absolute;
	top: 0;
	left: -150px;         /* 右端に合わせる */
	width: 100vw;       /* 画面幅の半分だけ広げる */
	height: 100%;
	background-color: #FFFFFF;
	z-index: -1;
	border-radius: 1000px 0 0 1000px;
	box-shadow: 4px 4px 6px #E8E4E4;
}

.header-row {
	display: flex;
}
.header-cell {
	flex: 1;
	padding: 12px;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	color: white;
	border-radius: 20px 0 0 0;	
}
.header-app {
	background-color: #00C1D2;
}
.header-web {
	background-color: #FCE86B;
	color: #333;
	border-radius: 0 20px 0 0;
}
.content-row {
	display: flex;
	border-bottom: none;
}
.content-row:last-child {
	border-bottom: none;
}
.section-header {
	background-color: white;
	padding: 8px 20px;
	text-align: center;
	font-weight: bold;
	color: #45494b ;
	width: calc(95% - 40px);
	max-width: 800px;
	position: absolute;
	left: 50%;
	top: 5px;
	transform: translateX(-50%);
	z-index: 1;
	margin: 5px 0;
}
.header-sns {
	margin: 15px auto;
}
.section-wrapper {
	position: relative;
	display: flex;
	padding: 0;
}
.section-wrapper-left {
	flex: 1;
	background-color: #C7EDEE;
	padding: 50px 0 20px 0;
}
.section-wrapper-right {
	flex: 1;
	background-color: #FEF8D4;
	padding: 50px 0 20px 0;
}
.section-wrapper::before,
.section-wrapper::after {
	display: none;
}
.content-cell {
	flex: 1;
	padding: 1px;
}
.content-cell.app-side {
	background-color: #C7EDEE;
}
.content-cell.web-side {
	background-color: #FEF8D4;
}
.content-cell ul {
	margin: 0;
	padding-left: 5px;
	list-style-type: disc;
}
.content-cell li {
	margin-bottom: 8px;
	line-height: 1.6;
	color: #333;
}
.sns-platforms {
	text-align: center;
	font-size: 16px;
	color: #555;
	font-weight: 600;
	margin: 10px 0;
}

.last-cell-app {
	border-radius: 0 0 0 20px;
}

.last-cell-web {
	border-radius: 0 0 20px 0;
}

.flex-02{
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
    padding: 33px 7px;
}

.title02{
    color: #fff;
    background-color: #00C1D2;
    border-radius: 50px;
    padding: 14px 0 5px 0;
    width: 170px;
    text-align: center;
    margin: 18px 10px 0 auto;
    font-size: 17px;
    font-weight: bold;
	height: 60px;
}

.title02-2{
    color: #fff;
    background-color: #00C1D2;
    border-radius: 50px;
    padding: 8px 0 5px 0;
    width: 170px;
    text-align: center;
    margin: 18px auto 0 auto;
    font-size: 17px;
    font-weight: bold; 
	line-height: 21px;
	height: 60px;
}

.illust02{
    margin: 20px auto;
    text-align: center;
}

.illust02 img {
	max-height: 120px;
}

.p02{
    font-size: 1.3rem;
    background-color: #C7EDEE;
    padding: 14px 0 17px 0px;
    margin: 10px 5px;
    height: 50px;
}

.p02-a{
    font-size: 1.3rem;
    background-color: #C7EDEE;
    padding: 8px 5px 7px 5px;
    margin: 10px 5px;
    height: 50px;
	line-height: 17px;
}

.logo{
	width: 60%;
	margin: 40px auto 0 auto;
}


.checklist-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 30px;
	max-width: 1200px;
	margin: 30px auto;

}

.checklist-item {
	display: flex;
	align-items: center;
	justify-content: flex-start; 
	background-color: transparent;
	padding-top: 12px;
	font-weight: 500;
	margin-bottom: 10px;
	position: relative;
	background: linear-gradient(transparent 65%, #FCE86B 65%)
}

.item-text {
	display: inline;
	padding: 2px 0;
	white-space: nowrap;
	font-size: 1.8rem;
	text-align: left;
	flex: initial;
}

.checkmark {
	width: 28px;
	height: 28px;
	background-color: #00bcd4;
	border-radius: 50%;
	display: inline-block;
	position: relative;
	margin-right: 12px;
	flex-shrink: 0;
        }

.checkmark::after {
	content: '';
	position: absolute;
	left: 9px;
	top: 6px;
	width: 6px;
	height: 12px;
	border: solid white;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.pmark img {
	margin: 45px auto;
	width: 50%;	
}

.numleft{
	position: absolute;
	top: -55px;
	left: 3%;
}

.numleft img {
	max-width: 70%;
}

.numright{
	position: absolute;
	top: -55px;
	right: 3%;
}

.numright img {
	max-width: 70%;
}

.point_cp ol li>p:nth-last-of-type(1){
	text-align: left;
}

.comparison-table{
	margin-top: 30px;
	padding: 2% 8%;
}

.point_cp ol li>div h4{
	font-size: 2.4rem;
	font-weight: 800;
	color: #00429c;
	margin-bottom: 30px;
}

.point_cp ol li>div ul{
	display: block;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 20px;
}

.point_cp ol li>div ul li{
	width: 100%;
	display: flex;
    flex-direction: column;
	font-weight: 600;
}

.point_cp ol li>div ul li dt{
	font-size: 2rem;
	color: #00429c;
	font-weight: 800;
	margin: 20px 0;
}

.point_cp ol li>div ul li dd:nth-of-type(1){
	text-align: left;
	line-height: 1.6;
	font-weight: 700;
	margin-bottom: 20px;
	flex-shrink: 0;
}

.point_cp ol li>div ul li dd:nth-of-type(2){
	background: #eeeeee;
	padding: 0 5%;
	font-size: 1.2rem;
	font-weight: 700;
	height: 80px;
	margin-top: auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.point_cp ol li>div ul li dd:nth-of-type(2) h5{
	font-weight: 800;
	color: #00429c;
	font-size: 1.4rem;
}

.point_cp ol li>div ul li dl{
	flex-grow: 1;
	display: flex;
  	flex-direction: column;
}

.point_cp ol li h3{
	font-size: 2.6rem;
	font-weight: 800;
    color: #00C1D2;
	display: inline-block;
	margin-bottom: 40px;
}

#present {
	background: #C7EDEE;
	padding: 100px 20px;
	position: relative;
	overflow: hidden;
}

.section-inner {
	max-width: 1100px;
	margin: 0 auto;
}
.flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}
.flex > div {
	flex: 1;
	position: relative;
}
#present p {
	color: #00bcd4;
	font-size: 32px;
	font-weight: bold;
	margin-bottom: 40px;
	line-height: 1.4;
	text-align: left;
}
.present-img {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 40%;
	height: auto;
	max-width: 100%;
	transition: all 0.3s ease;
        }

.presentbtn{
	text-decoration: none;
	width: 40%;
	display: block;
	color: #FFFFFF;
	font-size: 2rem;
	font-weight: 600;
	background: #00C1D2;
	padding: 28px 30px;
	border: 3px solid #00C1D2;
	border-radius: 100px;
	position: relative;
	z-index: 1;
	transition: color .3s;
	overflow: hidden;
	text-align: center;
}

.presentbtn::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #FFFFFF;
	border-radius: 100px;
	transform-origin: 0% 50%;
	transform: scaleX(0);
	transition: transform ease .3s;
	z-index: -1;
}

.presentbtn:hover {
	color: #00C1D2;
}

.presentbtn:hover::before {
	transform: scaleX(1);
}

.presentbtn::after {
  content: '';
  display: inline-block;
  border-style: solid;
  border-width: 8px 0 8px 8px; /* ▶ の形 */
  border-color: transparent transparent transparent #fff; /* 矢印の色 */
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}

/* hover時の矢印色変更（btnnormalと同じ動き） */
.presentbtn:hover::after {
  border-color: transparent transparent transparent #00C1D2;
}


.bannerlist_cp{
	margin-top: 40px;
	display: flex;
	justify-content: center;
}

.btnnormal {
	display: block;
	color: #FFFFFF;
	font-size: 2rem;
	font-weight: 600;
	background: #00C1D2;
	padding: 18px 30px;
	border: 3px solid #00C1D2;
	border-radius: 100px;
	position: relative;
	z-index: 1;
	transition: .3s;
	overflow: hidden;
	width: 100%;
    margin: 30px auto 0;
}



.flowcontents_cp .btnnormal{
	width: 40%;
}

.triangle-button::after{
    content: '';
    display: inline-block;
    border-style: solid;
    border-width: 8px 0 8px 8px;
    border-color: transparent transparent transparent #fff;
    display: inline-block;
    width: 0;
    height: 0;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%); 
}

.btnnormal::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #FFFFFF;
  transform-origin: 100% 50%;
  transform: scaleX(0);
  transition: transform ease .3s;
	
	border-radius: 100px;
}
.btnnormal:hover {
  color: #00C1D2;
}

.btnnormal:hover::after{
    content: '';
    display: inline-block;
    border-style: solid;
    border-width: 8px 0 8px 8px;
    border-color: transparent transparent transparent #00C1D2;
    display: inline-block;
    width: 0;
    height: 0;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%); 
}

.btnnormal:hover::before {
  transform-origin: 0% 50%;
  transform: scaleX(1);
}

.mvbtn {
	width: 60%;
    background: #fce86b;
	color: #484646;
	border: 3px solid #fce86b;
	display: block;
    border-radius: 100px;
    position: relative;
	z-index: 1;
	transition: .3s;
    padding: 19px 30px;
    font-size: 2rem;
    font-weight: 600;
	overflow: hidden;
    margin-top: 30px;
	text-align: center;
}

.mvbtn:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #313131;
    border-right: 3px solid #313131;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}

.mvbtn:hover::after {
  border-top: 3px solid #00C1D2; 
  border-right: 3px solid #00C1D2;
}

.mvbtn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  border-radius: 100px;
  transform-origin: 100% 50%;
  transform: scaleX(0);
  transition: transform ease .3s;
  z-index: -1;
}

.mvbtn:hover {
  color: #00C1D2;
}

.mvbtn:hover::before {
  transform-origin: 0% 50%;
  transform: scaleX(1);
}


.lefttxt_cp {
	text-align: left;
	padding: 0 50px; 
}

.crbtn{
	width: 40%;
	margin: 0 auto;
	margin-top: 60px;
	background-color: #00C1D2;
}

.flow_cp{
	display: flex;
	justify-content: space-around;
	margin-top: 50px;
}

.flow_cp li,.support_flow li{
	font-size: 2rem;
	color: #00429c;
	font-weight: 700;
	line-height: 1.5;
}

.flow_cp li img{
	margin-bottom: 20px;
}

.support_flow{
	display: flex;
	justify-content: space-between;
	margin-top: 50px;
}

.support_flow li img{
	margin-bottom: 20px;
}

.case_cp{
	background: #00C1D2;	
	}

.case_cp h2{
	font-size: 4.2rem;
    margin-top: 20px;
    font-weight: 800;
	color: #FFFFFF;
	text-align: center;
	margin-bottom: 100px;
}

.sliderbox_li{
	position: relative;
	width: 1100px;
	border-radius: 200px 200px 0 0;
	background: #FFFFFF;
	padding: 32px;
	display: flex!important;
    flex-direction: column;
}

.slider li>div:nth-of-type(1){
	display: block;
	justify-content: space-between;
	align-items: center;
	padding: 50px 75px;
	height: 280px;
}

.slider li>div:nth-of-type(1) img{
	width: 20%!important;
}

.slider li>div:nth-of-type(1) div{
	width: 75%;
}

 .slider{
        width:100%;
        margin:0 auto;
    }
    .slider img{
        width:100%;
    }
    .slider .slick-slide{
        height:auto!important;
    }
    .slider .slick-arrow{
        z-index:2!important;
    }
    .slider .slick-next{
        right:  11vw!important
    }
    .slider .slick-prev{
        left:11vw!important
    }

.slider .slick-slide{
    margin:0 3vw;
}

.slider h3{
	font-weight: 800;
	font-size: 2.6rem;
	color: #00C1D2;
	margin: 15px 0;
}

.case_name{
	font-weight: 800;
	font-size: 2rem;
}

.case_period{
	font-size: 1.8rem;
	background: #00C1D2;
	border-radius: 0 100px 100px 0;
	display: inline-block;
	color: #FFFFFF;
	padding:  10px 20px;
}

.case_text{
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.6;
	margin-top: 10px;
}

.circle_point{
	position: absolute;
	top: -60px;
	right: 3%;
	background: #fff100;
	border-radius: 50%;
	width: 188px;
	height: 188px;
	font-size: 2rem;
	color: #00429c;
	font-weight: 700;
	line-height: 1.5;
	z-index: 999;
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
	text-align: center;
}

.slick-list{
	overflow: inherit!important;
}

.sliderpoint_cp{
	background: #C7EDEE;
	padding: 3%;
	font-size: 1.6rem;
	line-height: 1.6;
	display: flex;
    flex-direction: column;
	min-height: 180px;
}

.sliderpoint_cp h4{
	font-size: 2rem;
	color: #00C1D2;
	margin-bottom: 10px;
}

.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: 20px;
  height: 20px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
}

.slick-prev:before,
.slick-next:before {
  font-family: 'slick';
  font-size: 20px;
  line-height: 1;
  opacity: .75;
  color: #ffff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/*.slick-prev {
  left: -25px;
	width: 0;
  height: 0;
  border-top: 30px solid transparent;
  border-right: 30px solid #FFFFFF;
  border-bottom: 30px solid transparent;
}


.slick-next {
  right: 25px;
	width: 0;
  height: 0;
  border-left: 30px solid #FFFFFF;
  border-top: 30px solid transparent;
  border-bottom: 30px solid transparent;
}*/

#faq {
	background: #FFFFFF;
}

.accordion {
	margin: 0 auto;
	width: 85%;
}
.accordion ul {
	list-style: none;
	margin-top: 50px;
}
.accordion li {
	margin-bottom: 30px;
	box-shadow: 4px 4px 6px #E8E4E4;
	overflow: hidden;
	border-radius: 0 50px 50px 0;
}
/* アニメーション用のクラス（オプション） */
.slidein {
	opacity: 1;
	transform: translateY(0);
}
/* 質問部分のスタイル */
.accordion_q {
	background: #C7EDEE;
	color: #333;
	cursor: pointer;
	padding: 31px 50px 31px 85px;
	position: relative;
	transition: all 0.3s ease;         
}

.accordion_q p {
	font-weight: 500;
	font-size: 16px;
	margin: 0;
}
/* Qアイコン */
.accordion_q::before {
	content: 'Q';
	position: absolute;
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
	width: 50px;
	height: 50px;
	background: #00C1D2;
	color: white;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	font-size: 26px;
}

/* 開閉アイコン */
.accordion_q::after {
	content: '+';
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 20px;
	font-weight: bold;
	transition: transform 0.3s ease;
	color: #00C1D2;
}

.accordion_q.active::after {
	transform: translateY(-50%) rotate(45deg);
}

/* 回答部分のスタイル */
.accordion_a {
	display: none;
	background: #fff;
}
.accordion_a.active {
	max-height: 500px;
}

.accordion_a div {
	padding: 25px 30px;
	border-top: none;
}

.accordion_a p {
	font-size: 15px;
	line-height: 1.8;
	color: #555;
	margin: 0;
}

.knowledge {
	background-color: #f5f5f5;
    background-image: radial-gradient(circle, #e8e4e4 3.5px, transparent 3.5px);
    background-position: 0 0;
    background-size: 51px 51px;
}

.tips {
	margin-top: 50px;
	display: flex;
	justify-content: space-between;
}

.badge {
	margin: 16px 0 16px 30px;
    background: #C7EDEE;
    color: #00C1D2;
    padding: 6px;
    width: 65px;	
}

.checklist li {
	position: relative;
	font-size: 1.7rem;
	line-height: 1.9;
	text-align: left;
    margin-left: 56px;
}

.checklist li::after {
  content: '';
  display: block;
  position: absolute;
  top: .5em;
  left: -1.5em;
  width: 14px;
  height: 7px;
  border-left: 3px solid #00C1D2;
  border-bottom: 3px solid #00C1D2;
  transform: rotate(-45deg);
}

.tips-li {
	background: #FFFFFF;
	padding: 80px 30px 30px 30px;
	border-radius: 200px 200px 0 0;
	width: 31%;
	box-shadow: 4px 4px 6px #E8E4E4;
}

.tips-li img {
	width: 85%;
}

.tips-cta {
	position: relative;
	display: block;
	margin: 15px auto;
	font-size: 1.5rem;
	padding: 15px 20px;
	border-radius: 50px;
	width: 90%;
	max-width: 400px;
	color: #FFFFFF;
	border: 3px solid #00C1D2;
	background: #00C1D2;
	overflow: hidden;
	z-index: 1;
	transition: color .4s ease;
	text-decoration: none;
	font-weight: bold;
	cursor: pointer;
}
.tips-cta::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #FFFFFF;
	border-radius: 50px;
	transform-origin: 0% 50%;
	transform: scaleX(0);
	transition: transform ease .4s;
	z-index: -1;
}

.tips-cta:hover {
	color: #00C1D2;
}

.tips-cta:hover::before {
	transform: scaleX(1);
}

.title-h2 {
	font-size: 4.2rem;
    margin-top: 20px;
    font-weight: 800;
    color: #45494b;
	text-align: center;
}

.voice_cp{
	background: url("../images/bk01.png")repeat;
}

.voice_cp ul{
	display: flex;
	justify-content: space-between;
	margin-top: 60px;
}

.voice_cp ul li{
	width: 30%;
	background: #FFFFFF;
	border-radius: 30px 30px 0 0;
	padding: 3% 3% 0;
	line-height: 1.8;
	font-size: 1.6rem;
	font-weight: 600;
	display: flex;
    flex-direction: column;
}

.voice_cp ul li h3{
	font-size: 2rem;
	color: #00429c;
	font-weight: 800;
	line-height: 1.6;
	margin-bottom: 20px;
}

.voice_cp ul li>div p{
	text-align: left;
}

.voice_cp ul li>div p span{
	color: #00429c;
	font-weight: 800;
	    background: linear-gradient(transparent 70%, #fff100 70%);
}

.voice_cp ul li>div img{
	margin: auto 0 0 0;
}

.flowcontents_cp{
	background: #e0f4f9;
}

.flowcontents_cp h2{
	padding-bottom: 60px;
}

.document_cp h2{
	color: #00429c;
}
.document_cp{
	background: #daeaff;
}

.document_cp h2{
	color: #00429c;
}

.document_cp .cp_inner>p:nth-last-of-type(1){
	font-size: 1.6rem;
	line-height: 1.6;
	font-weight: 700;
	margin: 60px 0;
}

.document_cp .cp_inner>p a{
	color: #eb6100;
	text-decoration: underline;
}

.document_cp ul{
	display: flex;
	justify-content: space-between;
}

.document_cp ul li{
	width: 48%;
	background: #FFFFFF;
	padding: 3%;
}

.document_cp ul li h3{
	color: #00429c;
	font-weight: 800;
	font-size: 2.8rem;
	line-height: 1.4;
	margin: 30px 0 20px;
}

.document_cp ul li p{
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.8;
	text-align: left;
}

.contact {
	background: #00C1D2;
}

.contact h2 + p  {
	font-size: 1.6rem;
	line-height: 1.6;
	font-weight: 700;
	margin: 50px 0;
	color: #FFFFFF;
}

.contact h2{
	color: #FFFFFF !important;
}
.contact_cp h2{
	color: #FFFFFF;
	margin-bottom: 100px;
}

.tel-area {
	width: 700px;
    color: white;
    padding: 25px 40px;
    margin: 0 auto 40px auto;
    position: relative;
    overflow: hidden;
	border-top: 1px solid white;    /* 上線を追加 */
    border-bottom: 1px solid white; /* 下線を追加 */
}

.tel-area::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
}

.tel-area.flex {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.tel-area p {
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    margin: 0;
    white-space: nowrap;
}

.tel-area a {
    display: flex;
    align-items: center;
    gap: 10px;
    color: white;
    text-decoration: none;
    font-size: 3.8rem;
    font-weight: bold;
    letter-spacing: 2px;
}

.tel-area .icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.tel-area .icon img {
    width: 80%;
}



#pardot-form {
  height: 100%;
}
iframe {
  overflow: hidden !important;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
iframe::-webkit-scrollbar {
  display: none!important;
}
.iframe-wrapper {
  width: 100%;
  height: auto;
}




.custom-dot {
  width: 10px; 
  height: 10px; 
  background-color: #FFFFFF; 
  border-radius: 50%; 
  display: inline-block; 
  margin: 0 5px; 
}
.custom-dot.active-dot {
  background-color: #FCE86B
}

.slick-dots{
	display: flex!important;
	justify-content: center;
	margin-top: 2rem;
}

@media (max-width: 1600px) {
	.mvabout_text_box {
		width: 100%;
	}

}
@media (max-width: 1500px) {
	.mvtop{
		height: 700px;
	}
}
@media (max-width: 1400px) {	
	.mvabout_img{
		    margin-left: 3%;
	}
	
	.mvabout_img p:nth-of-type(2) {
    top: -42px;
}		
		.mvabout_img p:nth-of-type(1) {
    top: 123px;

}
	.questioninner ul li img {
		left: -25vw;
	}
	
	
}
@media (max-width: 1390px) {
	
	.mvtop{
		height:  600px;
	}
 
	section .cp_inner{
		width: 1000px;
	}
	
	.questioninner ul{
		font-size: 1.8rem;
		width: 62%;
	}
	
	.questioninner img {
    width: 80%;
	}
	
	.questioninner ul li{
		padding: 11px 27px 29px 50px;
	}
	.questioninner ul li img {
		top: -2vw;
		width: 2vw;
		left: -23vw;
	}
	.point_cp ol li>div ul li{
		width: 48%;
		white-space: nowrap;
	}
	.pointleft::before {
		right: -60px;
	}
	
	.pointright::before {
		left: -60px;
	}
	.comparison-table {
		padding: 2% 8% 5% 8%;
	}
	.bannerlist_cp li{
		width: 48%;
	}
	
	.point_cp ol>li{
		padding: 8% 8% 5%;
	}
	
	
	.point_cp ol li h3{
		margin-bottom: 30px;
		font-size: 2.5rem;
	}
	
	.flow_cp li, .support_flow li{
		    width: 23%;
	}
	
	.sliderbox_li{
		    width: 1000px;
	}
	
	.slider .slick-slide {
    margin: 0 2vw;
}
	
	.voice_cp ul li{
		width: 32%;
	}
	
	.maintext_cp img {
    margin-left: 8%;
		    width: 3%;
	}
	
	.maintext_cp>div {
    margin-left: 23.5rem;
	}
	
	h1 {
		font-size: 5.5rem;
	}
	
	.maintext_cp>div p {
		font-size: 2.4rem;
	}
	.subtext_cp {
		font-size: 2.9rem;
	}
	
	.mvabout_text h2{
		font-size: 3rem;
		margin-bottom: 32px;
	}
	
	.mvabout_text{
		padding: 5% 4%;
	}
	
	
	.case_text{
		margin: 10px 0 20px;
	}
	
	.mvabout_text{
		width: 70%;
		padding: 3% 4%;
	}
	.flex-02 {
		height: 690px;
        width: 100%;
        overflow-x: scroll;
        flex-wrap: nowrap;
		padding: 2% 8% 0% 8%;
    }
	
	.lefttxt_cp{
		margin: 0 40px;
	}
	
	.present-img {
		right: 100px;
	}
	
	.flex > div {
		margin-left: 100px;
	}
	#present p{
		font-size: 23px;
  	}
	
}
@media (max-width: 1100px) {
	
	.mvtop{
		height: 570px;
	}
	.mvabout_text h2{
		font-size: 2.6rem;
		margin-bottom: 27px;
	}
	
	.mvabout_text_box ul{
		font-size: 1.6rem;
	}
	.loop__box {
		width: 40%;
		margin-left: 51%;
		margin-top: 11%;		
	}
	
	
	section .cp_inner {
    width: 800px;
}
	
	section .cp_inner h2,.case_cp h2, .title-h2 h2{
		font-size: 3.2rem;
	}
	
	.questioninner ul {
    font-size: 1.6rem;
    width: 70%;
}
	
	.questioninner p {
    width: 28%;
}
	
	.questioninner{
		margin-top: 71px;
	}
	
	.questioninner ul li{
		white-space: nowrap;
	}
	
	.questioninner img {
        width: 52%;
    }
	
	.point_cp ol li h3{
		    font-size: 2.4rem;
	}
	.point_cp ol li>div h4{
		font-size: 2rem;
		margin-bottom: 14px;
}
.pointleft::before {
        right: -110px;
    }
.pointright::before {
        left: -110px;
    }
    .comparison-table {
        padding: 2% 2% 11% 2%;
    }

.sns-platforms, .content-cell {
	font-size: 14px;
}

.crbtn {
    width: 52%;
}

.tips-li {
	width: 32%;
	padding: 80px 19px 19px 19px;	
}

	
	.flow_cp li, .support_flow li{
		    font-size: 1.4rem;
	}
	
	.flow_cp li {
    width: 16%;
}
	
.support_flow li {
    width: 23%;
}
	
	.sliderbox_li {
    width: 900px;
}
	
	.circle_point{
		width: 150px;
    height: 150px;
    font-size: 1.6rem;
	}
	
	
	.document_cp ul li h3{
		font-size: 2rem;
	}
	
	.mvabout_text_box h3{
		font-size: 2rem;
		    padding: 10px 20px;
	}
	
	.mvabout_text_box ul{
		line-height: 1.4;
	}
	
	.sliderbox_li {
    width: 800px;
}
	
	.slider h3{
		margin: 10px 0;
	}
		
	.case_text {
    margin: 10px 0 0;
}
	
	.flowcontents_cp .btnnormal {
		width: 60%;
	}
.item-text {
	font-size: 1.6rem;
}

.checklist li {
		margin-left: 30px;
	}
}

@media (max-width: 820px) {

	h1 {
        font-size: 4rem;
	}
	
	.mvbtn {
		font-size: 1.5rem;
	}
	
	.mvabout_text h2 {
        font-size: 2.3rem;
		background-size: 100% 85%;
    }
	
	section .cp_inner {
    width: 750px;
}
	
	section .cp_inner {
    width: 800px;
}
	
	.point_cp ol>li {
    padding: 8% 5% 5%;
}
		.pointleft::before {
        right: -10px;
		border-radius: 0 100px 100px 0;
    }
	.pointright::before {
        left: -10px;
		border-radius: 100px 0 0 100px;
    }
	
	  .lefttxt_cp {
        margin: 0 0px;
    }
	
	.numleft img,.numright img{
		width: 80%;
	}
	
	
	.point_cp ol>li{
		margin-top: 112px;
	}
	
	section {
    padding: 100px 0;
}
	
	
 
}

@media (max-width: 768px) {
	.maintext_cp > div p {
		margin-top: 150px;
	}
	.maintext_cp > div {
		margin-left: -150px;
		padding: 0;
	}
	
	.mv_right img {
		width: 70%;
		margin: 0px 0 0 auto;
	}
	
	.mv_left img{
		display:none
	}
	.mvtop>p img {
		width: 80%;
		margin-top: 15px;
	}
	.mvbtn {
		width: 70%;
		margin-top: -70px;
		right: -300px;
		font-size: 1.8rem;	
	}
	.subtext_cp{
		font-size: 3.2vw;
	}
	
	.sp_cp{
		display: block;
	}
	
	.pc_sp{
		display: none;
	}
	
	.maintext_cp{
		width: 130%;
		position: static;
	}
	
	.mvtop{
		    height: 610px;
		flex-direction: column;
	}
	
	h1{
		font-size: 5.8vw;
	}
	
	.maintext_cp>div p{
		font-size: 3vw;
	}
	
	.maintext_cp img{
		    width: 3.6%;
    margin-bottom: 0.8rem;
	}
	
	.mvtoptext {
    overflow: inherit;
}
	
	.mvtop>p{
		width: 80%;
		margin: 0 -3% 0 auto;
		bottom: 300px;
		    top: 50%;
	}
	
	.mv{
		 margin: 89px 3% 0;
	}
	
	section .cp_inner {
    width: 100%;
		padding: 0 3%;
}
	
	.maintext_cp img{
		margin-left: 0;
	}
	
	.loop__box{
		overflow: hidden;
		width: 55%;
        margin-top: -127px;
        margin-left: -23%;
	}
	
	.mvabout_img{
		display: none;
	}
	
	.mvabout_text {
    width: 100%;
        padding: 3% 5% 7%;
		text-align: center;
}
	.mvabout_text p{
		text-align: left;
	}
	
	.mvabout_text_box{
		text-align: left;
	}
	
	.mvabout {
   margin-top: 66px;
	}
	
	.questioninner ul li{
		line-height: 0.3;
	}
	.questioninner ul li img {
		left: -42vw;
	}
	.questioninner > img {
        width: 16%;
    }	
	.questioninner{
		flex-direction: column;
	}
	.questioninner ul {
		width: 100%;
		margin-top: 50px;
	}
	.questioninner {
    margin-top: 30px;
	}
	.questioninner ul{
		margin-top: 20px;
	}
	
	.questioninner p{
		margin-top: 10px;
	}
	
	.question_img img {
		display: none;
	}
	
	.point_cp ol li>div ul {
		padding-left: 8px;
	}

	.point_cp ol li>div ul li {
		width: 100%;
		padding: 6%;
}
	
	.point_cp ol li h3{
		display: inline;
	}
	.pointleft::before {
        right: -10px;
		border-radius: 0 100px 100px 0;
    }
	.pointright::before {
        left: -10px;
		border-radius: 100px 0 0 100px;
    }
	
	.lefttxt_cp {
		margin-top: 30px;
	}
	
	.point_cp ol li>div h4{
		margin: 30px 0;
	}
	
	.bannerlist_cp{
		flex-direction: column;
	}
	
	.bannerlist_cp li{
		width: 100%;
	}
	
	.bannerlist_cp li+li{
		margin-top: 60px;
	}
	
	.bannerlist_cp li img {
    margin: 0;
    width: 100%;
}
	
	.crbtn{
		width: 100%;
	}
	
	.point_cp ol>li{
		    padding: 8% 5%;
	}
	
	.case_cp{
		padding:100px 3%;
	}
	.slider>li {
    margin: 0 3%; /* 左右の余白を3%追加 */
}
	.slider li>div:nth-of-type(1){
		flex-direction: column;
	}
	
	.slider li>div:nth-of-type(1) img {
    width: 40%!important;
}
	
	.slider li>div:nth-of-type(1) div {
    width: 100%;
}
	
	.sliderbox_li{
		width: 94vw;
	}
	
	.slick-dots{
		margin-top: 3rem;
	}
	
	.voice_cp ul{
		flex-direction: column;
	}
	
	.voice_cp ul li{
		width: 100%;
	}
	
	.voice_cp ul li>div{
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
	}
	
	.voice_cp ul li>div img{
		width: 36%;
	}
 
	.voice_cp ul li>div p{
		width: 60%;
	}
	
	.voice_cp ul li{
		    padding: 5%;
	}
	
	.voice_cp ul li>div img{
		margin-bottom: -5%;
	}
	
	.voice_cp ul li+li{
		margin-top: 40px;
	}
	
	.support_flow{
		flex-wrap: wrap;
	}
	
	.support_flow li{
		width: 48%;
		
	}
	
	.support_flow li:nth-child(n+3){
		margin-top: 20px;
	}
	
	.support_flow li img {
    margin-bottom: 10px;
}
	
	.flow_cp{
		justify-content: space-between;
	}
	
	section .cp_inner h2,.case_cp h2,.title-h2 h2 {
		line-height: 1.5;
	}

	
	.document_cp .cp_inner>p:nth-last-of-type(1){
		text-align: left;
	}
	
	.slider li>div:nth-of-type(1) div{
		text-align: center;
		margin: 34px;
	}
	
	.case_period{
		border-radius: 100px;
	}
	
	.case_text{
		text-align: left;
	}
	
	.checklist-container {
        grid-template-columns: 1fr;
        gap: 0px;
		width: 60%;
    }
	#present p {
        font-size: 16px;
    }
	.flex > div {
        margin-left: 35px;
    }
	.tips {
        flex-direction: column;
        justify-content: flex-start;
        gap: 40px;
    }
	.tips-li {
        width: 70%;
		margin: 0 auto;
		border-radius: 400px 400px 0px 0px;
	}
	.tips-li img {
		width: 60%;	
	}
	.badge {
		margin: 16px 0 16px 100px;
		font-size: 2rem;
		padding: 9px;
		white-space: nowrap;
		width: 80px;
	}
	.checklist li {
        margin-left: 132px;
		font-size: 2rem;
    }
	.tips-cta {
		font-size: 2rem;
		padding: 18px 20px;
	}
	.pmark img {
    margin: 25px auto;
}
	
}
@media (max-width: 650px) {
	
/* 親要素に横スクロールを有効にする */
.comparison-table-wrapper {
    overflow-x: auto;  /* 横スクロールを有効にする */
    -webkit-overflow-scrolling: touch; /* スクロールの滑らかさを確保 */
    width: 100%; /* 必要に応じて幅を設定 */
}

/* テーブルそのものの設定 */
.comparison-table {
    min-width: 600px; /* 最小幅を指定（必要に応じて変更） */
    width: 100%; /* テーブルの幅を100%に設定 */
}

.comparison-table .header-row,
.comparison-table .content-row {
    display: flex; /* 横並びにする */
    flex-wrap: nowrap; /* 行が折り返さないようにする */
}

.comparison-table .content-cell,
.comparison-table .header-cell {
    flex: 1; /* セルの幅を均等にする */
    min-width: 150px; /* 必要に応じて最小幅を設定 */
    overflow-wrap: break-word; /* 長い単語を折り返す */
    word-wrap: break-word; /* 古いブラウザ対応 */
    white-space: normal; /* テキストが折り返されるようにする */
}

	.maintext_cp>div {
		margin: 10px;
		padding-top: 40px;
	}
	
	.mvtop>p img {
		margin-top: 60px;
	}

	h1 {
    font-size: 6.5vw;
}
	
	.maintext_cp>div p {
    font-size: 3.2vw;
}
	
	.mvtop>p{
		top: 52%;
	}
 
	.mvtop {
		height: 550px;
	}	
	.mvabout {
		margin-top: 84px;
	}
    .mvbtn {
       width: 100%;              /* 親要素に合わせて全幅に設定 */
        margin: 20px auto;        /* 中央寄せ */
        font-size: 1.5rem;
        text-align: center;       /* ボタン内のテキストも中央寄せ */
        position: relative;       /* 位置を相対的に */
        right: auto;              /* 右位置指定の削除 */
    }
	
	.mvabout_text_box ul{
		margin: 12px 22px 0;
	}
	
	.mvabout_text_box{
		padding: 20px 0;
	}
	
	 .checklist-container {
   grid-template-columns: 1fr;
    gap: 0;
    width: 75%;
    margin: 0 auto; 
    float: none;        /* ← 浮動化していないかリセット */
    text-align: left;   /* ← 親の text-align:center を打ち消し */
  }
	
	.point_cp ol li>div ul li {
		font-size: 1.2rem;
		padding: 3%;
	}
	
	.sns-platforms{
		font-size: 1.2rem;
	}
	
	.document_cp ul{
		flex-direction: column;
	}
	
	.document_cp ul li{
		width: 100%;
	}
	
	.document_cp ul li{
		padding: 5%;
	}
	
	.document_cp ul li>img {
    margin: 0!important;
    width: 100%;
}
	
	.document_cp ul li+li{
		margin-top: 40px;
	}
	
	.contact_cp h2 {
    color: #FFFFFF;
    margin-bottom: 48px;
}
	
	.flow_cp{
		flex-wrap: wrap;
		 justify-content:space-between;
	}
	
	.flow_cp li {
    width:30%;
		display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}
	
	.flow_cp li:nth-of-type(4) {
  margin-left:17.5%;
}
.flow_cp li:nth-of-type(5){
  margin-right:17.5%;
}
	
	.flow_cp li:nth-child(n+4){
		margin-top: 30px;
	}
	
	.voice_cp ul li>div img{
		margin: 0;
	}
	
	.voice_cp ul li>div{
		align-items: center;
	}
	
	.loop__box{
		margin-top: -250px;
        margin-left: -8%;
        width: 50%;
	}
	
	.tips-li {
		width: 90%;
	}

	.questioninner ul li::before{
		margin-right: 5px;
		width: 15px;
		height: 15px;
		background-size: 15px;
	}
	
	.questioninner ul li {
		padding: 7px 30px 28px 30px
}
	.questioninner ul li img {
        top: -2vw;
	}
	
	.slider h3{
		    font-size: 2.2rem;
	}
	
	.case_text {
		    margin-top: 15px
	}
	
	.slider li>div:nth-of-type(1) div{
		    margin: 34px 0 10px;
	}
	
	.accordion_q{
		line-height: 1.2;
	}
	
	.flowcontents_cp .btnnormal {
		width: 100%;
	}
	
	.present-img {
        right: 35px;
    }
	.presentbtn{
		width: 50%;
		font-size: 1.5rem;
		padding: 20px 30px;
	}
	#present { 
		padding: 60px 20px;		
	}
	
	.tel-area a {
		font-size: 3rem;
	}
	.tel-area.flex {
		width: 90%;
		gap: 10px;
	}
	.tel-area .icon img {
    width: 70%;
	}
	.slider li>div:nth-of-type(1){
		    padding: 40px 55px;
		    min-height: 200px;
	}
	
	.sliderpoint_cp{
		    min-height: 200px;
	}
	
	

}

@media (max-width: 500px) {
	
	.mvtop {
    height: 465px;
}
	
	.mvtop>p {
		top: 50%;
		width: 88%;
	}
	.mvtop>p img {
        margin-top: 90px;
    }
	
	.mvabout {
    margin-top: 130px;
	}
	
	.mvabout_text h2 {
        font-size: 2rem;
	}
	
	.mvabout_text h2::before {
	width: 43px;
    height: 43px;
    background-size: 43px;
}
	.loop__box {
        margin-top: -210px;
    }
	
	h1 {
    font-size: 6.4vw;
	}
	
	.document_cp ul li {
		padding: 8%;
	}
	
	.questioninner ul{
		    font-size: 1.3rem;
	}
	
	.questioninner p{
		width: 75%;
		margin: 20px auto 0;
	}
	
	.questioninner ul li {
        padding: 0px 0px 29px 1px;
    }
	
	.questioninner ul li img {
        left: -36vw;
		width: 3vw;
		top: -1vw;
    }
	
	.mvabout_text_box h3{
		    font-size: 1.8rem;
	}
	
	section .cp_inner h2,.case_cp h2,.title-h2 h2 {
    font-size: 2.6rem;
}
	
	.point_cp ol li h3 {
    font-size: 2.2rem;
}
	
	.point_cp ol>li {
    padding: 15% 6%;
}
	
	.sliderpoint_cp{
		min-height: 300px;
	}
	
	.sliderpoint_cp {
		padding: 5%;

	}
	
	.checklist-container{
		margin-top: 22px;
		width: 90%;
	}
	
	.point_cp ol li>div h4{
		font-size: 1.8rem;
	}
	
	section .cp_inner{
		padding: 0 5%;
	}
	
	.btnnormal{
		padding: 10px 30px;
	}
	
	.point_cp ol li h3 {
    font-size: 2rem;
}
	
	section {
    padding: 70px 0;
}

	.point_cp{
		padding-top: 160px;
	}
	
	.sliderbox_li{
		padding: 20px;
	}

	.badge{
		margin: 16px 0 16px 75px;
	}
	.checklist li {
        margin-left: 106px;
	}
	.tips-cta {
        font-size: 1.7rem;
	}
	.tel-area {
    flex-wrap: wrap; /* 子要素を折り返せるようにする */
  }

  .tel-area a {
    display: block;     /* 強制的に1行占有 */
    width: 100%;        /* 横幅いっぱい */
    text-align: center; /* 中央寄せ（任意で left にしてもOK） */
  }

}
@media (max-width: 450px) {
	
	h1 {
		font-size: 7vw;
    }
	.mvtop {
		height: 395px;
	}
	
	.maintext_cp>div {
		padding-top: 8px;
	}
	.maintext_cp>div p {
        font-size: 3.5vw;
    }
	.subtext_cp {
        font-size: 3.5vw;
    }
	.maintext_cp{
		padding: 0% 7% 0;
	}
	
	.loop__box {
		margin-top: -190px;
		margin-left: -12px;
	}
	
	h1 {
    font-size: 6.2vw;
	}
	.mvabout_text h2{
		 background: none !important;
	}
	
		
	.mvabout_text h2::before{
		    width: 28px;
    height: 28px;
    background-size: 28px;
		margin-right: 5px;
	}
	.questioninner p {
		white-space: normal;
		line-height: 1.6;
		margin: 7px auto 0;
	}
	.questioninner ul li {
        padding-bottom: 15px;
    }
	
	.questioninner ul li::before{
		content: none;
	}
	
	.lefttxt_cp {
		padding: 0;
	}
	
	section .cp_inner h2,.case_cp h2,.title-h2 h2 {
    font-size: 2.4rem;
}
	
	.flow_cp li, .support_flow li {
    font-size: 1.2rem;
}
	
	.circle_point{
		width: 120px;
    height: 120px;
	}
	
	.circle_point{
		font-size: 1.4rem;
	}
	
	.case_text {
    min-height: 120px;
}
	
	.slider h3 {
    font-size: 1.8rem;
}	
	
	.case_name {
    font-weight: 600;
    font-size: 1.6rem;
}
	.crbtn {
		font-size: 1.8rem;
	}
	
	.pmark img {
		width: 85%;
	}
	
	.checklist-container {
        width: 100%;
    }
	
	.item-text{
		white-space: normal;
	}
	
	.checklist-item {
		background: none !important;
	}
	#present .section-inner > div {
    display: flex;
    flex-direction: column; /* 縦並び */
    align-items: center;    /* 中央寄せ */
    text-align: center;
  }

  #present p {
    order: 1;               /* 説明文を一番上 */
    margin-bottom: 20px;
  }

  #present .present-img {
    order: 2;               /* 画像を2番目に */
    position: static;       /* absolute解除 */
    transform: none;
    width: 80%;
    margin: 20px auto;
    display: block;
  }

  #present .presentbtn {
    order: 3;               /* ボタンを一番下 */
    width: 80%;
    margin: 20px auto 0;
  }
	
	.flex > div {
        margin-left: 0px;
    }
	
	.cp_inner > p > img {
		max-width: 80%;
	}
	
	.case_cp > div > p > img {
		max-width: 50%;
	} 
	
	.title-h2 > p > img {
		max-width: 70%;
	}
	
	.slider li>div:nth-of-type(1){
		padding: 45px 25px 20px 25px;
		height: auto;   /* ← 固定高さを解除 */
	}
	
	.case_cp .case_name,
  .case_cp h3 {
    text-align: center;
  }

  .case_cp .case_period {
    display: block;         /* ← インライン要素をブロックにする */
    margin: 10px auto;      /* ← 左右オートで中央寄せ */
    text-align: center;     /* ← テキスト自体も中央 */
  }
	
	.case_text {
    min-height: 155px; /* 文字量を想定して調整 */
  }
	
	.case_cp h2 {
		margin-bottom: 50px;
	}
	
	.accordion_q p {
		font-size: 15px;
		line-height: 1.8;
	}
    .tips-li img {
        width: 80%;
    }
	.badge {
        margin: 16px 0 16px 27px;
		font-size: 1.5rem;
    }
	.checklist li {
        margin-left: 55px;
        font-size: 1.7rem;
    }   
	.tips-cta {
        font-size: 1.4rem;
    }
  
}
