@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
/* mv */
#main .mv {
	position: relative;
	height: 100%;
	overflow: hidden;
}
#main .mv .mv_img {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	z-index: -1;
}
#main .mv .mv_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .text_box {
	padding: min(13.2rem, calc(132/1600*100vw)) 0 min(8.6rem, calc(86/1600*100vw)) min(24.6rem, calc(246/1600*100vw));
	width: 60%;
}
#main .color {
	color:  #2175D9;
}
#main .mv .ttl {
	margin-bottom: 2.8rem;
	font-size: min(6.4rem, 4vw);
	font-weight: 400;
	line-height: 1.3;
	font-feature-settings: "palt";
}
#main .mv .color {
	font-size: min(3.6rem, 2.25vw);
	margin-bottom: 1.3rem;
	font-family: Tahoma, "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
}
#main .mv .ttl span {
	display: block;
}
#main .mv .ttl .small {
	font-size: min(2.4rem, 1.8vw);
	margin-top: 1.3rem;
}
#main .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media all and (max-width: 767px) {
	#main .mv {
		padding-top: 92.5vw;
		margin-bottom: 8vw;
		display: block;
	}
	#main .mv .mv_img {
    position: absolute;
    width: 100%;
    height: auto;
		top: 0.2rem;
	}
	#main .text_box {
		padding: 0;
		width: 100%;
	}
	#main .mv .ttl {
		margin-bottom: 1.2rem;
		margin-left: 1.6rem;
		padding: 0;
		font-size: 3.2rem;
	}
	#main .mv .color {
		font-size: calc(24/375*100vw);
		margin-bottom: 0.5rem;
	}
	#main .mv .com_btn {
		padding: 0 1.6rem;
		width: 100%;
	}
	#main .mv .ttl .small {
		margin-top: 0.5rem;
		font-size: 1.6rem;
	}
	#main .img img {
		max-width: none;
	}
}
/* achievements */
#main .achievements {
	padding: 2rem 0;
	color: #fff;
	background-color: #0F1941;
}
#main .achievements .achievements_head {
	margin-left: 12rem;
}
#main .achievements .achievements_head .head_txt {
	font-size: 1.8rem;
	margin-bottom: 0.7rem;
}
#main .achievements .head_main {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
#main .achievements .head_main img {
	width: 6.5rem;
	height: 6.5rem;
}
#main .achievements .head_main h2 {
	font-size: 2.4rem;
	font-weight: 400;
	line-height: 3.1rem;
	margin-left: 0.9rem;
}
#main .achievements .head_main h2 span {
	display: block;
	font-size: 1.8rem;
	line-height: 2.3rem;
}
#main .achievements .head_note {
	font-size: 1.2rem;
	margin-top: 0.8rem;
}
@media all and (max-width: 767px) {
	#main .achievements .achievements_head {
		margin-left: 0;
	}
	#main .achievements .achievements_head .head_txt {
		font-size: 1.4rem;
		margin-bottom: 0.7rem;
	}
	#main .achievements .head_main {
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
	#main .achievements .head_main img {
		max-width: 5.6rem;
		width: calc(56/375*100vw);
		max-height: 5.6rem;
		height: calc(56/375*100vw);
	}
	#main .achievements .head_note {
		font-size: 1rem;
		margin-top: 0.2rem;
	}
}

/* person */
#main .person {
	padding: 8.3rem 0 10rem;
	background-color: #F7F5F0;
}
#main .person .com_list > li {
	width: calc(50% - 2rem);
	padding: 0;
	background-color: #fff;
}
#main .person .txt_box {
	padding: 3rem 1.9rem 3.7rem 5rem;
}
#main .person .txt_box .head_line02 {
	font-size: 3rem;
	letter-spacing: -0.2rem;
}
#main .person .aspiration_list {
	margin-top: 2rem;
	padding-left: 3rem;
}
#main .person .aspiration_list > li {
	width: 100%;
	font-size: 2rem;
	line-height: 3rem;
	padding: 0;
	margin-bottom: 1.2rem;
	position: relative;
	overflow: visible;
}
#main .person .aspiration_list > li:before {
	content: '';
	position: absolute;
	top: 0.5rem;
	left: -3rem;
	width: 1.9rem;
	height: 1.9rem;
	background-image: url(../img/check_icon.png);
	background-size: contain;
	background-repeat: no-repeat;

}
#main .person .aspiration_list > li span {
	text-decoration: underline;
}
@media all and (max-width: 767px) {
	#main .person {
    padding: 4.7rem 0 4rem;
	}
	#main .person .com_list > li {
		width: 100%;
		margin-bottom: 3.2rem;
		padding: 0;
	}
	#main .person .com_list li .img {
		margin: 0;
	}
	#main .person .txt_box {
		padding: 2.1rem 1.9rem 1.6rem 1.5rem;
	}
	#main .person .txt_box .head_line02 {
		font-size: 2.8rem;
		line-height: 4.2rem;
		letter-spacing: 0;
	}
	#main .person .aspiration_list {
		margin-top: 1.1rem;
    padding-left: 3rem;
	}
	#main .person .aspiration_list > li {
		margin-bottom: 1.4rem;
	}
	#main .person .com_btn {
		margin-top: -1.5rem;
	}
}

