@charset "UTF-8";
/*==================================
レスポンシブ設定
=================================*/
@media screen and (min-width: 751px) {
	.for_sp {
		display: none !important;
	}
}
@media screen and (max-width: 750px) {
	.for_pc {
		display: none !important;
	}
}

/*==================================
common
=================================*/
body {
	color: #3c3c3c;
	background: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 500;
	font-feature-settings: "palt";
	letter-spacing: 1px;
}
body,html,
figure,
h1, h2, h3, h4,
p, dl, dt, dd {
	margin: 0;
	padding: 0;
	line-height: 1;
}
b, strong {
	font-weight: bold;
}
hr {
	margin: 0;
	padding: 0;
}
ul, ol, li {
	margin: 0;
	padding: 0;
	list-style: none;
}
img {
	max-width: 100%;
	vertical-align: bottom;
}
a {
	text-decoration: none;
	color: #3c3c3c;
}
a:hover {
	opacity: 0.8;
}

.inner {
	position: relative;
}

@media screen and (min-width: 751px) {
	body {
		font-size: 18px;
	}
}

@media screen and (max-width: 750px) {
	body {
    	font-size: calc(16 / 375 * 100vw);
		font-size: 16px;
	}
}
/*==================================
header
=================================*/
header {
	background-color: #fff;
	position: sticky;
	top: 0;
	z-index: 10;
}
header .header_logo {
	display: block;
}
header nav {
	display: flex;
	align-items: center;
}
header nav ul {
	display: flex;
	font-weight: bold;
}

@media screen and (min-width: 751px) {
	header {
		box-shadow: 0 3px 3px 0 rgba(0,0,0,0.1);
	}
	header .inner {
		max-width: 1135px;
		padding: 10px 10px;
		margin: auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	header .header_logo {
		width: 120px;
	}
	header nav ul {
		font-size: 13px;
		letter-spacing: 2px;
		gap: 0 40px;
	}
	header .header_cta {
		width: 216px;
		margin-left: 40px;
	}
}

@media screen and (max-width: 750px) {
	header {
		box-shadow: 0 3px 3px 0 rgba(0,0,0,0.1);
	}
	header .inner {
		padding: 17px 22px;
	}
	header .header_logo {
		width: 104px;
	}
	header .menu_btn {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 15px;
	}
	header .menu_icowarap {
		position: relative;
		width: 25px;
		height: 19px;
	}
	header .menu_ico01 ,
	header .menu_ico02 ,
	header .menu_ico03 {
		position: absolute;
		width: 25px;
		height: 2px;
		background-color: #3c3c3c;
		opacity: 1;
		transition: .3s;
	}
	header .menu_ico02 {
		top: 9px;
	}
	header .menu_ico03 {
		top: 18px;
	}
	header .menu_btn.active .menu_ico01 {
		transform: rotate(35deg) translateY(11px);
	}
	header .menu_btn.active .menu_ico02 {
		opacity: 0;
	}
	header .menu_btn.active .menu_ico03 {
		transform: rotate(-35deg) translateY(-11px);
	}
	header .menu_btn.active + nav {
		display: block;
	}
	header nav {
		display: none;
		width: 100%;
		height: 100%;
		position: fixed;
		top: 65px;
		right: 0;
		background: #fff;
		z-index: 250;
		transition: all .5s ease 0s;
	}
	header nav ul {
		font-size: 18px;
        letter-spacing: 2px;
        gap: 2em 0;
        flex-direction: column;
        align-items: center;
		margin-top: calc(50% - 52px);
	}
	header .header_cta {
		display: block;
		width: 216px;
		margin: 40px auto 0;
	}
}

/*==================================
mv
=================================*/
#mv {
	overflow-x: clip;
}
#mv .inner {
	margin: auto;
}
#mv .mv_caption {
	font-weight: bold;
}
#mv .mv_caption b {
	color: #23afad;
}
#mv .mv_txt {
	line-height: 1.6;
	font-weight: bold;
	text-wrap: nowrap;
}
#mv .mv_list {
	display: flex;
}
#mv .mv_list li {
	box-sizing: border-box;
	background: #dbf0ef;
	text-align: center;
	font-weight: bold;
}
#mv .mv_list_heading {
	color: #23afad;
}
#mv .mv_cta {
	display: block;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

