@charset "UTF-8";
body {
  background-image: url(../images/body-bg.jpg);
  background-size: cover;
  background-attachment: fixed;
  background-position: bottom;
  font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 1px;
  color: #FFF;

}

@media screen and (min-width: 750px) {
  .body-inner {
    max-width: 750px;
    box-shadow: 0 1px 20px rgb(0 0 0 / 30%);
    background: #fff;
    margin-left: auto;
    margin-right: auto;
  }
}

* {
  box-sizing: border-box;
}

img {
  width: 100%;
  margin-top: -1px; /*--隙間調整--*/
}

html {
    font-size: 16px; /* 基準となるフォントサイズを設定 */
}


p{
	font-size: 1.6rem
}

h1 {
    font-size: 3.125rem; /* 50px = 3.125rem */
}

h2 {
    font-size: 2.5rem; /* 40px = 2.5rem */
	text-align: center;
}

h3 {
    font-size: 2rem; /* 32px = 2rem */
    text-align: center;
}

h5 {
    font-size: 1.7rem; /* 24px = 1.5rem */
	line-height: 1.5;
}

.yellow{
	color: #ffc111;
}

.blue{
	color: #0fb0c4;
}

/* 弾むボタン */
/* ============================================ */

.yureru-updown {
	animation: yureru-updown 2s infinite;
}

.yureru-updown{
	padding: 0 !important;
}

@keyframes yureru-updown {
	0% {
		transform: translate(0px, 2px);
	}
	5% {
		transform: translate(0px, -2px);
	}
	10% {
		transform: translate(0px, 2px);
	}
	15% {
		transform: translate(0px, -2px);
	}
	20% {
		transform: translate(0px, 2px);
	}
	25% {
		transform: translate(0px, -2px);
	}
	30% {
		transform: translate(0px, 0px);
	}
}


/* フローティングバナー */
/* ============================================ */
.float-bnr {
  height: 0;
  opacity: 0;
  transition: 1s;
  pointer-events: none;
}

.float-bnr.show {
  display: block;
  height: auto;
  opacity: 1;
  transition: 1s;
  pointer-events: painted;
  position: fixed;
  bottom: 0;
  z-index: 9999;
}
/* フローティングバナー ここまで */
/* ============================================ */

/* コンテンツの横幅 */
/* ============================================ */
.contents-inner {
  width: 100%;
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}
/* コンテンツの横幅 ここまで */
/* ============================================ */


.contents{
	background-color: #d6f1f4;
}

.header_txt{
    font-size: 2.5rem;
    color: #FFF;
}

.fv_area{
	background-color: #0fb0c4;
	padding:30px 0 100px 0 ; 
	text-align: center;
	border-radius: 0 0 100px 100px;
}

.fv_area .btn{
	margin-bottom: 60px;
}

.box{
	padding: 50px 0 0;
}

.txt {
    color: #FFF;
    font-size: 2rem;
	padding: 20px 0;
}

.btn{
    background-color: #000000;
    display: flex;
    border-radius: 90px;
    color: #FFF;
    padding: 40px;
    align-items: center;
    width: 90%;
    margin: auto;
    text-align: center;
    border: solid 3px #FFF;
	justify-content: space-between;
}

.btn_l {
	width: 15%;
}

.sankaku{
	width: 20px;
}


.tokuten{
	background-color: #f2db5b;
	border: 3px solid #000;
	border-radius: 20px;
	padding: 30px 30px;
	position: relative;
	width: 90%;
	margin: auto;
}



.tokuten_inner{
	display: flex;
	align-items: center;
    justify-content: space-between;
	margin: auto;
    color: #000;
	width: 93%;
}

.tokuten_r{
    width: 70px;
}

.imanara{
	position: absolute;
    top: -40px;
    left: -10px;
    width: 90px;
}

.message{
	text-align: left;
	width: 70%;
	margin: auto;
}

.check{
	display: flex;
    background-color: #FFF;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.06);
    width: 90%;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: left;
    padding: 30px 18px;
}

.line_white{
	width: 80%;
	margin: auto;
}

.check p {
    color: #20acbd;
    font-weight: 600;
}

.check_img{
    width: 40px;
    margin-right: 10px;
}

.blue_bg{
	background-color: #0fb0c4;
	text-align: center;
	color: #fff !important;
	padding: 50px 0 0;
}