/* job */
#main .job {
	padding: 9rem 0 10rem;
	background-color: #0F1941;
}
#main .job .job_item {
	background-color: #fff;
	margin-top: -0.3rem;
	padding: min(5rem, calc(50/1600*100vw)) min(8rem, calc(80/1600*100vw)) min(6rem, calc(60/1600*100vw));
	border-radius: 1.2rem;
	display: flex;
	justify-content: space-between;
}
#main .job .job_item:last-child {
	margin-top: 4rem;
}
#main .job .job_item .job_img {
	max-width: 21.5rem;
	width: calc(215/1600*100vw);
	display: flex;
	justify-content: center;
	align-items: center;
}
#main .job .job_item .job_img img {
	max-width: 21.5rem;
	width: calc(215/1600*100vw);
	max-height: 21.5rem;
	height: calc(215/1600*100vw);
}
#main .job .job_item:last-child .job_img img {
	max-width: 14.8rem;
	width: calc(148/1600*100vw);
	max-height: 20.9rem;
	height: calc(209/1600*100vw);
}
#main .job .job_item .job_txt {
	width: 78rem;
	margin-left: 5rem
}
#main .job .job_item .job_txt .head_line02 {
	font-size: 3.2rem;
	margin-bottom: 1.5rem;
}
#main .job .job_item .job_txt .job_desc {
	font-size: 1.6rem;
	line-height: 2.4rem;
}
#main .job .job_item .job_txt .job_desc span {
	color: #2175D9;
}
#main .job .job_item .job_txt .job_detail {
	background-color: #F7F5F0;
	border-radius: 1.2rem;
	margin-top: 2.3rem;
	padding: 2.7rem 2.8rem;
}
#main .job .job_item .job_txt .job_detail .detail-ttl {
	font-size: 2rem;
	font-weight: 400;
}
#main .job .job_item .job_txt .job_detail .detail-txt {
	font-size: 1.4rem;
	line-height: 1.96rem;
	margin-top: 0.5rem;
}
#main .job .job_item .job_txt .job_detail .detail-note {
	font-size: 1.2rem;
	line-height: 1.68rem
}
@media all and (max-width: 767px) {
	#main .job {
		padding: 3.7rem 0;
	}
	#main .job .head_line01 {
		margin-bottom: 3.5rem;
	}
	#main .job .job_item {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		padding: 4.5rem 1.5rem 3rem;
	}
	#main .job .job_item:last-child {
		margin-top: 3rem;
	}
	#main .job .job_item .job_img {
		max-width: 100%;
		width: 100%;
	}
	#main .job .job_item .job_img img {
		max-width: 100%;
		width: calc(163/375*100vw);
		max-height: 100%;
		height: calc(163/375*100vw);
	}
	#main .job .job_item:last-child .job_img img {
		max-width: 100%;
		width: calc(129/375*100vw);
		max-height:100%;
		height: calc(168/375*100vw);
	}
	#main .job .job_item .job_txt {
		width: 100%;
		margin-top: 3.5rem;
		margin-left: 0;
	}
	#main .job .job_item .job_txt .job_detail {
		margin-top: 2rem;
    padding: 1.7rem 1.2rem;
	}
	#main .job .job_item .job_txt .job_detail .detail-ttl {
		font-size: 1.8rem;
		line-height: 2.34rem;
	}
	#main .job .job_item .job_txt .job_detail .detail-txt {
		font-size: 1.2rem;
		line-height: 1.68rem;
		margin-top: 0.7rem;
	}
	#main .job .job_item .job_txt .job_detail .detail-note {
    font-size: 1rem;
		line-height: 1.4rem;
	}
}