@media screen and (min-width: 751px) {
	#mv {
		background: url(../img/mv_bg_pc.jpg) no-repeat center center / cover;
	}
	#mv .inner {
		max-width: 1140px;
		padding: 70px 10px 60px;
	}
	#mv .mv_caption {
		font-size: 54px;
		margin-bottom: 40px;
		position: relative;
		z-index: 1;
	}
	#mv .mv_caption small {
		font-size: 48px;
	}
	#mv .mv_txt {
		font-size: 19px;
		margin-bottom: 20px;
		position: relative;
		z-index: 1;
	}
	#mv .mv_logo_smartone {
		width: 318px;
		margin-bottom: 30px;
	}
	#mv .mv_image {
		position: absolute;
		right: -100px;
        top: 180px;
		z-index: 0;
	}
	#mv .mv_list {
		width: 635px;
		gap: 0 10px;
		position: relative;
		z-index: 1;
	}
	#mv .mv_list li {
		flex: 1;
		border: 7px solid #23afad;
		border-radius: 20px;
		padding: 20px 0 15px;
	}
	#mv .mv_list_heading span {
		font-size: 20px;
		border-bottom: 1px solid #fff;
		display: inline-block;
		margin-bottom: 10px;
		padding-bottom: 10px;
	}
	#mv .mv_list_heading + p {
		font-size: 15px;
		line-height: 1.4;
		letter-spacing: 0;
	}
	#mv .mv_cta {
		width: 500px;
		height: 115px;
		margin: 50px 0 0 50px;
		background: url(../img/cta_btn_normal_pc.png)no-repeat left bottom;
	}
	#mv .mv_cta:hover {
		background: url(../img/cta_btn_on_pc.png)no-repeat left bottom;
		opacity: 1;
	}
}

@media screen and (max-width: 750px) {
	#mv {
		background: url(../img/mv_bg_sp.jpg) no-repeat right top / cover;
	}
	#mv .inner {
		width: fit-content;
		padding: 25px 0 30px;
	}
	#mv .mv_hukidashi {
		display: block;
		width: 270px;
		margin: 0 auto 10px;
	}
	#mv .mv_caption {
		width: 270px;
        margin: 0 auto 10px;
		font-size: 38px;
        line-height: 1.2;
	}
	#mv .mv_caption small {
		font-size: 33px;
	}
	#mv .mv_txt {
		width: 270px;
        margin: 0 auto 20px;
		font-size: 13px;
	}
	#mv .mv_logo_smartone {
		width: 250px;
        margin: 0 auto 20px;
	}
	#mv .mv_image {
		width: 335px;
		display: block;
	}
	#mv .mv_list {
		width: 340px;
		gap: 0 5px;
		margin: 0 auto 15px;
	}
	#mv .mv_list li {
		flex: 1;
		border: 5px solid #23afad;
		border-radius: 10px;
		padding: 10px 0 10px;
	}
	#mv .mv_list_heading span {
		font-size: 18px;
	}
	#mv .mv_cta {
		aspect-ratio: 1000 / 229;
		width: 345px;
		height: auto;
		margin: auto;
		background: url(../img/cta_btn_normal_sp.png)no-repeat left bottom / 100%;
	}
	#mv .mv_cta:hover {
		background: url(../img/cta_btn_on_sp.png)no-repeat left bottom / 100%;
		opacity: 1;
	}
}

/*==================================
movie
=================================*/
#movie {
	overflow-x: clip;
}
#movie .inner {
	position: relative;
	width: fit-content;
	margin: 0 auto;
	text-align: center;
}
#movie .bg {
	position: absolute;
	z-index: -1;
}

@media screen and (min-width: 751px) {
	#movie .inner {
		padding: 90px 0 195px;
	}
	#movie .movie_hukidashi {
		margin-bottom: 15px;
	}
	#movie .movie_tit {
		margin-bottom: 20px;
	}
	#movie .movie_warap {
		width: 660px;
	}
	#movie .bg.bg01 {
		top: 80px;
        left: -390px;
	}
	#movie .bg.bg02 {
        top: 200px;
        right: -545px;
	}
}