.blue_bg h1{
	margin-bottom: 10px;
}


.kaiketsu{
	width: 90%;
	margin: auto;
	overflow: hidden;
	position: relative;
	padding: 50px 0 0;
}

.kaiketsu h2{
	width: 80%;
    background-color: #20acbd;
    border-radius: 170px;
    padding: 70px 30px;
    float: left;
}

.kaiketsu_img {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 27%;
}

.chigai{
	width: 90%;
	margin: 0 auto 50px;;
	border-radius: 50px;
	padding: 50px;
	background-color: #25526e;
}

.chigai h3, .chigai_2 h3{
	color: #FFF;
	font-size: 40px;
}

.chigai h4{
	background-color: white;
	width: 90%;
	text-align: center;
	margin: 0 auto 20px;;
	padding: 20px 0;
	border-radius: 10px;
	color: #25526e;
	font-size: 2rem;
}

.chigai_2{
	width: 90%;
	margin: auto;
	background-color: #20acbd;
	border-radius: 50px;
	padding: 50px;
	text-align: center;
}

.chigai_2 h4{
    background-color: #FFF;
    width: 90%;
    text-align: center;
    font-size: 2rem;
    margin: 0 auto 20px;
    padding: 20px 0;
    border-radius: 10px;
    color: #20acbd;
}

.white_bg{
	background-color: #FFF;
	border-radius: 125px 125px 0 0 ;
	padding: 100px 0 50px;
	text-align: center;
}

.blue_center{
	color: #20acbd;
    text-align: center;
    margin-bottom: 0px;
}

.inner_cta img{
  display: block;
  margin: 0;
  max-width: 15px;  /* 最大幅を150pxに設定 */
  height: auto;   
}

.inner_cta{
	width: 90%;
    margin: auto;
    text-align: center;
    background-color: #FFF;
    padding: 20px;
    border-radius: 35px;
    color: #0fb0c4;
	display: flex;
    justify-content: center;
	align-items: center;
}

.voice_feature{
    background-color: #0fb0c4;
    width: 80%;
    margin: 0 auto;
    border-radius: 50px;
    overflow: hidden;
	margin-bottom: 30px;
}

.voice_feature_2{
    background-color: #d5ecef;
    width: 80%;
    margin: 0 auto;
    border-radius: 50px;
    overflow: hidden;
	margin-bottom: 30px;
	padding-bottom: 30px;
}

.voice_feature h3{
	color: #FFF;
}

.voice_feature h5{
	color: #FFF;
	text-align: left;
	font-weight: 500;
}

.voice_ctn, .voice_ctn_2{
	padding: 30px;
}

.voice_ctn_2 h3{
	color: #463e51;
}

.voice_ctn_2 p{
    color: #463e51;
    font-weight: 600;
}

.attention{
    margin: auto;
    font-weight: normal;
    color: #333;
    width: 80%;
    text-align: right;
}

.why{
	margin: 100px 0 0 ;
	width: 85%;
    margin: auto;
	position: relative;
}

.why h2{
	text-align: center;
	color: #FFF;
}

.run {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 0;
    width: 33%;
}

.run img{
	width: 100%;
}

.why h3{
	color: #FFF;
	text-align: left;
}

.faq_bg{
	background-color: #0fb0c4;
	text-align: center;
    padding: 70px 0;
}

.mizuiro_bg{
	background-color: #d6f1f4;
	padding: 70px 0 50px;
	border-radius: 70px 70px 0 0;
}

.mizuiro{
	color: #20acbd;
}

.mizuiro_bg h1, .mizuiro_bg h3 {
    color: #463e51;
    text-align: center;
}

.tokuten_box {
    width: 90%;
    background-color: #FFF;
    margin: auto;
    border-radius: 30px;
	overflow: hidden;
	margin-bottom: 30px;
}

.tokuten_flex{
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 30px;
}


.tokuten_box h3{
	background-color: #20acbd;
	color: #FFF;
	padding: 20px 0;
}


.tokuten_flex img {
    width: 130px;
}

.tokuten_flex_p {
    font-weight: 600;
    margin-left: 20px;
    color: #20acbd;
}

.bg_blue_2{
	background-color: #0fb0c4;
}





/* アコーディオン*/
/* ============================================ */

