@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.mainVisual {
	margin-bottom: 8.3rem;
	position: relative;
	background: url(../img/index/main_visual_bg01.png) no-repeat bottom -0.4rem right,url(../img/index/main_visual_bg02.png) no-repeat bottom -0.4rem left calc(50% + 8.4rem),url(../img/index/main_visual_bg03.png) no-repeat left top -2.5rem,url(../img/index/main_visual_bg04.png) no-repeat left bottom -0.4rem,url(../img/index/main_visual_bg05.png) no-repeat right 4.4rem top -9.6rem #F0ECE8;
	background-size: 19.3rem auto,26.9rem auto,26.5rem auto,29rem auto,35.5rem auto;
}
.mainVisual .textImg {
	width: 49.1rem;
	position: absolute;
	right: calc(50% + 14.5rem);
	top: 50%;
	transform: translateY(-53%);
	z-index: 1;
}
.mainVisual .slide {
	margin-left: auto;
	width: calc(50% + 25.6rem);
}
.mainVisual .pho {
	vertical-align: top;
}
.mainVisual .slide img {
	width: 100%;
	height: 64rem;
	object-fit: cover;
	border-radius: 4rem;
}
.mainVisual .slick-dots {
	position: absolute;
	right: 4rem;
	text-align: right;
	bottom: 3.3rem;
}
.mainVisual .slick-dots li {
	position: relative;
	display: inline-block;
	width: 10rem;
	height: 1.2rem;
	margin-left: 1.6rem;
	padding: 0;
	cursor: pointer;
	background: #fff;
}
.mainVisual .slick-dots li button {
	display: none;
}
.mainVisual .slick-dots li.slick-active {
	background: #ED4F44;
}
#main .news {
	padding: 11rem 0 12.4rem;
	background: url(../img/index/news_bg.png) no-repeat left bottom 0.2rem;
	background-size: 28.8rem auto;
}
#main .news .infoBox {
	margin-bottom: 5.4rem;
}
#main .news .info {
	width: 57rem;
}
#main .news ul {
	border-top: 1px solid #D9D9D9;
}
#main .news li {
	letter-spacing: 0.018rem;
	border-bottom: 1px solid #D9D9D9;
	padding: 1.9rem 2rem 1.8rem;
	display: flex;
	gap: 20px;
}

#main .news li .txt {
	margin-top: -3px;
}