@media screen and (max-width: 750px) {
	#movie .inner {
		padding: 25px 15px 20px;
	}
	#movie .movie_hukidashi {
		margin-bottom: 10px;
	}
	#movie .movie_hukidashi img {
		width: 50%;
	}
	#movie .movie_tit {
		margin-bottom: 10px;
	}
	#movie .movie_warap iframe {
		width: 100%;
		height: auto;
		aspect-ratio: 338 / 190;
	}
	#movie .bg.bg01 {
		aspect-ratio: 1263 / 1071;
		width: 264px;
        top: 5px;
        left: -90px;
	}
	#movie .bg.bg02 {
		aspect-ratio: 1263 / 1071;
        width: 264px;
        bottom: 0px;
        right: -90px;
	}
}

/*==================================
intro
=================================*/
#intro .intro_arrow {
	box-sizing: border-box;
	text-align: center;
	font-weight: bold;
}
#intro .intro_structure_tit {
	line-height: 1.5;
	font-weight: bold;
	text-align: center;
}
#intro .intro_structure_tit b {
	color: #23afad;
}
#intro .intro_list {
	display: flex;
}
#intro .intro_list li {
	box-shadow: 0 0 3px rgba(0, 0, 0, .3);
}
#intro .intro_list_img {
    display: flex;
    align-items: center;
}
#intro .intro_list_tit {
	text-align: center;
	font-weight: bold;
	color: #23afad;
	line-height: 1.2;
}
.intro_list_txt {
	line-height: 1.8;
	text-align: justify;
}
#intro .intro_img {
	margin: auto;
	display: block;
}

@media screen and (min-width: 751px) {
	#intro .inner {
		padding: 0 10px 110px;
	}
	#intro .intro_tit {
		width: fit-content;
		margin: 0 auto 100px;
	}
	#intro .intro_arrow {
		font-size: 30px;
		height: 142px;
		margin: 100px 0;
		padding-top: 50px;
		background: url(../img/intro_arrow.png)no-repeat center top;
	}
	#intro .intro_arrow b {
		font-size: 33px;
	}
	#intro .intro_structure_tit {
		font-size: 44px;
	}
	#intro .intro_list {
		max-width: 1032px;
		margin: 90px auto 65px;
		gap: 0 30px;
	}
	#intro .intro_list li {
		width: calc((100% - 30px * 2) / 3);
		border-radius: 20px;
		padding: 30px 30px;
	}
	#intro .intro_list_img {
		height: 210px;
	}
	#intro .intro_list_tit {
		margin: 25px -30px 35px;
		font-size: 29px;
	}
	#intro .intro_img {
		width: fit-content;
	}
}

@media screen and (max-width: 750px) {
	#intro .inner {
		padding: 0 0 45px;
	}
	#intro .intro_tit {
		padding: 0 5px;
	}
	#intro .intro_arrow {
		aspect-ratio: 636 / 142;
		font-size: 18px;
		height: 76px;
		margin: 45px auto 20px;
		padding-top: 15px;
		background: url(../img/intro_arrow.png)no-repeat center top / cover;
		line-height: 1.4;
	}
	#intro .intro_arrow b {
		font-size: 20px;
		line-height: 0;
	}
	#intro .intro_structure_tit {
		font-size: 24px;
		margin-bottom: 20px;
	}
	#intro .intro_list {
		flex-direction: column;
		width: 85%;
        margin: auto;
		gap: 25px 0;
		margin-bottom: 25px;
	}
	#intro .intro_list li {
		border-radius: 25px;
		padding: 30px;
	}
	#intro .intro_list_tit {
		margin: 20px 0 20px;
		font-size: 22px;
	}
	#intro .intro_img {
		width: 90%;
	}
}

/*==================================
case
=================================*/
#case {
	background-color: #fdfdf3;
}
#case .case_tit {
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
}
#case .case_catch {
	font-weight: bold;
	line-height: 1.5;
	min-height: 78px;
}
#case .case_name {
	font-weight: bold;
	color: #23afad;
}
#case .case_txt {
	line-height: 1.8;
}

/*slick*/
#case .slick-prev ,
#case .slick-next {
    z-index: 1;
}
#case .slick-prev::before ,
#case .slick-next::before {
    content: '';
}
#case .slick-dots li button::before {
	opacity: 1;
	color: #e5e5e5;
}
#case .slick-dots li.slick-active button::before {
	opacity: 1;
	color: #ecd913;
}