.toggle {
	display: none;
}
.Label {		/*タイトル*/
	display: block;
	font-size: 1.5rem;
	color: #463e51;
	text-align: right;
    margin: 0 50px 10px 0;
	font-weight: 600;
}
.Label::before{		/*タイトル横の矢印*/
content: "";
    width: 9px;
    height: 9px;
    border-top: 2px solid #1e304e;
    border-right: 2px solid #1e304e;
    -webkit-transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 7px);
    right: -20px;
    transform: rotate(135deg);
}
.Label,
.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.content {		/*本文*/
	height: 0;
	padding:0 20px;
	overflow: hidden;
}
.toggle:checked + .Label + .content {	/*開閉時*/
	height: auto;
	padding:20px 0 0 ;
	transition: all .3s;
	text-align: left;
}
.toggle:checked + .Label::before {
	transform: rotate(-45deg) !important;
}

/* アコーディオンここまで */






/* スライダー */
/* ============================================ */
.slider {
  width: 100%;
  margin: 0 auto;
}

.slider img {
  width: 100%;
  display: block;
}

.slider .pagination {
  text-align: center;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  margin: 2px;
}


.swiper-pagination-bullet-active {
  background: #999999; /*スライダーのドットの色*/
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(-1 * var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
  width: 30px;
  height: 30px;
  background-size: 100%;
  margin-top: -24px;
}

.swiper-button-next {
  background-image: url(../images/arrow.webp);
  transform: scale(-1, 1);
  margin-right: -10px;
}

.swiper-button-prev {
  background-image: url(../images/arrow.webp);
  margin-left: -10px;
}

.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  text-transform: none;
  font-variant: initial;
}
/* スライダー ここまで*/
/* ============================================ */

/* QA */
/* ============================================ */

.qa_midashi {
  display: flex;
  align-items: center;
  color: #20acbd !important;
  padding: 30px;
  margin-right: 30px;
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: left;
}

.qa_midashi span {
  width: 55px;
  margin-right: 15px;
  flex-shrink: 0;
}

.faq_flex {
  display: flex;
}

.faq_flex p:first-child {
  margin-right: 15px;
}

.faq__toggle-contents {
  padding: 0 20px;
  border-radius: 10px;
	background-color: #FFF;
}

.faq__toggle-title {
  position: relative;
  cursor: pointer;
  padding: 5px 0 10px;
  background-color: #FFF;
}



.faq__toggle-btn {
  position: absolute;
  top: 52%;
  right: 3%;
  transform: translateY(-50%);
  display: block;
  width: 24px; /* 画像に合わせてサイズ調整 */
  height: 24px; /* 画像に合わせてサイズ調整 */
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  border-radius: 50%;
  background-size: contain;
  background-repeat: no-repeat;
}

/* 初期状態のボタンに「+」画像を設定 */
.faq__toggle-btn {
  background-image: url(../images/yajirushi.webp);/* ここで+の画像 */
}

/* 開いた時に「-」画像に切り替える */
.faq__toggle-title.selected .faq__toggle-btn {
  background-image: url(../images/yajirushi_2.webp);/* ここで-の画像 */
}



.faq__toggle-btn:before,
.faq__toggle-btn:after {
  display: none; /* 既存の線は消す */
}

.faq__toggle-contents dd {
  display: none;
  font-size: 28px;
  padding: 10px;
  line-height: 1.5;
  margin-bottom: 20px;
  color: #333;
  background-color: #FFF;
  text-align: left;
  font-weight: 600;
}


.faq {
  background-color: #e7f6ff;
  padding-bottom: 50px;
}

.faq__toggle-contents {
  width: 90%;
  margin: 0 auto 20px;
}

.faq__toggle-btn:before {
  height: 15px;
}

.faq__toggle-btn:after {
  width: 15px;
}

.faq__toggle-contents dd {
  padding: 30px;
  border-top: dashed 1px #a5a5a5;
}

.a_txt {
  width: 55px;
}


/* QA ここまで */
/* ============================================ */