/* introduction */
#main .introduction {
	padding: 9rem 0 10rem;
	background-color: #FFF;
}
#main .introduction .head_line01 {
	margin-bottom: 1.5rem;
	margin-left: 3.5rem;
}
#main .introduction .head_line01 .small {
	margin-bottom: 1rem;
}
#main .introduction .head_txt {
	font-size: 1.8rem;
	margin-left: 3.5rem;
	line-height: 2.7rem;
}
#main .introduction .introduction_item {
	width: calc(1165/1600*100vw);
	min-height: 34rem;
	height: calc(340/1600*100vw);
	display: flex;
	background-color: #F7F5F0;
	border-radius: 1.2rem;
	box-shadow: 11px 15px 24px 0 rgba(0, 0, 0, 0.06);
	margin: 0 3rem 4rem;
}
#main .introduction .intro_item-detail {
	width: 55.2%;
	padding: min(4.2rem, calc(42/1600*100vw)) min(6rem, calc(60/1600*100vw));
}
#main .introduction .intro_item-detail .detail_kind {
	font-size: min(1.6rem, 2vw);
	display: inline-block;
	background-color: #FFF;
	padding: 0.7rem 1rem;
	border-radius: 0.4rem;
}
#main .introduction .intro_item-detail .detail_ttl {
	font-size: min(3.8rem, 3vw);
	font-weight: 400;
}
#main .introduction .intro_item-detail .detail_txt {
	font-size: min(1.6rem, 2vw);
}
#main .introduction .intro_item-detail .detail_type {
	display: flex;
	flex-wrap: wrap;
	margin-top: 1rem;
	gap: 1rem;
}
#main .introduction .intro_item-detail .detail_type li {
	background-color: #FFF;
	font-size: min(2rem, 2vw);
	padding: 0.3rem 1rem;
	border-radius: 0.4rem;
}
#main .introduction .intro_item-detail .detail_price {
	margin-top: 0.3rem;
}
#main .introduction .intro_item-detail .detail_price .number {
	font-size: min(3.8rem, 3vw);
	color: #2175D9;
}
#main .introduction .intro_item-detail .detail_price .ja {
	color: #2175D9;
}
#main .introduction .intro_item-img {
	width: 44.8%;
	max-height: 100%;
	border-radius: 0 1.2rem 1.2rem 0;
	overflow: hidden;
}
#main .introduction .intro_item-img img {
	height: 100%;
	object-fit: cover;
}
#main .introduction_slide_box {
	margin-top: 3.2rem;
}
#main .introduction_slide_box .slick-arrow {
	z-index: 2!important;
	max-width: 59px!important;
	max-height: 59px!important;
	width: calc(59/1600*100vw)!important;
	height: calc(59/1600*100vw)!important;
}
#main .introduction_slide_box .slick-arrow:before {
	content:""!important;
	max-width: 59px!important;
	max-height: 59px!important;
	width: calc(59/1600*100vw)!important;
	height: calc(59/1600*100vw)!important;
	position: absolute;
	top: 0;
	left: 0;
	opacity:1!important;
}
#main .introduction_slide_box .slick-prev,
#main .introduction_slide_box .slick-next {
	top: 44.7%;
}
#main .introduction_slide_box .slick-next {
	right:  11.7vw !important;
}
#main .introduction_slide_box .slick-prev {
	left:  11.7vw !important;
}
#main .introduction_slide_box .slick-next:before {
	background: url(../img/arrow_next.png) no-repeat center top / min(59px, calc(59/1600*100vw)) auto!important;
}
#main .introduction_slide_box .slick-prev:before {
	background: url(../img/arrow_prev.png) no-repeat center top / min(59px, calc(59/1600*100vw)) auto!important;
}
#main .introduction .com_btn {
	margin-top: 1rem;
}
@media all and (max-width: 767px) {
	#main .introduction {
		padding: 5.5rem 0 4.3rem;
	}
	#main .introduction .inner {
		overflow-x: visible;
	}
	#main .introduction .head_line01 {
    margin-bottom: 0.8rem;
    margin-left: 0rem;
	}
	#main .introduction .head_txt {
    font-size: 1.6rem;
    margin-left: 0;
    line-height: 2.4rem;
	}
	#main .introduction_slide_box {
    margin-top: 3.5rem;
	}

	#main .introduction .introduction_item {
		width: calc(345/375*100vw);
		max-height: 586px;
		height: calc(586/375*100vw);
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		margin: 0 3rem 4rem;
	}
	#main .introduction .intro_item-detail {
		width: 100%;
		padding: 3rem 3rem 2rem;
	}
	#main .introduction .intro_item-detail .detail_kind {
		font-size: 1.6rem;
		display: inline-block;
		background-color: #FFF;
		margin-bottom: 0.5rem;
		padding: 0.3rem 1.1rem;
	}
	#main .introduction .intro_item-detail .detail_ttl {
		font-size: 3rem;
		font-weight: 400;
	}
	#main .introduction .intro_item-detail .detail_txt {
		font-size: 1.6rem
	}
	#main .introduction .intro_item-detail .detail_type {
		display: flex;
		flex-wrap: wrap;
		margin-top: 1rem;
		gap: 1rem;
	}
	#main .introduction .intro_item-detail .detail_type li {
		background-color: #FFF;
		font-size: 2rem;
		padding: 0.3rem 1.1rem;
	}
	#main .introduction .intro_item-detail .detail_price {
		margin-top: 0.5rem;
	}
	#main .introduction .intro_item-detail .detail_price .number {
		font-size: 3.8rem;
		color: #2175D9;
	}
	#main .introduction .intro_item-detail .detail_price .ja {
		color: #2175D9;
	}
	#main .introduction .intro_item-img {
		width: 100%;
		height: calc(208/375*100vw);
		border-radius: 0 0 1.2rem 1.2rem;
	}
	#main .introduction .intro_item-img img {
    width: 100%;
	}

	#main .introduction_slide_box {
		margin-top: 3.2rem;
	}
	#main .introduction_slide_box .slick-arrow {
		z-index: 2!important;
		width: 46px!important;
		height: 46px!important;
	}
	#main .introduction_slide_box .slick-arrow:before {
		content:""!important;
		width: 46px!important;
		height: 46px!important;
		position: absolute;
		top: 0;
		left: 0;
		opacity:1!important;
	}
	#main .introduction_slide_box .slick-prev,
	#main .introduction_slide_box .slick-next {
		top: 44.7%;
	}
	#main .introduction_slide_box .slick-next {
		right: -2vw !important;
	}
	#main .introduction_slide_box .slick-prev {
		left: -2vw !important;
	}
	#main .introduction_slide_box .slick-next:before {
		background: url(../img/arrow_next.png) no-repeat center top / 46px auto!important;
	}
	#main .introduction_slide_box .slick-prev:before {
		background: url(../img/arrow_prev.png) no-repeat center top / 46px auto!important;
	}
	#main .introduction .com_btn {
		margin-top: -2.3rem;
	}
}