@media screen and (min-width: 751px) {
	#case {
		padding-top: 100px;
	}
	#case .inner {
		padding: 100px 10px 180px;
		max-width: 1250px;
        margin: auto;
	}
	#case .case_tit {
		width: fit-content;
		top: -50px;
	}
	#case .case_catch {
		font-size: 26px;
		margin-bottom: 20px;
	}
	#case .case_name {
		font-size: 20px;
		margin: 18px 0 25px;
	}
	/*slick*/
	#case .slick-prev ,
	#case .slick-next {
		width: 30px;
		height: 152px;
	}
	#case .slick-prev {
		left: 0;
		background: url(../img/case_arrow_prev_pc.png)no-repeat left center;
	}
	#case .slick-next {
		right: 0;
		background: url(../img/case_arrow_next_pc.png)no-repeat left center;
	}
	#case #slick_slider .slick-list {
		max-width: 1166px;
		width: 100%;
		margin: auto;
	}
	#case .slick-slide {
		padding: 0 27px;
	}
	#case .slick-dots {
		bottom: -75px;
	}
	#case .slick-dots li {
		margin: 0 7px;
	}
	#case .slick-dots li button::before {
		font-size: 20px;
	}
}

@media screen and (max-width: 750px) {
	#case {
		padding-top: 50px;
	}
	#case .inner {
		padding: 50px 0 70px;
	}
	#case .case_tit {
		width: 95%;
		max-width: 350px;
		top: -25px;
	}
	#case .case_catch {
		font-size: 22px;
		margin-bottom: 10px;
	}
	#case .case_name {
		font-size: 18px;
		margin: 15px 0 15px;
	}
	#case .case_img img {
		width: 100%;
	}
	/*slick*/
	#case .slick-prev ,
	#case .slick-next {
		width: 23px;
		height: 123px;
		top: 190px;
		z-index: 1;
	}
	#case .slick-prev {
		left: 0;
		background: url(../img/case_arrow_prev_sp.png)no-repeat left center / 100%;
	}
	#case .slick-next {
		right: 0;
		background: url(../img/case_arrow_next_sp.png)no-repeat left center / 100%;
	}
	#case .slick-slide {
		padding: 0 35px;
	}
	#case .slick-dots {
		bottom: -35px;
	}
	#case .slick-dots li {
		width: 10px;
		height: 10px;
		margin: 0 7px;
	}
	#case .slick-dots li button::before {
		font-size: 10px;
	}
}

/*==================================
reason
=================================*/
#reason {
	background-color: #e9f7f7;
}
#reason .inner {
	margin: auto;
}
#reason .reason_tit {
	text-align: center;
	color: #23afad;
	border: 1px solid #23afad;
}
#reason .reason_list_bg {
	background:linear-gradient(#fff 20%, transparent 40%);
}
#reason .reason_list_warap {
	display: flex;
}
#reason .reason_list_txt {
	flex: 1;
}
#reason .reason_list_txt dt {
	font-weight: bold;
}
#reason .reason_list_num {
	display: flex;
	align-items: center;
}
#reason .reason_img {
	display: block;
}

@media screen and (min-width: 751px) {
	#reason .inner {
		max-width: 1140px;
		padding: 60px 10px 110px;
	}
	#reason .reason_tit {
		font-size: 36px;
		padding: 40px 0;
		margin-bottom: 40px;
	}
	#reason .reason_tit strong {
		font-size: 44px;
	}
	#reason .reason_tit b {
		font-size: 57px;
	}
	#reason .reason_list_bg {
		border-radius: 20px;
		padding: 40px;
	}
	#reason .reason_list_num {
		width: 160px;
	}
	#reason .reason_list_num img {
		height: 75px;
	}
	#reason .reason_list_txt {
		padding-left: 55px;
		border-left: 1px solid #23afad;
	}
	#reason .reason_list_txt dt {
		font-size: 35px;
		margin-bottom: 25px;
		line-height: 1.4;
	}
	#reason .reason_list_txt dd {
		line-height: 1.8;
	}
	#reason .reason_img {
		width: fit-content;
		margin: 0 auto 100px;
	}
	#reason .reason_list li:last-child .reason_img {
		margin-bottom: 0;
	}
}