/* video */
/* ============================================ */
.video {
  position: relative;
}
.video__item img {
  width: 86%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
/* video ここまで */
/* ============================================ */

/* CTAボタン */
/* ============================================ */

/* CTAボタン ここまで */
/* ============================================ */

/* footer */
/* ============================================ */
footer {
  display: block;
  padding-top: 10px;
  border-top: 3px solid #ddd;
  background: #fff;
  font-weight: 400;
}
ul {
  list-style: none;
}
.footer_nav {
  text-align: center;
  padding: 10px 0;
}
.footer_nav li {
  display: inline-block;
  margin: 0 5px 0 0;
  border-right: #000 solid thin;
  font-size: 13px;
}
.footer_nav li:nth-child(3) {
  border-right: none;
}
.footer_nav li a {
  text-decoration: none;
  padding: 0 10px 0 0;
  color: #000;
}
.footer_nav li:last-child {
  border: none;
}
.copyright p{
  text-align: center;
  padding: 10px 0;
  font-size: 12px;
  padding-bottom: 10px;
  color: #333;
}
/* footer ここまで */
/* ============================================ */

/* メディアクエリの例 */
@media (max-width: 750px) {
    html {
        font-size: 14px; /* 小さい画面では全体を少し小さくする */
    }
    
    .fv_area {
        font-size: 2rem; /* 小さい画面ではフォントサイズを調整 */
    }
	
	.sp_none{
		display: none;
	}
	
h1 {
    font-size: 2.8rem;
}
	
.inner_cta {
    width: 100%;
	padding: 3vw;
}	
	
.inner_cta p{
	font-size: 1.4rem;
	margin-right: .5vw;
}
	
.inner_cta img{
	max-width: 2vw;	
}
	
.chigai, .chigai_2 {
	padding: 3rem 2rem;
	margin-bottom: 5vw;
}	
	
.voice_feature {
    width: 90%;
}

.voice_feature_2 {
    width: 90%;
    padding-bottom: 1vw;
}
	
.qa_midashi {
    padding: 0;
}
	
.qa_midashi span {
    width: 7vw;
    margin-right: 15px;
    flex-shrink: 0;
}
	
.a_txt {
    width: 7vw;
}
	
.faq__toggle-title {
    padding: 3vw 0;
}
	
.faq__toggle-btn {
    right: 0%;
}	
	
.faq__toggle-contents dd {
    padding: 3vw 0; 
}

.tokuten_flex img {
    width: 16vw;
}
	
.sankaku {
    width: 15px;
}
	
.btn_l {
    width: 14%;
}
	

.btn {
    padding: 4vw;
	width: 92%;
	}
	
.box {
    padding: 3vw 0 0;
}
	
.tokuten_r {
    width: 9vw;
}
	
.tokuten_l p{
	font-size: 3.3vw;
}
	
.check_img {
	width: 5vw;
}
	
    .kaiketsu h2 {
        border-radius: 28vw;
        padding: 11vw 3vw;
        font-size: 5.2vw;
		width: 85%;
    }
	
}

@media (max-width: 600px) {
	
    html {
        font-size: 12px; /* 小さい画面では全体を少し小さくする */
    }	
	
	
.tokuten {
    padding: 4vw;
}
	
	
.imanara {
    width: 10vw;
}
	


.white_bg, .mizuiro_bg {
    border-radius: 12vw 12vw 0 0;
    padding: 10vw 0 7vw;
}
	

	
.faq__toggle-btn {
    width: 4vw;
}

.tokuten_flex {
    padding: 4vw;
}	
	
.tokuten_box {
    border-radius: 5vw;
}
	
.faq_bg {
    padding: 9vw 0;
}	
	
.kaiketsu {
    padding: 10vw 0 0;
}
	

	
}
	
@media (max-width: 500px) {
	
html {
	font-size: 10px; /* 小さい画面では全体を少し小さくする */
}
	
h2 {
    font-size: 2.3rem;
}	
	
.txt {
    font-size: 1.7rem;
    padding: 2vw 0;
}
	
.header_txt {
    font-size: 2.2rem;
}
	
.fv_area {
    padding: 5vw 0 15vw 0;
    border-radius: 0 0 15vw 15vw;
}
	
.btn_c p {
    font-size: 3.5vw;
}
	
.btn {
	padding: 6vw;
}
	
.sankaku {
    width: 10px;
}
	
.tokuten_inner {
    width: 95%;
}
	
.tokuten {
    padding: 5vw;
}
	
.imanara {
	width: 15vw;
	top: -7vw;
	left: -1vw;
}
	
.check {
    padding: 4vw 3vw;
}
	
.why {
    width: 88%;
}
	
.tokuten_box h3 {
    padding: 5vw 0;
    font-size: 4.5vw;
}
	

	
}