/* reason */
#main .reason {
	padding: 8.5rem 0 4rem;
	background-color: #F7F5F0;
}
#main .reason .reason_box {
	background-color: #FFF;
	margin-bottom: 6rem;
	padding: 6rem 11.8rem 5.5rem;
	border-radius: 1.2rem;
	box-shadow: 11px 15px 24px 0 rgba(0, 0, 0, 0.06);
}
#main .reason .reason_box._02 {
	padding: 6rem 11.8rem;
}
#main .reason .reason_box._03 {
	padding-bottom: 8rem
}
#main .reason .reason_box h3 {
	font-size: 3.8rem;
	font-weight: 400;
	position: relative;
}
#main .reason .reason_box h3:before {
	content: '';
	position: absolute;
	top: 25%;
	left: -11.8rem;
	transform: translateY(-50%);
	background-color: #46E673;
	width: 10rem;
	height: 7.1rem;
	border-radius: 0 3.7rem 3.7rem 0;
}
#main .reason .reason_box h3:after {
	position: absolute;
	top: 25%;
	left: -8rem;
	transform: translateY(-50%);
	font-size: 3.6rem;
}
#main .reason .reason_box._01 h3:after {
	content:'1';
}
#main .reason .reason_box._02 h3:after {
	content:'2';
}
#main .reason .reason_box._03 h3:after {
	content:'3';
}
#main .reason .reason_box h3 span {
	display: block;
	font-size: 2.4rem;
}
#main .reason .reason_content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 2rem;
}
#main .reason .reason_content._02 {
	margin-top: 3rem
}
#main .reason .reason_content .content_img {
	width: 10.7rem;
}
#main .reason .reason_content .content_detail {
	width: 85.4rem;
}
#main .reason .reason_content .content_detail h4 {
	font-size: 2.2rem;
	font-weight: 400;
}
#main .reason .reason_content .content_detail h4 span {
	display: block;
	font-size: 1.2rem;
}
#main .reason .reason_content .content_detail h4 sup {
	font-size: 1.2rem;
}
#main .reason .reason_content .content_detail p {
	font-size: 1.4rem;
	line-height: 2.1rem;
	margin-top: 0.5rem;
	letter-spacing: -0.1rem;
}
#main .reason .reason_box._02 .reason_content {
	margin-top: 1.3rem;
}