@media screen and (max-width: 750px) {
	#reason .inner {
		padding: 30px 15px 30px;
	}
	#reason .reason_tit {
		font-size: 21px;
		padding: 20px 0;
		margin-bottom: 20px;
	}
	#reason .reason_tit strong {
		font-size: 27px;
	}
	#reason .reason_tit b {
		font-size: 38px;
	}
	#reason .reason_list_bg {
		border-radius: 20px;
        padding: 20px 0 20px 15px;
        letter-spacing: 0;
	}
	#reason .reason_list_num {
		width: 70px;
	}
	#reason .reason_list_num img {
		height: 40px;
	}
	#reason .reason_list_txt dt {
		font-size: 23px;
		line-height: 1.34;
	}
	#reason .reason_list_warap + .for_sp {
		line-height: 1.8;
		padding: 25px 15px 0 0;
	}
	#reason .reason_img {
		width: fit-content;
		margin: 0 auto 45px;
	}
	#reason .reason_list li:last-child .reason_img {
		margin-bottom: 0;
	}
}

/*==================================
function
=================================*/
#function {
	background-color: #fefdf5;
}
#function .inner {
	margin: auto;
}
#function .function_tit {
	text-align: center;
	color: #23afad;
	border: 1px solid #23afad;
}
#function .function_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#function .function_list li {
	text-align: center;
	background-color: #fff;
	box-shadow: 0 0 3px rgba(0, 0, 0, .3);
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
#function .function_detail figcaption {
	color: #23afad;
	font-weight: bold;
}
#function .function_txt01 ,
#function .function_txt02 {
	text-align: center;
	font-weight: bold;
}
#function .function_txt01 b {
	color: #23afad;
	background:linear-gradient(transparent 80%, #ecd913 80%);
}

@media screen and (min-width: 751px) {
	#function .inner {
		max-width: 1140px;
		padding: 70px 10px 80px;
	}
	#function .function_tit {
		font-size: 44px;
		padding: 40px 0;
		margin-bottom: 50px;
	}
	#function .function_list {
		gap: 30px 20px;
	}
	#function .function_list li {
		width: calc((100% - 20px * 3) / 4);
		border-radius: 20px;
	}
	#function .function_detail {
		padding: 25px 0 30px;
	}
	#function .function_detail figcaption {
		font-size: 22px;
	}
	#function .function_list li:nth-child(1) .function_detail img {
		width: 99px;
		margin-bottom: 35px;
	}
	#function .function_list li:nth-child(2) .function_detail img {
		width: 85px;
		margin-bottom: 35px;
	}
	#function .function_list li:nth-child(3) .function_detail img {
		width: 104px;
		margin-bottom: 30px;
	}
	#function .function_list li:nth-child(4) .function_detail img {
		width: 115px;
		margin-bottom: 30px;
	}
	#function .function_list li:nth-child(5) .function_detail img {
		width: 103px;
		margin-bottom: 25px;
	}
	#function .function_list li:nth-child(6) .function_detail img {
		width: 59px;
		margin-bottom: 25px;
	}
	#function .function_list li:nth-child(7) .function_detail img {
		width: 115px;
		margin-bottom: 30px;
	}
	#function .function_txt01 {
		font-size: 38px;
		margin: 75px 0 40px;
		line-height: 1.4;
	}
	#function .function_txt02 {
		font-size: 30px;
		line-height: 1.4;
	}
	#function .function_txt01 b {
		padding: 0 .5em;
	}
}

@media screen and (max-width: 750px) {
	#function .inner {
		width: 90%;
		padding: 30px 0 40px;
	}
	#function .function_tit {
		font-size: 27px;
		padding: 20px 0;
		margin-bottom: 15px;
	}
	#function .function_list {
		gap: 15px 10px;
	}
	#function .function_list li {
		width: calc((100% - 10px) / 2);
		border-radius: 20px;
	}
	#function .function_detail {
		padding: 15px 0 20px;
	}
	#function .function_detail figcaption {
		font-size: 16px;
	}
	#function .function_list li:nth-child(1) .function_detail img {
		width: 61px;
		margin-bottom: 17px;
	}
	#function .function_list li:nth-child(2) .function_detail img {
		width: 53px;
		margin-bottom: 17px;
	}
	#function .function_list li:nth-child(3) .function_detail img {
		width: 66px;
		margin-bottom: 15px;
	}
	#function .function_list li:nth-child(4) .function_detail img {
		width: 72px;
		margin-bottom: 15px;
	}
	#function .function_list li:nth-child(5) .function_detail img {
		width: 64px;
		margin-bottom: 12px;
	}
	#function .function_list li:nth-child(6) .function_detail img {
		width: 34px;
		margin-bottom: 12px;
	}
	#function .function_list li:nth-child(7) .function_detail img {
		width: 71px;
		margin-bottom: 15px;
	}
	#function .function_txt01 {
		font-size: 24px;
		margin: 35px 0 15px;
		line-height: 1.6;
	}
	#function .function_txt02 {
		font-size: 18px;
		line-height: 1.4;
	}
}