#main .news li a {
	padding: 1.9rem 5rem 1.8rem 2rem;
	display: block;
	/* background: url(../img/common/icon05.png) no-repeat right 1.8rem center; */
	/* background-size: 1.3rem auto; */
}
#main .news li a:hover {
	opacity: 0.7;
}
#main .news li .time {
	margin-bottom: 0.8rem;
	display: block;
	color: #3F7BD5;
	font-size: 1.2rem;
	font-weight: 400;
	letter-spacing: 0.048rem;
}
#main .news li p {
	padding: 1.6rem 0 1.9rem;
}
#main .news li p .time {
	margin-bottom: 0.7rem;
	font-size: 1.4rem;
	letter-spacing: 0.056rem;
}
#main .news li .sml {
	margin: -0.5rem 0 0 1.6rem;
	display: inline-block;
	vertical-align: middle;
	color: #767676;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.015rem;
}
#main .actions {
	margin-top: -1.5rem;
	padding-bottom: 10.9rem;
	background: url(../img/index/actions_bg.png) no-repeat right bottom 0.5rem;
	background-size: 25.1rem auto;
}
#main .actions .slide {
	background-color: #F3F3F3;
	border-radius: 0.8rem 0.8rem 1.6rem 1.6rem;
	overflow: hidden;
}
#main .actions .ttl {
	height: 8rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	font-size: 2.2rem;
	line-height: 1.4;
	letter-spacing: 0.022rem;
	background-color: #ED4F44;
}
#main .actions .color01 .ttl {
	background-color: #E7BE00;
}
#main .actions .color02 .ttl {
	font-size: 2rem;
	letter-spacing: 0.02rem;
	background-color: #3F7BD5;
}
#main .actions .bgBox {
	padding: 3.2rem 3.2rem 2.4rem;
}
#main .actions .pho {
	margin-bottom: 1.4rem;
	position: relative;
}
#main .actions .pho img {
	width: 100%;
	border-radius: 0.6rem;
}
#main .actions .num {
	position: absolute;
	right: -1.2rem;
	top: -2.1rem;
	line-height: 1;
	color: #ED4F44;
	font-size: 6.5rem;
}
#main .actions .color01 .num {
	color: #E7BE00;
}
#main .actions .color02 .num {
	color: #3F7BD5;
}
#main .actions p {
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.875;
	letter-spacing: 0.032rem;
}
#main .about {
	margin-bottom: -1.3rem;
}
#main .about .left {
	width: 54rem;
}
#main .about .right {
	margin-top: 2.3rem;
	width: 60rem;
	letter-spacing: 0.018rem;
}
#main .about .ttl {
	margin-bottom: 1.4rem;
	font-size: 4.2rem;
	letter-spacing: -0.126rem;
}
#main .about p {
	line-height: 2.05;
}
#main .step {
	padding: 11.2rem 0 9.4rem;
	background: url(../img/index/step_bg01.jpg) no-repeat top center #FFA678;
	background-size: 100% 107.5rem;
}
#main .step .imgInfo {
	padding: 1.2rem 3.1rem 0;
	display: flex;
	align-items: center;
}
#main .step .imgInfo .img {
	width: 50.8rem;
	order: -1;
	flex-shrink: 0;
}
#main .step .imgInfo p {
	margin: -0.6rem -2rem 0 2.3rem;
	text-align: center;
	font-size: 4rem;
	line-height: 1.6;
	letter-spacing: 0.04rem;
	box-sizing: border-box;
}
#main .step .textImg {
	margin: -3.6rem 2.1rem 0.5rem;
	position: relative;
	z-index: 1;
}
#main .step .whiteBg {
	margin-bottom: 22.6rem;
	padding: 11.5rem 0 9.4rem;
	position: relative;
	background-color: #FFFCF9;
}
#main .step .bg01 {
	position: absolute;
	left: 0;
	bottom: -1.1rem;
	width: 26.5rem;
	z-index: 1;
}
#main .step .bg02 {
	position: absolute;
	right: 0;
	bottom: -3.9rem;
	width: 30.9rem;
	z-index: 1;
}
#main .step .whiteBg::before,
#main .step .whiteBg::after {
	position: absolute;
	left: 0;
	top: -12.2rem;
	width: 100%;
	height: 12.3rem;
	background: url(../img/index/step_bg02.png) no-repeat;
	background-size: 100% 100%;
	content: "";
}
#main .step .whiteBg::after {
	top: auto;
	bottom: -16.7rem;
	height: 16.8rem;
	background-image: url(../img/index/step_bg03.png);
}
#main .step .imgBox04 {
	margin-bottom: 0 !important;
}
#main .step .pho {
	width: 43rem;
	position: relative;
	overflow: hidden;
	border-radius: 0.6rem;
}
#main .step .pho img {
	width: 100%;
}
#main .step .textBox {
	position: relative;
}
#main .step .textBox .bg {
	position: absolute;
	left: -5.6rem;
	top: -6.1rem;
	width: 50.8rem;
}
#main .step .imgBox02 .textBox .bg {
	left: -11.1rem;
	top: -9.8rem;
	width: 55rem;
}
#main .step .imgBox03 .textBox .bg {
	left: -5.4rem;
	top: -8.9rem;
	width: 52.2rem;
}
#main .step .imgBox04 .textBox .bg {
	left: -6.3rem;
	top: -3.8rem;
	width: 46.9rem;
}
#main .step .textSub {
	position: relative;
	z-index: 2;
}
#main .step .textBox .ttl {
	margin-bottom: 2.8rem;
	font-size: 3.6rem;
	letter-spacing: 0.036rem;
}
#main .step .imgBox03 .textBox .ttl {
	color: #3F7BD5;
}
#main .step .imgBox04 .textBox .ttl {
	color: #D0AB00;
}
#main .step .textBox p {
	font-weight: 500;
	letter-spacing: 0.018rem;
}
#main .step .title {
	margin-bottom: 4.9rem;
	text-align: center;
	color: #fff;
	font-size: 4rem;
	line-height: 1.6;
	letter-spacing: 0.04rem;
}
#main .step .phoList {
	display: flex;
}
#main .step .phoList li {
	flex-shrink: 0;
	width: 37.9rem;
	margin: 0 1.2rem;
	overflow: hidden;
	border-radius: 0.8rem;
}
#main .voice {
	padding: 10.9rem 0 7.8rem;
}
#main .voice .headLine01 .en {
	color: #E77B9F;
}
#main .voice .slide {
	margin-bottom: 3.2rem;
	padding-top: 2.3rem;
	border-radius: 2.4rem;
	border: 0.4rem solid #E77B9F;
	border-bottom: none;
	background-color: #FFF;
	box-shadow: 0 17px 36px rgba(0, 0, 0, 0.1);
	overflow: hidden;
}
#main .voice .num {
	margin: 0 6rem 1.5rem;
	color: #E77B9F;
	font-size: 2.4rem;
	font-family: "lineseedjp";
}
#main .voice .imgBox {
	margin: 0 5.6rem 1.8rem;
	display: flex;
	justify-content: space-between;
}
#main .voice .phoBox {
	width: 11.2rem;
	text-align: center;
}
#main .voice .pho {
	overflow: hidden;
	border-radius: 100%;
}
#main .voice .name {
	margin: 1.1rem -2rem;
	font-size: 1.6rem;
	line-height: 1.2;
	color: #000;
}
#main .voice .textBox {
	width: calc(100% - 18.4rem);
	margin-top: 1.6rem;
}
#main .voice .ttl {
	margin-bottom: 2.2rem;
	color: #000;
	font-size: 1.9rem;
	letter-spacing: 0.019rem;
}
#main .voice .ttl span {
	margin-left: 2.4rem;
	padding: 0.3rem 2.3rem;
	color: #E77B9F;
	font-size: 1.7rem;
	letter-spacing: 0.017rem;
	border-radius: 2.4rem;
	border: 1px solid #E77B9F;
}
#main .voice .title {
	font-size: 2.8rem;
	line-height: 1.55;
	letter-spacing: 0.028rem;
}
#main .voice .link a {
	padding: 2rem 0 1.7rem;
	display: block;
	color: #fff;
	letter-spacing: 0.018rem;
	text-align: center;
	background-color: #E77B9F;
}
#main .voice .link span {
	padding-right: 3rem;
	transition: .3s;
	background: url(../img/common/icon07.png) no-repeat right top 1rem;
	background-size: 1.4rem auto;
}
#main .voice .link.on span {
	background-image: url(../img/common/icon07_on.png);	
}
#main .voice .textInfo {
	padding: 0.3rem 6rem 3.1rem;
	display: none;
	background-color: #E77B9F;
}
#main .voice .textInfo p {
	font-size: 1.5rem;
	line-height: 2;
	color: #fff;
	letter-spacing: 0.015rem;
}
#main .job {
	padding-bottom: 12rem;
	background: url(../img/index/job_bg.png) no-repeat right top 3.3rem;
	background-size: 25.1rem auto;
}
#main .job .img {
	margin: 0 -2.4rem;
}
#main .features {
	padding: 10.8rem 0 8.8rem;
	background-color: #ECEFF4;
}
#main .features li {
	margin-bottom: 3.2rem;
	border-radius: 2.4rem;
	border: 1px solid #3F7BD5;
	background-color: #FFF;
	box-shadow: 0 17px 36px rgba(0, 0, 0, 0.1);
	overflow: hidden;
}
#main .features .ttl {
	padding: 4.1rem 3rem 4.8rem 4.7rem;
	display: flex;
	color: #000;
	font-size: 4rem;
	letter-spacing: 0.04rem;
}
#main .features .txt {
	margin: 0.8rem 3.2rem 0 0;
	flex-shrink: 0;
	display: flex;
	align-items: flex-start;
	color: #3F7BD5;
	font-size: 2.4rem;
	font-family: "lineseedjp";
}
#main .features .txt .en {
	margin-right: 0.5rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid #3F7BD5;
}
#main .features .txt .num {
	margin-top: 0.3rem;
	font-size: 4.8rem;
	line-height: 1;
}
#main .features .link a {
	padding: 1.6rem 0 2.3rem;
	display: block;
	color: #fff;
	letter-spacing: 0.018rem;
	text-align: center;
	background-color: #3F7BD5;
}
#main .features .link span {
	padding-right: 3rem;
	transition: .3s;
	background: url(../img/common/icon07.png) no-repeat right top 1rem;
	background-size: 1.4rem auto;
}
#main .features .link.on span {
	background-image: url(../img/common/icon07_on.png);	
}
#main .features .textInfo {
	padding: 0.1rem 5rem 3rem;
	display: none;
	background-color: #3F7BD5;
}
#main .features .textInfo p {
	font-size: 1.5rem;
	line-height: 2;
	color: #fff;
	letter-spacing: 0.015rem;
}
#main .story {
	padding: 10.9rem 0 10.8rem;
}
#main .story .info {
	margin-bottom: 4rem;
	border-radius: 1.5rem;
	overflow: hidden;
	background-color: #F4F4F4;
}
#main .story .info:last-child {
	margin-bottom: 4.8rem;
}
#main .story .ttl {
	padding: 1.5rem 0;
	font-size: 2.4rem;
	color: #fff;
	text-align: center;
	letter-spacing: 0.024rem;
	background-color: #ED4F44;
}
#main .story .bgBox {
	padding: 3.2rem 3.2rem 3.3rem;
}
main .story .imgBox:not(:last-child) {
	margin-bottom: 3.2rem;
}
#main .story .movie {
	width: 43rem;
	order: 1;
    position: relative;
    height: 24.2rem;
    overflow: hidden;
	border-radius: 1rem;
}
#main .story iframe {
    position: absolute;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
}
#main .story .textBox {
	width: 64rem;
	margin-top: -0.9rem;
}
#main .story .title {
	margin-bottom: 2.4rem;
	padding-bottom: 0.3rem;
	font-size: 2.4rem;
	letter-spacing: 0.024rem;
	border-bottom: 1px solid #A4A4A4;
}
#main .story p {
	color: #707070;
	font-size: 1.5rem;
	line-height: 1.75;
}
#main .story .comLink {
	width: 52rem;
}
#main .story .comLink a {
	padding-right: 3.5rem;
	background: #008C3F url(../img/common/icon08.png) no-repeat right 9rem center;
	background-size: 2.4rem auto;
	border-radius: 0.5rem;
}
#main .flow {
	padding-bottom: 10.3rem;
}
#main .flow .topText {
	margin-bottom: 4.1rem;
	text-align: center;
	color: #000;
	font-weight: 400;
	line-height: 1.75;
}
#main .flow li {
	width: 18rem;
	position: relative;
}
#main .flow li:not(:last-child):before {
	position: absolute;
	right: -4.8rem;
	top: 8.8rem;
	background: url(../img/common/icon09.png) no-repeat;
	background-size: 2rem auto;
	width: 2rem;
	height: 3.2rem;
	content: "";
}
#main .flow li .num {
	margin: 0.9rem 0 0.5rem;
	color: #ED4F44;
	text-align: center;
	font-size: 2rem;
}
#main .flow li .ttl {
	margin-bottom: 1rem;
	text-align: center;
	font-size: 2.4rem;
	letter-spacing: 0.024rem;
}
#main .flow li .text {
	font-size: 1.4rem;
	color: #000;
	font-weight: 400;
}
#main .seminar {
	padding: 1.3rem 0 10.8rem;
	background: url(../img/index/seminar_bg.png) no-repeat right top;
	background-size: 23.7rem auto;
}
#main .seminar .borderBox {
	width: 80rem;
	margin: 0 auto 4.8rem;
	padding: 5.8rem 8.2rem 4.7rem;
	border-radius: 6rem;
	border: 0.2rem solid #9C9C9C;
}
#main .seminar .dlList {
	font-size: 2rem;
	letter-spacing: 0.02rem;
}
#main .seminar dt {
	float: left;
}
#main .seminar .dlList > dd {
	padding: 0 0 2rem 5.05em;
	margin-bottom: 2.4rem;
	border-bottom: 1px solid #3F7BD5;
}
#main .seminar dd dd {
	padding: 0 0 0.5rem 2.9em;
}
#main .access {
	padding-bottom: 12.1rem;
	background: url(../img/index/access_bg02.png) no-repeat right bottom -10.5rem,url(../img/index/access_bg01.png) no-repeat left top 37.1rem;
	background-size: 23.7rem auto,23.9rem auto;
}
#main .access .headLine01 .en {
	color: #008C3F;
}
#main .access ul {
	margin-bottom: 5.3rem;
}
#main .access li {
	padding-bottom: 4.8rem;
}
#main .access .ttl {
	margin-bottom: 1.7rem;
	padding-bottom: 0.8rem;
	font-size: 2rem;
	letter-spacing: 0.02rem;
	border-bottom: 1px solid #DFDFDF;
}
#main .access p {
	margin-bottom: 2.6rem;
	font-size: 1.6rem;
	line-height: 1.55;
	letter-spacing: 0.016rem;
}
#main .access p span {
	margin-top: 0.3rem;
	display: block;
}
#main .access p span + span {
	margin-top: 0.4rem;
}
#main .access .mail {
	width: 4.8rem;
}
#main .access .mail a:hover {
	opacity: 0.7;
}
#main .access .map {
	margin: 0 -0.9rem;
    position: relative;
    height: 51.2rem;
    overflow: hidden;
}
#main .access .map iframe {
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
}
#main .contact {
	padding: 11rem 0 2.1rem;
	background-color: #ED4F44;
}
#main .contact .headLine01 {
	color: #fff;
}
#main .contact .bgBox {
	margin-bottom: 3.8rem;
	padding: 3.9rem 1.2rem 5.6rem 0;
	background-color: #fff;
	border-radius: 2.4rem;
}
#main .contact .bgBox h3 {
	margin-bottom: 3.6rem;
	text-align: center;
	font-size: 3.2rem;
	line-height: 1.6;
	letter-spacing: 0.032rem;
}
#main .contact .linkList li {
	width: 40rem;
	margin: 0 1.2rem;
}
#main .contact .linkList a {
	height: 10.6rem;
	padding: 3.2rem 0 0 4.3rem;
	display: block;
	text-align: center;
	color: #ED4F44;
	font-size: 2.4rem;
	letter-spacing: 0.024rem;
	border-radius: 8rem;
	border: 0.2rem solid #ED4F44;
	background: url(../img/common/icon11.png) no-repeat left 4.2rem center;
	background-size: 2.8rem auto;
}
#main .contact .linkList a:hover {
	opacity: 0.7;
}
#main .contact .linkList .tel {
	order: 1;
}
#main .contact .linkList .tel a {
	padding: 1.4rem 0 0 5.5rem;
	color: #fff;
	font-size: 1.8rem;
	letter-spacing: 0.018rem;
	background: url(../img/common/icon12.png) no-repeat left 4.7rem center #ED4F44;
	background-size: 4rem auto;
	font-family: "lineseedjp","Noto Sans JP", sans-serif;
}
#main .contact .linkList .tel span {
	margin-bottom: -0.2rem;
	display: block;
	font-size: 3.2rem;
	letter-spacing: 0;
}
@media all and (min-width: 897px) {
	.mainVisual .widBox {
		max-width: 144rem;
		margin: 0 auto;
		padding: 4.5rem 5.6rem;
		box-sizing: border-box;
	}
	#main .actions .headLine01 {
		margin-bottom: 6.7rem;
	}
	#main .actions .slideBox {
		position: relative;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#main .actions .slideBox::after {
		content: "";
		width: 38.4rem;
	}
	#main .actions .slide {
		width: 38.4rem;
	}
	#main .about .headLine01 {
		margin-bottom: 6.8rem;
	}
	#main .step .headLine01 .en {
		margin-bottom: 0.9rem;
	}
	#main .step .imgBox {
		max-width: 94.6rem;
		margin: 0 auto 18.6rem;
		padding-left: 5rem;
		box-sizing: border-box;
	}
	#main .step .imgBox02 {
		margin-bottom: 15rem;
	}
	#main .step .imgBox03 {
		margin-bottom: 12.5rem;
	}
	#main .step .textBox {
		width: 43rem;
		margin-top: -1.3rem;
		display: flex;
		align-items: center;
	}
	#main .step .imgBox:nth-child(2n) {
		padding-left: 2.5rem;
		flex-direction: row-reverse;
	}
	#main .step .imgBox:nth-child(2n) .textBox {
		width: 46.1rem;
	}
	#main .voice .headLine01 {
		margin-bottom: 8.7rem;
	}
	#main .job .headLine01 {
		margin-bottom: 8.7rem;
	}
	#main .features .headLine01 {
		margin-bottom: 8.7rem;
	}
	#main .story .headLine01 {
		margin-bottom: 8.7rem;
	}
	#main .flow .headLine01 {
		margin-bottom: 7.7rem;
	}
	#main .seminar .headLine01 {
		margin-bottom: 5.8rem;
	}
	#main .seminar dd dt {
		font-size: 1.9rem;
	}
	#main .seminar dd dd:last-child {
		padding-left: 3em;
		font-size: 1.9rem;
	}
	#main .access .content {
		max-width: 66.6rem;
	}
	#main .access .headLine01 {
		margin-bottom: 8rem;
	}
	#main .contact .headLine01 {
		margin-bottom: 5.1rem;
	}
	#main .contact .content {
		max-width: 124.8rem;
	}
	#main .voice .link a:hover span {
		opacity: 0.7;
	}
	#main .features .link a:hover span {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.mainVisual {
		margin-bottom: 3.9rem;
		padding: 1.2rem 2rem 2.1rem;
		background: url(../img/index/main_visual_bg01_sp.png) no-repeat left bottom 22.5rem,url(../img/index/main_visual_bg02_sp.png) no-repeat right bottom 6.2rem #F0ECE8;
		background-size: 14.7rem auto,14.9rem auto;
	}
	.mainVisual .bg {
		position: absolute;
		width: 16.2rem;
		left: 0;
		bottom: -0.6rem;
	}
	.mainVisual .textImg {
		width: 32.1rem;
		margin: 0.8rem auto 0;
		position: relative;
		right: auto;
		top: auto;
		transform: none;
	}
	.mainVisual .slide {
		width: auto;
	}
	.mainVisual .slide img {
		height: auto;
		border-radius: 4rem;
	}
	.mainVisual .slick-dots {
		margin-top: 0.8rem;
		position: static;
		right: 0;
		width: 100%;
		text-align: center;
	}
	.mainVisual .slick-dots li {
		width: 8.8rem;
		height: 0.8rem;
		margin: 0 0.3rem;
	}
	#main .news {
		padding: 3.3rem 0 5.8rem;
		background-position: left -4.6rem bottom 7.8rem;
		background-size: 15.8rem auto;
	}
	#main .news .infoBox {
		margin-bottom: 3.7rem;
		display: block;
	}
	#main .news .info {
		margin-bottom: 3.2rem;
		width: auto;
	}
	#main .news li {
		letter-spacing: 0.015rem;
	}
	#main .news li a {
		padding: 1.5rem 2.2rem 1.5rem 1.2rem;
		background-position: right 1rem center;
		background-size: 0.9rem auto;
	}
	#main .news li .time {
		margin-bottom: 0.7rem;
		font-size: 1rem;
		letter-spacing: 0.04rem;
	}
	#main .news li p {
		padding: 1.5rem 2.2rem 1.5rem 0.7rem;
		font-size: 1.6rem;
		letter-spacing: 0.016rem;
	}
	#main .news li p .time {
		margin-bottom: 0.9rem;
		font-size: 1.2rem;
		letter-spacing: 0.048rem;
	}
	#main .news li .sml {
		margin: -0.5rem 0 0 1.2rem;
		font-size: 1.4rem;
		letter-spacing: 0.014rem;
	}
	#main .actions {
		margin-top: 0;
		padding: 1.5rem 0 2.3rem;
		background: url(../img/index/actions_bg_sp.png) no-repeat right bottom;
		background-size: 10.8rem auto;
	}
	#main .actions .headLine01 {
		margin-bottom: 4.4rem;
	}
	#main .actions .slick-slide {
		padding: 0 0.4rem;
	}
	#main .actions .ttl {
		font-size: 2rem;
		letter-spacing: 0.02rem;
	}
	#main .actions .bgBox {
		padding: 3.2rem 2rem 2.7rem;
	}
	#main .actions .pho {
		margin-bottom: 1.8rem;
	}
	#main .actions .num {
		right: 0rem;
		top: -1.9rem;
		font-size: 5.2rem;
	}
	#main .actions p {
		text-align: left;
		font-size: 1.4rem;
		line-height: 1.5;
		letter-spacing: 0.028rem;
	}
	#main .about {
		margin: 0.4rem 0.5rem 5.6rem;
	}
	#main .about .textInfo {
		display: block;
	}
	#main .about .left {
		width: auto;
	}
	#main .about .right {
		margin-top: 1.6rem;
		width: auto;
		letter-spacing: 0.032rem;
	}
	#main .about .ttl {
		margin-bottom: 2.4rem;
		font-size: 2.8rem;
		text-align: center;
		letter-spacing: -0.084rem;
	}
	#main .about p {
		line-height: 1.6;
		font-size: 1.6rem;
		letter-spacing: 0.01rem;
	}
	#main .step {
		padding: 7.2rem 0 6rem;
		background-image: url(../img/index/step_bg01_sp.jpg);
		background-size: 100% 141vw;
	}
	#main .step .imgInfo {
		margin: 0 -1.6rem -10.9vw;
		padding: 0;
		display: block;
	}
	#main .step .imgInfo .img {
		width: auto;
		margin: 0 auto;
	}
	#main .step .imgInfo .img img {
		width: 100%;
	}
	#main .step .imgInfo p {
		margin: -2.1rem 0 2.5rem;
		text-align: center;
		font-size: 1.5rem;
		line-height: 1.73;
		letter-spacing: 0.015rem;
	}
	#main .step .textImg {
		margin: 0 -1.6rem -37.33vw;
		width: auto;
		text-align: center;
	}
	#main .step .textImg img {
		width: 100%;
	}
	#main .step .whiteBg {
		margin-bottom: 5.9rem;
		padding: 46.4vw 0 8.2rem;
	}
	#main .step .bg01 {
		bottom: -2.2rem;
		width: 13.3rem;
	}
	#main .step .bg02 {
		bottom: -1.9rem;
		width: 9.9rem;
	}
	#main .step .whiteBg::before,
	#main .step .whiteBg::after {
		display: none;
	}
	#main .step .imgBox {
		margin-bottom: 8.8rem;
		display: block;
	}
	#main .step .imgBox02 {
		margin-bottom: 7.3rem;
	}
	#main .step .imgBox03 {
		margin-bottom: 6.2rem;
	}
	#main .step .pho {
		margin: 6.1rem 2.3rem 0;
		width: auto;
	}
	#main .step .imgBox02 .pho {
		margin-top: 4.6rem;
	}
	#main .step .textBox .bg {
		left: 50% !important;
		top: -2.2rem;
		width: 32.5rem !important;
		transform: translateX(-53%);
	}
	#main .step .imgBox02 .textBox .bg {
		top: -5.5rem;
		transform: translateX(-50%);
	}
	#main .step .imgBox03 .textBox .bg {
		top: -3.8rem;
	}
	#main .step .imgBox04 .textBox .bg {
		top: -2.8rem;
	}
	#main .step .textBox .ttl {
		margin-bottom: 1rem;
		font-size: 2.4rem;
		text-align: center;
		letter-spacing: 0.024rem;
	}
	#main .step .imgBox04 .textBox .ttl {
		color: #E7BE00;
	}
	#main .step .textBox p {
		letter-spacing: 0.015rem;
		text-align: center;
	}
	#main .step .title {
		margin-bottom: 2.8rem;
		font-size: 2rem;
		line-height: 1.3;
		letter-spacing: 0.02rem;
	}
	#main .step .phoList li {
		width: 22.2rem;
		margin: 0 0.7rem;
	}
	#main .voice {
		padding: 11.7rem 0 3.2rem;
		background: url(../img/index/voice_bg_sp.png) no-repeat right bottom 1.5rem;
		background-size: 13.4rem auto;
	}
	#main .voice .headLine01 {
		margin-bottom: 4.4rem;
	}
	#main .voice .slideBox {
		margin: 0 -1rem;
		padding-bottom: 0.4rem;
	}
	#main .voice .slick-list {
		overflow: inherit;
	}
	#main .voice .slick-slide {
		padding: 0 1rem;
	}
	#main .voice .slide {
		margin-bottom: 0;
		padding-top: 1.6rem;
		border-radius: 1.2rem;
		border-width: 1px;
		vertical-align: top;
	}
	#main .voice .num {
		margin: 0 0 0.3rem;
		font-size: 2rem;
		text-align: center;
	}
	#main .voice .imgBox {
		margin: 0 0 1.8rem;
		display: block;
	}
	#main .voice .phoBox {
		margin-bottom: 2.8rem;
		width: auto;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
	}
	#main .voice .pho {
		width: 7.2rem;
	}
	#main .voice .name {
		margin: 0 0 0 2rem;
		line-height: 1.5;
		letter-spacing: 0.016rem;
	}
	#main .voice .textBox {
		width: auto;
		margin-top: 1.6rem;
	}
	#main .voice .ttl {
		margin-bottom: 1.9rem;
		text-align: center;
		font-size: 1.4rem;
		letter-spacing: 0.014rem;
	}
	#main .voice .ttl span {
		margin-left: 1.6rem;
		padding: 0.6rem 1.4rem;
		font-size: 1.4rem;
		letter-spacing: 0.014rem;
	}
	#main .voice .title {
		font-size: 1.6rem;
		line-height: 1.6;
		letter-spacing: 0.016rem;
		text-align: center;
	}
	#main .voice .link a {
		padding: 1.7rem 0 1.9rem;
		letter-spacing: 0.016rem;
		font-size: 1.6rem;
	}
	#main .voice .textInfo {
		padding: 0 1.9rem 2rem;
	}
	#main .voice .textInfo p {
		font-size: 1.4rem;
		line-height: 1.56;
		font-weight: 400;
		letter-spacing: 0.014rem;
	}
	#main .job {
		padding: 4rem 0 7.9rem;
		background: none;
	}
	#main .job .headLine01 {
		margin-bottom: 4.4rem;
	}
	#main .job .img {
		margin: 0;
	}
	#main .job .img img {
		width: 100%;
	}
	#main .features {
		padding: 5.4rem 0.4rem 4.4rem;
	}
	#main .features li {
		margin-bottom: 1.6rem;
	}
	#main .features .ttl {
		padding: 1.8rem 2rem 2rem;
		display: block;
		font-size: 2rem;
		text-align: center;
		letter-spacing: 0.02rem;
		line-height: 1.2;
	}
	#main .features .txt {
		margin: 0 0 0.9rem;
		line-height: 1.5;
		justify-content: center;
		font-size: 1.6rem;
	}
	#main .features .txt .en {
		margin-right: 0.8rem;
		padding-bottom: 0.1rem;
	}
	#main .features .txt .num {
		margin-top: 0.3rem;
		font-size: 2.4rem;
	}
	#main .features .link a {
		padding: 1.2rem 0 1.3rem;
		font-size: 1.8rem;
	}
	#main .features .textInfo {
		padding: 0 1.9rem 2rem;
	}
	#main .features .textInfo p {
		font-size: 1.4rem;
		line-height: 1.7;
		font-weight: 400;
		letter-spacing: 0.014rem;
	}
	#main .story {
		padding: 7.3rem 0 4.8rem;
	}
	#main .story .headLine01 {
		margin-bottom: 4.3rem;
	}
	#main .story .infoBox {
		margin: 0 -1rem;
	}
	#main .story .slick-slide {
		padding: 0 1rem;
	}
	#main .story .info {
		margin-bottom: 0 !important;
		border-radius: 1.2rem;
	}
	#main .story .ttl {
		padding: 2rem 0;
		font-size: 1.6rem;
		letter-spacing: 0.016rem;
	}
	#main .story .bgBox {
		padding: 2.4rem 3.2rem 2rem;
	}
	main .story .imgBox {
		display: block;
	}
	main .story .imgBox:not(:last-child) {
		margin-bottom: 4.3rem;
	}
	#main .story .movie {
		width: auto;
		height: 0;
		padding-bottom: 56.7%;
	}
	#main .story .textBox {
		width: auto;
		margin-top: 1.3rem;
	}
	#main .story .title {
		margin-bottom: 1.4rem;
		padding-bottom: 0.6rem;
		font-size: 1.6rem;
		letter-spacing: 0.016rem;
	}
	#main .story p {
		line-height: 1.45;
	}
	#main .story .arrow {
		margin: 3.5rem 0 5.2rem;
	}
	#main .story .slick-dots {
		bottom: -6.3rem;
	}
	#main .story .comLink {
		width: 34.3rem;
	}
	#main .story .comLink a {
		height: 6.4rem;
		padding-right: 3.2rem;
		background-position: right 3.4rem center;
		background-size: 2rem auto;
	}
	#main .flow {
		padding: 2.5rem 0 0;
	}
	#main .flow .headLine01 {
		margin-bottom: 3.5rem;
	}
	#main .flow .topText {
		margin: 0 -0.5rem 4.5rem;
	}
	#main .flow .flowList {
		display: block;
	}
	#main .flow li {
		width: auto;
	}
	#main .flow li:not(:last-child) {
		padding-bottom: 6.2rem;
		background: url(../img/common/icon09_sp.png) no-repeat bottom 2.3rem center;
		background-size: 3.2rem auto;
	}
	#main .flow li:not(:last-child):before {
		display: none;
	}
	#main .flow li .img {
		width: 14.4rem;
		margin: 0 auto;
	}
	#main .flow li .num {
		margin-top: 1.1rem;
		font-size: 1.5rem;
	}
	#main .flow li .ttl {
		margin-bottom: 0.6rem;
		font-size: 2rem;
		letter-spacing: 0.02rem;
	}
	#main .flow li .text {
		line-height: 1.6;
		text-align: center;
	}
	#main .seminar {
		padding: 2rem 0 5.1rem;
		background: none;
	}
	#main .seminar .headLine01 {
		margin-bottom: 4.4rem;
	}
	#main .seminar .borderBox {
		width: auto;
		margin: 0 auto 1.8rem;
		padding: 0;
		border-radius: 0;
		border: none;
	}
	#main .seminar .dlList {
		padding-top: 1.4rem;
		font-size: 1.4rem;
		border-top: 1px solid #D9D9D9;
	}
	#main .seminar .dlList > dd {
		padding: 0 0 0.6rem 4.5em;
		margin-bottom: 1.4rem;
		border-bottom: 1px solid #D9D9D9;
	}
	#main .seminar dd dd {
		padding: 0 0 0.9rem 3.2em;
	}
	#main .access {
		padding: 2.2rem 2rem 2.7rem;
		background: url(../img/index/access_bg02_sp.png) no-repeat left top 35.8%;
		background-size: 7.2rem auto;
	}
	#main .access ul {
		margin: -1.5rem 0 -0.2rem;
	}
	#main .access li {
		padding-bottom: 2.5rem;
	}
	#main .access .ttl {
		margin-bottom: 1.2rem;
		font-size: 1.6rem;
		line-height: 1.55;
		letter-spacing: 0.016rem;
	}
	#main .access p {
		margin-bottom: 1.2rem;
		font-size: 1.3rem;
		letter-spacing: 0.013rem;
	}
	#main .access p span {
		margin-top: 0.5rem;
	}
	#main .access p span + span {
		margin-top: 0.6rem;
	}
	#main .access .map {
		margin: 0 -1.9rem;
		height: 0;
		padding-bottom: 84.3%;
	}
	#main .contact {
		padding: 3.4rem 0 3.6rem;
	}
	#main .contact .headLine01 {
		margin-bottom: 2.1rem;
		font-size: 2rem;
		line-height: 1.2;
		letter-spacing: 0.02rem;
	}
	#main .contact .bgBox {
		margin-bottom: 2.8rem;
		padding: 3.1rem 0 2.4rem;
		border-radius: 1.2rem;
	}
	#main .contact .bgBox h3 {
		margin-bottom: 0.2rem;
		font-size: 2rem;
		line-height: 1.5;
		letter-spacing: 0.02rem;
	}
	#main .contact .linkList {
		display: block;
	}
	#main .contact .linkList li {
		width: 30.3rem;
		margin: 0 auto 1.6rem;
	}
	#main .contact .linkList a {
		height: 7.2rem;
		padding: 1.9rem 0 0 3.9rem;
		font-size: 1.8rem;
		letter-spacing: 0.018rem;
		background-position: left 3rem center;
		background-size: 2.3rem auto;
	}
	#main .contact .linkList .tel a {
		padding: 0.7rem 0 0 4.2rem;
		font-size: 1.2rem;
		letter-spacing: 0.012rem;
		background-position: left 3.7rem center;
		background-size: 2.6rem auto;
	}
	#main .contact .linkList .tel span {
		margin-bottom: -0.2rem;
		font-size: 2.4rem;
	}
}