#main .reason .accordion {
  display: flex;
	margin-top: 2.5rem;
	gap: min(3rem, 2vw);
}
#main .reason .accordion-item {
	color: #FFF;
  background-color: #0F1941;
  border-radius: 1.2rem;
  width: 33%;
	height: 100%;
  cursor: pointer;
  overflow: hidden;
}
#main .reason .accordion-header {
	font-size: min(2rem, 1.4vw);
	font-weight: 400;
	padding: 2.1rem 3rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #0F1941;
  border-radius: 1.2rem;
}
#main .reason .active .accordion-header {
	padding-bottom: 1.2rem;
}
#main .reason .accordion-header .icon {
  width: 1.2rem;
	height: 0.6rem;
}
#main .reason .accordion-content {
  background-color: #0F1941;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
#main .reason .accordion-content p {
	font-size: 1.4rem;
	padding: 0 3rem 3rem;
}
#main .reason .welfare {
	margin: 3.5rem 0 0 0;
}
#main .reason .welfare_list {
	display: flex;
	flex-wrap: wrap;
	gap: 3.4rem 2.2rem;
	margin-left: 2rem;
}
#main .reason .welfare_list li {
	width: 22rem;
	display: flex;
	align-items: center;
}
#main .reason .welfare_list li:last-child {
	width: 26.6rem;
}
#main .reason .welfare_list li img {
	width: 7.1rem;
}
#main .reason .welfare_list li p {
	font-size: 1.8rem;
	margin-left: 0.5rem;
}
#main .reason .welfare_txt {
	font-size: 1.4rem;
	margin-top: 4.7rem;
}
@media all and (max-width: 767px) {
	#main .reason {
    padding: 5rem 0 2rem;
	}
	#main .reason .head_line01 {
		white-space: nowrap;
	}
	#main .reason .reason_box {
    margin-bottom: 4rem;
    padding: 10rem 1.2rem 2.5rem;
	}
	#main .reason .reason_box._02 {
    padding: 10rem 1.2rem 3rem;
	}
	#main .reason .reason_box h3 {
		font-size: 3rem;
		font-weight: 400;
		position: relative;
	}
	#main .reason .reason_box h3:before {
		top: -8.5rem;
		left: -1.2rem;
		transform: translateY(0);
	}
	#main .reason .reason_box h3:after {
		top: -5rem;
		left: 2.8rem;
	}
	#main .reason .reason_box h3 span {
		display: block;
		font-size: 2.2rem;
	}
	#main .reason .reason_content {
		margin-top: 1.7rem;
		margin-left: 0.3rem;
		justify-content: flex-start;
	}
	#main .reason .reason_content .content_img {
    width: 5.6rem;
	}
	#main .reason .reason_box .content_ttl {
		display: flex;
	}
	#main .reason .reason_box .content_ttl img {
		width: 5.6rem;
		height: 5.6rem;
	}
	#main .reason .reason_box ._02 .content_ttl img {
		margin-top: -0.7rem;
	}
	#main .reason .reason_content .content_detail {
		width: auto;
	}
	#main .reason .reason_content .content_detail h4 {
		font-size: 1.8rem;
		margin-top: -0.6rem;
		margin-left: 2rem;
		display: inline-block;
	}
	#main .reason ._02 .reason_content .content_detail h4 {
		margin-left: 1rem;
	}
	#main .reason .reason_content .content_detail h4 span {
		display: block;
		font-size: 1rem;
	}
	#main .reason .reason_content .content_detail h4 sup {
		font-size: 1rem;
	}
	#main .reason .reason_content .content_detail p {
		font-size: 1.2rem;
		line-height: 1.8rem;
		margin-top: 1rem;
		letter-spacing: -0.1rem;
	}
	#main .reason .reason_content._02 .content_detail p {
		margin-top: 1.5rem;
	}
	#main .reason .reason_box._02 .reason_content {
		margin-top: 1.7rem;
		margin-left: 0.5rem;
	}

	#main .reason .accordion {
		display: flex;
		flex-direction: column;
		margin-top: 1.5rem;
		gap: min(3rem, 2vw);
	}
	#main .reason .accordion-item {
		border-radius: 0.6rem;
		width: 100%;
		height: 100%;
	}
	#main .reason .accordion-header {
		font-size: 2rem;
		padding: 1.9rem 2rem;
	}
	#main .reason .active .accordion-header {
		padding-bottom: 1.2rem;
	}
	#main .reason .accordion-header .icon {
		width: 1.2rem;
		height: 0.6rem;
	}
	#main .reason .accordion-content {
		background-color: #0F1941;
		max-height: 0;
		overflow: visible;
		transition: max-height 0.3s ease;
	}
	#main .reason .accordion-content p {
		font-size: 1.4rem;
		padding: 0 2rem 2rem;
		margin-top: -0.5rem;
	}
	#main .reason .welfare {
		margin: 0.5rem 0 0 
	}
	#main .reason .welfare_list {
		gap: 0 2.2rem;
		margin-left: 0;
	}
	#main .reason .welfare_list li {
		width: auto;
		display: flex;
		align-items: center;
	}
	#main .reason .welfare_list li:last-child {
		width: auto;
		margin-top: -0.5rem;
	}
	#main .reason .welfare_list li p {
		margin-left: 0.1rem;
	}
	#main .reason .welfare_txt {
		font-size: 1.4rem;
		line-height: 2.1rem;
		margin-top: 1.2rem;
	}
	#main .reason .reason_box._03 {
		padding-bottom: 2.7rem;
	}
}