/*==================================
flow
=================================*/
#flow .flow_tit {
	color: #23afad;
	text-align: center;
}
#flow .flow_txt01 ,
#flow .flow_txt02 {
	text-align: center;
	font-weight: bold;
	line-height: 1.5;
}
#flow .flow_txt01 b {
	color: #23afad;
}

@media screen and (min-width: 751px) {
	#flow .inner {
		width: fit-content;
		margin: auto;
		padding: 100px 10px;
	}
	#flow .flow_tit {
		font-size: 44px;
		margin-bottom: 60px;
	}
	#flow .flow_txt01 {
		font-size: 24px;
	}
	#flow .flow_txt02 {
		font-size: 18px;
		margin-bottom: 60px;
	}
}

@media screen and (max-width: 750px) {
	#flow .inner {
		width: 85%;
		margin: auto;
		padding: 35px 0 50px;
	}
	#flow .flow_tit {
		font-size: 27px;
		margin-bottom: 30px;
	}
	#flow .flow_txt01 {
		font-size: 20px;
		margin-bottom: 15px;
	}
	#flow .flow_txt02 {
		font-size: 15px;
		margin-bottom: 30px;
	}
}

/*==================================
qa
=================================*/
#qa {
	background-color: #e9f7f7;
}
#qa .qa_tit {
	color: #23afad;
	text-align: center;
}
#qa .qa_box {
	position: relative;
	border-top: 1px solid #abdbd8;
}
#qa .qa_box:last-child {
	border-bottom: 1px solid #abdbd8;
}
#qa .qa_box::before,
#qa .qa_box:last-child::after {
	position: absolute;
	content: '';
	left: 0;
}
#qa .qa_box::before {
	border-top: 2px solid #2d9679;
	top: -1px;
}
#qa .qa_box:last-child::after {
	border-bottom: 2px solid #2d9679;
	bottom: 0;
}
#qa .qa_box dt {
	position: relative;
	color: #23afad;
	font-weight: bold;
}
#qa .qa_box dt p::before ,
#qa .qa_box dt p::after {
	position: absolute;
	content: "";
	background: #2d9679;
	top: 0;
	bottom: 0;
	margin: auto;
	transition: .6s ease;
}
#qa .qa_box dt.active p::before{
	transform: rotate(-180deg);
}
#qa .qa_box dt.active p::after{
	transform: rotate(90deg);
}
#qa .qa_box dd {
	position: relative;
}
#qa .qa_box dt::before ,
#qa .qa_box dd::before {
	position: absolute;
	content: "";
	left: 0;
}

@media screen and (min-width: 751px) {
	#qa .inner {
		max-width: 1000px;
		margin: 0 auto;
		padding: 100px 10px;
	}
	#qa .qa_tit {
		font-size: 44px;
		margin-bottom: 70px;
	}
	#qa .qa_box {
		font-size: 18px;
		padding: 30px 15px;
	}
	#qa .qa_box::before ,
	#qa .qa_box:last-child::after {
		width: 70px;
	}
	#qa .qa_box dt {
		padding: 0 80px;
	}
	#qa .qa_box dt p::before,
	#qa .qa_box dt p::after {
		width: 20px;
		height: 3px;
		right: 0;
	}
	/* #qa .qa_box dt p::after {
		height: 20px;
		width: 3px;
		right: 9px;
	} */
	#qa .qa_box dd {
		margin-top: 20px;
		padding: 0 80px;
		line-height: 1.8;
	}
	#qa .qa_box dt::before ,
	#qa .qa_box dd::before {
		width: 48px;
		height: 35px;
	}
	#qa .qa_box dt::before {
		top: -3px;
		background: url(../img/qa_q_pc.png)no-repeat left top;
	}
	#qa .qa_box dd::before {
		top: 3px;
		background: url(../img/qa_a_pc.png)no-repeat left top;
	}
}

@media screen and (max-width: 750px) {
	#qa .inner {
		width: 95%;
		margin: 0 auto;
		padding: 45px 0;
	}
	#qa .qa_tit {
		font-size: 27px;
		margin-bottom: 40px;
	}
	#qa .qa_box {
		font-size: 15px;
		padding: 15px 0;
	}
	#qa .qa_box::before ,
	#qa .qa_box:last-child::after {
		width: 70px;
	}
	#qa .qa_box dt {
		padding: 0 40px 0 55px;
	}
	#qa .qa_box dt p {
		line-height: 1.3;
	}
	#qa .qa_box dt p::before,
	#qa .qa_box dt p::after {
		width: 20px;
		height: 3px;
		right: 0;
	}
	/* #qa .qa_box dt p::after {
		height: 20px;
		width: 3px;
		right: 9px;
	} */
	#qa .qa_box dd {
		margin-top: 15px;
		padding: 0 18px 0 55px;
		line-height: 1.5;
	}
	#qa .qa_box dt::before ,
	#qa .qa_box dd::before {
		width: 40px;
		height: auto;
		aspect-ratio: 95 / 65;
	}
	#qa .qa_box dt::before {
		top: -3px;
		background: url(../img/qa_q_sp.png)no-repeat left top / contain;
	}
	#qa .qa_box dd::before {
		top: 3px;
		background: url(../img/qa_a_sp.png)no-repeat left top / contain;
	}
}

/*==================================
cta
=================================*/
.cta .inner {
	margin: 0 auto;
}
.cta_read {
	font-weight: bold;
	color: #23afad;
	margin-bottom: .5em;
}
.cta_txt {
	font-weight: bold;
}
.cta_txt strong {
	padding: 0 .3em;
	background-color: #ecd913;
}
.cta_btn {
	display: block;
	margin: 0 auto;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}
.cta_bg {
	overflow-x: clip;
}
.cta_bg .bg {
	position: absolute;
	z-index: 1;
}

@media screen and (min-width: 751px) {
	.cta .inner {
		width: fit-content;
		padding: 90px 10px;
	}
	.cta_read {
		font-size: 20px;
	}
	.cta_txt {
		font-size: 37px;
		margin-bottom: 35px;
		line-height: 1.2;
	}
	.cta_txt b {
		font-size: 50px;
	}
	.cta_txt strong {
		font-size: 41px;
	}
	.cta_btn {
		width: 500px;
		height: 115px;
		background: url(../img/cta_btn_normal_pc.png)no-repeat left bottom;
	}
	.cta_btn:hover {
		background: url(../img/cta_btn_on_pc.png)no-repeat left bottom;
		opacity: 1;
	}
	.cta_bg .inner {
		padding: 150px 0 100px;
	}
	.cta_bg .bg.bg01 {
		top: 40px;
        left: -640px;
	}
	.cta_bg .bg.bg02 {
        top: 10px;
        right: -270px;
	}
}

@media screen and (max-width: 750px) {
	.cta .inner {
		text-align: center;
		width: 90%;
		padding: 30px 0;
	}
	.cta_read {
		font-size: 15px;
	}
	.cta_txt {
		font-size: 24px;
		margin-bottom: 20px;
		line-height: 1.3;
	}
	.cta_btn {
		aspect-ratio: 1000 / 229;
		width: 100%;
		height: auto;
		background: url(../img/cta_btn_normal_sp.png)no-repeat left bottom / 100%;
	}
	.cta_btn:hover {
		background: url(../img/cta_btn_on_sp.png)no-repeat left bottom / 100%;
		opacity: 1;
	}
	.cta_bg .inner {
		padding: 55px 0 40px;
	}
	.cta_bg .bg.bg01 {
		aspect-ratio: 506 / 430;
		width: 252px;
        top: 25px;
        left: -90px;
        z-index: -1;
	}
	.cta_bg .bg.bg02 {
		aspect-ratio: 1263 / 1071;
		width: 252px;
        top: 25px;
        right: -90px;
        z-index: -1;
	}
}