/* flow */
#main .flow {
	padding: 10.5rem 0 10rem;
	background-color: #0F1941;
}
#main .flow .head_line01 {
	font-size: 3.8rem;
}
#main .flow .head_line01 .small {
	margin-bottom: 0.3rem;
}
#main .flow .flow_txt {
	color: #FFF;
	margin-top: -0.5rem;
	margin-left: 4.2rem;
}
#main .flow .flow_list {
	margin-top: 5rem;
	margin-bottom: 4.5rem;
	margin-left: 3.3rem;
	display: flex;
	flex-direction: column;
	gap: 3rem 0;
}
#main .flow .flow_list > li {
	display: flex;
	align-items: center;
}
#main .flow .flow_list > li img {
	width: 10.7rem;
}
#main .flow .flow_list > li .head_line02 {
	font-size: 2.2rem;
	font-weight: 400;
}
#main .flow .flow_list > li p {
	font-size: 1.4rem;
	line-height: 1.82rem;
}
#main .flow .flow_list > li p span {
	color: #46E673;
}
@media all and (max-width: 767px) {
	#main .flow {
		padding: 3.4rem 0 4.5rem;
	}
	#main .flow .head_line01 {
		font-size: 3rem;
	}
	#main .flow .head_line01 .small {
		margin-bottom: 0.3rem;
	}
	#main .flow .flow_txt {
		margin-top: -0.5rem;
		margin-left: 1rem;
	}
	#main .flow ._02 .flow_txt {
		margin-left: 0;
	}
	#main .flow ._04 .flow_txt {
		margin-left: 0;
	}

	#main .flow .flow_list {
		margin-top: 0;
		margin-bottom: 2rem;
		margin-left: -0.5rem;
		gap: 1.9rem 0;
	}
	#main .flow .flow_list > li img {
		width: 7rem;
	}
	#main .flow .flow_list > li._02 img {
		width: 8rem;
		position: relative;
		left: -0.3rem;
	}
	#main .flow .flow_list > li._04 img {
		width: 8rem;
			position: relative;
			left: -0.3rem;
	}
	#main .flow .flow_list > li .head_line02 {
		font-size: 2rem;
		font-weight: 400;
		margin-bottom: 0.3rem;
	}
	#main .flow .flow_list > li p {
		font-size: 1.4rem;
		line-height: 1.82rem;
	}
}