/*==================================
footer
=================================*/
footer .footer_warap {
	background-color: #f8f8f8;
}
.footer_warap .inner {
	text-align: center;
}
.footer_list {
	display: flex;
	margin: 0 auto;
}
.footer_line {
	border-top: 1px solid #e6e6e6;
}
.footer_list a {
	color: #787878;
}
.footer_logo {
	margin: auto;
	display: inline-block;
}
.copy_warap {
	text-align: center;
}

@media screen and (min-width: 751px) {
	.footer_warap .inner {
		max-width: 1110px;
		padding: 80px 10px;
		margin: auto;
	}
	.footer_list {
		width: fit-content;
	}
	.footer_list li:not(:last-child) {
		margin-right: 40px;
	}
	.footer_line {
		margin: 45px auto 60px;
	}
	.footer_logo {
		width: 187px;
	}
	.copy_warap {
		padding: 25px 0;
	}
}

@media screen and (max-width: 750px) {
	.footer_warap .inner {
		padding: 40px 0;
	}
	.footer_list {
		width: 83%;
		font-size: 14px;
		flex-wrap: wrap;
		gap: 1.5em 1em;
	}
	/* .footer_list li {
		min-width: 4.5em;
	} */
	.footer_line {
		width: 90%;
		margin: 30px auto 35px;
	}
	.footer_logo {
		width: 40%;
	}
	.copy_warap {
		font-size: 10px;
		padding: 15px 0;
	}
}

/*==================================
contact
=================================*/
#contact .contact_tit {
	text-align: center;
}
#contact .contact_detail h3 {
	line-height: 1.4;
}
#contact .contact_detail h3 strong {
	color: #23AFAD;
}
#contact .contact_detail_txt {
	font-weight: bold;
	text-align: center;
	background-color: #FBED21;
	clip-path: polygon(0% 0%, 95% 0%, 100% 50%, 95% 100%, 0% 100%);
}

#contact .contact_body .box {
	background: #fff;
}
#contact .contact_body .text1 {
	line-height: 1.3;
	text-align: center;
}
#contact .contact_body .text2 {
    color: #0074c9;
    line-height: 1.7;
    text-align: center;
	font-weight: 600;
	margin-bottom: 1em;
}

@media screen and (min-width: 931px) {
	#contact {
		background: #E9F7F7 url(../img/contact_bg_pc.png)no-repeat center center / 100%;
	}
	#contact .inner {
		width: 926px;
		padding: 80px 0 110px;
		margin: auto;
	}
	#contact .contact_tit {
		font-size: 38px;
		margin-bottom: 80px;
	}
	#contact .contact_warap {
		display: flex;
		justify-content: space-between;
	}
	#contact .contact_img {
		display: block;
		margin: 0 -15px;
	}
	#contact .contact_detail h3 {
		font-size: 29px;
	}
	#contact .contact_detail_txt {
		font-size: 22px;
		padding: 12px 0;
	}

	#contact .contact_body {
		width: 50%;
	}
	#contact .contact_body .box {
		padding: 40px 30px;
	}
	#contact .contact_body .text1 {
		font-size: 19px;
		margin-bottom: 30px;
	}
	#contact .contact_body .text2 {
		font-size: 15px;
	}
	#contact .contact_body .box iframe {
		height: 850px;
	}
}

@media screen and (max-width: 930px) {
	#contact {
		background: #E9F7F7 url(../img/contact_bg_sp.png)no-repeat center center / cover;
	}
	#contact .inner {
		padding: 50px 15px 60px;
	}
	#contact .contact_tit {
		font-size: 26px;
		margin-bottom: 50px;
	}
	#contact .contact_img {
		display: block;
		width: fit-content;
		margin: auto;
	}
	#contact .contact_detail h3 {
		font-size: 20px;
		text-align: center;
	}
	#contact .contact_detail_txt {
		font-size: 19px;
		padding: 10px 0;
		margin-bottom: 20px;
	}
	#contact .contact_body .box {
		padding: 30px 15px;
	}
	#contact .contact_body .text1 {
		font-size: 14px;
		margin-bottom: 20px;
	}
	#contact .contact_body .text2 {
		font-size: 14px;
	}
	#contact .contact_body .box iframe {
		height: 850px;
	}
}