/* voice */
#main .voice {
	padding: 8rem 0 5.7rem;
	background-color: #F7F5F0;
}
#main .voice_img {
	display: flex;
	justify-content: center;
}
#main .voice_img img {
	width: min(33rem, calc(330/1600*100vw));
}
#main .voice .head_line01 {
	margin-top: 5rem;
	margin-bottom: 5rem;
}

#main .voice_wrap {
	display: flex;
	flex-direction: column;
	gap: 2rem 0;
	margin-bottom: 4.1rem;
}
#main .voice_wrap .q-voice {
	display: flex;
	align-self: flex-start;
	padding: min(3.2rem, calc(32/1600*100vw)) min(10rem, calc(100/1600*100vw));
	width: fit-content;
	position: relative;
	font-size: min(1.8rem, 2vw);
	color: #FFF;
	background-color: #0F1941;
	border-radius: 1.2rem 1.2rem 1.2rem 0;
	box-shadow: 11px 15px 24px 0 rgba(0, 0, 0, 0.06);
}
#main .voice_wrap .q-voice:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: -1rem;
	width: 2.4rem;
	height: 2.4rem;
	background-image: url(../img/bubble.png);
	background-size: contain;
	background-repeat: no-repeat;
}
#main .voice_wrap .a-voice {
	display: flex;
	align-self: flex-end;
	padding: min(3.2rem, calc(32/1600*100vw)) min(10.1rem, calc(101/1600*100vw));
	width: fit-content;
	position: relative;
	font-size: min(1.8rem, 2vw);
	line-height: 2.7rem;
	background-color: #FFF;
	border-radius: 1.2rem 1.2rem 0 1.2rem;
	box-shadow: 11px 15px 24px 0 rgba(0, 0, 0, 0.06);
}
#main .voice_wrap .a-voice:before {
	content: '';
	position: absolute;
	bottom: 0;
	right: -1rem;
	width: 2.4rem;
	height: 2.4rem;
	background-image: url(../img/bubble_w.png);
	background-size: contain;
	background-repeat: no-repeat;
}
#main .voice_wrap .a-voice p {
	width: min(94rem, 70vw);
}
#main .voice_wrap .a-voice p span {
	color: #2175D9;
}
@media all and (max-width: 767px) {
	#main .voice {
		padding: 4.8rem 0 1.9rem;
	}
	#main .voice_img {
		display: flex;
		justify-content: center;
	}
	#main .voice_img img {
		width: 18.6rem;
	}
	#main .voice .head_line01 {
		white-space: nowrap;
		margin-top: 2.5rem;
		margin-bottom: 3rem;
		letter-spacing: -0.1rem;
	}
	
	#main .voice_wrap {
		gap: 2rem 0;
		margin-bottom: 4.1rem;
	}
	#main .voice_wrap .q-voice {
		padding: 2.1rem 2.3rem;
		font-size: 1.8rem;
	}
	#main .voice_wrap .a-voice {
		padding: 2.1rem 2.3rem;
		font-size: 1.8rem;
	}
	#main .voice_wrap .a-voice p {
		width: 100%;
	}
	#main .voice_wrap .a-voice p span {
		color: #2175D9;
	}
}

/* company */
#main .company {
	padding: 9rem 0 10rem;
	background-color: #0F1941;
}
#main .company .inner {
	padding: 0 1.8rem;
}
#main .company .head_line01 {
	margin-bottom: 5rem;
}
#main .company .company_block {
	margin-bottom: 4rem;
	border-radius: 1.2rem;
	display: flex;
	background-color: #FFF;
	overflow: hidden;
}
#main .company .company_block .company_img img {
	width: 51.1rem;
	height: 100%;
	object-fit: cover;
}
#main .company .company_txt {
	width: 73.3rem;
}
#main .company .company_txt p {
	font-size: 1.8rem;
	line-height: 3.6rem;
	padding: min(11rem, calc(110/1600*100vw)) min(5.5rem, calc(55/1600*100vw));
}
@media all and (max-width: 767px) {
	#main .company {
		padding: 5rem 0 6.2rem;
	}
	#main .company .inner {
		padding: 0 1.5rem;
	}
	#main .company .head_line01 {
		margin-bottom: 3rem;
	}
	#main .company .company_block {
		margin-bottom: 2.8rem;
		border-radius: 1.2rem;
		flex-direction: column;
		overflow: hidden;
	}
	#main .company .company_block .company_img img {
		max-width: 120%;
		width: 111%;
		height: 100%;
		object-fit: cover;
		position: relative;
		left: -6%;
	}
	#main .company .company_txt {
		width: 100%;
	}
	#main .company .company_txt p {
		font-size: 1.8rem;
		line-height: 3.6rem;
		padding: 4.1rem 2.7rem 2.9rem;
	}
}

/* btn fixed */
.btn_fixed {
	position: fixed;
	z-index: 100;
	right: 4.8rem;
	bottom: 15.7rem;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
#fixedButton.visible {
  opacity: 1;
  transform: translateY(0); /* 元の位置に戻す */
}

#fixedButton.hidden {
  opacity: 0;
  transform: translateY(20px); /* 少し下に隠す */
}
@media all and (max-width: 767px) {
	.btn_fixed {
		right: 0;
		bottom: 7.4rem;
		width: 100%;
		padding: 0 1.5rem;
	}
	.btn_fixed .com_btn a {
		font-size: 2.1rem;
		padding: 1.2rem 4.6rem 1.5rem 3.3rem;
	}
	.btn_fixed .com_btn .small {
		font-size: 1.4rem;
	}
}
/* cta_cp キャンペーン */
.common_cp {
  padding: 21px 16px;
  margin: 0;
  background-color: #fff;
  border-radius: 10px;
	font-family: Tahoma, "MS PGothic", "ＭＳ Ｐゴシック", "ヒラギノ角ゴPro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, Arial, Helvetica, Verdana, sans-serif;
}
.cp_title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-bottom: 8px;
  gap: 8px;
}
.cp_title__text {
	font-size: 2.3rem;
  line-height: 1.3;
  color: #0075df;
	font-weight: inherit;
	margin: 0;
}
.cp_title__text span {
	font-size: 1.5rem;
	line-height: 1.3;
	display: inline-block;
}
.cp_title__day {
  font-size: 1.3rem;
  line-height: 1.3rem;
  color: #fff;
  background-color: #0f1a40;
  padding: 6px;
  border-radius: 5px;
}

.cp__text {
  font-size: 1.3rem;
	line-height: 1.5;
}
.cp_btn {
  display: block;
  width: fit-content;
  font-size: 1.3rem;
  line-height: 1.3rem;
  padding: 14px 0 4px 0;
  color: #0075df!important;
  border-bottom: solid 1px #0075df;
}
.cta_cp {
  background: #F7F5F0;
  padding: 2rem 0 2rem;
}
.cta_cp .container {
	max-width: 1280px;
	padding: 0 15px;
	margin: 0 auto;
}
@media screen and (max-width:1040px) {
  .cp__text .pc_only {
    display: none;
  }
	._cp .sp_only {
		display: inline;
	}
}
@media screen and (min-width:768px) {
	.cta_cp {
		background: #F7F5F0;
		padding: 3rem 0 3rem;
	}
  .common_cp {
    padding: 29px 10.48vw 29px 32px;
  }
  .cta_cp .container {
    max-width: 1280px;
    padding: 0 20px;
    margin: 0 auto;
  }
  .cp_title {
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    padding-bottom: 8px;
  }
  .cp_title__text {
    font-size: 3.4rem;
    line-height: 4.6rem;
    color: #0075df;
  }
	.cp_title__text span {
		font-size: 1.8rem;
		display: inline-block;
	}
  .cp_title__day {
    font-size: 1.8rem;
    line-height: 1.8rem;
    color: #fff;
    background-color: #0f1a40;
    padding:  8px 12px;
    border-radius: 5px;
  }
  
  .cp__text {
    font-size: 1.8rem;
    line-height: 3.3rem;
  }
  .cp_btn {
    font-size: 1.8rem;
    line-height: 3.3rem;
    padding: 0;
  }
}
@media screen and (min-width:1254px) {
  .common_cp {
    padding: 29px 0 29px 32px;
    margin: 0;
  }
  .cp_title {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    gap: 0px;
		align-items: center;
		gap: 20px;
  }
}

.sp_only {
	display: inline;
}
@media screen and (min-width: 768px) {
	.sp_only {
			display: none;
	}
}

.cp__note {
	font-size: 1rem;
	line-height: 1.5;
	margin-top: 10px;
}
@media screen and (min-width:768px) {
	.cp__note {
    font-size: 1.2rem;
		line-height: 2.1rem;
		margin-top: 15px;
	}
}